diff -r 322d0feea350 -r 89ef5ed3c48b src/cm/media/js/lib/yui/yui_3.10.3/api/classes/DataTable.BodyView.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/cm/media/js/lib/yui/yui_3.10.3/api/classes/DataTable.BodyView.html Tue Jul 16 14:29:46 2013 +0200 @@ -0,0 +1,14244 @@ + + + + + DataTable.BodyView - YUI 3 + + + + + + + + +
+
+
+ +

+ +
+
+ API Docs for: 3.10.3 +
+
+
+ +
+ +
+
+
+ Show: + + + + + + + +
+ + +
+
+
+

DataTable.BodyView Class

+
+ + + +
+ Extends View +
+ + + +
+ Defined in: datatable/js/body.js:20 +
+ + + + + Module: datatable-body
+ Parent Module: datatable + + + + +

Available since 3.5.0

+ +
+ + + +
+

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 +(formatter or nodeFormatter only) if the implementer wants a +predictable name to refer to in their CSS.
  • +
  • cellTemplate - Overrides the instance's CELL_TEMPLATE for 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 a formatter, is the empty string, +null, or undefined.
  • +
  • allowHTML - Set to true if a column value, formatter, or +emptyCellValue can contain HTML. This defaults to false to 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.Formatters hash using the +value of the formatter property 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.
  • +
+ +

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 allow formatters to add CSS +classes to the cell's <td>.
  • +
  • rowIndex - The zero-based row number.
  • +
  • rowClass - Initially empty string to allow formatters 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.

+
+ + + +
+ + +
+
+

Item Index

+ + +
+

Methods

+ + +
+ + + +
+

Properties

+ + +
+ + + +
+

Attributes

+ + +
+ + + +
+

Events

+ + +
+ +
+ + +
+

Methods

+ + +
+

_addAttrs

+ + +
+ (
    + +
  • + + cfgs + +
  • + +
  • + + values + +
  • + +
  • + + lazy + +
  • + +
) +
+ + + + + + + + private + + + + + + + + + + +
+ + +

Inherited from + AttributeCore: + + + + attribute/js/AttributeCore.js:836 + +

+ + + + + +
+ +
+

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] + +
  • + +
) +
+ + + + + + + + private + + + + + + + + + + +
+ + +

Inherited from + AttributeCore: + + + + attribute/js/AttributeCore.js:382 + +

+ + + + + +
+ +
+

Finishes initializing an attribute which has been lazily added.

+
+ + +
+

Parameters:

+ +
    + +
  • + + name + Object + + + + +
    +

    The name of the attribute

    +
    + + +
  • + +
  • + + [lazyCfg] + Object + optional + + + + +
    +

    Optional config hash for the attribute. This is added for performance +along the critical path, where the calling method has already obtained lazy config from state.

    +
    + + +
  • + +
+
+ + + + + +
+ + +
+

_afterColumnsChange

+ + +
+ (
    + +
  • + + e + +
  • + +
) +
+ + + + + + + + protected + + + + + + + + + + +
+ + + +

+ + Defined in + + + + + datatable/js/body.js:458 + +

+ + + + + +

Available since 3.5.0

+ +
+ +
+

Handles changes in the source's columns attribute. Redraws the table data.

+
+ + +
+

Parameters:

+ +
    + +
  • + + e + EventFacade + + + + +
    +

    The columnsChange event object

    +
    + + +
  • + +
+
+ + + + + +
+ + +
+

_afterContainerChange

+ + + () + + + + + + + + protected + + + + + + + + + + +
+ + +

Inherited from + View: + + + + app/js/view.js:357 + +

+ + + + + +

Available since 3.5.0

+ +
+ +
+

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 + +
  • + +
) +
+ + + + + + + + protected + + + + + + + + + + +
+ + + +

+ + Defined in + + + + + datatable/js/body.js:477 + +

+ + + + + +

Available since 3.5.0

+ +
+ +
+

Handles modelList changes, including additions, deletions, and updates.

+ +

Modifies the existing table DOM accordingly.

+
+ + +
+

Parameters:

+ +
    + +
  • + + e + EventFacade + + + + +
    +

    The change event from the ModelList

    +
    + + +
  • + +
+
+ + + + + +
+ + +
+

_afterModelListChange

+ + +
+ (
    + +
  • + + e + +
  • + +
) +
+ + + + + + + + protected + + + + + + + + + + +
+ + + +

+ + Defined in + + + + + datatable/js/body.js:494 + +

+ + + + + +

Available since 3.6.0

+ +
+ +
+

Handles replacement of the modelList.

+ +

Rerenders the <tbody> contents.

+
+ + +
+

Parameters:

+ +
    + +
  • + + e + EventFacade + + + + +
    +

    The modelListChange event

    +
    + + +
  • + +
+
+ + + + + +
+ + +
+

_afterRenderCleanup

+ + + () + + + + + + + + private + + + + + + + + + + +
+ + + +

+ + Defined in + + + + + datatable/js/body.js:781 + +

+ + + + + +
+ +
+

Cleans up temporary values created during rendering.

+
+ + + + + + +
+ + +
+

_aggregateAttrs

+ + +
+ (
    + +
  • + + allAttrs + +
  • + +
) +
+ + + + + Object + + + + + + + private + + + + + + + + + + +
+ + +

Inherited from + BaseCore: + + + + base/js/BaseCore.js:575 + +

+ + + + + +
+ +
+

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:

+ +
+ + + Object: + + The aggregate set of ATTRS definitions for the instance + +
+
+ + + +
+ + +
+

_applyNodeFormatters

+ + +
+ (
    + +
  • + + tbody + +
  • + +
  • + + columns + +
  • + +
) +
+ + + + + + + + protected + + + + + + + + + + +
+ + + +

+ + Defined in + + + + + datatable/js/body.js:518 + +

+ + + + + +

Available since 3.5.0

+ +
+ +
+

Iterates the modelList, and calls any nodeFormatters found in the +columns param on the appropriate cell Nodes in the tbody.

+
+ + +
+

Parameters:

+ +
    + +
  • + + tbody + Node + + + + +
    +

    The <tbody> Node whose columns to update

    +
    + + +
  • + +
  • + + columns + Object[] + + + + +
    +

    The column configurations

    +
    + + +
  • + +
+
+ + + + + +
+ + +
+

_attrCfgHash

+ + + () + + + + + + + + private + + + + + + + + + + +
+ + +

Inherited from + BaseCore: + + + + base/js/BaseCore.js:538 + +

+ + + + + +
+ +
+

Utility method to define the attribute hash used to filter/whitelist property mixes for +this class for iteration performance reasons.

+
+ + + + + + +
+ + +
+

_baseDestroy

+ + + () + + + + + + + + private + + + + + + + + + + +
+ + +

Inherited from + BaseCore: + + + + base/js/BaseCore.js:309 + +

+ + + + + +
+ +
+

Internal destroy implementation for BaseCore

+
+ + + + + + +
+ + +
+

_baseInit

+ + + () + + + + + + + + private + + + + + + + + + + +
+ + +

Inherited from + BaseCore: + + + + base/js/BaseCore.js:281 + +

+ + + + + +
+ +
+

Internal initialization implementation for BaseCore

+
+ + + + + + +
+ + +
+

_cloneDefaultValue

+ + +
+ (
    + +
  • + + cfg + +
  • + +
) +
+ + + + + + + + private + + + + + + + + + + +
+ + +

Inherited from + BaseCore: + + + + base/js/BaseCore.js:549 + +

+ + + + + +
+ +
+

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 + +
  • + +
) +
+ + + + + HTML + + + + + + + protected + + + + + + + + + + +
+ + + +

+ + Defined in + + + + + datatable/js/body.js:609 + +

+ + + + + +

Available since 3.5.0

+ +
+ +
+

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:

+ +
+ + + HTML: + + The markup for all Models in the modelList, each applied + to the _rowTemplate + +
+
+ + + +
+ + +
+

_createRowHTML

+ + +
+ (
    + +
  • + + model + +
  • + +
  • + + index + +
  • + +
  • + + columns + +
  • + +
) +
+ + + + + HTML + + + + + + + protected + + + + + + + + + + +
+ + + +

+ + Defined in + + + + + datatable/js/body.js:636 + +

+ + + + + +

Available since 3.5.0

+ +
+ +
+

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's foo attribute, or the +result of the column's formatter if assigned. If the value is '', +null, or undefined, and the column's emptyCellValue is 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 (via o.rowClass).
  • +
+ +

Because this object is available to formatters, any additional properties +can be added to fill in custom {placeholders} in the _rowTemplate.

+
+ + +
+

Parameters:

+ +
    + +
  • + + model + Model + + + + +
    +

    The Model instance to apply to the row template

    +
    + + +
  • + +
  • + + index + Number + + + + +
    +

    The index the row will be appearing

    +
    + + +
  • + +
  • + + columns + Object[] + + + + +
    +

    The column configurations

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + HTML: + + The markup for the provided Model, less any nodeFormatters + +
+
+ + + +
+ + +
+

_createRowTemplate

+ + +
+ (
    + +
  • + + columns + +
  • + +
) +
+ + + + + + + + protected + + + + + + + + + + +
+ + + +

+ + Defined in + + + + + datatable/js/body.js:724 + +

+ + + + + +

Available since 3.5.0

+ +
+ +
+

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 + + + + + + + + + + +
+ + + +

+ + Defined in + + + + + datatable/js/body.js:796 + +

+ + + + + +

Available since 3.6.0

+ +
+ +
+

Creates the <tbody> node that will store the data rows.

+
+ + + + +
+

Returns:

+ +
+ + + Node: + + +
+
+ + + +
+ + +
+

_defAttrChangeFn

+ + +
+ (
    + +
  • + + e + +
  • + +
) +
+ + + + + + + + private + + + + + + + + + + +
+ + +

Inherited from + AttributeObservable: + + + + attribute/js/AttributeObservable.js:186 + +

+ + + + + +
+ +
+

Default function for attribute change events.

+
+ + +
+

Parameters:

+ +
    + +
  • + + e + EventFacade + + + + +
    +

    The event object for attribute change events.

    +
    + + +
  • + +
+
+ + + + + +
+ + +
+

_defDestroyFn

+ + +
+ (
    + +
  • + + e + +
  • + +
) +
+ + + + + + + + protected + + + + + + + + + + +
+ + +

Inherited from + BaseObservable: + + + + base/js/BaseObservable.js:190 + +

+ + + + + +
+ +
+

Default destroy event handler

+
+ + +
+

Parameters:

+ +
    + +
  • + + e + EventFacade + + + + +
    +

    Event object

    +
    + + +
  • + +
+
+ + + + + +
+ + +
+

_defInitFn

+ + +
+ (
    + +
  • + + e + +
  • + +
) +
+ + + + + + + + protected + + + + + + + + + + +
+ + +

Inherited from + BaseObservable: + + + + base/js/BaseObservable.js:178 + +

+ + + + + +
+ +
+

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 + + + + + + + + + + +
+ + +

Inherited from + View: + + + + app/js/view.js:312 + +

+ + + + + +
+ +
+

Removes the container from the DOM and purges all its event listeners.

+
+ + + + + + +
+ + +
+

_destroyHierarchy

+ + + () + + + + + + + + private + + + + + + + + + + +
+ + +

Inherited from + BaseCore: + + + + base/js/BaseCore.js:721 + +

+ + + + + +
+ +
+

Destroys the class hierarchy for this instance by invoking +the destructor method on the prototype of each class in the hierarchy.

+
+ + + + + + +
+ + +
+

_filterAdHocAttrs

+ + +
+ (
    + +
  • + + allAttrs + +
  • + +
  • + + userVals + +
  • + +
) +
+ + + + + Object + + + + + + + private + + + + + + + + + + +
+ + +

Inherited from + BaseCore: + + + + base/js/BaseCore.js:427 + +

+ + + + + +
+ +
+ +
+ + +
+

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:

+ +
+ + + Object: + + The set of adhoc attributes passed in, in the form +of an object with attribute name/configuration pairs. + +
+
+ + + +
+ + +
+

_filterAttrCfgs

+ + +
+ (
    + +
  • + + clazz + +
  • + +
  • + + allCfgs + +
  • + +
) +
+ + + + + Object + + + + + + + private + + + + + + + + + + +
+ + +

Inherited from + BaseCore: + + + + base/js/BaseCore.js:356 + +

+ + + + + +
+ +
+

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:

+ +
+ + + Object: + + The set of attributes belonging to the class passed in, in the form +of an object with attribute name/configuration pairs. + +
+
+ + + +
+ + +
+

_fireAttrChange

+ + +
+ (
    + +
  • + + attrName + +
  • + +
  • + + subAttrName + +
  • + +
  • + + currVal + +
  • + +
  • + + newVal + +
  • + +
  • + + opts + +
  • + +
  • + + [cfg] + +
  • + +
) +
+ + + + + + + + private + + + + + + + + + + +
+ + +

Inherited from + AttributeObservable: + + + + attribute/js/AttributeObservable.js:120 + +

+ + + + + +
+ +
+

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 + +
  • + +
) +
+ + + + + Any + + + + + + + protected + + + + + + + + chainable + + + + +
+ + +

Inherited from + AttributeCore: + + + + attribute/js/AttributeCore.js:543 + +

+ + + + + +
+ +
+

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:

+ +
+ + + Any: + + The value of the attribute. + +
+
+ + + +
+ + +
+

_getAttrCfg

+ + +
+ (
    + +
  • + + name + +
  • + +
) +
+ + + + + Object + + + + + + + protected + + + + + + + + + + +
+ + +

Inherited from + AttributeExtras: + + + + attribute/js/AttributeExtras.js:114 + +

+ + + + + +
+ +
+

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:

+ +
+ + + Object: + + The configuration properties for the given attribute, or all attributes. + +
+
+ + + +
+ + +
+

_getAttrCfgs

+ + + () + + + + + Object + + + + + + + protected + + + + + + + + + + +
+ + +

Inherited from + BaseCore: + + + + base/js/BaseCore.js:339 + +

+ + + + + +
+ +
+

Returns an aggregated set of attribute configurations, by traversing +the class hierarchy.

+
+ + + + +
+

Returns:

+ +
+ + + Object: + + The hash of attribute configurations, aggregated across classes in the hierarchy +This value is cached the first time the method, or _getClasses, is invoked. Subsequent invocations return +the cached value. + +
+
+ + + +
+ + +
+

_getAttrInitVal

+ + +
+ (
    + +
  • + + attr + +
  • + +
  • + + cfg + +
  • + +
  • + + initValues + +
  • + +
) +
+ + + + + Any + + + + + + + private + + + + + + + + + + +
+ + +

Inherited from + AttributeCore: + + + + attribute/js/AttributeCore.js:945 + +

+ + + + + +
+ +
+

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:

+ +
    + +
  • + + attr + String + + + + +
    +

    The name of the attribute

    +
    + + +
  • + +
  • + + cfg + Object + + + + +
    +

    The attribute configuration object

    +
    + + +
  • + +
  • + + initValues + Object + + + + +
    +

    The object with simple and complex attribute name/value pairs returned from _normAttrVals

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + Any: + + The initial value of the attribute. + +
+
+ + + +
+ + +
+

_getAttrs

+ + +
+ (
    + +
  • + + attrs + +
  • + +
) +
+ + + + + Object + + + + + + + protected + + + + + + + + + + +
+ + +

Inherited from + AttributeCore: + + + + attribute/js/AttributeCore.js:774 + +

+ + + + + +
+ +
+

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:

+ +
+ + + Object: + + An object with attribute name/value pairs. + +
+
+ + + +
+ + +
+

_getClasses

+ + + () + + + + + Function[] + + + + + + + protected + + + + + + + + + + +
+ + +

Inherited from + BaseCore: + + + + base/js/BaseCore.js:323 + +

+ + + + + +
+ +
+

Returns the class hierarchy for this object, with BaseCore being the last class in the array.

+
+ + + + +
+

Returns:

+ +
+ + + Function[]: + + An array of classes (constructor functions), making up the class hierarchy for this object. +This value is cached the first time the method, or _getAttrCfgs, is invoked. Subsequent invocations return the +cached value. + +
+
+ + + +
+ + +
+

_getContainer

+ + +
+ (
    + +
  • + + value + +
  • + +
) +
+ + + + + Node + + + + + + + protected + + + + + + + + + + +
+ + +

Inherited from + View: + + + + app/js/view.js:323 + +

+ + + + + +

Available since 3.5.0

+ +
+ +
+

Getter for the container attribute.

+
+ + +
+

Parameters:

+ +
    + +
  • + + value + Node | Null + + + + +
    +

    Current attribute value.

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + Node: + + Container node. + +
+
+ + + +
+ + +
+

_getFullType

+ + +
+ (
    + +
  • + + type + +
  • + +
) +
+ + + + + String + + + + + + + private + + + + + + + + + + +
+ + +

Inherited from + EventTarget: + + + + event-custom/js/event-target.js:586 + +

+ + + + + +
+ +
+

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:

+ +
+ + + String: + + The prefixed type, if a prefix is set, otherwise the type passed in + +
+
+ + + +
+ + +
+

_getRowId

+ + +
+ (
    + +
  • + + clientId + +
  • + +
) +
+ + + + + String + + + + + + + protected + + + + + + + + + + +
+ + + +

+ + Defined in + + + + + datatable/js/body.js:833 + +

+ + + + + +
+ +
+

Returns the row ID associated with a Model's clientId.

+
+ + +
+

Parameters:

+ +
    + +
  • + + clientId + String + + + + +
    +

    The Model clientId

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + String: + + +
+
+ + + +
+ + +
+

_getStateVal

+ + +
+ (
    + +
  • + + name + +
  • + +
  • + + [cfg] + +
  • + +
) +
+ + + + + Any + + + + + + + private + + + + + + + + + + +
+ + +

Inherited from + AttributeCore: + + + + attribute/js/AttributeCore.js:600 + +

+ + + + + +
+ +
+

Gets the stored value for the attribute, from either the +internal state object, or the state proxy if it exits

+
+ + +
+

Parameters:

+ +
    + +
  • + + name + String + + + + +
    +

    The name of the attribute

    +
    + + +
  • + +
  • + + [cfg] + 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:

+ +
+ + + Any: + + The stored value of the attribute + +
+
+ + + +
+ + +
+

_getType

+ + + () + + + + + + + + private + + + + + + + + + + +
+ + +

Inherited from + EventTarget: + + + + event-custom/js/event-target.js:36 + +

+ + + + + +
+ +
+

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 + +
  • + +
) +
+ + + + + + + + private + + + + + + + + + + +
+ + +

Inherited from + AttributeCore: + + + + attribute/js/AttributeCore.js:140 + +

+ + + + + +
+ +
+

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 + + + + + + + + + + +
+ +

Inherited from + + BaseObservable + + + but overwritten in + + + + base/js/BaseCore.js:254 + +

+ + + + + +
+ +
+

Initializes AttributeCore

+
+ + + + + + +
+ + +
+

_initAttrs

+ + +
+ (
    + +
  • + + attrs + +
  • + +
  • + + values + +
  • + +
  • + + lazy + +
  • + +
) +
+ + + + + + + + protected + + + + + + + + + + +
+ + +

