Инструменты пользователя

Инструменты сайта


software:development:web:docs:web:wysiwyg:sceditor_doc_custom_commands

Пользовательские команды


Создание/обновление пользовательской команды

Для добавления/обновления команды используйте соответствующую sceditor.command.set() функцию.

:&9: Важно:При создании или обновлении команды это необходимо сделать до создания экземпляра редактора, например, до вызова метода sceditor.create().
:!: Предупреждение:Эта функция обновит любую существующую команду с тем же именем.

Функция sceditor.command.set() принимает два аргумента: name и cmd.

  • name String

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

  • Объект cmd.

Объект команды. Подробнее см. ниже.

script.js
sceditor.command.set('commandname', {
	exec: function() {
		// this is set to the editor instance
		this.insert('a');
	},
	txtExec: function() {
		// this is set to the editor instance
		this.insert('a');
	},
	tooltip: 'Insert the letter a'
});

Чтобы добавить значок к команде, используйте следующий CSS-код:

style.css
.sceditor-button-[name] div { background: url('/images/icon.png'); }

где [name] — это имя, используемое с sceditor.command.set(). Дополнительную информацию см. в разделе «Тематическое оформление». После создания команды вы можете добавить её на панель инструментов редактора с помощью опции «Панель инструментов».

Структура объекта команды:

script.js
{
  exec: undefined,
  errorMessage: undefined,
  txtExec: undefined,
  tooltip: undefined
}

exec

**exec** String or function

Выполняется при щелчке по кнопке в режиме WYSIWYG.
Это должна быть либо строка, которая будет передана в нативную execCommand() функцию браузера.
Или функция, принимающая 1 аргумент caller. Функции thisбудут установлены на экземпляр редактора.

  • caller HTMLElement

Элемент HTML-кнопки с командами или null.

script.js
exec: function () {
	this.insert('[b]Hello World[/b]');
}
script.js
// Bold will be passed to the native execCommand
exec: 'bold'

errorMessage

**errorMessage** String

Сообщение об ошибке, отображаемое в случае execсбоя при вызове нативных функций браузера execCommand(). Применяется только в том случае, если exec это строка.

shortcut

state

**state** String or function

Если state это строка, она будет передана в нативные queryCommandEnabled методы queryCommandState для получения состояния.

Если state это функция, то в качестве аргументов ей будут переданы родительский узел и родительский узел firstBlock. Она должна возвращать значение -1, 0 или 1

  • -1 Отключено (недоступно для нажатия)
  • 0 Неактивен (состояние по умолчанию, можно нажать)
  • 1 Активен (отображается как нажатый)

txtExec

**txtExec** String or array

Это должен быть либо массив, содержащий 1-2 строки, либо функция.

Если задан массив, содержащий две строки, то любое выделенное содержимое будет заключено в обе строки, а курсор будет перемещен перед последней из них. Если массив содержит только одну строку и при этом выделено какое-либо содержимое, то выделенное содержимое будет заменено, а курсор будет перемещен после вставленной строки.

Если txtExec это функция, она должна принимать 1 аргумент caller. Функции this будут установлены в редакторе.

caller HTMLElement Элемент HTML-кнопки с командами или null.

script.js
txtExec: function () {
	this.insert('[b]Hello World[/b]');
}
script.js
txtExec: ['[b]', '[/b]']

tooltip

**tooltip** String

Всплывающая подсказка, которая отображается при наведении курсора мыши на команду.

Дополнения и Файлы

Только авторизованные участники могут оставлять комментарии.
software/development/web/docs/web/wysiwyg/sceditor_doc_custom_commands.txt · Последнее изменение: VladPolskiy

Если не указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: Public Domain
Public Domain Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki