Документация Engee

Справка по API StippleUI

API

`csscolors(name, color)`
`csscolors(names, colors)`
`csscolors(prefix, colors)`

Создает css-строку, определяющую цвета, которые будут использоваться для стилизации элементов quasar, либо как значение для ключевого слова-аргумента color, либо как имя класса с рецессивным префиксом text- или bg-. (см. quasar docs)

Использование

css = style(csscolors(:stipple, [RGB(0.2, 0.4, 0.8), "#123456", RGBA(0.1, 0.2, 0.3, 0.5)]))

ui(model) = css * page(model, class="container, text-stipple-1", [   btn("Hit me", @click(:pressed), color="stipple-3") ])

Avatars

Badges

badge()

Компонент badge позволяет создать небольшую карточку для добавления информации, например контекстных данных, которые должны выделяться и привлекать внимание. Он также часто применяется в сочетании с другими элементами, например с аватаром пользователя для отображения количества новых сообщений.


Примеры


Модель

julia> @vars BadgeModel begin
          myicon = "bluetooth"
       end

Представление

julia> Html.div("Badge", class="text-h6", [
          badge("1.0.0+", color="primary")
       ])

Аргументы


  1. Содержимое

    • floating::Bool — указывает, должен ли компонент badge перемещаться в правый верхний угол родительского элемента с относительным положением

    • transparent::Bool — применяет непрозрачность 0,8; особенно полезно для плавающих компонентов badge

    • multiline::Bool — содержимое может переноситься по строкам

    • label::Union{String, Int} — содержимое карточки в виде строки; переопределяет слот по умолчанию, если он задан, например "John Doe" 22

    • align::String — задает атрибут CSS выравнивания по вертикали

    • outline::Bool — применяет «контурный» макет (только цветной текст и границы)

  2. Стиль

    • color::String — имя цвета для компонента из цветовой палитры, например "primary" "teal-10"

    • textcolor::String — переопределяет цвет текста (при необходимости); имя цвета из цветовой палитры, например "primary" "teal-10"

    • rounded::Bool — придает карточке скругленную форму

Banners

banner(content::String = "", args...; buttons::Vector{String} = String[], icon::Union{String,Nothing} = nothing, kwargs...)

Компонент banner создает элемент баннера для отображения важного сообщения и связанных с ним дополнительных действий.

Согласно спецификации Material Design баннер должен «отображаться в верхней части экрана, под верхней панелью приложения», но, естественно, вы можете разместить его в любом подходящем месте, даже в dialog.


Примеры


Представление

julia> banner("Unfortunately, the credit card did not go through, please try again.", class="bg-primary text-white", [
          template("", "v-slot:action", [
            btn("Dismiss", flat=true, color="white"),
            btn("Update Credit Card", flat=true, color="white")
          ])
       ])

julia> banner("Could not retrieve travel data.", rounded=true, class="bg-grey-3", [
          template("", "v-slot:avatar", [
            imageview(src="https://cdn.quasar.dev/img/mountains.jpg", style="width: 100px; height:64px")
          ]),
          template("", "v-slot:action", [
            btn("Retry", flat=true, color="white")
          ])
       ])

Аргументы


  1. Содержимое

    • inlineactions::Bool — действия отображаются в той же строке, что и содержимое

  2. Стиль

    • dense::Bool — уплотненный режим; занимает меньше места

    • rounded::Bool — применяет небольшой стандартный радиус скругления к компоненту квадратной формы

    • dark::Bool — указывает, что компонент должен иметь темный фон

Bignumbers

  bignumber(label::Union{String,Symbol} = "", number::Union{Symbol,Number,Nothing} = nothing, args...; kwargs...)

Отображает элемент пользовательского интерфейса «Большое число».

Аргументы

  • label::Union{String,Symbol}

  • number::Union{String,Symbol,Nothing,String}

  • icon::Union{String,Symbol}

  • color::Union{String,Symbol} = "positive"|"negative"

  • arrow::Union{String,Symbol} = "up"|"down"

Buttons

В Stipple есть компонент под названием btn, представляющий собой кнопку с рядом дополнительных полезных возможностей. Например, она может быть двух форм: прямоугольной (по умолчанию) и круглой. Она также обладает эффектом ряби на материале (который можно отключить).

Для компонента кнопки также предусмотрен эффект вращения, указывающий на то, что идет загрузка. Он применяется в тех случаях, когда в работе приложения происходит задержка, о чем нужно сообщить пользователю. Если он используется, при нажатии на кнопку на ней появляется вращающаяся анимация.

Если элемент btn не отключен и вращение не активировано, сразу после щелчка или нажатия выдается событие @click.

Примеры

julia> btn("Move Left", color = "primary", icon = "mail", @click("press_btn = true"))

julia> btn("Go to Hello World", color = "red", type = "a", href = "hello", icon = "map", iconright = "send")

julia> btn("Connect to server!", color="green", textcolor="black", @click("btnConnect=!btnConnect"), [
          tooltip(contentclass="bg-indigo", contentstyle="font-size: 16px",
          style="offset: 10px 10px",  "Ports bounded to sockets!")]
       )

Аргументы


  1. Поведение

    • loading::Bool — переводит кнопку в состояние загрузки (отображается spinner, что можно переопределить с помощью слота loading)

    • percentage::Union{Int, Float64} — процент (0,0 < x < 100,0); используется вместе со свойством loading; отображает индикатор выполнения на заднем плане, например 23

    • darkpercentage::Bool — индикатор выполнения на заднем плане должен быть темного цвета; используется вместе со свойствами percentage и loading

  2. Содержимое

    • label::Union{String, Int} — текст, отображаемый на кнопке, например Button Label

    • icon::String — имя значка в соответствии с соглашением Quasar. Если вы не используете префикс img:, убедитесь в том, что установлена библиотека значков. Если в качестве значения используется строка none, значок не отображается (но для него по-прежнему выделяется пространство экрана), например map ion-add img:https://cdn.quasar.dev/logo/svg/quasar-logo.svg img:path/to/some_image.png

    • iconright::String — имя значка в соответствии с соглашением Quasar. Если вы не используете префикс img:, убедитесь в том, что установлена библиотека значков. Если в качестве значения используется строка none, значок не отображается (но для него по-прежнему выделяется пространство экрана), например map ion-add img:https://cdn.quasar.dev/logo/svg/quasar-logo.svg img:path/to/some_image.png

    • nocaps::Bool — текст метки не преобразуется в верхний регистр (что происходит по умолчанию)

    • nowrap::Bool — текст метки не переносится по строкам

    • align::String — выравнивание метки или содержимого по умолчанию. center. Допустимые значения: left right center around between evenly

    • stack::Bool — значок и метка располагаются по вертикали, а не на одной строке (по умолчанию)

    • stretch::Bool — при использовании в родительском элементе flexbox кнопка растягивается по его высоте

  3. Общие

  4. Навигация

  5. Состояние

    • loading::Bool — переводит кнопку в состояние загрузки (отображается spinner, что можно переопределить с помощью слота loading)

    • disable::Bool — переводит компонент в отключенный режим

  6. Стиль

    • size::String — размер в единицах CSS, включая название единицы или стандартного размера (xs|sm|md|lg|xl), например 16px 2rem xs md

    • ripple::Union{Bool, Dict} — настройка эффекта ряби на материале (чтобы отключить его, задайте значение false или предоставьте объект конфигурации); по умолчанию true; примеры: false { "early" => true, "center" => true, "color" => "teal", "keyCodes" => [] }

    • outline::Bool — применяет макет outline

    • flat::Bool — применяет макет flat

    • unelevated::Bool — удаляет тень

    • rounded::Bool — применяет более заметный радиус скругления к кнопке квадратной формы

    • push::Bool — применяет макет нажатия

    • glossy::Bool — применяет глянцевый эффект

    • fab::Bool — изменяет размер и форму кнопки в соответствии с плавающей кнопкой действия

    • fabmini::Bool — изменяет размер и форму кнопки в соответствии с небольшой плавающей кнопкой действия

    • padding::String — применяет пользовательский внутренний отступ (по вертикали [горизонтали]); размер в единицах CSS, включая название единицы или стандартного размера (none|xs|sm|md|lg|xl); при задании также удаляются минимальные ширина и высота

    • color::String — имя цвета для компонента из цветовой палитры, например primary teal-10

    • textcolor::String — переопределяет цвет текста (при необходимости); имя цвета из цветовой палитры, например primary teal-10

    • dense::Bool — уплотненный режим; занимает меньше места

    • round::Bool — придает кнопке круглую форму

btndropdown — это очень удобная кнопка с раскрывающимся списком. Хорошо сочетается с элементом list в качестве раскрывающегося списка, но возможны и другие варианты.

Если требуется раскрывающийся список «входных данных» вместо «кнопки», используйте Select.

Примеры

julia> btndropdown(label = "Dropdown Button", color = "primary", [
            list([
              item("Spain", clickable = true, vclosepopup = true, @click("first_item = true")),
              item("USA", clickable = true, vclosepopup = true, @click("second_item = true")),
              item("Netherlands", clickable = true, vclosepopup = true, @click("third_item = true"))
            ]),
       ])

Аргументы


  1. Поведение

    • loading::Bool — переводит кнопку в состояние загрузки (отображается spinner, что можно переопределить с помощью слота loading)

    • split::Bool — выводит значок раскрывающегося списка в отдельную кнопку

    • disablemainbtn::Bool — отключает главную кнопку (полезно в сочетании со свойством split)

    • disabledropdown::Bool — отключает раскрывающийся список (кнопку раскрывающегося списка при использовании свойства split)

    • persistent::Bool — при щелчке или нажатии за пределами меню либо при нажатии клавиши ESC меню не закрывается

    • autoclose::Bool — меню закрывается при щелчке или нажатии внутри него; позволяет не привязывать к каждому пункту меню событие для закрытия меню при щелчке или нажатии

  2. Содержимое

    • label::Union{String, Int} — текст, отображаемый на кнопке, например "Button Label"

    • icon::String — имя значка в соответствии с соглашением Quasar. Если вы не используете префикс img:, убедитесь в том, что установлена библиотека значков. Если в качестве значения используется строка none, значок не отображается (но для него по-прежнему выделяется пространство экрана), например "map" "ion-add" "img:https://cdn.quasar.dev/logo/svg/quasar-logo.svg" "img:path/to/some_image.png"

    • iconright::String — имя значка в соответствии с соглашением Quasar. Если вы не используете префикс img:, убедитесь в том, что установлена библиотека значков. Если в качестве значения используется строка none, значок не отображается (но для него по-прежнему выделяется пространство экрана), например "map" "ion-add" "img:https://cdn.quasar.dev/logo/svg/quasar-logo.svg" "img:path/to/some_image.png"

    • nocaps::Bool — текст метки не преобразуется в верхний регистр (что происходит по умолчанию)

    • nowrap::Bool — текст метки не переносится по строкам

    • align::String — выравнивание метки или содержимого; по умолчанию center; примеры: "left" "right" "center" "around" "between" "evenly"

    • stack::Bool — значок и метка располагаются по вертикали, а не на одной строке (по умолчанию)

    • stretch::Bool — при использовании в родительском элементе flexbox кнопка растягивается по его высоте

    • split::Bool — выводит значок раскрывающегося списка в отдельную кнопку

    • dropdownicon::String — имя значка в соответствии с соглашением Quasar. Если вы не используете префикс img:, убедитесь в том, что установлена библиотека значков. Если в качестве значения используется строка none, значок не отображается (но для него по-прежнему выделяется пространство экрана), например "map" "ion-add" "img:https://cdn.quasar.dev/logo/svg/quasar-logo.svg" "img:path/to/some_image.png"

  3. Общие

  4. Навигация

  5. Положение

    • cover::Bool — позволяет меню перекрывать кнопку. Если задано, свойства menu-self и menu-fit не действуют.

    • menuanchor::String — два значения, определяющие начальное положение или точку привязки меню относительно целевого объекта; по умолчанию "bottom end"; примеры: "top start" "bottom start" "top end" "bottom end" "right start" "right end" "left start" "left end"

    • menuself::String — два значения, определяющие собственное положение меню относительно целевого объекта; по умолчанию "top end"; примеры: "top start" "bottom start" "top end" "bottom end" "right start" "right end" "left start" "left end"

    • menuoffset::Vector — массив из двух чисел для смещения меню по горизонтали и вертикали в пикселях, например [8,8] [5,10]

  6. Состояние

    • loading::Bool — переводит кнопку в состояние загрузки (отображается spinner, что можно переопределить с помощью слота loading)

    • disable::Bool — переводит компонент в отключенное состояние

  7. Стиль

    • size::String — размер в единицах CSS или процентах, например "25px" "2.5em" "md" "xs"

    • ripple::Union{Bool, Dict} — настройка эффекта ряби на материале (чтобы отключить его, задайте значение false или предоставьте объект конфигурации); по умолчанию true; примеры: false { "early" => true, "center" => true, "color" => "teal", "keyCodes" => []}

    • outline::Bool — применяет «контурный» макет

    • flat::Bool — применяет «плоский» макет

    • unelevated::Bool — удаляет тень

    • rounded::Bool — применяет более заметный радиус скругления к кнопке квадратной формы

    • push::Bool — применяет макет нажатия

    • glossy::Bool — применяет глянцевый эффект

    • fab::Bool — изменяет размер и форму кнопки в соответствии с плавающей кнопкой действия

    • fabmini::Bool — изменяет размер и форму кнопки в соответствии с небольшой плавающей кнопкой действия

    • padding::String — применяет пользовательский внутренний отступ (по вертикали [горизонтали]); размер в единицах CSS, включая название единицы или стандартного размера (none|xs|sm|md|lg|xl); при задании также удаляются минимальные ширина и высота, например "16px", "2rem", "xs", "md lg", "2px 2px 5px 7px"

    • color::String — имя цвета для компонента из цветовой палитры Quasar, например "primary" "teal-10"

    • textcolor::String — переопределяет цвет текста (при необходимости); имя цвета из цветовой палитры Quasar, например "white" "primary" "teal-10"

    • dense::Bool — уплотненный режим; занимает меньше места

    • noiconanimation::Bool — отключает вращение значка раскрывающегося списка при переключении состояния

    • contentstyle::Union{Vector, String, Dict} — определения стилей, применяемых к меню, например {"background-color" => "#ff0000"} contentclass!="{ 'my-special-class': <condition> }"

    • contentclass::Union{Vector, String, Dict} — определения классов, применяемых к меню, например "my-special-class" contentclass!="{ 'my-special-class': <condition> }"

С помощью btngroup можно легко группировать элементы btn и btndropdown. Обязательно ознакомьтесь со свойствами и методами этих компонентов на соответствующих страницах.


Аргументы


  1. Содержимое

    • spread::Bool — растяжение по горизонтали на все доступное пространство

    • stretch::Bool — при использовании в родительском элементе flexbox кнопки растягиваются по его высоте

  2. Стиль

    • outline::Bool — применяет «контурный» макет к кнопкам

    • flat::Bool — применяет «плоский» макет к кнопкам

    • unelevated::Bool — удаляет тень для кнопок

    • rounded::Bool — применяет более заметный радиус скругления к кнопкам квадратной формы

    • push::Bool — применяет макет нажатия к кнопкам

    • glossy::Bool — применяет глянцевый эффект

btntoggle(fieldname::Symbol, args...; options::Union{Symbol, Vector{<:AbstractDict}}, kwargs...)

Examples


