blockly

Package Blockly

Classes

Classe Description
Bloquer Classe pour un bloc. Normalement, il n'est pas appelé directement. Il est préférable d'utiliser workspace.newBlock().
BlockFlyoutInflater Classe chargée de créer des blocs pour les menus déroulants.
BlockNavigationPolicy Ensemble de règles contrôlant la navigation au clavier à partir d'un bloc.
BlockSvg Classe pour la représentation SVG d'un bloc. Normalement, il n'est pas appelé directement. Il est préférable d'utiliser workspace.newBlock().
ButtonFlyoutInflater Classe chargée de créer des boutons pour les menus déroulants.
CodeGenerator Classe pour un générateur de code qui traduit les blocs dans une langue.
CollapsibleToolboxCategory Classe pour une catégorie dans une boîte à outils pouvant être réduite.
ComponentManager Gestionnaire de tous les éléments enregistrés dans l'espace de travail.
Connexion Classe pour une connexion entre des blocs.
ConnectionChecker Classe pour la logique de vérification du type de connexion.
ConnectionDB Base de données des connexions. Les connexions sont stockées en fonction de leur composant vertical. Les connexions dans une zone peuvent ainsi être recherchées rapidement à l'aide d'une recherche binaire.
ConnectionNavigationPolicy Ensemble de règles contrôlant la navigation au clavier à partir d'une connexion.
ContextMenuRegistry Classe pour le registre des éléments de menu contextuel. Il est censé être un singleton. Vous ne devez pas créer d'instance, mais accéder à cette classe uniquement à partir de ContextMenuRegistry.registry.
DeleteArea Classe abstraite pour un composant pouvant supprimer un bloc ou une bulle déposés dessus.
DragTarget Classe abstraite pour un composant avec un comportement personnalisé lorsqu'un bloc ou une bulle est déplacé ou déposé dessus.
FieldCheckbox Classe pour un champ de case à cocher.
FieldDropdown Classe pour un champ de liste déroulante modifiable.
FieldImage Classe pour une image sur un bloc.
FieldLabel Classe pour un champ de texte non modifiable et non sérialisable.
FieldLabelSerializable Classe pour un champ de texte sérialisable et non modifiable.
FieldNavigationPolicy Ensemble de règles contrôlant la navigation au clavier à partir d'un champ.
FieldNumber Classe pour un champ numérique modifiable.
FieldTextInput Classe pour un champ de texte modifiable.
FieldVariable Classe pour le champ de liste déroulante d'une variable.
FlyoutButton Classe d'un bouton ou d'un libellé dans le menu déroulant.
FlyoutButtonNavigationPolicy Ensemble de règles contrôlant la navigation au clavier à partir d'un bouton de menu volant.
FlyoutItem Représentation d'un élément affiché dans un menu volant.
FlyoutMetricsManager Calcule les métriques pour l'espace de travail d'un panneau latéral. Les métriques sont principalement utilisées pour dimensionner les barres de défilement du menu volant.
FlyoutNavigationPolicy Règle de navigation générique qui permet de naviguer entre les éléments du menu volant.
FlyoutNavigator
FlyoutSeparator Représentation d'un espace entre les éléments d'un menu volant.
FlyoutSeparatorNavigationPolicy Ensemble de règles contrôlant la navigation au clavier à partir d'un séparateur de menu volant. Il s'agit d'un espace réservé sans opération, car il est impossible de naviguer vers les séparateurs de menu volant.
FocusableTreeTraverser Utilitaire d'assistance pour les implémentations IFocusableTree afin de faciliter les traversées d'arborescence courantes.
FocusManager

Singleton par page qui gère la mise au point de Blockly sur un ou plusieurs IFocusableTrees et synchronise cette mise au point de manière bidirectionnelle avec le DOM.

Les appelants qui souhaitent modifier explicitement la sélection d'entrée pour certains composants Blockly sur la page doivent utiliser les fonctions de sélection de ce gestionnaire.

Le gestionnaire est chargé de gérer les événements de sélection du DOM (qui peuvent survenir lorsque les utilisateurs cliquent sur des éléments de la page) et de s'assurer que les IFocusableNodes correspondants sont clairement marqués comme activement/passivement mis en évidence de la même manière que cela serait représenté par des appels à focusNode().

