Stay organized with collections Save and categorize content based on your preferences.

blockly > Extensions

Extensions namespace


Function Description
apply(name, block, isMutator) Applies an extension method to a block. This should only be called during block construction.
buildTooltipForDropdown(dropdownName, lookupTable)

Builds an extension function that will map a dropdown value to a tooltip string.

This method includes multiple checks to ensure tooltips, dropdown options, and message references are aligned. This aims to catch errors as early as possible, without requiring developers to manually test tooltips under each option. After the page is loaded, each tooltip text string will be checked for matching message keys in the internationalized string table. Deferring this until the page is loaded decouples loading dependencies. Later, upon loading the first block of any given type, the extension will validate every dropdown option has a matching tooltip in the lookupTable. Errors are reported as warnings in the console, and are never fatal.

buildTooltipWithFieldText(msgTemplate, fieldName) Builds an extension function that will install a dynamic tooltip. The tooltip message should include the string '%1' and that string will be replaced with the text of the named field.
isRegistered(name) Returns whether an extension is registered with the given name.
register(name, initFn) Registers a new extension function. Extensions are functions that help initialize blocks, usually adding dynamic behavior such as onchange handlers and mutators. These are applied using Block.applyExtension(), or the JSON "extensions" array attribute.
registerMixin(name, mixinObj) Registers a new extension function that adds all key/value of mixinObj.
registerMutator(name, mixinObj, opt_helperFn, opt_blockList) Registers a new extension function that adds a mutator to the block. At register time this performs some basic sanity checks on the mutator. The wrapper may also add a mutator dialog to the block, if both compose and decompose are defined on the mixin.
unregister(name) Unregisters the extension registered with the given name.


Variable Description