blockly > BlockSvg

Clase BlockSvg

Clase para la representación SVG de un bloque. No se suele llamar directamente, se prefiere workspace.newBlock().

Signature:

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

Se extiende de: Block

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

Constructores

Constructor Modificadores Descripción
(constructor)(workspace, prototypeName, opt_id) Construye una instancia nueva de la clase BlockSvg.

Propiedades

Propiedad Modificadores Tipo Descripción
COLLAPSED_WARNING_ID

static

readonly

(no declarado) Es el ID que se le asignará a la advertencia de "advertencias contraídas". Nos permite quitar la advertencia de "advertencias contraídas" sin quitar ninguna advertencia que pertenezca al bloque.
customContextMenu? (p1: Array<ContextMenuOption | LegacyContextMenuOption>) => void (Opcional)
descomponer? (p1: Workspace) => BlockSvg (Opcional)
height número Es la altura de este bloque, sin incluir los bloques de sentencias que se encuentran arriba o abajo. La altura está en unidades del espacio de trabajo.
INLINE

static

readonly

(no declarado) Es una constante para identificar las filas que se renderizarán intercaladas. No debe coincidir con Blockly.inputTypes.
mutator MutatorIcon | null Ícono del mutador del bloque (si hay alguno).
nextConnection RenderedConnection
outputConnection RenderedConnection
previousConnection RenderedConnection
rendered readonly (no declarado) ¿Este bloque es un BlockSVG?
saveConnections? (rootBlock: BlockSvg) => void

(Opcional) Es un método opcional que guarda un registro de los bloques conectados a este bloque para que se puedan restablecer más adelante después de que se recomponga (reconfigure) este bloque. Por lo general, registra los bloques conectados en las propiedades de los bloques en el menú desplegable del mutador, de modo que la reorganización de esos bloques de componentes reorganice automáticamente los bloques conectados correspondientes en este bloque después de que se vuelva a componer.

Para mantener actualizada la información de conexión guardada, MutatorIcon organiza un objeto de escucha de eventos para llamar a este método cada vez que se abre el menú desplegable del mutador y se produce un cambio en el espacio de trabajo de este bloque.

style BlockStyle
width número Ancho de este bloque, incluidos los bloques de valores conectados. El ancho está en unidades del espacio de trabajo.
workspace WorkspaceSvg

Métodos

Método Modificadores Descripción
addClass(className) Agrega una clase CSS al grupo SVG de este bloque.
addIcon(icon)
addSelect() Agrega el efecto visual "seleccionar" al bloque, pero no lo selecciona ni activa un evento.
appendInput(input)
bringToFront(blockOnly) Mueve este bloque al frente del espacio de trabajo visible. Las etiquetas no respetan el índice Z, por lo que SVG las renderiza en el orden en que se encuentran en el DOM. Si colocas este bloque primero dentro del del grupo de bloques, se renderizará sobre cualquier otro bloque. Úsalo con moderación, ya que este método es costoso porque reordena los nodos del DOM.
bumpNeighbours()

Desplaza los bloques desconectados fuera de la alineación.

Dos bloques que en realidad no están conectados no deben alinearse de forma casual en la pantalla, ya que esto genera confusión para los usuarios finales.

