Перейти к содержимому
ФреймворкJavaScript

Saver API: сериализация редактора в JSON

Сохранение и экспорт содержимого редактора.

Как получить экземпляр редактора

Методы ниже вызываются на редакторе, созданном через new Blok(). Они доступны после того, как разрешится editor.isReady.

TypeScript
// You already hold the instance returned by the constructor.
const editor = new Blok({ holder: 'editor' });
await editor.isReady;

// Call any API method on it.
editor.caret.setToLastBlock('end');

Методы

saver.save()

Promise<OutputData>

Псевдоним основного метода save(). **Отклоняется, пока включён режим только для чтения** — выводит предупреждение и выбрасывает `Error("Blok's content can not be saved in read-only mode")` ещё до того, как дело дойдёт до Saver. Защитите вызов проверкой `editor.readOnly.isEnabled` или сначала вызовите `await editor.readOnly.set(false)`.

Когда использовать

Идентичен editor.save(); для кода, работающего через модуль saver. Оба дожидаются полного дерева блоков.

Ошибки

  • Включён режим только для чтения (editor.readOnly.isEnabled === true).

    Blok's content can not be saved in read-only mode

    Отключите режим только для чтения через readOnly.set(false) перед сохранением или ограничьте вызов проверкой readOnly.isEnabled.

  • Сбор данных завершился ошибкой (save() инструмента выбросил исключение).

    Blok's content can not be saved because collecting data failed

    Изучите ошибку из отклонённого промиса: это собственная ошибка инструмента всякий раз, когда Saver её записал.

TypeScript
if (!editor.readOnly.isEnabled) {
  const data = await editor.saver.save();
  // Returns: { version, time, blocks }
}