blockly

blockly-Paket

Klassen

Klasse Beschreibung
Blockieren Klasse für einen Block. Wird normalerweise nicht direkt aufgerufen. Verwenden Sie stattdessen workspace.newBlock().
BlockFlyoutInflater Klasse, die für das Erstellen von Blöcken für Flyouts verantwortlich ist.
BlockNavigationPolicy Eine Reihe von Regeln, die die Tastaturnavigation über einen Block steuern.
BlockSvg Klasse für die SVG-Darstellung eines Blocks. Wird normalerweise nicht direkt aufgerufen. Verwenden Sie stattdessen workspace.newBlock().
ButtonFlyoutInflater Klasse, die für das Erstellen von Schaltflächen für Flyouts verantwortlich ist.
CodeGenerator Klasse für einen Codegenerator, der die Blöcke in eine Sprache übersetzt.
CollapsibleToolboxCategory Klasse für eine Kategorie in einer Toolbox, die minimiert werden kann.
ComponentManager Manager für alle im Arbeitsbereich registrierten Artikel.
Verbindung Klasse für eine Verbindung zwischen Blöcken.
ConnectionChecker Klasse für die Logik zur Prüfung des Verbindungstyps.
ConnectionDB Datenbank mit Verbindungen. Verbindungen werden nach ihrer vertikalen Komponente gespeichert. So können Verbindungen in einem Bereich schnell mithilfe einer binären Suche nachgeschlagen werden.
ConnectionNavigationPolicy Eine Reihe von Regeln, die die Tastaturnavigation über eine Verbindung steuern.
ContextMenuRegistry Klasse für die Registrierung von Kontextmenüelementen. Dies ist als Singleton vorgesehen. Sie sollten keine neue Instanz erstellen und nur über ContextMenuRegistry.registry auf diese Klasse zugreifen.
DeleteArea Abstrakte Klasse für eine Komponente, die einen Block oder eine Blase löschen kann, die darauf abgelegt wird.
DragTarget Abstrakte Klasse für eine Komponente mit benutzerdefiniertem Verhalten, wenn ein Block oder eine Blase darauf gezogen oder darauf abgelegt wird.
FieldCheckbox Klasse für ein Kontrollkästchenfeld.
FieldDropdown Klasse für ein bearbeitbares Drop-down-Feld.
FieldImage Klasse für ein Bild in einem Block.
FieldLabel Klasse für ein nicht bearbeitbares, nicht serialisierbares Textfeld.
FieldLabelSerializable Klasse für ein nicht bearbeitbares, serialisierbares Textfeld.
FieldNavigationPolicy Eine Reihe von Regeln, die die Tastaturnavigation über ein Feld steuern.
FieldNumber Klasse für ein bearbeitbares Zahlenfeld.
FieldTextInput Klasse für ein bearbeitbares Textfeld.
FieldVariable Klasse für das Drop-down-Feld einer Variablen.
FlyoutButton Klasse für eine Schaltfläche oder ein Label im Flyout.
FlyoutButtonNavigationPolicy Eine Reihe von Regeln, die die Tastaturbedienung über eine Flyout-Schaltfläche steuern.
FlyoutItem Darstellung eines Elements, das in einem Flyout angezeigt wird.
FlyoutMetricsManager Berechnet Messwerte für den Arbeitsbereich eines Flyouts. Die Messwerte werden hauptsächlich verwendet, um die Größe von Scrollbars für das Flyout festzulegen.
FlyoutNavigationPolicy Allgemeine Navigationsrichtlinie, mit der zwischen Elementen im Flyout navigiert wird.
FlyoutNavigator
FlyoutSeparator Darstellung einer Lücke zwischen Elementen in einem Flyout.
FlyoutSeparatorNavigationPolicy Regelsatz zur Steuerung der Tastaturnavigation über eine Flyout-Trennlinie. Dies ist ein Platzhalter ohne Operation, da Flyout-Trennzeichen nicht aufgerufen werden können.
FocusableTreeTraverser Ein Hilfsprogramm für IFocusableTree-Implementierungen, das bei häufigen Baumdurchläufen hilft.
FocusManager

Ein Singleton pro Seite, das den Blockly-Fokus über einen oder mehrere IFocusableTrees hinweg verwaltet und diesen Fokus bidirektional mit dem DOM synchronisiert.

Anrufer, die den Eingabefokus für ausgewählte Blockly-Komponenten auf der Seite explizit ändern möchten, sollten die Fokusfunktionen in diesem Manager verwenden.

Der Manager ist dafür verantwortlich, Fokusereignisse aus dem DOM zu verarbeiten (die durch Nutzerklicks auf Seitenelemente ausgelöst werden können) und dafür zu sorgen, dass entsprechende IFocusableNodes klar als aktiv/passiv hervorgehoben werden, so wie es bei Aufrufen von focusNode() der Fall wäre.

Geste Klasse für eine Geste.
Raster Klasse für das Raster eines Arbeitsbereichs.
HorizontalFlyout Klasse für ein Flyout.
Eingabe Klasse für eine Eingabe mit optionalen Feldern.
InsertionMarkerPreviewer
KeyboardNavigationController Der KeyboardNavigationController koordiniert das Tastaturnavigationsverhalten in Blockly, z. B. das Aktivieren/Deaktivieren der vollständigen Cursorvisualisierung.
LabelFlyoutInflater Klasse, die für das Erstellen von Labels für Flyouts verantwortlich ist.
LineCursor Klasse für einen Linien-Cursor.
Markierung Klasse für eine Markierung. Dies wird bei der Tastaturnavigation verwendet, um einen Ort im Blockly-AST zu speichern.
MarkerManager Klasse zum Verwalten der mehreren Markierungen und des Cursors in einem Arbeitsbereich.
Menü Eine einfache Menüklasse.
MenuItem Klasse, die ein Element in einem Menü darstellt.
MetricsManager Der Manager für alle Berechnungen von Arbeitsbereichs-Messwerten.
Namen Klasse für eine Datenbank mit Entitätsnamen (Variablen, Prozeduren usw.).
Navigator Klasse, die dafür verantwortlich ist, wohin der Fokus als Reaktion auf Tastaturnavigationsbefehle verschoben werden soll.
Optionen Die vom Nutzer angegebenen Optionen werden geparst. Dabei werden sinnvolle Standardwerte verwendet, wenn das Verhalten nicht angegeben ist.
RenderedConnection Klasse für eine Verbindung zwischen Blöcken, die auf dem Bildschirm gerendert werden kann.
Scrollleiste Klasse für eine reine SVG-Scrollleiste. Diese Technik bietet eine Scrollleiste, die garantiert funktioniert, aber möglicherweise nicht wie die Scrollleisten des Systems aussieht oder sich so verhält.
ScrollbarPair Klasse für ein Paar von Scrollbars. Horizontal und vertikal.
SeparatorFlyoutInflater Klasse, die für das Erstellen von Trennzeichen für Flyouts verantwortlich ist.
ShortcutRegistry Klasse für die Registrierung von Tastenkombinationen. Dies ist als Singleton vorgesehen. Sie sollten keine neue Instanz erstellen und nur über ShortcutRegistry.registry auf diese Klasse zugreifen.
Design Klasse für ein Thema.
ThemeManager Klasse zum Speichern und Aktualisieren des Designs und der UI-Komponenten eines Arbeitsbereichs.
Toast Klasse, mit der temporäre Benachrichtigungen angezeigt und geschlossen werden können.
Abbildung: Toolbox Klasse für eine Toolbox. Erstellt das DOM der Toolbox.
ToolboxCategory Klasse für eine Kategorie in einer Toolbox.
ToolboxItem Klasse für ein Element in der Toolbox.
ToolboxSeparator Klasse für ein Trennzeichen in der Symbolleiste. Das ist die dünne visuelle Linie, die in der Toolbox angezeigt wird. Mit diesem Element kann nicht interagiert werden.
Papierkorb Klasse für einen Papierkorb.
UnattachedFieldError Stellt einen Fehler dar, bei dem das Feld versucht, auf seinen Block oder Informationen zu seinem Block zuzugreifen, bevor es tatsächlich an diesen Block angehängt wurde.
VariableMap Klasse für eine Variablenzuordnung. Dies enthält eine Wörterbuchdatenstruktur mit Variablentypen als Schlüsseln und Listen von Variablen als Werten. Die Liste der Variablen hat den Typ, der durch den Schlüssel angegeben wird.
VariableModel Klasse für ein Variablenmodell. Enthält Informationen zur Variablen, einschließlich Name, ID und Typ.
VerticalFlyout Klasse für ein Flyout.
Workspace Klasse für einen Arbeitsbereich. Dies ist eine Datenstruktur, die Blöcke enthält. Es gibt keine Benutzeroberfläche und sie kann ohne Benutzeroberfläche erstellt werden.
WorkspaceAudio Klasse zum Laden, Speichern und Abspielen von Audio für einen Arbeitsbereich.
WorkspaceDragger Klasse für einen Arbeitsbereich-Dragger. Damit wird der Arbeitsbereich verschoben, wenn er mit der Maus oder per Touch-Geste gezogen wird.
WorkspaceNavigationPolicy Eine Reihe von Regeln, die die Tastaturnavigation in einem Arbeitsbereich steuern.
WorkspaceSvg Klasse für einen Arbeitsbereich. Dies ist ein Bildschirmbereich mit optionalem Papierkorb, optionalen Scrollleisten, optionalen Blasen und optionaler Drag-and-drop-Funktion.
ZoomControls Klasse für Zoomsteuerelemente.

