blockly > BlockSvg

Classe BlockSvg

Classe para uma representação SVG de um bloco. Normalmente não é chamado diretamente. É preferível usar workspace.newBlock().

Signature:

export declare class BlockSvg extends Block implements IBoundedElement, IContextMenu, ICopyable<BlockCopyData>, IDraggable, IDeletable, IFocusableNode 

Extensão:Block

Implementa:IBoundedElement, IContextMenu, ICopyable<BlockCopyData>, IDraggable, IDeletable, IFocusableNode

Construtores

Construtor Modificadores Descrição
(constructor)(workspace, prototypeName, opt_id) Cria uma nova instância da classe BlockSvg.

Propriedades

Propriedade Modificadores Tipo Descrição
COLLAPSED_WARNING_ID

static

readonly

(não declarado) ID para mostrar o aviso "avisos recolhidos". Permite remover o aviso "avisos recolhidos" sem remover nenhum aviso que pertença ao bloco.
customContextMenu? (p1: Array<ContextMenuOption | LegacyContextMenuOption>) => void (Opcional)
decompor? (p1: Workspace) => BlockSvg (Opcional)
height número Altura deste bloco, sem incluir blocos de instrução acima ou abaixo. A altura está em unidades de espaço de trabalho.
INLINE

static

readonly

(não declarado) Constante para identificar linhas que serão renderizadas inline. Não entre em conflito com Blockly.inputTypes.
mutator MutatorIcon | null Ícone do mutator do bloco (se houver).
nextConnection RenderedConnection
outputConnection RenderedConnection
previousConnection RenderedConnection
rendered readonly (não declarado) Este bloco é um BlockSVG?
saveConnections? (rootBlock: BlockSvg) => void

(Opcional) Um método opcional que salva um registro de blocos conectados a este bloco para que possam ser restaurados posteriormente após a recomposição (reconfiguração) dele. Normalmente, registra os blocos conectados em propriedades nos blocos no menu flutuante do mutator. Assim, o rearranjo desses blocos de componentes também rearranja automaticamente os blocos conectados correspondentes nesse bloco após a recomposição.

Para manter as informações de conexão salvas atualizadas, o MutatorIcon organiza um listener de eventos para chamar esse método sempre que o menu flutuante do mutator estiver aberto e uma mudança ocorrer no espaço de trabalho desse bloco.

style BlockStyle
width número Largura do bloco, incluindo todos os blocos de valor conectados. A largura está em unidades de espaço de trabalho.
workspace WorkspaceSvg

Métodos

Método Modificadores Descrição
addClass(className) Adicione uma classe CSS ao grupo SVG desse bloco.
addIcon(icon)
addSelect() Adiciona o efeito visual "selecionar" ao bloco, mas não o seleciona nem aciona um evento.
appendInput(input)
bringToFront(blockOnly) Mova esse bloco para a frente do espaço de trabalho visível. As tags não respeitam o z-index, então o SVG as renderiza na ordem em que aparecem no DOM. Ao colocar esse bloco primeiro no do grupo de blocos, ele será renderizado acima de todos os outros blocos. Use com moderação. Esse método é caro porque reordena os nós do DOM.
bumpNeighbours()

Ajusta blocos desconectados.

Dois blocos que não estão conectados não devem se alinhar por coincidência na tela, porque isso cria confusão para os usuários finais.