Inherited from + AttributeCore: + + + + attribute/js/AttributeCore.js:1011 + +

+ + + + + +
+ +
+

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 + +
  • + +
) +
+ + + + + + + + private + + + + + + + + + + +
+ + +

Inherited from + BaseCore: + + + + base/js/BaseCore.js:219 + +

+ + + + + +
+ +
+

Internal construction logic for BaseCore.

+
+ + +
+

Parameters:

+ +
    + +
  • + + config + Object + + + + +
    +

    The constructor configuration object

    +
    + + +
  • + +
+
+ + + + + +
+ + +
+

_initHierarchy

+ + +
+ (
    + +
  • + + userVals + +
  • + +
) +
+ + + + + + + + private + + + + + + + + + + +
+ + +

Inherited from + BaseCore: + + + + base/js/BaseCore.js:659 + +

+ + + + + +
+ +
+

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 + + + + + + + + + + +
+ + +

Inherited from + BaseCore: + + + + base/js/BaseCore.js:457 + +

+ + + + + +
+ +
+

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 + +
  • + +
) +
+ + + + + Boolean + + + + + + + private + + + + + + + + + + +
+ + +

Inherited from + AttributeCore: + + + + attribute/js/AttributeCore.js:369 + +

+ + + + + +
+ +
+

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:

+ +
+ + + Boolean: + + true if it's a lazily added attribute, false otherwise. + +
+
+ + + +
+ + +
+

_monitor

+ + +
+ (
    + +
  • + + what + +
  • + +
  • + + eventType + +
  • + +
  • + + o + +
  • + +
) +
+ + + + + + + + private + + + + + + + + + + +
+ + +

Inherited from + EventTarget: + + + + event-custom/js/event-target.js:658 + +

+ + + + + +
+ +
+

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 + +
  • + +
) +
+ + + + + Object + + + + + + + private + + + + + + + + + + +
+ + +

Inherited from + AttributeCore: + + + + attribute/js/AttributeCore.js:897 + +

+ + + + + +
+ +
+

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:

+ +
+ + + Object: + + An object literal with 2 properties - "simple" and "complex", +containing simple and complex attribute values respectively keyed +by the top level attribute name, or null, if valueHash is falsey. + +
+
+ + + +
+ + +
+

_parseType

+ + + () + + + + + + + + private + + + + + + + + + + +
+ + +

Inherited from + EventTarget: + + + + event-custom/js/event-target.js:52 + +

+ + + + + +
+ +
+

Returns an array with the detach key (if provided), +and the prefixed event name from _getType +Y.on('detachcategory| menu:click', fn)

+
+ + + + + + +
+ + +
+

_preInitEventCfg

+ + +
+ (
    + +
  • + + config + +
  • + +
) +
+ + + + + + + + private + + + + + + + + + + +
+ + +

Inherited from + BaseObservable: + + + + base/js/BaseObservable.js:98 + +

+ + + + + +
+ +
+

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 + +
  • + +
) +
+ + + + + Object + + + + + deprecated + + + + protected + + + + + + + + + + +
+ + +

Inherited from + AttributeCore: + + + + attribute/js/AttributeCore.js:883 + +

+ + + +

Deprecated: Use `AttributeCore.protectAttrs()` or + `Attribute.protectAttrs()` which are the same static utility method.

+ + + +
+ +
+

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:

+ +
+ + + Object: + + A protected version of the attrs argument. + +
+
+ + + +
+ + +
+

_publish

+ + +
+ (
    + +
  • + + fullType + +
  • + +
  • + + etOpts + +
  • + +
  • + + ceOpts + +
  • + +
) +
+ + + + + CustomEvent + + + + + + + private + + + + + + + + + + +
+ + +

Inherited from + EventTarget: + + + + event-custom/js/event-target.js:610 + +

+ + + + + +
+ +
+

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:

+ +
+ + + CustomEvent: + + The published event. If called without etOpts or ceOpts, this will +be the default CustomEvent instance, and can be configured independently. + +
+
+ + + +
+ + +
+

_set

+ + +
+ (
    + +
  • + + name + +
  • + +
  • + + val + +
  • + +
  • + + [opts] + +
  • + +
) +
+ + + + + Object + + + + + + + protected + + + + + + + + chainable + + + + +
+ +

Inherited from + + AttributeObservable + + + but overwritten in + + + + attribute/js/AttributeCore.js:427 + +

+ + + + + +
+ +
+

Allows setting of readOnly/writeOnce attributes. See set for argument details.

+
+ + +
+

Parameters:

+ +
    + +
  • + + name + String + + + + +
    +

    The name of the attribute.

    +
    + + +
  • + +
  • + + val + Any + + + + +
    +

    The value to set the attribute to.

    +
    + + +
  • + +
  • + + [opts] + Object + optional + + + + +
    +

    Optional data providing the circumstances for the change.

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + Object: + + A reference to the host object. + +
+
+ + + +
+ + +
+

_setAttr

+ + +
+ (
    + +
  • + + name + +
  • + +
  • + + value + +
  • + +
  • + + [opts] + +
  • + +
  • + + force + +
  • + +
) +
+ + + + + Object + + + + + + + protected + + + + + + + + chainable + + + + +
+ + +

Inherited from + AttributeCore: + + + + attribute/js/AttributeCore.js:443 + +

+ + + + + +
+ +
+

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:

+ +
+ + + Object: + + A reference to the host object. + +
+
+ + + +
+ + +
+

_setAttrs

+ + +
+ (
    + +
  • + + attrs + +
  • + +
  • + + [opts] + +
  • + +
) +
+ + + + + Object + + + + + + + protected + + + + + + + + chainable + + + + +
+ +

Inherited from + + AttributeObservable + + + but overwritten in + + + + attribute/js/AttributeCore.js:742 + +

+ + + + + +
+ +
+

Implementation behind the public setAttrs method, to set multiple attribute values.

+
+ + +
+

Parameters:

+ +
    + +
  • + + attrs + Object + + + + +
    +

    An object with attributes name/value pairs.

    +
    + + +
  • + +
  • + + [opts] + Object + optional + + + + +
    +

    Optional data providing the circumstances for the change

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + Object: + + A reference to the host object. + +
+
+ + + +
+ + +
+

_setAttrVal

+ + +
+ (
    + +
  • + + attrName + +
  • + +
  • + + subAttrName + +
  • + +
  • + + prevVal + +
  • + +
  • + + newVal + +
  • + +
  • + + [opts] + +
  • + +
  • + + [attrCfg] + +
  • + +
) +
+ + + + + Booolean + + + + + + + private + + + + + + + + + + +
+ + +

