Anatomia di un campo

Valore

Tutti i campi devono avere un valore, che è la fonte attendibile dei dati del campo. Può essere di qualsiasi tipo (stringa, numero, array, data e così via). I campi possono utilizzare i validatori per limitare i valori o tradurli in un formato leggibile dalla macchina (ad es. normalizzazione dei formati di 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 di un campo booleano può essere "On" o "Off", mentre il suo valore è true o false.

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

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. Quando 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 in genere non sono dinamici, quindi non vengono serializzati.

I campi serializzati includono:

I campi non serializzati includono:

Nota come il campo Etichetta serializzabile non sia modificabile, ma sia serializzabile. Ciò significa che può essere modificato solo a livello di programmazione, anziché tramite un'interfaccia utente visibile. Una volta modificato, il suo valore viene codificato nel file 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 saperne di più sull'utilizzo del valore di un campo in un generatore, consulta la sezione Generazione di codici di campo.

Visualizzazione sul blocco

La visualizzazione in blocco di un campo è una raccolta di elementi SVG che rappresentano il valore del campo. Occupano spazio nel blocco e, man mano che cambiano dimensione, forzano il blocco a cambiare dimensione. La visualizzazione in blocco di un campo può essere semplice o complessa, a seconda delle esigenze.

Di seguito sono riportati alcuni esempi di diverse visualizzazioni nel blocco, in ordine di complessità crescente.

Tipo di campo Descrizione
Etichetta Contiene solo un elemento di testo.
Angolo Contiene un rettangolo di sfondo, un elemento di testo e un simbolo di grado.
Tartaruga Contiene un rettangolo di sfondo, un elemento di testo e molti elementi SVG utilizzati per costruire l'immagine della tartaruga.

Visualizzazione dell'editor

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

Di seguito sono riportati alcuni esempi di editor diversi, in ordine di complessità crescente.

Tipo di campo Descrizione
Casella di controllo Nessun editor quando viene fatto clic. Gli aggiornamenti della visualizzazione sul blocco.
Immissione numero Editor di testo sovrapposto alla visualizzazione in blocco. Gli utenti possono digitare; l'editor potrebbe cambiare colore per indicare valori errati.
Selettore angolo Il selettore dell'angolo include sia un editor di testo per digitare i numeri sia un editor trascinabile per selezionare gli angoli visivamente.

Altre modalità di visualizzazione

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

Compressione del blocco del campo Tartaruga

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