calculateContextMenuLocation(e) protected Recebe o local em que o menu de contexto será mostrado para esse bloco. Use o local de um clique se o bloco tiver sido clicado ou um local com base nos campos do bloco.
canBeFocused() Consulte IFocusableNode.canBeFocused.
checkAndDelete() Exclua um bloco e oculte o ruído ao fazer isso. O bloco não será excluído se estiver em um menu suspenso. Isso é chamado no menu de contexto e nos atalhos do teclado como a ação de exclusão completa. Se você estiver descartando um bloco do espaço de trabalho e não precisar realizar verificações de submenu flutuante, processar o agrupamento de eventos ou ocultar chaff, use block.dispose() diretamente.
dispose(healStack, animate) Descarte este bloco.
disposeInternal() Descarta este bloco sem fazer as ações necessárias para o bloco superior. Por exemplo, aciona efeitos de interface, remove nós etc.
drag(newLoc, e) Arrasta o bloco até o local especificado.
endDrag(e) Encerra a ação de arrastar no bloco.
generateContextMenu(e) protected Gere o menu de contexto para este bloco.
getBoundingRectangle() Retorna as coordenadas de uma caixa delimitadora que descreve as dimensões desse bloco e de todos os blocos empilhados abaixo dele. Sistema de coordenadas: coordenadas do espaço de trabalho.
getBoundingRectangleWithoutChildren() Retorna as coordenadas de uma caixa delimitadora que descreve as dimensões apenas deste bloco. Sistema de coordenadas: coordenadas do espaço de trabalho.
getChildren(ordered) Encontra todos os blocos aninhados diretamente dentro deste. Inclui entradas de valor e instrução, bem como qualquer instrução a seguir. Exclui qualquer conexão em uma guia de saída ou instrução anterior. Os blocos podem ser classificados por posição, de cima para baixo.
getColour() Recebe a cor de um bloco.
getColourSecondary() Recebe a cor secundária de um bloco.
getColourTertiary() Recebe a cor terciária de um bloco.
getFocusableElement() Consulte IFocusableNode.getFocusableElement.
getFocusableTree() Consulte IFocusableNode.getFocusableTree.
getNextBlock() Retorna o próximo bloco de instrução diretamente conectado a este bloco.
getPreviousBlock() Retorna o bloco conectado à conexão anterior.
getRelativeToSurfaceXY() Retorna as coordenadas do canto superior esquerdo desse bloco em relação à origem da superfície de desenho (0,0), em unidades do espaço de trabalho. Se o bloco estiver no espaço de trabalho, (0, 0) será a origem do sistema de coordenadas do espaço de trabalho. Isso não muda com a escala do espaço de trabalho.
getStyle() Retorna o objeto BlockStyle usado para estilizar este bloco.
getSvgRoot() Retorna o nó raiz do SVG ou nulo se não houver nenhum.
initSvg() Crie e inicialize a representação SVG do bloco. Pode ser chamado mais de uma vez.
isCopyable() Retorna se este bloco pode ser copiado ou não.
isMovable() Retorna se este bloco pode ser movido ou não.
jsonInit(json)
markDirty() Notifica todas as entradas nesse bloco para marcar os campos como sujos. Um campo sujo é aquele que precisa ser renderizado novamente.
moveBy(dx, dy, reason) Mova um bloco por um deslocamento relativo.
moveNumberedInputBefore(inputIndex, refIndex) Mova uma entrada numerada para outro local no bloco.
moveTo(xy, reason) Mova um bloco para uma posição.
onNodeBlur() Consulte IFocusableNode.onNodeBlur.
onNodeFocus() Consulte IFocusableNode.onNodeFocus.
removeClass(className) Remove uma classe CSS do grupo SVG deste bloco.
removeIcon(type)
removeInput(name, opt_quiet) Remova uma entrada deste bloco.
removeSelect() Remove o efeito visual "selecionar" do bloco, mas não o desmarca nem aciona um evento.
render() Imediatamente organiza e reajusta um bloco com base no conteúdo e nas configurações dele.
revertDrag() Move o bloco de volta para onde ele estava no início de uma ação de arrastar.
scheduleSnapAndBump() Ajuste à grade e, em seguida, mova os blocos vizinhos no final da próxima renderização.
select() Seleciona este bloco. Destaca o bloco visualmente.
setCollapsed(collapsed) Define se o bloco está recolhido ou não.
setColour(colour) Mude a cor de um bloco.
setDeletable(deletable) Adicione a classe blocklyNotDeletable quando o bloco não puder ser excluído ou remova a classe quando o bloco puder ser excluído.
setDisabledReason(disabled, reason) Adicione ou remova um motivo para a desativação do bloqueio. Se um bloco tiver motivos para ser desativado, ele será considerado desativado. Um bloqueio pode ser desativado por vários motivos independentes ao mesmo tempo, como quando o usuário o desativa manualmente ou quando ele é inválido.
setDragStrategy(dragStrategy) Define a estratégia de arrastar para este bloco.
setEditable(editable) Defina se este bloco pode ser editado ou não.
setHighlighted(highlighted) Defina se o bloco está destacado ou não. O destaque de blocos é usado com frequência para marcar visualmente os blocos em execução.
setInputsInline(newBoolean) Defina se as entradas de valor são organizadas horizontal ou verticalmente.
setMovable(movable) Defina se este bloco pode ser movido ou não.
setMutator(mutator) Dê a este bloco uma caixa de diálogo de mutator.
setNextStatement(newBoolean, opt_check) Define se outro bloco pode ser encadeado na parte de baixo deste bloco.
setOutput(newBoolean, opt_check) Define se este bloco retorna um valor.
setPreviousStatement(newBoolean, opt_check) Define se este bloco pode ser encadeado na parte de baixo de outro bloco.
setStyle(blockStyleName) Defina os valores de estilo e cor de um bloco.
setWarningText(text, id) Define o texto de aviso deste bloco.
snapToGrid() Encaixe esse bloco no ponto de grade mais próximo.
startDrag(e) Inicia uma ação de arrastar no bloco.
toCopyData() Codifica um bloco para cópia.
toFlyoutInfo() Retorna uma representação desse bloco que pode ser mostrada em um submenu flutuante.
translate(x, y) Transforma um bloco definindo a tradução no atributo de transformação do SVG dele.
unselect() Cancela a seleção deste bloco. Remove o destaque visual do bloco.