Espacio de nombres de eventos
Clases
Clase | Descripción |
---|---|
BlockBase | Clase abstracta para cualquier evento relacionado con los bloques. |
BlockChange | Notifica a los objetos de escucha cuando cambia algún elemento de un bloque (p.ej., valores de campos, comentarios, etcétera). |
BlockCreate | Notifica a los objetos de escucha cuando se crea un bloque (o una pila conectada de bloques). |
BlockDelete | Notifica a los objetos de escucha cuando se borra un bloque (o una pila de bloques conectados). |
BlockDrag | Notifica a los objetos de escucha cuando se arrastra o suelta un bloque de forma manual. |
BlockFieldIntermediateChange | Notifica a los objetos de escucha cuando cambia el valor del campo de un bloque, pero el cambio aún no se completa y se espera que le siga un evento de cambio de bloque. |
BlockMove | Notifica a los objetos de escucha cuando se mueve un bloque. Esto puede ser de una conexión a otra, o de una ubicación del lugar de trabajo a otra. |
BubbleOpen | Es la clase de un evento de apertura de burbuja. |
Clic | Notifica a los objetos de escucha que se hizo clic en algún elemento de Blockly. |
CommentBase | Clase abstracta para un evento de comentario. |
CommentChange | Notifica a los objetos de escucha que cambió el contenido de un comentario de Workspace. |
CommentCollapse | |
CommentCreate | Notifica a los objetos de escucha que se creó un comentario en el lugar de trabajo. |
CommentDelete | Notifica a los objetos de escucha que se borró un comentario de Workspace. |
CommentDrag | Notifica a los objetos de escucha cuando se arrastra o suelta un comentario de forma manual. |
CommentMove | Notifica a los objetos de escucha que se movió un comentario de Workspace. |
CommentResize | Notifica a los objetos de escucha que se cambió el tamaño de un comentario de un lugar de trabajo. |
FinishedLoading | Notifica a los objetos de escucha cuando el espacio de trabajo termina de deserializarse desde JSON/XML. |
Seleccionado | Es la clase de un evento seleccionado. Notifica a los objetos de escucha que se seleccionó un elemento nuevo. |
ThemeChange | Notifica a los objetos de escucha que cambió el tema del lugar de trabajo. |
ToolboxItemSelect | Notifica a los objetos de escucha que se seleccionó un elemento de la caja de herramientas. |
TrashcanOpen | Notifica a los objetos de escucha cuando se abre o se cierra el cubo de basura. |
UiBase | Clase base para un evento de IU. Los eventos de la IU son eventos que no necesitan enviarse por cable para que funcione la edición multiusuario (p.ej., desplazarse por el espacio de trabajo, acercar y alejar, abrir categorías de la caja de herramientas). Los eventos de la IU no se deshacen ni se vuelven a hacer. |
VarBase | Es una clase abstracta para un evento variable. |
VarCreate | Notifica a los objetos de escucha que se creó un modelo de variables. |
VarDelete | Notifica a los objetos de escucha que se borró un modelo de variable. |
VarRename | Notifica a los objetos de escucha que se cambió el nombre de un modelo de variable. |
VarTypeChange | Notifica a los objetos de escucha que cambió el tipo de una variable. |
ViewportChange | Notifica a los objetos de escucha que cambió la posición o la escala de la superficie del espacio de trabajo. No notifica cuando el espacio de trabajo cambia de tamaño. |
Clases abstractas
Clase abstracta | Descripción |
---|---|
Resumen | Es una clase abstracta para un evento. |
Enumeraciones
Enumeration | Descripción |
---|---|
BubbleType | |
ClickTarget |
Funciones
Función | Descripción |
---|---|
clearPendingUndo() | Modifica los eventos de deshacer pendientes para que, cuando se activen, no se envíen a la pila de deshacer. Llamado por Workspace.clearUndo. |
disable() | Detener el envío de eventos Cada llamada a esta función TAMBIÉN DEBE llamar a enable. |
disableOrphans(event) | Establece si un bloque está inhabilitado según si está conectado correctamente. Úsalo en aplicaciones en las que todos los bloques deben estar conectados a un bloque superior. |
enable() | Comienza a enviar eventos. A menos que los eventos ya estén inhabilitados cuando se realizó la llamada correspondiente para inhabilitarlos. |
filter(queue) | Filtra los eventos en cola combinando los duplicados, quitando los eventos nulos y volviendo a grabar los eventos de BlockChange. Historial de esta función: Esta función se agregó originalmente en la confirmación cf257ea5 con la intención de reducir de forma significativa la cantidad total de eventos despachados. En un principio, solo afectaba a los eventos de BlockMove, pero con el tiempo se agregaron otros. Se agregó código para reordenar los eventos de BlockChange agregados en la confirmación 5578458, por razones inciertas, pero lo más probable es que sea parte de un intento solo parcialmente exitoso de solucionar problemas con el orden de eventos durante las mutaciones de bloques. Es probable que este código se deba agregar a la parte superior de la función, antes de la combinación y la eliminación de nulos, pero se agregó en la parte inferior por razones que ahora se olvidaron. Consulta estas investigaciones de errores para obtener un análisis más completo del problema subyacente y algunas de las fallas que surgieron debido a esta corrección incompleta o incorrecta: https://github.com/google/blockly/issues/8225#issuecomment-2195751783 https://github.com/google/blockly/issues/2037#issuecomment-2209696351 Más adelante, en la PR #1205, la implementación original de O(n^2) se reemplazó por una implementación de tiempo lineal, aunque se realizaron correcciones adicionales posteriormente. En agosto de 2024, se realizaron varias simplificaciones importantes: Anteriormente, se llamaba a esta función desde Workspace.prototype.undo, pero la mutación de eventos por parte de esta función fue la causa del problema #7026 (ten en cuenta que los eventos se combinarían de forma diferente en orden inverso en comparación con el orden directo). La solución que se eligió originalmente para esto fue la adición (en la PR #7069) de código a fireNow para filtrar después .undoStack_ y .redoStack_ de cualquier espacio de trabajo que acabara de participar en el envío de eventos. Al parecer, esto resolvió el problema, pero agregó una complejidad adicional considerable y dificultó el razonamiento sobre cómo se procesan los eventos para deshacer o rehacer, por lo que se quitaron la llamada de deshacer y el código de procesamiento posterior, y forward=true se convirtió en el valor predeterminado, mientras que llamar a la función con forward=false dejó de estar disponible. Al mismo tiempo, el código con errores para reordenar los eventos de BlockChange se reemplazó por una versión menos defectuosa de la misma funcionalidad en una función nueva, enqueueEvent, a la que se llama desde fireInternal, lo que garantiza que los eventos estén en el orden correcto en el momento en que se llame al filtro. Además, se modificó el código de combinación de eventos para que solo se combinen los eventos inmediatamente adyacentes. Esto simplificó la implementación y, al mismo tiempo, garantizó que la combinación de eventos no pueda hacer que se reordenen. |
fire(event) | Encola un evento para que se envíe a los objetos de escucha de cambios. Notas: - Los eventos se ponen en cola hasta que se produce un tiempo de espera, por lo general, después de que se completa la renderización o al final de la microtarea actual, si no se ejecutan en un navegador. - Los eventos en fila están sujetos a modificaciones destructivas, ya que se combinan con eventos que se ponen en fila más adelante, pero solo hasta que se activan. - Los eventos se despachan a través del método fireChangeListener en el espacio de trabajo afectado. |
fromJson(json, workspace) | Decodifica el JSON en un evento. |
get(eventType) | Obtiene la clase de un tipo de evento específico del registro. |
getGroup() | Grupo actual. |
getRecordUndo() | Muestra si se agregarán eventos a la pila de deshacer. |
isEnabled() | Muestra si se pueden activar eventos o no. |
setGroup(state) | Iniciar o detener un grupo |
setRecordUndo(newValue) | Establece si se deben agregar eventos a la pila de deshacer. |
Interfaces
Variables
Variable | Descripción |
---|---|
BLOCK_CHANGE | |
BLOCK_CREATE | |
BLOCK_DELETE | |
BLOCK_DRAG | |
BLOCK_FIELD_INTERMEDIATE_CHANGE | |
BLOCK_MOVE | |
BUBBLE_OPEN | |
BUMP_EVENTS | Es una lista de eventos que hacen que los objetos vuelvan a la parte visible del espacio de trabajo. No debe confundirse con el bumping para que las conexiones desconectadas no aparezcan conectadas. |
CAMBIAR | |
CLIC | |
COMMENT_CHANGE | |
COMMENT_CREATE | |
COMMENT_DELETE | |
COMMENT_DRAG | |
COMMENT_MOVE | |
COMMENT_RESIZE | |
CREATE | |
BORRAR | |
FINISHED_LOADING | |
MOVE | |
SELECTED | |
THEME_CHANGE | |
TOOLBOX_ITEM_SELECT | |
TRASHCAN_OPEN | |
IU | |
VAR_CREATE | |
VAR_DELETE | |
VAR_RENAME | |
VIEWPORT_CHANGE |
Alias de tipo
Alias de tipo | Descripción |
---|---|
BumpEvent | Es el tipo de eventos que hacen que los objetos vuelvan a la parte visible del espacio de trabajo. No debe confundirse con el bumping para que las conexiones desconectadas no aparezcan conectadas. |