Справка по API StippleUI
API
#
StippleUI.API.csscolors
— Method
`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") ])
Badges
#
StippleUI.Badges.badge
— Function
badge()
Компонент badge
позволяет создать небольшую карточку для добавления информации, например контекстных данных, которые должны выделяться и привлекать внимание. Он также часто применяется в сочетании с другими элементами, например с аватаром пользователя для отображения количества новых сообщений.
Примеры
Модель
julia> @vars BadgeModel begin
myicon = "bluetooth"
end
Представление
julia> Html.div("Badge", class="text-h6", [
badge("1.0.0+", color="primary")
])
Аргументы
-
Содержимое
-
floating::Bool
— указывает, должен ли компонентbadge
перемещаться в правый верхний угол родительского элемента с относительным положением -
transparent::Bool
— применяет непрозрачность 0,8; особенно полезно для плавающих компонентовbadge
-
multiline::Bool
— содержимое может переноситься по строкам -
label::Union{String, Int}
— содержимое карточки в виде строки; переопределяет слот по умолчанию, если он задан, например"John Doe"
22
-
align::String
— задает атрибут CSS выравнивания по вертикали -
outline::Bool
— применяет «контурный» макет (только цветной текст и границы)
-
-
Стиль
-
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")
])
])
Аргументы
-
Содержимое
-
inlineactions::Bool
— действия отображаются в той же строке, что и содержимое
-
-
Стиль
-
dense::Bool
— уплотненный режим; занимает меньше места -
rounded::Bool
— применяет небольшой стандартный радиус скругления к компоненту квадратной формы -
dark::Bool
— указывает, что компонент должен иметь темный фон
-
Bignumbers
#
StippleUI.BigNumbers.bignumber
— Function
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
#
StippleUI.Buttons.btn
— Function
В 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!")] )
Аргументы
-
Поведение
-
loading::Bool
— переводит кнопку в состояние загрузки (отображаетсяspinner
, что можно переопределить с помощью слота loading) -
percentage::Union{Int, Float64}
— процент (0,0 < x < 100,0); используется вместе со свойством loading; отображает индикатор выполнения на заднем плане, например23
-
darkpercentage::Bool
— индикатор выполнения на заднем плане должен быть темного цвета; используется вместе со свойствами percentage и loading
-
-
Содержимое
-
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 кнопка растягивается по его высоте
-
-
Общие
-
type::String
— 1) укажите атрибут собственного типа кнопки (submit, reset, button), либо 2) отобразите компонент с тегом для доступа к событиям даже в случае отключения, либо 3) используйте свойство href и укажите type в качестве тега мультимедиа; по умолчаниюbutton
; примеры:a
submit
reset
button
image/png
href="https://some-site.net" target="_blank"
-
tabindex::Union{Int, String}
— значение атрибута HTML tabindex
-
-
Навигация
-
href::String
— собственный атрибут href ссылки ; имеет приоритет над свойствами to и replace, напримерhttps://quasar.dev
href="https://quasar.dev" target="_blank"
-
target::String
— собственный атрибут target ссылки ; используется только со свойством to или href, например_blank
_self
_parent
_top
-
-
Состояние
-
loading::Bool
— переводит кнопку в состояние загрузки (отображаетсяspinner
, что можно переопределить с помощью слота loading) -
disable::Bool
— переводит компонент в отключенный режим
-
-
Стиль
-
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
— придает кнопке круглую форму
-
#
StippleUI.Buttons.btndropdown
— Method
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")) ]), ])
Аргументы
-
Поведение
-
loading::Bool
— переводит кнопку в состояние загрузки (отображаетсяspinner
, что можно переопределить с помощью слота loading) -
split::Bool
— выводит значок раскрывающегося списка в отдельную кнопку -
disablemainbtn::Bool
— отключает главную кнопку (полезно в сочетании со свойством split) -
disabledropdown::Bool
— отключает раскрывающийся список (кнопку раскрывающегося списка при использовании свойства split) -
persistent::Bool
— при щелчке или нажатии за пределами меню либо при нажатии клавиши ESC меню не закрывается -
autoclose::Bool
— меню закрывается при щелчке или нажатии внутри него; позволяет не привязывать к каждому пункту меню событие для закрытия меню при щелчке или нажатии
-
-
Содержимое
-
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"
-
-
Общие
-
type::String
— 1) укажите атрибут собственного типа кнопки (submit, reset, button), либо 2) отобразите компонент с тегом для доступа к событиям даже в случае отключения, либо 3) используйте свойство href и укажите type в качестве тега мультимедиа; по умолчанию"button"
; примеры:"a"
"submit"
"reset"
"button"
"image/png"
href="https://some-site.net" target="_blank"
-
tabindex::Union{Int, String}
— значение атрибута HTML tabindex, например0
100
-
-
Навигация
-
href::String
— собственный атрибут href ссылки ; имеет приоритет над свойствами to и replace, например"https://quasar.dev"
href="https://quasar.dev" target="_blank"
-
target::String
— собственный атрибут target ссылки ; используется только со свойством to или href, например"_blank"
"_self"
"_parent"
"_top"
-
-
Положение
-
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]
-
-
Состояние
-
loading::Bool
— переводит кнопку в состояние загрузки (отображаетсяspinner
, что можно переопределить с помощью слота loading) -
disable::Bool
— переводит компонент в отключенное состояние
-
-
Стиль
-
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> }"
-
#
StippleUI.Buttons.btngroup
— Method
С помощью btngroup
можно легко группировать элементы btn
и btndropdown
. Обязательно ознакомьтесь со свойствами и методами этих компонентов на соответствующих страницах.
Аргументы
-
Содержимое
-
spread::Bool
— растяжение по горизонтали на все доступное пространство -
stretch::Bool
— при использовании в родительском элементе flexbox кнопки растягиваются по его высоте
-
-
Стиль
-
outline::Bool
— применяет «контурный» макет к кнопкам -
flat::Bool
— применяет «плоский» макет к кнопкам -
unelevated::Bool
— удаляет тень для кнопок -
rounded::Bool
— применяет более заметный радиус скругления к кнопкам квадратной формы -
push::Bool
— применяет макет нажатия к кнопкам -
glossy::Bool
— применяет глянцевый эффект
-
#
StippleUI.Buttons.btntoggle
— Method
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
-
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
-
-
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
-
-
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
-
-
State
-
disable::Bool
- Put component in disabled mode -
readonly::Bool
- Put component in readonly mode
-
-
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}
Stipple.opts(early = true, center = true, color = "teal", keyCodes = [])`)- Configure material ripple (disable it by setting it to 'false' or supply a Dict , e.g.
-
dense::Boolean
- Dense mode; occupies less space
-
Cards
#
StippleUI.Cards.card
— Method
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}}")
])
Аргументы
-
Содержимое *
tag::String
— отображаемый HTML-тег; по умолчанию"div"
; примеры:"div"
"form"
-
Стиль *
dark::Bool
— указывает, что компонент должен иметь темный фон *square::Bool
— удаляет скругление, делая границы квадратными *flat::Bool
— применяет «плоский» макет (по умолчанию без тени) *bordered::Bool
— применяет к компоненту границу по умолчанию
#
StippleUI.Cards.card_1
— Method
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)
#
StippleUI.Cards.card_actions
— Method
Примеры
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
— действия располагаются друг под другом
#
StippleUI.Cards.card_section
— Method
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
#
StippleUI.Checkboxes.checkbox
— Function
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")
Аргументы
-
Поведение
-
name::String
— используется для указания имени элемента управления; полезно при работе с формами, отправляемыми непосредственно на URL-адрес -
indeterminatevalue::Union{String, Float64, Int, Bool}
— какое значение модели следует считать «неопределенным» -
toggleorder::String
— определяет порядок переключения двух состояний (t означает состояние true, f — состояние false). Если toggle-indeterminate имеет значение true, то порядок следующий: неопределенное -> первое состояние -> второе состояние -> неопределенное (и повторять); в противном случае: неопределенное -> первое состояние -> второе состояние -> первое состояние -> второе состояние -> … Примеры:"tf"
"ft"
-
toggleindeterminate::Bool
— следует ли также переключаться через неопределенное состояние, когда пользователь щелкает по компоненту или нажимает на него -
keepcolor::Bool
— следует ли сохранять цвет (если он указан) при отключении компонента (снятии флажка)
-
-
Общие
-
tabindex::Union{Int, String}
— значение атрибута HTML tabindex
-
-
Метка
-
label::Union{String,Symbol}
— метка, отображаемая вместе с компонентом -
leftlabel::Bool
— метка (если она указана) должна отображаться слева от компонента
-
-
Модель
-
fieldname::Symbol
— модель компонента -
val::Union{String, Float64, Int, Bool}
— действует, если модель (value) представляет собой массив. Сообщает компоненту, какое значение следует добавить или удалить при установке или снятии флажка. -
truevalue::Union{Int, Float64, String}
— какое значение модели следует считать выбранным (включенным) -
falsevalue::Union{Int, Float64, String}
— какое значение модели следует считать не выбранным (отключенным)
-
-
Состояние
-
disable::Bool
— переводит компонент в отключенный режим
-
-
Стиль
-
size::String
— размер в единицах CSS, включая название единицы или стандартного размера (xs|sm|md|lg|xl), например"16px"
"2rem"
"xs"
"md"
-
color::String
— имя цвета для компонента из цветовой палитры, например"primary"
"teal-10"
-
dark::Bool
— указывает, что компонент должен иметь темный фон -
dense::Bool
— уплотненный режим; занимает меньше места
-
Chips
#
StippleUI.Chips.chip
— Method
chip(args...; kwargs...)
Компонент chip
- это, по сути, простой блок UI, представляющий, например, более сложные базовые данные, такие как контакт, в компактном виде.
Фишки (chip) могут содержать такие объекты, как аватар, текст или значок, а также при необходимости иметь указатель. Они также могут закрываться или удаляться при соответствующей настройке.
Примеры
Представление
julia> chip("Add to calendar", icon="event")
Аргументы
-
Содержимое
-
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"
-
-
Общие
-
tabindex::Union{Int, String}
— значение атрибута HTML tabindex, например0
100
-
-
Модель
-
value::Bool
— модель компонента, определяющая, должен ли отображаться элементchip
; по умолчаниюtrue
-
selected::Bool
— модель элементаchip
, определяющая, выбран ли он. Примечание: требуется модификатор .sync!
-
-
Состояние
-
clickable::Bool
— может лиchip
нажиматься. Если да, добавляются эффекты наведения и генерируются события нажатия. -
removable::Bool
— может лиchip
удаляться. Если да, добавляется кнопка закрытия и генерируются события удаления. -
disable::Bool
— переводит компонент в отключенный режим
-
-
Стиль
-
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
#
StippleUI.DatePickers.DateRange
— Type
DateRange
Представляет интервал дат от start
до stop
с шагом в 1 день.
#
StippleUI.DatePickers.datepicker
— Function
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)
Аргументы
-
Поведение
-
name::String
— используется для указания имени элемента управления; полезно при работе с формами, отправляемыми непосредственно на URL-адрес; пример:"car_id"
-
landscape::Bool
— компонент отображается в альбомной ориентации -
yearsinmonthview::Bool
— в представлении месяцев отображается селектор лет
-
-
Содержимое
-
title::String
— при указании переопределяет заголовок по умолчанию; не действует в режиме minimal; пример:"Birthday"
-
subtitle::String
— при указании переопределяет подзаголовок по умолчанию; не действует в режиме minimal; пример:"John Doe"
-
todaybtn::Bool
— отображает кнопку для выбора текущего дня -
minimal::Bool
— заголовок не отображается
-
-
Выбор
-
navminyearmonth::String
— не позволяет пользователю переходить далее определенного года и месяца (в формате ГГГГ/ММ). Это свойство не применяется для корректировки модели. Можно также использовать свойство default-year-month. Пример:"2020/07"
-
navmaxyearmonth::String
— не позволяет пользователю переходить ранее определенного года и месяца (в формате ГГГГ/ММ). Это свойство не применяется для корректировки модели. Можно также использовать свойство default-year-month. Пример:"2020/10"
-
nounset::Bool
— отключает возможность отменить выбор даты. Не применяется к выбору диапазона в пределах уже выбранных дат. -
multiple::Bool
— разрешает множественный выбор. Модель должна быть массивом. -
range::Bool
— разрешает выбор диапазона. Частично совместимо со свойством options: выбранные диапазоны могут включать в себя недоступные для выбора дни.
-
-
Состояние
-
readonly::Bool
— переводит компонент в режим только для чтения -
disable::Bool
— переводит компонент в отключенный режим
-
-
Стиль
-
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
#
StippleUI.Dialogs.dialog
— Method
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.")
])
])
])
Аргументы
-
Поведение
-
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
(специальные возможности) — при отображении диалогового окна фокус не переводится на него
-
-
Содержимое
-
seamless::Bool
— переводит диалоговое окно в бесшовный режим; фон не используется, так что пользователь может взаимодействовать с остальной частью страницы -
maximized::Bool
— переводит диалоговое окно в развернутый режим -
fullwidth::Bool
— производится попытка отобразить диалоговое окно по ширине окна -
fullheight::Bool
— производится попытка отобразить диалоговое окно по высоте окна -
position::String
— диалоговое окно прикрепляется к одной из сторон (top, right, bottom или left)
-
-
Стиль
-
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
— принудительно применяет к содержимому границы с прямыми углами
-
Editors
#
StippleUI.Editors.editor
— Method
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)
])
Аргументы
-
Поведение
-
fullscreen::Bool
— полноэкранный режим (обратите внимание: требуется модификатор .sync) Пример::fullscreen.sync="isFullscreen"
-
noroutefullscreenexit::Bool
— при изменении маршрута приложения не происходит выход из полноэкранного режима -
paragraphtag::String
— используемый тег абзаца; примеры:div
,p
-
-
Содержимое
-
placeholder::String
— текст, отображаемый в качестве заполнителя, напримерType your story here...
-
-
Модель
-
value::String
(обязательно) — реактивная модель компонента
-
-
Состояние
-
readonly::Bool
— переводит компонент в режим только для чтения -
disable::Bool
— отключает компонент
-
-
Стиль *
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
#
StippleUI.FormInputs.datefield
— Function
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"))
#
StippleUI.FormInputs.filefield
— Function
filefield(label::Union{String, Symbol} = "", fieldname::Union{Symbol,Nothing} = nothing, args…; kwargs…)
#
StippleUI.FormInputs.numberfield
— Function
numberfield( label::Union{String, Symbol} = "", fieldname::Union{Symbol,Nothing} = nothing, args...; content::Union{String,Vector,Function} = "", kwargs...)
#
StippleUI.FormInputs.textarea
— Function
numberfield( label::Union{String, Symbol} = "", fieldname::Union{Symbol,Nothing} = nothing, args...; content::Union{String,Vector,Function} = "", kwargs...)
#
StippleUI.FormInputs.textfield
— Function
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']"
)
Аргументы
-
Общие *
type::String
— должен иметь одно из следующих значений:text (default)
,textarea
,email
,tel
,number
,password
илиurl
. Определяет тип клавиатуры, отображаемой на мобильных устройствах. -
Поведение *
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
-
Содержимое *
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
— поле автоматически увеличивается вместе с содержимым (используется текстовая область) -
Состояние *
disable::Bool
— переводит компонент в отключенный режим *readonly::Bool
— переводит компонент в режим только для чтения -
Стиль *
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 }"
-
Модель *
debounce::Union{String, Int}
— величина подавления дребезга контактов (в миллисекундах) при обновлении модели, например0
500
*maxlength::Union{String, Int}
— указывает максимальную длину модели, например12
#
StippleUI.FormInputs.timefield
— Function
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
#
StippleUI.Forms.form
— Method
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
— проверяются все поля в форме (по умолчанию синхронная проверка останавливается после обнаружения первого недопустимого поля)
Icons
#
StippleUI.Icons.icon
— Method
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;")
Аргументы
-
Содержимое
-
tag::String
— отображаемый HTML-тег, если только значок не указан или это не значок SVG, напримерdiv
i
-
left::Bool
— этот аргумент полезен, если значок находится слева от какого-либо элемента: добавляет стандартное поле справа от значка -
right::Bool
— этот аргумент полезен, если значок находится справа от какого-либо элемента: добавляет стандартное поле слева от значка
-
-
Модель
-
name::String
— имя значка. Если вы не используете префикс img:, убедитесь в том, что установлена библиотека значков. Если в качестве значения используется строка none, значок не отображается (но для него по-прежнему выделяется пространство экрана), напримерmap
ion-add
img:https://cdn.quasar.dev/logo/svg/quasar-logo.svg
img:path/to/some_image.png
-
-
Стиль
-
size::String
— размер в единицах CSS, включая название единицы или стандартного размера:16px
2rem
xs
md
-
color::String
— имя цвета для компонента из цветовой палитры, напримерprimary
teal-10
-
Imageviews
#
StippleUI.ImageViews.imageview
— Method
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)]),
])
Аргументы
-
Поведение *
transition::String
— один из встроенных переходов, напримерfade
slide-down
*nativecontextmenu::Bool
— включает собственное контекстное меню изображения -
Содержимое *
ratio::Union{String, Int}
— принудительное сохранение соотношения сторон компонента, напримерratio!="4/3"
(Number format) ratio!="16/9"
(String format) ratio="1"
*alt::String
— указывает замещающий текст для изображения, если его невозможно отобразить, напримерTwo cats
*basic::Bool
— переходы не используются; ускоряет отображение *contain::Bool
— отображаемое изображение полностью помещается на экране; при необходимости рядом с изображением добавляется дополнительное пустое пространство по горизонтали или вертикали -
Модель *
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"
-
Стиль
-
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
-
Knobs
#
StippleUI.Knobs.knob
— Function
knob(range::AbstractRange{T} where T <: Real, fieldname::Union{Symbol,Nothing} = nothing, args...; kwargs...)
Отображает элемент ввода «ручка управления».
Lists
#
StippleUI.Lists.item
— Method
item(args...; kwargs...)
Аргументы
-
Содержимое
-
tag::String
— отображаемый HTML-тег. Совет: используйте label при инкапсуляции элементаcheckbox
,radio
илиtoggle
, чтобы при щелчке по всему элементу или нажатии на него происходило изменение модели для соответствующего компонента. Примеры:a
label
div
-
insetlevel::Int
— применяет отступ от границы. Это полезно, когда отсутствует аватар или левый край, но содержимое необходимо выровнять с другими элементами, у которых есть левый край, либо когда вы создаете меню. Пример:insetlevel!="1"
-
-
Общие
-
tabindex::Union{Int, String}
— значение атрибута HTML tabindex, например0
100
-
-
Навигация
-
href::String
— собственный атрибут href ссылки ; имеет приоритет над свойствами to, exact и replace, напримерhttp://genieframework.com
-
target::String
— собственный атрибут target ссылки ; используется только со свойством href; имеет приоритет над свойствами to, exact и replace, например_blank
_self
_parent
_top
-
-
Состояние
-
disable::Bool
— переводит компонент в отключенный режим -
active::Bool
— переводит элемент в активное состояние -
clickable::Bool
— может лиitem
нажиматься. Если да, добавляются эффекты наведения и генерируются события нажатия. -
manualfocus::Bool
— переводит элемент в состояние ручной установки фокуса. Для определения того, имеет ли элемент фокус, используется свойство focused вместо собственных состояний наведения и фокуса. -
focused::Bool
— определяет состояние фокуса, ТОЛЬКО если аргумент manual-focus включен (имеет значение true)
-
-
Стиль
-
dark::Bool
— указывает, что компонент должен иметь темный фон -
dense::Bool
— уплотненный режим; занимает меньше места
-
#
StippleUI.Lists.item_label
— Method
item_label(args...; kwargs...)
Аргументы
-
Поведение
-
lines::Union{Int, String}
— если для отображения указанного количества строк недостаточно места, добавляет многоточие; примеры:1
3
lines!="2"
-
-
Содержимое
-
overline::Bool
— отображает метку надстрочной надписи -
caption::Bool
— отображает метку подписи -
header::Bool
— отображает метку заголовка -
lines::Union{Int, String}
— если для отображения указанного количества строк недостаточно места, добавляет многоточие;1
3
lines!="2"
-
#
StippleUI.Lists.item_section
— Method
item_section(args...; kwargs...)
Аргументы
-
avatar::Bool
— отображает край элемента аватара (задавать свойство side не требуется) -
thumbnail::Bool
— отображает край элемента эскиза (задавать свойство side не требуется) -
side::Bool
— отображается как край элемента -
top::Bool
— выравнивает содержимое по верхнему краю (полезно для многострочных элементов) -
nowrap::Bool
— текст не переносится по строкам (полезно для основного содержания элемента)
#
StippleUI.Lists.list
— Method
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")
])
])
])
Аргументы
-
Содержимое
-
separator::Bool
— применяет разделитель между элементами -
padding:Bool
— применяет внутренний отступ в стиле Material Design сверху и снизу
-
-
Стиль
-
bordered::Bool
— применяет к компоненту границу по умолчанию -
dense::Bool
— уплотненный режим; занимает меньше места -
dark::Bool
— указывает, что компонент должен иметь темный фон
-
Menus
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
-
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"
-
-
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]
-
-
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
#
StippleUI.PopupProxies.popup_proxy
— Function
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")
])
])
])
])
Аргументы
-
Поведение
-
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
#
StippleUI.Radios.radio
— Function
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
-
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?
-
-
General
-
tabindex::Union{Int, String}
- Tabindex HTML attribute value
-
-
Model
-
fieldname::Symbol
- Name of the variable to bind to.
-
-
Label
-
label::AbstractString
- Label -
leftlabel::Bool
- Label (if any specified) should be displayed on the left side of the checkbox
-
-
State
-
disable::Bool
- Put component in disabled mode
-
-
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
#
Base.range
— Function
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")
)
Аргументы
-
Поведение
-
name::String
— используется для указания имени элемента управления; полезно при работе с формами, отправляемыми непосредственно на URL-адрес; пример:car_id
-
snap::Bool
— предлагаются только допустимые значения вместо свободного выбора. Совет: используйте со свойством step. -
reverse::Bool
— смена направления на обратное -
vertical::Bool
— отображение по вертикали -
labelalways::Bool
— метка отображается всегда
-
-
Содержимое
-
label::Bool
— когда пользователь нажимает на ползунок и перемещает его, отображается всплывающая метка -
markers::Union{Bool, Int}
— на дорожке отображаются маркеры, по одному для каждого возможного значения модели или с пользовательским шагом (при указании числа), напримерmarkers
markers="5"
-
dragrange::Bool
— пользователь может перетаскивать весь диапазон, а не только два бегунка -
dragonlyrange::Bool
— пользователь может перетаскивать только диапазон, а НЕ два бегунка
-
-
Общие
-
tabindex::Union{Int, String}
— значение атрибута HTML tabindex, например0
100
-
-
Метки
-
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'"
-
-
Модель
-
range::AbstractRange{T}
— диапазон значений для выбора из min:step:max; для ссылки на поля модели можно использовать символы или строки, напримерrange("min":2:"max", :myvalue)
-
lazy::Bool
— если задано значение true, значение поля модели обновляется только после отпускания ползунка
-
-
Состояние
-
disable::Bool
— переводит компонент в отключенный режим -
readonly::Bool
— переводит компонент в режим только для чтения
-
-
Стиль
-
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
— уплотненный режим; занимает меньше места
-
#
StippleUI.Ranges.slider
— Function
slider(range::AbstractRange{<:Union{Symbol, String, Real}}, fieldname::Union{Symbol,Nothing} = nothing, args...; lazy = false, kwargs...)
Компонент slider
обеспечивает возможность выбора числового значения в диапазоне от минимального до максимального значения с необязательными шагами между допустимыми значениями. Ползунок также имеет индикатор фокуса (выделенная кнопка ползунка), который позволяет регулировать его положение с помощью клавиатуры.
Примеры
Представление
julia> slider(1:5:100)
Аргументы
-
Поведение
-
name::String
— используется для указания имени элемента управления; полезно при работе с формами, отправляемыми непосредственно на URL-адрес; пример:car_id
-
snap::Bool
— предлагаются только допустимые значения вместо свободного выбора. Совет: используйте со свойством step. -
reverse::Bool
— смена направления на обратное -
vertical::Bool
— отображение по вертикали -
labelalways::Bool
— метка отображается всегда
-
-
Содержимое
-
label::Bool
— когда пользователь нажимает на ползунок и перемещает его, отображается всплывающая метка -
markers::Union{Bool, Int}
— на дорожке отображаются маркеры, по одному для каждого возможного значения модели или с пользовательским шагом (при указании числа), напримерmarkers
markers="5"
-
dragrange::Bool
— пользователь может перетаскивать весь диапазон, а не только два бегунка -
dragonlyrange::Bool
— пользователь может перетаскивать только диапазон, а НЕ два бегунка
-
-
Общие
-
tabindex::Union{Int, String}
— значение атрибута HTML tabindex, например0
100
-
-
Метки
-
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'"
-
-
Модель
-
range::AbstractRange{T}
— диапазон значений для выбора из min:step:max; для ссылки на поля модели можно использовать символы или строки, напримерrange("min":2:"max", :myvalue)
-
lazy::Bool
— если задано значение true, значение поля модели обновляется только после отпускания ползунка
-
-
Состояние
-
disable::Bool
— переводит компонент в отключенный режим -
readonly::Bool
— переводит компонент в режим только для чтения
-
-
Стиль
-
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
#
StippleUI.Ratings.rating
— Function
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")
Аргументы
-
Поведение
-
name::String
— используется для указания имени элемента управления; полезно при работе с формами, отправляемыми непосредственно на URL-адресcar_id
-
-
Содержимое
-
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
-
-
Метка
-
max::Union{Int, String}
— количество отображаемых значков, например3
max="5"
-
-
Модель
-
noreset::Bool
— отключает стандартное поведение, заключающееся в сбросе модели в значение 0 при нажатии на значок, представляющий текущее значение модели
-
-
Состояние
-
readonly::Bool
— переводит компонент в режим только для чтения -
disable::Bool
— переводит компонент в отключенный режим
-
-
Стиль
-
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
#
StippleUI.ScrollAreas.scrollarea
— Method
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.")
])
Аргументы
-
Поведение
-
visible::Bool
— позволяет вручную управлять видимостью полосы прокрутки; переопределяет поведение по умолчанию при наведении и отведении указателя мыши -
delay::Union{Int, String}
— при изменении содержимого появляется полоса прокрутки; эта задержка определяет количество времени (в миллисекундах) до того, как полосы прокрутки снова исчезнут (если указатель мыши не наведен на компонент); по умолчанию1000
; примеры:500
delay!="500
-
horizontal::Bool
— изменяет ось по умолчанию на горизонтальную вместо вертикальной (по умолчанию) для getScrollPosition, getScrollPercentage, setScrollPosition и setScrollPercentage
-
-
Общие
-
tabindex::Union{Int, String}
— значение атрибута HTML tabindex:0
100
-
-
Стиль
-
dark::Bool
— указывает, что компонент должен иметь темный фон -
barstyle::Union{Vector, String, Dict}
— объект со свойствами и значениями CSS для применения пользовательского стиля к полосам прокрутки (вертикальной и горизонтальной), напримерbarstyle!="{ borderRadius: '5px', background: 'red', opacity: 1 }"
-
contentstyle::Union{Vector, String, Dict}
— объект со свойствами и значениями CSS для применения стиля к контейнеруscrollarea
-
Selects
#
Genie.Renderer.Html.select
— Method
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")
Аргументы
-
Поведение
-
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
-
-
Содержимое
-
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
-
-
Общие
-
tabindex::Union{Int, String}
— значение атрибута HTML tabindex, например0
100
-
-
Модель
-
multiple::Bool
— разрешает множественный выбор. Модель должна быть массивом. -
emitvalue::Bool
— модель обновляется значением выбранного варианта, а не всем вариантом
-
-
Параметры
-
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 для отображения текста метки, а не значения, в поле выбора. См. раздел «Влияние на модель» выше.
-
-
Положение
-
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]
-
-
Выбор
-
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
-
-
Состояние
-
disable::Bool
— переводит компонент в отключенный режим -
readonly::Bool
— переводит компонент в режим только для чтения
-
-
Стиль
-
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' }"
-
-
Виртуальная прокрутка
-
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
#
StippleUI.Separators.separator
— Method
separator(args...; kwargs...)
Компонент separator
служит для разделения частей текста, других компонентов и т. д. Он создает цветную линию по ширине родительского компонента. Линия может быть горизонтальной или вертикальной.
Skeletons
#
StippleUI.Skeletons.skeleton
— Method
skeleton(args...; kwargs...)
skeleton
— это компонент для отображения предварительного просмотра содержимого перед загрузкой фактических данных страницы. С его помощью можно показать пользователю, чего ожидать от страницы, до ее полной загрузки и повысить воспринимаемую производительность. Он позволяет постепенно выводить информацию на экране по мере получения данных.
Примеры
Представление
julia> skeleton(type="QAvatar")
])
Аргументы
-
Содержимое
-
tag::String
— отображаемый HTML-тег. Значение по умолчанию —"div"
. Примеры:"div"
"span"
-
type::String
— тип заполнителя-эскиза. Значение по умолчанию —"rect"
. Допустимые значения:"rect"
"circle"
"QBadge"
"QChip"
"QRadio"
и т. д.
-
-
Стиль
-
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"
-
Spinners
#
StippleUI.Spinners.spinner
— Function
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
#
StippleUI.Splitters.splitter
— Method
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")
])
])
])
Аргументы
-
Содержимое
-
horizontal::Bool
— панели разделяются по горизонтали, а не по вертикали -
limits::Vector
— массив из двух значений, представляющих минимальный и максимальный размер разделения двух панелей. Если задана единица px, вторым значением может быть Infinity, что позволяет сделать разделение с другой стороны неограниченным.
-
-
Модель
-
reverse::Bool
— применяет размер модели ко второй панели (по умолчанию он применяется к первой) -
unit::String
— единица CSS для модели -
emitimmediately::Bool
— данные модели выдаются в процессе перемещения разделителя пользователем -
limits::Vector
— массив из двух значений, представляющих минимальный и максимальный размер разделения двух панелей. Если задана единица px, вторым значением может быть Infinity, что позволяет сделать разделение с другой стороны неограниченным.
-
-
Состояние
-
disable::Bool
— переводит компонент в отключенный режим
-
-
Стиль
-
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.
-
Tables
#
StippleUI.Tables.Column
— Method
Column(name::String, args...)
Примеры
julia> Column("x2", align = :right)
Аргументы
-
required::Bool
— при использованииvisiblecolumns
этот столбец виден всегда -
label::String
— метка заголовка -
align::Symbol
— выравнивание ячейки -
field::String
— свойство объекта строки, определяющее значение для этого столбца, напримерname
-
sortable::Bool
— указывает, что этот столбец таблицыtable
должен быть сортируемым
#
StippleUI.Tables.DataTable
— Method
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)
#
StippleUI.Tables.DataTableOptions
— Type
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
#
StippleUI.Tables.DataTablePagination
— Type
DataTablePagination(sort_by::Symbol, descending::Bool, page::Int, row_per_page::Int)
Примеры
julia> DataTablePagination(rows_per_page=50)
#
Genie.Renderer.Html.table
— Method
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;")
#
StippleUI.Tables.cell_template
— Method
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 thekeyowrds
styleand
classtype`are replaced by`cell*style`and`cell*class
cell_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 |
---|---|
|
full cell (td) |
|
inner cell (div/input) |
|
modified full cell (td) |
|
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 |
---|---|---|
|
- |
all cells |
|
|
specific columns, all of them editable or non-editable |
|
- |
specific columns, all of them editable |
|
"" |
specific columns editable, all others non-editable |
|
|
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"])
#
StippleUI.Tables.columns
— Method
columns(t::T)::Vector{Column} where {T<:DataTable}
julia> columns = [Column("x1"), Column("x2", align = :right)]
#
StippleUI.Tables.rowselection
— Function
rowselection(dt::DataTable, idcolumn::Union{String, Symbol}, values, cols = Colon())
Формирует выбранную область в таблице на основе индекса и значения или списка значений.
rowselection(dt, "a", [1, 3]) rowselection(dt, "a", 2:9)
#
StippleUI.Tables.rowselection
— Function
rowselection(dt::DataTable, idcolumn::Union{String, Symbol}, regex::Regex, cols = Colon())
Формирует выбранную область в таблице на основе регулярного выражения.
rowselection(t, "b", r"hello|World")
#
StippleUI.Tables.rowselection
— Function
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)
#
StippleUI.Tables.rowselection
— Function
rowselection(dt::DataTable, idcolumn::Union{String, Symbol}, f::Function, cols = Colon())
Формирует выбранную область в таблице на основе функции.
rowselection(dt, "a", iseven) rowselection(dt, "a", x -> x > 3)
#
StippleUI.Tables.selectrows!
— Method
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
#
StippleUI.TabPanels.tabpanel
— Method
tabpanel(args...; kwargs...)
Панели с вкладками позволяют отображать больше информации на меньшей площади экрана.
Примеры
Модель
julia>
Представление
julia>
Аргументы
-
Общие
-
name::Union{Any}
— имя панели
-
-
Состояние
-
disable::Bool
— переводит компонент в отключенный режим
-
-
Стиль
-
dark::Bool
— указывает, что компонент должен иметь темный фон
-
#
StippleUI.TabPanels.tabpanelgroup
— Method
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")
]),
])
])
])
Аргументы
-
Поведение
-
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
#
StippleUI.Tabs.tab
— Method
tab(args...; kwargs...)
tabs
позволяет отображать больше информации на меньшей площади экрана.
Примеры
Представление
julia> tab(name="photos", icon="photos", label="Photos")
Аргументы
-
Содержимое
-
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
— отключает использование заглавных букв на вкладке (по умолчанию)
-
-
Общие
-
name::Union{Int,String}
— имя панели. Примеры:"home"
name! ="1"
-
tabindex::Union{Int,String}
— значение атрибута HTML tabindex Примеры:0
100
-
-
Состояние
-
disable::Bool
— переводит компонент в отключенный режим
-
-
Стиль
-
ripple::Union{Bool,Dict}
— настройка эффекта ряби на материале (чтобы отключить его, задайте значение false или предоставьте объект конфигурации). Примеры:false
"""{"early" => true, "center" => true, "color" => "teal", "keyCodes" => []}"""
-
contentclass::String
— определения классов, применяемых к оболочке содержимого."my-special-class"
-
#
StippleUI.Tabs.tabgroup
— Function
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")
])
Аргументы
-
Поведение
-
target::Union{Bool, String}
— контрольная точка (в пикселях) ширины контейнера вкладок, при достижении которой вкладки автоматически переключаются на выравнивание по ширине. По умолчанию:600
| Пример:breakpoint! ="500"
-
-
Содержимое
-
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
— отключает использование заглавных букв на вкладке (по умолчанию)
-
-
Стиль
-
activeclass::String
— класс, задаваемый для активной вкладки -
activecolor::String
— цвет, применяемый к тексту активной вкладки. Примеры:teal-10
primary
-
activecolorbg::String
— цвет, применяемый к фону активной вкладки. Примеры:teal-10
primary
-
indicatorcolor::String
— цвет, применяемый к индикатору (подчеркиванию) активной вкладки. Примеры:teal-10
primary
-
contentclass::String
— определения классов, применяемых к оболочке содержимого -
dense::Bool
— уплотненный режим; занимает меньше места
-
Timelines
#
StippleUI.Timelines.timeline
— Method
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.")
])
])
])
Аргументы
-
Поведение
-
side::String
— сторона, с которой размещаются записи шкалы времени в уплотненном и удобном форматах; для свободного формата переопределяется свойствомtimelineentry
. По умолчанию:"right"
| Примеры:"left"
|"right"
-
layout::String
— макет шкалы времени. При использовании плотного макета (dense) содержимое и метки располагаются на одной стороне. При использовании удобного макета (comfortable) содержимое располагается на одной стороне, а метки — на другой. При использовании свободного макета (loose) содержимое располагается с обеих сторон. По умолчанию:"dense"
| Примеры:"comfortable"
|"loose"
|"dense"
-
-
Стиль
-
color::String
— имя цвета для компонента из цветовой палитры Quasar, например"primary"
|"teal-10"
-
dark::Bool
— указывает, что компонент должен иметь темный фон
-
#
StippleUI.Timelines.timelineentry
— Method
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.")
])
Аргументы
-
Поведение
-
side::String
— сторона, на которой располагаются записи шкалы времени; работает только в том случае, если используется свободный макетtimeline
. По умолчанию:"right"
| Примеры:"left"
|"right"
-
-
Содержимое
-
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
— текст записи шкалы времени; используйте это свойство или слот по умолчанию
-
-
Стиль
-
color::String
— имя цвета для компонента из цветовой палитры Quasar
-
Toggles
#
StippleUI.Toggles.toggle
— Function
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")
Аргументы
-
Поведение
-
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
— следует ли сохранять цвет (если он указан) при отключении компонента (снятии флажка)
-
-
Содержимое
-
icon::String
— имя значка в соответствии с соглашением Quasar. Если вы не используете префикс img:, убедитесь в том, что установлена библиотека значков. Если в качестве значения используется строка none, значок не отображается (но для него по-прежнему выделяется пространство экрана), напримерmap
ion-add
img:https://cdn.quasar.dev/logo/svg/quasar-logo.svg
img:path/to/some_image.png
*
-
-
Общие
-
tabindex::Union{Int, String}
— значение атрибута HTML tabindex:0
100
-
-
Значки
-
checkedicon::String
— значок, используемый, когда переключатель включен, напримерvisibility
-
uncheckedicon::String
— значок, используемый, когда переключатель отключен, напримерvisibility-off
-
indeterminateicon::String
— значок, используемый, когда модель является неопределенной, напримерhelp
-
-
Метка
-
label::Union{String,Symbol}
— метка, отображаемая вместе с компонентом, напримерI agree to terms and conditions
-
leftlabel::Bool
— метка (если она указана) должна отображаться слева от компонента
-
-
Модель
-
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
-
-
Состояние
-
disabled::Bool
— переводит компонент в отключенный режим
-
-
Стиль
-
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
#
StippleUI.Toolbars.toolbar
— Method
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
— применяет отступ от границы к содержимому (полезно при наличии дальнейших панелей инструментов)
#
StippleUI.Toolbars.toolbartitle
— Method
toolbartitle(args...; kwargs...)
Примеры
Представление
julia> toolbartitle("Menu")
Аргументы
-
shrink::Bool
— по умолчаниюtoolbartitle
занимает все доступное пространство. Однако это поведение можно изменить с помощью данного свойства.
Tooltips
#
StippleUI.Tooltips.tooltip
— Method
tooltip(args...; kwargs...)
#
StippleUI.Tooltips.tooltip
— Method
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>
])
Аргументы
-
Поведение
-
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"
-
-
Содержимое
-
maxheight::String
— максимальная высота подсказки; размер в единицах CSS, включая название единицы, например16px
2rem
-
maxwidth::String
— максимальная ширина подсказки; размер в единицах CSS, включая название единицы, например16px
2rem
-
-
Положение
-
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]
-
-
Стиль
-
contentclass::Union{Vector, String, Dict}
— определения классов, применяемых к содержимому, напримерmy-special-class
contentclass!="{ 'my-special-class': <condition> }"
-
contentstyle::Union{Vector, String, Dict}
— определения стилей, применяемых к содержимому, напримерbackground-color: #ff0000
contentstyle!="{ color: '#ff0000' }"
-
Uploaders
#
StippleUI.Uploaders.uploader
— Method
uploader(args...; kwargs...)
Stipple дает возможность отправлять файлы через компонент uploader
.
Примеры
Представление
julia> uploader(label="Upload Image", autoupload=true, multiple=true, method="POST", url="/upload", field__name="img")
Аргументы
-
Поведение
-
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
— кнопка отправки не отображается
-
-
Содержимое
-
label::Union{String,Symbol}
— метка средства отправки, напримерUpload photo here
-
nothumbnails::Bool
— эскизы для файлов изображений не отображаются
-
-
Состояние
-
disable::Bool
— переводит компонент в отключенный режим -
readonly::Bool
— переводит компонент в режим только для чтения
-
-
Стиль
-
color:String
— цвет компонента из цветовой палитры, напримерprimary
teal-10
-
textcolor::String
— переопределяет цвет текста (при необходимости); имя цвета из цветовой палитры, напримерprimary
teal-10
-
dark::Bool
— темный режим -
square::Bool
— удаляет скругление, делая границы квадратными -
flat::Bool
— применяет «плоский» макет (по умолчанию без тени) -
bordered::Bool
— применяет к компоненту границу по умолчанию
-
-
Отправка
-
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
#
StippleUI.Videos.video
— Function
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")
Аргументы
-
Специальные возможности
-
title::String
— (специальные возможности) задает значение собственного атрибута title используемого внутреннего iFrame
-
-
Поведение
-
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"
-
-
Модель
-
src::String
— исходный URL-адрес для отображения в iFrame.
-
-
Стиль
-
ratio::Union{String,Int,Float64}
— соотношение сторон содержимого. Если значение — строка, то старайтесь не использовать вычислительный оператор (например, 16/9). Вместо этого укажите строковое значение результата напрямую (например, 1.7777).
-