Anatomia di un campo

Valore

Tutti i campi devono avere un valore, che rappresenta l'origine attendibile per i dati del campo. Può essere di qualsiasi tipo (stringa, numero, array, data e così via). I campi potrebbero utilizzare strumenti di convalida per limitare i valori o tradurli in un formato leggibile dalle macchine (ad esempio normalizzazione dei formati della data).

Testo

Tutti i campi contengono testo, ovvero una semplice stringa leggibile che rappresenta il valore del campo. Ciò non significa necessariamente che siano uguali. Ad esempio, il testo in un campo booleano può essere "On" o "Off", mentre il suo valore è "true" o "false".

Questo testo è ciò che viene visualizzato quando il blocco è compresso, per l'accessibilità, e può facoltativamente far parte della visualizzazione on-block.

Campi modificabili e non modificabili

In generale, i campi modificabili consentono all'utente di apportare modifiche al codice, mentre i campi non modificabili mostrano all'utente informazioni sul blocco. Se fai clic sui campi modificabili, potrebbe essere visualizzato un editor avanzato.

I campi modificabili includono:

I campi non modificabili includono:

Serializzazione

Il valore di un campo serializzabile viene codificato nel formato di salvataggio (JSON o XML). Tutti i campi modificabili sono serializzabili perché i loro valori sono dinamici. I valori dei campi non modificabili di solito non sono dinamici, quindi di solito non sono serializzati.

I campi serializzati includono:

I campi non serializzati includono:

Nota che il campo Label Serializable non è modificabile, ma è serializzabile. Ciò significa che può essere modificato solo in modo programmatico, anziché tramite un'interfaccia utente visibile all'utente. Una volta modificato, il suo valore viene codificato nel formato JSON/XML generato.

Generazione del codice

Oltre a collegare e scollegare i blocchi, i campi sono l'unico modo in cui l'utente può controllare il codice generato da Blockly. L'editor fornito da un campo consente all'utente di modificare il valore memorizzato dal campo. Il generatore del blocco può quindi accedere al valore del campo per utilizzarlo nel codice generato.

Per ulteriori informazioni sull'utilizzo del valore di un campo in un generatore, consulta Generazione del codice di un campo.

Display On-block

La visualizzazione sul blocco di un campo è una raccolta di elementi SVG che rappresentano il valore di un campo. Occupano spazio sul blocco e quando cambiano dimensione lo obbligano a cambiare dimensione. La visualizzazione su blocco di un campo può essere semplice o complessa, a seconda delle esigenze.

Questi sono alcuni esempi di diverse visualizzazioni su blocco, in ordine crescente di complessità.

Tipo di campo Descrizione
Etichetta Contiene solo un elemento di testo.
Angolo Contiene un rettangolo di sfondo, un elemento di testo e un simbolo dei gradi.
Tartaruga Contiene un rettangolo di sfondo, un elemento di testo e molti elementi SVG utilizzati per creare la grafica della tartaruga.

Visualizzazione editor

Quando un utente fa clic su un campo modificabile, il campo potrebbe visualizzare un editor arbitrariamente complesso.

Questi sono alcuni esempi di editor diversi, in ordine di complessità.

Tipo di campo Descrizione
Casella di controllo Nessun editor quando selezionato. Il display sul blocco si aggiorna.
Immissione numero Editor di testo sovrapposto al display nel blocco. Gli utenti possono digitare; l'editor potrebbe cambiare il colore per indicare valori non validi.
Selettore angolo Il selettore di angoli dispone di un editor di testo per la digitazione dei numeri e di un editor trascinabile per la selezione visiva degli angoli.

Altre modalità di visualizzazione

Modalità compressa: l'utente comprime il blocco.Il blocco visualizza una rappresentazione testuale dei suoi valori, utilizzando il testo restituito dai singoli campi.

Blocco di un campo di tartarughe che collassa

Modalità di accessibilità: gli utenti potrebbero utilizzare uno screen reader o una tecnologia simile per interagire con Blockly. Il testo del campo può essere letto all'utente.