Abstrakte Klassen

Abstrakte Klasse Beschreibung
Feld Abstrakte Klasse für ein bearbeitbares Feld.
Flyout Klasse für ein Flyout.

Aufzählungen

Aufzählung Beschreibung
ConnectionType Enumeration für den Typ einer Verbindung oder Eingabe.

Funktionen

Funktion Beschreibung
getFocusManager() Praktische Funktion für FocusManager.getFocusManager.
hasBubble(obj) Typschutz, der prüft, ob das angegebene Objekt ein IHasBubble ist.
hideChaff(opt_onlyClosePopups) Schließen Sie Tooltips, Kontextmenüs, Drop-down-Auswahlen usw.
inject(container, opt_options) Fügt einen Blockly-Editor in das angegebene Containerelement (in der Regel ein Div) ein.
isCopyable(obj)
isDeletable(obj) Gibt zurück, ob das angegebene Objekt ein IDeletable ist.
isDraggable(obj) Gibt zurück, ob das angegebene Objekt ein IDraggable ist.
isIcon(obj) Typschutz, der prüft, ob das angegebene Objekt ein IIcon ist.
isPaster(obj)
isRenderedElement(obj)
isSelectable(obj) Prüft, ob das angegebene Objekt ein ISelectable ist.
isSerializable(obj) Typschutz, der prüft, ob das angegebene Objekt ein ISerializable ist.
isVariableBackedParameterModel(param) Gibt zurück, ob das angegebene Objekt ein Variablenhalter ist.
navigateBlock(current, delta) Gibt das nächste navigierbare Element relativ zum bereitgestellten untergeordneten Block zurück.
navigateStacks(current, delta) Gibt den nächsten/vorherigen Stapel relativ zum Stapel des angegebenen Elements zurück.
setLocale(locale)

Legt die Sprache (d. h. die lokalisierten Nachrichten, den Blocktext usw.) auf die angegebene Sprache fest.

Das ist beim Laden über ein Script-Tag nicht sinnvoll oder erforderlich, da die Nachrichten automatisch in das Blockly.Msg-Objekt eingefügt werden. Wir stellen sie jedoch sowohl im Script-Tag- als auch im Nicht-Script-Tag-Kontext bereit, damit der tscompiler unsere Typdefinitionsdateien richtig erstellen kann.

Schnittstellen

