Список событий
| Имя | Payload | Когда |
|---|---|---|
| change | { html, json, css, revision } | Изменение канонического документа/стилей, включая undo |
| selectionChange | { from, to, text, revision } | Смена выделения |
| warning | ImportReport & { source: paste / drop / import } | Предупреждение проверяемого импорта |
| error | Error | Сообщение об ошибке обработки |
onChange в конструкторе — callback change. Обработчик on возвращает unsubscribe; off требует то же имя и функцию. Порядок независимых событий не используйте как протокол серверных транзакций.
const off = editor.on('change', ({ html, css, json, revision }) => {
console.log({ html, css, json, revision });
});
editor.on('warning', report => console.log(report.warnings));
off();
Исходник и применение
При вводе в HTML/Markdown change приходит после успешной проверки. При ошибке новый черновик не становится каноническим документом. Событие не сохраняет данные на сервере; сеть/очередь/ошибки записи — ответственность приложения.
Ревизия
Сохраните revision при получении диапазона, чтобы поздняя замена не обошла изменения пользователя. Движение курсора и изменение документа — разные действия. Перед destroy освобождайте собственные внешние ресурсы, хост снимает свои подписки автоматически.