widget
require(["esri/widgets/support/widget"], function(widget) { /* code goes here */ });esri/widgets/support/widgetThis module contains widget helpers which aid in custom widget development.
Method Overview
| Name | Return Type | Summary | Object | |
|---|---|---|---|---|
| Function | This convenience decorator is used to help simplify accessibility within the widget keyboard events. more details | more details | widget | |
| Function | Utility method used for creating CSS animation/transition functions. more details | more details | widget | |
| Boolean | Utility method used to determine if the directionality of the text of the document is right-to-left. more details | more details | widget | |
| String | Utility method used for joining CSS classes. more details | more details | widget | |
| Function | This convenience decorator marks a property for automatic rendering. more details | more details | widget | |
This convenience method is used to assign an HTMLElement DOM node reference to a variable. more details | more details | widget | ||
| Object | This convenience method is used to render the JSX in the widget.render() method. more details | more details | widget | |
| Function | This convenience decorator helps dispatch view model events on the widget instance. more details | more details | widget |
Method Details
- accessibleHandler(){Function}
This convenience decorator is used to help simplify accessibility within the widget keyboard events. For example, it can be used to execute a method when the
spaceorenterkeys are pressed.Returns:Type Description Function The property descriptor. Example:// .tsx syntax providing accessibility on a widget view model's reset method @accessibleHandler() @aliasOf("viewModel.reset") reset: () => void;
- cssTransition(type, className){Function}Since: ArcGIS API for JavaScript 4.7
Utility method used for creating CSS animation/transition functions.
Parameters:type StringThe animation/transition type.
Possible Values: enter | exit
className StringThe animation/transition class name.
Returns:Type Description Function The animation/transition function. Example:// .tsx syntax showing how to set up node enter/exit animations render() { const content = this.visible ? ( <div enterAnimation={cssTransition("enter", CSS.fadeIn)} exitAnimation={cssTransition("exit", CSS.fadeOut)}> I fade in and out. </div> ) : null; return ( <div class={CSS.base}>{content}</div> ); }
- isRTL(){Boolean}Since: ArcGIS API for JavaScript 4.9
Utility method used to determine if the directionality of the text of the document is right-to-left.
Returns:Type Description Boolean trueif the directionality of the text of the document is right-to-left.
- join(classNames){String}Deprecated since version 4.7. Now use classes.
Utility method used for joining CSS classes.
Parameter:classNames StringrepeatableThe class names to join.
Returns:Type Description String The joined class names. Example:// .tsx syntax showing how to join multiple static CSS classes while rendering the widget render() { return ( <div class={join(CSS.base, CSS.mixin)}</div> ); }
- renderable(propertyName){Function}
This convenience decorator marks a property for automatic rendering. It is useful when you want rendering to be scheduled whenever the decorated property changes. Many times this decorator is used in conjunction with the @property decorator. Rendering on deep properties is also supported by providing a path to a property deeper in the instance.
Parameter:optional Names of nested renderable properties.
Returns:Type Description Function The property decorator. Examples:// .tsx syntax setting a renderable property @property() @renderable() name: string = "name";// .tsx syntax setting a renderable nested property. @property() @renderable("viewModel.name.first") viewModel: PersonViewModel;
- storeNode(node)Since: ArcGIS API for JavaScript 4.6
This convenience method is used to assign an HTMLElement DOM node reference to a variable. It does this by taking a HTMLElement passed from either the afterUpdate or afterCreate callbacks. In order to use this, the element must have a set data-node-ref attribute. In addition, it must also be bound to the widget instance, e.g.
bind={this}.Parameter:node HTMLElementThe referenced DOM node.
- See also:
Custom widget rendering guide topic.
Example:// The storeNode function is called after the node is // added to the DOM. Bind the node to the widget and // pass in the node's root element name. render() { return ( <div afterCreate={storeNode} bind={this} data-node-ref="rootNode" /> ); }
- tsx(selector, properties, children){Object}Since: ArcGIS API for JavaScript 4.4
This convenience method is used to render the JSX in the widget.render() method. It is required to import
tsxeven though it is not explicitly called.Parameters:selector StringThe element to create.
properties ObjectoptionalThe element's properties.
children ObjectoptionalThe element's children.
Returns:Type Description Object The virtual node. Example:// .tsx syntax importing jsxfactory import { tsx } from "esri/widgets/support/widget";
- vmEvent(eventNames){Function}
This convenience decorator helps dispatch view model events on the widget instance.
Parameter:The event names to re-dispatch.
Returns:Type Description Function The property decorator. Example:// .tsx syntax dispatching view model events @property() @vmEvent("search, search-clear, suggest") viewModel: SearchViewModel;
Type Definitions
- GoToOverride(view, goToParameters)
The following properties define a
goTooverride function.Parameters:Specification:A reference to the MapView or SceneView where the navigation takes place.
goToParameters ObjectThe overriding target and optional parameters to pass to the MapView's goTo() or SceneView's goTo() method.
Specification:target GoToTarget2D|GoToTarget3DThe target location/viewpoint/extent to animate to.
options GoToOptions2D|GoToOptions3DoptionalOptions defining the animation, duration, and easing of the navigation.