blockly > BlockSvg

Classe BlockSvg

Classe pour la représentation SVG d'un bloc. Normalement, il n'est pas appelé directement. Il est préférable d'utiliser workspace.newBlock().

Signature :

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

Extends : Block

Implémente : IBoundedElement, IContextMenu, ICopyable<BlockCopyData>, IDraggable, IDeletable, IFocusableNode

Constructeurs

Constructeur Modificateurs Description
(constructor)(workspace, prototypeName, opt_id) Construit une instance de la classe BlockSvg.

Propriétés

Propriété Modificateurs Type Description
COLLAPSED_WARNING_ID

static

readonly

(non déclaré) ID permettant d'afficher l'avertissement "Avertissements réduits". Nous permet de supprimer l'avertissement "Avertissements réduits" sans supprimer les avertissements appartenant au bloc.
customContextMenu? (p1: Array<ContextMenuOption | LegacyContextMenuOption>) => void (Facultatif)
décomposer ? (p1: Workspace) => BlockSvg (Facultatif)
hauteur Total Hauteur de ce bloc, sans inclure les blocs d'instruction au-dessus ou en dessous. La hauteur est exprimée en unités d'espace de travail.
INLINE

static

readonly

(non déclaré) Constante permettant d'identifier les lignes à afficher en ligne. Ne pas entrer en conflit avec Blockly.inputTypes.
mutator MutatorIcon | null Icône du mutateur du bloc (le cas échéant).
nextConnection RenderedConnection
outputConnection RenderedConnection
previousConnection RenderedConnection
rendered readonly (non déclaré) Ce bloc est-il un BlockSVG ?
saveConnections? (rootBlock: BlockSvg) => void

(Facultatif) Méthode facultative qui enregistre un enregistrement des blocs connectés à ce bloc afin qu'ils puissent être restaurés ultérieurement après la recomposition (reconfiguration) de ce bloc. Enregistre généralement les blocs connectés sur les propriétés des blocs dans le menu déroulant du mutateur, de sorte que la réorganisation de ces blocs de composants réorganise automatiquement les blocs connectés correspondants sur ce bloc après sa recomposition.

Pour que les informations de connexion enregistrées restent à jour, MutatorIcon fait en sorte qu'un écouteur d'événements appelle cette méthode chaque fois que le menu déroulant du mutateur est ouvert et qu'une modification se produit dans l'espace de travail de ce bloc.

style BlockStyle
largeur Total Largeur de ce bloc, y compris les blocs de valeurs connectés. La largeur est exprimée en unités d'espace de travail.
workspace WorkspaceSvg

Méthodes

Méthode Modificateurs Description
addClass(className) Ajoutez une classe CSS au groupe SVG de ce bloc.
addIcon(icon)
addSelect() Ajoute l'effet visuel "select" au bloc, mais ne le sélectionne pas réellement ni ne déclenche d'événement.
appendInput(input)
bringToFront(blockOnly) Déplacez ce bloc au premier plan de l'espace de travail visible. Les balises ne respectent pas l'index Z. Par conséquent, SVG les affiche dans l'ordre dans lequel elles se trouvent dans le DOM. En plaçant ce bloc en premier dans le du groupe de blocs, il s'affichera au-dessus de tous les autres blocs. Utilisez cette méthode avec parcimonie, car elle est coûteuse, car elle réorganise les nœuds DOM.
bumpNeighbours()

Déplace les blocs non connectés pour les réaligner.

Deux blocs qui ne sont pas réellement connectés ne doivent pas s'aligner par hasard à l'écran, car cela crée de la confusion pour les utilisateurs finaux.

