Skip to main content

Class: MutatorIcon

Defined in: packages/blockly/core/icons/mutator_icon.ts:44

An icon that allows the user to change the shape of the block.

For example, it could be used to add additional fields or inputs to the block.

Extends​

Implements​

Properties index​

PropertyDescription
offsetInBlockThe position of this icon relative to its blocks top-start, in workspace units.
workspaceLocationThe position of this icon in workspace coordinates.
svgRootThe root svg element visually representing this icon.
tooltipThe tooltip for this icon.
TYPEThe type string used to identify this icon.
WEIGHTThe weight this icon has relative to other icons. Icons with more positive weight values are rendered farther toward the end of the block.
sourceBlock-

Methods index​

MethodDescription
setTooltipSets the tooltip for this icon to the given value. Null to show the tooltip of the block.
getTooltipReturns the tooltip for this icon.
updateEditableUpdates the icon's editability when the block's editability changes.
hideForInsertionMarkerHides the icon when it is part of an insertion marker.
isShownWhenCollapsedReturns whether this icon is shown when the block is collapsed. Used to allow renderers to account for padding.
setOffsetInBlockNotifies the icon where it is relative to its block's top-start, in workspace units.
getFocusableElementSee IFocusableNode.getFocusableElement.
getFocusableTreeSee IFocusableNode.getFocusableTree.
onNodeFocusSee IFocusableNode.onNodeFocus.
onNodeBlurSee IFocusableNode.onNodeBlur.
canBeFocusedSee IFocusableNode.canBeFocused.
performActionHandles the user acting on this icon via keyboard navigation. Performs the same action as a click would, and focuses this icon's bubble if it has one.
getSourceBlockReturns the block that this icon is attached to.
showContextMenuShow the context menu for this object.
recomputeAriaContextRecomputes the ARIA label and role for this icon. This is automatically called during initialization, but implementations may find it useful to call this if the icon's label should be changed.
getTypeReturns the IconType representing the type of the icon. This value should also be used to register the icon via Blockly.icons.registry.register.
initViewCreates the SVG elements for the icon that will live on the block.
disposeDisposes of any elements of the icon.
getWeightReturns the "weight" of the icon, which determines the static order which icons should be rendered in. More positive numbers are rendered farther toward the end of the block.
getSizeReturns the dimensions of the icon for use in rendering.
applyColourUpdates the icon's color when the block's color changes..
updateCollapsedUpdates the icon's collapsed-ness/view when the block's collapsed-ness changes.
onLocationChangeNotifies the icon that it has changed locations.
onClickNotifies the icon that it has been clicked.
isClickableInFlyoutCheck whether the icon should be clickable while the block is in a flyout. The default is that icons are clickable in all flyouts (auto-closing or not). Subclasses may override this function to change this behavior.
bubbleIsVisibleReturns true if the bubble is currently open, false otherwise.
setBubbleVisibleSets whether the bubble is open or not.
getBubbleSee IHasBubble.getBubble.
getWorkspaceReturns the workspace of the mini workspace bubble, if the bubble is currently open.
getAriaLabelReturns the ARIA label to use for this icon (defaults to null). Note that this method will only be called during initialization by default, so dynamic changes to the icon's ARIA label need to be applied by calling recomputeAriaContext.

Constructors​

Constructor​

new MutatorIcon(flyoutBlockTypes, sourceBlock): MutatorIcon;

Defined in: packages/blockly/core/icons/mutator_icon.ts:72

Parameters​

ParameterType
flyoutBlockTypesstring[]
sourceBlockBlockSvg

Returns​

MutatorIcon

Overrides​

Icon.constructor

Properties​

offsetInBlock​

protected offsetInBlock: Coordinate;

Defined in: packages/blockly/core/icons/icon.ts:39

The position of this icon relative to its blocks top-start, in workspace units.

Inherited from​

Icon.offsetInBlock


workspaceLocation​

protected workspaceLocation: Coordinate;

Defined in: packages/blockly/core/icons/icon.ts:42

The position of this icon in workspace coordinates.

Inherited from​

Icon.workspaceLocation


svgRoot​

protected svgRoot: SVGGElement | null = null;

Defined in: packages/blockly/core/icons/icon.ts:45

The root svg element visually representing this icon.

Inherited from​

Icon.svgRoot


tooltip​

protected tooltip: TipInfo;

Defined in: packages/blockly/core/icons/icon.ts:48

The tooltip for this icon.

Inherited from​

Icon.tooltip


TYPE​

readonly static TYPE: IconType<MutatorIcon> = IconType.MUTATOR;