Model

julia> @app begin
           @in network = :google
           @in networks = [Stipple.opts(label = x, value = Symbol(lowercase(x))) for x in ["Google", "Facebook", "Twitter", "Pinterest", "Reddit"]]
       end

View

julia> btntoggle(:network, options = :networks, label="Social Networks", rounded = true, color = "white", textcolor= "primary")
"<q-btn-toggle color=\"white\" rounded v-model=\"network\" label=\"Social Networks\" :options=\"networks\" text-color=\"primary\"></q-btn-toggle>"

Arguments


  1. Behaviour

    • name::String - Used to specify the name of the control; Useful if dealing with forms; If not specified, it takes the value of 'for' prop, if it exists ex. car-id car-id

  2. Content

    • tablecolspan::Union{Int, String} - The number of columns in the table (you need this if you use table-layout: fixed) ex. tablecolspan="12"

    • spread::Bool- Spread horizontally to all available space

    • no-caps::Bool- Avoid turning label text into caps (which happens by default)

    • no-wrap::Bool- Avoid label text wrapping

    • stack::Bool- Stack icon and label vertically instead of on same line (like it is by default)

    • stretch::Bool- When used on flexbox parent, button will stretch to parent’s height

  3. Model

    • options::Vector - Available options that the user can select from. For best performance freeze the list of options ex. options=[ "BMW", "Samsung Phone" ]

    • clearable::Bool - Clears model on click of the already selected button

  4. State

    • disable::Bool - Put component in disabled mode

    • readonly::Bool - Put component in readonly mode

  5. Style

    • color::String - Color name for component from the Quasar Color Palette

    • text-color::String - Overrides text color (if needed); Color name from the Quasar Color Palette

    • toggle-color::String - Color name for component from the Quasar Color Palette

    • toggle-text-color::String - Overrides text color (if needed); Color name from the Quasar Color Palette

    • outline::Boolean - Use 'outline' design

    • flat::Boolean - Use 'flat' design

    • unelevated::Boolean - Remove shadow

    • rounded::Boolean - Applies a more prominent border-radius for a squared shape button

    • push::Boolean - Use 'push' design

    • glossy::Boolean - Applies a glossy effect

    • size::String - Button size name or a CSS unit including unit name

    • padding::String - Apply custom padding (vertical [horizontal]); Size in CSS units, including unit name or standard size name (none|xs|sm|md|lg|xl); Also removes the min width and height when set

    • ripple::Union{Boolean, Dict}- Configure material ripple (disable it by setting it to 'false' or supply a Dict , e.g.Stipple.opts(early = true, center = true, color = "teal", keyCodes = [])`)

    • dense::Boolean - Dense mode; occupies less space

Cards

  card(args...; kwargs...)

Компонент Card отлично подходит для отображения важных фрагментов связанного содержимого. Компонент Card намеренно сделан простым и по сути представляет собой контейнер, в котором может размещаться любой другой подходящий компонент.


Примеры


Модель

julia> @vars CardModel begin
          lorem::R{String} = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
          url::R{String} = "https://cdn.quasar.dev/img/parallax2.jpg"
       end

Представление

julia> card(class="my-card", [
          imageview(src=:url, basic=true, [
            Html.div("Title", class="absolute-bottom text-h6")
          ]),
          card_section("{{lorem}}")
       ])

Аргументы


  1. Содержимое * tag::String — отображаемый HTML-тег; по умолчанию "div"; примеры: "div" "form"

  2. Стиль * dark::Bool — указывает, что компонент должен иметь темный фон * square::Bool — удаляет скругление, делая границы квадратными * flat::Bool — применяет «плоский» макет (по умолчанию без тени) * bordered::Bool — применяет к компоненту границу по умолчанию

card_1

Premade card component with many options. This is a good starting point for creating your own card component. Allows for:

  • showing and hidding of avatar, media, separator.

  • customizing avatar, media, title, subtitle, content, buttons, menu.

  • controlling the content of the components with buttonscomponent, menucomponent, media_component, content.

  • customizing the props of the components with cardprops, mediaprops, titleprops, subtitleprops, contentprops, separatorprops.

Example

card1(; showavatar = false, title = "Welcome to Genie", subtitle = "The best Julia Framework", content = "", buttonscomponent = nothing, menucomponent = nothing, show_separator = false)


Примеры


card_actions()

Модель

julia> @vars CardModel begin
          lorem::R{String} = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
       end

Представление

julia> card(class="my-card bg-secondary text-white", [
          card_section([
            Html.div("Our Changing Planet", class="text-h6"),
            Html.div("by John Doe", class="text-subtitle2")
          ]),
          card_section("{{ lorem }}"),
          card_actions([
            btn(flat=true, "Action 1"),
            btn(flat=true, "Action2")
          ])
        ])

Аргументы


  • align::String — определяет выравнивание действий (left, center, right, between, around, evenly, stretch)

  • vertical:Bool — действия располагаются друг под другом

  card_section(args...; kwargs...)

Примеры


Представление

julia> card(class="text-white", style="background: radial-gradient(circle, #35a2ff 0%, #014a88 100%); width: 30%", [
          card_section("lorLorem Ipsum is simply dummy text of the printing
          and typesetting industry")
       ])

Аргументы


  • tag::String — отображаемый HTML-тег; примеры: "div", "form"

  • horizontal::Bool — отображает горизонтальный раздел (без внутреннего отступа, может содержать другие разделы card_section)

Checkboxes

  checkbox(label::Union{String,Symbol} = "", fieldname::Union{Symbol,Nothing} = nothing, args...; kwargs...)

Компонент checkbox - это еще один базовый элемент для пользовательского ввода. С его помощью вы можете предоставить пользователю возможность переключать опции.


Примеры


Модель

julia> @vars CheckboxModel begin
          valone::R{Bool} = true
       end

Представление

julia> checkbox(label = "Apples", fieldname = :valone, dense = true, size = "xl")

Аргументы


  1. Поведение

    • name::String — используется для указания имени элемента управления; полезно при работе с формами, отправляемыми непосредственно на URL-адрес

    • indeterminatevalue::Union{String, Float64, Int, Bool} — какое значение модели следует считать «неопределенным»

    • toggleorder::String — определяет порядок переключения двух состояний (t означает состояние true, f — состояние false). Если toggle-indeterminate имеет значение true, то порядок следующий: неопределенное -> первое состояние -> второе состояние -> неопределенное (и повторять); в противном случае: неопределенное -> первое состояние -> второе состояние -> первое состояние -> второе состояние -> …​ Примеры: "tf" "ft"

    • toggleindeterminate::Bool — следует ли также переключаться через неопределенное состояние, когда пользователь щелкает по компоненту или нажимает на него

    • keepcolor::Bool — следует ли сохранять цвет (если он указан) при отключении компонента (снятии флажка)

  2. Общие

    • tabindex::Union{Int, String} — значение атрибута HTML tabindex

  3. Метка

    • label::Union{String,Symbol} — метка, отображаемая вместе с компонентом

    • leftlabel::Bool — метка (если она указана) должна отображаться слева от компонента

  4. Модель

    • fieldname::Symbol — модель компонента

    • val::Union{String, Float64, Int, Bool} — действует, если модель (value) представляет собой массив. Сообщает компоненту, какое значение следует добавить или удалить при установке или снятии флажка.

    • truevalue::Union{Int, Float64, String} — какое значение модели следует считать выбранным (включенным)

    • falsevalue::Union{Int, Float64, String} — какое значение модели следует считать не выбранным (отключенным)

  5. Состояние

    • disable::Bool — переводит компонент в отключенный режим

  6. Стиль

    • size::String — размер в единицах CSS, включая название единицы или стандартного размера (xs|sm|md|lg|xl), например "16px" "2rem" "xs" "md"

    • color::String — имя цвета для компонента из цветовой палитры, например "primary" "teal-10"

    • dark::Bool — указывает, что компонент должен иметь темный фон

    • dense::Bool — уплотненный режим; занимает меньше места

Chips

  chip(args...; kwargs...)

Компонент chip - это, по сути, простой блок UI, представляющий, например, более сложные базовые данные, такие как контакт, в компактном виде.

Фишки (chip) могут содержать такие объекты, как аватар, текст или значок, а также при необходимости иметь указатель. Они также могут закрываться или удаляться при соответствующей настройке.


Примеры


Представление

julia> chip("Add to calendar", icon="event")

Аргументы


  1. Содержимое

    • icon::String — имя значка в соответствии с соглашением Quasar. Если вы не используете префикс img:, убедитесь в том, что установлена библиотека значков. Если в качестве значения используется строка none, значок не отображается (но для него по-прежнему выделяется пространство экрана), например "map" "ion-add" "img:https://cdn.quasar.dev/logo/svg/quasar-logo.svg" "img:path/to/some_image.png"

    • iconright::String — имя значка в соответствии с соглашением Quasar. Если вы не используете префикс img:, убедитесь в том, что установлена библиотека значков. Если в качестве значения используется строка none, значок не отображается (но для него по-прежнему выделяется пространство экрана), например "map" "ion-add" "img:https://cdn.quasar.dev/logo/svg/quasar-logo.svg" "img:path/to/some_image.png"

    • iconremove::String — имя значка в соответствии с соглашением Quasar. Если вы не используете префикс img:, убедитесь в том, что установлена библиотека значков. Если в качестве значения используется строка none, значок не отображается (но для него по-прежнему выделяется пространство экрана), например "map" "ion-add" "img:https://cdn.quasar.dev/logo/svg/quasar-logo.svg" "img:path/to/some_image.png"

    • iconselected::String — имя значка в соответствии с соглашением Quasar. Если вы не используете префикс img:, убедитесь в том, что установлена библиотека значков. Если в качестве значения используется строка none, значок не отображается (но для него по-прежнему выделяется пространство экрана), например "map" "ion-add" "img:https://cdn.quasar.dev/logo/svg/quasar-logo.svg" "img:path/to/some_image.png"

    • label::Union{String, Int} — содержимое фишки в виде строки; переопределяет слот по умолчанию, если он задан, например "Joe Doe" "Book"

  2. Общие

    • tabindex::Union{Int, String} — значение атрибута HTML tabindex, например 0 100

  3. Модель

    • value::Bool — модель компонента, определяющая, должен ли отображаться элемент chip; по умолчанию true

    • selected::Bool — модель элемента chip, определяющая, выбран ли он. Примечание: требуется модификатор .sync!

  4. Состояние

    • clickable::Bool — может ли chip нажиматься. Если да, добавляются эффекты наведения и генерируются события нажатия.

    • removable::Bool — может ли chip удаляться. Если да, добавляется кнопка закрытия и генерируются события удаления.

    • disable::Bool — переводит компонент в отключенный режим

  5. Стиль

    • ripple::Union{Bool, Dict} — настройка эффекта ряби на материале (чтобы отключить его, задайте значение false или предоставьте объект конфигурации); по умолчанию true; примеры: false { early: true, center: true, color: 'teal', keyCodes: [] }

    • dense::Bool — уплотненный режим; занимает меньше места

    • size::String — название размера chip или единица CSS, включая название единицы; примеры: "xs" "sm" "md" "lg" "xl" "1rem"

    • dark::Bool — указывает, что компонент должен иметь темный фон

    • color::String — имя цвета для компонента из цветовой палитры, например "primary" "teal-10"

    • square::Bool — задает небольшое значение радиуса скругления границ вместо значения по умолчанию, что приближает форму к квадратной

    • outline::Bool — применяет «контурный» макет

Datepickers

DateRange

Представляет интервал дат от start до stop с шагом в 1 день.

datepicker()

Отображает элемент выбора даты (календарь). Если fieldname ссылается на Vector{Date}, именованный параметр multiple должен передаваться со значением true. Если fieldname ссылается на DateRange, именованный параметр range должен передаваться со значением true. Если fieldname ссылается на Vector{DateRange}, оба именованных параметра multiple и range должны передаваться со значением true.


Примеры


Модель

julia> @vars DatePickers begin
        date::R{Date} = today() + Day(30)
        dates::R{Vector{Date}} = Date[today()+Day(10), today()+Day(20), today()+Day(30)]
        daterange::R{DateRange} = DateRange(today(), (today() + Day(3)))
        dateranges::R{Vector{DateRange}} = [
          DateRange(today(), (today() + Day(3))),
          DateRange(today() + Day(7), (today() + Day(10))),
          DateRange(today() + Day(14), (today() + Day(17))),
        ]
        proxydate::R{Date} = today()
        inputdate::R{Date} = today()
      end

Представление

julia> datepicker(:date)
julia> datepicker(:dates, multiple = true)
julia> datepicker(:daterange, range = true)
julia> datepicker(:dateranges, range = true, multiple = true)

Аргументы


  1. Поведение

    • name::String — используется для указания имени элемента управления; полезно при работе с формами, отправляемыми непосредственно на URL-адрес; пример: "car_id"

    • landscape::Bool — компонент отображается в альбомной ориентации

    • yearsinmonthview::Bool — в представлении месяцев отображается селектор лет

  2. Содержимое

    • title::String — при указании переопределяет заголовок по умолчанию; не действует в режиме minimal; пример: "Birthday"

    • subtitle::String — при указании переопределяет подзаголовок по умолчанию; не действует в режиме minimal; пример: "John Doe"

    • todaybtn::Bool — отображает кнопку для выбора текущего дня

    • minimal::Bool — заголовок не отображается

  3. Выбор

    • navminyearmonth::String — не позволяет пользователю переходить далее определенного года и месяца (в формате ГГГГ/ММ). Это свойство не применяется для корректировки модели. Можно также использовать свойство default-year-month. Пример: "2020/07"

    • navmaxyearmonth::String — не позволяет пользователю переходить ранее определенного года и месяца (в формате ГГГГ/ММ). Это свойство не применяется для корректировки модели. Можно также использовать свойство default-year-month. Пример: "2020/10"

    • nounset::Bool — отключает возможность отменить выбор даты. Не применяется к выбору диапазона в пределах уже выбранных дат.

    • multiple::Bool — разрешает множественный выбор. Модель должна быть массивом.

    • range::Bool — разрешает выбор диапазона. Частично совместимо со свойством options: выбранные диапазоны могут включать в себя недоступные для выбора дни.

  4. Состояние

    • readonly::Bool — переводит компонент в режим только для чтения

    • disable::Bool — переводит компонент в отключенный режим

  5. Стиль

    • color::String — имя цвета для компонента из цветовой палитры Quasar, например "primary" "teal-10"

    • textcolor::String — переопределяет цвет текста (при необходимости); имя цвета из цветовой палитры Quasar, например "primary" "teal-10"

    • dark::Bool — указывает, что компонент должен иметь темный фон

    • square::Bool — удаляет скругление, делая границы квадратными

    • flat::Bool — применяет «плоский» макет (по умолчанию без тени)

    • bordered::Bool — применяет к компоненту границу по умолчанию

    • eventcolor::String — имя цвета (из цветовой палитры Quasar). Если используется функция, она принимает дату в виде строки и должна возвращать строку (цвет для полученной даты). Для повышения производительности на функцию следует ссылаться из своей области, а не встраивать ее вызов. Примеры: "teal-10" eventcolor!="(date) => date[9] % 2 === 0 ? 'teal' : 'orange'"

Dialogs

dialog()

Компонент dialog — отличный способ предоставить пользователю возможность выбрать определенное действие или список действий. Он также может предоставлять пользователю важную информацию или требовать принятия решения (либо нескольких решений).

СОВЕТ. Диалоговые окна также можно использовать глобально в более базовых целях аналогично методам JS alert(), prompt() и т. д.


Примеры


Модель

julia> @vars DialogModel begin
         show_dialog::R{Bool} = false
       end

Представление

julia> Html.div(class="q-pa-md q-gutter-sm", [
        btn("Alert", color="primary", @click("show_dialog = true")),
        StippleUI.dialog(:show_dialog, [
          card([
            card_section(Html.div(class="text-h6", "Alert")),
            card_section(class="q-pt-none", "Lorem ipsum dolor sit amet consectetur adipisicing elit.
            Rerum repellendus sit voluptate voluptas eveniet porro. Rerum blanditiis perferendis totam,
            ea at omnis vel numquam exercitationem aut, natus minima, porro labore.")
          ])
        ])
      ])

Аргументы


  1. Поведение

    • persistent::Bool — пользователь не может закрыть диалоговое окно, щелкнув за его пределами или нажав клавишу ESC. Кроме того, оно не закрывается при изменении маршрута приложения.

    • noesc::Bool — пользователь не может закрыть диалоговое окно, нажав клавишу ESC. Если задано свойство persistent, устанавливать это свойство не нужно.

    • nobackdrop::Bool — пользователь не может закрыть диалоговое окно, щелкнув за его пределами. Если задано свойство persistent, устанавливать это свойство не нужно.

    • autoclose::Bool — диалоговое окно закрывается при любом щелчке или нажатии внутри него

    • transitionshow::String — один из встроенных переходов, например "fade", "slide-down"

    • transitionhide::String — один из встроенных переходов, например "fade", "slide-down"

    • norefocus::Bool (специальные возможности) — при скрытии диалогового окна фокус не перемещается снова на элемент DOM, на котором он был ранее

    • nofocus::Bool (специальные возможности) — при отображении диалогового окна фокус не переводится на него

  2. Содержимое

    • seamless::Bool — переводит диалоговое окно в бесшовный режим; фон не используется, так что пользователь может взаимодействовать с остальной частью страницы

    • maximized::Bool — переводит диалоговое окно в развернутый режим

    • fullwidth::Bool — производится попытка отобразить диалоговое окно по ширине окна

    • fullheight::Bool — производится попытка отобразить диалоговое окно по высоте окна

    • position::String — диалоговое окно прикрепляется к одной из сторон (top, right, bottom или left)

  3. Стиль

    • contentclass::Union{Array, String} — определения классов, применяемых к содержимому, например "my-special-class" :content-class="{ 'my-special-class': <condition> }"

    • contentstyle::Union{Array, String} — определения стилей, применяемых к содержимому, например "background-color: #ff0000" :content-style="{ color: '#ff0000' }"

    • square::Bool — принудительно применяет к содержимому границы с прямыми углами

Drawers

Editors

editor(fieldname, args…​; kwargs…​)

Этот компонент представляет собой редактор WYSIWYG (What You See Is What You Get, «что видишь, то и получишь»), в котором пользователь может писать и даже вставлять код HTML.


Примеры


Модель

julia> @vars EditorModel begin
          s_editor::R{String} = "What you see is <b>what</b> you get."
       end

Представление

julia> editor(:s_editor, minheight="5rem")

julia> StippleUI.form( autocorrect="off", autocapitalize="off", autocomplete="off", spellcheck="false", [
          editor(:s_editor)
       ])

Аргументы


  1. Поведение

    • fullscreen::Bool — полноэкранный режим (обратите внимание: требуется модификатор .sync) Пример: :fullscreen.sync="isFullscreen"

    • noroutefullscreenexit::Bool — при изменении маршрута приложения не происходит выход из полноэкранного режима

    • paragraphtag::String — используемый тег абзаца; примеры: div, p

  2. Содержимое

    • placeholder::String — текст, отображаемый в качестве заполнителя, например Type your story here...

  3. Модель

    • value::String (обязательно) — реактивная модель компонента

  4. Состояние

    • readonly::Bool — переводит компонент в режим только для чтения

    • disable::Bool — отключает компонент

  5. Стиль * square::Bool — удаляет скругление, делая границы квадратными * minheight::String — минимальная высота компонента; по умолчанию 10rem; примеры: 15rem 50vh * flat::Bool — применяет «плоский» макет (без границ) * dark::Bool — указывает, что компонент должен иметь темный фон * maxheight::String — максимальная высота области ввода в единицах CSS, например 100px 90vh * height::String — значение CSS, определяющее высоту редактируемой области, например 100px 90vh * toolbaroutline::Bool — кнопки панели инструментов отображаются как «контурные» * toolbarpush::Bool — кнопки панели инструментов отображаются как «нажимные» * toolbarrounded::Bool — кнопки панели инструментов отображаются как «скругленные» * contentstyle::Dict — объект со свойствами и значениями CSS, определяющими стиль контейнера editor, например contentstyle!="{ backgroundColor: '#C0C0C0' }" * contentclass::Union{Dict, Vector, String} — классы CSS для области ввода, например my-special-class contentclass!="{ 'my-special-class': <condition> }"

Forminputs

datefield(args...; kwargs...)

Complex input type that combines a textfield with an icon, a datepicker and a popup. The datepicker is hidden by default and is shown when the icon is clicked. The popup is used to hide the datepicker when the user clicks outside of it. A number of common arguments are defined and are passed to the textfield, the icon, the popup and the datepicker. In addition, keyword arguments can be passed to each of these components individually by using the textfield_props, icon_props, popup_proxy_props and datepicker_props keyword arguments.

Examples

datefield("Start date", :start_date, datepicker_props = Dict(:todaybtn => true, :nounset => true), textfield_props = Dict(:bgcolor => "green-1"))

filefield(label::Union{String, Symbol} = "", fieldname::Union{Symbol,Nothing} = nothing, args…​; kwargs…​)

numberfield( label::Union{String, Symbol} = "", fieldname::Union{Symbol,Nothing} = nothing, args...; content::Union{String,Vector,Function} = "", kwargs...)
numberfield( label::Union{String, Symbol} = "", fieldname::Union{Symbol,Nothing} = nothing, args...; content::Union{String,Vector,Function} = "", kwargs...)
textfield(fieldname, args...; kwargs...)

Примеры


Модель

julia> @vars TextField begin
          name::R{String} = ""
       end

Представление

julia> textfield("What's your name *", :name, name = "name", @iif(:warin), :filled, hint = "Name and surname", "lazy-rules",
          rules = "[val => val && val.length > 0 || 'Please type something']"
       )

Аргументы


  1. Общие * type::String — должен иметь одно из следующих значений: text (default), textarea, email, tel, number, password или url. Определяет тип клавиатуры, отображаемой на мобильных устройствах.

  2. Поведение * name::String — используется для указания имени элемента управления; полезно при работе с формами. Если значение не указано, используется значение свойства for при его наличии, например car_id * mask::String — пользовательская маска или одно из предварительно определенных имен масок, например date datetime time fulltime phone card * fillmask::Union{Bool, String} — заполняет строку указанными символами (или символом подчеркивания, если значение не является строкой) до длины маски, например true 0 _ * reversefillmask::Bool — заполняет строку с правой стороны маски * unmaskedvalue::Bool — модель не маскируется (не содержит токенов или разделительных символов) * error::Bool — есть ли в поле ошибки проверки * rules::Vector — массив функций или строк; в случае строк это должно быть имя одного из встроенных правил проверки, например rules!="[ 'fulltime' ]" rules!="[ val => val.length <= 3 || 'Please use maximum 3 characters' ]" * reactiverules::Bool — по умолчанию изменение правил не инициирует новую проверку, пока не изменится модель. Если установлено значение true, то изменение правил инициирует проверку. При этом производительность снижается, поэтому использовать данное значение следует только тогда, когда это действительно необходимо * lazyrules::Union{Bool, String} — если задано логическое значение true, соответствие статуса проверки правилам проверяется только после того, как поле впервые теряет фокус; если задано значение ondemand, проверка выполняется только при вызове метода validate() компонента вручную или при отправке оболочки form; true false ondemand * loading::Bool — сообщает пользователю о том, что процесс выполняется, отображая вращающийся индикатор; вращающийся индикатор можно настроить с помощью слота loading. * clearable::Bool — добавляет очищаемый значок, когда задано значение (не неопределенное и не null); при щелчке модель становится null * autofocus::Bool — поле с фокусом при первоначальном отображении компонента * for::String — используется для указания идентификатора элемента управления, а также атрибута for метки, в которую он заключен; если свойство name не указано, оно также используется для данного атрибута, например myFieldsId

  3. Содержимое * errormessage::String — сообщение об ошибке проверки (отображается только в том случае, если error имеет значение true), например Username must have at least 5 characters * noerroricon::Bool — при возникновении ошибки значок ошибки скрывается * label::Union{String,Symbol} — текстовая метка, которая «всплывает» над полем ввода, когда оно получает фокус, например Username * stacklabel::Bool — метка всегда отображается над полем независимо от его содержимого (если оно есть) * hint::String — вспомогательный текст (подсказка), который размещается под заключенным компонентом формы, например Fill in between 3 and 12 characters * hidehint::Bool — когда поле не имеет фокуса, вспомогательный текст (подсказка) скрывается * prefix::String — префикс, например $ * suffix::String — суффикс, например @gmail.com * loading::Bool — сообщает пользователю о том, что процесс выполняется, отображая вращающийся индикатор; вращающийся индикатор можно настроить с помощью слота loading. * clearable::Bool — добавляет очищаемый значок, когда задано значение (не неопределенное и не null); при щелчке модель становится null * clearicon::String — пользовательский значок, используемый в качестве очищаемого; если значение не указано, используется значок по умолчанию * labelslot::Bool — включает слот label; этот атрибут необходимо задать для принудительного использования слота label, если свойство label не установлено * bottomslots::Bool — включает нижние слоты (error, hint, counter) * counter::Bool — в правом нижнем углу отображается автоматический счетчик * shadowtext::String — текст, отображаемый в виде тени в конце текста элемента управления; НЕ применяется при type=file * autogrow::Bool — поле автоматически увеличивается вместе с содержимым (используется текстовая область)

  4. Состояние * disable::Bool — переводит компонент в отключенный режим * readonly::Bool — переводит компонент в режим только для чтения

  5. Стиль * labelcolor::String — имя цвета для метки из цветовой палитры; переопределяет свойство color. Отличие от свойства color заключается в том, что метка всегда будет иметь этот цвет, даже если поле не имеет фокуса, например primary teal * color::String — имя цвета для компонента из цветовой палитры * bgcolor::String — цвет из цветовой палитры * dark::Bool — указывает, что компонент должен иметь темный фон * filled::Bool — к полю применяется макет с заливкой * outline::Bool — к полю применяется «контурный» макет * borderless::Bool — к полю применяется макет без границ * standout::Union{Bool, String} — к полю применяется «выступающий» макет; указывает классы, применяемые при получении фокуса (переопределяют классы по умолчанию), например standout standout="bg-primary text-white" * hidebottomspace::Bool — если подсказка, сообщение об ошибке или счетчик не используются, место для них больше не резервируется. В результате также отключается анимация для них. Кроме того, позволяет растягивать область подсказки или сообщения об ошибке по вертикали в соответствии с содержимым. * rounded::Bool — применяет небольшой стандартный радиус скругления к компоненту квадратной формы * square::Bool — удаляет скругление, делая углы границ прямыми; переопределяет свойство rounded * dense::Bool — уплотненный режим; занимает меньше места * itemaligned::Union{Vector, String, Dict} — внутреннее выравнивание содержимого соответствует выравниванию item * inputclass::Union{Vector, String, Dict} — определения классов, применяемых к базовому тегу ввода, например my-special-class inputclass!="{ 'my-special-class': <condition> }" * inputstyle::Union{Vector, String, Dict} — определения стилей, применяемых к базовому тегу ввода, например background-color: #ff0000 inputstyle!="{ backgroundColor: #ff0000 }"

  6. Модель * debounce::Union{String, Int} — величина подавления дребезга контактов (в миллисекундах) при обновлении модели, например 0 500 * maxlength::Union{String, Int} — указывает максимальную длину модели, например 12

timefield(args...; kwargs...)

Complex input type that combines a textfield with an icon, a timepicker and a popup. The timepicker is hidden by default and is shown when the icon is clicked. The popup is used to hide the timepicker when the user clicks outside of it. A number of common arguments are defined and are passed to the textfield, the icon, the popup and the timepicker. In addition, keyword arguments can be passed to each of these components individually by using the textfield_props, icon_props, popup_proxy_props and timepicker_props keyword arguments.

Forms

form(args...; noresetfocus::Bool = false, kwargs...)

Компонент form отображает элемент DOM <form> и позволяет легко проверять дочерние компоненты формы (например, input, select или обернутые компоненты field), предусматривающие внутреннюю проверку (НЕ внешнюю), с помощью связанных с ними правил.


Примеры


Модель

julia> @vars FormModel begin
          name::R{String} = ""
          age::R{Int} = 0
          warin::R{Bool} = true
       end

Представление

julia> StippleUI.form(action = "/sub", method = "POST", [
          textfield("What's your name *", :name, name = "name", @iif(:warin), :filled, hint = "Name and surname", "lazy-rules",
            rules = "[val => val && val.length > 0 || 'Please type something']"
          ),
          numberfield("Your age *", :age, name = "age", "filled", :lazy__rules,
            rules = "[val => val !== null && val !== '' || 'Please type your age',
              val => val > 0 && val < 100 || 'Please type a real age']"
          ),
          btn("submit", type = "submit", color = "primary")
       ])

Аргументы


  • autofocus::Bool — при первоначальном отображении фокус переводится на первый элемент, который может принимать фокус

  • noerrorfocus::Bool — при отправке формы не производится попытка установить фокус на первом компоненте, в котором возникла ошибка проверки

  • noresetfocus::Bool — при сбросе формы не производится попытка установить фокус на первом компоненте

  • greedy::Bool — проверяются все поля в форме (по умолчанию синхронная проверка останавливается после обнаружения первого недопустимого поля)

Headings

Icons

icon(name::Union{String,Symbol}, args...; content::Union{String,Vector,Function} = "", kwargs...)

Stipple изначально поддерживает следующие значки: значки Material Design, Font Awesome, Ionicons, MDI, значки Eva, значки Themify, Line Awesome и значки Bootstrap. Вы также можете самостоятельно добавить поддержку любой библиотеки значков.


Примеры


Представление

julia> icon("font_download", class="text-primary", style="font-size: 32px;")
julia> icon("warning", class="text-red", style="font-size:4rem;")
julia> icon("format_size", style="color: #ccc; font-size: 1.4em;")
julia> icon("print", class="text-teal", style="font-size: 4.4em;")
julia> icon("today", class="text-orange", style="font-size: 2em;")
julia> icon("style", style="font-size: 3em;")

Аргументы


  1. Содержимое

    • tag::String — отображаемый HTML-тег, если только значок не указан или это не значок SVG, например div i

    • left::Bool — этот аргумент полезен, если значок находится слева от какого-либо элемента: добавляет стандартное поле справа от значка

    • right::Bool — этот аргумент полезен, если значок находится справа от какого-либо элемента: добавляет стандартное поле слева от значка

  2. Модель

    • name::String — имя значка. Если вы не используете префикс img:, убедитесь в том, что установлена библиотека значков. Если в качестве значения используется строка none, значок не отображается (но для него по-прежнему выделяется пространство экрана), например map ion-add img:https://cdn.quasar.dev/logo/svg/quasar-logo.svg img:path/to/some_image.png

  3. Стиль

    • size::String — размер в единицах CSS, включая название единицы или стандартного размера: 16px 2rem xs md

    • color::String — имя цвета для компонента из цветовой палитры, например primary teal-10

Imageviews

  imageview(args...; kwargs...)

Компонент imageview упрощает работу с изображениями (любого формата), а также добавляет к ним красивый эффект загрузки и множество других возможностей (например, возможность задавать соотношение сторон).


Примеры


Модель

julia> @vars Model begin
          url::R{String} = "https://placeimg.com/500/300/nature"
       end

Представление

julia> imageview(src = :url, spinnercolor = "white", style = "height: 140px; max-width: 150px" )
julia> imageview(src = :url, style = "height: 140px; max-width: 150px", [
          template("", "v-slot:loading", [spinner(:gears, color = "white", wrap = StippleUI.NO_WRAPPER)]),
       ])

Аргументы


  1. Поведение * transition::String — один из встроенных переходов, например fade slide-down * nativecontextmenu::Bool — включает собственное контекстное меню изображения

  2. Содержимое * ratio::Union{String, Int} — принудительное сохранение соотношения сторон компонента, например ratio!="4/3" (Number format) ratio!="16/9" (String format) ratio="1" * alt::String — указывает замещающий текст для изображения, если его невозможно отобразить, например Two cats * basic::Bool — переходы не используются; ускоряет отображение * contain::Bool — отображаемое изображение полностью помещается на экране; при необходимости рядом с изображением добавляется дополнительное пустое пространство по горизонтали или вертикали

  3. Модель * src::String — путь к изображению, например (public folder) src="img/something.png" (assets folder) src="~assets/my-img.gif" (URL) src="https://placeimg.com/500/300/nature" * srcset::String — тот же синтаксис, что и у атрибута srcset для image:[], например elva-fairy-320w.jpg 320w, elva-fairy-480w.jpg 480w * sizes::String — тот же синтаксис, что и у атрибута sizes для image:[], например (max-width: 320px) 280px, (max-width: 480px) 440px, 800px * width::String — принудительно задает ширину изображения; необходимо также указать единицу измерения (px или %), например 280px 70% * height::String — принудительно задает высоту изображения; необходимо также указать единицу измерения (px или %), например 280px 70% * placeholdersrc::String — во время ожидания загрузки изображения можно использовать изображение-заполнитель, например (public folder) src="img/something.png" (assets folder) src="~assets/my-img.gif" (URL) src="https://placeimg.com/500/300/nature"

  4. Стиль

    • color::String — имя цвета для компонента из цветовой палитры, например primary teal-10

    • imgclass::Union{Vector, String, Dict} — определения классов, применяемых к контейнеру изображения; не применяются к подписи; примеры: my-special-class imgclass!="{ 'my-special-class': <condition> }"

    • imgstyle::Dict — применяет стиль CSS к контейнеру изображения; не применяется к подписи; пример: imgstyle!="{ transform: 'rotate(45deg)' }"

    • spinnercolor::String — имя цвета вращающегося индикатора по умолчанию (если не используется слот loading): primary teal-10

    • spinnersize::String — размер в единицах CSS, включая название единицы, для вращающегося индикатора по умолчанию (если не используется слот loading), например 16px 2rem

Innerloaders

Intersections

Knobs

  knob(range::AbstractRange{T} where T <: Real, fieldname::Union{Symbol,Nothing} = nothing, args...; kwargs...)

Отображает элемент ввода «ручка управления».

Layouts

Lists

  item(args...; kwargs...)

Аргументы


  1. Содержимое

    • tag::String — отображаемый HTML-тег. Совет: используйте label при инкапсуляции элемента checkbox, radio или toggle, чтобы при щелчке по всему элементу или нажатии на него происходило изменение модели для соответствующего компонента. Примеры: a label div

    • insetlevel::Int — применяет отступ от границы. Это полезно, когда отсутствует аватар или левый край, но содержимое необходимо выровнять с другими элементами, у которых есть левый край, либо когда вы создаете меню. Пример: insetlevel!="1"

  2. Общие

    • tabindex::Union{Int, String} — значение атрибута HTML tabindex, например 0 100

  3. Навигация

  4. Состояние

    • disable::Bool — переводит компонент в отключенный режим

    • active::Bool — переводит элемент в активное состояние

    • clickable::Bool — может ли item нажиматься. Если да, добавляются эффекты наведения и генерируются события нажатия.

    • manualfocus::Bool — переводит элемент в состояние ручной установки фокуса. Для определения того, имеет ли элемент фокус, используется свойство focused вместо собственных состояний наведения и фокуса.

    • focused::Bool — определяет состояние фокуса, ТОЛЬКО если аргумент manual-focus включен (имеет значение true)

  5. Стиль

    • dark::Bool — указывает, что компонент должен иметь темный фон

    • dense::Bool — уплотненный режим; занимает меньше места

  item_label(args...; kwargs...)

Аргументы


  1. Поведение

    • lines::Union{Int, String} — если для отображения указанного количества строк недостаточно места, добавляет многоточие; примеры: 1 3 lines!="2"

  2. Содержимое

    • overline::Bool — отображает метку надстрочной надписи

    • caption::Bool — отображает метку подписи

    • header::Bool — отображает метку заголовка

    • lines::Union{Int, String} — если для отображения указанного количества строк недостаточно места, добавляет многоточие; 1 3 lines!="2"

  item_section(args...; kwargs...)

Аргументы


  • avatar::Bool — отображает край элемента аватара (задавать свойство side не требуется)

  • thumbnail::Bool — отображает край элемента эскиза (задавать свойство side не требуется)

  • side::Bool — отображается как край элемента

  • top::Bool — выравнивает содержимое по верхнему краю (полезно для многострочных элементов)

  • nowrap::Bool — текст не переносится по строкам (полезно для основного содержания элемента)

  list(args...; kwargs...)

list и item — это группа компонентов, которые вместе позволяют представлять несколько элементов строк по вертикали как один непрерывный элемент. Они лучше всего подходят для отображения данных одного типа в виде строк информации, например списка контактов, списка воспроизведения или меню. Каждая строка называется элементом. item можно использовать и вне компонента list.


Примеры


Представление

julia>  list(bordered=true, separator=true, [
          item(clickable=true, vripple=true, [
            itemsection("Single line item")
          ]),

          item(clickable=true, vripple=true, [
            itemsection([
              itemlabel("Item with caption"),
              itemlabel("Caption", caption=true)
            ])
          ]),

          item(clickable=true, vripple=true, [
            itemsection([
              itemlabel("OVERLINE", overline=true),
              itemlabel("Item with caption")
            ])
          ])
        ])

Аргументы


  1. Содержимое

    • separator::Bool — применяет разделитель между элементами

    • padding:Bool — применяет внутренний отступ в стиле Material Design сверху и снизу

  2. Стиль

    • bordered::Bool — применяет к компоненту границу по умолчанию

    • dense::Bool — уплотненный режим; занимает меньше места

    • dark::Bool — указывает, что компонент должен иметь темный фон

  menu(fieldname::Union{Symbol,Nothing}, args...; content::Union{String,Vector} = "", kwargs...)

The menu component is a convenient way to show menus. Goes very well with list as dropdown content, but it’s by no means limited to it.


Examples


View

julia> btn("Basic Menu", color="primary", [StippleUI.menu(nothing, [p("Hello")])])

Arguments


  1. Behaviour

    • target::Union{Bool, String} - Configure a target element to trigger component toggle; 'true' means it enables the parent DOM element, 'false' means it disables attaching events to any DOM elements; By using a String (CSS selector) or a DOM element it attaches the events to the specified DOM element (if it exists) default value. true ex. target!=false target!=".my-parent"

    • noparentevent::Bool - Skips attaching events to the target DOM element (that trigger the element to get shown)

    • contextmenu::Bool - Allows the component to behave like a context menu, which opens with a right mouse click (or long tap on mobile)

    • scrolltarget::Union{String} - CSS selector or DOM element to be used as a custom scroll container instead of the auto detected one ex. scrolltarget=".scroll-target-class" scrolltarget="#scroll-target-id" scrolltarget="body"

  2. Position

    • fit::Bool - Allows the menu to match at least the full width of its target

    • cover::Bool - Allows the menu to cover its target. When used, the 'self' and 'fit' props are no longer effective

    • anchor::String - Two values setting the starting position or anchor point of the menu relative to its target ex. anchor="top left" anchor="bottom right" anchor="center"

    • self::String - Two values setting the menu’s own position relative to its target ex. self="top left" self="bottom right" self="center"

    • offset::Vector - An array of two numbers to offset the menu horizontally and vertically in pixels ex. [8, 8] [5, 10]

  3. Style

    • contentclass::Union{Vector, String, Dict} - Class definitions to be attributed to the content ex. my-special-class contentclass!="{ 'my-special-class': <condition> }"

    • contentstyle::Union{Vector, String, Dict} - Style definitions to be attributed to the content ex. backgroundcolor: #ff0000 contentstyle!="{ color: '#ff0000' }"

    • dark::Bool - Notify the component that the background is a dark color

    • square::Bool - Forces content to have squared borders

    • maxheight::String - The maximum height of the menu; Size in CSS units, including unit name ex. 16px 2rem

    • maxwidth::String - The maximum width of the menu; Size in CSS units, including unit name ex. 16px 2rem

Popupproxies

  popup_proxy(fieldname::Union{Symbol,Nothing} = nothing, args...; content::Union{String,Vector,Function} = "", kwargs...)

Функцию popupproxy следует использовать, когда необходимо отобразить либо menu (на больших экранах), либо dialog (на экранах меньшего размера). Она действует как прокси для выбора одного из двух компонентов для использования. popupproxy также работает с контекстными меню.


Примеры


Представление

julia> btn("Handles click", push=true, color="primary", [
          popupproxy([
            banner("You have lost connection to the internet. This app is offline.", [
              template("", "v-slot:avatar", [
                icon("signal_wifi_off", color="Primary")
              ])
            ])
          ])
       ])

Аргументы


  1. Поведение

    • target::Union{Bool, String} — настраивает целевой элемент для активации переключения компонента; при значении true родительский элемент DOM включен, при значении false привязка событий к элементам DOM отключена. С помощью строки (селектора CSS) или элемента DOM события привязываются к указанному элементу DOM (если он существует). Значение по умолчанию: true; примеры: target!=false target!=".my-parent"

    • noparentevent::Bool — привязка событий к целевому элементу DOM (инициирующих отображение элемента) пропускается

    • contextmenu::Bool — компонент работает как контекстное меню, которое открывается щелчком правой кнопки мыши (или долгим нажатием на мобильном устройстве)

    • breakpoint::Union{Int, String} — контрольная точка (в пикселях) ширины или высоты окна (в зависимости от того, что меньше), после которой будет использоваться меню вместо диалогового окна, например 992 breakpoint!="1234"

Radios

radio(label::Union{String, Symbol, Nothing} = nothing, fieldname::Union{Symbol,Nothing} = nothing, args...; kwargs...)

The radio component is another basic element for user input. You can use this to supply a way for the user to pick an option from multiple choices.


Examples


Model

julia> @vars RadioModel begin
         shape::R{String} = "line"
       end

View

julia> radio("Line", :shape, val="line")
julia> radio("Rectangle", :shape, val="rectange")
julia> radio("Ellipse", :shape, val="ellipse")
julia> radio("Polygon", :shape, val="polygon")

Arguments


  1. Behaviour

    • name::String - Used to specify the name of the control; Useful if dealing with forms submitted directly to a URL ex. car_id

    • keep-color::Bool - Should the color (if specified any) be kept when checkbox is unticked?

  2. General

    • tabindex::Union{Int, String} - Tabindex HTML attribute value

  3. Model

    • fieldname::Symbol - Name of the variable to bind to.

  4. Label

    • label::AbstractString - Label

    • leftlabel::Bool - Label (if any specified) should be displayed on the left side of the checkbox

  5. State

    • disable::Bool - Put component in disabled mode

  6. Style

    • size::String - Size in CSS units, including unit name or standard size name (xs|sm|md|lg|xl) ex. 16px 2rem xs md

    • color::String - Color name for component from the Color Palette ex. primary teal-10

    • dark::Bool - Notify the component that the background is a dark color

    • dense::Bool - Dense mode; occupies less space

Ranges

range(range::AbstractRange{<:Union{Symbol, String, Real}}, fieldname::Union{Symbol,Nothing} = nothing, args...; lazy = false, kwargs...)

Компонент range обеспечивает возможность выбора поддиапазона от минимального до максимального значения с дополнительными действиями. Примером использования компонента Range может служить выбор диапазона цен.


Примеры


Модель

julia> @vars RangeModel begin
         range_data::R{RangeData{Int}} = RangeData(18:80)
       end

Представление

julia> range(18:1:90,
          :range_data;
          label=true,
          color="purple",
          labelalways=true,
          labelvalueleft=Symbol("'Min age: ' + range_data.min"),
          labelvalueright=Symbol("'Max age: ' + range_data.max")
       )

Аргументы


  1. Поведение

    • name::String — используется для указания имени элемента управления; полезно при работе с формами, отправляемыми непосредственно на URL-адрес; пример: car_id

    • snap::Bool — предлагаются только допустимые значения вместо свободного выбора. Совет: используйте со свойством step.

    • reverse::Bool — смена направления на обратное

    • vertical::Bool — отображение по вертикали

    • labelalways::Bool — метка отображается всегда

  2. Содержимое

    • label::Bool — когда пользователь нажимает на ползунок и перемещает его, отображается всплывающая метка

    • markers::Union{Bool, Int} — на дорожке отображаются маркеры, по одному для каждого возможного значения модели или с пользовательским шагом (при указании числа), например markers markers="5"

    • dragrange::Bool — пользователь может перетаскивать весь диапазон, а не только два бегунка

    • dragonlyrange::Bool — пользователь может перетаскивать только диапазон, а НЕ два бегунка

  3. Общие

    • tabindex::Union{Int, String} — значение атрибута HTML tabindex, например 0 100

  4. Метки

    • labelcolorleft::String — имя цвета для фона левой метки из цветовой палитры, например primary teal-10

    • labeltextcolorleft::String — имя цвета для текста левой метки из цветовой палитры, например primary teal-10

    • labelcolorright::String — имя цвета для фона правой метки из цветовой палитры, например primary teal-10

    • labeltextcolorright::String — имя цвета для текста правой метки из цветовой палитры, например primary teal-10

    • labelvalueleft::Union{String, Int} — переопределяет метку по умолчанию для минимального значения, например labelvalueleft="model.min + 'px'"

    • labelvalueright::Union{String, Int} — переопределяет метку по умолчанию для максимального значения, например labelvalueright="model.max + 'px'"

  5. Модель

    • range::AbstractRange{T} — диапазон значений для выбора из min:step:max; для ссылки на поля модели можно использовать символы или строки, например range("min":2:"max", :myvalue)

    • lazy::Bool — если задано значение true, значение поля модели обновляется только после отпускания ползунка

  6. Состояние

    • disable::Bool — переводит компонент в отключенный режим

    • readonly::Bool — переводит компонент в режим только для чтения

  7. Стиль

    • color::String — имя цвета для компонента из цветовой палитры, например primary teal-10

    • labelcolor::String — имя цвета для компонента из цветовой палитры, например primary teal-10

    • thumbpath::String — задает путь к пользовательскому бегунку в формате SVG, например M5 5 h10 v10 h-10 v-10

    • dark::Bool — указывает, что компонент должен иметь темный фон

    • dense::Bool — уплотненный режим; занимает меньше места

slider(range::AbstractRange{<:Union{Symbol, String, Real}}, fieldname::Union{Symbol,Nothing} = nothing, args...; lazy = false, kwargs...)

Компонент slider обеспечивает возможность выбора числового значения в диапазоне от минимального до максимального значения с необязательными шагами между допустимыми значениями. Ползунок также имеет индикатор фокуса (выделенная кнопка ползунка), который позволяет регулировать его положение с помощью клавиатуры.

Примеры


Представление

julia> slider(1:5:100)

Аргументы


  1. Поведение

    • name::String — используется для указания имени элемента управления; полезно при работе с формами, отправляемыми непосредственно на URL-адрес; пример: car_id

    • snap::Bool — предлагаются только допустимые значения вместо свободного выбора. Совет: используйте со свойством step.

    • reverse::Bool — смена направления на обратное

    • vertical::Bool — отображение по вертикали

    • labelalways::Bool — метка отображается всегда

  2. Содержимое

    • label::Bool — когда пользователь нажимает на ползунок и перемещает его, отображается всплывающая метка

    • markers::Union{Bool, Int} — на дорожке отображаются маркеры, по одному для каждого возможного значения модели или с пользовательским шагом (при указании числа), например markers markers="5"

    • dragrange::Bool — пользователь может перетаскивать весь диапазон, а не только два бегунка

    • dragonlyrange::Bool — пользователь может перетаскивать только диапазон, а НЕ два бегунка

  3. Общие

    • tabindex::Union{Int, String} — значение атрибута HTML tabindex, например 0 100

  4. Метки

    • labelcolorleft::String — имя цвета для фона левой метки из цветовой палитры, например primary teal-10

    • labeltextcolorleft::String — имя цвета для текста левой метки из цветовой палитры, например primary teal-10

    • labelcolorright::String — имя цвета для фона правой метки из цветовой палитры, например primary teal-10

    • labeltextcolorright::String — имя цвета для текста правой метки из цветовой палитры, например primary teal-10

    • labelvalueleft::Union{String, Int} — переопределяет метку по умолчанию для минимального значения, например labelvalueleft="model.min + 'px'"

    • labelvalueright::Union{String, Int} — переопределяет метку по умолчанию для максимального значения, например labelvalueright="model.max + 'px'"

  5. Модель

    • range::AbstractRange{T} — диапазон значений для выбора из min:step:max; для ссылки на поля модели можно использовать символы или строки, например range("min":2:"max", :myvalue)

    • lazy::Bool — если задано значение true, значение поля модели обновляется только после отпускания ползунка

  6. Состояние

    • disable::Bool — переводит компонент в отключенный режим

    • readonly::Bool — переводит компонент в режим только для чтения

  7. Стиль

    • color::String — имя цвета для компонента из цветовой палитры, например primary teal-10

    • labelcolor::String — имя цвета для компонента из цветовой палитры, например primary teal-10

    • thumbpath::String — задает путь к пользовательскому бегунку в формате SVG, например M5 5 h10 v10 h-10 v-10

    • dark::Bool — указывает, что компонент должен иметь темный фон

    • dense::Bool — уплотненный режим; занимает меньше места

Ratings

rating(fieldname::Union{Symbol,Nothing} = nothing,args...; kwargs...)

Rating — это компонент, позволяющий пользователям оценивать элементы (ставить звездочки).


Примеры


Модель

julia> @vars RatingModel begin
          myrating::R{Int} = 3
       end

Представление

julia> rating(:myrating,size="1.5em",icon="thumb_up")
julia> rating(:myrating, size="2em",color="red-7",icon="favorite_border")
julia> rating(:myrating, size="2.5em", color="purple-4", icon="create")

Аргументы


  1. Поведение

    • name::String — используется для указания имени элемента управления; полезно при работе с формами, отправляемыми непосредственно на URL-адрес car_id

  2. Содержимое

    • icon::Union{String, Vector} — имя значка. Если вы не используете префикс img:, убедитесь в том, что установлена библиотека значков. Если указан массив, для каждого значения оценки будет использоваться соответствующий значок из массива (с отсчетом от нуля), например map ion-add img:https://cdn.quasar.dev/logo/svg/quasar-logo.svg img:path/to/some_image.png

    • iconselected::Union{String, Vector} — имя значка, используемого при выборе значения (необязательно). Если вы не используете префикс img:, убедитесь в том, что установлена библиотека значков. Если указан массив, для каждого значения оценки будет использоваться соответствующий значок из массива (с отсчетом от нуля), например map ion-add img:https://cdn.quasar.dev/logo/svg/quasar-logo.svg img:path/to/some_image.png

    • iconhalf::Union{String, Vector} — имя значка, используемого при выборе значения (необязательно). Если вы не используете префикс img:, убедитесь в том, что установлена библиотека значков. Если указан массив, для каждого значения оценки будет использоваться соответствующий значок из массива (с отсчетом от нуля), например map ion-add img:https://cdn.quasar.dev/logo/svg/quasar-logo.svg img:path/to/some_image.png

  3. Метка

    • max::Union{Int, String} — количество отображаемых значков, например 3 max="5"

  4. Модель

    • noreset::Bool — отключает стандартное поведение, заключающееся в сбросе модели в значение 0 при нажатии на значок, представляющий текущее значение модели

  5. Состояние

    • readonly::Bool — переводит компонент в режим только для чтения

    • disable::Bool — переводит компонент в отключенный режим

  6. Стиль

    • size::String — размер в единицах CSS, включая название единицы или стандартного размера (xs|sm|md|lg|xl), например 16px 2rem md xs

    • color::Union{String, Vector} — имя цвета для компонента из цветовой палитры. В версии 1.5.0 или более поздней: если указан массив, для каждого значения оценки будет использоваться соответствующий цвет из массива (с отсчетом от нуля), например primary primary teal-10 ["accent", "grey-7"]

    • colorselected::Union{String, Vector} имя цвета из палитры Quasar для выбранных значков: primary teal-10

    • colorhalf::Union{String, Vector} — имя цвета из цветовой палитры, например primary teal-10

    • nodimming::Bool — для невыбранных значков непрозрачность не уменьшается

Scrollareas

  scrollarea(args...; kwargs...)

The scrollarea component offers a neat way of customizing the scrollbars by encapsulating your content. Think of it as a DOM element which has overflow: auto, but with your own custom styled scrollbar instead of browser’s default one and a few nice features on top.


Примеры


Представление

julia> StippleUI.scrollarea(style="height: 200px; max-width: 300px;", [
          Html.div("Stipple is a reactive UI library for building interactive
          data applications in pure Julia. It uses Genie.jl (on the server side)
          and Vue.js (on the client). Stipple uses a high performance MVVM
          architecture, which automatically synchronizes the state two-way
          (server -> client and client -> server) sending only JSON data over
          the wire. The Stipple package provides the fundamental communication
          layer, extending Genie's HTML API with a reactive component.")
       ])

Аргументы


  1. Поведение

    • visible::Bool — позволяет вручную управлять видимостью полосы прокрутки; переопределяет поведение по умолчанию при наведении и отведении указателя мыши

    • delay::Union{Int, String} — при изменении содержимого появляется полоса прокрутки; эта задержка определяет количество времени (в миллисекундах) до того, как полосы прокрутки снова исчезнут (если указатель мыши не наведен на компонент); по умолчанию 1000; примеры: 500 delay!="500

    • horizontal::Bool — изменяет ось по умолчанию на горизонтальную вместо вертикальной (по умолчанию) для getScrollPosition, getScrollPercentage, setScrollPosition и setScrollPercentage

  2. Общие

    • tabindex::Union{Int, String} — значение атрибута HTML tabindex: 0 100

  3. Стиль

    • dark::Bool — указывает, что компонент должен иметь темный фон

    • barstyle::Union{Vector, String, Dict} — объект со свойствами и значениями CSS для применения пользовательского стиля к полосам прокрутки (вертикальной и горизонтальной), например barstyle!="{ borderRadius: '5px', background: 'red', opacity: 1 }"

    • contentstyle::Union{Vector, String, Dict} — объект со свойствами и значениями CSS для применения стиля к контейнеру scrollarea

Selects

select(fieldname::Symbol, args...; options::Symbol, kwargs...)

Примеры


Модель

julia> @vars SelectModel begin
          model::R{Vector{String}} = []
          networks::R{Vector{String}} = ["Google", "Facebook", "Twitter", "Pinterest", "Reddit"]
       end

Представление

julia> select(:model, options= :networks, useinput=true, multiple=true, clearable = true, filled = true, counter = true, usechips = true, label="Social Networks")

Аргументы


  1. Поведение

    • name::String — используется для указания имени элемента управления; полезно при работе с формами. Если значение не указано, используется значение свойства for при его наличии, например car-id car-id

    • virtualscrollhorizontal::Bool — переводит виртуальный список в горизонтальный режим

    • error::Bool — есть ли в поле ошибки проверки

    • rules::Vector — массив функций или строк; в случае строк это должно быть имя одного из встроенных правил проверки, например rules="[ val => val.length <= 3 || 'Please use maximum 3 characters' ]"

    • reactiverules::Bool — по умолчанию изменение правил не инициирует новую проверку, пока не изменится модель. Если установлено значение true, то изменение правил инициирует проверку. При этом производительность снижается, поэтому использовать данное значение следует только тогда, когда это действительно необходимо

    • lazyrules::Union{Bool, String} — если задано логическое значение true, соответствие статуса проверки правилам проверяется только после того, как поле впервые теряет фокус; если задано значение ondemand, проверка выполняется только при вызове метода validate() компонента вручную или при отправке оболочки form, например (Boolean) true (Boolean) false ondemand

    • loading::Bool — сообщает пользователю о том, что процесс выполняется, отображая вращающийся индикатор; вращающийся индикатор можно настроить с помощью слота loading.

    • clearable::Bool — добавляет очищаемый значок, когда задано значение (не неопределенное и не null); при щелчке модель становится null

    • autofocus::Bool — поле с фокусом при первоначальном отображении компонента

    • for::String — используется для указания идентификатора элемента управления, а также атрибута for метки, в которую он заключен; если свойство name не указано, оно также используется для данного атрибута, например myFieldsId

    • hidedropdownicon::Bool — значок раскрывающегося списка скрывается

    • fillinput::Bool — заполняет поле ввода текущим значением; полезно использовать вместе с hideselected; НЕ работает при выборе multiple

    • newvaluemode::String — позволяет создавать новые значения и определяет поведение при добавлении нового значения: при add значение добавляется в любом случае (даже если оно повторяется), при add-unique добавляются только уникальные значения, а при toggle значение добавляется или удаляется (в зависимости от того, существует ли оно уже или нет). При использовании этого свойства прослушивание newvalue становится необязательным (требуется только для переопределения поведения, заданного посредством newvaluemode). Примеры: add add-unique toggle

    • autocomplete::String — атрибут автоматического заполнения для поля, например autocomplete="country"

    • transitionshow::String — переход при отображении меню или диалогового окна; один из встроенных переходов, например fade slide-down

    • transitionhide::String — переход при скрытии меню или диалогового окна; один из встроенных переходов, например fade slide-down

    • behavior::String — переопределяет динамический режим отображения по умолчанию в виде меню на настольных компьютерах и диалогового окна на мобильных устройствах: default menu dialog

  2. Содержимое

    • tablecolspan::Union{Int, String} — количество столбцов в таблице (требуется при использовании table-layout: fixed), например tablecolspan="12"

    • errormessage::String — сообщение об ошибке проверки (отображается только в том случае, если error имеет значение true), например Username must have at least 5 characters

    • noerroricon::Bool — при возникновении ошибки значок ошибки скрывается

    • label::Union{String,Symbol} — текстовая метка, которая «всплывает» над полем ввода, когда оно получает фокус, например Username

    • stacklabel::Bool — метка всегда отображается над полем независимо от его содержимого (если оно есть)

    • hint::String — вспомогательный текст (подсказка), который размещается под заключенным компонентом формы, например Fill in between 3 and 12 characters

    • hidehint::Bool — когда поле не имеет фокуса, вспомогательный текст (подсказка) скрывается

    • prefix::String — префикс, например $

    • suffix::String — суффикс, например @gmail.com

    • loading::Bool — сообщает пользователю о том, что процесс выполняется, отображая вращающийся индикатор; вращающийся индикатор можно настроить с помощью слота loading.

    • clearable::Bool — добавляет очищаемый значок, когда задано значение (не неопределенное и не null); при щелчке модель становится null

    • clearicon::String — пользовательский значок для кнопки очистки при использовании вместе с атрибутом clearable, например close

    • labelslot::Bool — включает слот label; этот атрибут необходимо задать для принудительного использования слота label, если свойство label не установлено

    • bottomslots::Bool — включает нижние слоты (error, hint, counter)

    • counter::Bool — в правом нижнем углу отображается автоматический счетчик

    • dropdownicon::String — имя значка. Если вы не используете префикс img:, убедитесь в том, что установлена библиотека значков. Если в качестве значения используется строка none, значок не отображается (но для него по-прежнему выделяется пространство экрана), например map ion-add img=https://cdn.quasar.dev/logo/svg/quasar-logo.svg img=path/to/some_image.png

    • useinput::Bool — используется тег ввода, позволяющий пользователям вводить данные

    • inputdebounce::Union{Int, String} — устраняет задержку обновления входной модели на количество миллисекунд, например 500 600

  3. Общие

    • tabindex::Union{Int, String} — значение атрибута HTML tabindex, например 0 100

  4. Модель

    • multiple::Bool — разрешает множественный выбор. Модель должна быть массивом.

    • emitvalue::Bool — модель обновляется значением выбранного варианта, а не всем вариантом

  5. Параметры

    • options::Vector — варианты, доступные на выбор пользователю. Для повышения производительности следует зафиксировать список вариантов, например options=[ 'BMW', 'Samsung Phone' ]

    • optionvalue::String — свойство варианта, содержащее значение. Для повышения производительности на функцию следует ссылаться из своей области, а не встраивать ее вызов. Примеры: optionvalue=modelNumber optionvalue="(item) => item === null ? null : item.modelNumber"

    • optionlabel::Union{String,Symbol} — свойство варианта, содержащее метку. Для повышения производительности на функцию следует ссылаться из своей области, а не встраивать ее вызов. Примеры: optionlabel=itemName optionlabel="(item) => item === null ? null : item.itemName"

    • optiondisable::String — свойство варианта, указывающее, что он отключен. Должно иметь логическое значение. Для повышения производительности на функцию следует ссылаться из своей области, а не встраивать ее вызов. Примеры: optiondisable=cannotSelect optiondisable="(item) => item === null ? null : item.cannotSelect"

    • optionsdense::Bool — уплотненный режим списка вариантов; занимает меньше места

    • optionsdark::Bool — меню вариантов будет иметь темный цвет

    • optionsselectedclass::String — имя класса CSS для активных (выбранных) вариантов. Чтобы не применялось значение по умолчанию (text-*, где * — значение свойства color), задайте пустую строку. Пример: text-orange

    • optionssanitize::Bool — для отображения вариантов принудительно используется textContent вместо innerHTML. Используйте этот атрибут, если варианты (введенные пользователем) могут быть небезопасными. НЕ действует при использовании слота option!

    • optionscover::Bool — развернутое меню занимает всю область компонента (не работает вместе с атрибутом useinput по очевидным причинам)

    • menushrink::Bool — список вариантов может быть уже поля (только в режиме меню)

    • mapoptions::Bool — выполняется попытка сопоставить метки модели из вектора options. Производительность немного снижается. При использовании emit-value, скорее всего, потребуется использовать map-options для отображения текста метки, а не значения, в поле выбора. См. раздел «Влияние на модель» выше.

  6. Положение

    • menuanchor::String — два значения, определяющие начальное положение или точку привязки списка вариантов относительно поля (только в режиме меню), например top left top middle top right top start top end center left center middle center right center start center end bottom left bottom middle bottom right bottom start bottom end

    • menuself::String — два значения, определяющие собственное положение списка вариантов относительно целевого объекта (только в режиме меню), например top left и т. д.

    • menuoffset::Vector — массив из двух чисел для смещения списка вариантов по горизонтали и вертикали в пикселях (только в режиме меню), например [8, 8]

  7. Выбор

    • multiple::Bool — разрешает множественный выбор. Модель должна быть массивом.

    • displayvalue::Union{Int, String} — переопределяет строку выбора по умолчанию, если не используется слот selected, слот с ограниченной областью или атрибут usechips

    • displayvaluesanitize::Bool — для отображения выбранных вариантов принудительно используется textContent вместо innerHTML. Используйте этот атрибут, если выбранные варианты (введенные пользователем) могут быть небезопасными. НЕ действует при использовании слота selected или selecteditem!

    • hideselected::Bool — скрывает выбор. Использует базовый тег ввода для хранения метки выбранного варианта (вместо ее отображения справа от поля ввода). Не работает при множественном (multiple) выборе.

    • maxvalues::Union{Int, String} — определяет максимальное количество вариантов, которые может выбрать пользователь, например 5

    • usechips::Bool — для отображения выбранных в данный момент вариантов используется компонент chip

  8. Состояние

    • disable::Bool — переводит компонент в отключенный режим

    • readonly::Bool — переводит компонент в режим только для чтения

  9. Стиль

    • labelcolor::String — имя цвета для метки из цветовой палитры; переопределяет свойство color. Отличие от свойства color заключается в том, что метка всегда будет иметь этот цвет, даже если поле не имеет фокуса, например primary teal-10

    • color::String — имя цвета для компонента из цветовой палитры

    • bgcolor::String — имя цвета фона для компонента из цветовой палитры

    • dark::Bool — указывает, что компонент должен иметь темный фон

    • filled::Bool — к полю применяется макет filled

    • outlined::Bool — к полю применяется макет outlined

    • borderless::Bool — к полю применяется макет borderless

    • standout::Union{Bool, String} — к полю применяется «выступающий» макет; указывает классы, применяемые при получении фокуса (переопределяют классы по умолчанию), например standout standout="bg-primary text-white"

    • hidebottomspace::Bool — если подсказка, сообщение об ошибке или счетчик не используются, место для них больше не резервируется. В результате также отключается анимация для них. Кроме того, позволяет растягивать область подсказки или сообщения об ошибке по вертикали в соответствии с содержимым.

    • rounded::Bool — применяет небольшой стандартный радиус скругления к компоненту квадратной формы

    • square::Bool — удаляет скругление, делая углы границ прямыми; переопределяет свойство или атрибут rounded

    • dense::Bool — уплотненный режим; занимает меньше места

    • itemaligned::Bool — внутреннее выравнивание содержимого соответствует выравниванию компонента item

    • popupcontentclass::String — определения классов, применяемых к содержимому всплывающей области, например my-special-class

    • popupcontentstyle::Union{Vector, String, Dict} — определения стилей, применяемых к содержимому всплывающей области, например background-color: #ff0000 popupcontentstyle!="{ backgroundColor: '#ff0000' }"

    • inputclass::Union{Vector, String, Dict} — определения классов, применяемых к базовому тегу ввода, например my-special-class inputclass!="{ 'my-special-class': <condition> }"

    • inputstyle::Union{Vector, String, Dict} — определения стилей, применяемых к базовому тегу ввода, например background-color: #ff0000 inputstyle!="{ backgroundColor: '#ff0000' }"

  10. Виртуальная прокрутка

    • virtualscrollslicesize::Union{Int, String} — минимальное количество элементов, отображаемых в виртуальном списке, например virtualscrollslicesize="60" 30

    • virtualscrollsliceratiobefore::Union{Int, String} — доля количества элементов в видимой области, отображаемая перед ней, например virtualscrollsliceratiobefore="30" 30

    • virtualscrollsliceratioafter::Union{Int, String} — доля количества элементов в видимой области, отображаемая после нее, например virtualscrollsliceratioafter="0.3"

    • virtualscrollitemsize::Union{Int, String} — размер элемента по умолчанию в пикселях (высота, если элемент вертикальный; ширина, если элемент горизонтальный). Это значение используется для отображения начального списка. Старайтесь использовать значение, близкое к минимальному размеру элемента, например virtualscrollitemsize="48"

    • virtualscrollstickysizestart::Union{Int, String} — размер в пикселях (высота, если элемент вертикальный; ширина, если элемент горизонтальный) закрепленной части в начале списка (если она используется). Правильное значение повышает точность прокрутки. Примеры: 0 virtualscrollstickysizestart="23

    • virtualscrollstickysizeend::Union{Int, String} — размер в пикселях (высота, если элемент вертикальный; ширина, если элемент горизонтальный) закрепленной части в конце списка (если она используется). Правильное значение повышает точность прокрутки. Пример: 0

    • tablecolspan::Union{Int, String} — количество столбцов в таблице (требуется при использовании table-layout: fixed), например tablecolspan="3"

Separators

  separator(args...; kwargs...)

Компонент separator служит для разделения частей текста, других компонентов и т. д. Он создает цветную линию по ширине родительского компонента. Линия может быть горизонтальной или вертикальной.

Skeletons

skeleton(args...; kwargs...)

skeleton — это компонент для отображения предварительного просмотра содержимого перед загрузкой фактических данных страницы. С его помощью можно показать пользователю, чего ожидать от страницы, до ее полной загрузки и повысить воспринимаемую производительность. Он позволяет постепенно выводить информацию на экране по мере получения данных.


Примеры


Представление

julia> skeleton(type="QAvatar")
])

Аргументы


  1. Содержимое

    • tag::String — отображаемый HTML-тег. Значение по умолчанию — "div". Примеры: "div" "span"

    • type::String — тип заполнителя-эскиза. Значение по умолчанию — "rect". Допустимые значения: "rect" "circle" "QBadge" "QChip" "QRadio" и т. д.

  2. Стиль

    • dark::Bool — следует ли использовать темный эскиз.

    • animation::String — эффект анимации заполнителя-эскиза. Значение по умолчанию: "wave" | Примеры: "pulse" "fade" "blink" "none" "pulse-x"

    • square::Bool — удаляет скругление, делая границы квадратными

    • bordered::Bool — применяет к компоненту границу по умолчанию

    • size::String — размер в единицах CSS, включая название единицы. Переопределяет свойства height и width и применяет значение как к высоте, так и к ширине.

    • width::String — ширина в единицах CSS, включая название единицы. Применяет пользовательскую ширину. Можно использовать это свойство или стиль CSS. Переопределяется свойством size, если оно задано.

    • height::String — высота в единицах CSS, включая название единицы. Применяет пользовательскую высоту. Можно использовать это свойство или стиль CSS. Переопределяется свойством size, если оно задано. Примеры: "16px" "2em"

Spaces

Spinners

spinner(spinner_type::Union{String,Symbol} = "", args...; kwargs...)

Компонент spinner показывает пользователю, что в настоящее время выполняется длительный процесс, например получение данных с сервера или сложные вычисления. Это важная функция взаимодействия с пользователем, благодаря которой пользователь знает, что система продолжает работать.


Примеры


Модель

julia> @vars SpinnerModel begin
          box::R{String} = "box"
          comment::R{String} = "comment"
          hourglass::R{String} = "hourglass"
       end

Представление

julia> spinner(color="primary", size="3em")
julia> spinner(:box, color="orange",size="5.5em")
julia> spinner(:comment, color="green",size="3em")
julia> spinner(:hourglass, color="purple", size="4em")

Аргументы


  • size::String — размер в единицах CSS, включая название единицы или стандартного размера (xs|sm|md|lg|xl), например 16px 2rem xs md

  • color::String — имя цвета для компонента из цветовой палитры, например primary teal

  • thickness::Int — переопределяет значение ширины черты, например 5

Splitters

splitter(fieldname::Symbol, args...; kwargs...)

Примеры


Модель

julia> @vars SplitterModel begin
            splitterM::R{Int} = 50
       end

Представление

julia> splitter(:splitterM, style="height: 400px", [
        template("", "v-slot:before", [
          Html.div(class="q-pa-md", [
            Html.div("Before", class="text-h4 q-mb-md"),
            Html.div("{{ n }}. Lorem ipsum dolor sit, amet consectetur adipisicing elit.
               Quis praesentium cumque magnam odio iure quidem, quod illum numquam possimus
               obcaecati commodi minima assumenda consectetur culpa fuga nulla ullam. In, libero.",
              class = "q-my-md",
              @recur(:"n in 20"), key! = "n")
          ])
        ]),
        template("", "v-slot:after", [
          Html.div(class="q-pa-md", [
            Html.div("After", class="text-h4 q-mb-md")
              Html.div("{{ n }}. Lorem ipsum dolor sit, amet consectetur adipisicing elit.
               Quis praesentium cumque magnam odio iure quidem, quod illum numquam possimus
               obcaecati commodi minima assumenda consectetur culpa fuga nulla ullam. In, libero.",
              class = "q-my-md",
              @recur(:"n in 20"), key! = "n")
          ])
        ])
       ])

Аргументы


  1. Содержимое

    • horizontal::Bool — панели разделяются по горизонтали, а не по вертикали

    • limits::Vector — массив из двух значений, представляющих минимальный и максимальный размер разделения двух панелей. Если задана единица px, вторым значением может быть Infinity, что позволяет сделать разделение с другой стороны неограниченным.

  2. Модель

    • reverse::Bool — применяет размер модели ко второй панели (по умолчанию он применяется к первой)

    • unit::String — единица CSS для модели

    • emitimmediately::Bool — данные модели выдаются в процессе перемещения разделителя пользователем

    • limits::Vector — массив из двух значений, представляющих минимальный и максимальный размер разделения двух панелей. Если задана единица px, вторым значением может быть Infinity, что позволяет сделать разделение с другой стороны неограниченным.

  3. Состояние

    • disable::Bool — переводит компонент в отключенный режим

  4. Стиль

    • classbefore::Union{Vector,String,Dict} — определения классов, применяемых к панели before, например "bg-deep-orange"

    • classafter::Union{Vector,String,Dict} — определения классов, применяемых к панели after, например "bg-deep-orange"

    • separatorclass::Union{Vector,String,Dict} — определения классов, применяемых к разделителю, например "bg-deep-orange"

    • separatorstyle::Union{Vector,String,Dict} — определения стилей, применяемых к разделителю, например "border-color: #ff0000;"

    • dark::Bool — применяет к разделителю более светлый цвет по умолчанию. Используется при более темном фоне. Нежелательно использовать при переопределении посредством свойства separator-class или separator-style.

Stippleui

Tables

Column(name::String, args...)

Примеры


julia> Column("x2", align = :right)

Аргументы


  • required::Bool — при использовании visiblecolumns этот столбец виден всегда

  • label::String — метка заголовка

  • align::Symbol — выравнивание ячейки

  • field::String — свойство объекта строки, определяющее значение для этого столбца, например name

  • sortable::Bool — указывает, что этот столбец таблицы table должен быть сортируемым

DataTable(data::T, opts::DataTableOptions)

Примеры


julia> df = DataFrame(a = sin.(-π:π/10:π), b = cos.(-π:π/10:π), c = string.(rand(21)))
julia> dt = DataTable(df)

or

julia> using TypedTables
julia> t = Table(a = [1, 2, 3], b = [2.0, 4.0, 6.0])
julia> dt = DataTable(t)

or

julia> using Tables
julia> Tables.table([1 2 3; 3 4 5], header = ["a", "b", "c"])
julia> dt = DataTable(t1)
DataTableOptions(addid::Bool, idcolumn::String, columns::Union{Vector{Column},Nothing}, columnspecs::Dict{Union{String, Regex}, Dict{Symbol, Any}})

Примеры


julia> DataTableOptions(columns = [Column("x1"), Column("x2", align = :right)])

Спецификации столбцов

Использование для форматирования столбцов

julia> import Stipple.opts
julia> df = DataFrame(a = sin.(-π:π/10:π), b = cos.(-π:π/10:π), c = string.(rand(21)))
julia> dt = DataTable(df)
julia> dt.opts.columnspecs[r"^(a|b)$"] = opts(format = jsfunction(raw"(val, row) => `${100*val.toFixed(3)}%`"))
julia> model.table[] = dt
DataTablePagination(sort_by::Symbol, descending::Bool, page::Int, row_per_page::Int)

Примеры


julia> DataTablePagination(rows_per_page=50)
table(fieldname::Symbol, args...; kwargs...)

Примеры


Модель

julia> @vars TableModel begin
          data::R{DataTable} = DataTable(DataFrame(rand(100000,2), ["x1", "x2"]), DataTableOptions(columns = [Column("x1"), Column("x2", align = :right)]))
          data_pagination::DataTablePagination = DataTablePagination(rows_per_page=50)
       end

Представление

julia> table(title="Random numbers", :data; pagination=:data_pagination, style="height: 350px;")
cell_template(;
    edit::Union{Bool, Integer, AbstractString, Vector{<:AbstractString}, Vector{<:Integer}} = false,
    columns::Union{Nothing, Bool, AbstractString, Vector{<:AbstractString}} = nothing,
    class::Union{Nothing,AbstractString,AbstractDict,Vector} = nothing,
    style::Union{Nothing,AbstractString,AbstractDict,Vector} = nothing,
    inner_class::Union{Nothing,AbstractString,AbstractDict,Vector} = nothing,
    inner_style::Union{Nothing,AbstractString,AbstractDict,Vector} = nothing,
    type::Union{Nothing,Symbol,AbstractString,Vector} = nothing,
    ref_table::Union{Nothing,Symbol} = nothing,
    ref_rows::Union{Nothing,Symbol} = nothing, # alternative way of referencing table data
    change_class::Union{Nothing,AbstractString,AbstractDict,Vector} = "text-red ",
    change_style::Union{Nothing,AbstractString,AbstractDict,Vector} = nothing,
    change_inner_class::Union{Nothing,AbstractString,AbstractDict,Vector} = nothing,
    change_inner_style::Union{Nothing,AbstractString,AbstractDict,Vector} = nothing,

    rowkey::String = ID,
    kwargs...)

Create a cell template by passing class and style for styling and an edit-attribute for determining whether a cell can be edited. Furthermore the columns to be styled and/or edited can be specified via the edit and columns attributes. The attribute type determines the type of input and can be a vector, which is cycled when iterating the editable columns. A single cell template to a table can be defined by forwarding (almost) the same keywords to table(). The only slight modification is that thekeyowrdsstyleandclasstype`are replaced by`cell*style`and`cell*classcell_type` in order not to interfere with the tables class and style.

Two locations can be addressed by class and style

  • the full cell (td-element)

  • the inner element (div/input)

If a cell is editable, a reference table can be specified to monitor, whether a cell has been modified. For modified cells a separate set of class and style can be specified.

Table of format specifiers

Name Description

cell and style

full cell (td)

inner_class and inner_style

inner cell (div/input)

change_class and change_style

modified full cell (td)

change_inner_class and change_inner_style

modified inner cell (div/input)

Note that some formatting attributes cannot be changed by setting a class because some other css classes have higher precedence. Use the style attribute in such cases.

Table of column specifiers

edit columns Description

true/false

-

all cells

true/false

"<column name>" or ["<column name>", "<column name 2>", ...]

specific columns, all of them editable or non-editable

"<column name>" or ["<column name 1>", "<column name 2>", ...]

-

specific columns, all of them editable

"<column name>" or ["<column name 1>", "<column name 2>", ...]

""

specific columns editable, all others non-editable

"<edit column>" or ["<edit column 1>", "<edit column 2>", ...]

"<column name>" or ["<column name 1>", "<column name 2>", ...]

specific editable and non-editable columns

Example 1

All cells styled identically, column "name" editable, changing to indigo when a cell is modified

cell_template(edit = "name", ref_table = :ref_table, columns = "",
    cell_class = "text-blue-10 bg-blue-1",
    change_class = "text-indigo-10 bg-indigo-1"
)

Example 2

Application of three templates to a table

df = DataFrame(name = ["Panda", "Lily"], email = ["panda@chihuahua.com", "lily@merckgroup.com"], age = ["", ""])

ui() = table(:table, cell_class = "text-blue-10 bg-blue-2",
    # column "name" blue but editable, with the inner cell highlighted and slightly padded, changing to indigo, if modified
    cell_template(edit = "email", ref_table = :ref_table,
        class = "text-blue-10 bg-blue-1", inner_class = "q-px-sm bg-blue-2",
        change_class = "bg-indigo-1", change_inner_class = "q-px-sm bg-indigo-2 text-indigo-10"
    ),
    # column "age" red (hint for entry to be filled), changing to green if filled)
    cell_template(edit = "age", type = "number", ref_table = :ref_table,
        class = "bg-red-1", inner_class = "q-px-sm bg-red-2",
        change_class = "bg-green-1", change_inner_class = "q-px-sm bg-green-2 text-green-8"
    )
)

Note that the general template for all cells is achieved via keyword forwarding from table().

Example 3

ui() = table(:table, edit = ["name", "email", "age"], cell_type = ["text", "text", "number"])
columns(t::T)::Vector{Column} where {T<:DataTable}
julia> columns = [Column("x1"), Column("x2", align = :right)]
rowselection(dt::DataTable, idcolumn::Union{String, Symbol}, values, cols = Colon())

Формирует выбранную область в таблице на основе индекса и значения или списка значений.

rowselection(dt, "a", [1, 3])
rowselection(dt, "a", 2:9)
rowselection(dt::DataTable, idcolumn::Union{String, Symbol}, regex::Regex, cols = Colon())

Формирует выбранную область в таблице на основе регулярного выражения.

rowselection(t, "b", r"hello|World")
rowselection(dt::DataTable, rows, cols = Colon(), idcolumn = dt.opts.addid ? dt.opts.idcolumn : "__id")

Формирует выбранную область в таблице на основе номеров строк.

По умолчанию в Quasar в выбранную область включаются все столбцы.

Для больших таблиц может быть достаточно включить только индекс, если выбранное значение не используется иным образом. Для этого нужно присвоить свойству cols значение nothing.

rowselection(dt, 3)
rowselection(dt, 2:5)
rowselection(dt, [2, 4, 7])
rowselection(dt, :, nothing)
rowselection(dt::DataTable, idcolumn::Union{String, Symbol}, f::Function, cols = Colon())

Формирует выбранную область в таблице на основе функции.

rowselection(dt, "a", iseven)
rowselection(dt, "a", x -> x > 3)
selectrows!(model::ReactiveModel, tablefield::Symbol, selectionfield::Symbol = Symbol(tablefield, "_selection"), args...)
selectrows!(dt::R{<:DataTable}, dt_selection::R, args...)

Выбирает строки таблицы модели на основе критериев выбора. Дополнительные сведения о синтаксисе выбора см. в описании rowselection.

@vars TableDemo begin
    @mixin table::TableWithPaginationSelection
end

model = init(TableDemo)
model.table[] = DataTable(DataFrame(a = [1, 2, 4, 6, 8, 10], b = ["Hello", "world", ",", "hello", "sun", "!"]))

selectrows!(model, :table, [1, 2, 6]) # предполагается, что имеется поле `:table_selection`
selectrows!(model.table, model.table_selection, "b", r"hello|World"i)
selectrows!(model, :table, :table_selection, "a", iseven)

Tabpanels

tabpanel(args...; kwargs...)

Панели с вкладками позволяют отображать больше информации на меньшей площади экрана.


Примеры


Модель

julia>

Представление

julia>

Аргументы


  1. Общие

    • name::Union{Any} — имя панели

  2. Состояние

    • disable::Bool — переводит компонент в отключенный режим

  3. Стиль

    • dark::Bool — указывает, что компонент должен иметь темный фон

tabpanelgroup(args...; kwargs...)

tabpanelgroup позволяет отображать больше информации на меньшей площади экрана.


Примеры


Модель

julia> @vars TabPanelModel begin
            gpanel::R{String} = "panel"
       end

Представление

julia> Html.div(class="q-pa-md", [
          Html.div(class="q-gutter-y-md", style="max-width: 350px", [
             tabpanelgroup(:gpanel, animated=true, swipeable=true, infinite=true,
                   class="bg-purple text-white shadow-2 rounded-borders", [
                   tabpanel("Lorem ipsum dolor sit amet consectetur
                    adipisicing elit.", name="mails", [
                   Html.div("Mails", class="text-h6")
             ]),

             tabpanel("Lorem ipsum dolor sit amet consectetur
                  adipisicing elit.", name="alarms", [
                        Html.div("Alarms", class="text-h6")
             ]),

             tabpanel("Lorem ipsum dolor sit amet consectetur
                  adipisicing elit.", name="movies", [
                        Html.div("Movies", class="text-h6")
                  ]),
             ])
          ])
       ])

