Installazione
Installazione
npm install @pzeta/vue-foglidicalcolo
Peer dependencies
| Pacchetto | Versione |
|---|---|
vue | >=3.4.0 |
@fortune-sheet/core | ^1.0.4 |
@pzeta/vue-components | ^1.3.22 |
>=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'
}
| Opzione | Tipo | Default | Descrizione |
|---|---|---|---|
postgrestUrl | string | — | Obbligatorio. URL base PostgREST (es. https://api.example.com/rest). Slash finale rimosso |
xlsxServiceUrl | string | undefined | null | URL microservizio xlsx per import/export Excel (feature v1.1) |
maxVersioni | number | 10 | Numero massimo versioni storico mantenute per foglio |
locale | string | 'it' | Locale per formule Fortune Sheet |
Schema PostgREST atteso
La libreria si aspetta uno schema PostgreSQL foglidicalcolo con:
| Oggetto | Tipo | Descrizione |
|---|---|---|
foglidicalcolo | tabella | Anagrafica fogli |
foglidicalcoloversioni | tabella | Storico snapshot JSONB |
foglidicalcoloacl | tabella | ACL per utente |
foglidicalcolosorgenticatalogo | tabella | Catalogo sorgenti ERP disponibili |
v_foglidicalcolo_lista | vista | Lista paginata con permesso_effettivo |
v_foglidicalcolo_ricerca | vista | Full-text con tsv_search |
acquisisci_lock_foglio | RPC | Acquisisce lock 30 minuti |
rilascia_lock_foglio | RPC | Rilascia lock se owner |
rinnova_lock_foglio | RPC | Heartbeat lock |
duplica_foglio | RPC | Duplica un foglio |
ripristina_versione_foglio | RPC | Ripristina snapshot da versione |
elimina_foglio | RPC | Elimina 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 singoloFogliListView— 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:
postgrestUrlraggiungibile- Schema
foglidicalcoloesposto (Accept-Profile) - 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.