//dojotoolkit.org/api/1.9/dijit/layout/StackContainer
dijit/layout/StackContainer (version 1.9)
A container that has multiple children, but shows only
one child at a time
A container for widgets (ContentPanes, for example) That displays
only one Widget at a time.
Publishes topics [widgetId]-addChild, [widgetId]-removeChild, and [widgetId]-selectChild
Can be base class for container, Wizard, Show, etc.
See StackContainer.ChildWidgetProperties for details on the properties that can be set on
children of a StackContainer.
| Parameter | Type | Description |
|---|
| params | Object | null | Hash of initialization parameters for widget, including scalar values (like title, duration etc.)
and functions, typically callbacks like onClick.
The hash can contain any of the widget's properties, excluding read-only properties. |
| srcNodeRef | DOMNode | String | Optional. If a srcNodeRef (DOM node) is specified:
- use srcNodeRef.innerHTML as my contents
- if this is a behavioral widget then apply behavior to that srcNodeRef
- otherwise, replace srcNodeRef with my generated DOM tree
|
Property Summary
- _attrPairNames
- _blankGif Path to a blank 1x1 image.
- _focusManager
- _setClassAttr
- _setDirAttr
- _setIdAttr
- _setLangAttr
- _started startup() has completed.
- attributeMap Deprecated.
- baseClass
- ChildWidgetProperties These properties can be specified for the children of a StackContainer.
- class
- containerNode Designates where children of the source DOM node will be placed.
"Children" in this case refers to both DOM nodes and widgets.
- dir Bi-directional support, as defined by the HTML DIR
attribute.
- doLayout If true, change the size of my currently displayed child to match my size
- domNode This is our visible representation of the widget!
- focused This widget or a widget it contains has focus, or is "active" because
it was recently clicked.
- id A unique, opaque ID string that can be assigned by users or by the
system.
- isLayoutContainer Indicates that this widget is going to call resize() on its
children widgets, setting their size, when they become visible.
- lang Rarely used.
- ownerDocument The document this widget belongs to.
- persist Remembers the selected child across sessions
- selectedChildWidget References the currently selected child widget, if any.
- srcNodeRef pointer to original DOM node
- style HTML style attributes as cssText string or name/value hash
- title HTML title attribute.
- tooltip When this widget's title attribute is used to for a tab label, accordion pane title, etc.,
this specifies the tooltip to appear when the mouse is hovered over that text.
Method Summary
- _adjacent(forward) Gets the next/previous child widget in this container from the current selection.
- _applyAttributes() Step during widget creation to copy widget attributes to the
DOM according to attributeMap and _setXXXAttr objects, and also to call
custom _setXXXAttr() methods.
- _attrToDom(attr, value, commands) Reflect a widget attribute (title, tabIndex, duration etc.) to
the widget DOM, as specified by commands parameter.
- _changeAttrValue(name, value) Internal helper for directly changing an attribute value.
- _get(name) Helper function to get value for specified property stored by this._set(),
i.e. for properties with custom setters.
- _getAttrNames(name) Helper function for get() and set().
- _getSibling(which) Returns next or previous sibling
- _getSiblingOfChild(child, dir) Get the next or previous widget sibling of child
- _hideChild(page) Hide the specified child by changing it's CSS, and call _onHide() so
it's notified.
- _introspect() Collect metadata about this widget (only once per class, not once per instance):
- list of attributes with custom setters, storing in this.constructor._setterAttrs
- generate this.constructor._onMap, mapping names like "mousedown" to functions like onMouseDown
- _set(name, value) Helper function to set new value for specified property, and call handlers
registered with watch() if the value has changed.
- _setFocusedAttr(val)
- _setOwnerDocumentAttr(val)
- _setStyleAttr(value) Sets the style attribute of the widget according to value,
which is either a hash like {height: "5px", width: "3px"}
or a plain string
- _setupChild(child)
- _showChild(page) Show the specified child by changing it's CSS, and call _onShow()/onShow() so
it can do any updates it needs regarding loading href's etc.
- _transition(newWidget, oldWidget, animate) Hide the old widget and display the new widget.
- addChild(child, insertIndex)
- attr(name, value) Set or get properties on a widget instance.
- back() Go back to previous page.
- buildRendering()
- closeChild(page) Callback when user clicks the [X] to remove a page.
- connect(obj, event, method) Deprecated, will be removed in 2.0, use this.own(on(...)) or this.own(aspect.after(...)) instead.
- create(params, srcNodeRef) Kick off the life-cycle of a widget
- defer(fcn, delay) Wrapper to setTimeout to avoid deferred functions executing
after the originating widget has been destroyed.
- destroy(preserveDom) Destroy this widget, but not its descendants.
- destroyDescendants(preserveDom)
- destroyRecursive(preserveDom) Destroy this widget and its descendants
- destroyRendering(preserveDom) Destroys the DOM nodes associated with this widget.
- disconnect(handle) Deprecated, will be removed in 2.0, use handle.remove() instead.
- emit(type, eventObj, callbackArgs) Used by widgets to signal that a synthetic event occurred, ex:
myWidget.emit("attrmodified-selectedChildWidget", {}).
- forward() Advance to next page.
- get(name) Get a property from a widget.
- getChildren() Returns all direct children of this widget, i.e. all widgets underneath this.containerNode whose parent
is this widget.
- getDescendants() Returns all the widgets contained by this, i.e., all widgets underneath this.containerNode.
- getIndexInParent() Returns the index of this widget within its container parent.
- getIndexOfChild(child) Gets the index of the child in this container or -1 if not found
- getNextSibling() Returns null if this is the last child of the parent,
otherwise returns the next element sibling to the "right".
- getParent() Returns the parent widget of this widget.
- getPreviousSibling() Returns null if this is the first child of the parent,
otherwise returns the next element sibling to the "left".
- hasChildren() Returns true if widget has child widgets, i.e. if this.containerNode contains widgets.
- isFocusable() Return true if this widget can currently be focused
and false if not
- isLeftToRight() Return this widget's explicit or implicit orientation (true for LTR, false for RTL)
- layout()
- on(type, func)
- own() Track specified handles and remove/destroy them when this instance is destroyed, unless they were
already removed/destroyed manually.
- placeAt(reference, position) Place this widget somewhere in the DOM based
on standard domConstruct.place() conventions.
- postCreate()
- postMixInProperties() Called after the parameters to the widget have been read-in,
but before the widget template is instantiated.
- postscript(params, srcNodeRef) Kicks off widget instantiation.
- removeChild(page)
- resize()
- selectChild(page, animate) Show the given widget (which must be one of my children)
- set(name, value) Set a property on a widget
- setAttribute(attr, value) Deprecated.
- startup()
- subscribe(t, method) Deprecated, will be removed in 2.0, use this.own(topic.subscribe()) instead.
- toString() Returns a string that represents the widget.
- uninitialize() Deprecated.
- unsubscribe(handle) Deprecated, will be removed in 2.0, use handle.remove() instead.
- watch(name, callback) Watches a property for changes
Event Summary
- _onBlur() This is where widgets do processing for when they stop being active,
such as changing CSS classes.
- _onFocus() This is where widgets do processing for when they are active,
such as changing CSS classes.
- _onKeyDown(e)
- _onMap(type) Maps on() type parameter (ex: "mousemove") to method name (ex: "onMouseMove").
- _onShow() Internal method called when this widget is made visible.
- onBlur() Called when the widget stops being "active" because
focus moved to something outside of it, or the user
clicked somewhere outside of it, or the widget was
hidden.
- onClick(event) Connect to this function to receive notifications of mouse click events.
- onClose() Called when this widget is being displayed as a popup (ex: a Calendar popped
up from a DateTextBox), and it is hidden.
- onDblClick(event) Connect to this function to receive notifications of mouse double click events.
- onFocus() Called when the widget becomes "active" because
it or a widget inside of it either has focus, or has recently
been clicked.
- onHide() Called when another widget becomes the selected pane in a
dijit/layout/TabContainer, dijit/layout/StackContainer,
dijit/layout/AccordionContainer, etc.
- onKeyDown(event) Connect to this function to receive notifications of keys being pressed down.
- onKeyPress(event) Connect to this function to receive notifications of printable keys being typed.
- onKeyUp(event) Connect to this function to receive notifications of keys being released.
- onMouseDown(event) Connect to this function to receive notifications of when the mouse button is pressed down.
- onMouseEnter(event) Connect to this function to receive notifications of when the mouse moves onto this widget.
- onMouseLeave(event) Connect to this function to receive notifications of when the mouse moves off of this widget.
- onMouseMove(event) Connect to this function to receive notifications of when the mouse moves over nodes contained within this widget.
- onMouseOut(event) Connect to this function to receive notifications of when the mouse moves off of nodes contained within this widget.
- onMouseOver(event) Connect to this function to receive notifications of when the mouse moves onto nodes contained within this widget.
- onMouseUp(event) Connect to this function to receive notifications of when the mouse button is released.
- onShow() Called when this widget becomes the selected pane in a
dijit/layout/TabContainer, dijit/layout/StackContainer,
dijit/layout/AccordionContainer, etc.
Properties
Path to a blank 1x1 image.
Used by <img> nodes in templates that really get their image via CSS background-image.
Deprecated. Instead of attributeMap, widget should have a _setXXXAttr attribute
for each XXX attribute to be mapped to the DOM.
attributeMap sets up a "binding" between attributes (aka properties)
of the widget and the widget's DOM.
Changes to widget attributes listed in attributeMap will be
reflected into the DOM.
For example, calling set('title', 'hello')
on a TitlePane will automatically cause the TitlePane's DOM to update
with the new title.
attributeMap is a hash where the key is an attribute of the widget,
and the value reflects a binding to a:
If the value is an array, then each element in the array matches one of the
formats of the above list.
There are also some shorthands for backwards compatibility:
- string --> { node: string, type: "attribute" }, for example:
"focusNode" ---> { node: "focusNode", type: "attribute" }
- "" --> { node: "domNode", type: "attribute" }
Designates where children of the source DOM node will be placed.
"Children" in this case refers to both DOM nodes and widgets.
For example, for myWidget:
<div data-dojo-type=myWidget>
<b> here's a plain DOM node
<span data-dojo-type=subWidget>and a widget</span>
<i> and another plain DOM node </i>
</div>
containerNode would point to:
<b> here's a plain DOM node
<span data-dojo-type=subWidget>and a widget</span>
<i> and another plain DOM node </i>
In templated widgets, "containerNode" is set via a
data-dojo-attach-point assignment.
containerNode must be defined for any widget that accepts innerHTML
(like ContentPane or BorderContainer or even Button), and conversely
is null for widgets that don't, like TextBox.
Bi-directional support, as defined by the HTML DIR
attribute. Either left-to-right "ltr" or right-to-left "rtl". If undefined, widgets renders in page's
default direction.
If true, change the size of my currently displayed child to match my size
This is our visible representation of the widget! Other DOM
Nodes may by assigned to other properties, usually through the
template system's data-dojo-attach-point syntax, but the domNode
property is the canonical "top level" node in widget UI.
This widget or a widget it contains has focus, or is "active" because
it was recently clicked.
A unique, opaque ID string that can be assigned by users or by the
system. If the developer passes an ID which is known not to be
unique, the specified ID is ignored and the system-generated ID is
used instead.
Indicates that this widget is going to call resize() on its
children widgets, setting their size, when they become visible.
Rarely used. Overrides the default Dojo locale used to render this widget,
as defined by the HTML LANG attribute.
Value must be among the list of locales specified during by the Dojo bootstrap,
formatted according to RFC 3066 (like en-us).
The document this widget belongs to. If not specified to constructor, will default to
srcNodeRef.ownerDocument, or if no sourceRef specified, then to the document global
Remembers the selected child across sessions
References the currently selected child widget, if any.
Adjust selected child with selectChild() method.
pointer to original DOM node
HTML style attributes as cssText string or name/value hash
HTML title attribute.
For form widgets this specifies a tooltip to display when hovering over
the widget (just like the native HTML title attribute).
For TitlePane or for when this widget is a child of a TabContainer, AccordionContainer,
etc., it's used to specify the tab label, accordion pane title, etc. In this case it's
interpreted as HTML.
When this widget's title attribute is used to for a tab label, accordion pane title, etc.,
this specifies the tooltip to appear when the mouse is hovered over that text.
Methods
Gets the next/previous child widget in this container from the current selection.
| Parameter | Type | Description |
|---|
| forward | Boolean | |
Returns: undefined
Step during widget creation to copy widget attributes to the
DOM according to attributeMap and _setXXXAttr objects, and also to call
custom _setXXXAttr() methods.
Skips over blank/false attribute values, unless they were explicitly specified
as parameters to the widget, since those are the default anyway,
and setting tabIndex="" is different than not setting tabIndex at all.
For backwards-compatibility reasons attributeMap overrides _setXXXAttr when
_setXXXAttr is a hash/string/array, but _setXXXAttr as a functions override attributeMap.
_attrToDom(attr, value, commands) Reflect a widget attribute (title, tabIndex, duration etc.) to
the widget DOM, as specified by commands parameter.
If commands isn't specified then it's looked up from attributeMap.
Note some attributes like "type"
cannot be processed this way as they are not mutable.
| Parameter | Type | Description |
|---|
| attr | String | Name of member variable (ex: "focusNode" maps to this.focusNode) pointing
to DOMNode inside the widget, or alternately pointing to a subwidget |
| value | String | |
| commands | Object | Optional. |
_changeAttrValue(name, value) Internal helper for directly changing an attribute value.
Directly change the value of an attribute on an object, bypassing any
accessor setter. Also handles the calling of watch and emitting events.
It is designed to be used by descendent class when there are two values
of attributes that are linked, but calling .set() is not appropriate.
| Parameter | Type | Description |
|---|
| name | String | The property to set. |
| value | Mixed | The value to set in the property.
|
Returns: function
Internal helper for directly changing an attribute value.
Helper function to get value for specified property stored by this._set(),
i.e. for properties with custom setters. Used mainly by custom getters.
For example, CheckBox._getValueAttr() calls this._get("value").
| Parameter | Type | Description |
|---|
| name | String | |
Returns: undefined
Helper function for get() and set().
Caches attribute name values so we don't do the string ops every time.
| Parameter | Type | Description |
|---|
| name | undefined | |
Returns: undefined | object
Returns next or previous sibling
| Parameter | Type | Description |
|---|
| which | String | Either "next" or "previous" |
Returns: undefined
_getSiblingOfChild(child, dir) Get the next or previous widget sibling of child
| Parameter | Type | Description |
|---|
| child | dijit/_WidgetBase | |
| dir | int | if 1, get the next sibling
if -1, get the previous sibling |
Returns: undefined
Hide the specified child by changing it's CSS, and call _onHide() so
it's notified.
Collect metadata about this widget (only once per class, not once per instance):
- list of attributes with custom setters, storing in this.constructor._setterAttrs
- generate this.constructor._onMap, mapping names like "mousedown" to functions like onMouseDown
Helper function to set new value for specified property, and call handlers
registered with watch() if the value has changed.
| Parameter | Type | Description |
|---|
| name | String | |
| value | anything | |
| Parameter | Type | Description |
|---|
| val | undefined | |
_setOwnerDocumentAttr(val) | Parameter | Type | Description |
|---|
| val | undefined | |
Sets the style attribute of the widget according to value,
which is either a hash like {height: "5px", width: "3px"}
or a plain string
Determines which node to set the style on based on style setting
in attributeMap.
| Parameter | Type | Description |
|---|
| value | String | Object | |
Show the specified child by changing it's CSS, and call _onShow()/onShow() so
it can do any updates it needs regarding loading href's etc.
Returns: any | boolean
Promise that fires when page has finished showing, or true if there's no href
_transition(newWidget, oldWidget, animate) Hide the old widget and display the new widget.
Subclasses should override this.
| Parameter | Type | Description |
|---|
| newWidget | dijit/_WidgetBase | The newly selected widget. |
| oldWidget | dijit/_WidgetBase | The previously selected widget. |
| animate | Boolean | Used by AccordionContainer to turn on/off slide effect. |
Returns: undefined
addChild(child, insertIndex) Set or get properties on a widget instance.
This method is deprecated, use get() or set() directly.
| Parameter | Type | Description |
|---|
| name | String | Object | The property to get or set. If an object is passed here and not
a string, its keys are used as names of attributes to be set
and the value of the object as values to set in the widget. |
| value | Object | Optional. Optional. If provided, attr() operates as a setter. If omitted,
the current value of the named property is returned. |
Returns: undefined
Go back to previous page.
Returns: undefined
Callback when user clicks the [X] to remove a page.
If onClose() returns true then remove and destroy the child.
connect(obj, event, method) Deprecated, will be removed in 2.0, use this.own(on(...)) or this.own(aspect.after(...)) instead.
Connects specified obj/event to specified method of this object
and registers for disconnect() on widget destroy.
Provide widget-specific analog to dojo.connect, except with the
implicit use of this widget as the target object.
Events connected with this.connect are disconnected upon
destruction.
| Parameter | Type | Description |
|---|
| obj | Object | null | |
| event | String | Function | |
| method | String | Function | |
Returns: any | undefined
A handle that can be passed to disconnect in order to disconnect before
the widget is destroyed.
Example
var btn = new Button();
// when foo.bar() is called, call the listener we're going to
// provide in the scope of btn
btn.connect(foo, "bar", function(){
console.debug(this.toString());
});
create(params, srcNodeRef) Kick off the life-cycle of a widget
Create calls a number of widget methods (postMixInProperties, buildRendering, postCreate,
etc.), some of which of you'll want to override. See http://dojotoolkit.org/reference-guide/dijit/_WidgetBase.html
for a discussion of the widget creation lifecycle.
Of course, adventurous developers could override create entirely, but this should
only be done as a last resort.
| Parameter | Type | Description |
|---|
| params | Object | null | Hash of initialization parameters for widget, including scalar values (like title, duration etc.)
and functions, typically callbacks like onClick.
The hash can contain any of the widget's properties, excluding read-only properties. |
| srcNodeRef | DOMNode | String | Optional. If a srcNodeRef (DOM node) is specified:
- use srcNodeRef.innerHTML as my contents
- if this is a behavioral widget then apply behavior to that srcNodeRef
- otherwise, replace srcNodeRef with my generated DOM tree
|
Wrapper to setTimeout to avoid deferred functions executing
after the originating widget has been destroyed.
Returns an object handle with a remove method (that returns null) (replaces clearTimeout).
| Parameter | Type | Description |
|---|
| fcn | undefined | |
| delay | undefined | |
Returns: object
Destroy this widget, but not its descendants. Descendants means widgets inside of
this.containerNode. Will also destroy any resources (including widgets) registered via this.own().
This method will also destroy internal widgets such as those created from a template,
assuming those widgets exist inside of this.domNode but outside of this.containerNode.
For 2.0 it's planned that this method will also destroy descendant widgets, so apps should not
depend on the current ability to destroy a widget without destroying its descendants. Generally
they should use destroyRecursive() for widgets with children.
| Parameter | Type | Description |
|---|
| preserveDom | Boolean | If true, this method will leave the original DOM structure alone.
Note: This will not yet work with _TemplatedMixin widgets |
destroyDescendants(preserveDom) | Parameter | Type | Description |
|---|
| preserveDom | Boolean | |
destroyRecursive(preserveDom) Destroy this widget and its descendants
This is the generic "destructor" function that all widget users
should call to cleanly discard with a widget. Once a widget is
destroyed, it is removed from the manager object.
| Parameter | Type | Description |
|---|
| preserveDom | Boolean | Optional. If true, this method will leave the original DOM structure
alone of descendant Widgets. Note: This will NOT work with
dijit._TemplatedMixin widgets. |
destroyRendering(preserveDom) Destroys the DOM nodes associated with this widget.
| Parameter | Type | Description |
|---|
| preserveDom | Boolean | Optional. If true, this method will leave the original DOM structure alone
during tear-down. Note: this will not work with _Templated
widgets yet. |
Deprecated, will be removed in 2.0, use handle.remove() instead.
Disconnects handle created by connect.
| Parameter | Type | Description |
|---|
| handle | undefined | |
emit(type, eventObj, callbackArgs) Used by widgets to signal that a synthetic event occurred, ex:
myWidget.emit("attrmodified-selectedChildWidget", {}).
Emits an event on this.domNode named type.toLowerCase(), based on eventObj.
Also calls onType() method, if present, and returns value from that method.
By default passes eventObj to callback, but will pass callbackArgs instead, if specified.
Modifies eventObj by adding missing parameters (bubbles, cancelable, widget).
| Parameter | Type | Description |
|---|
| type | String | |
| eventObj | Object | Optional. |
| callbackArgs | Array | Optional. |
Returns: undefined
Get a property from a widget.
Get a named property from a widget. The property may
potentially be retrieved via a getter method. If no getter is defined, this
just retrieves the object's property.
For example, if the widget has properties foo and bar
and a method named _getFooAttr(), calling:
myWidget.get("foo") would be equivalent to calling
widget._getFooAttr() and myWidget.get("bar")
would be equivalent to the expression
widget.bar2
| Parameter | Type | Description |
|---|
| name | undefined | The property to get. |
Returns: undefined
Returns all direct children of this widget, i.e. all widgets underneath this.containerNode whose parent
is this widget. Note that it does not return all descendants, but rather just direct children.
Analogous to Node.childNodes,
except containing widgets rather than DOMNodes.
The result intentionally excludes internally created widgets (a.k.a. supporting widgets)
outside of this.containerNode.
Note that the array returned is a simple array. Application code should not assume
existence of methods like forEach().
Returns: Array
Returns all the widgets contained by this, i.e., all widgets underneath this.containerNode.
This method should generally be avoided as it returns widgets declared in templates, which are
supposed to be internal/hidden, but it's left here for back-compat reasons.
Returns: Array
Returns the index of this widget within its container parent.
It returns -1 if the parent does not exist, or if the parent
is not a dijit/_Container
Returns: number | undefined
Gets the index of the child in this container or -1 if not found
Returns: undefined
Returns null if this is the last child of the parent,
otherwise returns the next element sibling to the "right".
Returns: undefined
Returns the parent widget of this widget.
Returns: undefined
Returns null if this is the first child of the parent,
otherwise returns the next element sibling to the "left".
Returns: undefined
Returns true if widget has child widgets, i.e. if this.containerNode contains widgets.
Returns: boolean
Return true if this widget can currently be focused
and false if not
Returns: undefined
Return this widget's explicit or implicit orientation (true for LTR, false for RTL)
Returns: undefined
| Parameter | Type | Description |
|---|
| type | String | Function | protected |
| func | Function | |
Returns: undefined
Track specified handles and remove/destroy them when this instance is destroyed, unless they were
already removed/destroyed manually.
Returns: any | undefined
The array of specified handles, so you can do for example:
var handle = this.own(on(...))[0];
placeAt(reference, position) Place this widget somewhere in the DOM based
on standard domConstruct.place() conventions.
A convenience function provided in all _Widgets, providing a simple
shorthand mechanism to put an existing (or newly created) Widget
somewhere in the dom, and allow chaining.
| Parameter | Type | Description |
|---|
| reference | String | DomNode | _Widget | Widget, DOMNode, or id of widget or DOMNode |
| position | String | Int | Optional. If reference is a widget (or id of widget), and that widget has an ".addChild" method,
it will be called passing this widget instance into that method, supplying the optional
position index passed. In this case position (if specified) should be an integer.
If reference is a DOMNode (or id matching a DOMNode but not a widget),
the position argument can be a numeric index or a string
"first", "last", "before", or "after", same as dojo/dom-construct::place(). |
Provides a useful return of the newly created dijit._Widget instance so you
can "chain" this function by instantiating, placing, then saving the return value
to a variable.
Example 1
// create a Button with no srcNodeRef, and place it in the body:
var button = new Button({ label:"click" }).placeAt(win.body());
// now, 'button' is still the widget reference to the newly created button
button.on("click", function(e){ console.log('click'); }));
Example 2
// create a button out of a node with id="src" and append it to id="wrapper":
var button = new Button({},"src").placeAt("wrapper");
Example 3
// place a new button as the first element of some div
var button = new Button({ label:"click" }).placeAt("wrapper","first");
Example 4
// create a contentpane and add it to a TabContainer
var tc = dijit.byId("myTabs");
new ContentPane({ href:"foo.html", title:"Wow!" }).placeAt(tc)
Called after the parameters to the widget have been read-in,
but before the widget template is instantiated. Especially
useful to set properties that are referenced in the widget
template.
postscript(params, srcNodeRef) Kicks off widget instantiation. See create() for details.
| Parameter | Type | Description |
|---|
| params | Object | Optional. |
| srcNodeRef | DomNode | String | |
selectChild(page, animate) Show the given widget (which must be one of my children)
| Parameter | Type | Description |
|---|
| page | dijit/_WidgetBase | String | Reference to child widget or id of child widget |
| animate | Boolean | |
Returns: undefined
Set a property on a widget
Sets named properties on a widget which may potentially be handled by a
setter in the widget.
For example, if the widget has properties foo and bar
and a method named _setFooAttr(), calling
myWidget.set("foo", "Howdy!") would be equivalent to calling
widget._setFooAttr("Howdy!") and myWidget.set("bar", 3)
would be equivalent to the statement widget.bar = 3;
set() may also be called with a hash of name/value pairs, ex:
myWidget.set({
foo: "Howdy",
bar: 3
});
This is equivalent to calling set(foo, "Howdy") and set(bar, 3)
| Parameter | Type | Description |
|---|
| name | undefined | The property to set. |
| value | undefined | The value to set in the property. |
Returns: function | string
Set a property on a widget
setAttribute(attr, value) Deprecated. Use set() instead.
| Parameter | Type | Description |
|---|
| attr | String | |
| value | anything | |
Deprecated, will be removed in 2.0, use this.own(topic.subscribe()) instead.
Subscribes to the specified topic and calls the specified method
of this object and registers for unsubscribe() on widget destroy.
Provide widget-specific analog to dojo.subscribe, except with the
implicit use of this widget as the target object.
| Parameter | Type | Description |
|---|
| t | String | The topic |
| method | Function | The callback |
Returns: undefined
Example
var btn = new Button();
// when /my/topic is published, this button changes its label to
// be the parameter of the topic.
btn.subscribe("/my/topic", function(v){
this.set("label", v);
});
Returns a string that represents the widget.
When a widget is cast to a string, this method will be used to generate the
output. Currently, it does not implement any sort of reversible
serialization.
Returns: string
Deprecated. Override destroy() instead to implement custom widget tear-down
behavior.
Returns: boolean
Deprecated, will be removed in 2.0, use handle.remove() instead.
Unsubscribes handle created by this.subscribe.
Also removes handle from this widget's list of subscriptions
| Parameter | Type | Description |
|---|
| handle | Object | |
Watches a property for changes
| Parameter | Type | Description |
|---|
| name | String | Optional. Indicates the property to watch. This is optional (the callback may be the
only parameter), and if omitted, all the properties will be watched |
| callback | Function | The function to execute when the property changes. This will be called after
the property has been changed. The callback will be called with the |this|
set to the instance, the first argument as the name of the property, the
second argument as the old value and the third argument as the new value. |
Returns: any | object
An object handle for the watch. The unwatch method of this object
can be used to discontinue watching this property:
var watchHandle = obj.watch("foo", callback);
watchHandle.unwatch(); // callback won't be called now
Events
This is where widgets do processing for when they stop being active,
such as changing CSS classes. See onBlur() for more details.
This is where widgets do processing for when they are active,
such as changing CSS classes. See onFocus() for more details.
| Parameter | Type | Description |
|---|
| e | undefined | |
Maps on() type parameter (ex: "mousemove") to method name (ex: "onMouseMove").
If type is a synthetic event like touch.press then returns undefined.
| Parameter | Type | Description |
|---|
| type | String | Function | |
Returns: undefined
Internal method called when this widget is made visible.
See onShow for details.
Called when the widget stops being "active" because
focus moved to something outside of it, or the user
clicked somewhere outside of it, or the widget was
hidden.
Connect to this function to receive notifications of mouse click events.
| Parameter | Type | Description |
|---|
| event | undefined | mouse Event |
Called when this widget is being displayed as a popup (ex: a Calendar popped
up from a DateTextBox), and it is hidden.
This is called from the dijit.popup code, and should not be called directly.
Also used as a parameter for children of dijit/layout/StackContainer or subclasses.
Callback if a user tries to close the child. Child will be closed if this function returns true.
Returns: boolean
Connect to this function to receive notifications of mouse double click events.
| Parameter | Type | Description |
|---|
| event | undefined | mouse Event |
Called when the widget becomes "active" because
it or a widget inside of it either has focus, or has recently
been clicked.
Connect to this function to receive notifications of keys being pressed down.
| Parameter | Type | Description |
|---|
| event | undefined | key Event |
Connect to this function to receive notifications of printable keys being typed.
| Parameter | Type | Description |
|---|
| event | undefined | key Event |
Connect to this function to receive notifications of keys being released.
| Parameter | Type | Description |
|---|
| event | undefined | key Event |
Connect to this function to receive notifications of when the mouse button is pressed down.
| Parameter | Type | Description |
|---|
| event | undefined | mouse Event |
Connect to this function to receive notifications of when the mouse moves onto this widget.
| Parameter | Type | Description |
|---|
| event | undefined | mouse Event |
Connect to this function to receive notifications of when the mouse moves off of this widget.
| Parameter | Type | Description |
|---|
| event | undefined | mouse Event |
Connect to this function to receive notifications of when the mouse moves over nodes contained within this widget.
| Parameter | Type | Description |
|---|
| event | undefined | mouse Event |
Connect to this function to receive notifications of when the mouse moves off of nodes contained within this widget.
| Parameter | Type | Description |
|---|
| event | undefined | mouse Event |
Connect to this function to receive notifications of when the mouse moves onto nodes contained within this widget.
| Parameter | Type | Description |
|---|
| event | undefined | mouse Event |
Connect to this function to receive notifications of when the mouse button is released.
| Parameter | Type | Description |
|---|
| event | undefined | mouse Event |