Defined in: packages/blockly/core/icons/mutator_icon.ts:46

The type string used to identify this icon.


WEIGHT​

readonly static WEIGHT: 1 = 1;

Defined in: packages/blockly/core/icons/mutator_icon.ts:52

The weight this icon has relative to other icons. Icons with more positive weight values are rendered farther toward the end of the block.


sourceBlock​

protected readonly sourceBlock: BlockSvg;

Defined in: packages/blockly/core/icons/mutator_icon.ts:74

Inherited from​

Icon.sourceBlock

Methods​

setTooltip()​

setTooltip(tip): void;

Defined in: packages/blockly/core/icons/icon.ts:104

Sets the tooltip for this icon to the given value. Null to show the tooltip of the block.

Parameters​

ParameterType
tipTipInfo | null

Returns​

void

Inherited from​

Icon.setTooltip


getTooltip()​

getTooltip(): TipInfo;

Defined in: packages/blockly/core/icons/icon.ts:109

Returns the tooltip for this icon.

Returns​

TipInfo

Inherited from​

Icon.getTooltip


updateEditable()​

updateEditable(): void;

Defined in: packages/blockly/core/icons/icon.ts:115

Updates the icon's editability when the block's editability changes.

Returns​

void

Inherited from​

Icon.updateEditable


hideForInsertionMarker()​

hideForInsertionMarker(): void;

Defined in: packages/blockly/core/icons/icon.ts:129

Hides the icon when it is part of an insertion marker.

Returns​

void

Inherited from​

Icon.hideForInsertionMarker


isShownWhenCollapsed()​

isShownWhenCollapsed(): boolean;

Defined in: packages/blockly/core/icons/icon.ts:134

Returns​

boolean

Whether this icon is shown when the block is collapsed. Used to allow renderers to account for padding.

Inherited from​

Icon.isShownWhenCollapsed


setOffsetInBlock()​

setOffsetInBlock(offset): void;

Defined in: packages/blockly/core/icons/icon.ts:138

Notifies the icon where it is relative to its block's top-start, in workspace units.

Parameters​

ParameterType
offsetCoordinate

Returns​

void

Inherited from​

Icon.setOffsetInBlock


getFocusableElement()​

getFocusableElement(): HTMLElement | SVGElement;

Defined in: packages/blockly/core/icons/icon.ts:170

See IFocusableNode.getFocusableElement.

Returns​

HTMLElement | SVGElement

Inherited from​

Icon.getFocusableElement


getFocusableTree()​

getFocusableTree(): IFocusableTree;

Defined in: packages/blockly/core/icons/icon.ts:177

See IFocusableNode.getFocusableTree.

Returns​

IFocusableTree

Inherited from​

Icon.getFocusableTree


onNodeFocus()​

onNodeFocus(): void;

Defined in: packages/blockly/core/icons/icon.ts:182

See IFocusableNode.onNodeFocus.

Returns​

void

Inherited from​

Icon.onNodeFocus


onNodeBlur()​

onNodeBlur(): void;

Defined in: packages/blockly/core/icons/icon.ts:194

See IFocusableNode.onNodeBlur.

Returns​

void

Inherited from​

Icon.onNodeBlur


canBeFocused()​

canBeFocused(): boolean;

Defined in: packages/blockly/core/icons/icon.ts:197

See IFocusableNode.canBeFocused.

Returns​

boolean

Inherited from​

Icon.canBeFocused


performAction()​

performAction(): void;

Defined in: packages/blockly/core/icons/icon.ts:206

Handles the user acting on this icon via keyboard navigation. Performs the same action as a click would, and focuses this icon's bubble if it has one.

Returns​

void

Inherited from​

Icon.performAction


getSourceBlock()​

getSourceBlock(): Block;

Defined in: packages/blockly/core/icons/icon.ts:222

Returns the block that this icon is attached to.

Returns​

Block

The block this icon is attached to.

Inherited from​

Icon.getSourceBlock


showContextMenu()​

showContextMenu(e): void;

Defined in: packages/blockly/core/icons/icon.ts:226

Show the context menu for this object.

Parameters​

ParameterTypeDescription
ePointerEventMouse event.

Returns​

void

Inherited from​

Icon.showContextMenu


recomputeAriaContext()​

protected recomputeAriaContext(): void;

Defined in: packages/blockly/core/icons/icon.ts:235

Recomputes the ARIA label and role for this icon. This is automatically called during initialization, but implementations may find it useful to call this if the icon's label should be changed.

Returns​

void

Inherited from​

Icon.recomputeAriaContext


getType()​

getType(): IconType<MutatorIcon>;

Defined in: packages/blockly/core/icons/mutator_icon.ts:79

Returns​

IconType<MutatorIcon>

the IconType representing the type of the icon. This value should also be used to register the icon via Blockly.icons.registry.register.

Overrides​

Icon.getType


initView()​

initView(pointerdownListener): void;

Defined in: packages/blockly/core/icons/mutator_icon.ts:83

Creates the SVG elements for the icon that will live on the block.

Parameters​

ParameterTypeDescription
pointerdownListener(e) => voidAn event listener that must be attached to the root SVG element by the implementation of initView. Used by Blockly's gesture system to properly handle clicks and drags.

Returns​

void

Overrides​

Icon.initView


dispose()​

dispose(): void;

Defined in: packages/blockly/core/icons/mutator_icon.ts:125

Disposes of any elements of the icon.

Returns​

void

Remarks​

In particular, if this icon is currently showing a bubble, this should be used to hide it.

Overrides​

Icon.dispose


getWeight()​

getWeight(): number;

Defined in: packages/blockly/core/icons/mutator_icon.ts:130

Returns​

number

the "weight" of the icon, which determines the static order which icons should be rendered in. More positive numbers are rendered farther toward the end of the block.

Overrides​

Icon.getWeight


getSize()​

getSize(): Size;

Defined in: packages/blockly/core/icons/mutator_icon.ts:134

Returns​

Size

The dimensions of the icon for use in rendering.

Overrides​

Icon.getSize


applyColour()​

applyColour(): void;

Defined in: packages/blockly/core/icons/mutator_icon.ts:138

Updates the icon's color when the block's color changes..

Returns​

void

Overrides​

Icon.applyColour


updateCollapsed()​

updateCollapsed(): void;

Defined in: packages/blockly/core/icons/mutator_icon.ts:144

Updates the icon's collapsed-ness/view when the block's collapsed-ness changes.

Returns​

void

Overrides​

Icon.updateCollapsed


onLocationChange()​

onLocationChange(blockOrigin): void;

Defined in: packages/blockly/core/icons/mutator_icon.ts:149

Notifies the icon that it has changed locations.

Parameters​

ParameterTypeDescription
blockOriginCoordinateThe location of this icon's block's top-start corner in workspace coordinates.

Returns​

void

Overrides​

Icon.onLocationChange


onClick()​

onClick(): void;

Defined in: packages/blockly/core/icons/mutator_icon.ts:154

Notifies the icon that it has been clicked.

Returns​

void

Overrides​

Icon.onClick


isClickableInFlyout()​

isClickableInFlyout(): boolean;

Defined in: packages/blockly/core/icons/mutator_icon.ts:161

Check whether the icon should be clickable while the block is in a flyout. The default is that icons are clickable in all flyouts (auto-closing or not). Subclasses may override this function to change this behavior.

Returns​

boolean

Whether the icon should be clickable while the block is in a flyout.

Overrides​

Icon.isClickableInFlyout


bubbleIsVisible()​

bubbleIsVisible(): boolean;

Defined in: packages/blockly/core/icons/mutator_icon.ts:165

Returns​

boolean

True if the bubble is currently open, false otherwise.

Implementation of​

IHasBubble.bubbleIsVisible


setBubbleVisible()​

setBubbleVisible(visible): Promise<void>;

Defined in: packages/blockly/core/icons/mutator_icon.ts:169

Sets whether the bubble is open or not.

Parameters​

ParameterType
visibleboolean

Returns​

Promise<void>

Implementation of​

IHasBubble.setBubbleVisible


getBubble()​

getBubble():
| MiniWorkspaceBubble
| null;

Defined in: packages/blockly/core/icons/mutator_icon.ts:213

See IHasBubble.getBubble.

Returns​

| MiniWorkspaceBubble | null

Implementation of​

IHasBubble.getBubble


getWorkspace()​

getWorkspace(): WorkspaceSvg | undefined;

Defined in: packages/blockly/core/icons/mutator_icon.ts:363

Returns​

WorkspaceSvg | undefined

The workspace of the mini workspace bubble, if the bubble is currently open.


getAriaLabel()​

protected getAriaLabel(): string | null;

Defined in: packages/blockly/core/icons/mutator_icon.ts:374

Returns the ARIA label to use for this icon (defaults to null). Note that this method will only be called during initialization by default, so dynamic changes to the icon's ARIA label need to be applied by calling recomputeAriaContext.

Returns​

string | null

The ARIA label to use for this icon, or null to use a default.

Overrides​

Icon.getAriaLabel