Structure des données d’un Board
IBoardData
IBoardData est le format d’instantané utilisé par Univer Boards. Il décrit une unité Board, notamment l’ordre et les données des pages, les ressources, les thèmes, la page active, le niveau de zoom et les paramètres du Board.
Propriétés
| Propriété | Type | Description |
|---|---|---|
| id | string | Identifiant unique de l’unité Board. |
| rev? | number | Numéro de révision facultatif utilisé par les couches de persistance ou de collaboration. |
| name | string | Nom du Board. |
| appVersion | string | Version du package ayant créé l’instantané. |
| locale? | string | Paramètres régionaux du Board. |
| defaultPageSize | IBoardPageSize | Dimensions par défaut des pages du Board. |
| pageOrder | string[] | Liste ordonnée des identifiants de page du Board. |
| pages | Record\<string, IBoardPage\> | Instantanés des pages indexés par identifiant de page. |
| activePageId? | string | Identifiant de la page active. |
| theme? | IBoardThemeData | Thème actuel du Board. |
| themes? | Record\<string, IBoardThemeData\> | Autres thèmes nommés. |
| zoomRatio? | number | Niveau de zoom actuel. |
| resources? | IResources | Ressources externes utilisées par les images, le texte enrichi, les tableaux et les autres éléments. |
| custom? | `Record<string, unknown> | null` |
| boardSettings? | IBoardSettings | Paramètres d’interface et d’interaction du Board. |
Données des pages
IBoardPage stocke les éléments par identifiant et utilise elementOrder pour définir leur ordre d’affichage. Si vous construisez vous-même un instantané, veillez à maintenir ces deux structures synchronisées.
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',}Utilisation
IBoardData sert principalement à :
- Créer une unité
UniverInstanceType.UNIVER_BOARD. - Enregistrer et restaurer des documents Board.
- Préparer les données pour l’importation, l’exportation ou le traitement côté serveur.
- Préremplir un Board avec des pages, des éléments et des paramètres avant son affichage.
Les objets d’instantané sont des données de persistance. Une fois le Board en cours d’exécution, privilégiez les API Facade plutôt que de modifier directement l’objet d’instantané.
Que pensez-vous de ce guide ?