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

PropTipoDefaultDescrizione
allowEditbooleantruePermette modifica delle celle
dataFortuneSheetSnapshot | nullnullSnapshot iniziale da caricare
onChange(event: SpreadsheetChangeEvent) => voidCallback 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

ScenarioUsa
Editor completo con persistenza, lock, ACLSpreadsheetEditor
Controllo programmatico del workbook (test, scripting)FortuneSheetAdapter
Workbook in iframe / web componentWrappa 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