calculateContextMenuLocation(e) protected Récupère l'emplacement où afficher le menu contextuel pour ce bloc. Utilisez l'emplacement d'un clic si l'utilisateur a cliqué sur le bloc, ou un emplacement basé sur les champs du bloc dans le cas contraire.
canBeFocused() Consultez IFocusableNode.canBeFocused.
checkAndDelete() Supprime un bloc et masque le bruit. Le bloc ne sera pas supprimé s'il se trouve dans un menu déroulant. Cette action est appelée à partir du menu contextuel et des raccourcis clavier en tant qu'action de suppression complète. Si vous supprimez un bloc de l'espace de travail et que vous n'avez pas besoin d'effectuer de vérifications de menu déroulant, de gérer le regroupement d'événements ni de masquer les éléments inutiles, utilisez directement block.dispose().
dispose(healStack, animate) Supprimez ce bloc.
disposeInternal() Supprime ce bloc sans effectuer les actions requises par le bloc supérieur. Par exemple, déclenche des effets d'interface utilisateur, supprime des nœuds, etc.
drag(newLoc, e) Fait glisser le bloc vers l'emplacement indiqué.
endDrag(e) Met fin au déplacement du bloc.
generateContextMenu(e) protected Génère le menu contextuel pour ce bloc.
getBoundingRectangle() Renvoie les coordonnées d'un cadre de délimitation décrivant les dimensions de ce bloc et de tous les blocs empilés en dessous. Système de coordonnées : coordonnées de l'espace de travail.
getBoundingRectangleWithoutChildren() Renvoie les coordonnées d'un cadre de délimitation décrivant les dimensions de ce bloc uniquement. Système de coordonnées : coordonnées de l'espace de travail.
getChildren(ordered) Recherchez tous les blocs directement imbriqués dans celui-ci. Inclut les entrées de valeur et d'instruction, ainsi que toute instruction suivante. Exclut toute connexion dans un onglet de sortie ou toute instruction précédente. Les blocs peuvent être triés par position (de haut en bas).
getColour() Obtenez la couleur d'un bloc.
getColourSecondary() Obtenez la couleur secondaire d'un bloc.
getColourTertiary() Obtenez la couleur tertiaire d'un bloc.
getFocusableElement() Consultez IFocusableNode.getFocusableElement.
getFocusableTree() Consultez IFocusableNode.getFocusableTree.
getNextBlock() Renvoie le bloc d'instruction suivant directement connecté à ce bloc.
getPreviousBlock() Renvoie le bloc connecté à la connexion précédente.
getRelativeToSurfaceXY() Renvoie les coordonnées de l'angle supérieur gauche de ce bloc par rapport à l'origine de la surface de dessin (0,0), en unités d'espace de travail. Si le bloc se trouve dans l'espace de travail, (0, 0) correspond à l'origine du système de coordonnées de l'espace de travail. Cela ne change pas avec la taille de l'espace de travail.
getStyle() Renvoie l'objet BlockStyle utilisé pour styliser ce bloc.
getSvgRoot() Renvoie le nœud racine du SVG ou la valeur null si aucun nœud n'existe.
initSvg() Créez et initialisez la représentation SVG du bloc. Peut être appelé plusieurs fois.
isCopyable() Indique si ce bloc peut être copié ou non.
isMovable() Indique si ce bloc est déplaçable ou non.
jsonInit(json)
markDirty() Avertissez chaque entrée de ce bloc pour marquer ses champs comme modifiés. Un champ "sale" est un champ qui doit être rendu à nouveau.
moveBy(dx, dy, reason) Déplacez un bloc selon un décalage relatif.
moveNumberedInputBefore(inputIndex, refIndex) Déplacez une entrée numérotée vers un autre emplacement de ce bloc.
moveTo(xy, reason) Déplacez un bloc vers une position.
onNodeBlur() Consultez IFocusableNode.onNodeBlur.
onNodeFocus() Consultez IFocusableNode.onNodeFocus.
removeClass(className) Supprimez une classe CSS du groupe SVG de ce bloc.
removeIcon(type)
removeInput(name, opt_quiet) Supprimez une entrée de ce bloc.
removeSelect() Supprime l'effet visuel de sélection du bloc, mais ne le désélectionne pas ni ne déclenche d'événement.
render() Mise en page et réorganisation immédiates d'un bloc en fonction de son contenu et de ses paramètres.
revertDrag() Déplace le bloc à l'endroit où il se trouvait au début du déplacement.
scheduleSnapAndBump() Alignez-vous sur la grille, puis déplacez les blocs voisins à la fin du prochain rendu.
select() Sélectionne ce bloc. Met en évidence le bloc visuellement.
setCollapsed(collapsed) Indique si le bloc est réduit ou non.
setColour(colour) Modifier la couleur d'un bloc
setDeletable(deletable) Ajouter la classe blocklyNotDeletable lorsque le bloc ne peut pas être supprimé ou supprimer la classe lorsque le bloc peut être supprimé
setDisabledReason(disabled, reason) Ajoutez ou supprimez une raison pour laquelle le bloc peut être désactivé. Si un bloc présente des raisons d'être désactivé, il sera considéré comme désactivé. Un bloc peut être désactivé simultanément pour plusieurs raisons indépendantes, par exemple lorsque l'utilisateur le désactive manuellement ou lorsque le bloc n'est pas valide.
setDragStrategy(dragStrategy) Définit la stratégie de déplacement pour ce bloc.
setEditable(editable) Indique si ce bloc est modifiable ou non.
setHighlighted(highlighted) Indiquez si le bloc est mis en surbrillance ou non. La mise en surbrillance des blocs est souvent utilisée pour marquer visuellement les blocs en cours d'exécution.
setInputsInline(newBoolean) Définissez si les entrées de valeur sont disposées horizontalement ou verticalement.
setMovable(movable) Déterminez si ce bloc est déplaçable ou non.
setMutator(mutator) Donne à ce bloc une boîte de dialogue de mutateur.
setNextStatement(newBoolean, opt_check) Définissez si un autre bloc peut s'enchaîner en dessous de ce bloc.
setOutput(newBoolean, opt_check) Indiquez si ce bloc renvoie une valeur.
setPreviousStatement(newBoolean, opt_check) Définissez si ce bloc peut être enchaîné au bas d'un autre bloc.
setStyle(blockStyleName) Définissez les valeurs de style et de couleur d'un bloc.
setWarningText(text, id) Définissez le texte d'avertissement de ce bloc.
snapToGrid() Accrochez ce bloc au point de grille le plus proche.
startDrag(e) Démarre un déplacement du bloc.
toCopyData() Encoder un bloc pour la copie.
toFlyoutInfo() Renvoie une représentation de ce bloc qui peut être affichée dans un menu volant.
translate(x, y) Transforme un bloc en définissant la translation sur l'attribut de transformation du SVG du bloc.
unselect() Désélectionne ce bloc. Annule la mise en surbrillance du bloc.