Inherited from + AttributeCore: + + + + attribute/js/AttributeCore.js:640 + +

+ + + + + +
+ +
+

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:

+ +
+ + + Booolean: + + true if the new attribute value was stored, false if not. + +
+
+ + + +
+ + +
+

_setStateVal

+ + +
+ (
    + +
  • + + name + +
  • + +
  • + + value + +
  • + +
) +
+ + + + + + + + private + + + + + + + + + + +
+ + +

Inherited from + AttributeCore: + + + + attribute/js/AttributeCore.js:622 + +

+ + + + + +
+ +
+

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 + +
  • + +
) +
+ + + + + Object + + + + + + + + + + + + + chainable + + + + +
+ + +

Inherited from + AttributeCore: + + + + attribute/js/AttributeCore.js:157 + +

+ + + + + +
+ +
+

+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:

+ +
+ + + Object: + + A reference to the host object. + +
+
+ + + +
+ + +
+

addAttrs

+ + +
+ (
    + +
  • + + cfgs + +
  • + +
  • + + values + +
  • + +
  • + + lazy + +
  • + +
) +
+ + + + + Object + + + + + + + + + + + + + chainable + + + + +
+ + +

Inherited from + AttributeCore: + + + + attribute/js/AttributeCore.js:805 + +

+ + + + + +
+ +
+

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:

+ +
+ + + Object: + + A reference to the host object. + +
+
+ + + +
+ + +
+

addTarget

+ + +
+ (
    + +
  • + + o + +
  • + +
) +
+ + + + + + + + + + + + + + + + +
+ + +

Inherited from + EventTarget: + + + + event-custom/js/event-facade.js:455 + +

+ + + + + +
+ +
+

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*] + +
  • + +
) +
+ + + + + EventHandle + + + + + + + + + + + + + + + +
+ + +

Inherited from + EventTarget: + + + + event-custom/js/event-target.js:833 + +

+ + + + + +
+ +
+

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 this object in callback

    +
    + + +
  • + +
  • + + [arg*] + Any + optional + + + + +
    +

    0..n additional arguments to supply to the subscriber

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + EventHandle: + + A subscription handle capable of detaching the + subscription + +
+
+ + + +
+ + +
+

attachEvents

+ + +
+ (
    + +
  • + + [events] + +
  • + +
) +
+ + + + + + + + + + + + + + chainable + + + + +
+ + +

Inherited from + View: + + + + app/js/view.js:181 + +

+ + + + + +
+ +
+

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 + events attribute for details on the format. If not specified, this + view's events property will be used.

    +
    + + +
  • + +
+
+ + + + + +
+ + +
+

attrAdded

+ + +
+ (
    + +
  • + + name + +
  • + +
) +
+ + + + + Boolean + + + + + + + + + + + + + + + +
+ + +

Inherited from + AttributeCore: + + + + attribute/js/AttributeCore.js:341 + +

+ + + + + +
+ +
+

Checks if the given attribute has been added to the host

+
+ + +
+

Parameters:

+ +
    + +
  • + + name + String + + + + +
    +

    The name of the attribute to check.

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + Boolean: + + true if an attribute with the given name has been added, false if it hasn't. + This method will return true for lazily added attributes. + +
+
+ + + +
+ + +
+

before

+ + + () + + + + + + + + + + + + + + + + + + + + +
+ + +

Inherited from + EventTarget: + + + + event-custom/js/event-target.js:870 + +

+ + + + + +
+ +
+

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:

+ +
+ + + detach handle + +
+
+ + + +
+ + +
+

bindUI

+ + + () + + + + + + + + protected + + + + + + + + + + +
+ + + +

+ + Defined in + + + + + datatable/js/body.js:585 + +

+ + + + + +

Available since 3.5.0

+ +
+ +
+

Binds event subscriptions from the UI and the host (if assigned).

+
+ + + + + + +
+ + +
+

bubble

+ + +
+ (
    + +
  • + + evt + +
  • + +
) +
+ + + + + Boolean + + + + + + + + + + + + + + + +
+ + +

Inherited from + EventTarget: + + + + event-custom/js/event-facade.js:507 + +

+ + + + + +
+ +
+

Propagate an event. Requires the event-custom-complex module.

+
+ + +
+

Parameters:

+ +
    + +
  • + + evt + CustomEvent + + + + +
    +

    the custom event to propagate

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + Boolean: + + the aggregated return value from Event.Custom.fire + +
+
+ + + +
+ + +
+

create

+ + +
+ (
    + +
  • + + [container] + +
  • + +
) +
+ + + + + Node + + + + + + + + + + + + + + + +
+ + +

Inherited from + View: + + + + app/js/view.js:233 + +

+ + + + + +
+ +
+

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:

+ +
+ + + Node: + + Node instance of the created container node. + +
+
+ + + +
+ + +
+

destroy

+ + +
+ (
    + +
  • + + [options] + +
  • + +
) +
+ + + + + + + + + + + + + + chainable + + + + +
+ +

Inherited from + + BaseObservable + + + but overwritten in + + + + app/js/view.js:146 + +

+ + + + + +
+ +
+

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.

+
+ + +
+

Parameters:

+ +
    + +
  • + + [options] + Object + optional + + + + +
    +

    Options.

    +
    + + +
      + +
    • + + [remove=false] + Boolean + optional + + +
      +

      If true, this View's container + will be removed from the DOM and destroyed as well.

      +
      + + +
    • + +
    + +
  • + +
+
+ + + + + +
+ + +
+

destructor

+ + + () + + + + + + + + protected + + + + + + + + + + +
+ + + +

+ + Defined in + + + + + datatable/js/body.js:810 + +

+ + + + + +

Available since 3.5.0

+ +
+ +
+

Destroys the instance.

+
+ + + + + + +
+ + +
+

detach

+ + +
+ (
    + +
  • + + type + +
  • + +
  • + + fn + +
  • + +
  • + + context + +
  • + +
) +
+ + + + + EventTarget + + + + + + + + + + + + + + + +
+ + +

Inherited from + EventTarget: + + + + event-custom/js/event-target.js:346 + +

+ + + + + +
+ +
+

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:

+ +
+ + + EventTarget: + + the host + +
+
+ + + +
+ + +
+

detachAll

+ + +
+ (
    + +
  • + + type + +
  • + +
) +
+ + + + + + + + + + + + + + + + +
+ + +

Inherited from + EventTarget: + + + + event-custom/js/event-target.js:469 + +

