Plugin.Button Class
+ + + + +Constructor
+Plugin.Button
+
+
+ -
+
+
-
+
+
config+ +
+
+
Parameters:
+ +-
+
+
-
+
+
config+ Object + + + + +++ + +Configuration object
+
+
+
-
+
- Index + + +
- Methods + + +
- Properties + + +
- Attributes + + +
Item Index
+ + +Methods
+ +-
+
+
- + _addAttrs + + + + + +
- + _addLazyAttr + + + + + +
- + _afterNodeGet + + + + + +
- + _afterNodeSet + + + + + +
- + _getAttr + + + + + +
- + _getAttrInitVal + + + + + +
- + _getAttrs + + + + + +
- + _getLabel + + + + + +
- + _getStateVal + + + + + +
- + _initAttrHost + + + + + +
- + _initAttributes + + + + + +
- + _initAttrs + + + + + +
- + _initNode + + + + + +
- + _isLazyAttr + + + + + +
- + _normAttrVals + + + + + +
- + _protectAttrs + + + + deprecated + + + +
- + _set + + + + + +
- + _setAttr + + + + + +
- + _setAttrs + + + + + +
- + _setAttrVal + + + + + +
- + _setStateVal + + + + + +
- + _uiSetDisabled + + + + + +
- + _uiSetLabel + + + + + +
- + addAttr + + + + + +
- + addAttrs + + + + + +
- + attrAdded + + + + + +
- + createNode + + + + + +
- + destroy + + + + + +
- + disable + + + + + +
- + enable + + + + + +
- + get + + + + + +
- + getAttrs + + + + + +
- + getNode + + + + + +
- + initializer + + + + + +
- + renderUI + + + + + +
- + set + + + + + +
- + setAttrs + + + + + +
Properties
+ +-
+
+
- + ATTRS + + + static + + + + +
- + constructor + + + + + +
- + NAME + + + static + + + + +
- + NS + + + static + + + + +
- + TEMPLATE + + + + + +
Methods
+ + +_addAttrs
+
+
+ -
+
+
-
+
+
cfgs+ +
+
+ -
+
+
values+ +
+
+ -
+
+
lazy+ +
+
+
Implementation behind the public addAttrs method.
+ +This method is invoked directly by get if it encounters a scenario +in which an attribute's valueFn attempts to obtain the +value an attribute in the same group of attributes, which has not yet +been added (on demand initialization).
+Parameters:
+ +-
+
+
-
+
+
cfgs+ Object + + + + +++ + +An object with attribute name/configuration pairs.
+
+
+ -
+
+
values+ Object + + + + +++ + +An object with attribute name/value pairs, defining the initial values to apply. +Values defined in the cfgs argument will be over-written by values in this argument unless defined as read only.
+
+
+ -
+
+
lazy+ Boolean + + + + +++ + +Whether or not to delay the intialization of these attributes until the first call to get/set. +Individual attributes can over-ride this behavior by defining a lazyAdd configuration property in their configuration. +See addAttr.
+
+
+
_addLazyAttr
+
+
+ -
+
+
-
+
+
name+ +
+
+ -
+
+
[lazyCfg]+ +
+
+
Finishes initializing an attribute which has been lazily added.
+Parameters:
+ + +_afterNodeGet
+
+
+ -
+
+
-
+
+
name+ +
+
+
Parameters:
+ +-
+
+
-
+
+
name+ String + + + + ++ ++ + +
+
+
_afterNodeSet
+
+
+ -
+
+
-
+
+
name+ +
+
+ -
+
+
val+ +
+
+
_getAttr
+
+
+ -
+
+
-
+
+
name+ +
+
+
Provides the common implementation for the public get method, +allowing Attribute hosts to over-ride either method.
+ +See get for argument details.
+Parameters:
+ +-
+
+
-
+
+
name+ String + + + + +++ + +The name of the attribute.
+
+
+
Returns:
+ +_getAttrInitVal
+
+
+ -
+
+
-
+
+
attr+ +
+
+ -
+
+
cfg+ +
+
+ -
+
+
initValues+ +
+
+
Returns the initial value of the given attribute from +either the default configuration provided, or the +over-ridden value if it exists in the set of initValues +provided and the attribute is not read-only.
+Parameters:
+ + +Returns:
+ +_getAttrs
+
+
+ -
+
+
-
+
+
attrs+ +
+
+
Implementation behind the public getAttrs method, to get multiple attribute values.
+Parameters:
+ +-
+
+
-
+
+
attrs+ Array | boolean + + + + +++ + +Optional. An array of attribute names. If omitted, all attribute values are +returned. If set to true, all attributes modified from their initial values are returned.
+
+
+
Returns:
+ +_getLabel
+
+
+ ()
+
+
+
+
+
+
+
+ private
+
+
+
+
+
+
+
+
+
+
+
+
+ Getter for a button's 'label' ATTR
+_getStateVal
+
+
+ -
+
+
-
+
+
name+ +
+
+ -
+
+
[cfg]+ +
+
+
Gets the stored value for the attribute, from either the +internal state object, or the state proxy if it exits
+Parameters:
+ + +Returns:
+ +_initAttrHost
+
+
+ -
+
+
-
+
+
attrs+ +
+
+ -
+
+
values+ +
+
+ -
+
+
lazy+ +
+
+
Constructor logic for attributes. Initializes the host state, and sets up the inital attributes passed to the +constructor.
+Parameters:
+ +-
+
+
-
+
+
attrs+ Object + + + + +++ + +The attributes to add during construction (passed through to addAttrs). + These can also be defined on the constructor being augmented with Attribute by defining the ATTRS property on the constructor.
+
+
+ -
+
+
values+ Object + + + + +++ + +The initial attribute values to apply (passed through to addAttrs). + These are not merged/cloned. The caller is responsible for isolating user provided values if required.
+
+
+ -
+
+
lazy+ Boolean + + + + +++ + +Whether or not to add attributes lazily (passed through to addAttrs).
+
+
+
_initAttributes
+
+
+ -
+
+
-
+
+
config+ +
+
+
Attribute initializer
+Parameters:
+ +-
+
+
-
+
+
config+ Object + + + + +++ + +Config object.
+
+
+
_initAttrs
+
+
+ -
+
+
-
+
+
attrs+ +
+
+ -
+
+
values+ +
+
+ -
+
+
lazy+ +
+
+
Utility method to set up initial attributes defined during construction, +either through the constructor.ATTRS property, or explicitly passed in.
+Parameters:
+ +-
+
+
-
+
+
attrs+ Object + + + + +++ + +The attributes to add during construction (passed through to addAttrs). + These can also be defined on the constructor being augmented with Attribute by defining the ATTRS property on the constructor.
+
+
+ -
+
+
values+ Object + + + + +++ + +The initial attribute values to apply (passed through to addAttrs). + These are not merged/cloned. The caller is responsible for isolating user provided values if required.
+
+
+ -
+
+
lazy+ Boolean + + + + +++ + +Whether or not to add attributes lazily (passed through to addAttrs).
+
+
+
_initNode
+
+
+ -
+
+
-
+
+
config+ +
+
+
Parameters:
+ +-
+
+
-
+
+
config+ Object + + + + ++ ++ + +
+
+
_isLazyAttr
+
+
+ -
+
+
-
+
+
name+ +
+
+
Checks whether or not the attribute is one which has been +added lazily and still requires initialization.
+Parameters:
+ +-
+
+
-
+
+
name+ String + + + + +++ + +The name of the attribute
+
+
+
Returns:
+ +_normAttrVals
+
+
+ -
+
+
-
+
+
valueHash+ +
+
+
Utility method to normalize attribute values. The base implementation +simply merges the hash to protect the original.
+Parameters:
+ +-
+
+
-
+
+
valueHash+ Object + + + + +++ + +An object with attribute name/value pairs
+
+
+
Returns:
+ +_protectAttrs
+
+
+ -
+
+
-
+
+
attrs+ +
+
+
Utility method to protect an attribute configuration +hash, by merging the entire object and the individual +attr config objects.
+Parameters:
+ +-
+
+
-
+
+
attrs+ Object + + + + +++ + +A hash of attribute to configuration object pairs.
+
+
+
Returns:
+ +_set
+
+
+ -
+
+
-
+
+
name+ +
+
+ -
+
+
val+ +
+
+ -
+
+
[opts]+ +
+
+
Allows setting of readOnly/writeOnce attributes. See set for argument details.
+Parameters:
+ + +Returns:
+ +_setAttr
+
+
+ -
+
+
-
+
+
name+ +
+
+ -
+
+
value+ +
+
+ -
+
+
[opts]+ +
+
+ -
+
+
force+ +
+
+
Provides the common implementation for the public set and protected _set methods.
+ +See set for argument details.
+Parameters:
+ +-
+
+
-
+
+
name+ String + + + + +++ + +The name of the attribute.
+
+
+ -
+
+
value+ Any + + + + +++ + +The value to set the attribute to.
+
+
+ -
+
+
[opts]+ Object + optional + + + + +++ + +Optional data providing the circumstances for the change.
+
+
+ -
+
+
force+ Boolean + + + + +++ + +If true, allows the caller to set values for +readOnly or writeOnce attributes which have already been set.
+
+
+
Returns:
+ +_setAttrs
+
+
+ -
+
+
-
+
+
attrs+ +
+
+ -
+
+
[opts]+ +
+
+
Implementation behind the public setAttrs method, to set multiple attribute values.
+Parameters:
+ + +Returns:
+ +_setAttrVal
+
+
+ -
+
+
-
+
+
attrName+ +
+
+ -
+
+
subAttrName+ +
+
+ -
+
+
prevVal+ +
+
+ -
+
+
newVal+ +
+
+ -
+
+
[opts]+ +
+
+ -
+
+
[attrCfg]+ +
+
+
Updates the stored value of the attribute in the privately held State object, +if validation and setter passes.
+Parameters:
+ +-
+
+
-
+
+
attrName+ String + + + + +++ + +The attribute name.
+
+
+ -
+
+
subAttrName+ String + + + + +++ + +The sub-attribute name, if setting a sub-attribute property ("x.y.z").
+
+
+ -
+
+
prevVal+ Any + + + + +++ + +The currently stored value of the attribute.
+
+
+ -
+
+
newVal+ Any + + + + +++ + +The value which is going to be stored.
+
+
+ -
+
+
[opts]+ Object + optional + + + + +++ + +Optional data providing the circumstances for the change.
+
+
+ -
+
+
[attrCfg]+ Object + optional + + + + +++ + +Optional config hash for the attribute. This is added for performance along the critical path, +where the calling method has already obtained the config from state.
+
+
+
Returns:
+ +_setStateVal
+
+
+ -
+
+
-
+
+
name+ +
+
+ -
+
+
value+ +
+
+
Sets the stored value for the attribute, in either the +internal state object, or the state proxy if it exits
+Parameters:
+ +-
+
+
-
+
+
name+ String + + + + +++ + +The name of the attribute
+
+
+ -
+
+
value+ Any + + + + +++ + +The value of the attribute
+
+
+
_uiSetDisabled
+
+
+ -
+
+
-
+
+
value+ +
+
+
Setter for the 'disabled' ATTR
+Parameters:
+ +-
+
+
-
+
+
value+ Boolean + + + + ++ ++ + +
+
+
_uiSetLabel
+
+
+ -
+
+
-
+
+
label+ +
+
+
Setter for a button's 'label' ATTR
+Parameters:
+ +-
+
+
-
+
+
label+ String + + + + ++ ++ + +
+
+
addAttr
+
+
+ -
+
+
-
+
+
name+ +
+
+ -
+
+
config+ +
+
+ -
+
+
lazy+ +
+
+
+Adds an attribute with the provided configuration to the host object. +
+ ++The config argument object supports the following properties: +
+ +-
+
- value <Any> +
- The initial value to set on the attribute + +
- valueFn <Function | String> +
-
+
A function, which will return the initial value to set on the attribute. This is useful + for cases where the attribute configuration is defined statically, but needs to + reference the host instance ("this") to obtain an initial value. If both the value and valueFn properties are defined, + the value returned by the valueFn has precedence over the value property, unless it returns undefined, in which + case the value property is used.
+ +valueFn can also be set to a string, representing the name of the instance method to be used to retrieve the value.
+
+
+ - readOnly <boolean> +
- Whether or not the attribute is read only. Attributes having readOnly set to true + cannot be modified by invoking the set method. + +
- writeOnce <boolean> or <string> +
-
+ Whether or not the attribute is "write once". Attributes having writeOnce set to true,
+ can only have their values set once, be it through the default configuration,
+ constructor configuration arguments, or by invoking set.
+
The writeOnce attribute can also be set to the string "initOnly", + in which case the attribute can only be set during initialization + (when used with Base, this means it can only be set during construction)
+
+
+ - setter <Function | String> +
-
+
The setter function used to massage or normalize the value passed to the set method for the attribute. + The value returned by the setter will be the final stored value. Returning + Attribute.INVALID_VALUE, from the setter will prevent + the value from being stored. +
+ +setter can also be set to a string, representing the name of the instance method to be used as the setter function.
+
+
+ - getter <Function | String> +
-
+
+ The getter function used to massage or normalize the value returned by the get method for the attribute. + The value returned by the getter function is the value which will be returned to the user when they + invoke get. +
+ +getter can also be set to a string, representing the name of the instance method to be used as the getter function.
+
+
+ - validator <Function | String> +
-
+
+ The validator function invoked prior to setting the stored value. Returning + false from the validator function will prevent the value from being stored. +
+ +validator can also be set to a string, representing the name of the instance method to be used as the validator function.
+
+
+ - lazyAdd <boolean> +
- Whether or not to delay initialization of the attribute until the first call to get/set it. + This flag can be used to over-ride lazy initialization on a per attribute basis, when adding multiple attributes through + the addAttrs method. + +
The setter, getter and validator are invoked with the value and name passed in as the first and second arguments, and with +the context ("this") set to the host object.
+ +Configuration properties outside of the list mentioned above are considered private properties used internally by attribute, +and are not intended for public use.
+Parameters:
+ +-
+
+
-
+
+
name+ String + + + + +++ + +The name of the attribute.
+
+
+ -
+
+
config+ Object + + + + +++ + +An object with attribute configuration property/value pairs, specifying the configuration for the attribute.
+ ++NOTE: The configuration object is modified when adding an attribute, so if you need +to protect the original values, you will need to merge the object. +
+
+
+ -
+
+
lazy+ Boolean + + + + +++ + +(optional) Whether or not to add this attribute lazily (on the first call to get/set).
+
+
+
Returns:
+ +addAttrs
+
+
+ -
+
+
-
+
+
cfgs+ +
+
+ -
+
+
values+ +
+
+ -
+
+
lazy+ +
+
+
Configures a group of attributes, and sets initial values.
+ ++NOTE: This method does not isolate the configuration object by merging/cloning. +The caller is responsible for merging/cloning the configuration object if required. +
+Parameters:
+ +-
+
+
-
+
+
cfgs+ Object + + + + +++ + +An object with attribute name/configuration pairs.
+
+
+ -
+
+
values+ Object + + + + +++ + +An object with attribute name/value pairs, defining the initial values to apply. +Values defined in the cfgs argument will be over-written by values in this argument unless defined as read only.
+
+
+ -
+
+
lazy+ Boolean + + + + +++ + +Whether or not to delay the intialization of these attributes until the first call to get/set. +Individual attributes can over-ride this behavior by defining a lazyAdd configuration property in their configuration. +See addAttr.
+
+
+
Returns:
+ +attrAdded
+
+
+ -
+
+
-
+
+
name+ +
+
+
Checks if the given attribute has been added to the host
+Parameters:
+ +-
+
+
-
+
+
name+ String + + + + +++ + +The name of the attribute to check.
+
+
+
Returns:
+ +createNode
+
+
+ -
+
+
-
+
+
node+ +
+
+ -
+
+
config+ +
+
+
A factory that plugs a Y.Node instance with Y.Plugin.Button
+Parameters:
+ + +Returns:
+ +destroy
+
+
+ ()
+
+
+
+
+
+
+
+ private
+
+
+
+
+
+
+
+
+
+
+
+
+ disable
+
+
+ ()
+
+
+
+
+
+
+
+ public
+
+
+
+
+
+
+
+
+
+
+
+
+ Sets the button's disabled DOM attribute to true
enable
+
+
+ ()
+
+
+
+
+
+
+
+ public
+
+
+
+
+
+
+
+
+
+
+
+
+ Sets the button's disabled DOM attribute to false
get
+
+
+ -
+
+
-
+
+
name+ +
+
+
Returns the current value of the attribute. If the attribute +has been configured with a 'getter' function, this method will delegate +to the 'getter' to obtain the value of the attribute.
+Parameters:
+ +-
+
+
-
+
+
name+ String + + + + +++ + +The name of the attribute. If the value of the attribute is an Object, +dot notation can be used to obtain the value of a property of the object (e.g.
+get("x.y.z"))
+
+
Returns:
+ +getAttrs
+
+
+ -
+
+
-
+
+
attrs+ +
+
+
Gets multiple attribute values.
+Parameters:
+ +-
+
+
-
+
+
attrs+ Array | boolean + + + + +++ + +Optional. An array of attribute names. If omitted, all attribute values are +returned. If set to true, all attributes modified from their initial values are returned.
+
+
+
Returns:
+ +getNode
+
+
+ ()
+
+
+
+
+
+
+
+ public
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets the host DOM node for this button instance
+initializer
+
+
+ -
+
+
-
+
+
config+ +
+
+
Internal init() handler.
+Parameters:
+ +-
+
+
-
+
+
config+ Object + + + + +++ + +Config object.
+
+
+
renderUI
+
+
+ -
+
+
-
+
+
config+ +
+
+
Renders any UI/DOM elements for Button instances
+Parameters:
+ +-
+
+
-
+
+
config+ Object + + + + +++ + +Config object.
+
+
+
set
+
+
+ -
+
+
-
+
+
name+ +
+
+ -
+
+
value+ +
+
+ -
+
+
[opts]+ +
+
+
Sets the value of an attribute.
+Parameters:
+ +-
+
+
-
+
+
name+ String + + + + +++ + +The name of the attribute. If the +current value of the attribute is an Object, dot notation can be used +to set the value of a property within the object (e.g.
+set("x.y.z", 5)).
+
+ -
+
+
value+ Any + + + + +++ + +The value to set the attribute to.
+
+
+ -
+
+
[opts]+ Object + optional + + + + +++ + +Optional data providing the circumstances for the change.
+
+
+
Returns:
+ +Properties
+ + +ATTRS
+ Object
+
+
+
+
+ private
+
+
+
+
+
+ static
+
+
+
+
+ Attribute configuration.
+constructor
+ Object
+
+
+
+
+ private
+
+
+
+
+
+
+
+
+ Default: ButtonCore
+ + + + + +Attributes
+ + +disabled
+ Boolean
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The button's enabled/disabled state
+Fires event disabledChange
+
+
+ Fires when the value for the configuration attribute disabled is
+ changed. You can listen for the event using the on method if you
+ wish to be notified before the attribute's value has changed, or
+ using the after method if you wish to be notified after the
+ attribute's value has changed.
+
Parameters:
+ +-
+
-
+
e+ EventFacade + ++ An Event Facade object with the following + attribute-specific properties added: ++ +-
+
-
+
prevVal+ Any +The value of the attribute, prior to it being set.+
+ -
+
newVal+ Any +The value the attribute is to be set to.+
+ -
+
attrName+ String +The name of the attribute being set.+
+ -
+
subAttrName+ String +If setting a property within the attribute's value, the name of the sub-attribute property being set.+
+
+ -
+
label
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The text of the button (the value or text property)
Fires event labelChange
+
+
+ Fires when the value for the configuration attribute label is
+ changed. You can listen for the event using the on method if you
+ wish to be notified before the attribute's value has changed, or
+ using the after method if you wish to be notified after the
+ attribute's value has changed.
+
Parameters:
+ +-
+
-
+
e+ EventFacade + ++ An Event Facade object with the following + attribute-specific properties added: ++ +-
+
-
+
prevVal+ Any +The value of the attribute, prior to it being set.+
+ -
+
newVal+ Any +The value the attribute is to be set to.+
+ -
+
attrName+ String +The name of the attribute being set.+
+ -
+
subAttrName+ String +If setting a property within the attribute's value, the name of the sub-attribute property being set.+
+
+ -
+
