Componenti
Componenti lista (FogliCreateDialog, FogliFilters, FogliListItem, FogliShareDialog)
Componenti UI riutilizzabili usati internamente da FogliListView. Form di creazione, filtri, riga lista e dialog di condivisione veloce.
Quattro componenti UI usati da FogliListView. Non sono registrati globalmente: importali esplicitamente se vuoi riusarli in UI custom.
import FogliCreateDialog from '@pzeta/vue-foglidicalcolo/components/fogli/FogliCreateDialog.vue'
import FogliFilters from '@pzeta/vue-foglidicalcolo/components/fogli/FogliFilters.vue'
import FogliListItem from '@pzeta/vue-foglidicalcolo/components/fogli/FogliListItem.vue'
import FogliShareDialog from '@pzeta/vue-foglidicalcolo/components/fogli/FogliShareDialog.vue'
FogliCreateDialog
Dialog modale di creazione nuovo foglio.
Props
| Prop | Tipo | Descrizione |
|---|---|---|
visible | boolean | v-model:visible per <Dialog> |
isCreating | boolean | Loader sul pulsante "Crea" |
templates | FoglioDiCalcolo[] | Lista template selezionabili (opzionale) |
Eventi
| Evento | Payload | Quando |
|---|---|---|
update:visible | boolean | Chiusura modale |
create | CreateFoglioRequest | Submit form con nome + descrizione + flag template/pubblico |
create-from-template | { templateId: number; nome: string } | Submit con template selezionato |
Form fields
- Nome (
text, required) - Descrizione (
textarea, optional) - Crea come template (
checkbox, default false) - Pubblico in sola lettura (
checkbox, default false) - Crea da template esistente (
select, optional, mostratemplates)
FogliFilters
Barra filtri sopra la lista: search box, pillole filtro per tipo, switch grid/list.
Props
| Prop | Tipo | Descrizione |
|---|---|---|
filters | FoglioFilters | Stato corrente dei filtri (v-model) |
viewMode | 'grid' | 'list' | Modalità visualizzazione corrente |
showTemplates | boolean | Mostra/nasconde la pillola "Templates" |
Eventi
| Evento | Payload | Quando |
|---|---|---|
update:filters | FoglioFilters | v-model emit |
update:viewMode | 'grid' | 'list' | Toggle visualizzazione |
Search debounced
Il campo searchText è debounced internamente da useFogliList (300ms). Cambiando il testo, page viene resettato a 0.
Filtri tipo
Quattro pillole mutuamente esclusive:
all— tuttimine— solo proprietarishared— solo condivisi con metemplates— solo template (visibile solo seshowTemplates)
FogliListItem
Singolo elemento della lista. Renderizza diversamente in base a viewMode.
Props
| Prop | Tipo | Descrizione |
|---|---|---|
foglio | FoglioDiCalcolo | Riga dati |
viewMode | 'grid' | 'list' | Layout (card o riga compatta) |
permessoCorrente | 'proprietario' | 'scrittura' | 'lettura' | Permesso utente sul foglio (per abilitare azioni) |
Eventi
| Evento | Payload | Quando |
|---|---|---|
open | number (idfolio) | Click sulla card/riga |
rename | { idfolio: number; nuovoNome: string } | Submit rinomina inline |
duplicate | number (idfolio) | Menu → Duplica |
delete | number (idfolio) | Menu → Elimina (parent gestisce la conferma) |
share | number (idfolio) | Menu → Condividi |
Layout grid
┌──────────────────────────┐
│ 📄 Rendiconto 2026 │
│ Vendite Q1... │
│ │
│ 🕒 03/05 · marco │
│ 🔒 Bloccato │
│ ⋮ menu │
└──────────────────────────┘
Layout list
📄 Rendiconto 2026 · Vendite Q1... 03/05 marco proprietario 🔒 ⋮
Menu azioni
L'icona ⋮ apre un menu contestuale con:
- Apri (sempre)
- Rinomina (se
permessoCorrente !== 'lettura') - Duplica (sempre)
- Condividi (se
permessoCorrente === 'proprietario') - Elimina (se
permessoCorrente === 'proprietario')
FogliShareDialog
Dialog "share veloce" per gestire le ACL di un foglio dalla lista (senza aprire l'editor).
Props
| Prop | Tipo | Descrizione |
|---|---|---|
visible | boolean | v-model:visible |
foglio | FoglioDiCalcolo | null | Foglio target |
Eventi
| Evento | Payload | Quando |
|---|---|---|
update:visible | boolean | v-model |
shared | — | Cambio ACL completato (parent può fare refresh) |
Differenze rispetto a SpreadsheetAclDialog
| Aspetto | FogliShareDialog (lista) | SpreadsheetAclDialog (editor) |
|---|---|---|
| Trigger | Menu lista (⋮ → Condividi) | Toolbar editor (🔗 ACL) |
| Scope | Gestione veloce per un foglio non aperto | Gestione completa per il foglio in editing |
| Layout | Compatto, dialog piccolo | Drawer più ampio |
| Backend | useFogliAcl | useFogliAcl |
Internamente entrambi usano lo stesso composable e gli stessi endpoint PostgREST.
Tipi correlati
FoglioDiCalcolo— entità listaCreateFoglioRequest— payloadFogliCreateDialogFoglioFilters—v-modeldiFogliFiltersuseFogliListuseFogliAcl