Wert
Alle Felder müssen einen Wert haben, der die Quelle der Wahrheit für die Daten des Felds ist. Das kann ein beliebiger Typ sein (String, Zahl, Array, Datum usw.). Für Felder können Validatoren verwendet werden, um Werte einzuschränken oder in ein maschinenlesbares Format zu übersetzen (z.B. Normalisieren von Datumsformaten).
Text
Alle Felder enthalten Text, der eine einfache, für Menschen lesbare Zeichenfolge ist, die den Wert des Felds darstellt. Das bedeutet nicht unbedingt, dass sie identisch sind. Der Text in einem booleschen Feld kann beispielsweise „Ein“ oder „Aus“ lauten, während der Wert true
oder false
ist.
Dieser Text wird angezeigt, wenn der Block minimiert ist. Er ist für die Barrierefreiheit gedacht und kann optional Teil der Anzeige im Block sein.
Bearbeitbare und nicht bearbeitbare Felder
In der Regel können Nutzer in bearbeitbaren Feldern Änderungen am Code vornehmen, während in nicht bearbeitbaren Feldern Informationen zum Block angezeigt werden. Wenn Sie auf bearbeitbare Felder klicken, wird möglicherweise ein Rich-Text-Editor angezeigt.
Zu den bearbeitbaren Feldern gehören:
Nicht bearbeitbare Felder sind:
Serialisierung
Der Wert eines serialisierbaren Felds wird im Speicherformat (JSON oder XML) codiert. Alle bearbeitbaren Felder sind serialisierbar, da ihre Werte dynamisch sind. Die Werte von Feldern, die nicht bearbeitet werden können, sind in der Regel nicht dynamisch und werden daher normalerweise nicht serialisiert.
Zu den serialisierten Feldern gehören:
Nicht serialisierte Felder sind unter anderem:
Beachten Sie, dass das Feld „Label Serializable“ nicht bearbeitet werden kann, aber serialisierbar ist. Das bedeutet, dass sie nur programmatisch und nicht über eine für Nutzer sichtbare Benutzeroberfläche bearbeitet werden kann. Nach der Bearbeitung wird der Wert in der generierten JSON-/XML-Datei codiert.
Codegenerierung
Neben dem Verbinden und Trennen von Blöcken sind Felder die einzige Möglichkeit für den Nutzer, den von Blockly generierten Code zu steuern. Mit dem Editor, der von einem Feld bereitgestellt wird, kann der Nutzer den im Feld gespeicherten Wert ändern. Der Generator des Blocks kann dann auf den Wert des Felds zugreifen, um ihn im generierten Code zu verwenden.
Weitere Informationen zur Verwendung des Werts eines Felds in einem Generator finden Sie unter Generierung von Feldcode.
Anzeige im Block
Die Blockdarstellung eines Felds ist eine Sammlung von SVG-Elementen, die den Wert des Felds darstellen. Sie nehmen Platz im Block ein und wenn sich ihre Größe ändert, ändert sich auch die Größe des Blocks. Die Blockdarstellung eines Felds kann je nach Bedarf einfach oder komplex sein.
Hier sind einige Beispiele für verschiedene On-Block-Anzeigen in der Reihenfolge zunehmender Komplexität.
Feldtyp | Beschreibung |
---|---|
Label | Enthält nur ein Textelement. |
Winkel | Enthält ein Hintergrundrechteck, ein Textelement und ein Gradzeichen. |
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, kann darin ein beliebig komplexer Editor angezeigt werden.
Hier sind einige Beispiele für verschiedene Editoren in der Reihenfolge der zunehmenden Komplexität.
Feldtyp | Beschreibung |
---|---|
Kästchen | Kein Editor, wenn geklickt wird. Die Anzeige im Block wird aktualisiert. |
Zahleneingabe | Über der Blockanzeige wird ein Texteditor eingeblendet. Nutzer können Text eingeben. Der Editor kann die Farbe ändern, um ungültige Werte anzugeben. |
Winkelauswahl | Die Winkelauswahl bietet sowohl einen Texteditor zum Eingeben von Zahlen als auch einen Editor, mit dem Sie Winkel visuell auswählen können. |
Andere Anzeigemodi
Minimierter Modus: Der Nutzer minimiert den Block.Der Block zeigt eine Textdarstellung seiner Werte an, wobei der von den einzelnen Feldern zurückgegebene Text verwendet wird.
Bedienungshilfenmodus: Nutzer verwenden möglicherweise einen Screenreader oder eine ähnliche Technologie, um mit Blockly zu interagieren. Der Text des Felds kann dem Nutzer vorgelesen werden.