Namespace de eventos
Classes
Turma | Descrição |
---|---|
BlockBase | Classe abstrata para qualquer evento relacionado a blocos. |
BlockChange | Notifica os listeners quando algum elemento de um bloco é alterado (por exemplo, valores de campo, comentários etc.). |
BlockCreate | Notifica os listeners quando um bloco (ou pilha conectada de blocos) é criado. |
BlockDelete | Notifica os listeners quando um bloco (ou pilha de blocos conectados) é excluído. |
BlockDrag | Notifica os listeners quando um bloco está sendo arrastado/solto manualmente. |
BlockFieldIntermediateChange | Notifica os listeners quando o valor do campo de um bloco muda, mas a mudança ainda não está concluída e deve ser seguida por um evento de mudança de bloco. |
BlockMove | Notifica os listeners quando um bloco é movido. Isso pode ocorrer de uma conexão para outra ou de um local do espaço de trabalho para outro. |
BubbleOpen | Classe para um evento de abertura de balão. |
Clique | Notifica os listeners de que algum elemento do Blockly foi clicado. |
CommentBase | Classe abstrata para um evento de comentário. |
CommentChange | Notifica os listeners de que o conteúdo de um comentário do espaço de trabalho foi alterado. |
CommentCollapse | |
CommentCreate | Notifica os ouvintes de que um comentário do espaço de trabalho foi criado. |
CommentDelete | Notifica os ouvintes de que um comentário do espaço de trabalho foi excluído. |
CommentDrag | Notifica os listeners quando um comentário está sendo arrastado/solto manualmente. |
CommentMove | Notifica os ouvintes de que um comentário do espaço de trabalho foi movido. |
CommentResize | Notifica os ouvintes de que o tamanho de um comentário do espaço de trabalho foi alterado. |
FinishedLoading | Notifica os listeners quando o espaço de trabalho termina a desserialização de JSON/XML. |
Selecionada | Classe para um evento selecionado. Notifica os listeners de que um novo elemento foi selecionado. |
ThemeChange | Notifica os listeners de que o tema do espaço de trabalho foi alterado. |
ToolboxItemSelect | Notifica os listeners de que um item da caixa de ferramentas foi selecionado. |
TrashcanOpen | Notifica os listeners quando a lixeira está sendo aberta ou fechada. |
UiBase | Classe base para um evento da interface. Os eventos da interface são aqueles que não precisam ser enviados pela rede para que a edição de vários usuários funcione (por exemplo, rolar a área de trabalho, aplicar zoom, abrir categorias da caixa de ferramentas). Os eventos da interface não são desfeitos nem refeitos. |
VarBase | Classe abstrata para um evento variável. |
VarCreate | Notifica os listeners de que um modelo de variável foi criado. |
VarDelete | Notifica os listeners de que um modelo de variável foi excluído. |
VarRename | Notifica os listeners de que um modelo de variável foi renomeado. |
VarTypeChange | Notifica os listeners de que o tipo de uma variável mudou. |
ViewportChange | Notifica os listeners de que a posição ou escala da superfície do espaço de trabalho mudou. Não notifica quando o espaço de trabalho é redimensionado. |
Classes abstratas
Classe abstrata | Descrição |
---|---|
Abstract | Classe abstrata para um evento. |
Enumerações
Enumeração | Descrição |
---|---|
BubbleType | |
ClickTarget |
Funções
Função | Descrição |
---|---|
clearPendingUndo() | Modifique os eventos de desfazer pendentes para que, quando forem acionados, não sejam enviados para a pilha de desfazer. Chamada por Workspace.clearUndo. |
disable() | Parar de enviar eventos. Cada chamada para essa função também precisa chamar enable. |
disableOrphans(event) | Define se um bloco está desativado dependendo se ele está conectado corretamente. Use isso em aplicativos em que todos os blocos precisam ser conectados a um bloco superior. |
enable() | Comece a enviar eventos. A menos que os eventos já tenham sido desativados quando a chamada correspondente para desativação foi feita. |
filter(queue) | Filtre os eventos na fila mesclando os duplicados, removendo os nulos e gravando os eventos de mudança de bloqueio. Histórico dessa função: Essa função foi adicionada originalmente na confirmação de envio cf257ea5 com a intenção de reduzir drasticamente o número total de eventos enviados. No início, ele afetava apenas os eventos de BlockMove, mas outros foram adicionados ao longo do tempo. O código foi adicionado para reordenar os eventos BlockChange adicionados na confirmação 5578458, por motivos incertos, mas provavelmente como parte de uma tentativa parcialmente bem-sucedida de corrigir problemas com a ordem de eventos durante as mutações de bloco. Esse código provavelmente deveria ter sido adicionado à parte de cima da função, antes da mesclagem e da remoção de valores nulos, mas foi adicionado na parte de baixo por motivos desconhecidos. Consulte estas investigações de bugs para uma discussão mais completa do problema subjacente e algumas das falhas que surgiram devido a essa correção incompleta/incorreta: https://github.com/google/blockly/issues/8225#issuecomment-2195751783 https://github.com/google/blockly/issues/2037#issuecomment-2209696351 Mais tarde, na PR #1205, a implementação original O(n^2) foi substituída por uma implementação de tempo linear, embora outras correções tenham sido feitas posteriormente. Em agosto de 2024, fizemos algumas simplificações importantes: Essa função era chamada anteriormente de Workspace.prototype.undo, mas a mutação de eventos por essa função foi a causa do problema 7026. Os eventos se combinavam de forma diferente na ordem inversa e direta. A correção escolhida originalmente para isso foi a adição (na PR #7069) de código para fireNow para filtrar .undoStack_ e .redoStack_ de qualquer espaço de trabalho que tivesse acabado de participar do envio de eventos. Isso aparentemente resolveu o problema, mas adicionou uma complexidade considerável e dificultou a compreensão de como os eventos são processados para desfazer/refazer. Portanto, a chamada de desfazer e o código de pós-processamento foram removidos, e forward=true foi definido como padrão ao chamar a função com forward=false descontinuada. Ao mesmo tempo, o código com bugs para reordenar eventos de BlockChange foi substituído por uma versão menos problemática da mesma funcionalidade em uma nova função, enqueueEvent, chamada de fireInternal, garantindo que os eventos estejam na ordem correta quando o filtro de tempo for chamado. Além disso, o código de mesclagem de eventos foi modificado para que apenas eventos imediatamente adjacentes fossem mesclados. Isso simplificou a implementação e garantiu que a mesclagem de eventos não pudesse causar a reordenação deles. |
fire(event) | Enfileira um evento a ser enviado para mudar os listeners. Observações: - Os eventos são enfileirados até o tempo limite, geralmente após a renderização ser concluída ou no final da microtarefa atual, se não estiver sendo executada em um navegador. - Os eventos em fila estão sujeitos a modificações destrutivas ao serem combinados com eventos enfileirados posteriormente, mas apenas até serem acionados. - Os eventos são enviados pelo método fireChangeListener no espaço de trabalho afetado. |
fromJson(json, workspace) | Decodificar o JSON em um evento. |
get(eventType) | Recebe a classe de um tipo de evento específico do registro. |
getGroup() | Grupo atual. |
getRecordUndo() | Retorna se os eventos serão adicionados ou não à pilha de reversão. |
isEnabled() | Retorna se os eventos podem ser acionados ou não. |
setGroup(state) | Começar ou parar um grupo. |
setRecordUndo(newValue) | Define se os eventos precisam ser adicionados à pilha de desfazer. |
Interfaces
Variáveis
Variável | Descrição |
---|---|
BLOCK_CHANGE | |
BLOCK_CREATE | |
BLOCK_DELETE | |
BLOCK_DRAG | |
BLOCK_FIELD_INTERMEDIATE_CHANGE | |
BLOCK_MOVE | |
BUBBLE_OPEN | |
BUMP_EVENTS | Lista de eventos que fazem com que os objetos sejam empurrados de volta para a parte visível do espaço de trabalho. Não confunda com o bumping, que faz com que as conexões desconectadas não pareçam conectadas. |
MUDAR | |
CLIQUE | |
COMMENT_CHANGE | |
COMMENT_CREATE | |
COMMENT_DELETE | |
COMMENT_DRAG | |
COMMENT_MOVE | |
COMMENT_RESIZE | |
CREATE | |
DELETE | |
FINISHED_LOADING | |
MOVE | |
SELECIONADO | |
THEME_CHANGE | |
TOOLBOX_ITEM_SELECT | |
TRASHCAN_OPEN | |
Interface | |
VAR_CREATE | |
VAR_DELETE | |
VAR_RENAME | |
VIEWPORT_CHANGE |
Aliases de tipo
Alias de tipo | Descrição |
---|---|
BumpEvent | Tipo de eventos que fazem com que os objetos sejam empurrados de volta para a parte visível do espaço de trabalho. Não confunda com o bumping, que faz com que as conexões desconectadas não pareçam conectadas. |