Map
In una proprietà map definisci le proprietà figlio nello stesso modo in cui le definisci a livello di schema entità:
import { buildProperty } from "@firecms/core";
const ctaProperty = buildProperty({ dataType: "map", properties: { name: { name: "Nome", description: "Testo che verrà mostrato sul pulsante", validation: { required: true }, dataType: "string" }, type: { name: "Tipo", description: "Tipo di azione che determina il flusso utente", validation: { required: true, uniqueInArray: true }, dataType: "string", enumValues: { complete: "Completa", continue: "Continua" } } }});properties
Sezione intitolata “properties”Record delle proprietà incluse in questa map.
previewProperties
Sezione intitolata “previewProperties”Lista delle proprietà rese come anteprima di questa map. Default: prime 3.
spreadChildren
Sezione intitolata “spreadChildren”Mostra le proprietà figlio come colonne indipendenti nella vista collezione. Default false.
pickOnlySomeKeys
Sezione intitolata “pickOnlySomeKeys”Permette all’utente di aggiungere solo alcune chiavi in questa map. Per default, tutte le proprietà della map hanno il campo corrispondente nella vista form. Impostare questo flag su true permette di selezionarne solo alcune. Utile per map che possono avere molte sotto-proprietà non sempre necessarie.
expanded
Sezione intitolata “expanded”Determina se il campo deve essere inizialmente espanso. Default true.
keyValue
Sezione intitolata “keyValue”Renderizza questa map come una tabella chiave-valore che permette di usare chiavi arbitrarie. Non è necessario definire le proprietà in questo caso.
minimalistView
Sezione intitolata “minimalistView”Quando impostato su true, mostra le proprietà figlio direttamente senza essere avvolte in un pannello espandibile.
validation
Sezione intitolata “validation”requiredQuesto campo deve essere obbligatorio.requiredMessageMessaggio da visualizzare come errore di validazione.
Il widget creato è
MapFieldBindingCampo che renderizza i campi delle proprietà figlio
Link: