ToggleGroup
Базовый элемент управления для создания групп кнопок-переключателей.
Использование
{
type: "toggleGroup",
options: object[],
key?: string | string[],
full?: boolean, // по умолчанию false
gap?: number, // по умолчанию 0
hidden?: boolean, // по умолчанию false
disabled?: boolean, // по умолчанию false
css?: string,
width?: string | number | "content", // по умолчанию "content"
height?: string | number | "content", // по умолчанию "content"
padding?: string | number,
// служебные свойства и методы
$on?: { [eventName: string]: function },
$handler?: function,
$setValue?: function,
$layout?: function
}
Объект конфигурации Toggle внутри ToggleGroup:
{
id?: string,
hidden?: boolean,
disabled?: boolean,
full?: boolean,
text?: string,
icon?: string,
offText?: string,
offIcon?: string,
value?: string | number
}
Объекты с конфигурацией toggle внутри элемента управления можно использовать как со значением типа boolean, так и со значением типа string, если указано свойство value. Свойство value необходимо для назначения заданного значения в качестве значения применяемого свойства. Смотрите пример ниже, чтобы разобраться в этом.
Описание
Свойства ToggleGroup
Основные свойства
type- (обязательный) тип элемента управления. Установите значение"toggleGroup"key- (опционально) имя указанного/изменяемого свойства или путь к нему в объекте элемента Diagramoptions- (обязательный) массив опций ToggleGroup, каждая опция задаётся в виде объекта с набором парkey:value- атрибуты опций и их значенияhidden- (опционально) определяет, скрыт ли ToggleGroup. По умолчанию - falsedisabled- (опционально) определяет, включён (false) или отключён (true) элемент управления. По умолчанию - falsefull- (опционально) определяет, будет ли ToggleGroup растянут до ширины, указанной свойствомwidth. По умолчанию - falsegap- (опционально) задаёт отступ между элементами (кнопками) опции. По умолчанию - 0css- (опционально) добавляет CSS-классы стилей к элементу управленияwidth- (опционально) ширина элемента управления. По умолчанию -"content"height- (опционально) высота элемента управления. По умолчанию -"content"padding- (опционально) задаёт отступ между ячейкой и границей элемента управления ToggleGroup
Служебные свойства и методы
Предупреждение
Обратите внимание, что мы настоятельно рекомендуем не переопределять служебные свойства и методы для стандартных типов элементов управления, так как это может нарушить их работу.
$on- (опционально) - позволяет задать обработчик события. Объект содержит следующие свойства:eventName- колбек, который вызывается со следующими параметрами:object- объект со следующими свойствами:control- элемент управления ToggleGroup компонента Formeditor- объект Diagram Editorid- идентификатор элемента Diagram
arguments- (опционально) - исходные аргументы события
$handler- (опционально) - колбек, который позволяет обрабатывать действия при возникновении событияchangeэлемента управления ToggleGroup компонента Form и событияchangeDataCollection. Вызывается со следующим параметром:object- объект со следующими свойствами:id- идентификатор элемента Diagramkey- имя указанного/изменяемого свойства или путь к нему в объекте элемента Diagrameditor- объект Diagram Editorcontrol- объект элемента управления ToggleGroup компонента Form, на основе которого построен компонентvalue- новое значение элемента управления ToggleGroup компонента Form
$setValue- (опционально) - колбек, который позволяет задавать значение элемента управления ToggleGroup компонента Form при инициализации элемента управления и при изменении значения в DataCollection. Вызывается со следующим параметром:object- объект со следующими свойствами:editor- объект Diagram Editorcontrol- объект элемента управления ToggleGroup компонента Form, на основе которого построен компонентvalue- значение элемента Diagram
$layout- (опционально) - колбек, который позволяет задавать структуру элемента управления. Возвращает конфигурацию элемента управления ToggleGroup компонента Form. Вызывается со следующим параметром:object- конфигурация элемента управления без служебных свойств
Свойства Toggle
id- (опционально) идентификатор элемента управления, генерируется автоматически, если не заданhidden- (опционально) определяет, скрыта ли опция. По умолчанию - falsedisabled- (опционально) определяет, включена (false) или отключена (true) опция. По умолчанию - falsefull- (опционально) определяет, будет ли опция растянута до ширины, указанной свойствомwidth. По умолчанию - falsetext- (опционально) задаёт текст внутри опции. Если инициализирован вместе со свойствомoffText, указанный текст будет отображаться в выбранном (нажатом) состоянииicon- (опционально) задаёт CSS-класс иконки, отображаемой внутри опции. Если инициализирован вместе со свойствомoffIcon, указанные CSS-классы иконок будут отображаться в выбранном (нажатом) состоянии опцииoffText- (опционально) задаёт текст, который будет отображаться в невыбранном (ненажатом) состоянии опцииoffIcon- (опционально) задаёт CSS-класс иконки, которая будет отображаться в невыбранном (ненажатом) состоянии опцииvalue- (опционально) задаёт значение в выбранном (нажатом) состоянии. Если не определено, опция используется со значением типа boolean
Пример
const editor = new dhx.DiagramEditor("editor_container", {
type: "default",
view: {
editbar: {
properties: {
$shape: [
{
type: "toggleGroup",
key: "textAlign",
gap: 4,
$on: {
beforeChange: (spec, values) => !Object.values(values).every(i => !i),
},
options: [
{
icon: "dxi dxi-format-align-left",
value: "left"
},
{
icon: "dxi dxi-format-align-center",
value: "center"
},
{
icon: "dxi dxi-format-align-right",
value: "right"
}
]
}
]
}
}
}
});