Schnittstelle Beschreibung
BlocklyOptions Blockly-Optionen.
FieldCheckboxConfig Konfigurationsoptionen für das Kontrollkästchenfeld.
FieldCheckboxFromJsonConfig fromJson-Konfigurationsoptionen für das Kontrollkästchenfeld.
FieldConfig Zusätzliche Konfigurationsoptionen für das Basisfeld.
FieldDropdownFromJsonConfig fromJson-Konfiguration für das Drop-down-Feld.
FieldImageConfig Konfigurationsoptionen für das Bildfeld.
FieldImageFromJsonConfig fromJson-Konfigurationsoptionen für das Bildfeld.
FieldLabelConfig Konfigurationsoptionen für das Label-Feld.
FieldLabelFromJsonConfig fromJson-Konfigurationsoptionen für das Label-Feld.
FieldNumberConfig Konfigurationsoptionen für das Zahlenfeld.
FieldNumberFromJsonConfig fromJson-Konfigurationsoptionen für das Zahlenfeld.
FieldTextInputFromJsonConfig fromJson-Konfigurationsoptionen für das Texteingabefeld.
FieldVariableConfig Konfigurationsoptionen für das Variablenfeld.
FieldVariableFromJsonConfig fromJson-Konfigurationsoptionen für das Variablenfeld.
IAutoHideable Schnittstelle für eine Komponente, die automatisch ausgeblendet werden kann.
IBoundedElement Eine Schnittstelle für gebundene Elemente.
IBubble Eine Blasenoberfläche.
ICollapsibleToolboxItem Schnittstelle für ein Element in der Symbolleiste, das minimiert werden kann.
IComponent Die Schnittstelle für eine Arbeitsbereichskomponente, die beim ComponentManager registriert werden kann.
IConnectionChecker Klasse für die Logik zur Prüfung des Verbindungstyps.
IConnectionPreviewer Zeigt visuelle Vorschauen an, wo ein Block verbunden wird, wenn er platziert wird.
IContextMenu
ICopyable
IDeletable Die Schnittstelle für ein Objekt, das gelöscht werden kann.
IDeleteArea Schnittstelle für eine Komponente, die einen Block oder eine Blase löschen kann, die darauf abgelegt wird.
IDraggable Stellt ein Objekt dar, das gezogen werden kann.
IDragger
IDragStrategy
IDragTarget Schnittstelle für eine Komponente mit benutzerdefiniertem Verhalten, wenn ein Block oder eine Blase darauf gezogen oder darauf abgelegt wird.
IFlyout Schnittstelle für ein Flyout.
IFlyoutInflater
IFocusableNode Stellt alles dar, was den Eingabefokus haben kann.
IFocusableTree

Stellt eine Baumstruktur fokussierbarer Elemente mit eigenem aktivem/passivem Fokuskontext dar.

Der Fokus wird von FocusManager verwaltet. In Baumimplementierungen kann jeweils nur ein IFocusableNode fokussiert sein. Wenn der Baum selbst den Fokus hat, gilt der fokussierte Knoten des Baums als „aktiv“ (als „passiv“, wenn ein anderer Baum den Fokus hat).

Der Fokus wird zwischen einem oder mehreren Bäumen geteilt. Jeder Baum kann genau einen aktiven oder passiven Knoten haben. Auf der gesamten Seite kann jeweils nur ein aktiver Knoten vorhanden sein. Die Idee des passiven Fokus besteht darin, Nutzern Kontext dazu zu geben, wo ihr Fokus wiederhergestellt wird, wenn sie zu einem zuvor fokussierten Baum zurückkehren.

Wenn der aktuell fokussierte Knoten des Baums (passiv oder aktiv) benötigt wird, kann FocusableTreeTraverser.findFocusedNode verwendet werden.

Wenn für diesen Baum bestimmte Knoten abgerufen werden müssen, verwenden Sie entweder „lookUpFocusableNode“ oder „FocusableTreeTraverser.findFocusableNodeFor“.

IHasBubble
IIcon
IKeyboardAccessible Eine Schnittstelle für ein Objekt, das Tastenkombinationen verarbeitet.
ImageProperties Definition einer für Menschen lesbaren Drop-down-Option für Bilder.
IMetricsManager Schnittstelle für einen Messwertmanager.
IMovable Die Schnittstelle für ein verschiebbares Objekt.
INavigationPolicy Eine Reihe von Regeln, die angeben, wohin die Tastaturnavigation weitergeleitet werden soll.
IPaster Ein Objekt, in das Daten in einen Arbeitsbereich eingefügt werden können.
IPositionable Schnittstelle für eine Komponente, die über dem Arbeitsbereich positioniert ist.
IRegistrable Die Schnittstelle für eine Blockly-Komponente, die registriert werden kann.
IRenderedElement
ISelectable

