Перейти к основному содержимому

toolbar

Описание

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

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

toolbar?: boolean | Array<string | { id: string, type: string, label?: string, tooltip?: string, css?: string, handler?: () => any }>;

Доступные кнопки панели инструментов

В панели инструментов RichText можно указать следующие кнопки:

КнопкаОписание
undoОтменяет последнее действие пользователя.
redoПовторяет ранее отменённое действие.
styleПозволяет выбирать стили текста (например, заголовки, абзац и т.д.).
font-familyИзменяет шрифт выделенного текста.
font-sizeИзменяет размер выделенного текста.
boldПрименяет полужирное форматирование к выделенному тексту.
italicПрименяет курсивное форматирование к выделенному тексту.
underlineПодчёркивает выделенный текст.
strikeПрименяет зачёркивание.
subscriptФорматирует текст как подстрочный.
superscriptФорматирует текст как надстрочный.
text-colorИзменяет цвет текста.
background-colorИзменяет цвет фона (выделения) текста.
alignУстанавливает выравнивание текста (по левому краю, по центру, по правому краю, по ширине).
indentУвеличивает отступ текстового блока.
outdentУменьшает отступ абзаца.
line-heightИзменяет межстрочный интервал (высоту строки).
quoteФорматирует текст как цитату.
bulleted-listВключает/выключает маркированный список.
numbered-listВключает/выключает нумерованный список.
linkВставляет гиперссылку.
imageВставляет изображение.
lineВставляет горизонтальную линию.
clearУдаляет всё форматирование выделенного текста.
printОткрывает диалог печати.
fullscreenПереключает полноэкранный режим.
modeПереключает режимы отображения (классический/документ).
shortcutsОтображает список доступных сочетаний клавиш.
separatorДобавляет визуальный разделитель между группами кнопок панели инструментов.

Эти строки можно использовать для настройки кнопок панели инструментов следующим образом:

new richtext.Richtext("#root", {
toolbar: [
"bold",
"italic",
"separator",
// другие кнопки
],
// другие свойства конфигурации
});

Пользовательские кнопки панели инструментов

Пользовательские кнопки задаются в виде объектов со следующими параметрами:

  • type — (обязательный) задаёт тип пользовательского элемента управления. Доступны следующие типы: "button", "richselect", "colorpicker"
  • id — (необязательный) идентификатор пользовательского элемента управления (не должен совпадать с существующим идентификатором элемента)
  • label — (необязательный) подпись кнопки (сочетается с иконкой)
  • tooltip — (необязательный) всплывающая подсказка при наведении курсора (если не указана, используется значение из "label")
  • css — (необязательный) имя CSS-класса, назначаемого элементу управления (поддерживаемые классы по умолчанию: wx-primary, wx-secondary)
  • handler — (необязательный) функция обратного вызова, выполняемая при нажатии кнопки
new richtext.Richtext("#root", {
toolbar: [
// кнопки (строки представляют только кнопки)
"bold",
"italic",
// предопределённые кнопки (пользователь не может задавать дополнительные параметры (подписи, подсказки, опции и т.д.), поэтому только ({ type: "button", id: string })
{
type: "button",
id: "fullscreen",
},
// пользователь должен указать правильный тип для использования предопределённого элемента управления (например, richselect/colorpicker)
// несовпадающие типы будут проигнорированы (не добавлены в панель инструментов)
{
type: "richselect", // type: "button" - неверно, будет проигнорировано
id: "mode",
},
// пользовательские кнопки (поддерживаемые параметры описаны ниже)
// пользователь может задавать только пользовательские кнопки (richselect/colorpicker пока не поддерживаются)
{
type: "button",
id: "some",
label: "Some",
handler: () => {/* пользовательская логика */}
},
{
type: "button",
id: "other",
icon: "wxo-help",
label: "Other",
tooltip: "Some tooltip",
handler: () => {/* пользовательская логика */}
}
],
// другие свойства конфигурации
});

Скрытие панели инструментов

Чтобы скрыть панель инструментов, установите свойство toolbar в значение false:

new richtext.Richtext("#root", {
toolbar: false
// другие свойства конфигурации
});

Конфигурация по умолчанию

const defaultToolbarButtons = {
"undo",
"redo",
"separator",
"style",
"separator",
"font-family",
"font-size",
"separator",
"bold",
"italic",
"underline",
"strike",
"separator",
"text-color",
"background-color",
"separator",
"align",
"line-height",
"outdent",
"indent",
"separator",
"bulleted-list",
"numbered-list",
"quote",
"separator",
"link",
"image",
"separator",
"clear",
"separator",
"fullscreen",
"mode"
};
Совет

Элементы управления панели инструментов по умолчанию экспортируются виджетом RichText и доступны через richtext.defaultToolbarButtons.

// инициализация RichText
new richtext.Richtext("#root", {
toolbar: [
...richtext.defaultToolbarButtons,
{
type: "button",
id: "btn1", // идентификатор кнопки (не должен совпадать с существующими идентификаторами, если нужна пользовательская логика)
icon: "wxo-help", // иконка кнопки (сочетается с подписью)
css: "rounded", // имя CSS-класса, назначаемого элементу управления (поддерживаемые классы по умолчанию: wx-primary, wx-secondary)
label: "Custom button", // подпись кнопки (сочетается с иконкой)
tooltip: "Some tooltip", // всплывающая подсказка при наведении курсора (если не указана, используется значение из "label")
}
]
// другие свойства конфигурации
});

Пример

// инициализация RichText
new richtext.Richtext("#root", {
toolbar: [
"bold",
"italic",
"separator",
// пользовательские кнопки (ниже используются все поддерживаемые параметры)
// пользователь может задавать только пользовательские кнопки (richselect/colorpicker пока не поддерживаются)
{
type: "button",
id: "btn1", // идентификатор кнопки (не должен совпадать с существующими идентификаторами, если нужна пользовательская логика)
icon: "wxo-help", // иконка кнопки (сочетается с подписью)
css: "rounded", // имя CSS-класса, назначаемого элементу управления (поддерживаемые классы по умолчанию: wx-primary, wx-secondary)
label: "Custom button", // подпись кнопки (сочетается с иконкой)
tooltip: "Some tooltip", // всплывающая подсказка при наведении курсора (если не указана, используется значение из "label")
handler: () => ..., // пользовательская логика, привязанная к этой кнопке
}
]
// другие свойства конфигурации
});

Журнал изменений: Свойство добавлено в v2.0

Связанные статьи: Конфигурация

Связанный пример: RichText. Пользовательский элемент управления и упрощённая панель инструментов