# Yahoo! UI Library

### datatable 3.3.0

Yahoo! UI Library > datatable > DataTableSort
Search:
Filters Show Private Show Protected Show Deprecated

## Class DataTableSort - extends Plugin.Base

Adds column sorting to DataTable.

### Properties

#### NAME - `static final String`

Class name.

#### NS - `static final String`

The namespace for the plugin. This will be the property on the host which references the plugin instance.

#### Properties inherited from Plugin.Host:

`PluginHost`

#### Properties inherited from Attribute:

``

#### Properties inherited from Base:

`name`

#### Properties inherited from Plugin.Base:

`_handles`

### Methods

#### _before_beforeAttachTbodyTdNode

`protected void _before_beforeAttachTbodyTdNode ( o )`
Before header cell element is attached, sets applicable class names.

Parameters:
  `o <Object} {record, column, tr, headers, classnames, value>` .

#### _beforeAttachTheadThNode

`protected void _beforeAttachTheadThNode ( o )`
Before header cell element is attached, sets applicable class names.

Parameters:
  `o <Object} {value, column, tr>` .

#### _beforeCreateTheadThNode

`protected void _beforeCreateTheadThNode ( o )`
Before header cell element is created, inserts link markup around {value}.

Parameters:
  `o <Object} {value, column, tr>` .

#### _onEventSortColumn

`protected void _onEventSortColumn ( o )`
In response to the "trigger" event, sorts the underlying Recordset and updates the lastSortedBy attribute.

Parameters:
  `o <Object} {value, column, tr>` .

#### _setLastSortedBy

`private void _setLastSortedBy ( val )`
Normalizes lastSortedBy

Parameters:
  `val <String | Object} {key, dir>` or "key"

#### _uiSetLastSortedBy

`protected void _uiSetLastSortedBy ( val , dt )`
Updates sort UI.

Parameters:
  `val <Object} New lastSortedBy object {key,dir>` .
  `dt <Y.DataTable.Base>` Host.

#### initializer

`private void initializer ( config )`
Initializer.

Parameters:
  `config <Object>` Config object.

#### Methods inherited from EventTarget:

`_getType, _monitor, _parseType, addTarget, after, before, bubble, detach, detachAll, fire, getEvent, getTargets, on, once, parseType, publish, removeTarget, subscribe, unsubscribe, unsubscribeAll`

#### Methods inherited from Attribute:

`_addAttrs, _addLazyAttr, _defAttrChangeFn, _fireAttrChange, _getAttr, _getAttrCfg, _getAttrInitVal, _getAttrs, _getStateVal, _isLazyAttr, _normAttrVals, _protectAttrs, _set, _setAttr, _setAttrs, _setAttrVal, _setStateVal, addAttr, addAttrs, attrAdded, get, getAttrs, modifyAttr, removeAttr, reset, set, setAttrs`

#### Methods inherited from Plugin.Host:

`_destroyPlugins, _initPlugins, hasPlugin, plug, unplug`

#### Methods inherited from Base:

`_aggregateAttrs, _defDestroyFn, _defInitFn, _destroyHierarchy, _filterAttrCfs, _getAttrCfgs, _getClasses, _initHierarchy, _initHierarchyData, _preInitEventCfg, destroy, init, toString`

#### Methods inherited from Plugin.Base:

`afterHostEvent, afterHostMethod, beforeHostMethod, destructor, doAfter, doBefore, initializer, onHostEvent`

### Events

#### lastSortedByChange

`lastSortedByChange ( event )`
Fires when the value for the configuration attribute 'lastSortedBy' 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:
  `event <Event.Facade>` An Event Facade object with the following attribute specific properties added:
  prevVal
    The value of the attribute, prior to it being set
  newVal
    The value the attribute is to be set to
  attrName
    The name of the attribute being set
  subAttrName
    If setting a property within the attribute's value, the name of the sub-attribute property being set

#### templateChange

`templateChange ( event )`
Fires when the value for the configuration attribute 'template' 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:
  `event <Event.Facade>` An Event Facade object with the following attribute specific properties added:
  prevVal
    The value of the attribute, prior to it being set
  newVal
    The value the attribute is to be set to
  attrName
    The name of the attribute being set
  subAttrName
    If setting a property within the attribute's value, the name of the sub-attribute property being set

#### triggerChange

`triggerChange ( event )`
Fires when the value for the configuration attribute 'trigger' 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:
  `event <Event.Facade>` An Event Facade object with the following attribute specific properties added:
  prevVal
    The value of the attribute, prior to it being set
  newVal
    The value the attribute is to be set to
  attrName
    The name of the attribute being set
  subAttrName
    If setting a property within the attribute's value, the name of the sub-attribute property being set

#### Events inherited from Base:

`destroy, destroyedChange, init, initializedChange,`

#### Events inherited from Plugin.Base:

`hostChange,`

### Configuration Attributes

#### lastSortedBy `- Object`

Describes last known sort state: {key,dir}, where "key" is column key and "dir" is either "asc" or "desc".

#### template `- String`

Tokenized markup template for TH sort element.
Default Value: '{value}'

#### trigger `- writeonce Object`

Defines the trigger that causes a column to be sorted: {event, selector}, where "event" is an event type and "selector" is is a node query selector.
Default Value: {event:"click", selector:"th"}

#### Configuration attributes inherited from Base:

`destroyed initialized`

#### Configuration attributes inherited from Plugin.Base:

`host`

Copyright © 2011 Yahoo! Inc. All rights reserved.