Die Schnittstelle für ein Objekt, das ausgewählt werden kann.

Implementierungen sollten in der Regel ihre Implementierungen von onNodeFocus() und onNodeBlur() verwenden, um setSelected() mit sich selbst bzw. mit „null“ aufzurufen. So wird sichergestellt, dass die Auswahl korrekt aktualisiert wird und das Ereignis für die Änderung der Auswahl ausgelöst wird.

ISelectableToolboxItem Schnittstelle für ein Element in der Toolbox, das ausgewählt werden kann.
ISerializable
IStyleable Schnittstelle für ein Objekt, dem ein Stil hinzugefügt werden kann.
IToolbox Schnittstelle für einen Werkzeugkasten.
IToolboxItem Schnittstelle für ein Element im Werkzeugkasten.
IVariableBackedParameterModel Schnittstelle für ein Parametermodell, das ein Variablenmodell enthält.
IVariableMap

Variablenzuordnungen sind Containerobjekte, die zum Speichern und Verwalten der Variablen verwendet werden, auf die in einem Arbeitsbereich verwiesen wird.

Für jede dieser Methoden können Invarianten definiert werden, die festlegen, welche Namen und Typen zulässig sind. Wenn diese Invarianten nicht erfüllt sind, wird eine Ausnahme ausgelöst.

IVariableModel
IVariableState Stellt den Status einer bestimmten Variablen dar.
ToastOptions Anzeige-/Konfigurationsoptionen für eine Kurzbenachrichtigung.

Namespaces

Namespace Beschreibung
Blockieren
blockAnimations
blockRendering
browserEvents
Blasen
bumpObjects
Zwischenablage
CollapsibleToolboxCategory
comments
Häufig
ComponentManager
Konstanten
ContextMenu
ContextMenuItems
ContextMenuRegistry
Css
dialog
Ziehen
Ereignisse
Erweiterungen
fieldRegistry
geras
Symbole
ICopyable
inputs
Ebenen
libraryBlocks
MetricsManager
Namen
Optionen
Verfahren
registry
RenderedConnection
renderManagement
Serialisierung
ShortcutItems
ShortcutRegistry
Design
ThemeManager
Designs
thrasos
Toast Optionen dafür, wie aggressiv Benachrichtigungen von Screenreadern vorgelesen werden sollen. Die Werte entsprechen denen für „aria-live“.
ToolboxCategory
ToolboxSeparator
Kurzinfo
Touchfunktion
uiPosition
utils
Variablen
VariablesDynamic
WidgetDiv
Xml
zelos

Variablen

