WoodyLabBuild with UIMS

Guida · La forma

Definire un viewMode

Centosettantacinque nomi, e ognuno risponde alla stessa domanda: chi disegna, con che aspetto, e cosa può stargli dentro.

Dove siamo

Hai variabili, temi e stili: sai come si decide un aspetto. Manca collegarlo a qualcosa che si disegna. Alla fine di questo capitolo avrai un viewMode tuo.

Il gesto

Apri db.viewmodes.json. Cinque campi contano: component dice chi disegna, className che aspetto ha, tag con quale elemento HTML esce, styles quali stili nominati porta con sé, slots cosa può stargli dentro.

Copia una voce. Cambia name e className. Ricarica. Il nome adesso è scegliibile.

// db.viewmodes.json — una voce della lista
{
  "name": "CardCompact",
  "component": "Box",
  "tag": "article",
  "className": "rounded-xl p-4 us-elevationMd",
  "slots": [
    { "name": "content", "className": "flex flex-col gap-2" }
  ]
}

Cos’è appena successo

Non hai scritto un componente: hai dichiarato una combinazione. Un componente che esiste già, vestito in un modo che adesso ha un nome — e un nome si può citare. È la ragione per cui una variante costa una voce in un file invece di un file in più.

Il component è una chiave del registro, non un percorso: il viewMode non sa dove sta quel file, sa come si chiama. Chi vuole sostituirlo lo sostituisce nel registro, e tutti i viewMode che lo citano cambiano insieme.

Il nome è un contratto

Un blocco cita il viewMode per nome, e quel nome è scritto nel dato in database. Rinominarlo non è un refactoring: è cambiare un valore a cui dei documenti puntano.

Per la stessa ragione, togliere un viewMode è un gesto da fare guardando chi lo cita — non perché «non lo usa nessuno».

Quando non funziona

Cambia il name di un viewMode già usato. I blocchi che citavano il nome vecchio non si rompono: restano senza forma.

Stessa cosa con un component che nel registro non c’è. Nessun errore in console, nessuna pagina bianca — solo un pezzo che non compare.

Avanti

Resta un campo da spiegare, slots, ed è quello che decide cosa può stare dentro cosa.

Definire un viewMode · WoodyLab