DataTable.BodyView Class
+ + + + +View class responsible for rendering the <tbody> section of a table. Used as
+the default bodyView for Y.DataTable.Base and Y.DataTable classes.
Translates the provided modelList into a rendered <tbody> based on the data
+in the constituent Models, altered or ammended by any special column
+configurations.
The columns configuration, passed to the constructor, determines which
+columns will be rendered.
The rendering process involves constructing an HTML template for a complete row
+of data, built by concatenating a customized copy of the instance's
+CELL_TEMPLATE into the ROW_TEMPLATE once for each column. This template is
+then populated with values from each Model in the modelList, aggregating a
+complete HTML string of all row and column data. A <tbody> Node is then created from the markup and any column nodeFormatters are applied.
Supported properties of the column objects include:
+ +-
+
key- Used to link a column to an attribute in a Model.
+name- Used for columns that don't relate to an attribute in the Model +(formatterornodeFormatteronly) if the implementer wants a +predictable name to refer to in their CSS.
+cellTemplate- Overrides the instance'sCELL_TEMPLATEfor cells in this +column only.
+formatter- Used to customize or override the content value from the +Model. These do not have access to the cell or row Nodes and should +return string (HTML) content.
+nodeFormatter- Used to provide content for a cell as well as perform any +custom modifications on the cell or row Node that could not be performed by +formatters. Should be used sparingly for better performance.
+emptyCellValue- String (HTML) value to use if the Model data for a +column, or the content generated by aformatter, is the empty string, +null, orundefined.
+allowHTML- Set totrueif a column value,formatter, or +emptyCellValuecan contain HTML. This defaults tofalseto protect +against XSS.
+className- Space delimited CSS classes to add to all<td>s in a column.
+
A column formatter can be:
-
+
- a function, as described below. +
- a string which can be:
+
- the name of a pre-defined formatter function
+which can be located in the
Y.DataTable.BodyView.Formattershash using the +value of theformatterproperty as the index.
+ - A template that can use the
{value}placeholder to include the value +for the current cell or the name of any field in the underlaying model +also enclosed in curly braces. Any number and type of these placeholders +can be used.
+ - the name of a pre-defined formatter function
+which can be located in the
Column formatters are passed an object (o) with the following properties:
-
+
value- The current value of the column's associated attribute, if any.
+data- An object map of Model keys to their current values.
+record- The Model instance.
+column- The column configuration object for the current column.
+className- Initially empty string to allowformatters to add CSS +classes to the cell's<td>.
+rowIndex- The zero-based row number.
+rowClass- Initially empty string to allowformatters to add CSS +classes to the cell's containing row<tr>.
+
They may return a value or update o.value to assign specific HTML content. A
+returned value has higher precedence.
Column nodeFormatters are passed an object (o) with the following
+properties:
-
+
value- The current value of the column's associated attribute, if any.
+td- The<td>Node instance.
+cell- The<div>liner Node instance if present, otherwise, the<td>. +When adding content to the cell, prefer appending into this property.
+data- An object map of Model keys to their current values.
+record- The Model instance.
+column- The column configuration object for the current column.
+rowIndex- The zero-based row number.
+
They are expected to inject content into the cell's Node directly, including
+any "empty" cell content. Each nodeFormatter will have access through the
+Node API to all cells and rows in the <tbody>, but not to the <table>, as
+it will not be attached yet.
If a nodeFormatter returns false, the o.td and o.cell Nodes will be
+destroy()ed to remove them from the Node cache and free up memory. The DOM
+elements will remain as will any content added to them. It is highly
+advisable to always return false from your nodeFormatters.
-
+
- Index + + +
- Methods + + +
- Properties + + +
- Attributes + + +
- Events + +
Item Index
+ + +Methods
+ +-
+
+
- + _addAttrs + + + + + +
- + _addLazyAttr + + + + + +
- + _afterColumnsChange + + + + + +
- + _afterContainerChange + + + + + +
- + _afterDataChange + + + + + +
- + _afterModelListChange + + + + + +
- + _afterRenderCleanup + + + + + +
- + _aggregateAttrs + + + + + +
- + _applyNodeFormatters + + + + + +
- + _attrCfgHash + + + + + +
- + _baseDestroy + + + + + +
- + _baseInit + + + + + +
- + _cloneDefaultValue + + + + + +
- + _createDataHTML + + + + + +
- + _createRowHTML + + + + + +
- + _createRowTemplate + + + + + +
- + _createTBodyNode + + + + + +
- + _defAttrChangeFn + + + + + +
- + _defDestroyFn + + + + + +
- + _defInitFn + + + + + +
- + _destroyContainer + + + + + +
- + _destroyHierarchy + + + + + +
- + _filterAdHocAttrs + + + + + +
- + _filterAttrCfgs + + + + + +
- + _fireAttrChange + + + + + +
- + _getAttr + + + + + +
- + _getAttrCfg + + + + + +
- + _getAttrCfgs + + + + + +
- + _getAttrInitVal + + + + + +
- + _getAttrs + + + + + +
- + _getClasses + + + + + +
- + _getContainer + + + + + +
- + _getFullType + + + + + +
- + _getRowId + + + + + +
- + _getStateVal + + + + + +
- + _getType + + + + + +
- + _initAttrHost + + + + + +
- + _initAttribute + + + + + +
- + _initAttrs + + + + + +
- + _initBase + + + + + +
- + _initHierarchy + + + + + +
- + _initHierarchyData + + + + + +
- + _isLazyAttr + + + + + +
- + _monitor + + + + + +
- + _normAttrVals + + + + + +
- + _parseType + + + + + +
- + _preInitEventCfg + + + + + +
- + _protectAttrs + + + + deprecated + + + +
- + _publish + + + + + +
- + _set + + + + + +
- + _setAttr + + + + + +
- + _setAttrs + + + + + +
- + _setAttrVal + + + + + +
- + _setStateVal + + + + + +
- + addAttr + + + + + +
- + addAttrs + + + + + +
- + addTarget + + + + + +
- + after + + + + + +
- + attachEvents + + + + + +
- + attrAdded + + + + + +
- + before + + + + + +
- + bindUI + + + + + +
- + bubble + + + + + +
- + create + + + + + +
- + destroy + + + + + +
- + destructor + + + + + +
- + detach + + + + + +
- + detachAll + + + + + +
- + detachEvents + + + + + +
- + fire + + + + + +
- + get + + + + + +
- + getAttrs + + + + + +
- + getCell + + + + + +
- + getClassName + + + + + +
- + getEvent + + + + + +
- + getRecord + + + + + +
- + getRow + + + + + +
- + getTargets + + + + + +
- + init + + + + + +
- + initializer + + + + + +
- + modifyAttr + + + + + +
- + on + + + + + +
- + once + + + + + +
- + onceAfter + + + + + +
- + parseType + + + + + +
- + publish + + + + + +
- + remove + + + + + +
- + removeAttr + + + + + +
- + removeTarget + + + + + +
- + render + + + + + +
- + reset + + + + + +
- + set + + + + + +
- + setAttrs + + + + + +
- + subscribe + + + + deprecated + + + +
- + toString + + + + + +
- + unsubscribe + + + + deprecated + + + +
- + unsubscribeAll + + + + deprecated + + + +
Properties
+ +-
+
+
- + _allowAdHocAttrs + + + + + +
- + _eventHandles + + + + + +
- + _idMap + + + + + +
- + _rowTemplate + + + + + +
- + CELL_TEMPLATE + + + + + +
- + CLASS_EVEN + + + + + +
- + CLASS_ODD + + + + + +
- + containerTemplate + + + + + +
- + events + + + + + +
- + Formatters + + + static + + + + +
- + host + + + + + +
- + name + + + + deprecated + + + +
- + ROW_TEMPLATE + + + + + +
- + TBODY_TEMPLATE + + + + + +
- + template + + + + + +
Attributes
+ +-
+
+
- + container + + +
- + destroyed + + +
- + initialized + + +
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:
+ + +_afterColumnsChange
+
+
+ -
+
+
-
+
+
e+ +
+
+
Handles changes in the source's columns attribute. Redraws the table data.
+Parameters:
+ +-
+
+
-
+
+
e+ EventFacade + + + + +++ + +The
+columnsChangeevent object
+
+
_afterContainerChange
+
+
+ ()
+
+
+
+
+
+
+
+ protected
+
+
+
+
+
+
+
+
+
+
+
+
+ Handles containerChange events. Detaches event handlers from the old
+container (if any) and attaches them to the new container.
Right now the container attr is initOnly so this event should only ever
+fire the first time the container is created, but in the future (once Y.App
+can handle it) we may allow runtime container changes.
_afterDataChange
+
+
+ -
+
+
-
+
+
e+ +
+
+
Handles modelList changes, including additions, deletions, and updates.
+ +Modifies the existing table DOM accordingly.
+Parameters:
+ +-
+
+
-
+
+
e+ EventFacade + + + + +++ + +The
+changeevent from the ModelList
+
+
_afterModelListChange
+
+
+ -
+
+
-
+
+
e+ +
+
+
Handles replacement of the modelList.
+ +Rerenders the <tbody> contents.
Parameters:
+ +-
+
+
-
+
+
e+ EventFacade + + + + +++ + +The
+modelListChangeevent
+
+
_afterRenderCleanup
+
+
+ ()
+
+
+
+
+
+
+
+ private
+
+
+
+
+
+
+
+
+
+
+
+
+ Cleans up temporary values created during rendering.
+_aggregateAttrs
+
+
+ -
+
+
-
+
+
allAttrs+ +
+
+
A helper method, used by _initHierarchyData to aggregate +attribute configuration across the instances class hierarchy.
+ +The method will protect the attribute configuration value to protect the statically defined +default value in ATTRS if required (if the value is an object literal, array or the +attribute configuration has cloneDefaultValue set to shallow or deep).
+Parameters:
+ +-
+
+
-
+
+
allAttrs+ Array + + + + +++ + +An array of ATTRS definitions across classes in the hierarchy +(subclass first, Base last)
+
+
+
Returns:
+ +_applyNodeFormatters
+
+
+ -
+
+
-
+
+
tbody+ +
+
+ -
+
+
columns+ +
+
+
Iterates the modelList, and calls any nodeFormatters found in the
+columns param on the appropriate cell Nodes in the tbody.
_attrCfgHash
+
+
+ ()
+
+
+
+
+
+
+
+ private
+
+
+
+
+
+
+
+
+
+
+
+
+ Utility method to define the attribute hash used to filter/whitelist property mixes for +this class for iteration performance reasons.
+_baseDestroy
+
+
+ ()
+
+
+
+
+
+
+
+ private
+
+
+
+
+
+
+
+
+
+
+
+
+ Internal destroy implementation for BaseCore
+_baseInit
+
+
+ ()
+
+
+
+
+
+
+
+ private
+
+
+
+
+
+
+
+
+
+
+
+
+ Internal initialization implementation for BaseCore
+_cloneDefaultValue
+
+
+ -
+
+
-
+
+
cfg+ +
+
+
This method assumes that the value has already been checked to be an object. +Since it's on a critical path, we don't want to re-do the check.
+Parameters:
+ +-
+
+
-
+
+
cfg+ Object + + + + ++ ++ + +
+
+
_createDataHTML
+
+
+ -
+
+
-
+
+
columns+ +
+
+
Iterates the modelList and applies each Model to the _rowTemplate,
+allowing any column formatter or emptyCellValue to override cell
+content for the appropriate column. The aggregated HTML string is
+returned.
Parameters:
+ +-
+
+
-
+
+
columns+ Object[] + + + + +++ + +The column configurations to customize the + generated cell content or class names
+
+
+
Returns:
+ +modelList, each applied
+ to the _rowTemplate
+
+ _createRowHTML
+
+
+ -
+
+
-
+
+
model+ +
+
+ -
+
+
index+ +
+
+ -
+
+
columns+ +
+
+
Applies the data of a given Model, modified by any column formatters and
+supplemented by other template values to the instance's _rowTemplate (see
+_createRowTemplate). The generated string is then returned.
The data from Model's attributes is fetched by toJSON and this data
+object is appended with other properties to supply values to {placeholders}
+in the template. For a template generated from a Model with 'foo' and 'bar'
+attributes, the data object would end up with the following properties
+before being used to populate the _rowTemplate:
-
+
clientID- From Model, used the assign the<tr>'s 'id' attribute.
+foo- The value to populate the 'foo' column cell content. This +value will be the value stored in the Model'sfooattribute, or the +result of the column'sformatterif assigned. If the value is '', +null, orundefined, and the column'semptyCellValueis assigned, +that value will be used.
+bar- Same for the 'bar' column cell content.
+foo-className- String of CSS classes to apply to the<td>.
+bar-className- Same.
+rowClass- String of CSS classes to apply to the<tr>. This +will be the odd/even class per the specified index plus any additional +classes assigned by column formatters (viao.rowClass).
+
Because this object is available to formatters, any additional properties
+can be added to fill in custom {placeholders} in the _rowTemplate.
Parameters:
+ + +Returns:
+ +nodeFormatters
+
+ _createRowTemplate
+
+
+ -
+
+
-
+
+
columns+ +
+
+
Creates a custom HTML template string for use in generating the markup for
+individual table rows with {placeholder}s to capture data from the Models
+in the modelList attribute or from column formatters.
Assigns the _rowTemplate property.
Parameters:
+ +-
+
+
-
+
+
columns+ Object[] + + + + +++ + +Array of column configuration objects
+
+
+
_createTBodyNode
+
+
+ ()
+
+
+
+
+ Node
+
+
+
+
+
+
+ protected
+
+
+
+
+
+
+
+
+
+
+
+
+ Creates the <tbody> node that will store the data rows.
Returns:
+ +_defAttrChangeFn
+
+
+ -
+
+
-
+
+
e+ +
+
+
Default function for attribute change events.
+Parameters:
+ +-
+
+
-
+
+
e+ EventFacade + + + + +++ + +The event object for attribute change events.
+
+
+
_defDestroyFn
+
+
+ -
+
+
-
+
+
e+ +
+
+
Default destroy event handler
+Parameters:
+ +-
+
+
-
+
+
e+ EventFacade + + + + +++ + +Event object
+
+
+
_defInitFn
+
+
+ -
+
+
-
+
+
e+ +
+
+
Default init event handler
+Parameters:
+ +-
+
+
-
+
+
e+ EventFacade + + + + +++ + +Event object, with a cfg property which +refers to the configuration object passed to the constructor.
+
+
+
_destroyContainer
+
+
+ ()
+
+
+
+
+
+
+
+ protected
+
+
+
+
+
+
+
+
+
+
+
+
+ Removes the container from the DOM and purges all its event listeners.
_destroyHierarchy
+
+
+ ()
+
+
+
+
+
+
+
+ private
+
+
+
+
+
+
+
+
+
+
+
+
+ Destroys the class hierarchy for this instance by invoking +the destructor method on the prototype of each class in the hierarchy.
+_filterAdHocAttrs
+
+
+ -
+
+
-
+
+
allAttrs+ +
+
+ -
+
+
userVals+ +
+
+
Parameters:
+ +-
+
+
-
+
+
allAttrs+ Object + + + + +++ + +The set of all attribute configurations for this instance. +Attributes will be removed from this set, if they belong to the filtered class, so +that by the time all classes are processed, allCfgs will be empty.
+
+
+ -
+
+
userVals+ Object + + + + +++ + +The config object passed in by the user, from which adhoc attrs are to be filtered.
+
+
+
Returns:
+ +_filterAttrCfgs
+
+
+ -
+
+
-
+
+
clazz+ +
+
+ -
+
+
allCfgs+ +
+
+
A helper method used when processing ATTRS across the class hierarchy during +initialization. Returns a disposable object with the attributes defined for +the provided class, extracted from the set of all attributes passed in.
+Parameters:
+ +-
+
+
-
+
+
clazz+ Function + + + + +++ + +The class for which the desired attributes are required.
+
+
+ -
+
+
allCfgs+ Object + + + + +++ + +The set of all attribute configurations for this instance. +Attributes will be removed from this set, if they belong to the filtered class, so +that by the time all classes are processed, allCfgs will be empty.
+
+
+
Returns:
+ +_fireAttrChange
+
+
+ -
+
+
-
+
+
attrName+ +
+
+ -
+
+
subAttrName+ +
+
+ -
+
+
currVal+ +
+
+ -
+
+
newVal+ +
+
+ -
+
+
opts+ +
+
+ -
+
+
[cfg]+ +
+
+
Utility method to help setup the event payload and fire the attribute change event.
+Parameters:
+ +-
+
+
-
+
+
attrName+ String + + + + +++ + +The name of the attribute
+
+
+ -
+
+
subAttrName+ String + + + + +++ + +The full path of the property being changed, +if this is a sub-attribute value being change. Otherwise null.
+
+
+ -
+
+
currVal+ Any + + + + +++ + +The current value of the attribute
+
+
+ -
+
+
newVal+ Any + + + + +++ + +The new value of the attribute
+
+
+ -
+
+
opts+ Object + + + + +++ + +Any additional event data to mix into the attribute change event's event facade.
+
+
+ -
+
+
[cfg]+ Object + optional + + + + +++ + +The attribute config stored in State, if already available.
+
+
+
_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:
+ +_getAttrCfg
+
+
+ -
+
+
-
+
+
name+ +
+
+
Returns an object with the configuration properties (and value) +for the given attribute. If attrName is not provided, returns the +configuration properties for all attributes.
+Parameters:
+ +-
+
+
-
+
+
name+ String + + + + +++ + +Optional. The attribute name. If not provided, the method will return the configuration for all attributes.
+
+
+
Returns:
+ +_getAttrCfgs
+
+
+ ()
+
+
+
+
+ Object
+
+
+
+
+
+
+ protected
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns an aggregated set of attribute configurations, by traversing +the class hierarchy.
+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:
+ +_getClasses
+
+
+ ()
+
+
+
+
+ Function[]
+
+
+
+
+
+
+ protected
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns the class hierarchy for this object, with BaseCore being the last class in the array.
+Returns:
+ +_getContainer
+
+
+ -
+
+
-
+
+
value+ +
+
+
Getter for the container attribute.
Parameters:
+ +-
+
+
-
+
+
value+ Node | Null + + + + +++ + +Current attribute value.
+
+
+
Returns:
+ +_getFullType
+
+
+ -
+
+
-
+
+
type+ +
+
+
Returns the fully qualified type, given a short type string. +That is, returns "foo:bar" when given "bar" if "foo" is the configured prefix.
+ +NOTE: This method, unlike _getType, does no checking of the value passed in, and +is designed to be used with the low level _publish() method, for critical path +implementations which need to fast-track publish for performance reasons.
+Parameters:
+ +-
+
+
-
+
+
type+ String + + + + +++ + +The short type to prefix
+
+
+
Returns:
+ +_getRowId
+
+
+ -
+
+
-
+
+
clientId+ +
+
+
Returns the row ID associated with a Model's clientId.
+Parameters:
+ +-
+
+
-
+
+
clientId+ String + + + + +++ + +The Model clientId
+
+
+
Returns:
+ +_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:
+ +_getType
+
+
+ ()
+
+
+
+
+
+
+
+ private
+
+
+
+
+
+
+
+
+
+
+
+
+ If the instance has a prefix attribute and the +event type is not prefixed, the instance prefix is +applied to the supplied type.
+_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).
+
+
+
_initAttribute
+
+
+ ()
+
+
+
+
+
+
+
+ private
+
+
+
+
+
+
+
+
+
+
+
+
+ Initializes AttributeCore
+_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).
+
+
+
_initBase
+
+
+ -
+
+
-
+
+
config+ +
+
+
Internal construction logic for BaseCore.
+Parameters:
+ +-
+
+
-
+
+
config+ Object + + + + +++ + +The constructor configuration object
+
+
+
_initHierarchy
+
+
+ -
+
+
-
+
+
userVals+ +
+
+
Initializes the class hierarchy for the instance, which includes +initializing attributes for each class defined in the class's +static ATTRS property and +invoking the initializer method on the prototype of each class in the hierarchy.
+Parameters:
+ +-
+
+
-
+
+
userVals+ Object + + + + +++ + +Object with configuration property name/value pairs
+
+
+
_initHierarchyData
+
+
+ ()
+
+
+
+
+
+
+
+ private
+
+
+
+
+
+
+
+
+
+
+
+
+ A helper method used by _getClasses and _getAttrCfgs, which determines both +the array of classes and aggregate set of attribute configurations +across the class hierarchy for the instance.
+_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:
+ +_monitor
+
+
+ -
+
+
-
+
+
what+ +
+
+ -
+
+
eventType+ +
+
+ -
+
+
o+ +
+
+
This is the entry point for the event monitoring system. +You can monitor 'attach', 'detach', 'fire', and 'publish'. +When configured, these events generate an event. click -> +clickattach, clickdetach, click_publish -- these can +be subscribed to like other events to monitor the event +system. Inividual published events can have monitoring +turned on or off (publish can't be turned off before it +it published) by setting the events 'monitor' config.
+Parameters:
+ +-
+
+
-
+
+
what+ String + + + + +++ + +'attach', 'detach', 'fire', or 'publish'
+
+
+ -
+
+
eventType+ String | CustomEvent + + + + +++ + +The prefixed name of the event being monitored, or the CustomEvent object.
+
+
+ -
+
+
o+ Object + + + + +++ + +Information about the event interaction, such as + fire() args, subscription category, publish config
+
+
+
_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:
+ +_parseType
+
+
+ ()
+
+
+
+
+
+
+
+ private
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns an array with the detach key (if provided), +and the prefixed event name from _getType +Y.on('detachcategory| menu:click', fn)
+_preInitEventCfg
+
+
+ -
+
+
-
+
+
config+ +
+
+
Handles the special on, after and target properties which allow the user to +easily configure on and after listeners as well as bubble targets during +construction, prior to init.
+Parameters:
+ +-
+
+
-
+
+
config+ Object + + + + +++ + +The user configuration object
+
+
+
_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:
+ +_publish
+
+
+ -
+
+
-
+
+
fullType+ +
+
+ -
+
+
etOpts+ +
+
+ -
+
+
ceOpts+ +
+
+
The low level event publish implementation. It expects all the massaging to have been done
+outside of this method. e.g. the type to fullType conversion. It's designed to be a fast
+path publish, which can be used by critical code paths to improve performance.
Parameters:
+ +-
+
+
-
+
+
fullType+ String + + + + +++ + +The prefixed type of the event to publish.
+
+
+ -
+
+
etOpts+ Object + + + + +++ + +The EventTarget specific configuration to mix into the published event.
+
+
+ -
+
+
ceOpts+ Object + + + + +++ + +The publish specific configuration to mix into the published event.
+
+
+
Returns:
+ +etOpts or ceOpts, this will
+be the default CustomEvent instance, and can be configured independently.
+
+ _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
+
+
+
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:
+ +addTarget
+
+
+ -
+
+
-
+
+
o+ +
+
+
Registers another EventTarget as a bubble target. Bubble order +is determined by the order registered. Multiple targets can +be specified.
+ +Events can only bubble if emitFacade is true.
+ +Included in the event-custom-complex submodule.
+Parameters:
+ +-
+
+
-
+
+
o+ EventTarget + + + + +++ + +the target to add
+
+
+
after
+
+
+ -
+
+
-
+
+
type+ +
+
+ -
+
+
fn+ +
+
+ -
+
+
[context]+ +
+
+ -
+
+
[arg*]+ +
+
+
Subscribe to a custom event hosted by this object. The +supplied callback will execute after any listeners add +via the subscribe method, and after the default function, +if configured for the event, has executed.
+Parameters:
+ +-
+
+
-
+
+
type+ String + + + + +++ + +The name of the event
+
+
+ -
+
+
fn+ Function + + + + +++ + +The callback to execute in response to the event
+
+
+ -
+
+
[context]+ Object + optional + + + + +++ + +Override
+thisobject in callback
+
+ -
+
+
[arg*]+ Any + optional + + + + +++ + +0..n additional arguments to supply to the subscriber
+
+
+
Returns:
+ +attachEvents
+
+
+ -
+
+
-
+
+
[events]+ +
+
+
Attaches delegated event handlers to this view's container element. This
+method is called internally to subscribe to events configured in the
+events attribute when the view is initialized.
You may override this method to customize the event attaching logic.
+Parameters:
+ +-
+
+
-
+
+
[events]+ Object + optional + + + + +++ + +Hash of events to attach. See the docs for the +
+eventsattribute for details on the format. If not specified, this + view'seventsproperty will be used.
+
+
attrAdded
+
+
+ -
+
+
-
+
+
name+ +
+
+
Checks if the given attribute has been added to the host
+Parameters:
+ +-
+
+
-
+
+
name+ String + + + + +++ + +The name of the attribute to check.
+
+
+
Returns:
+ +before
+
+
+ ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Executes the callback before a DOM event, custom event +or method. If the first argument is a function, it +is assumed the target is a method. For DOM and custom +events, this is an alias for Y.on.
+ +For DOM and custom events: +type, callback, context, 0-n arguments
+ +For methods: +callback, object (method host), methodName, context, 0-n arguments
+Returns:
+ +bindUI
+
+
+ ()
+
+
+
+
+
+
+
+ protected
+
+
+
+
+
+
+
+
+
+
+
+
+ Binds event subscriptions from the UI and the host (if assigned).
+bubble
+
+
+ -
+
+
-
+
+
evt+ +
+
+
Propagate an event. Requires the event-custom-complex module.
+Parameters:
+ +-
+
+
-
+
+
evt+ CustomEvent + + + + +++ + +the custom event to propagate
+
+
+
Returns:
+ +create
+
+
+ -
+
+
-
+
+
[container]+ +
+
+
Creates and returns a container node for this view.
+ +By default, the container is created from the HTML template specified in the
+containerTemplate property, and is not added to the DOM automatically.
You may override this method to customize how the container node is created
+(such as by rendering it from a custom template format). Your method must
+return a Y.Node instance.
Parameters:
+ +-
+
+
-
+
+
[container]+ HTMLElement | Node | String + optional + + + + +++ + +Selector string,
+Y.Node+ instance, or DOM element to use at the container node.
+
+
Returns:
+ +destroy
+
+
+ -
+
+
-
+
+
[options]+ +
+
+
Destroys this View, detaching any DOM events and optionally also destroying +its container node.
+ +By default, the container node will not be destroyed. Pass an options
+object with a truthy remove property to destroy the container as well.
destructor
+
+
+ ()
+
+
+
+
+
+
+
+ protected
+
+
+
+
+
+
+
+
+
+
+
+
+ Destroys the instance.
+detach
+
+
+ -
+
+
-
+
+
type+ +
+
+ -
+
+
fn+ +
+
+ -
+
+
context+ +
+
+
Detach one or more listeners the from the specified event
+Parameters:
+ +-
+
+
-
+
+
type+ String | Object + + + + +++ + +Either the handle to the subscriber or the + type of event. If the type + is not specified, it will attempt to remove + the listener from all hosted events.
+
+
+ -
+
+
fn+ Function + + + + +++ + +The subscribed function to unsubscribe, if not + supplied, all subscribers will be removed.
+
+
+ -
+
+
context+ Object + + + + +++ + +The custom object passed to subscribe. This is + optional, but if supplied will be used to + disambiguate multiple listeners that are the same + (e.g., you subscribe many object using a function + that lives on the prototype)
+
+
+
Returns:
+ +detachAll
+
+
+ -
+
+
-
+
+
type+ +
+
+
Removes all listeners from the specified event. If the event type +is not specified, all listeners from all hosted custom events will +be removed.
+Parameters:
+ +-
+
+
-
+
+
type+ String + + + + +++ + +The type, or name of the event
+
+
+
detachEvents
+
+
+ ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+ chainable
+
+
+
+
+
+
+ Detaches DOM events that have previously been attached to the container by
+attachEvents().
fire
+
+
+ -
+
+
-
+
+
type+ +
+
+ -
+
+
arguments+ +
+
+
Fire a custom event by name. The callback functions will be executed +from the context specified when the event was created, and with the +following parameters.
+ +If the custom event object hasn't been created, then the event hasn't +been published and it has no subscribers. For performance sake, we +immediate exit in this case. This means the event won't bubble, so +if the intention is that a bubble target be notified, the event must +be published on this object first.
+ +The first argument is the event type, and any additional arguments are +passed to the listeners as parameters. If the first of these is an +object literal, and the event is configured to emit an event facade, +that object is mixed into the event facade and the facade is provided +in place of the original object.
+Parameters:
+ +-
+
+
-
+
+
type+ String | Object + + + + +++ + +The type of the event, or an object that contains +a 'type' property.
+
+
+ -
+
+
arguments+ Object* + + + + +++ + +an arbitrary set of parameters to pass to +the handler. If the first of these is an object literal and the event is +configured to emit an event facade, the event facade will replace that +parameter after the properties the object literal contains are copied to +the event facade.
+
+
+
Returns:
+ +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:
+ +getCell
+
+
+ -
+
+
-
+
+
seed+ +
+
+ -
+
+
[shift]+ +
+
+
Returns the <td> Node from the given row and column index. Alternately,
+the seed can be a Node. If so, the nearest ancestor cell is returned.
+If the seed is a cell, it is returned. If there is no cell at the given
+coordinates, null is returned.
Optionally, include an offset array or string to return a cell near the
+cell identified by the seed. The offset can be an array containing the
+number of rows to shift followed by the number of columns to shift, or one
+of "above", "below", "next", or "previous".
// Previous cell in the previous row
+var cell = table.getCell(e.target, [-1, -1]);
+
+// Next cell
+var cell = table.getCell(e.target, 'next');
+var cell = table.getCell(e.taregt, [0, 1];
+ Parameters:
+ + +Returns:
+ +getClassName
+
+
+ -
+
+
-
+
+
token+ +
+
+
Returns the generated CSS classname based on the input. If the host
+attribute is configured, it will attempt to relay to its getClassName
+or use its static NAME property as a string base.
If host is absent or has neither method nor NAME, a CSS classname
+will be generated using this class's NAME.
Parameters:
+ +-
+
+
-
+
+
token+ String + + + + multiple + + +++ + +Any number of token strings to assemble the + classname from.
+
+
+
Returns:
+ +getEvent
+
+
+ -
+
+
-
+
+
type+ +
+
+ -
+
+
prefixed+ +
+
+
Returns the custom event of the provided type has been created, a +falsy value otherwise
+Parameters:
+ + +Returns:
+ +getRecord
+
+
+ -
+
+
-
+
+
seed+ +
+
+
Returns the Model associated to the row Node or id provided. Passing the +Node or id for a descendant of the row also works.
+ +If no Model can be found, null is returned.
Parameters:
+ + +Returns:
+ +getRow
+
+
+ -
+
+
-
+
+
id+ +
+
+
Returns the <tr> Node from the given row index, Model, or Model's
+clientId. If the rows haven't been rendered yet, or if the row can't be
+found by the input, null is returned.
Parameters:
+ + +Returns:
+ +getTargets
+
+
+ ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns an array of bubble targets for this object.
+Returns:
+ +init
+
+
+ -
+
+
-
+
+
cfg+ +
+
+
Init lifecycle method, invoked during construction. Sets up attributes +and invokes initializers for the class hierarchy.
+Parameters:
+ +-
+
+
-
+
+
cfg+ Object + + + + +++ + +Object with configuration property name/value pairs
+
+
+
Returns:
+ +initializer
+
+
+ -
+
+
-
+
+
config+ +
+
+
Initializes the instance. Reads the following configuration properties in +addition to the instance attributes:
+ +-
+
columns- (REQUIRED) The initial column information
+host- The object to serve as source of truth for column info and + for generating class names
+
Parameters:
+ +-
+
+
-
+
+
config+ Object + + + + +++ + +Configuration data
+
+
+
modifyAttr
+
+
+ -
+
+
-
+
+
name+ +
+
+ -
+
+
config+ +
+
+
Updates the configuration of an attribute which has already been added.
+ ++The properties which can be modified through this interface are limited +to the following subset of attributes, which can be safely modified +after a value has already been set on the attribute: readOnly, writeOnce, +broadcast and getter. +
+on
+
+
+ -
+
+
-
+
+
type+ +
+
+ -
+
+
fn+ +
+
+ -
+
+
[context]+ +
+
+ -
+
+
[arg*]+ +
+
+
Subscribe a callback function to a custom event fired by this object or +from an object that bubbles its events to this object.
+ +Callback functions for events published with emitFacade = true will
+receive an EventFacade as the first argument (typically named "e").
+These callbacks can then call e.preventDefault() to disable the
+behavior published to that event's defaultFn. See the EventFacade
+API for all available properties and methods. Subscribers to
+non-emitFacade events will receive the arguments passed to fire()
+after the event name.
To subscribe to multiple events at once, pass an object as the first +argument, where the key:value pairs correspond to the eventName:callback, +or pass an array of event names as the first argument to subscribe to +all listed events with the same callback.
+ +Returning false from a callback is supported as an alternative to
+calling e.preventDefault(); e.stopPropagation();. However, it is
+recommended to use the event methods whenever possible.
Parameters:
+ +-
+
+
-
+
+
type+ String + + + + +++ + +The name of the event
+
+
+ -
+
+
fn+ Function + + + + +++ + +The callback to execute in response to the event
+
+
+ -
+
+
[context]+ Object + optional + + + + +++ + +Override
+thisobject in callback
+
+ -
+
+
[arg*]+ Any + optional + + + + +++ + +0..n additional arguments to supply to the subscriber
+
+
+
Returns:
+ +once
+
+
+ -
+
+
-
+
+
type+ +
+
+ -
+
+
fn+ +
+
+ -
+
+
[context]+ +
+
+ -
+
+
[arg*]+ +
+
+
Listen to a custom event hosted by this object one time.
+This is the equivalent to on except the
+listener is immediatelly detached when it is executed.
Parameters:
+ +-
+
+
-
+
+
type+ String + + + + +++ + +The name of the event
+
+
+ -
+
+
fn+ Function + + + + +++ + +The callback to execute in response to the event
+
+
+ -
+
+
[context]+ Object + optional + + + + +++ + +Override
+thisobject in callback
+
+ -
+
+
[arg*]+ Any + optional + + + + +++ + +0..n additional arguments to supply to the subscriber
+
+
+
Returns:
+ +onceAfter
+
+
+ -
+
+
-
+
+
type+ +
+
+ -
+
+
fn+ +
+
+ -
+
+
[context]+ +
+
+ -
+
+
[arg*]+ +
+
+
Listen to a custom event hosted by this object one time.
+This is the equivalent to after except the
+listener is immediatelly detached when it is executed.
Parameters:
+ +-
+
+
-
+
+
type+ String + + + + +++ + +The name of the event
+
+
+ -
+
+
fn+ Function + + + + +++ + +The callback to execute in response to the event
+
+
+ -
+
+
[context]+ Object + optional + + + + +++ + +Override
+thisobject in callback
+
+ -
+
+
[arg*]+ Any + optional + + + + +++ + +0..n additional arguments to supply to the subscriber
+
+
+
Returns:
+ +parseType
+
+
+ -
+
+
-
+
+
type+ +
+
+ -
+
+
[pre=this._yuievt.config.prefix]+ +
+
+
Takes the type parameter passed to 'on' and parses out the +various pieces that could be included in the type. If the +event type is passed without a prefix, it will be expanded +to include the prefix one is supplied or the event target +is configured with a default prefix.
+Parameters:
+ + +Returns:
+ +publish
+
+
+ -
+
+
-
+
+
type+ +
+
+ -
+
+
opts+ +
+
+
Creates a new custom event of the specified type. If a custom event +by that name already exists, it will not be re-created. In either +case the custom event is returned.
+Parameters:
+ +-
+
+
-
+
+
type+ String + + + + +++ + +the type, or name of the event
+
+
+ -
+
+
opts+ Object + + + + +++ + +optional config params. Valid properties are:
+ +-
+
- + 'broadcast': whether or not the YUI instance and YUI global are notified when the event is fired (false) + +
- + 'bubbles': whether or not this event bubbles (true) + Events can only bubble if emitFacade is true. + +
- + 'context': the default execution context for the listeners (this) + +
- + 'defaultFn': the default function to execute when this event fires if preventDefault was not called + +
- + 'emitFacade': whether or not this event emits a facade (false) + +
- + 'prefix': the prefix for this targets events, e.g., 'menu' in 'menu:click' + +
- + 'fireOnce': if an event is configured to fire once, new subscribers after + the fire will be notified immediately. + +
- + 'async': fireOnce event listeners will fire synchronously if the event has already + fired unless async is true. + +
- + 'preventable': whether or not preventDefault() has an effect (true) + +
- + 'preventedFn': a function that is executed when preventDefault is called + +
- + 'queuable': whether or not this event can be queued during bubbling (false) + +
- + 'silent': if silent is true, debug messages are not provided for this event. + +
- + 'stoppedFn': a function that is executed when stopPropagation is called + + +
- + 'monitored': specifies whether or not this event should send notifications about + when the event has been attached, detached, or published. + +
- + 'type': the event type (valid option if not provided as the first parameter to publish) + +
+
+
Returns:
+ +remove
+
+
+ ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+ chainable
+
+
+
+
+
+
+ Removes this view's container element from the DOM (if it's in the DOM), +but doesn't destroy it or any event listeners attached to it.
+removeAttr
+
+
+ -
+
+
-
+
+
name+ +
+
+
Removes an attribute from the host object
+Parameters:
+ +-
+
+
-
+
+
name+ String + + + + +++ + +The name of the attribute to be removed.
+
+
+
removeTarget
+
+
+ -
+
+
-
+
+
o+ +
+
+
Removes a bubble target
+Parameters:
+ +-
+
+
-
+
+
o+ EventTarget + + + + +++ + +the target to remove
+
+
+
render
+
+
+ ()
+
+
+
+
+ BodyView
+
+
+
+
+
+
+
+
+
+
+
+
+ chainable
+
+
+
+
+
+
+ Creates the table's <tbody> content by assembling markup generated by
+populating the ROW\_TEMPLATE, and CELL\_TEMPLATE templates with content
+from the columns and modelList attributes.
The rendering process happens in three stages:
+ +-
+
A row template is assembled from the
columnsattribute (see +_createRowTemplate)
+An HTML string is built up by concatening the application of the data in +each Model in the
modelListto the row template. For cells with +formatters, the function is called to generate cell content. Cells +withnodeFormatters are ignored. For all other cells, the data value +from the Model attribute for the given column key is used. The +accumulated row markup is then inserted into the container.
+If any column is configured with a
nodeFormatter, themodelListis +iterated again to apply thenodeFormatters.
+
Supported properties of the column objects include:
+ +-
+
key- Used to link a column to an attribute in a Model.
+name- Used for columns that don't relate to an attribute in the Model +(formatterornodeFormatteronly) if the implementer wants a +predictable name to refer to in their CSS.
+cellTemplate- Overrides the instance'sCELL_TEMPLATEfor cells in +this column only.
+formatter- Used to customize or override the content value from the +Model. These do not have access to the cell or row Nodes and should +return string (HTML) content.
+nodeFormatter- Used to provide content for a cell as well as perform +any custom modifications on the cell or row Node that could not be +performed byformatters. Should be used sparingly for better +performance.
+emptyCellValue- String (HTML) value to use if the Model data for a +column, or the content generated by aformatter, is the empty string, +null, orundefined.
+allowHTML- Set totrueif a column value,formatter, or +emptyCellValuecan contain HTML. This defaults tofalseto protect +against XSS.
+className- Space delimited CSS classes to add to all<td>s in a +column.
+
Column formatters are passed an object (o) with the following
+properties:
-
+
value- The current value of the column's associated attribute, if +any.
+data- An object map of Model keys to their current values.
+record- The Model instance.
+column- The column configuration object for the current column.
+className- Initially empty string to allowformatters to add CSS +classes to the cell's<td>.
+rowIndex- The zero-based row number.
+rowClass- Initially empty string to allowformatters to add CSS +classes to the cell's containing row<tr>.
+
They may return a value or update o.value to assign specific HTML
+content. A returned value has higher precedence.
Column nodeFormatters are passed an object (o) with the following
+properties:
-
+
value- The current value of the column's associated attribute, if +any.
+td- The<td>Node instance.
+cell- The<div>liner Node instance if present, otherwise, the +<td>. When adding content to the cell, prefer appending into this +property.
+data- An object map of Model keys to their current values.
+record- The Model instance.
+column- The column configuration object for the current column.
+rowIndex- The zero-based row number.
+
They are expected to inject content into the cell's Node directly, including
+any "empty" cell content. Each nodeFormatter will have access through the
+Node API to all cells and rows in the <tbody>, but not to the <table>,
+as it will not be attached yet.
If a nodeFormatter returns false, the o.td and o.cell Nodes will be
+destroy()ed to remove them from the Node cache and free up memory. The
+DOM elements will remain as will any content added to them. It is highly
+advisable to always return false from your nodeFormatters.
Returns:
+ +reset
+
+
+ -
+
+
-
+
+
name+ +
+
+
Resets the attribute (or all attributes) to its initial value, as long as +the attribute is not readOnly, or writeOnce.
+Parameters:
+ +-
+
+
-
+
+
name+ String + + + + +++ + +Optional. The name of the attribute to reset. If omitted, all attributes are reset.
+
+
+
Returns:
+ +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:
+ +setAttrs
+
+
+ -
+
+
-
+
+
attrs+ +
+
+ -
+
+
[opts]+ +
+
+
Sets multiple attribute values.
+Parameters:
+ + +Returns:
+ +subscribe
+
+
+ ()
+
+
+
+
+
+ deprecated
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ subscribe to an event
+toString
+
+
+ ()
+
+
+
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Default toString implementation. Provides the constructor NAME +and the instance guid, if set.
+Returns:
+ +unsubscribe
+
+
+ ()
+
+
+
+
+
+ deprecated
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ detach a listener
+unsubscribeAll
+
+
+ -
+
+
-
+
+
type+ +
+
+
Removes all listeners from the specified event. If the event type +is not specified, all listeners from all hosted custom events will +be removed.
+Parameters:
+ +-
+
+
-
+
+
type+ String + + + + +++ + +The type, or name of the event
+
+
+
Properties
+ + +_allowAdHocAttrs
+ Boolean
+
+
+
+
+ protected
+
+
+
+
+
+
+
+
+ This tells Y.Base that it should create ad-hoc attributes for config
+properties passed to View's constructor. This makes it possible to
+instantiate a view and set a bunch of attributes without having to subclass
+Y.View and declare all those attributes first.
Default: true
+ + + + + +_eventHandles
+ Object
+
+
+
+
+ protected
+
+
+
+
+
+
+
+
+ Holds the event subscriptions needing to be detached when the instance is
+destroy()ed.
Default: undefined (initially unset)
+ + + + + +_idMap
+ Object
+
+
+
+
+ protected
+
+
+
+
+
+
+
+
+ Map of Model clientIds to row ids.
+_rowTemplate
+ HTML
+
+
+
+
+ protected
+
+
+
+
+
+
+
+
+ The HTML template used to create a full row of markup for a single Model in
+the modelList plus any customizations defined in the column
+configurations.
Default: (initially unset)
+ + + + + +CELL_TEMPLATE
+ HTML
+
+
+
+
+
+
+
+
+
+
+
+ HTML template used to create table cells.
+Default: '<td {headers} class="{className}">{content}</td>'
+ + + + + +CLASS_EVEN
+ String
+
+
+
+
+
+
+
+
+
+
+
+ CSS class applied to even rows. This is assigned at instantiation.
+ +For DataTable, this will be yui3-datatable-even.
Default: 'yui3-table-even'
+ + + + + +CLASS_ODD
+ String
+
+
+
+
+
+
+
+
+
+
+
+ CSS class applied to odd rows. This is assigned at instantiation.
+ +When used by DataTable instances, this will be yui3-datatable-odd.
Default: 'yui3-table-odd'
+ + + + + +containerTemplate
+ String
+
+
+
+
+
+
+
+
+
+
+
+ Template for this view's container.
+Default: "<div/>"
+ + + + + +events
+ Object
+
+
+
+
+
+
+
+
+
+
+
+ Hash of CSS selectors mapped to events to delegate to elements matching +those selectors.
+ +CSS selectors are relative to the container element. Events are attached
+to the container, and delegation is used so that subscribers are only
+notified of events that occur on elements inside the container that match
+the specified selectors. This allows the container's contents to be re-
+rendered as needed without losing event subscriptions.
Event handlers can be specified either as functions or as strings that map +to function names on this view instance or its prototype.
+ +The this object in event handlers will refer to this view instance. If
+you'd prefer this to be something else, use Y.bind() to bind a custom
+this object.
Default: {}
+ + + +Example:
+ +var view = new Y.View({
+ events: {
+ // Call this.toggle() whenever the element with the id
+ // "toggle-button" is clicked.
+ '#toggle-button': {click: 'toggle'},
+
+ // Call this.hoverOn() when the mouse moves over any element
+ // with the "hoverable" class, and this.hoverOff() when the
+ // mouse moves out of any element with the "hoverable" class.
+ '.hoverable': {
+ mouseover: 'hoverOn',
+ mouseout : 'hoverOff'
+ }
+ }
+});
+
+ Formatters
+ Object
+
+
+
+
+
+
+
+
+ static
+
+
+
+
+ Hash of formatting functions for cell contents.
+ +This property can be populated with a hash of formatting functions by the developer
+or a set of pre-defined functions can be loaded via the datatable-formatters module.
host
+ Object
+
+
+
+
+
+
+
+
+
+
+
+ The object that serves as the source of truth for column and row data.
+This property is assigned at instantiation from the host property of
+the configuration object passed to the constructor.
Default: (initially unset)
+ + + + + +name
+ String
+
+
+ deprecated
+
+
+
+
+
+
+
+
+
+
+ The string used to identify the class of this object.
+ROW_TEMPLATE
+ HTML
+
+
+
+
+
+
+
+
+
+
+
+ HTML template used to create table rows.
+Default: '<tr id="{rowId}" data-yui3-record="{clientId}" class="{rowClass}">{content}</tr>'
+ + + + + +TBODY_TEMPLATE
+ HTML
+
+
+
+
+
+
+
+
+
+
+
+ HTML templates used to create the <tbody> containing the table rows.
Default: '<tbody class="{className}">{content}</tbody>'
+ + + + + +template
+ Mixed
+
+
+
+
+
+
+
+
+
+
+
+ Template for this view's contents.
+ +This is a convenience property that has no default behavior of its own.
+It's only provided as a convention to allow you to store whatever you
+consider to be a template, whether that's an HTML string, a Y.Node
+instance, a Mustache template, or anything else your little heart
+desires.
How this template gets used is entirely up to you and your custom
+render() method.
Default: ''
+ + + + + +Attributes
+ + +container
+ HTMLElement | Node | String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Container node into which this view's content will be rendered.
+ +The container node serves as the host for all DOM events attached by the +view. Delegation is used to handle events on children of the container, +allowing the container's contents to be re-rendered at any time without +losing event subscriptions.
+ +The default container is a <div> Node, but you can override this in
+a subclass, or by passing in a custom container config value at
+instantiation time. If you override the default container in a subclass
+using ATTRS, you must use the valueFn property. The view's constructor
+will ignore any assignments using value.
When container is overridden by a subclass or passed as a config
+option at instantiation time, you can provide it as a selector string, a
+DOM element, a Y.Node instance, or (if you are subclassing and modifying
+the attribute), a valueFn function that returns a Y.Node instance.
+The value will be converted into a Y.Node instance if it isn't one
+already.
The container is not added to the page automatically. This allows you to +have full control over how and when your view is actually rendered to +the page.
+Default: Y.Node.create(this.containerTemplate)
+ + + +Fires event containerChange
+
+
+ Fires when the value for the configuration attribute container 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.+
+
+ -
+
destroyed
+ Boolean
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ readonly
+
+
+
+
+ Flag indicating whether or not this object +has been through the destroy lifecycle phase.
+Default: false
+ + + +Fires event destroyedChange
+
+
+ Fires when the value for the configuration attribute destroyed 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.+
+
+ -
+
initialized
+ Boolean
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ readonly
+
+
+
+
+ Flag indicating whether or not this object +has been through the init lifecycle phase.
+Default: false
+ + + +Fires event initializedChange
+
+
+ Fires when the value for the configuration attribute initialized 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.+
+
+ -
+
Events
+ + +destroy
+
+
+
+
+
+
+
+
+
+
+
+
+ +Lifecycle event for the destroy phase, +fired prior to destruction. Invoking the preventDefault +method on the event object provided to subscribers will +prevent destruction from proceeding. +
+ ++Subscribers to the "after" moment of this event, will be notified +after destruction is complete (and as a result cannot prevent +destruction). +
+Event Payload:
+ +-
+
+
-
+
+
e+ EventFacade + + + + +++ + +Event object
+
+
+
init
+
+
+
+
+
+
+
+
+
+
+
+
+ +Lifecycle event for the init phase, fired prior to initialization. +Invoking the preventDefault() method on the event object provided +to subscribers will prevent initialization from occuring. +
+ ++Subscribers to the "after" momemt of this event, will be notified +after initialization of the object is complete (and therefore +cannot prevent initialization). +
+Event Payload:
+ +-
+
+
-
+
+
e+ EventFacade + + + + +++ + +Event object, with a cfg property which +refers to the configuration object passed to the constructor.
+
+
+