Variable Beschreibung
Blockierungen Eine Zuordnung von Blocktypnamen zu Blockprototypobjekten.
COLLAPSE_CHARS
COLLAPSED_FIELD_NAME
COLLAPSED_INPUT_NAME
config Objekt mit allen Werten in Blockly, die Entwickler ändern können.
defineBlocksWithJsonArray Definieren Sie Blöcke aus einem Array von JSON-Blockdefinitionen, wie sie möglicherweise von den Blockly-Entwicklertools generiert werden.
DELETE_VARIABLE_ID
DropDownDiv
getMainWorkspace Gibt den Hauptarbeitsbereich zurück. Gibt den zuletzt verwendeten Hauptarbeitsbereich (basierend auf dem Fokus) zurück. Versuchen Sie, diese Funktion nicht zu verwenden, insbesondere wenn es mehrere Blockly-Instanzen auf einer Seite gibt.
getSelected Gibt das aktuell ausgewählte kopierbare Objekt zurück.
INPUT_VALUE
JavaScript
keyboardNavigationController Singleton-Instanz des Tastaturnavigationscontrollers.
Msg Ein Wörterbuch mit lokalisierten Nachrichten.
NEXT_STATEMENT
OPPOSITE_TYPE
OUTPUT_VALUE
PREVIOUS_STATEMENT
PROCEDURE_CATEGORY_NAME String zur Verwendung im Attribut „custom“ einer Kategorie in der Toolbox-XML. Dieser String gibt an, dass die Kategorie dynamisch mit Prozedurblöcken gefüllt werden soll.
RENAME_VARIABLE_ID
setParentContainer Legen Sie den übergeordneten Container fest. Dies ist das Containerelement, in das das WidgetDiv, das dropDownDiv und der Tooltip beim ersten Aufruf von Blockly.inject gerendert werden. Diese Methode ist ein NOP, wenn sie nach dem ersten Blockly.inject aufgerufen wird.
svgResize Passen Sie die Größe des SVG-Bildes so an, dass es den Container vollständig ausfüllt. Rufen Sie diese Funktion auf, wenn sich die Größe der Ansicht ändert, z.B. wenn die Fenstergröße geändert wird oder sich die Ausrichtung des Geräts ändert. Mit workspace.resizeContents können Sie die Größe des Arbeitsbereichs anpassen, wenn sich der Inhalt ändert, z.B. wenn ein Block hinzugefügt oder entfernt wird. Notieren Sie die Höhe und Breite des SVG-Bildes.
TOOLBOX_AT_BOTTOM
TOOLBOX_AT_LEFT
TOOLBOX_AT_RIGHT
TOOLBOX_AT_TOP
VARIABLE_CATEGORY_NAME String zur Verwendung im Attribut „custom“ einer Kategorie in der Toolbox-XML. Dieser String gibt an, dass die Kategorie dynamisch mit variablen Blöcken gefüllt werden soll.
VARIABLE_DYNAMIC_CATEGORY_NAME String zur Verwendung im Attribut „custom“ einer Kategorie in der Toolbox-XML. Dieser String gibt an, dass die Kategorie dynamisch mit variablen Blöcken gefüllt werden soll.
VERSION Blockly-Kernversion. Diese Konstante wird vom Build-Script (npm run build) mit dem Wert der Version in package.json überschrieben. Dies erfolgt durch den Closure Compiler in der Gulp-Aufgabe „buildCompressed“. Bei lokalen Builds können Sie „--define='Blockly.VERSION=X.Y.Z'“ an den Compiler übergeben, um diese Konstante zu überschreiben.

Typaliasse

Typalias Beschreibung
FieldCheckboxValidator Eine Funktion, die aufgerufen wird, um Änderungen am Wert des Felds zu validieren, bevor sie festgelegt werden.
FieldDropdownConfig Konfigurationsoptionen für das Drop-down-Feld.
FieldDropdownValidator Eine Funktion, die aufgerufen wird, um Änderungen am Wert des Felds zu validieren, bevor sie festgelegt werden.
FieldNumberValidator Eine Funktion, die aufgerufen wird, um Änderungen am Wert des Felds zu validieren, bevor sie festgelegt werden.
FieldTextInputConfig Konfigurationsoptionen für das Texteingabefeld.
FieldTextInputValidator Eine Funktion, die aufgerufen wird, um Änderungen am Wert des Felds zu validieren, bevor sie festgelegt werden.
FieldValidator Eine Funktion, die aufgerufen wird, um Änderungen am Wert des Felds zu validieren, bevor sie festgelegt werden.
FieldVariableValidator Eine Funktion, die aufgerufen wird, um Änderungen am Wert des Felds zu validieren, bevor sie festgelegt werden.
ICopyData
MenuGenerator Entweder ein Array mit Menüoptionen oder eine Funktion, die ein Array mit Menüoptionen für FieldDropdown oder seine untergeordneten Elemente generiert.
MenuGeneratorFunction Eine Funktion, die ein Array von Menüoptionen für FieldDropdown oder seine untergeordneten Elemente generiert.
MenuOption Eine einzelne Option im Drop-down-Menü. Kann entweder das Stringliteral separator für ein Menütrennzeichen oder ein Array für normale Aktionsmenüelemente sein. Im letzteren Fall ist das erste Element der für Menschen lesbare Wert (Text, ImageProperties-Objekt oder HTML-Element) und das zweite Element der sprachneutrale Wert.
ReturnEphemeralFocus

Typdeklaration zum Zurückgeben des Fokus an FocusManager nach Abschluss eines kurzlebigen UI-Ablaufs (z. B. eines Dialogfelds).

Weitere Informationen finden Sie unter FocusManager.takeEphemeralFocus.