Аргументы


  1. Поведение

    • keepalive::Bool — равносильно использованию собственного компонента Vue для содержимого

    • keepaliveinclude::Union{String,Vector} — равносильно использованию собственного свойства Vue include для ; значениями должны быть допустимые имена компонентов Vue (например, "a,b" "/a|b/" ['a', 'b'])

    • keepaliveexclude::Union{String,Vector} — равносильно использованию собственного свойства Vue exclude для ; значениями должны быть допустимые имена компонентов Vue (например, "a,b" "/a|b/" ['a', 'b'])

    • keepalivemax::Int — равносильно использованию собственного свойства Vue max для (например, 2)

    • animated::Bool — включает переходы между панелями (см. также свойства transition-prev и transition-next)

    • infinite::Bool — делает компонент бесконечным (при достижении последней панели следующей становится первая)

    • swipeable::Bool — включает события смахивания (могут конфликтовать с событиями касания содержимого или щелчка мышью по нему)

    • vertical::Bool — переходы и действия смахивания по умолчанию происходят на вертикальной оси

    • transitionprev::String — один из встроенных переходов Quasar (действует только в том случае, если задано свойство animated), например "fade" "slide-down"

    • transitionnext::String — один из встроенных переходов Quasar (действует только в том случае, если задано свойство animated), например "fade" "slide-down"

