Abstract Class: Icon
Defined in: packages/blockly/core/icons/icon.ts:34
The abstract icon class. Icons are visual elements that live in the top-start corner of the block. Usually they provide more "meta" information about a block (such as warnings or comments) as opposed to fields, which provide "actual" information, related to how a block functions.
Extended by
Implements
Properties index
| Property | Description |
|---|---|
| offsetInBlock | The position of this icon relative to its blocks top-start, in workspace units. |
| workspaceLocation | The position of this icon in workspace coordinates. |
| svgRoot | The root svg element visually representing this icon. |
| tooltip | The tooltip for this icon. |
| sourceBlock | - |
Methods index
| Method | Description |
|---|---|
| getType | Returns the IconType representing the type of the icon. This value should also be used to register the icon via Blockly.icons.registry.register. |
| initView | Creates the SVG elements for the icon that will live on the block. |
| dispose | Disposes of any elements of the icon. |
| getWeight | Returns 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. |
| getSize | Returns the dimensions of the icon for use in rendering. |
| setTooltip | Sets the tooltip for this icon to the given value. Null to show the tooltip of the block. |
| getTooltip | Returns the tooltip for this icon. |
| applyColour | Updates the icon's color when the block's color changes.. |
| updateEditable | Updates the icon's editability when the block's editability changes. |
| updateCollapsed | Updates the icon's collapsed-ness/view when the block's collapsed-ness changes. |
| hideForInsertionMarker | Hides the icon when it is part of an insertion marker. |
| isShownWhenCollapsed | Returns whether this icon is shown when the block is collapsed. Used to allow renderers to account for padding. |
| setOffsetInBlock | Notifies the icon where it is relative to its block's top-start, in workspace units. |
| onLocationChange | Notifies the icon that it has changed locations. |
| onClick | Notifies the icon that it has been clicked. |
| isClickableInFlyout | 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. |
| getFocusableElement | See IFocusableNode.getFocusableElement. |
| getFocusableTree | See IFocusableNode.getFocusableTree. |
| onNodeFocus | See IFocusableNode.onNodeFocus. |
| onNodeBlur | See IFocusableNode.onNodeBlur. |
| canBeFocused | See IFocusableNode.canBeFocused. |
| performAction | 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. |
| getSourceBlock | Returns the block that this icon is attached to. |
| showContextMenu | Show the context menu for this object. |
| recomputeAriaContext | 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. |
| getAriaLabel | 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. |
Constructors
Constructor
new Icon(sourceBlock): Icon;
Defined in: packages/blockly/core/icons/icon.ts:53
Parameters
| Parameter | Type |
|---|---|
sourceBlock | Block |
Returns
Icon
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.
workspaceLocation
protected workspaceLocation: Coordinate;
Defined in: packages/blockly/core/icons/icon.ts:42
The position of this icon in workspace coordinates.
svgRoot
protected svgRoot: SVGGElement | null = null;
Defined in: packages/blockly/core/icons/icon.ts:45
The root svg element visually representing this icon.
tooltip
protected tooltip: TipInfo;
Defined in: packages/blockly/core/icons/icon.ts:48
The tooltip for this icon.
sourceBlock
protected sourceBlock: Block;
Defined in: packages/blockly/core/icons/icon.ts:53
Methods
getType()
getType(): IconType<IIcon>;
Defined in: packages/blockly/core/icons/icon.ts:58
Returns
the IconType representing the type of the icon. This value should
also be used to register the icon via Blockly.icons.registry.register.
Implementation of
initView()
initView(pointerdownListener): void;
Defined in: packages/blockly/core/icons/icon.ts:62
Creates the SVG elements for the icon that will live on the block.
Parameters
| Parameter | Type | Description |
|---|---|---|
pointerdownListener | (e) => void | An 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
Implementation of
dispose()
dispose(): void;
Defined in: packages/blockly/core/icons/icon.ts:83
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.
Implementation of
getWeight()
getWeight(): number;
Defined in: packages/blockly/core/icons/icon.ts:92
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.
Implementation of
getSize()
getSize(): Size;
Defined in: packages/blockly/core/icons/icon.ts:96
Returns
The dimensions of the icon for use in rendering.
Implementation of
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
| Parameter | Type |
|---|---|
tip | TipInfo | null |
Returns
void
getTooltip()
getTooltip(): TipInfo;
Defined in: packages/blockly/core/icons/icon.ts:109
Returns the tooltip for this icon.
Returns
applyColour()
applyColour(): void;
Defined in: packages/blockly/core/icons/icon.ts:113
Updates the icon's color when the block's color changes..
Returns
void
Implementation of
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
Implementation of
updateCollapsed()
updateCollapsed(): void;
Defined in: packages/blockly/core/icons/icon.ts:117
Updates the icon's collapsed-ness/view when the block's collapsed-ness changes.
Returns
void
Implementation of
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
Implementation of
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.
Implementation of
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
| Parameter | Type |
|---|---|
offset | Coordinate |
Returns
void
Implementation of
onLocationChange()
onLocationChange(blockOrigin): void;
Defined in: packages/blockly/core/icons/icon.ts:150
Notifies the icon that it has changed locations.
Parameters
| Parameter | Type | Description |
|---|---|---|
blockOrigin | Coordinate | The location of this icon's block's top-start corner in workspace coordinates. |
Returns
void
Implementation of
onClick()
onClick(): void;
Defined in: packages/blockly/core/icons/icon.ts:154
Notifies the icon that it has been clicked.
Returns
void
Implementation of
isClickableInFlyout()
isClickableInFlyout(autoClosingFlyout): boolean;
Defined in: packages/blockly/core/icons/icon.ts:165
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.
Parameters
| Parameter | Type | Description |
|---|---|---|
autoClosingFlyout | boolean | true if the containing flyout is an auto-closing one. |
Returns
boolean
Whether the icon should be clickable while the block is in a flyout.
Implementation of
getFocusableElement()
getFocusableElement(): HTMLElement | SVGElement;
Defined in: packages/blockly/core/icons/icon.ts:170
See IFocusableNode.getFocusableElement.
Returns
HTMLElement | SVGElement
Implementation of
getFocusableTree()
getFocusableTree(): IFocusableTree;
Defined in: packages/blockly/core/icons/icon.ts:177
See IFocusableNode.getFocusableTree.
Returns
Implementation of
onNodeFocus()
onNodeFocus(): void;
Defined in: packages/blockly/core/icons/icon.ts:182
See IFocusableNode.onNodeFocus.
Returns
void
Implementation of
onNodeBlur()
onNodeBlur(): void;
Defined in: packages/blockly/core/icons/icon.ts:194
See IFocusableNode.onNodeBlur.
Returns
void
Implementation of
canBeFocused()
canBeFocused(): boolean;
Defined in: packages/blockly/core/icons/icon.ts:197
See IFocusableNode.canBeFocused.
Returns
boolean
Implementation of
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
Implementation of
getSourceBlock()
getSourceBlock(): Block;
Defined in: packages/blockly/core/icons/icon.ts:222
Returns the block that this icon is attached to.
Returns
The block this icon is attached to.
showContextMenu()
showContextMenu(e): void;
Defined in: packages/blockly/core/icons/icon.ts:226
Show the context menu for this object.
Parameters
| Parameter | Type | Description |
|---|---|---|
e | PointerEvent | Mouse event. |
Returns
void
Implementation of
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
getAriaLabel()
protected getAriaLabel(): string | null;
Defined in: packages/blockly/core/icons/icon.ts:260
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.