Структура данных доски
IBoardData
IBoardData — это формат снимка состояния, используемый в Univer Boards. Он описывает одну доску, включая порядок и данные страниц, ресурсы, темы, активную страницу, масштаб и настройки уровня доски.
Свойства
| Свойство | Тип | Описание |
|---|---|---|
| id | string | Уникальный идентификатор доски. |
| rev? | number | Необязательный номер редакции, используемый слоями хранения данных или совместной работы. |
| name | string | Название доски. |
| appVersion | string | Версия пакета, создавшего снимок состояния. |
| locale? | string | Локаль доски. |
| defaultPageSize | IBoardPageSize | Размер страницы по умолчанию для страниц доски. |
| pageOrder | string[] | Упорядоченный список идентификаторов страниц доски. |
| pages | Record\<string, IBoardPage\> | Снимки состояния страниц с идентификаторами страниц в качестве ключей. |
| activePageId? | string | Идентификатор активной страницы. |
| theme? | IBoardThemeData | Текущая тема доски. |
| themes? | Record\<string, IBoardThemeData\> | Дополнительные именованные темы. |
| zoomRatio? | number | Текущий масштаб. |
| resources? | IResources | Внешние ресурсы, используемые изображениями, форматированным текстом, таблицами и другими элементами. |
| custom? | `Record<string, unknown> | null` |
| boardSettings? | IBoardSettings | Настройки интерфейса и взаимодействия на уровне доски. |
Данные страницы
IBoardPage хранит элементы по идентификаторам и использует elementOrder для определения порядка отрисовки. Если вы создаёте снимок состояния самостоятельно, поддерживайте обе структуры согласованными.
TypeScript
const boardData = { id: 'board-1', name: 'Planning board', appVersion: '1.0.0', defaultPageSize: { width: 1920, height: 1080 }, pageOrder: ['page-1'], pages: { 'page-1': { id: 'page-1', pageType: 'page', name: 'Page 1', elementOrder: ['text-1'], elements: { 'text-1': { id: 'text-1', type: 'text', transform: { left: 120, top: 96, width: 240, height: 80 }, text: 'Kickoff', }, }, }, }, activePageId: 'page-1',}Использование
IBoardData в основном используется, чтобы:
- Создавать доску типа
UniverInstanceType.UNIVER_BOARD. - Сохранять и восстанавливать документы доски.
- Подготавливать данные для импорта, экспорта или обработки на сервере.
- Наполнять доску страницами, элементами и настройками до начала отрисовки.
Объекты снимков состояния предназначены для хранения данных. После запуска доски используйте Facade API вместо непосредственного изменения объекта снимка состояния.
Насколько полезно это руководство?