Tabs

  tab(args...; kwargs...)

tabs позволяет отображать больше информации на меньшей площади экрана.


Примеры


Представление

julia> tab(name="photos", icon="photos", label="Photos")

Аргументы


  1. Содержимое

    • icon::String — имя значка в соответствии с соглашением Quasar. Если вы не используете префикс img:, убедитесь в том, что установлена библиотека значков. Если в качестве значения используется строка none, значок не отображается (но для него по-прежнему выделяется пространство экрана). Примеры: "map" "ion-add" "img:https://cdn.quasar.dev/logo/svg/quasar-logo.svg" "img:path/to/some_image.png"

    • label::Union{Int,String} — число или строка для обозначения вкладки. Пример: "Home"

    • alert::Union{Bool,String} — добавляет на вкладку символ оповещения, уведомляющий пользователя о наличии обновлений. Если значение не является логическим, можно указать цвет. Пример: "alert"

    • nocaps::Bool — отключает использование заглавных букв на вкладке (по умолчанию)

  2. Общие

    • name::Union{Int,String} — имя панели. Примеры: "home" name! ="1"

    • tabindex::Union{Int,String} — значение атрибута HTML tabindex Примеры: 0 100

  3. Состояние

    • disable::Bool — переводит компонент в отключенный режим

  4. Стиль

    • ripple::Union{Bool,Dict} — настройка эффекта ряби на материале (чтобы отключить его, задайте значение false или предоставьте объект конфигурации). Примеры: false """{"early" => true, "center" => true, "color" => "teal", "keyCodes" => []}"""

    • contentclass::String — определения классов, применяемых к оболочке содержимого. "my-special-class"

  tabgroup(fieldname::Union{Symbol,Nothing} = nothing, args...; kwargs...)