+ + + + + +
+ +
+

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 + + + + +
+ + +

Inherited from + View: + + + + app/js/view.js:253 + +

+ + + + + +
+ +
+

Detaches DOM events that have previously been attached to the container by +attachEvents().

+
+ + + + + + +
+ + +
+

fire

+ + +
+ (
    + +
  • + + type + +
  • + +
  • + + arguments + +
  • + +
) +
+ + + + + EventTarget + + + + + + + + + + + + + + + +
+ + +

Inherited from + EventTarget: + + + + event-custom/js/event-target.js:695 + +

+ + + + + +
+ +
+

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:

+ +
+ + + EventTarget: + + the event host + +
+
+ + + +
+ + +
+

get

+ + +
+ (
    + +
  • + + name + +
  • + +
) +
+ + + + + Any + + + + + + + + + + + + + + + +
+ + +

Inherited from + AttributeCore: + + + + attribute/js/AttributeCore.js:353 + +

+ + + + + +
+ +
+

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:

+ +
+ + + Any: + + The value of the attribute + +
+
+ + + +
+ + +
+

getAttrs

+ + +
+ (
    + +
  • + + attrs + +
  • + +
) +
+ + + + + Object + + + + + + + + + + + + + + + +
+ + +

Inherited from + AttributeCore: + + + + attribute/js/AttributeCore.js:762 + +

+ + + + + +
+ +
+

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:

+ +
+ + + Object: + + An object with attribute name/value pairs. + +
+
+ + + +
+ + +
+

getCell

+ + +
+ (
    + +
  • + + seed + +
  • + +
  • + + [shift] + +
  • + +
) +
+ + + + + Node + + + + + + + + + + + + + + + +
+ + + +

+ + Defined in + + + + + datatable/js/body.js:185 + +

+ + + + + +

Available since 3.5.0

+ +
+ +
+

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:

+ +
    + +
  • + + seed + Number[] | Node + + + + +
    +

    Array of row and column indexes, or a Node that + is either the cell itself or a descendant of one.

    +
    + + +
  • + +
  • + + [shift] + Number[] | String + optional + + + + +
    +

    Offset by which to identify the returned + cell Node

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + Node: + + +
+
+ + + +
+ + +
+

getClassName

+ + +
+ (
    + +
  • + + token + +
  • + +
) +
+ + + + + String + + + + + + + protected + + + + + + + + + + +
+ + + +

+ + Defined in + + + + + datatable/js/body.js:249 + +

+ + + + + +

Available since 3.5.0

+ +
+ +
+

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:

+ +
+ + + String: + + +
+
+ + + +
+ + +
+

getEvent

+ + +
+ (
    + +
  • + + type + +
  • + +
  • + + prefixed + +
  • + +
) +
+ + + + + CustomEvent + + + + + + + + + + + + + + + +
+ + +

Inherited from + EventTarget: + + + + event-custom/js/event-target.js:814 + +

+ + + + + +
+ +
+

Returns the custom event of the provided type has been created, a +falsy value otherwise

+
+ + +
+

Parameters:

+ +
    + +
  • + + type + String + + + + +
    +

    the type, or name of the event

    +
    + + +
  • + +
  • + + prefixed + String + + + + +
    +

    if true, the type is prefixed already

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + CustomEvent: + + the custom event or null + +
+
+ + + +
+ + +
+

getRecord

+ + +
+ (
    + +
  • + + seed + +
  • + +
) +
+ + + + + Model + + + + + + + + + + + + + + + +
+ + + +

+ + Defined in + + + + + datatable/js/body.js:278 + +

+ + + + + +

Available since 3.5.0

+ +
+ +
+

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:

+ +
    + +
  • + + seed + String | Node + + + + +
    +

    Row Node or id, or one for a descendant of a row

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + Model: + + +
+
+ + + +
+ + +
+

getRow

+ + +
+ (
    + +
  • + + id + +
  • + +
) +
+ + + + + Node + + + + + + + + + + + + + + + +
+ + + +

+ + Defined in + + + + + datatable/js/body.js:313 + +

+ + + + + +

Available since 3.5.0

+ +
+ +
+

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:

+ +
    + +
  • + + id + Number | String | Model + + + + +
    +

    Row index, Model instance, or clientId

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + Node: + + +
+
+ + + +
+ + +
+

getTargets

+ + + () + + + + + + + + + + + + + + + + + + + + +
+ + +

Inherited from + EventTarget: + + + + event-custom/js/event-facade.js:479 + +

+ + + + + +
+ +
+

Returns an array of bubble targets for this object.

+
+ + + + +
+

Returns:

+ +
+ + + EventTarget[] + +
+
+ + + +
+ + +
+

init

+ + +
+ (
    + +
  • + + cfg + +
  • + +
) +
+ + + + + BaseCore + + + + + + + + + + + + + chainable + + + + +
+ +

Inherited from + + BaseObservable + + + but overwritten in + + + + base/js/BaseCore.js:264 + +

+ + + + + +
+ +
+

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:

+ +
+ + + BaseCore: + + A reference to this object + +
+
+ + + +
+ + +
+

initializer

+ + +
+ (
    + +
  • + + config + +
  • + +
) +
+ + + + + + + + protected + + + + + + + + + + +
+ + + +

+ + Defined in + + + + + datatable/js/body.js:854 + +

+ + + + + +

Available since 3.5.0

+ +
+ +
+

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 + +
  • + +
) +
+ + + + + + + + + + + + + + + + +
+ + +

Inherited from + AttributeExtras: + + + + attribute/js/AttributeExtras.js:40 + +

+ + + + + +
+ +
+

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. +

+
+ + +
+

Parameters:

+ +
    + +
  • + + name + String + + + + +
    +

    The name of the attribute whose configuration is to be updated.

    +
    + + +
  • + +
  • + + config + Object + + + + +
    +

    An object with configuration property/value pairs, specifying the configuration properties to modify.

    +
    + + +
  • + +
+
+ + + + + +
+ + +
+

on

+ + +
+ (
    + +
  • + + type + +
  • + +
  • + + fn + +
  • + +
  • + + [context] + +
  • + +
  • + + [arg*] + +
  • + +
) +
+ + + + + EventHandle + + + + + + + + + + + + + + + +
+ + +

Inherited from + EventTarget: + + + + event-custom/js/event-target.js:188 + +

+ + + + + +
+ +
+

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 this object in callback

    +
    + + +
  • + +
  • + + [arg*] + Any + optional + + + + +
    +

    0..n additional arguments to supply to the subscriber

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + EventHandle: + + A subscription handle capable of detaching that + subscription + +
+
+ + + +
+ + +
+

