Опросить состояние TinyMCE, чтобы повторно инициализировать в том же состоянии - PullRequest
1 голос
/ 25 сентября 2019

Я использую TinyMCE 5. У меня определен список изображений, который мне нужно динамически менять, поскольку изображениями манипулируют в других местах страницы.Я делаю это, вызывая tinymce.remove (), а затем tinyme.init (), инициализируя его новым объектом конфигурации с обновленным списком изображений.

Однако, если пользователь изменил состояние, например, нажав «вставить»как текст », когда редактор повторно инициализирует эти изменения будут потеряны.

Могу ли я запросить состояние редактора, чтобы я мог повторно инициализировать его в то же состояние, в котором он находился при закрытии?

Ответы [ 3 ]

1 голос
/ 25 сентября 2019

Каждый раз, когда вы нажимаете кнопку «Вставить как текст», редактор запускает событие (PastePlainTextToggle), чтобы вы могли прослушивать это событие и отслеживать, включено или выключено оно.

Затем можно (после повторной инициализации редактора) вызвать editor.execCommand('mceTogglePlainTextPaste'), чтобы включить его, если это было последнее состояние, установленное во время предыдущего сеанса редактирования.

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

http://fiddle.tinymce.com/DRgaab

0 голосов
/ 26 сентября 2019

Теперь я нашел способ сделать это, который задокументирован: TinyMCE 5 Docs
Событие ExecCommand вызывается при нажатии (почти) любой кнопки панели инструментов, обеспечивая способ отслеживаниясостояния редактора, добавив в объект конфигурации редактора что-то вроде:

setup: function(editor) {
   editor.on('ExecCommand', function(e) {
     alert('command was '+e.command+', value was '+e.value);
   }
 )}

В случае кнопки «Вставить как текст» значением команды является «mceTogglePlainTextPaste».Затем продолжайте, как указано выше, в ответе Майкла Фромина

0 голосов
/ 25 сентября 2019

Найден один способ сделать это:

tinymce.editors.<your text area name>.plugins.paste.clipboard.pasteFormat.get()

вернет 'text' или 'html' в соответствии с текущей настройкой 'paste as text'.

Конечно, это недокументировано, поэтому не идеально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...