Geste Classe pour un geste.
Grille Classe pour la grille d'un espace de travail.
HorizontalFlyout Classe pour un menu volant.
Entrée Classe pour une entrée avec des champs facultatifs.
InsertionMarkerPreviewer
KeyboardNavigationController Le KeyboardNavigationController gère la coordination du comportement de navigation au clavier à l'échelle de Blockly, comme l'activation/la désactivation de la visualisation complète du curseur.
LabelFlyoutInflater Classe chargée de créer des libellés pour les menus déroulants.
LineCursor Classe pour un curseur de ligne.
Marker Classe pour un repère. Il est utilisé dans la navigation au clavier pour enregistrer un emplacement dans l'AST Blockly.
MarkerManager Classe permettant de gérer les différents repères et le curseur dans un espace de travail.
Menu Classe de menu de base.
MenuItem Classe représentant un élément de menu.
MetricsManager Gestionnaire de tous les calculs des métriques de l'espace de travail.
Noms Classe pour une base de données de noms d'entités (variables, procédures, etc.).
Navigateur Classe chargée de déterminer où le focus doit se déplacer en réponse aux commandes de navigation au clavier.
Options Analysez les options spécifiées par l'utilisateur, en utilisant des valeurs par défaut raisonnables lorsque le comportement n'est pas spécifié.
RenderedConnection Classe pour une connexion entre des blocs pouvant être affichés à l'écran.
Barre de défilement Classe pour une barre de défilement SVG pure. Cette technique offre une barre de défilement qui fonctionne à coup sûr, mais qui peut ne pas ressembler aux barres de défilement du système ni se comporter comme elles.
ScrollbarPair Classe pour une paire de barres de défilement. Horizontale et verticale.
SeparatorFlyoutInflater Classe chargée de créer des séparateurs pour les menus volants.
ShortcutRegistry Classe pour le registre des raccourcis clavier. Il est censé être un singleton. Vous ne devez pas créer d'instance et n'accéder à cette classe qu'à partir de ShortcutRegistry.registry.
Thème Classe pour un thème.
ThemeManager Classe permettant de stocker et de mettre à jour le thème et les composants d'UI d'un espace de travail.
Toast Classe permettant d'afficher et de fermer les notifications temporaires.
Boîte à outils Classe pour une boîte à outils. Crée le DOM de la boîte à outils.
ToolboxCategory Classe pour une catégorie dans une boîte à outils.
ToolboxItem Classe pour un élément de la boîte à outils.
ToolboxSeparator Classe pour un séparateur de boîte à outils. Il s'agit de la fine ligne visuelle qui apparaît dans la boîte à outils. Cet élément n'est pas interactif.
Corbeille Classe pour une corbeille.
UnattachedFieldError Représente une erreur dans laquelle le champ tente d'accéder à son bloc ou à des informations le concernant avant d'avoir été réellement associé à ce bloc.
VariableMap Classe pour une carte de variables. Il contient une structure de données de dictionnaire avec des types de variables comme clés et des listes de variables comme valeurs. La liste des variables correspond au type indiqué par la clé.
VariableModel Classe pour un modèle de variables. Contient des informations sur la variable, y compris son nom, son ID et son type.
VerticalFlyout Classe pour un menu volant.
Workspace Cours pour un espace de travail. Il s'agit d'une structure de données contenant des blocs. Il n'y a pas d'UI et il peut être créé sans interface graphique.
WorkspaceAudio Classe permettant de charger, stocker et lire l'audio pour un espace de travail.
WorkspaceDragger Classe pour un élément de déplacement d'espace de travail. Il déplace l'espace de travail lorsqu'il est déplacé à l'aide d'une souris ou d'un écran tactile.
WorkspaceNavigationPolicy Ensemble de règles contrôlant la navigation au clavier depuis un espace de travail.
WorkspaceSvg Cours pour un espace de travail. Il s'agit d'une zone à l'écran avec une corbeille, des barres de défilement, des bulles et une fonctionnalité de glisser-déposer (tous facultatifs).
ZoomControls Classe pour les commandes de zoom.

Classes abstraites

Classe abstraite Description
Champ Classe abstraite pour un champ modifiable.
Flyout Classe pour un menu volant.

Énumérations

Enumeration Description
ConnectionType Énumération pour le type de connexion ou d'entrée.

Fonctions

