Getting Started

Installazione

Installazione di @pzeta/vue-foglidicalcolo, peer dependencies, registrazione del plugin PzetaFogliDiCalcolo e opzioni di configurazione.

Installazione

npm install @pzeta/vue-foglidicalcolo

Peer dependencies

PacchettoVersione
vue>=3.4.0
@fortune-sheet/core^1.0.4
@pzeta/vue-components^1.3.22
Engine richiesto: Node >=22.0.0, npm >=10.0.0. La libreria importa imperativamente @fortune-sheet/core solo dentro FortuneSheetAdapter, quindi non c'è bisogno di registrarlo globalmente.

Registrazione del plugin

Il plugin PzetaFogliDiCalcolo registra globalmente i componenti SpreadsheetEditor e FogliListView e fornisce le opzioni risolte via provide(PZETA_FOGLI_OPTIONS).

// main.ts
import { createApp } from 'vue'
import { PzetaFogliDiCalcolo } from '@pzeta/vue-foglidicalcolo'
import '@pzeta/vue-foglidicalcolo/dist/index.css'
import App from './App.vue'

const app = createApp(App)

app.use(PzetaFogliDiCalcolo, {
  postgrestUrl: 'https://api.example.com/rest',
  xlsxServiceUrl: 'https://xlsx.example.com',  // opzionale
  maxVersioni: 10,                              // default 10
  locale: 'it',                                 // default 'it'
})

app.mount('#app')
postgrestUrl è obbligatorio. Il plugin lancia un errore al install() se manca. L'eventuale slash finale viene rimosso automaticamente.

Opzioni PzetaFogliDiCalcoloOptions

interface PzetaFogliDiCalcoloOptions {
  postgrestUrl: string         // obbligatorio
  xlsxServiceUrl?: string      // opzionale (richiesto per import/export v1.1)
  maxVersioni?: number         // default 10
  locale?: string              // default 'it'
}
OpzioneTipoDefaultDescrizione
postgrestUrlstringObbligatorio. URL base PostgREST (es. https://api.example.com/rest). Slash finale rimosso
xlsxServiceUrlstring | undefinednullURL microservizio xlsx per import/export Excel (feature v1.1)
maxVersioninumber10Numero massimo versioni storico mantenute per foglio
localestring'it'Locale per formule Fortune Sheet

Schema PostgREST atteso

La libreria si aspetta uno schema PostgreSQL foglidicalcolo con:

OggettoTipoDescrizione
foglidicalcolotabellaAnagrafica fogli
foglidicalcoloversionitabellaStorico snapshot JSONB
foglidicalcoloacltabellaACL per utente
foglidicalcolosorgenticatalogotabellaCatalogo sorgenti ERP disponibili
v_foglidicalcolo_listavistaLista paginata con permesso_effettivo
v_foglidicalcolo_ricercavistaFull-text con tsv_search
acquisisci_lock_foglioRPCAcquisisce lock 30 minuti
rilascia_lock_foglioRPCRilascia lock se owner
rinnova_lock_foglioRPCHeartbeat lock
duplica_foglioRPCDuplica un foglio
ripristina_versione_foglioRPCRipristina snapshot da versione
elimina_foglioRPCElimina foglio + cascade

Tutte le tabelle/viste sono accessibili tramite header PostgREST Accept-Profile: foglidicalcolo (gestito automaticamente dai service).

Componenti registrati globalmente

Dopo app.use(PzetaFogliDiCalcolo, ...) sono disponibili senza import:

  • SpreadsheetEditor — editor completo per un foglio singolo
  • FogliListView — lista fogli con ricerca, filtri, paginazione

Gli altri componenti (toolbar, panel, dialog) non sono globali: sono interni a SpreadsheetEditor. Se vuoi usarli direttamente, importali esplicitamente dalla libreria.

Verifica

Una pagina minima per verificare l'installazione:

<template>
  <SpreadsheetEditor :foglio-id="1" height="600px" />
</template>

Se vedi la toolbar superiore con il nome del foglio + il workbook Fortune Sheet → l'installazione è OK. Se vedi "Impossibile aprire il foglio" con dettaglio PostgREST, verifica:

  1. postgrestUrl raggiungibile
  2. Schema foglidicalcolo esposto (Accept-Profile)
  3. Permessi DB dell'utente corrente sulla vista v_foglidicalcolo_lista

Composable usePzetaFogliOptions

Tutti i composables interni risolvono le opzioni via usePzetaFogliOptions(). Se chiamato senza aver registrato il plugin:

Error: [usePzetaFogliOptions] Plugin PzetaFogliDiCalcolo non installato.
Assicurati di chiamare app.use(PzetaFogliDiCalcolo, options) prima di usare i composables.

Vedi usePzetaFogliOptions.