Componenti
FortuneSheetWorkbook
Wrapper basso livello su @fortune-sheet/vue. Usato internamente da FortuneSheetAdapter — raramente usato direttamente.
Scopo
FortuneSheetWorkbook è l'unico componente della libreria che importa direttamente @fortune-sheet/vue. Tutti gli altri componenti e composables interagiscono con il workbook tramite FortuneSheetAdapter.
Componente interno. Non è registrato globalmente dal plugin e generalmente non lo userai direttamente. Usa
SpreadsheetEditor per l'editor completo, o FortuneSheetAdapter se hai bisogno di controllo a basso livello.Quando usarlo
Casi rari:
- workbook embed senza nessuna toolbar/panel/lock/auto-save
- integrazione con un sistema di persistenza completamente custom (non PostgREST)
- testing/Storybook
- POC
Props
| Prop | Tipo | Default | Descrizione |
|---|---|---|---|
allowEdit | boolean | true | Permette modifica delle celle |
data | FortuneSheetSnapshot | null | null | Snapshot iniziale da caricare |
onChange | (event: SpreadsheetChangeEvent) => void | — | Callback su modifica cella (debounced 500ms dall'adapter) |
L'API esatta del componente dipende dalla versione di @fortune-sheet/vue installata. La libreria espone l'adapter come astrazione stabile per evitare breaking change cross-version.
Uso diretto (sconsigliato)
<script setup lang="ts">
import FortuneSheetWorkbook from '@pzeta/vue-foglidicalcolo/components/spreadsheet/FortuneSheetWorkbook.vue'
const snapshot = ref<FortuneSheetSnapshot | null>(null)
function onChange(event: SpreadsheetChangeEvent) {
console.log(`Modifica: foglio ${event.sheetIndex}, riga ${event.row}, col ${event.col}, val ${event.value}`)
}
</script>
<template>
<FortuneSheetWorkbook
:data="snapshot"
allow-edit
:on-change="onChange"
/>
</template>
Alternative consigliate
| Scenario | Usa |
|---|---|
| Editor completo con persistenza, lock, ACL | SpreadsheetEditor |
| Controllo programmatico del workbook (test, scripting) | FortuneSheetAdapter |
| Workbook in iframe / web component | Wrappa SpreadsheetEditor |
Limitazione modello
FortuneSheetSnapshot è dichiarato come Record<string, unknown> — è un blob opaco lato applicazione. La struttura interna è dettata da @fortune-sheet/core e può cambiare tra versioni. Non modificare manualmente lo snapshot: trattalo come un payload da persistere/ripristinare invariato.
Tipi correlati
FortuneSheetSnapshot—Record<string, unknown>SpreadsheetChangeEventFortuneSheetAdapter