calculateContextMenuLocation(e) protected Obtiene la ubicación en la que se mostrará el menú contextual de este bloque. Usa la ubicación de un clic si se hizo clic en el bloque o una ubicación basada en los campos del bloque en otros casos.
canBeFocused() Consulta IFocusableNode.canBeFocused.
checkAndDelete() Borra un bloque y oculta la paja cuando lo hace. El bloque no se borrará si está en un menú desplegable. Se llama a esta acción desde el menú contextual y las combinaciones de teclas como la acción de borrado completa. Si vas a desechar un bloque del espacio de trabajo y no necesitas realizar verificaciones de menú desplegable, controlar la agrupación de eventos ni ocultar el chaff, usa block.dispose() directamente.
dispose(healStack, animate) Descarta este bloque.
disposeInternal() Descarta este bloque sin realizar las acciones requeridas por el bloque superior. Por ejemplo, activa efectos de IU, quita nodos, etcétera.
drag(newLoc, e) Arrastra el bloque a la ubicación determinada.
endDrag(e) Finaliza el arrastre en el bloque.
generateContextMenu(e) protected Genera el menú contextual para este bloque.
getBoundingRectangle() Devuelve las coordenadas de un cuadro delimitador que describe las dimensiones de este bloque y de cualquier bloque apilado debajo de él. Sistema de coordenadas: coordenadas del espacio de trabajo.
getBoundingRectangleWithoutChildren() Devuelve las coordenadas de un cuadro de límite que describe las dimensiones de este bloque por sí solo. Sistema de coordenadas: coordenadas del espacio de trabajo.
getChildren(ordered) Encuentra todos los bloques que están directamente anidados dentro de este. Incluye entradas de valores y declaraciones, así como cualquier declaración posterior. Excluye cualquier conexión en una pestaña de salida o cualquier instrucción anterior. Los bloques se pueden ordenar por posición, de arriba hacia abajo.
getColour() Obtiene el color de un bloque.
getColourSecondary() Obtiene el color secundario de un bloque.
getColourTertiary() Obtiene el color terciario de un bloque.
getFocusableElement() Consulta IFocusableNode.getFocusableElement.
getFocusableTree() Consulta IFocusableNode.getFocusableTree.
getNextBlock() Devuelve el siguiente bloque de sentencia conectado directamente a este bloque.
getPreviousBlock() Devuelve el bloque conectado a la conexión anterior.
getRelativeToSurfaceXY() Devuelve las coordenadas de la esquina superior izquierda de este bloque en relación con el origen de la superficie de dibujo (0,0), en unidades del espacio de trabajo. Si el bloque está en el espacio de trabajo, (0, 0) es el origen del sistema de coordenadas del espacio de trabajo. Esto no cambia con la escala del espacio de trabajo.
getStyle() Devuelve el objeto BlockStyle que se usa para aplicar estilo a este bloque.
getSvgRoot() Devuelve el nodo raíz del SVG o null si no existe ninguno.
initSvg() Crea e inicializa la representación SVG del bloque. Se puede llamar más de una vez.
isCopyable() Devuelve si este bloque se puede copiar o no.
isMovable() Devuelve si este bloque se puede mover o no.
jsonInit(json)
markDirty() Notifica a cada entrada de este bloque para marcar sus campos como modificados. Un campo sucio es un campo que debe volver a renderizarse.
moveBy(dx, dy, reason) Mueve un bloque según un desplazamiento relativo.
moveNumberedInputBefore(inputIndex, refIndex) Mueve una entrada numerada a otra ubicación en este bloque.
moveTo(xy, reason) Mueve un bloque a una posición.
onNodeBlur() Consulta IFocusableNode.onNodeBlur.
onNodeFocus() Consulta IFocusableNode.onNodeFocus.
removeClass(className) Quita una clase CSS del grupo SVG de este bloque.
removeIcon(type)
removeInput(name, opt_quiet) Quita una entrada de este bloque.
removeSelect() Quita el efecto visual de "selección" del bloque, pero no lo anula ni activa un evento.
render() Diseña y redistribuye de inmediato un bloque en función de su contenido y configuración.
revertDrag() Mueve el bloque de vuelta a donde estaba al comienzo de un arrastre.
scheduleSnapAndBump() Se ajustará a la cuadrícula y, luego, se desplazarán los bloques vecinos al final de la siguiente renderización.
select() Selecciona este bloque. Destaca el bloque visualmente.
setCollapsed(collapsed) Establece si el bloque está contraído o no.
setColour(colour) Cambia el color de un bloque.
setDeletable(deletable) Agrega la clase blocklyNotDeletable cuando el bloque no se pueda borrar o quita la clase cuando el bloque se pueda borrar.
setDisabledReason(disabled, reason) Agrega o quita un motivo por el que se podría inhabilitar el bloqueo. Si un bloque tiene algún motivo para estar inhabilitado, se considerará que el bloque está inhabilitado. Un bloqueo se puede inhabilitar por varios motivos independientes de forma simultánea, por ejemplo, cuando el usuario lo inhabilita de forma manual o cuando el bloqueo no es válido.
setDragStrategy(dragStrategy) Establece la estrategia de arrastre para este bloque.
setEditable(editable) Establece si este bloque se puede editar o no.
setHighlighted(highlighted) Establece si el bloque está destacado o no. El resaltado de bloques se usa a menudo para marcar visualmente los bloques que se están ejecutando.
setInputsInline(newBoolean) Establece si las entradas de valores se organizan de forma horizontal o vertical.
setMovable(movable) Establece si este bloque se puede mover o no.
setMutator(mutator) Proporciona a este bloque un diálogo de mutador.
setNextStatement(newBoolean, opt_check) Establece si otro bloque se puede encadenar en la parte inferior de este bloque.
setOutput(newBoolean, opt_check) Establece si este bloque devuelve un valor.
setPreviousStatement(newBoolean, opt_check) Establece si este bloque se puede encadenar en la parte inferior de otro bloque.
setStyle(blockStyleName) Establece los valores de estilo y color de un bloque.
setWarningText(text, id) Establece el texto de advertencia de este bloque.
snapToGrid() Ajusta este bloque al punto de cuadrícula más cercano.
startDrag(e) Inicia un arrastre en el bloque.
toCopyData() Codifica un bloque para copiarlo.
toFlyoutInfo() Devuelve una representación de este bloque que se puede mostrar en un menú desplegable.
translate(x, y) Transforma un bloque estableciendo la traducción en el atributo de transformación del SVG del bloque.
unselect() Anula la selección de este bloque. Quita el resaltado visual del bloque.