Наблюдайте за изменениями в TinyMCE от Dart
Согласно API TinyMCE, в следующем коде JavaScript наблюдаются изменения в редакторе TinyMCE:
tinyMCE.init({
...
setup : function(ed) {
ed.onChange.add(function(ed, l) {
console.debug('Editor contents was modified. Contents: ' + l.content);
});
}
});
Однако я не могу запустить этот код из Dart с помощью библиотеки JS. Помощь приветствуется.
ОБНОВЛЕНИЕ: есть проблема в коде JS выше. Кроме того, я нашел этот рабочий код здесь:
var ed = new tinymce.Editor('textarea_id', {
init_setting_item: 1,
}, tinymce.EditorManager);
ed.on('change', function(e) {
var content = ed.getContent();
console.log(content);
});
ed.render();
Мне все еще нужна помощь в запуске кода из Dart. И желательно сохранить его результаты в переменной Dart для последующей обработки.
1 ответ
Решение
Вот тот же код, который вызывается из Dart:
var ed = new js.Proxy(js.context.tinymce.Editor, 'textarea_id', js.map({
'init_setting_item': 1
}), js.context.tinymce.EditorManager);
js.retain(ed); // retain allows to use 'ed' in the following callback
ed.on('change', new js.Callback.many((e) {
var content = ed.getContent();
window.console.log(content);
}));
ed.render();