Повторная инициализация нескольких TinyMCE редакторов

·1 мин. чтения·

Как-то была необходимость перезагрузить одновременно несколько редакторов TinyMCE на одной странице, но встроенные в разные компоненты.

На примере проекта написанного на AngularJS мы можем использовать глобальный обьект tinymce который содержит вложенную переменную EditorManager.editors. Чтобы получить доступ к каждому редактору достаточно пройтись по по каждому элементу массива этой переменной. Для перезагрузки редактора можно вызвать функцию execCommand с параметрами mceRemoveEditor и mceAddEditor добавляя небольшую задержку между вызовами (таймаут).

Пример кода:

tinymce.EditorManager.editors.forEach(function (editor) {
  tinymce.EditorManager.execCommand('mceRemoveEditor', false, editor.id);
  $timeout(() => {
    tinymce.EditorManager.execCommand('mceAddEditor', false, editor.id);
    tinymce.settings = $scope.tinymceOptions;
  });
});

Похожие публикации

Giran Castle Town из бумаги
Нашел на просторах интернета. Автор неизвестен... Читать далее
·1 мин. чтения
Исполнилось 20 лет игре Герои Меча и Магии 3
Ровно двадцать лет назад, 3 марта 1999 года, в продаже появилась третья часть... Читать далее
·2 мин. чтения
Как найти ссылку на GIT репозиторий из папки
Существует несколько способов получить ссылку на GIT репозиторий из папки в... Читать далее
·1 мин. чтения

© geekrainian.com