Anatomie d'un champ

Valeur

Tous les champs doivent comporter une valeur, qui est la source de référence pour les données du champ. Il peut s'agir de n'importe quel type (chaîne, nombre, tableau, date, etc.). Les champs peuvent utiliser des validateurs pour limiter les valeurs ou les convertir dans un format lisible par un ordinateur (par exemple, en normalisant les formats de date).

Texte

Tous les champs contiennent du texte, qui est une chaîne simple et lisible représentant la valeur du champ. Cela ne signifie pas nécessairement qu'ils sont identiques. Par exemple, le texte d'un champ booléen peut être "On" ou "Off", tandis que sa valeur est "true" ou "false".

Ce texte s'affiche lorsque le bloc est réduit, pour des raisons d'accessibilité, et peut éventuellement faire partie de l'affichage sur le bloc.

Champs modifiables et non modifiables

En général, les champs modifiables permettent à l'utilisateur de modifier le code, tandis que les champs non modifiables affichent des informations sur le blocage. Lorsque vous cliquez sur les champs modifiables, un éditeur enrichi peut s'afficher.

Vous pouvez modifier les champs suivants:

Les champs non modifiables incluent les suivants:

sérialisation

La valeur d'un champ sérialisable est encodée au format d'enregistrement (JSON ou XML). Tous les champs modifiables sont sérialisables, car leurs valeurs sont dynamiques. Les valeurs des champs non modifiables ne sont généralement pas dynamiques et ne sont donc généralement pas sérialisées.

Les champs sérialisés incluent:

Les champs non sérialisés incluent:

Notez que le champ "Libellé sérialisable" n'est pas modifiable, mais sérialisable. Cela signifie qu'il ne peut être modifié que par programmation, plutôt que via une interface utilisateur visible par l'utilisateur. Une fois modifiée, sa valeur est encodée dans le fichier JSON/XML généré.

Génération de code

En plus de connecter et de déconnecter des blocs, les champs constituent le seul moyen pour l'utilisateur de contrôler le code généré par Blockly. L'éditeur fourni par un champ permet à l'utilisateur de modifier la valeur stockée par le champ. Le générateur du bloc peut ensuite accéder à la valeur du champ pour l'utiliser dans le code généré.

Pour en savoir plus sur l'utilisation de la valeur d'un champ dans un générateur, consultez la section Génération de code de champ.

Écran bloqué

L'affichage dans le bloc d'un champ est un ensemble d'éléments SVG qui représentent la valeur du champ. Elles prennent de l'espace sur le bloc et, lorsqu'elles changent de taille, forcent le bloc à changer de taille. L'affichage sur le bloc d'un champ peut être simple ou complexe selon ses besoins.

Voici quelques exemples d'affichages sur le bloc, par ordre de complexité croissante.

Type de champ Description
Libellé Ne contient qu'un élément textuel.
Angle Contient un rectangle d'arrière-plan, un élément textuel et un symbole degré.
Tortue Contient un rectangle d'arrière-plan, un élément de texte et de nombreux éléments SVG utilisés pour créer l'image de tortue.

Écran de l'éditeur

Lorsqu'un utilisateur clique sur un champ modifiable, celui-ci peut afficher un éditeur arbitrairement complexe.

Voici quelques exemples de différents éditeurs, par ordre de complexité croissante.

Type de champ Description
Case à cocher Aucun éditeur lorsque l'utilisateur clique dessus. L'écran est mis à jour.
Saisie de numéro Éditeur de texte superposé à l'écran dans le bloc. Les utilisateurs peuvent saisir du texte. L'éditeur peut changer de couleur pour indiquer des valeurs incorrectes.
Sélecteur d'angle Le sélecteur d'angle dispose à la fois d'un éditeur de texte pour saisir des chiffres et d'un éditeur déplaçable pour sélectionner visuellement les angles.

Autres modes d'affichage

Mode réduit: l'utilisateur réduit le bloc.Le bloc affiche une représentation textuelle de ses valeurs, à l'aide du texte renvoyé par les champs individuels.

Champ de tortues qui s'effondre

Mode d'accessibilité: les utilisateurs peuvent utiliser un lecteur d'écran ou une technologie similaire pour interagir avec Blockly. Le texte du champ peut être lu à voix haute à l'utilisateur.