Le tre regole di coordinamento degli switch
Modulo di esempio: hellotypes, proprietà switchoneofmany/switchatmostone/switchany.
Diversi elementi ElementBool di una stessa proprietà possono essere coordinati tra loro come pulsanti radio o caselle indipendenti, tramite "rule" nel JSON della proprietà:
rule | Comportamento |
|---|---|
0 — OneOfMany | Esattamente uno vero alla volta (radio). Portare un elemento a true riporta tutti gli altri a false. Riportarlo direttamente a false è rifiutato — bisogna scegliere un altro elemento. |
1 — AtMostOne | Zero o uno vero (radio opzionale). Stesso comportamento, tranne che si può anche deselezionare direttamente. |
2 — Any (default) | Nessun vincolo, caselle indipendenti. |
"switchoneofmany": {
"permission": 2,
"rule": 0,
"e": {
"calibrate": { "type": "bool", "directedit": true },
"guide": { "type": "bool", "directedit": true },
"stop": { "type": "bool", "directedit": true }
}
}Interamente dichiarativo: l’applicazione effettiva della regola vive nel framework stesso, innescata da qualsiasi scrittura su uno degli elementi — nessun codice da scrivere nel modulo per farlo funzionare, solo per fissare uno stato iniziale coerente se necessario.