Espace de noms des événements
Classes
Classe | Description |
---|---|
BlockBase | Classe abstraite pour tout événement lié aux blocs. |
BlockChange | Informe les écouteurs lorsqu'un élément d'un bloc a changé (par exemple, les valeurs des champs, les commentaires, etc.). |
BlockCreate | Notifie les écouteurs lorsqu'un bloc (ou une pile de blocs connectés) est créé. |
BlockDelete | Informe les écouteurs lorsqu'un bloc (ou une pile de blocs connectés) est supprimé. |
BlockDrag | Informe les écouteurs lorsqu'un bloc est déplacé manuellement. |
BlockFieldIntermediateChange | Informe les écouteurs lorsque la valeur du champ d'un bloc a changé, mais que le changement n'est pas encore terminé et devrait être suivi d'un événement de modification de bloc. |
BlockMove | Notifie les écouteurs lorsqu'un bloc est déplacé. Il peut s'agir d'une connexion à une autre ou d'un emplacement à un autre dans l'espace de travail. |
BubbleOpen | Classe pour un événement d'ouverture de bulle. |
Cliquez sur | Informe les écouteurs qu'un élément Blockly a enregistré un clic. |
CommentBase | Classe abstraite pour un événement de commentaire. |
CommentChange | Informe les écouteurs que le contenu d'un commentaire dans un espace de travail a changé. |
CommentCollapse | |
CommentCreate | Informe les auditeurs qu'un commentaire a été créé dans un espace de travail. |
CommentDelete | Informe les auditeurs qu'un commentaire d'espace de travail a été supprimé. |
CommentDrag | Notifie les auditeurs lorsqu'un commentaire est déplacé manuellement. |
CommentMove | Informe les auditeurs qu'un commentaire d'espace de travail a été déplacé. |
CommentResize | Informe les auditeurs qu'un commentaire d'espace de travail a été redimensionné. |
FinishedLoading | Informe les écouteurs lorsque la désérialisation de l'espace de travail à partir de JSON/XML est terminée. |
sélectionné(s) | Classe d'un événement sélectionné. Informe les écouteurs qu'un nouvel élément a été sélectionné. |
ThemeChange | Informe les auditeurs que le thème de l'espace de travail a changé. |
ToolboxItemSelect | Informe les écouteurs qu'un élément de la boîte à outils a été sélectionné. |
TrashcanOpen | Informe les écouteurs lorsque la poubelle s'ouvre ou se ferme. |
UiBase | Classe de base pour un événement d'interface utilisateur. Les événements d'interface utilisateur sont des événements qui n'ont pas besoin d'être envoyés par ligne pour que la modification multi-utilisateur fonctionne (par exemple, faire défiler l'espace de travail, faire un zoom, ouvrir des catégories de boîte à outils). Les événements d'interface utilisateur ne permettent pas d'annuler ni de rétablir des actions. |
VarBase | Classe abstraite pour un événement variable. |
VarCreate | Informe les écouteurs qu'un modèle de variable a été créé. |
VarDelete | Informe les écouteurs qu'un modèle de variable a été supprimé. |
VarRename | Informe les écouteurs qu'un modèle de variable a été renommé. |
VarTypeChange | Informe les écouteurs que le type d'une variable a changé. |
ViewportChange | Informe les écouteurs que la position ou l'échelle de la surface de l'espace de travail a changé. Ne génère pas de notification lorsque l'espace de travail lui-même est redimensionné. |
Classes abstraites
Classe abstraite | Description |
---|---|
Résumé | Classe abstraite pour un événement. |
Énumérations
Enumeration | Description |
---|---|
BubbleType | |
ClickTarget |
Fonctions
Fonction | Description |
---|---|
clearPendingUndo() | Modifiez les événements d'annulation en attente afin qu'ils ne se retrouvent pas dans la pile d'annulation lorsqu'ils sont déclenchés. Appelé par Workspace.clearUndo. |
disable() | Arrêtez d'envoyer des événements. Chaque appel de cette fonction DOIT également appeler enable. |
disableOrphans(event) | Indique si un bloc est désactivé en fonction de son bon fonctionnement. Utilisez-le pour les applications dans lesquelles tous les blocs doivent être connectés à un bloc supérieur. |
enable() | Commencez à envoyer des événements. Sauf si les événements étaient déjà désactivés lorsque l'appel de désactivation correspondant a été effectué. |
filter(queue) | Filtrez les événements mis en file d'attente en fusionnant les doublons, en supprimant les événements nuls et en réorganisant les événements BlockChange. Historique de cette fonction: Cette fonction a été ajoutée à l'origine dans le commit cf257ea5 dans le but de réduire considérablement le nombre total d'événements distribués. Au départ, elle ne concernait que les événements BlockMove, mais d'autres ont été ajoutés au fil du temps. Du code a été ajouté pour réorganiser les événements BlockChange ajoutés dans le commit 5578458, pour des raisons incertaines, mais probablement dans le cadre d'une tentative partiellement réussie de résoudre les problèmes d'ordre des événements lors des mutations de blocs. Ce code aurait probablement dû être ajouté en haut de la fonction, avant la fusion et la suppression des valeurs nulles, mais il a été ajouté en bas pour des raisons oubliées. Consultez ces investigations de bugs pour en savoir plus sur le problème sous-jacent et sur certains des échecs dus à cette correction incomplète/incorrecte: https://github.com/google/blockly/issues/8225#issuecomment-2195751783 https://github.com/google/blockly/issues/2037#issuecomment-2209696351 Plus tard, dans la demande de pull 1205, l'implémentation d'origine O(n²) a été remplacée par une implémentation en temps linéaire, bien que des corrections supplémentaires aient été apportées par la suite. En août 2024, plusieurs simplifications importantes ont été apportées: Cette fonction était auparavant appelée à partir de Workspace.prototype.undo, mais la mutation des événements par cette fonction était à l'origine du problème 7026 (notez que les événements se combinaient différemment dans l'ordre inverse que dans l'ordre direct). La solution initialement choisie pour résoudre ce problème consistait à ajouter (dans la demande de publication 7069) du code à fireNow pour post-filtrer les .undoStack_ et .redoStack_ de tout espace de travail qui venait d'être impliqué dans l'envoi d'événements. Cela a apparemment résolu le problème, mais a ajouté une complexité supplémentaire considérable et a rendu difficile de comprendre comment les événements sont traités pour l'annulation/la restauration. Par conséquent, l'appel de l'annulation et le code de post-traitement ont été supprimés, et forward=true a été défini par défaut, tandis que l'appel de la fonction avec forward=false a été abandonné. En même temps, le code buggé permettant de réorganiser les événements BlockChange a été remplacé par une version moins buguée de la même fonctionnalité dans une nouvelle fonction, enqueueEvent, appelée à partir de fireInternal. Cela garantit que les événements seront dans le bon ordre au moment de l'appel du filtre. De plus, le code de fusion des événements a été modifié afin que seuls les événements immédiatement adjacents soient fusionnés. Cela a simplifié l'implémentation tout en veillant à ce que la fusion d'événements ne puisse pas les réorganiser. |
fire(event) | Mettre en file d'attente un événement à distribuer aux écouteurs de modification. Remarques : - Les événements sont mis en file d'attente jusqu'à l'expiration du délai, généralement après le rendu ou à la fin de la microtâche en cours, s'ils ne s'exécutent pas dans un navigateur. - Les événements mis en file d'attente sont sujets à des modifications destructrices en étant combinés à des événements mis en file d'attente ultérieurement, mais uniquement jusqu'à ce qu'ils soient déclenchés. - Les événements sont distribués via la méthode fireChangeListener dans l'espace de travail concerné. |
fromJson(json, workspace) | Décodez le fichier JSON en événement. |
get(eventType) | Récupère la classe d'un type d'événement spécifique à partir du Registre. |
getGroup() | Groupe actuel. |
getRecordUndo() | Indique si des événements doivent être ajoutés à la pile "Annuler". |
isEnabled() | Indique si des événements peuvent être déclenchés ou non. |
setGroup(state) | Démarrer ou arrêter un groupe |
setRecordUndo(newValue) | Indique si les événements doivent être ajoutés à la pile d'annulation. |
Interfaces
Variables
Variable | Description |
---|---|
BLOCK_CHANGE | |
BLOCK_CREATE | |
BLOCK_DELETE | |
BLOCK_DRAG | |
BLOCK_FIELD_INTERMEDIATE_CHANGE | |
BLOCK_MOVE | |
BUBBLE_OPEN | |
BUMP_EVENTS | Liste des événements qui entraînent le renvoi d'objets dans la partie visible de l'espace de travail. Ne pas confondre avec le forçage pour que les connexions déconnectées ne semblent pas connectées. |
MODIFIER | |
CLIQUER | |
COMMENT_CHANGE | |
COMMENT_CREATE | |
COMMENT_DELETE | |
COMMENT_DRAG | |
COMMENT_MOVE | |
COMMENT_RESIZE | |
CRÉER | |
SUPPRIMER | |
FINISHED_LOADING | |
MOVE | |
SÉLECTIONNÉ | |
THEME_CHANGE | |
TOOLBOX_ITEM_SELECT | |
TRASHCAN_OPEN | |
UI | |
VAR_CREATE | |
VAR_DELETE | |
VAR_RENAME | |
VIEWPORT_CHANGE |
Alias de type
Alias de type | Description |
---|---|
BumpEvent | Type d'événements qui entraînent le renvoi d'objets dans la partie visible de l'espace de travail. Ne pas confondre avec le forçage pour que les connexions déconnectées ne semblent pas connectées. |