Я работаю над плагином TinyMCE, и одна вещь, которую я хочу сделать, это зарегистрировать команды/кнопки, которые переключают пользовательское форматирование.TinyMCE добавляет стиль toggle
Например, если вы нажмете жирную кнопку в TinyMCE, она отобразит выделенную жирным шрифтом выделенную жирным шрифтом. Копаясь в исходном коде, я вижу, что это происходит через: tinymce.EditorCommands.addCommands подумал, что я не могу понять, как его дублировать. Документация TinyMCE также ужасна: (
Так что заданный пользовательский формат Я хочу, чтобы у меня была настройка кнопки моим плагином, когда при применении customFormat он отображается как таковой, как Bold, Italic и другие подобные кнопки на панели инструментов, и нажатие на мой customFormat переключает этот формат вкл/выкл. Я легко могу выполнить работу с помощью «addCommand» и «addButton», но тогда у него нет отслеживания состояния, например, Bold и других.
Показывая мою текущую нерабочую попытку (этот код находится внутри init моего метода создания плагина):
tinymce.EditorCommands.call('addCommands', {
'MyFormat' : function(name) {
ed.formatter.toggle("customFormat");
}
},'exec');
tinymce.EditorCommands.call('addCommands', {
'MyFormat' : function(name) {
return ed.formatter.match('customFormat');
}
},'state');
ed.addButton('customformat', {cmd : 'MyFormat'});
А вот ссылка на «документации» из addCommands: http://www.tinymce.com/wiki.php/API3:method.tinymce.EditorCommands.addCommands
После намного больше поисков я нашел это что кажется идеальным: http://www.tinymce.com/wiki.php/API3:method.tinymce.Editor.addQueryStateHandler
Но когда я реализую код Безразлично» т изменять состояние кнопки:
ed.addCommand('MyFormat', function(ui, v) {
ed.formatter.toggle("thoughtFormat");
});
ed.addQueryStateHandler('MyFormat', function() {
return ed.formatter.match('thoughtFormat');
});
ed.addButton('myformat', {cmd : 'MyFormat'});
посмотрите на controlmanager и флаг active/function setActive – Thariama
Я посмотрю. Цените наконечник. Хотя документация TinyMCE довольно плохая, поэтому, если у вас есть какие-либо примеры или ссылки, которые помогут, пожалуйста, дайте мне знать. – Kansha
http://www.tinymce.com/wiki.php/API3:class.tinymce.ControlManager – Thariama