ボードのデータ構造
IBoardData
IBoardData は Univer Boards で使用されるスナップショット形式です。ページの順序、ページデータ、リソース、テーマ、アクティブなページ、ズーム倍率、ボード単位の設定など、1つのボードユニットを表します。
プロパティ
| プロパティ | 型 | 説明 |
|---|---|---|
| id | string | ボードユニットの一意な ID。 |
| rev? | number | 永続化レイヤーまたは共同編集レイヤーで使用される、省略可能なリビジョン値。 |
| name | string | ボード名。 |
| appVersion | string | スナップショットを作成したパッケージのバージョン。 |
| locale? | string | ボードのロケール。 |
| defaultPageSize | IBoardPageSize | ボードページのデフォルトサイズ。 |
| pageOrder | string[] | ボードページ ID の順序付きリスト。 |
| pages | Record\<string, IBoardPage\> | ページ ID をキーとするページのスナップショット。 |
| activePageId? | string | アクティブなページの ID。 |
| theme? | IBoardThemeData | 現在のボードテーマ。 |
| themes? | Record\<string, IBoardThemeData\> | 名前が付けられた追加のテーマ。 |
| zoomRatio? | number | 現在のズーム倍率。 |
| resources? | IResources | 画像、リッチテキスト、テーブルなどの要素で使用される外部リソース。 |
| custom? | `Record<string, unknown> | null` |
| boardSettings? | IBoardSettings | ボード単位の UI および操作設定。 |
ページデータ
IBoardPage は要素を ID ごとに格納し、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 を使用することを推奨します。
このガイドはいかがですか?