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