Перейти к содержимому
FastOffice

Внутренние объекты окна приложения A4

Что доступно внутри окна настольного A4, зачем это нужно и почему внутренний контракт окна не является публичным интерфейсом.

Объект Назначение Примеры методов
window.fastdocShell Документ, команды редактора, состояние, сохранение, меню getState(), getCurrentDocumentTruth(), openDocxPath(), onStateChanged()
window.a4Update Обновления приложения status(), check(), start(), dismiss(), reveal(), openNotes(), onState()
window.a4Help Версия и поддержка version(), reportProblem(), supportBundle(), checkUpdates(), reportBadge(), onReportBadge()
window.a4Vizor Заметки встроенной записи окна: она живёт в памяти вкладки около минуты и уходит только вместе с отчётом о проблеме onNote()
const state = await window.fastdocShell.getState();
const truth = await window.fastdocShell.getCurrentDocumentTruth();
const version = await window.a4Help.version();
const stopState = window.fastdocShell.onStateChanged((next) => {
console.log("document state", next);
});
const stopUpdate = window.a4Update.onState((next) => {
console.log("update state", next);
});
await window.a4Update.check();
// При размонтировании компонента обязательно отписаться.
stopState();
stopUpdate();
  • Пишете своё настольное приложение или серверную обвязку — fastdoc-cli serve с обменом строками JSON.
  • Оболочка на веб-технологиях и нужен асинхронный обмен — serve --ws 0.
  • Нужно показать встраивание на машине пользователя — команда surface и окно WebView или iframe; правка в этой поверхности ограничена первым абзацем.
  • Ваш продукт живёт в браузере, а ядро должно работать на сервере — редактор в браузере.
  • Дорабатываете само приложение A4 — внутренний контракт его окна, по отдельному согласованию.

Ассистент документации

Ответ собран из документации и может быть неточным — сверяйтесь с источниками.