Модули расширения диджита Editor

Несмотря на то что диджит Editor предоставляет множество очень полезных особенностей, тем не менее рано или поздно вам потребуется интегрировать в него ваши собственные возможности. Расширяемая архитектура диджита – это ваш пропуск к созданию всего необходимого. Модули расширения – это всего лишь средство инкапсуляции дополнительных функциональных возможностей, которые, несмотря на их востребованность, могут не входить в состав основных компонентов. Модули расширения могут, например, обрабатывать некоторые специальные комбинации клавиш или предоставлять какие-либо пункты меню, реализующие команды автоматизации части рабочего процесса.

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

Подключить модули расширения можно с помощью атрибута plugins или extraPlugins, в качестве значения которых следует указать список допустимых модулей расширения, не забыв предварительно загрузить их с помощью функции dojo.require.


По умолчанию атрибут plugins содержит все элементы панели инструментов, которые можно увидеть в конфигурации по умолчанию, но если переопределить этот список и указать, например, такое значение атрибута: plugins="['bold','italic']", то на панели инструментов будут присутствовать только те элементы, что перечислены в атрибуте plugins. С помощью атрибута extraPlugins можно подключить дополнительные модули расширения помимо тех, что уже перечислены в атрибуте plugins.

В состав инструментария входят несколько предварительно настроенных пакетов, имена которых часто используются в качестве значения атрибута extraPlugins. Они находятся в каталоге dijit/_editor/plugins и включают следующие модули расширения:
AlwaysShowToolbar
В случае необходимости раздвигает панель инструментов, чтобы на ней можно было отобразить элементы управления в несколько рядов, с целью обеспечить их постоянную видимость. (Если изменить размер окна так, что оно станет меньше ширины панели инструментов, по умолчанию появится горизонтальная полоса прокрутки и будет отображаться только та часть содержимого панели инструментов, которая обычно должна быть видима.) Чтобы подключить этот модуль расширения, необходимо указать значение dijit._editor.plugins.AlwaysShowToolbar в атрибуте plugins или extraPlugins.
EnterKeyHandling
Обеспечивает средство обработки нажатия клавиши Enter, позволяющее обойти различия между броузерами.


Например, можно реализовать добавление серии тегов параграфов, окружающих новый текст, тега разрыва строки, набора тегов DIV или ничего не добавлять, запретив тем самым обработку клавиши Enter. Чтобы подключить этот модуль расширения, необходимо указать значение dijit._editor.plugins.EnterKeyHandling в атрибуте plugins или extraPlugins.
FontChoice
Реализует кнопку с диалогом выбора имени шрифта, размера шрифта и формата блока. Аргументами для атрибута plugins или extraPlugins могут быть fontName, fontSize или formatBlock.
LinkDialog
Реализует кнопку с диалогом для ввода гиперссылки и отображаемого значения. Аргументом для атрибута plugins или extraPlugins может быть createLink.
TextColor
Реализует возможность указать цвет текста или цвет фона для фрагмента текста. Аргументами для атрибута plugins или extraPlugins могут быть foreColor или hiliteColor.
ToggleDir
Реализует средство привлечения HTMLатрибута dir (независимо от направления письма в остальной части страницы), благодаря чему содержимое в диджите Editor может вводиться в направлении слева направо или справа налево. Аргументом для атрибута plugins или extraPlugins может быть toggleDir.

Оцените статью: (0 голосов)
0 5 0

Статьи из раздела Dojo на эту тему:
ColorPalette
Dialog
Editor
InlineEditBox
Menu

Вернуться в раздел: Dojo / Виджеты приложения