Сохранение и загрузка

Согласованные HTML/JSON и CSS, события и ответственность приложения.

1.0.0-beta.6 · Локальная поставка · desktop

Выберите формат

HTML удобен для публикации. JSON сохраняет поддерживаемую структуру редактора. CSS храните рядом отдельным полем. getJSON возвращает независимый снимок: изменение объекта не меняет документ.

const unsubscribe = editor.on('change', event => {
  const snapshot = { json: event.json, css: event.css, revision: event.revision };
  // Передайте snapshot в слой сохранения вашего приложения.
  console.log(snapshot);
});
const snapshot = { json: editor.getJSON(), css: editor.getCSS() };
await editor.setContent(snapshot.json, { css: snapshot.css });
unsubscribe();

В callback не вызывайте setContent с тем же документом без необходимости: это может породить цикл обновлений. Ошибку записи, очередь запросов, debounce, повтор и состояние «сохранено» организует приложение.

Ревизия и конфликты

revision — текущая ревизия локального документа, а не серверная версия или уникальный глобальный id. Замена фрагмента и поздний ответ загрузки проверяют её. Для серверных конфликтов используйте отдельную версию записи приложения.

Для хранения JSON предусмотреть свою версию формата и проверку восстановления после обновления библиотеки. Импорт ошибочного/небезопасного содержимого не должен заменять рабочую копию без подтверждения.

Исходник

Change приходит после корректного применения. Во время ошибки getHTML/getJSON/getCSS возвращают последнюю применённую версию, не текст ошибочного черновика. События, пример сохранения.

Найти в документации

Ничего не найдено. Попробуйте другие слова.

Все разделы документации