once

+ + +
+ (
    + +
  • + + type + +
  • + +
  • + + fn + +
  • + +
  • + + [context] + +
  • + +
  • + + [arg*] + +
  • + +
) +
+ + + + + EventHandle + + + + + + + + + + + + + + + +
+ + +

Inherited from + EventTarget: + + + + event-custom/js/event-target.js:124 + +

+ + + + + +
+ +
+

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 this object in callback

    +
    + + +
  • + +
  • + + [arg*] + Any + optional + + + + +
    +

    0..n additional arguments to supply to the subscriber

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + EventHandle: + + A subscription handle capable of detaching the + subscription + +
+
+ + + +
+ + +
+

onceAfter

+ + +
+ (
    + +
  • + + type + +
  • + +
  • + + fn + +
  • + +
  • + + [context] + +
  • + +
  • + + [arg*] + +
  • + +
) +
+ + + + + EventHandle + + + + + + + + + + + + + + + +
+ + +

Inherited from + EventTarget: + + + + event-custom/js/event-target.js:146 + +

+ + + + + +
+ +
+

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 this object in callback

    +
    + + +
  • + +
  • + + [arg*] + Any + optional + + + + +
    +

    0..n additional arguments to supply to the subscriber

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + EventHandle: + + A subscription handle capable of detaching that + subscription + +
+
+ + + +
+ + +
+

parseType

+ + +
+ (
    + +
  • + + type + +
  • + +
  • + + [pre=this._yuievt.config.prefix] + +
  • + +
) +
+ + + + + Array + + + + + + + + + + + + + + + +
+ + +

Inherited from + EventTarget: + + + + event-custom/js/event-target.js:168 + +

+ + + + + +

Available since 3.3.0

+ +
+ +
+

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:

+ +
    + +
  • + + type + String + + + + +
    +

    the type

    +
    + + +
  • + +
  • + + [pre=this._yuievt.config.prefix] + String + optional + + + + +
    +

    the prefix

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + Array: + + an array containing: + * the detach category, if supplied, + * the prefixed event type, + * whether or not this is an after listener, + * the supplied event type + +
+
+ + + +
+ + +
+

publish

+ + +
+ (
    + +
  • + + type + +
  • + +
  • + + opts + +
  • + +
) +
+ + + + + CustomEvent + + + + + + + + + + + + + + + +
+ + +

Inherited from + EventTarget: + + + + event-custom/js/event-target.js:493 + +

+ + + + + +
+ +
+

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:

+ +
+ + + CustomEvent: + + the custom event + +
+
+ + + +
+ + +
+

remove

+ + + () + + + + + + + + + + + + + + chainable + + + + +
+ + +

Inherited from + View: + + + + app/js/view.js:272 + +

+ + + + + +
+ +
+

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 + +
  • + +
) +
+ + + + + + + + + + + + + + + + +
+ + +

Inherited from + AttributeExtras: + + + + attribute/js/AttributeExtras.js:79 + +

+ + + + + +
+ +
+

Removes an attribute from the host object

+
+ + +
+

Parameters:

+ +
    + +
  • + + name + String + + + + +
    +

    The name of the attribute to be removed.

    +
    + + +
  • + +
+
+ + + + + +
+ + +
+

removeTarget

+ + +
+ (
    + +
  • + + o + +
  • + +
) +
+ + + + + + + + + + + + + + + + +
+ + +

Inherited from + EventTarget: + + + + event-custom/js/event-facade.js:489 + +

+ + + + + +
+ +
+

Removes a bubble target

+
+ + +
+

Parameters:

+ +
    + +
  • + + o + EventTarget + + + + +
    +

    the target to remove

    +
    + + +
  • + +
+
+ + + + + +
+ + +
+

render

+ + + () + + + + + BodyView + + + + + + + + + + + + + chainable + + + + +
+ +

Inherited from + + View + + + but overwritten in + + + + datatable/js/body.js:340 + +

+ + + + + +

Available since 3.5.0

+ +
+ +
+

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:

+ +
    +
  1. A row template is assembled from the columns attribute (see +_createRowTemplate)

  2. +
  3. An HTML string is built up by concatening the application of the data in +each Model in the modelList to the row template. For cells with +formatters, the function is called to generate cell content. Cells +with nodeFormatters 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.

  4. +
  5. If any column is configured with a nodeFormatter, the modelList is +iterated again to apply the nodeFormatters.

  6. +
+ +

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 +(formatter or nodeFormatter only) if the implementer wants a +predictable name to refer to in their CSS.
  • +
  • cellTemplate - Overrides the instance's CELL_TEMPLATE for 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 a formatter, is the empty string, +null, or undefined.
  • +
  • allowHTML - Set to true if a column value, formatter, or +emptyCellValue can contain HTML. This defaults to false to 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 allow formatters to add CSS +classes to the cell's <td>.
  • +
  • rowIndex - The zero-based row number.
  • +
  • rowClass - Initially empty string to allow formatters 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:

+ +
+ + + BodyView: + + The instance + +
+
+ + + +
+ + +
+

reset

+ + +
+ (
    + +
  • + + name + +
  • + +
) +
+ + + + + Object + + + + + + + + + + + + + chainable + + + + +
+ + +

Inherited from + AttributeExtras: + + + + attribute/js/AttributeExtras.js:89 + +

+ + + + + +
+ +
+

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:

+ +
+ + + Object: + + A reference to the host object. + +
+
+ + + +
+ + +
+

set

+ + +
+ (
    + +
  • + + name + +
  • + +
  • + + value + +
  • + +
  • + + [opts] + +
  • + +
) +
+ + + + + Object + + + + + + + + + + + + + chainable + + + + +
+ +

Inherited from + + AttributeObservable + + + but overwritten in + + + + attribute/js/AttributeCore.js:410 + +

+ + + + + +
+ +
+

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:

+ +
+ + + Object: + + A reference to the host object. + +
+
+ + + +
+ + +
+

setAttrs

+ + +
+ (
    + +
  • + + attrs + +
  • + +
  • + + [opts] + +
  • + +
) +
+ + + + + Object + + + + + + + + + + + + + chainable + + + + +
+ +

Inherited from + + AttributeObservable + + + but overwritten in + + + + attribute/js/AttributeCore.js:729 + +

+ + + + + +
+ +
+

Sets multiple attribute values.

+
+ + +
+

Parameters:

+ +
    + +
  • + + attrs + Object + + + + +
    +

    An object with attributes name/value pairs.

    +
    + + +
  • + +
  • + + [opts] + Object + optional + + + + +
    +

    Optional data providing the circumstances for the change.

    +
    + + +
  • + +
+
+ + + +
+

Returns:

+ +
+ + + Object: + + A reference to the host object. + +
+
+ + + +
+ + +
+

subscribe

+ + + () + + + + + + deprecated + + + + + + + + + + + + +
+ + +

Inherited from + EventTarget: + + + + event-custom/js/event-target.js:336 + +

+ + + +

Deprecated: use on

+ + + +
+ +
+

subscribe to an event

+
+ + + + + + +
+ + +
+

toString

+ + + () + + + + + String + + + + + + + + + + + + + + + +
+ + +

Inherited from + BaseCore: + + + + base/js/BaseCore.js:754 + +

+ + + + + +
+ +
+

Default toString implementation. Provides the constructor NAME +and the instance guid, if set.

+
+ + + + +
+

Returns:

+ +
+ + + String: + + String representation for this object + +
+
+ + + +
+ + +
+

unsubscribe

+ + + () + + + + + + deprecated + + + + + + + + + + + + +
+ + +

Inherited from + EventTarget: + + + + event-custom/js/event-target.js:459 + +

+ + + +

Deprecated: use detach

+ + + +
+ +
+

detach a listener

+
+ + + + + + +
+ + +
+

unsubscribeAll

+ + +
+ (
    + +
  • + + type + +
  • + +
) +
+ + + + + + deprecated + + + + + + + + + + + + +
+ + +

Inherited from + EventTarget: + + + + event-custom/js/event-target.js:480 + +

+ + + +

Deprecated: use detachAll

+ + + +
+ +
+

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 + + + + + + +
+ +

Inherited from + + BaseCore + + + but overwritten in + + + + app/js/view.js:111 + +

+ + + + +

Available since 3.5.0

+ +
+ +
+

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 + + + + + + +
+ + + +

+ + Defined in + + + + + datatable/js/body.js:821 + +

+ + + + +

Available since 3.5.0

+ +
+ +
+

Holds the event subscriptions needing to be detached when the instance is +destroy()ed.

+
+ + +

Default: undefined (initially unset)

+ + + + + +
+ + +
+

_idMap

+ Object + + + + + protected + + + + + + +
+ + + +

+ + Defined in + + + + + datatable/js/body.js:845 + +

+ + + + +
+ +
+

Map of Model clientIds to row ids.

+
+ + + + + + +
+ + +
+

_rowTemplate

+ HTML + + + + + protected + + + + + + +
+ + + +

+ + Defined in + + + + + datatable/js/body.js:881 + +

+ + + + +

Available since 3.5.0

+ +
+ +
+

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 + + + + + + + + + +
+ + + +

+ + Defined in + + + + + datatable/js/body.js:116 + +

+ + + + +

Available since 3.5.0

+ +
+ +
+

HTML template used to create table cells.

+
+ + +

Default: '<td {headers} class="{className}">{content}</td>'

+ + + + + +
+ + +
+

CLASS_EVEN

+ String + + + + + + + + + +
+ + + +

+ + Defined in + + + + + datatable/js/body.js:126 + +

+ + + + +

Available since 3.5.0

+ +
+ +
+

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 + + + + + + + + + +
+ + + +

+ + Defined in + + + + + datatable/js/body.js:138 + +

+ + + + +

Available since 3.5.0

+ +
+ +
+

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 + + + + + + + + + +
+ + +

Inherited from + View: + + + + app/js/view.js:40 + +

+ + + + +

Available since 3.5.0

+ +
+ +
+

Template for this view's container.

+
+ + +

Default: "<div/>"

+ + + + + +
+ + +
+

events

+ Object + + + + + + + + + +
+ + +

Inherited from + View: + + + + app/js/view.js:50 + +

+ + + + +
+ +
+

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 + + +
+ + + +

+ + Defined in + + + + + datatable/js/body.js:894 + +

+ + + + +

Available since 3.8.0

+ +
+ +
+

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.

+ +

See: DataTable.BodyView.Formatters

+
+ + + + + + +
+ + +
+

host

+ Object + + + + + + + + + +
+ + + +

+ + Defined in + + + + + datatable/js/body.js:160 + +

+ + + + +

Available since 3.5.0

+ +
+ +
+

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 + + + + + + + + +
+ + +

Inherited from + BaseCore: + + + + base/js/BaseCore.js:242 + +

+ + +

Deprecated: Use this.constructor.NAME

+ + + +
+ +
+

The string used to identify the class of this object.

+
+ + + + + + +
+ + +
+

ROW_TEMPLATE

+ HTML + + + + + + + + + +
+ + + +

+ + Defined in + + + + + datatable/js/body.js:150 + +

+ + + + +

Available since 3.5.0

+ +
+ +
+

HTML template used to create table rows.

+
+ + +

Default: '<tr id="{rowId}" data-yui3-record="{clientId}" class="{rowClass}">{content}</tr>'

+ + + + + +
+ + +
+

TBODY_TEMPLATE

+ HTML + + + + + + + + + +
+ + + +

+ + Defined in + + + + + datatable/js/body.js:173 + +

+ + + + +

Available since 3.6.0

+ +
+ +
+

HTML templates used to create the <tbody> containing the table rows.

+
+ + +

Default: '<tbody class="{className}">{content}</tbody>'

+ + + + + +
+ + +
+

template

+ Mixed + + + + + + + + + +
+ + +

Inherited from + View: + + + + app/js/view.js:91 + +

+ + + + +
+ +
+

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 + + + + + + + + + + + + + + + +
+ + +

Inherited from + View: + + + + app/js/view.js:376 + +

+ + + + +
+ +
+

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 + + +
+ + +

Inherited from + BaseCore: + + + + base/js/BaseCore.js:157 + +

+ + + + +
+ +
+

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 + + +
+ + +

Inherited from + BaseCore: + + + + base/js/BaseCore.js:143 + +

+ + + + +
+ +
+

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

+ + + + + + + + + + +
+ + +

Inherited from + BaseObservable: + + + + base/js/BaseObservable.js:151 + +

+ + + + +
+ +
+

+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

+ + + + + + + + + + +
+ + +

Inherited from + BaseObservable: + + + + base/js/BaseObservable.js:62 + +

+ + + + +
+ +
+

+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.

    +
    + + +
  • + +
+
+ + + + +
+ + +
+ +
+
+ +
+
+
+
+
+
+ + + + + + + + + +