Создание пользовательского виджета, который включает в себя тинимус и работает в Site Origin Page Builder

Для клиента я использую плагин Site Origins Page Builder. Он позволяет клиенту создавать богатые макеты для каждой страницы, перетаскивая виджеты. Виджеты Site Origin, для которых требуется WYSIWYG-редактор, используют плагин Black Studio TinyMCE для включения этой функции.

В прошлом я сделал несколько плагинов, которые расширяют класс виджета по умолчанию для сайта Origin, чтобы добавить TinyMCE в мой виджет. Для текущего плагина, который я создаю, мне нужны 3 поля TinyMCE. Поэтому невозможно просто расширить класс виджетов SO по умолчанию.

Используя информацию, найденную здесь, мне удалось загрузить часть загружаемого tinyMCE. Кнопки над текстовым полем (как на визуальном, так и на текстовом) отсутствуют. Когда я пытаюсь перейти от текстового представления к визуальному виду, я получаю следующую ошибку javascript:

Uncaught TypeError: Cannot read property 'canvas' of undefined 

Я уверен, что мне нужно будет потребовать еще один файл javascript, который «исправляет» поведение по умолчанию TinyMCE. Однако я застрял в том, как это сделать.

В качестве альтернативы я могу включить мою собственную версию / экземпляр TinyMCE в плагин. Однако я считаю, что это нежелательно по следующим причинам:

  • Черная студия TinyMCE уже установлена ​​так же, как и WordPress TinyMCE по умолчанию. Требование 3 wysiwyg-редакторов не похоже на лучший подход.
  • По умолчанию TinyMCE и Black Studio очень близки визуально, что отлично с точки зрения UX. Однако добавление еще одного TinyMCE приведет либо к деградации UX, либо потребует от меня стиля так же, как и другие 2 (что похоже на повторное использование колеса).

Solutions Collecting From Web of "Создание пользовательского виджета, который включает в себя тинимус и работает в Site Origin Page Builder"