Перейти к основному содержимому
Версия: 1.20.1

dropdownMenu

Используйте тег <dropdownMenu> для создания многоуровневого выпадающего меню.

Атрибуты


Доступные атрибуты:

АтрибутТипОбязательноОписание
classStringНетУкажите название класса CSS, используемого в поле CSS виджета.
sizeStringДаВыберите размеры выпадающего меню из предложенных преднастроенных опций:
  • "" (значение не указано) = 464px
  • "middle" = 344px
  • "low" = 224px
eventsStringДаУкажите, какие действия необходимо выполнить после того, как выбран один из преднастроенных шаблонов:
  • click
  • context
  • mouseOver
isShowBooleanНетУстановите значение атрибута true для отображения меню. Значение по умолчанию: false.
doCloseFunctionНетОпределите дополнительное действие при закрытии меню. Укажите в значении атрибута пользовательский метод s_widget_custom, созданный в клиентском скрипте.
modelStringДаУкажите ссылку на динамическую переменную, хранящую элементы меню и действия.

Пример:

dropdownMenu
<dropdownMenu model="data.menu"></dropdownMenu>

Шаблон из примера отображает три точки , открывающие меню.

Структура меню


Структура меню должна быть описана в серверном скрипте. Доступные свойства объекта menu:

Свойство объектаТипОписание
event_to_displayArray of StringsУкажите событие, открывающее секцию меню. Возможные значения:
  • ['mouseover'] – пользователь наводит указатель на секцию.
  • ['click'] – пользователь нажимает на секцию.
eventsObjectУкажите событие, вызываемое при взаимодействии с элементом меню. Возможные значения:
  • "click": "runScript()" – при клике на элемент меню вызывается скрипт.
  • "mouseover" : "runScript()" – при наведении указателя на элемент меню вызывается скрипт.
sectionsArrayУкажите список секций меню.
orderNumberУкажите порядок секций. Секции с более низким значением расположены выше в меню.
elementsArrayУкажите список элементов секции.
titleStringУкажите заголовок элемента.
child_elementsArrayУкажите дочерние элементы текущего элемента.
decorationObjectЗадайте структуру decoration.
Пример серверного скрипта виджета с настройкой структуры меню
; (() => {
data.menu = {
"menu": {
"size": "low",
"event_to_display": [
"click"
],
"sections": [
{
"order": "1",
"elements": [
{
"title": "Text",
"order": "1",
"event_to_display": ["click"],
"events": {
"click": "runScript()"
},
"child_elements": [
{
"title": "Text22",
"event_to_display": ["click"],
"events": {
"click": "runScript()"
},
"child_elements": [
{
"title": "Text2",
"event_to_display": ["click"],
"events": {
"click": "runScript()"
},
"child_elements": []
}
]
}
]
},
{
"title": "Title",
"order": "2",
"event_to_display": ["click"],
"events": {
"click": "runScript()"
},
"child_elements": [
{
"title": "Text2",
"event_to_display": ["click"],
"events": {
"click": "runScript()"
},
"child_elements": []
}
]
}
]
},
{
"order": "2",
"elements": [
{
"title": "Text",
"order": "1",
"event_to_display": ["click"],
"events": {
"click": "runScript()"
},
"child_elements": []
}
]
}
]
}
}
})();

Декор


Вы можете добавлять декор для секций dropdownMenu. Доступные свойства объекта decoration:

Свойство объектаТипВозможные значения
textУкажите лейбл, который будет отображаться справа от названия элемента в выпадающем меню.Любые символы, включая эмодзи.
Максимальное количество = 3
hintУкажите подсказку, которая появляется при наведении курсора на элемент.Любые символы, максимального ограничения нет.
Значение по умолчанию = не задано
colorУкажите цвет текста лейбла text.Рекомендованные значения: '#ABB1BA', '#ffffff'
Значение по умолчанию: '#ffffff'
Вы можете использовать любые другие HEX-коды цветов. Однако рекомендуется использовать цвета, указанные выше, так как они соответствуют дизайну платформы.
backgroundColorУкажите цвет фона лейбла text.Рекомендованные значения: '#E52600', '#0086E5'
Значение по умолчанию: 'transparent'
Вы можете использовать любые другие HEX-коды цветов. Однако рекомендуется использовать цвета, указанные выше, так как они соответствуют дизайну платформы.
borderRadiusУкажите скругление фона лейбла text.Рекомендованные значения: '4px' (прямоугольник со слегка скругленными краями), '24px'/'50%' (круг/овал, в зависимости от количества символов в лейбле text)
Значение по умолчанию: '0'
Значение для скругления можно задать в пикселях или процентах.
Пример серверного скрипта виджета с настройкой декора
;(() => {
data.menu = {
"menu": {
"size": "middle",
"event_to_display": ["click"],
"events": {},
"sections": [
{
title: 'Все',
order: 1,
event_to_display: ['mouseover'],
events: {},
decoration: {
text: '🎁',
hint: '',
color: '',
backgroundColor: 'transparent',
borderRadius: '0',
},
child_elements: [],
},
]
}
}
})();