WedX - журнал о программировании и компьютерных науках

Наблюдайте за изменениями в 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();
27.06.2013
  • Теперь я не получаю ошибки. Но на консоль ничего не выводится. Спасибо. 27.06.2013
  • Я только что проверил. Эквивалентный код js не работает. К сожалению, я не знаю js, поэтому не могу найти источник проблемы. 27.06.2013
  • Работает следующий JS-код: var ed = new tinymce.Editor('writepad', {init_setting_item: 1,}, tinymce.EditorManager); ed.on('change', function(e) {var content = ed.getContent(); console.log(content);}); ред.рендер(); 28.06.2013
  • Александр. Теперь я получаю эту ошибку в консоли Dartium: Uncaught Proxy js-ref-7 был признан недействительным. f fire tinymce.min.js:8 a.add tinymce.min.js:6 o tinymce.min.js:6 (анонимная функция) tinymce.min.js:6 fire tinymce.min.js:8 (анонимная функция) tinymce.min.js:8 и tinymce.min.js:2 м tinymce.min.js:2 28.06.2013
  • Я добавил js.retain(ed); перед последней строкой выше, и код работает. Спасибо Александру за помощь и терпение. Лучший. 28.06.2013
  • Ой, я пропустил js.retain. Извиняюсь. 28.06.2013
  • Это начало отображаться в моем редакторе: в «Прокси» нет такого геттера «tinymce». Вы знаете, что здесь происходит не так? Спасибо. 16.10.2013
  • Обновите свой пакет js. Предупреждение должно исчезнуть. 16.10.2013
  • Предупреждение исчезло из кода Dart после обновления моего пакета js. Но запуск кода как javascript отображает то же самое предупреждение об ошибке в консоли: Предупреждение: нет члена с именем 'tinymce' в классе 'Proxy'. 17.10.2013
  • Это первая ошибка: ...packages/js/js.dart:990:11: Подсказка: класс «Прокси» переопределяет «оператор ==», но не «получить хэш-код». оператор==(другой) =› идентичный(этот, другой) 17.10.2013
  • Новые материалы

    Объяснение документов 02: BERT
    BERT представил двухступенчатую структуру обучения: предварительное обучение и тонкая настройка. Во время предварительного обучения модель обучается на неразмеченных данных с помощью..

    Как проанализировать работу вашего классификатора?
    Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

    Работа с цепями Маркова, часть 4 (Машинное обучение)
    Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

    Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
    Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

    Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
    Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

    Учебные заметки: создание моего первого пакета Node.js
    Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

    Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
    Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..


    Для любых предложений по сайту: [email protected]