Fonction Description
getFocusManager() Fonction pratique pour FocusManager.getFocusManager.
hasBubble(obj) Garde de type qui vérifie si l'objet donné est un IHasBubble.
hideChaff(opt_onlyClosePopups) Fermer les info-bulles, les menus contextuels, les sélections de menus déroulants, etc.
inject(container, opt_options) Injecte un éditeur Blockly dans l'élément de conteneur spécifié (généralement une div).
isCopyable(obj)
isDeletable(obj) Indique si l'objet donné est un IDeletable.
isDraggable(obj) Indique si l'objet donné est un IDraggable ou non.
isIcon(obj) Garde de type qui vérifie si l'objet donné est une IIcon.
isPaster(obj)
isRenderedElement(obj)
isSelectable(obj) Vérifie si l'objet donné est un ISelectable.
isSerializable(obj) Garde de type qui vérifie si l'objet donné est un ISerializable.
isVariableBackedParameterModel(param) Indique si l'objet donné est un conteneur de variables ou non.
navigateBlock(current, delta) Renvoie l'élément navigable suivant par rapport à l'enfant de bloc fourni.
navigateStacks(current, delta) Renvoie la pile suivante/précédente par rapport à la pile de l'élément donné.
setLocale(locale)

Définit les paramètres régionaux (c'est-à-dire les messages, le texte de bloc, etc. localisés) sur les paramètres régionaux spécifiés.

Cela n'est pas utile/nécessaire lors du chargement à partir d'une balise de script, car les messages sont automatiquement regroupés dans l'objet Blockly.Msg. Toutefois, nous le fournissons dans les contextes de balise de script et de balise sans script afin que le compilateur TS puisse créer correctement nos fichiers de définition de type.

Interfaces

Interface Description
BlocklyOptions Options Blockly.
FieldCheckboxConfig Options de configuration du champ de case à cocher.
FieldCheckboxFromJsonConfig Options de configuration fromJson pour le champ de la case à cocher.
FieldConfig Options de configuration supplémentaires pour le champ de base.
FieldDropdownFromJsonConfig Configuration fromJson pour le champ de menu déroulant.
FieldImageConfig Options de configuration du champ d'image.
FieldImageFromJsonConfig Options de configuration fromJson pour le champ d'image.
FieldLabelConfig Options de configuration du champ de libellé.
FieldLabelFromJsonConfig Options de configuration fromJson pour le champ de libellé.
FieldNumberConfig Options de configuration pour le champ numérique.
FieldNumberFromJsonConfig Options de configuration fromJson pour le champ numérique.
FieldTextInputFromJsonConfig Options de configuration fromJson pour le champ de saisie de texte.
FieldVariableConfig Options de configuration pour le champ de variable.
FieldVariableFromJsonConfig Options de configuration fromJson pour le champ de variable.
IAutoHideable Interface pour un composant qui peut être masqué automatiquement.
IBoundedElement Interface d'élément limité.
IBubble Une interface à bulles.
ICollapsibleToolboxItem Interface pour un élément de la boîte à outils qui peut être réduit.
IComponent Interface pour un composant d'espace de travail pouvant être enregistré auprès de ComponentManager.
IConnectionChecker Classe pour la logique de vérification du type de connexion.
IConnectionPreviewer Affiche des "aperçus" visuels de l'endroit où un bloc sera connecté s'il est déposé.
IContextMenu
ICopyable
IDeletable Interface pour un objet pouvant être supprimé.
IDeleteArea Interface pour un composant qui peut supprimer un bloc ou une bulle déposés dessus.
IDraggable Représente un objet qui peut être déplacé.
IDragger
IDragStrategy
IDragTarget Interface pour un composant avec un comportement personnalisé lorsqu'un bloc ou une bulle est déplacé ou déposé dessus.
IFlyout Interface pour un menu volant.
IFlyoutInflater
IFocusableNode Représente tout élément pouvant avoir le focus d'entrée.
IFocusableTree

Représente une arborescence d'éléments sélectionnables avec son propre contexte de sélection actif/passif.

Notez que la gestion de la mise au point est assurée par FocusManager et que les implémentations d'arborescence ne peuvent avoir qu'un seul IFocusableNode mis au point à la fois. Si l'arborescence elle-même est sélectionnée, le nœud sélectionné de l'arborescence est considéré comme "actif" ("passif" si une autre arborescence est sélectionnée).

La sélection est partagée entre une ou plusieurs arborescences, où chaque arborescence peut avoir exactement un nœud actif ou passif (et un seul nœud actif peut exister sur l'ensemble de la page à un moment donné). L'idée du focus passif est de fournir aux utilisateurs un contexte sur l'endroit où leur focus sera restauré lorsqu'ils reviendront à un arbre précédemment sélectionné.

Notez que si le nœud actuellement sélectionné de l'arborescence (passif ou actif) est nécessaire, FocusableTreeTraverser.findFocusedNode peut être utilisé.

Notez que si des nœuds spécifiques doivent être récupérés pour cet arbre, utilisez lookUpFocusableNode ou FocusableTreeTraverser.findFocusableNodeFor.

IHasBubble
IIcon
IKeyboardAccessible Interface pour un objet qui gère les raccourcis clavier.
ImageProperties Définition d'une option de menu déroulant d'image lisible par l'utilisateur.
IMetricsManager Interface pour un gestionnaire de métriques.
IMovable Interface pour un objet déplaçable.
INavigationPolicy Ensemble de règles qui spécifient où la navigation au clavier doit se poursuivre.
IPaster Objet permettant de coller des données dans un espace de travail.
IPositionable Interface pour un composant positionné au-dessus de l'espace de travail.
IRegistrable Interface pour un composant Blockly pouvant être enregistré.
IRenderedElement
ISelectable

Interface d'un objet sélectionnable.

Les implémentations sont généralement censées utiliser leurs implémentations de onNodeFocus() et onNodeBlur() pour appeler setSelected() avec elles-mêmes et null, respectivement, afin de s'assurer que les sélections sont correctement mises à jour et que l'événement de modification de la sélection est déclenché.

ISelectableToolboxItem Interface pour un élément de la boîte à outils qui peut être sélectionné.
ISerializable
IStyleable Interface pour un objet auquel un style peut être ajouté.
IToolbox Interface d'une boîte à outils.
IToolboxItem Interface pour un élément de la boîte à outils.
IVariableBackedParameterModel Interface pour un modèle de paramètre contenant un modèle de variable.
IVariableMap

Les mappages de variables sont des objets conteneurs chargés de stocker et de gérer l'ensemble des variables référencées dans un espace de travail.

Chacune de ces méthodes peut définir des invariants concernant les noms et les types autorisés, et générer une exception s'ils ne sont pas respectés.

IVariableModel
IVariableState Représente l'état d'une variable donnée.
ToastOptions Options d'affichage/de configuration pour une notification toast.

Espaces de noms

Espace de noms Description
Bloquer
blockAnimations
blockRendering
browserEvents
bulles
bumpObjects
presse-papiers
CollapsibleToolboxCategory
comments
common
ComponentManager
constantes
ContextMenu
ContextMenuItems
ContextMenuRegistry
Css
dialog
dragging
Événements
Extensions
fieldRegistry
geras
icônes
ICopyable
inputs
layers
libraryBlocks
MetricsManager
Noms
Options
Procédures
registry
RenderedConnection
renderManagement
serialization
ShortcutItems
ShortcutRegistry
Thème
ThemeManager
Thèmes
thrasos
Toast Options permettant de déterminer l'agressivité avec laquelle les toasts doivent être lus par les lecteurs d'écran. Les valeurs correspondent à celles de aria-live.
ToolboxCategory
ToolboxSeparator
Info-bulle
Tactile
uiPosition
utils
Variables
VariablesDynamic
WidgetDiv
Xml
zelos

Variables

Variable Description
Blocages Mappage des noms de types de blocs aux objets prototypes de blocs.
COLLAPSE_CHARS
COLLAPSED_FIELD_NAME
COLLAPSED_INPUT_NAME
config Objet contenant toutes les valeurs de Blockly que les développeurs peuvent modifier.
defineBlocksWithJsonArray Définissez des blocs à partir d'un tableau de définitions de blocs JSON, comme ceux qui peuvent être générés par les outils pour les développeurs Blockly.
DELETE_VARIABLE_ID
DropDownDiv
getMainWorkspace Renvoie l'espace de travail principal. Renvoie le dernier espace de travail principal utilisé (en fonction de la sélection). Essayez de ne pas utiliser cette fonction, en particulier s'il existe plusieurs instances Blockly sur une page.
getSelected Renvoie l'objet copiable actuellement sélectionné.
INPUT_VALUE
JavaScript
keyboardNavigationController Instance singleton du contrôleur de navigation au clavier.
Msg Dictionnaire des messages localisés.
NEXT_STATEMENT
OPPOSITE_TYPE
OUTPUT_VALUE
PREVIOUS_STATEMENT
PROCEDURE_CATEGORY_NAME Chaîne à utiliser dans l'attribut "custom" d'une catégorie dans le fichier XML de la boîte à outils. Cette chaîne indique que la catégorie doit être remplie de manière dynamique avec des blocs de procédure.
RENAME_VARIABLE_ID
setParentContainer Définissez le conteneur parent. Il s'agit de l'élément de conteneur dans lequel WidgetDiv, dropDownDiv et Tooltip sont affichés la première fois que Blockly.inject est appelé. Cette méthode est une NOP si elle est appelée après le premier Blockly.inject.
svgResize Redimensionnez l'image SVG pour qu'elle remplisse entièrement son conteneur. Appelez cette méthode lorsque la taille de la vue change réellement (par exemple, lors d'un redimensionnement de fenêtre ou d'un changement d'orientation de l'appareil). Consultez workspace.resizeContents pour redimensionner l'espace de travail lorsque le contenu change (par exemple, lorsqu'un bloc est ajouté ou supprimé). Notez la hauteur et la largeur de l'image SVG.
TOOLBOX_AT_BOTTOM
TOOLBOX_AT_LEFT
TOOLBOX_AT_RIGHT
TOOLBOX_AT_TOP
VARIABLE_CATEGORY_NAME Chaîne à utiliser dans l'attribut "custom" d'une catégorie dans le fichier XML de la boîte à outils. Cette chaîne indique que la catégorie doit être remplie de manière dynamique avec des blocs de variables.
VARIABLE_DYNAMIC_CATEGORY_NAME Chaîne à utiliser dans l'attribut "custom" d'une catégorie dans le fichier XML de la boîte à outils. Cette chaîne indique que la catégorie doit être remplie de manière dynamique avec des blocs de variables.
VERSION Version principale de Blockly. Cette constante est remplacée par le script de compilation (npm run build) par la valeur de la version dans package.json. Cette opération est effectuée par Closure Compiler dans la tâche gulp buildCompressed. Pour les builds locaux, vous pouvez transmettre --define='Blockly.VERSION=X.Y.Z' au compilateur pour remplacer cette constante.

Alias de type

Alias de type Description
FieldCheckboxValidator Fonction appelée pour valider les modifications apportées à la valeur du champ avant qu'elles ne soient définies.
FieldDropdownConfig Options de configuration pour le champ de menu déroulant.
FieldDropdownValidator Fonction appelée pour valider les modifications apportées à la valeur du champ avant qu'elles ne soient définies.
FieldNumberValidator Fonction appelée pour valider les modifications apportées à la valeur du champ avant qu'elles ne soient définies.
FieldTextInputConfig Options de configuration pour le champ de saisie de texte.
FieldTextInputValidator Fonction appelée pour valider les modifications apportées à la valeur du champ avant qu'elles ne soient définies.
FieldValidator Fonction appelée pour valider les modifications apportées à la valeur du champ avant qu'elles ne soient définies.
FieldVariableValidator Fonction appelée pour valider les modifications apportées à la valeur du champ avant qu'elles ne soient définies.
ICopyData
MenuGenerator Tableau d'options de menu ou fonction qui génère un tableau d'options de menu pour FieldDropdown ou ses descendants.
MenuGeneratorFunction Fonction qui génère un tableau d'options de menu pour FieldDropdown ou ses descendants.
MenuOption Option individuelle du menu déroulant. Il peut s'agir de la chaîne littérale separator pour un élément de menu de séparation ou d'un tableau pour les éléments de menu d'action normaux. Dans ce dernier cas, le premier élément est la valeur lisible par l'utilisateur (texte, objet ImageProperties ou élément HTML), et le second élément est la valeur neutre en termes de langue.
ReturnEphemeralFocus

Déclaration de type pour renvoyer le focus à FocusManager une fois un flux d'UI éphémère (tel qu'une boîte de dialogue) terminé.

Pour en savoir plus, consultez FocusManager.takeEphemeralFocus.