Componenti
SpreadsheetToolbar
Toolbar superiore dell'editor con nome foglio (rinomina inline), badge stato, indicatore lock, pulsanti salva/versioni/ACL/export.
Scopo
Toolbar contestuale di un foglio aperto in SpreadsheetEditor. Gestisce:
- Nome foglio con rinomina inline (doppio click)
- Badge stato (
Non salvatowarn /Salvatosuccess) - Indicatore lock centrale (
SpreadsheetLockIndicator) - Pulsanti azione (Salva, Storico versioni, ACL, Export xlsx)
Componente interno di
SpreadsheetEditor. Per usarlo direttamente serve passare manualmente lo stato del foglio (saving/dirty/lock/permesso).Props
| Prop | Tipo | Required | Descrizione |
|---|---|---|---|
foglioNome | string | ✓ | Nome corrente del foglio |
isSaving | boolean | ✓ | Salvataggio in corso |
isDirty | boolean | ✓ | Modifiche non salvate |
isLocked | boolean | ✓ | Lock attivo (di un altro utente) |
lockOwnerName | string | undefined | — | Nome owner del lock (per tooltip) |
permessoEffettivo | 'proprietario' | 'scrittura' | 'lettura' | ✓ | Permesso utente sul foglio |
canExport | boolean | ✓ | Abilita pulsante export xlsx (richiede xlsxServiceUrl) |
lockInfo | LockInfo | null | — | Dettagli lock (per SpreadsheetLockIndicator) |
isLockOwner | boolean | — | True se l'utente corrente possiede il lock |
Eventi
| Evento | Payload | Quando |
|---|---|---|
save | — | Click su Salva |
rename | string (nuovoNome) | Conferma rinomina inline (Enter o blur) |
openVersioni | — | Click su icona storico |
openAcl | — | Click su icona condivisione |
exportXlsx | — | Click su Export |
rilasciaLock | — | Click su "Rilascia lock" (solo se isLockOwner) |
Rinomina inline
| Trigger | Effetto |
|---|---|
Doppio click sul nome (con permessoEffettivo !== 'lettura') | Apre InputText editing |
Enter | Conferma — emit rename con valore trimmed |
Blur | Conferma — emit rename se modificato |
Escape | Annulla |
Se l'utente ha solo permesso 'lettura', il doppio click non triggera nulla.
Stato salvataggio
| Stato | Badge |
|---|---|
isSaving === true | (loader sul pulsante) |
isDirty === true | <Tag severity="warn">Non salvato</Tag> |
isDirty === false && !isSaving | <Tag severity="success">Salvato</Tag> |
Disabilitazioni
- Salva: disabilitato se
!isDirty \|\| isSaving - Export xlsx: disabilitato se
!canExport(richiedexlsxServiceUrlconfigurato nel plugin) - ACL: visibile solo se
permessoEffettivo === 'proprietario'
Pattern: solo salvataggio
Se vuoi un'esperienza minimale, sottometti props finte per disabilitare le altre:
<SpreadsheetToolbar
:foglio-nome="nome"
:is-saving="false"
:is-dirty="true"
:is-locked="false"
permesso-effettivo="scrittura"
:can-export="false"
@save="salva"
@rename="rinomina"
@open-versioni="() => {}"
@open-acl="() => {}"
@export-xlsx="() => {}"
@rilascia-lock="() => {}"
/>
Tipi correlati
LockInfo— info lock correnteSpreadsheetLockIndicator— incluso internamenteSpreadsheetEditor— consumatore principale