# Estructura de datos del tablero

- Human documentation: [https://docs.univer.ai/es-ES/guides/boards/model/board-data](https://docs.univer.ai/es-ES/guides/boards/model/board-data)

- Agent Markdown: [https://docs.univer.ai/es-ES/guides/boards/model/board-data.md](https://docs.univer.ai/es-ES/guides/boards/model/board-data.md)

- Requested language: `es-ES`

- Content language: `es-ES`

- Documentation version: `1.2.0`

- Source: [boards/model/board-data.es-ES.mdx](https://github.com/dream-num/documentation/blob/dev/content/guides/boards/model/board-data.es-ES.mdx)

---

## IBoardData

`IBoardData` es el formato de instantánea utilizado por Univer Boards. Describe una unidad de tablero, incluido el orden de las páginas, los datos de la página, los recursos, los temas, la página activa, la relación de zoom y la configuración a nivel del tablero.

### Propiedades

| Propiedad       | Tipo                                | Descripción                                                                             |                                    |
| --------------- | ----------------------------------- | --------------------------------------------------------------------------------------- | ---------------------------------- |
| id              | `string`                            | Identificación única de la unidad del tablero.                                          |                                    |
| rev?            | `number`                            | Valor de revisión opcional utilizado por las capas de persistencia o colaboración.      |                                    |
| name            | `string`                            | Nombre del tablero.                                                                     |                                    |
| appVersion      | `string`                            | Versión del paquete que creó la instantánea.                                            |                                    |
| locale?         | `string`                            | Configuración regional del tablero.                                                     |                                    |
| defaultPageSize | `IBoardPageSize`                    | Tamaño de página predeterminado para las páginas del tablero.                           |                                    |
| pageOrder       | `string[]`                          | Lista ordenada de páginas del tablero ids.                                              |                                    |
| pages           | `Record\<string, IBoardPage\>`      | Instantáneas de página codificadas por ID de página.                                    |                                    |
| activePageId?   | `string`                            | ID de página activa.                                                                    |                                    |
| theme?          | `IBoardThemeData`                   | Tema del tablero actual.                                                                |                                    |
| themes?         | `Record\<string, IBoardThemeData\>` | Temas con nombre adicionales.                                                           |                                    |
| zoomRatio?      | `number`                            | Relación de zoom actual.                                                                |                                    |
| resources?      | `IResources`                        | Recursos externos utilizados por imágenes, texto enriquecido, tablas y otros elementos. |                                    |
| custom?         | \`Registro\<cadena, desconocido>    | null\`                                                                                  | Definido por aplicación metadatos. |
| boardSettings?  | `IBoardSettings`                    | IU a nivel de tablero y configuración de interacción.                                   |                                    |

### Datos de la página

`IBoardPage` almacena elementos por identificación y usa `elementOrder` para definir el orden de representación. Mantenga ambas estructuras sincronizadas cuando cree una instantánea usted mismo.

```ts
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',
}
```

## Uso

`IBoardData` se usa principalmente para:

1. Crear una unidad `UniverInstanceType.UNIVER_BOARD`.
2. Persistir y restaurar documentos del tablero.
3. Preparar datos para importar, exportar o procesar en el lado del servidor.
4. Sembrar un tablero con páginas, elementos y configuraciones antes renderizado.

> [!WARNING]
> Los objetos instantáneos son datos de persistencia. Después de ejecutar un tablero, prefiera las API de Facade en lugar de mutar el objeto de instantánea directamente.
