Anatomie eines Feldes

Wert

Alle Felder müssen einen Wert haben, der die „Source of Truth“ für die Daten des Felds ist. Dabei kann es sich um einen beliebigen Typ handeln (String, Zahl, Array, Datum usw.). Felder können Validatoren verwenden, um Werte einzuschränken oder in ein maschinenlesbares Format zu übersetzen (z.B. Normalisierung von Datumsformaten).

Text

Alle Felder enthalten Text, also einen einfachen, für Menschen lesbaren String, der den Wert des Felds darstellt. Das bedeutet nicht unbedingt, dass sie identisch sind. Beispielsweise kann der Text in einem booleschen Feld „On“ (An) oder „Off“ (Aus) sein, der Wert ist „true“ (wahr) oder „false“ (falsch).

Dieser Text wird zur Barrierefreiheit angezeigt, wenn der Block minimiert ist, und kann optional Teil der On-Block-Anzeige sein.

Bearbeitbare und nicht bearbeitbare Felder

Im Allgemeinen ermöglichen bearbeitbare Felder dem Nutzer, Änderungen am Code vorzunehmen, während nicht bearbeitbare Felder dem Nutzer Informationen zum Block anzeigen. Bei bearbeitbaren Feldern wird möglicherweise ein Rich-Editor angezeigt, wenn darauf geklickt wird.

Zu den bearbeitbaren Feldern gehören:

Zu den nicht bearbeitbaren Feldern gehören:

Serialisierung

Der Wert eines serialisierbaren Feldes wird im Speicherformat (JSON oder XML) codiert. Alle bearbeitbaren Felder sind serialisierbar, da ihre Werte dynamisch sind. Die Werte nicht bearbeitbarer Felder sind normalerweise nicht dynamisch und werden daher normalerweise nicht serialisiert.

Zu den serialisierten Feldern gehören:

Zu den nicht serialisierten Feldern gehören:

Beachten Sie, dass das Feld Label Serializable nicht bearbeitbar ist, aber serialisierbar ist. Sie können also nur programmatisch und nicht über eine für den Nutzer sichtbare UI bearbeitet werden. Nach der Bearbeitung wird der Wert in der generierten JSON/XML-Datei codiert.

Codegenerierung

Nutzer können den von Blockly generierten Code nicht nur durch Verbinden und Trennen von Blöcken, sondern auch durch Felder steuern. Mit dem von einem Feld bereitgestellten Editor kann der Nutzer den im Feld gespeicherten Wert ändern. Der Generator des Blocks kann dann auf den Wert des Felds zur Verwendung im generierten Code zugreifen.

Weitere Informationen zur Verwendung eines Feldwerts in einem Generator finden Sie unter Feldcodegenerierung.

Blockdisplay

Die Blockanzeige eines Felds besteht aus einer Sammlung von SVG-Elementen, die den Wert des Felds darstellen. Sie belegen Platz im Block und beim Ändern der Größe wird die Größe des Blocks erzwungen. Die integrierte Anzeige eines Felds kann je nach Bedarf einfach oder komplex sein.

Dies sind einige Beispiele für verschiedene Bildschirme im Block, die in der Reihenfolge der zunehmenden Komplexität angezeigt werden.

Feldtyp Beschreibung
Label Enthält nur ein Textelement.
Winkel Enthält ein Hintergrundrechteck, ein Textelement und ein Gradsymbol.
Schildkröte Enthält ein Hintergrundrechteck, ein Textelement und viele SVG-Elemente, die zum Erstellen der Schildkrötengrafik verwendet werden.

Editor-Anzeige

Wenn ein Nutzer auf ein bearbeitbares Feld klickt, wird in diesem Feld möglicherweise ein beliebig komplexer Editor angezeigt.

Dies sind einige Beispiele für verschiedene Editoren, in der Reihenfolge ihrer Komplexität.

Feldtyp Beschreibung
Kästchen Kein Editor beim Anklicken. Das Display des Blocks wird aktualisiert.
Zahleneingabe Texteditor über dem Block-Display. Nutzer können Text eingeben. Der Editor kann die Farbe ändern, um ungültige Werte anzuzeigen.
Winkelauswahl Die Winkelauswahl umfasst einen Texteditor zum Eingeben von Zahlen und einen ziehbaren Editor zur visuellen Auswahl von Winkeln.

Andere Anzeigemodi

Minimierter Modus: Der Nutzer minimiert den Block.Der Block zeigt eine Textdarstellung seiner Werte mit dem von den einzelnen Feldern zurückgegebenen Text an.

Eingestürzter Schildkrötenblock

Bedienungshilfe-Modus: Nutzer verwenden möglicherweise einen Screenreader oder eine ähnliche Technologie, um mit Blockly zu interagieren. Der Text des Felds kann dem Nutzer vorgelesen werden.