Как перенести пользовательские кнопки и диалоги в TinyMCE 5
У меня есть сторонний плагин Bootstrap (возможно, EOL), который добавил кнопки на панель инструментов, которая, в свою очередь, открыла диалоговое окно, в котором я мог выбрать элементы Bootstrap для добавления к контенту.
Он использовал следующий код:
var insertBtn = tinymce.ui.Factory.create({
type: elType,
classes: elClass,
text: bsText['button'],
icon: 'icon-btn',
name: 'insertBtnBtn',
tooltip: bsTip['button'],
onclick: function() {
showDialog('bootstrap-btn.php', 'Add button', 580, 'bsBtn');
}
});
bsItems.push(insertBtn);
Но он говорит, что Factory не определена или что create - это несуществующая функция. Что я могу использовать, чтобы сделать эту работу, чтобы показать кнопки, а также показ диалога при нажатии? Я уже обновил следующий код для просмотра bsItems:
editor.ui.registry.addButton('bootstrap', {
type: 'buttongroup',
classes: 'bs-btn',
items: bsItems
});
И я попробовал несколько других возможностей, чтобы найти функцию создания:
editor.ui.registry.create()
editor.ui.Factory.create()
editor.ui.create()
tinymce.ui.registry.create()
tinymce.ui.Factory.create()
tinymce.ui.create()
Все безрезультатно
1 ответ
В версии 5 TinyMCE использует новую платформу пользовательского интерфейса. Сторонние плагины, написанные для версии 4.x, которые предоставляют пользовательские элементы управления пользовательского интерфейса, вероятно, не будут работать с версией 5.
Как отмечено в этой теме GitHub, tinymce.ui.Factory
было объявлено устаревшим и не будет повторно реализовано, поэтому больше невозможно создавать фабрики управления.
Методы добавления элементов пользовательского интерфейса, таких как кнопки, также изменились с v4 на v5. В официальном руководстве по миграции подробно изложены новые местоположения и сигнатуры конфигурации этих методов.
tl; dr Этот конкретный плагин может не работать с новой структурой пользовательского интерфейса v5, но есть еще способы настройки пользовательского интерфейса с использованием новой системы.