Компонент menu обеспечивает удобный способ для отображения меню. Хорошо сочетается с элементом list в качестве раскрывающегося списка, но возможны и другие варианты.

Примеры


Модель

julia> @vars TabModel begin
          tab_m::R{String} = "tab"
       end

Представление

julia> tabgroup(:tab_m, inlinelabel=true, class="bg-primary text-white shadow-2", [
          tab(name="photos", icon="photos", label="Photos"),
          tab(name="videos", icon="slow_motion_video", label="Videos"),
          tab(name="movies", icon="movie", label="Movies")
       ])

Аргументы


  1. Поведение

    • target::Union{Bool, String} — контрольная точка (в пикселях) ширины контейнера вкладок, при достижении которой вкладки автоматически переключаются на выравнивание по ширине. По умолчанию: 600 | Пример: breakpoint! ="500"

  2. Содержимое

    • vertical::Bool — используется вертикальный макет (вкладки одна над другой, а не рядом по горизонтали)

    • outsidearrows::Bool — резервирует место для стрелок по обе стороны от вкладок (стрелки исчезают, когда неактивны)

    • mobilearrows::Bool — принудительное отображение стрелок (при необходимости) на мобильных устройствах

    • align::String — горизонтальное выравнивание вкладок внутри контейнера вкладок. Значение по умолчанию: center | Допустимые значения: left, center, right, justify | Пример: right

    • breakpoint::Union{Int, String} — контрольная точка (в пикселях) ширины контейнера вкладок, при достижении которой вкладки автоматически переключаются на выравнивание по ширине. Значение по умолчанию: 600 | Пример: breakpoint! = "500"

    • lefticon::String — имя значка, заменяющего стрелку по умолчанию для прокрутки вкладок влево, когда они не помещаются по ширине в контейнере вкладок. Пример: arrow_left

    • righticon::String — имя значка, заменяющего стрелку по умолчанию для прокрутки вкладок вправо, когда они не помещаются по ширине в контейнере вкладок. Пример: arrow_right

    • stretch::Bool — при использовании в родительском элементе flexbox вкладки растягиваются по его высоте

    • shrink::Bool — по умолчанию tabs занимает все доступное пространство, однако это поведение можно изменить с помощью данного свойства; полезно (и необходимо) при размещении компонента в toolbar

    • switchindicator::Bool — переключает положение индикатора (слева от вкладки для вертикального режима или над вкладкой для горизонтального режима по умолчанию)

    • narrowindicator::Bool — индикатор становится той же ширины, что и содержимое вкладки (текст или значок), а не занимает всю ширину вкладки

    • inlinelabel::Bool — позволяет размещать текст на одной линии со значком, если он используется

    • nocaps::Bool — отключает использование заглавных букв на вкладке (по умолчанию)

  3. Стиль

    • activeclass::String — класс, задаваемый для активной вкладки

    • activecolor::String — цвет, применяемый к тексту активной вкладки. Примеры: teal-10 primary

    • activecolorbg::String — цвет, применяемый к фону активной вкладки. Примеры: teal-10 primary

    • indicatorcolor::String — цвет, применяемый к индикатору (подчеркиванию) активной вкладки. Примеры: teal-10 primary

    • contentclass::String — определения классов, применяемых к оболочке содержимого

    • dense::Bool — уплотненный режим; занимает меньше места

