Я хочу отключить все кнопки в TinyMCE4 после создания экземпляра редактора. TinyMCE4 удалил возможность доступа к кнопкам внутри controlManager. В TinyMCE3 вы можете сделать это:
_.each(editor.controlManager.controls, function (property, index, controls) {
controls[property.id].setDisabled(disabled);
});
Похоже, что единственный способ получить доступ к инкапсулированному экземпляру кнопки, сгенерированному TinyMCE4, — через метод postRender:
editor.addButton('example', {
title: 'My title',
image: '../js/tinymce/plugins/example/img/example.gif',
onPostRender: function () {
// this refers to button instance generated by TinyMCE4, where disabling/enabling functionality is available
}
});
Я работаю над пользовательской CMS с интеграцией сторонних плагинов WYSIWYG, поэтому у меня нет возможности изменить метод onPostRender для всех кнопок, которые будут использоваться в редакторе. Есть ли способ получить доступ к панели инструментов или экземпляру кнопки из объекта редактора, чтобы я мог вызвать его метод disabled
, как описано в источнике здесь:
/**
* Sets/gets the disabled state on the control.
*
* @method disabled
* @param {Boolean} state Value to set to control.
* @return {Boolean/tinymce.ui.Control} Current control on a set operation or current state on a get.
*/
// disabled: function(state) {} -- Generated
Я использую TinyMCE 4.6.4.