Timelines

  timeline(args...; kwargs...)

В компоненте timeline отображается список событий в хронологическом порядке. Графически он обычно представляет собой длинную полосу, на которой отмечены даты и, как правило, события. На шкале времени может использоваться любой масштаб времени в зависимости от предназначения и данных.


Примеры


Представление

julia> Html.div(class="q-px-lg q-pb-md", [
            timeline(color="secondary", [
            timelineentry("Timeline Heading", heading=true),
            timelineentry(title="Event Title", subtitle="February 22, 1986", [
            Html.div("Lorem ipsum dolor sit amet, consectetur adipisicing elit,
                  sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
                  Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris
                  nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in
                  reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
                  Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia
                  deserunt mollit anim id est laborum.")
            ]),
            timelineentry(title="Event Title", subtitle="February 21, 1986", icon="delete",[
            Html.div("Lorem ipsum dolor sit amet, consectetur adipisicing elit,
                  sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
                  Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris
                  nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in
                  reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
                  Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia
                  deserunt mollit anim id est laborum.")
            ]),
            timelineentry(title="Event Title",
            subtitle="February 22, 1986",
            avatar="https://cdn.quasar.dev/img/avatar2.jpg", [
            Html.div("Lorem ipsum dolor sit amet, consectetur adipisicing elit,
                  sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
                  Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris
                  nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in
                  reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
                  Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia
                  deserunt mollit anim id est laborum.")
            ])
            ])
       ])

Аргументы


  1. Поведение

    • side::String — сторона, с которой размещаются записи шкалы времени в уплотненном и удобном форматах; для свободного формата переопределяется свойством timelineentry. По умолчанию: "right" | Примеры: "left" | "right"

    • layout::String — макет шкалы времени. При использовании плотного макета (dense) содержимое и метки располагаются на одной стороне. При использовании удобного макета (comfortable) содержимое располагается на одной стороне, а метки — на другой. При использовании свободного макета (loose) содержимое располагается с обеих сторон. По умолчанию: "dense" | Примеры: "comfortable" | "loose" | "dense"

  2. Стиль

    • color::String — имя цвета для компонента из цветовой палитры Quasar, например "primary" | "teal-10"

    • dark::Bool — указывает, что компонент должен иметь темный фон

  timelineentry(args...; kwargs...)

Примеры


Представление

julia> timelineentry(title="Event Title", subtitle="February 21, 1986", icon="delete",[
            Html.div("Lorem ipsum dolor sit amet, consectetur adipisicing elit,
                  sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
                  Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris
                  nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in
                  reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
                  Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia
                  deserunt mollit anim id est laborum.")
       ])

Аргументы


  1. Поведение

    • side::String — сторона, на которой располагаются записи шкалы времени; работает только в том случае, если используется свободный макет timeline. По умолчанию: "right" | Примеры: "left" | "right"

  2. Содержимое

    • tag::String — используемый тег; только для типа heading. По умолчанию: "h3" | Примеры: "h1" | "h2" | "h3" | "h4" | "h5" | "h6"

    • heading::Bool — определяет элемент шкалы времени для заголовка

    • icon::String — имя значка в соответствии с соглашением Quasar. Если вы не используете префикс img:, убедитесь в том, что установлена библиотека значков. Если в качестве значения используется строка none, значок не отображается (но для него по-прежнему выделяется пространство экрана). Примеры: "map" | "ion-add"

    • avatar::String — URL-адрес изображения аватара. Если используется значок, он имеет приоритет и поэтому заменяет аватар.

    • title::String — заголовок записи шкалы времени; переопределяется при использовании слота title

    • subtitle::String — подзаголовок записи шкалы времени; переопределяется при использовании слота subtitle

    • body::String — текст записи шкалы времени; используйте это свойство или слот по умолчанию

  3. Стиль

    • color::String — имя цвета для компонента из цветовой палитры Quasar

Toggles

toggle(label::Union{String,Symbol}, fieldname::Union{Symbol,Nothing}, args...; kwargs...)

Компонент toggle — это еще один базовый элемент для ввода данных пользователем. Его можно использовать для включения и отключения настроек, функций или установки логических значений.


Примеры


Модель

julia> @vars ToggleModel begin
          value::R{Bool} = false
          selection::R{Vector{String}} = ["yellow", "red"]
       end

Представление

julia> toggle("Blue", color="blue", :selection, val="blue")
julia> toggle("Yellow", color="yellow", :selection, val="yellow")
julia> toggle("Green", color="green", :selection, val="green")
julia> toggle("Red", color="red", :selection, val="red")

Аргументы


  1. Поведение

    • name::String — используется для указания имени элемента управления; полезно при работе с формами, отправляемыми непосредственно на URL-адрес; пример: "car_id"

    • indeterminatevalue::Union{Int, Float64, String, Bool} — какое значение модели следует считать «неопределенным»; значение по умолчанию: null; примеры: 0 "not_answered"

    • toggleorder::String — определяет порядок переключения двух состояний (t означает состояние true, f — состояние false). Если toggle-indeterminate имеет значение true, то порядок следующий: неопределенное -> первое состояние -> второе состояние -> неопределенное (и повторять); в противном случае: неопределенное -> первое состояние -> второе состояние -> первое состояние -> второе состояние -> …​ Значение по умолчанию: "tf". Примеры: "tf" "ft"

    • toggleindeterminate::Bool — следует ли также переключаться через неопределенное состояние, когда пользователь щелкает по компоненту или нажимает на него

    • keepcolor::Bool — следует ли сохранять цвет (если он указан) при отключении компонента (снятии флажка)

  2. Содержимое

    • icon::String — имя значка в соответствии с соглашением Quasar. Если вы не используете префикс img:, убедитесь в том, что установлена библиотека значков. Если в качестве значения используется строка none, значок не отображается (но для него по-прежнему выделяется пространство экрана), например map ion-add img:https://cdn.quasar.dev/logo/svg/quasar-logo.svg img:path/to/some_image.png *

  3. Общие

    • tabindex::Union{Int, String} — значение атрибута HTML tabindex: 0 100

  4. Значки

    • checkedicon::String — значок, используемый, когда переключатель включен, например visibility

    • uncheckedicon::String — значок, используемый, когда переключатель отключен, например visibility-off

    • indeterminateicon::String — значок, используемый, когда модель является неопределенной, например help

  5. Метка

    • label::Union{String,Symbol} — метка, отображаемая вместе с компонентом, например I agree to terms and conditions

    • leftlabel::Bool — метка (если она указана) должна отображаться слева от компонента

  6. Модель

    • val::Union{Bool, Int, Float64, String, Vector} — действует, если модель (value) представляет собой массив. Сообщает компоненту, какое значение следует добавить или удалить при установке или снятии флажка, например car.

    • truevalue::Union{Bool, Int, Float64, String, Vector} — какое значение модели следует считать выбранным (включенным); по умолчанию true; пример: Agreed

    • falsevalue::Union{Bool, Int, Float64, String, Vector} — какое значение модели следует считать не выбранным (отключенным); по умолчанию false; пример: Not agreed

  7. Состояние

    • disabled::Bool — переводит компонент в отключенный режим

  8. Стиль

    • size::String — размер в единицах CSS, включая название единицы или стандартного размера (xs|sm|md|lg|xl), например 16px 1.5rem xs md

    • color::String — имя цвета для компонента из цветовой палитры, например primary teal-10

    • dark::Bool — указывает, что компонент должен иметь темный фон

    • dense::Bool — уплотненный режим; занимает меньше места

    • iconcolor — переопределяет цвет значка по умолчанию (только для истинного состояния); имя цвета для компонента из цветовой палитры, например primary teal-10

Toolbars

toolbar(args...; kwargs...)

Компонент toolbar обычно является частью верхнего или нижнего колонтитула макета, но может использоваться в любом месте страницы.


Примеры


Представление

julia> toolbar(class="text-primary", [
          btn(flat=true, round=true, dense=true, icon="menu"),
          toolbartitle("Toolbar"),
          btn(flat=true, round=true, dense=true, icon="more_vert")
       ])

Аргументы


  • inset::Bool — применяет отступ от границы к содержимому (полезно при наличии дальнейших панелей инструментов)

toolbartitle(args...; kwargs...)

Примеры


Представление

julia> toolbartitle("Menu")

Аргументы


  • shrink::Bool — по умолчанию toolbartitle занимает все доступное пространство. Однако это поведение можно изменить с помощью данного свойства.

Tooltips

tooltip(args...; kwargs...)
tooltip(fieldname::Symbol, args...; kwargs...)

Компонент tooltip следует использовать, когда нужно предоставить пользователю дополнительные сведения об определенной области в приложении. При наведении указателя мыши на целевой элемент (или быстром нажатии на мобильных платформах) появляется всплывающая подсказка.


Примеры


Представление

julia> btn("Hover me", color="primary", [
          tooltip("Some text as content of Tooltip")
       ])
julia> Html.div(class="inline bg-amber rounded-borders cursor-pointer", style="max-width: 300px", [
          Html.div(class="fit flex flex-center text-center non-selectable q-pa-md", "I am groot!<br>(Hover me!)", [
            tooltip("I am groot!")
       ])
julia>
])

Аргументы


  1. Поведение

    • transitionshow::String — поддержка встроенных переходов, например fade slide-down

    • transitionhide::String — поддержка встроенных переходов, например fade slide-down

    • scrolltarget::String — селектор CSS или элемент DOM, который используется в качестве пользовательского контейнера прокрутки вместо автоматически определяемого, например scrolltarget=".scroll-target-class" scrolltarget="#scroll-target-id" scrolltarget="body"

    • target::Union{String, Bool} — настраивает целевой элемент для активации переключения подсказки; при значении true родительский элемент DOM включен, при значении false привязка событий к элементам DOM отключена. С помощью строки (селектора CSS) события привязываются к указанному элементу DOM (если он существует). Примеры: target=".my-parent" target!=false

    • noparentevent::Bool — привязка событий к целевому элементу DOM (инициирующих отображение элемента) пропускается

    • delay::Int — подсказка появляется с задержкой. Значение по умолчанию: 0; пример: delay!="500"

    • hidedelay::Int — подсказка исчезает с задержкой. Значение по умолчанию: 0; пример: hidedelay!="600"

  2. Содержимое

    • maxheight::String — максимальная высота подсказки; размер в единицах CSS, включая название единицы, например 16px 2rem

    • maxwidth::String — максимальная ширина подсказки; размер в единицах CSS, включая название единицы, например 16px 2rem

  3. Положение

    • anchor::String — два значения, определяющие начальное положение или точку привязки подсказки относительно целевого объекта, например top left top middle top right top start top end center left center middle center right center start center end bottom left bottom middle bottom right bottom start bottom end

    • self::String — два значения, определяющие собственное положение подсказки относительно целевого объекта, например top left top middle top right top start top end center left center middle center right center start center end bottom left bottom middle bottom right bottom start bottom end

    • offset::Vector — массив из двух чисел для смещения подсказки по горизонтали и вертикали в пикселях; значение по умолчанию: [14,14]; пример: [5, 10]

  4. Стиль

    • contentclass::Union{Vector, String, Dict} — определения классов, применяемых к содержимому, например my-special-class contentclass!="{ 'my-special-class': <condition> }"

    • contentstyle::Union{Vector, String, Dict} — определения стилей, применяемых к содержимому, например background-color: #ff0000 contentstyle!="{ color: '#ff0000' }"

Trees

Uploaders

  uploader(args...; kwargs...)

Stipple дает возможность отправлять файлы через компонент uploader.


Примеры


Представление

julia> uploader(label="Upload Image", autoupload=true, multiple=true, method="POST", url="/upload", field__name="img")

Аргументы


  1. Поведение

    • multiple::Bool — позволяет отправлять несколько файлов

    • accept::String — список уникальных спецификаторов типов файлов через запятую. Сопоставляется с атрибутом accept собственного входного типа=элемент файла, например .jpg, .pdf, image/* image/jpeg, .pdf

    • capture::String — при необходимости позволяет указать, что следует принять новый файл, а также указать устройство, которое должно использоваться для принятия этих новых данных типа, определяемого свойством accept. Сопоставляется с атрибутом capture собственного входного типа=элемент файла, например user environment

    • maxfilesize::Union{Int, String} — максимальный размер отдельного файла в байтах, например 1024 1048576

    • maxtotalsize::Union{Int, String} — максимальный совокупный размер всех файлов в байтах, например 1024 1048576

    • maxfiles::Union{Int, String} — максимальное количество файлов в контейнере, например maxfiles!="5" 10

    • filter::Function — пользовательский фильтр добавляемых файлов. Добавляться в очередь и отправляться будут только файлы, прошедшие этот фильтр. Для повышения производительности на функцию следует ссылаться из своей области, а не встраивать ее вызов. Пример: filter!="files => files.filter(file => file.size === 1024)"

    • autoupload::Bool — файлы отправляются сразу после добавления

    • hideuploadbtn::Bool — кнопка отправки не отображается

  2. Содержимое

    • label::Union{String,Symbol} — метка средства отправки, например Upload photo here

    • nothumbnails::Bool — эскизы для файлов изображений не отображаются

  3. Состояние

    • disable::Bool — переводит компонент в отключенный режим

    • readonly::Bool — переводит компонент в режим только для чтения

  4. Стиль

    • color:String — цвет компонента из цветовой палитры, например primary teal-10

    • textcolor::String — переопределяет цвет текста (при необходимости); имя цвета из цветовой палитры, например primary teal-10

    • dark::Bool — темный режим

    • square::Bool — удаляет скругление, делая границы квадратными

    • flat::Bool — применяет «плоский» макет (по умолчанию без тени)

    • bordered::Bool — применяет к компоненту границу по умолчанию

  5. Отправка

    • factory::String — функция, которая должна возвращать объект или промис, разрешающийся в объект. Для повышения производительности на функцию следует ссылаться из своей области, а не встраивать ее в форму функции. (files) => Object, Promise

    • url::String — URL-адрес сервера, который обрабатывает отправку, или путь к нему. Принимает строку или фабричную функцию, которая возвращает строку. Функция вызывается непосредственно перед отправкой. Для повышения производительности на функцию следует ссылаться из своей области, а не встраивать ее вызов. Пример: +"files ⇒+https://example.com?count=:({files.length})" https://example.com/path

    • method::String — метод HTTP, используемый для отправки. Принимает строку или фабричную функцию, которая возвращает строку. Функция вызывается непосредственно перед отправкой. Для повышения производительности на функцию следует ссылаться из своей области, а не встраивать ее вызов. По умолчанию: POST; примеры: POST PUT

    • fieldname::String — имя поля для каждого отправляемого файла; помещается в следующий заголовок: 'Content-Disposition: form-data; name="HERE"; filename="somefile.png"'. Для повышения производительности на функцию следует ссылаться из своей области, а не встраивать ее вызов. Значение по умолчанию: (file) => file.name; примеры: backgroundFile fieldname!="(file) => 'background' + file.name"

    • headers::Union{Vector{Dict(String, String)}, String} — массив или фабричная функция, возвращающая массив. Массив состоит из объектов с определениями заголовков. Функция вызывается непосредственно перед отправкой. Для повышения производительности на функцию следует ссылаться из своей области, а не встраивать ее вызов. Пример: [{name: 'Content-Type', value: 'application/json'}, {name: 'Accept', value: 'application/json'}]

    • formfields::Union{Vector{Dict(String, String)}, String} — массив или фабричная функция, возвращающая массив. Массив состоит из объектов с определениями дополнительных полей (используемых формой отправки). Функция вызывается непосредственно перед отправкой. Для повышения производительности на функцию следует ссылаться из своей области, а не встраивать ее вызов. Пример: [{name: 'my-field', value: 'my-value'}]

    • with-credentials::Union{Bool, String} — присваивает withCredentials значение true в XHR, который управляет отправкой. Принимает логическое значение или фабричную функцию с логическим значением. Функция вызывается непосредственно перед отправкой. Для повышения производительности на функцию следует ссылаться из своей области, а не встраивать ее вызов. Примеры: with-credentials with!="files => ...."

    • sendraw::Union{Bool, String} — отправляются необработанные файлы без упаковки в Form(). Принимает логическое значение или фабричную функцию с логическим значением. Функция вызывается непосредственно перед отправкой. Для повышения производительности на функцию следует ссылаться из своей области, а не встраивать ее вызов. Примеры: sendraw sendraw!="files => ...."

    • batch::Union{Bool, String} — файлы отправляются пакетом (в одном запросе XHR). Принимает логическое значение или фабричную функцию с логическим значением. Функция вызывается непосредственно перед отправкой. Для повышения производительности на функцию следует ссылаться из своей области, а не встраивать ее вызов. Пример: "files => files.length > 10"

Videos

video(args...; kwargs...)

Компонент video позволяет легко встраивать видео, например с YouTube. По умолчанию он также изменяет размер видео по размеру контейнера.


Примеры


Модель

julia> @vars RadioModel begin
         v_ratio::R{String} = "16/9"
       end

Представление

julia> video(src="https://www.youtube.com/embed/dQw4w9WgXcQ")
julia> video(ratio=:v_ratio, src="https://www.youtube.com/embed/k3_tw44QsZQ?rel=0")

Аргументы


  1. Специальные возможности

    • title::String — (специальные возможности) задает значение собственного атрибута title используемого внутреннего iFrame

  2. Поведение

    • fetchpriority::String — предоставляет подсказку касательно относительного приоритета, используемого при получении документа iFrame. Значение по умолчанию: "auto" | Допустимые значения: "auto", "high", "low"

    • loading::String — указывает, как браузер должен загружать iFrame. Значение по умолчанию: "eager" | Допустимые значения: "eager", "lazy"

    • referrerpolicy::String — указывает, какой ссылающийся домен следует отправлять при получении ресурса фрейма. Значение по умолчанию: "strict-origin-when-cross-origin" | Допустимые значения: "no-referrer", "no-referrer-when-downgrade", "origin", "origin-when-cross-origin", "origin-when-cross-origin", "strict-origin", "strict-origin-when-cross-origin", "unsafe-url"

  3. Модель

    • src::String — исходный URL-адрес для отображения в iFrame.

  4. Стиль

    • ratio::Union{String,Int,Float64} — соотношение сторон содержимого. Если значение — строка, то старайтесь не использовать вычислительный оператор (например, 16/9). Вместо этого укажите строковое значение результата напрямую (например, 1.7777).