webgui/www/extras/yui-ext/docs/output/Grid.js.html
JT Smith cfd09a5cb6 upgraded to yui 0.12.0
upgraded to yui-ext 0.33 rc2
2006-11-28 02:23:34 +00:00

896 lines
No EOL
129 KiB
HTML

<html><head><title>Grid.js</title><link rel="stylesheet" type="text/css" href="../style.css" media="screen"/></head><body><div class="hl-main"><pre><span class="hl-comment">/**
* @class YAHOO.ext.grid.Grid
* @extends YAHOO.ext.util.Observable
* This class represents the primary interface of a component based grid control.
* &lt;br&gt;&lt;br&gt;Usage:&lt;pre&gt;&lt;code&gt;
* var grid = new YAHOO.ext.grid.Grid('my-container-id', dataModel, columnModel);
* // set any options
* grid.render();
* &lt;/code&gt;&lt;/pre&gt;
* Common Problems:
* - Grid does not resize properly when going smaller: Setting overflow hidden on the container
* element will correct this
* - If you get el.style[camel]= NaNpx or -2px or something related, be certain you have given your container element
* dimensions. The grid adapts to your container's size, if your container has no size defined then the results
* are unpredictable.
* - Do not put render the grid into an element with display:none. Use visibility:hidden
* and position:absolute - at least until the grid is rendered. Otherwise there is no way for the
* grid to calculate dimension/offsets.
* @requires YAHOO.util.Dom
* @requires YAHOO.util.Event
* @requires YAHOO.util.CustomEvent
* @requires YAHOO.ext.Element
* @requires YAHOO.ext.util.Browser
* @requires YAHOO.ext.util.CSS
* @requires YAHOO.ext.SplitBar
* @requires YAHOO.ext.EventObject
* @constructor
* @param {String/HTMLElement/YAHOO.ext.Element} container The element into which this grid will be rendered -
* The container MUST have some type of size defined for the grid to fill. The container will be
* automatically set to position relative if it isn't already.
* @param {Object} dataModel The data model to bind to
* @param {Object} colModel The column model with info about this grid's columns
* @param {&lt;i&gt;Object&lt;/i&gt;} selectionModel (optional) The selection model for this grid (defaults to DefaultSelectionModel)
*/
</span><span class="hl-identifier">YAHOO</span><span class="hl-default">.</span><span class="hl-identifier">ext</span><span class="hl-default">.</span><span class="hl-identifier">grid</span><span class="hl-default">.</span><span class="hl-identifier">Grid</span><span class="hl-default"> = </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">container</span><span class="hl-code">, </span><span class="hl-identifier">dataModel</span><span class="hl-code">, </span><span class="hl-identifier">colModel</span><span class="hl-code">, </span><span class="hl-identifier">selectionModel</span><span class="hl-brackets">){
</span><span class="hl-comment">/** @private */
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">container</span><span class="hl-code"> = </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">ext</span><span class="hl-code">.</span><span class="hl-identifier">Element</span><span class="hl-code">.</span><span class="hl-identifier">get</span><span class="hl-brackets">(</span><span class="hl-identifier">container</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">container</span><span class="hl-code">.</span><span class="hl-identifier">update</span><span class="hl-brackets">(</span><span class="hl-quotes">''</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">container</span><span class="hl-code">.</span><span class="hl-identifier">setStyle</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">overflow</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-quotes">'</span><span class="hl-string">hidden</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">id</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">container</span><span class="hl-code">.</span><span class="hl-identifier">id</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">rows</span><span class="hl-code"> = </span><span class="hl-brackets">[]</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">rowCount</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">fieldId</span><span class="hl-code"> = </span><span class="hl-reserved">null</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dataModel</span><span class="hl-code"> = </span><span class="hl-identifier">dataModel</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">colModel</span><span class="hl-code"> = </span><span class="hl-identifier">colModel</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">selModel</span><span class="hl-code"> = </span><span class="hl-identifier">selectionModel</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">activeEditor</span><span class="hl-code"> = </span><span class="hl-reserved">null</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">editingCell</span><span class="hl-code"> = </span><span class="hl-reserved">null</span><span class="hl-code">;
</span><span class="hl-comment">/** The minimum width a column can be resized to. (Defaults to 25)
* @type Number */
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">minColumnWidth</span><span class="hl-code"> = </span><span class="hl-number">25</span><span class="hl-code">;
</span><span class="hl-comment">/** True to automatically resize the columns to fit their content &lt;b&gt;on initial render&lt;/b&gt;
* @type Boolean */
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">autoSizeColumns</span><span class="hl-code"> = </span><span class="hl-reserved">false</span><span class="hl-code">;
</span><span class="hl-comment">/** True to measure headers with column data when auto sizing columns
* @type Boolean */
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">autoSizeHeaders</span><span class="hl-code"> = </span><span class="hl-reserved">false</span><span class="hl-code">;
</span><span class="hl-comment">/**
* True to autoSize the grid when the window resizes - defaults to true
*/
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">monitorWindowResize</span><span class="hl-code"> = </span><span class="hl-reserved">true</span><span class="hl-code">;
</span><span class="hl-comment">/** If autoSizeColumns is on, maxRowsToMeasure can be used to limit the number of
* rows measured to get a columns size - defaults to 0 (all rows).
* @type Number */
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">maxRowsToMeasure</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;
</span><span class="hl-comment">/** True to highlight rows when the mouse is over (default is false)
* @type Boolean */
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">trackMouseOver</span><span class="hl-code"> = </span><span class="hl-reserved">false</span><span class="hl-code">;
</span><span class="hl-comment">/** True to enable drag and drop of rows
* @type Boolean */
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">enableDragDrop</span><span class="hl-code"> = </span><span class="hl-reserved">false</span><span class="hl-code">;
</span><span class="hl-comment">/** True to stripe the rows (default is true)
* @type Boolean */
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">stripeRows</span><span class="hl-code"> = </span><span class="hl-reserved">true</span><span class="hl-code">;
</span><span class="hl-comment">/** True to fit the height of the grid container to the height of the data (defaults to false)
* @type Boolean */
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">autoHeight</span><span class="hl-code"> = </span><span class="hl-reserved">false</span><span class="hl-code">;
</span><span class="hl-comment">/** True to fit the width of the grid container to the width of the columns (defaults to false)
* @type Boolean */
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">autoWidth</span><span class="hl-code"> = </span><span class="hl-reserved">false</span><span class="hl-code">;
</span><span class="hl-comment">/** A regular expression defining tagNames
* allowed to have text selection (Defaults to &lt;code&gt;/INPUT|TEXTAREA|SELECT/i&lt;/code&gt;) */
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">allowTextSelectionPattern</span><span class="hl-code"> = </span><span class="hl-quotes">/</span><span class="hl-string">INPUT|TEXTAREA|SELECT</span><span class="hl-quotes">/i</span><span class="hl-code">;
</span><span class="hl-comment">/** @private */
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">setValueDelegate</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">setCellValue</span><span class="hl-code">.</span><span class="hl-identifier">createDelegate</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">CE</span><span class="hl-code"> = </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">CustomEvent</span><span class="hl-code">;
</span><span class="hl-comment">/** @private */
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">events</span><span class="hl-code"> = </span><span class="hl-brackets">{
</span><span class="hl-comment">// raw events
/**
* @event click
* The raw click event for the entire grid.
* @param {YAHOO.ext.EventObject} e
*/
</span><span class="hl-quotes">'</span><span class="hl-string">click</span><span class="hl-quotes">'</span><span class="hl-code"> : </span><span class="hl-reserved">new </span><span class="hl-identifier">CE</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">click</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">,
</span><span class="hl-comment">/**
* @event dblclick
* The raw dblclick event for the entire grid.
* @param {YAHOO.ext.EventObject} e
*/
</span><span class="hl-quotes">'</span><span class="hl-string">dblclick</span><span class="hl-quotes">'</span><span class="hl-code"> : </span><span class="hl-reserved">new </span><span class="hl-identifier">CE</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">dblclick</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">,
</span><span class="hl-comment">/**
* @event mousedown
* The raw mousedown event for the entire grid.
* @param {YAHOO.ext.EventObject} e
*/
</span><span class="hl-quotes">'</span><span class="hl-string">mousedown</span><span class="hl-quotes">'</span><span class="hl-code"> : </span><span class="hl-reserved">new </span><span class="hl-identifier">CE</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">mousedown</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">,
</span><span class="hl-comment">/**
* @event mouseup
* The raw mouseup event for the entire grid.
* @param {YAHOO.ext.EventObject} e
*/
</span><span class="hl-quotes">'</span><span class="hl-string">mouseup</span><span class="hl-quotes">'</span><span class="hl-code"> : </span><span class="hl-reserved">new </span><span class="hl-identifier">CE</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">mouseup</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">,
</span><span class="hl-comment">/**
* @event mouseover
* The raw mouseover event for the entire grid.
* @param {YAHOO.ext.EventObject} e
*/
</span><span class="hl-quotes">'</span><span class="hl-string">mouseover</span><span class="hl-quotes">'</span><span class="hl-code"> : </span><span class="hl-reserved">new </span><span class="hl-identifier">CE</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">mouseover</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">,
</span><span class="hl-comment">/**
* @event mouseout
* The raw mouseout event for the entire grid.
* @param {YAHOO.ext.EventObject} e
*/
</span><span class="hl-quotes">'</span><span class="hl-string">mouseout</span><span class="hl-quotes">'</span><span class="hl-code"> : </span><span class="hl-reserved">new </span><span class="hl-identifier">CE</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">mouseout</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">,
</span><span class="hl-comment">/**
* @event keypress
* The raw keypress event for the entire grid.
* @param {YAHOO.ext.EventObject} e
*/
</span><span class="hl-quotes">'</span><span class="hl-string">keypress</span><span class="hl-quotes">'</span><span class="hl-code"> : </span><span class="hl-reserved">new </span><span class="hl-identifier">CE</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">keypress</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">,
</span><span class="hl-comment">/**
* @event keydown
* The raw keydown event for the entire grid.
* @param {YAHOO.ext.EventObject} e
*/
</span><span class="hl-quotes">'</span><span class="hl-string">keydown</span><span class="hl-quotes">'</span><span class="hl-code"> : </span><span class="hl-reserved">new </span><span class="hl-identifier">CE</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">keydown</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">,
</span><span class="hl-comment">// custom events
/**
* @event cellclick
* Fires when a cell is clicked
* @param {Grid} this
* @param {Number} rowIndex
* @param {Number} columnIndex
* @param {YAHOO.ext.EventObject} e
*/
</span><span class="hl-quotes">'</span><span class="hl-string">cellclick</span><span class="hl-quotes">'</span><span class="hl-code"> : </span><span class="hl-reserved">new </span><span class="hl-identifier">CE</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">cellclick</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">,
</span><span class="hl-comment">/**
* @event celldblclick
* Fires when a cell is double clicked
* @param {Grid} this
* @param {Number} rowIndex
* @param {Number} columnIndex
* @param {YAHOO.ext.EventObject} e
*/
</span><span class="hl-quotes">'</span><span class="hl-string">celldblclick</span><span class="hl-quotes">'</span><span class="hl-code"> : </span><span class="hl-reserved">new </span><span class="hl-identifier">CE</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">celldblclick</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">,
</span><span class="hl-comment">/**
* @event rowclick
* Fires when a row is clicked
* @param {Grid} this
* @param {Number} rowIndex
* @param {YAHOO.ext.EventObject} e
*/
</span><span class="hl-quotes">'</span><span class="hl-string">rowclick</span><span class="hl-quotes">'</span><span class="hl-code"> : </span><span class="hl-reserved">new </span><span class="hl-identifier">CE</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">rowclick</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">,
</span><span class="hl-comment">/**
* @event rowdblclick
* Fires when a cell is double clicked
* @param {Grid} this
* @param {Number} rowIndex
* @param {YAHOO.ext.EventObject} e
*/
</span><span class="hl-quotes">'</span><span class="hl-string">rowdblclick</span><span class="hl-quotes">'</span><span class="hl-code"> : </span><span class="hl-reserved">new </span><span class="hl-identifier">CE</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">rowdblclick</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">,
</span><span class="hl-comment">/**
* @event headerclick
* Fires when a header is clicked
* @param {Grid} this
* @param {Number} columnIndex
* @param {YAHOO.ext.EventObject} e
*/
</span><span class="hl-quotes">'</span><span class="hl-string">headerclick</span><span class="hl-quotes">'</span><span class="hl-code"> : </span><span class="hl-reserved">new </span><span class="hl-identifier">CE</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">headerclick</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">,
</span><span class="hl-comment">/**
* @event rowcontextmenu
* Fires when a row is right clicked
* @param {Grid} this
* @param {Number} rowIndex
* @param {YAHOO.ext.EventObject} e
*/
</span><span class="hl-quotes">'</span><span class="hl-string">rowcontextmenu</span><span class="hl-quotes">'</span><span class="hl-code"> : </span><span class="hl-reserved">new </span><span class="hl-identifier">CE</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">rowcontextmenu</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">,
</span><span class="hl-comment">/**
* @event headercontextmenu
* Fires when a header is right clicked
* @param {Grid} this
* @param {Number} columnIndex
* @param {YAHOO.ext.EventObject} e
*/
</span><span class="hl-quotes">'</span><span class="hl-string">headercontextmenu</span><span class="hl-quotes">'</span><span class="hl-code"> : </span><span class="hl-reserved">new </span><span class="hl-identifier">CE</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">headercontextmenu</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">,
</span><span class="hl-comment">/**
* @event beforeedit
* Fires before a cell is edited
* @param {Grid} this
* @param {Number} rowIndex
* @param {Number} columnIndex
*/
</span><span class="hl-quotes">'</span><span class="hl-string">beforeedit</span><span class="hl-quotes">'</span><span class="hl-code"> : </span><span class="hl-reserved">new </span><span class="hl-identifier">CE</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">beforeedit</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">,
</span><span class="hl-comment">/**
* @event afteredit
* Fires after a cell is edited
* @param {Grid} this
* @param {Number} rowIndex
* @param {Number} columnIndex
*/
</span><span class="hl-quotes">'</span><span class="hl-string">afteredit</span><span class="hl-quotes">'</span><span class="hl-code"> : </span><span class="hl-reserved">new </span><span class="hl-identifier">CE</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">afteredit</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">,
</span><span class="hl-comment">/**
* @event bodyscroll
* Fires when the body element is scrolled
* @param {Number} scrollLeft
* @param {Number} scrollTop
*/
</span><span class="hl-quotes">'</span><span class="hl-string">bodyscroll</span><span class="hl-quotes">'</span><span class="hl-code"> : </span><span class="hl-reserved">new </span><span class="hl-identifier">CE</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">bodyscroll</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">,
</span><span class="hl-comment">/**
* @event columnresize
* Fires when the user resizes a column
* @param {Number} columnIndex
* @param {Number} newSize
*/
</span><span class="hl-quotes">'</span><span class="hl-string">columnresize</span><span class="hl-quotes">'</span><span class="hl-code"> : </span><span class="hl-reserved">new </span><span class="hl-identifier">CE</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">columnresize</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">,
</span><span class="hl-comment">/**
* @event startdrag
* Fires when row(s) start being dragged
* @param {Grid} this
* @param {YAHOO.ext.GridDD} dd The drag drop object
* @param {event} e The raw browser event
*/
</span><span class="hl-quotes">'</span><span class="hl-string">startdrag</span><span class="hl-quotes">'</span><span class="hl-code"> : </span><span class="hl-reserved">new </span><span class="hl-identifier">CE</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">startdrag</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">,
</span><span class="hl-comment">/**
* @event enddrag
* Fires when a drag operation is complete
* @param {Grid} this
* @param {YAHOO.ext.GridDD} dd The drag drop object
* @param {event} e The raw browser event
*/
</span><span class="hl-quotes">'</span><span class="hl-string">enddrag</span><span class="hl-quotes">'</span><span class="hl-code"> : </span><span class="hl-reserved">new </span><span class="hl-identifier">CE</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">enddrag</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">,
</span><span class="hl-comment">/**
* @event dragdrop
* Fires when dragged row(s) are dropped on a valid DD target
* @param {Grid} this
* @param {YAHOO.ext.GridDD} dd The drag drop object
* @param {String} targetId The target drag drop object
* @param {event} e The raw browser event
*/
</span><span class="hl-quotes">'</span><span class="hl-string">dragdrop</span><span class="hl-quotes">'</span><span class="hl-code"> : </span><span class="hl-reserved">new </span><span class="hl-identifier">CE</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">dragdrop</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">,
</span><span class="hl-comment">/**
* @event dragover
* Fires while row(s) are being dragged. &quot;targetId&quot; is the id of the Yahoo.util.DD object the selected rows are being dragged over.
* @param {Grid} this
* @param {YAHOO.ext.GridDD} dd The drag drop object
* @param {String} targetId The target drag drop object
* @param {event} e The raw browser event
*/
</span><span class="hl-quotes">'</span><span class="hl-string">dragover</span><span class="hl-quotes">'</span><span class="hl-code"> : </span><span class="hl-reserved">new </span><span class="hl-identifier">CE</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">dragover</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">,
</span><span class="hl-comment">/**
* @event dragenter
* Fires when the dragged row(s) first cross another DD target while being dragged
* @param {Grid} this
* @param {YAHOO.ext.GridDD} dd The drag drop object
* @param {String} targetId The target drag drop object
* @param {event} e The raw browser event
*/
</span><span class="hl-quotes">'</span><span class="hl-string">dragenter</span><span class="hl-quotes">'</span><span class="hl-code"> : </span><span class="hl-reserved">new </span><span class="hl-identifier">CE</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">dragenter</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">,
</span><span class="hl-comment">/**
* @event dragout
* Fires when the dragged row(s) leave another DD target while being dragged
* @param {Grid} this
* @param {YAHOO.ext.GridDD} dd The drag drop object
* @param {String} targetId The target drag drop object
* @param {event} e The raw browser event
*/
</span><span class="hl-quotes">'</span><span class="hl-string">dragout</span><span class="hl-quotes">'</span><span class="hl-code"> : </span><span class="hl-reserved">new </span><span class="hl-identifier">CE</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">dragout</span><span class="hl-quotes">'</span><span class="hl-brackets">)
}</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-default">;
</span><span class="hl-identifier">YAHOO</span><span class="hl-default">.</span><span class="hl-identifier">ext</span><span class="hl-default">.</span><span class="hl-identifier">grid</span><span class="hl-default">.</span><span class="hl-identifier">Grid</span><span class="hl-default">.</span><span class="hl-identifier">prototype</span><span class="hl-default"> = </span><span class="hl-brackets">{
</span><span class="hl-comment">/**
* Called once after all setup has been completed and the grid is ready to be rendered.
*/
</span><span class="hl-identifier">render</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(){
</span><span class="hl-reserved">if</span><span class="hl-brackets">((</span><span class="hl-code">!</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">container</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">.</span><span class="hl-identifier">offsetHeight</span><span class="hl-code"> || </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">container</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">.</span><span class="hl-identifier">offsetHeight</span><span class="hl-code"> &lt; </span><span class="hl-number">20</span><span class="hl-brackets">)</span><span class="hl-code">
|| </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">container</span><span class="hl-code">.</span><span class="hl-identifier">getStyle</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">height</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code"> == </span><span class="hl-quotes">'</span><span class="hl-string">auto</span><span class="hl-quotes">'</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">autoHeight</span><span class="hl-code"> = </span><span class="hl-reserved">true</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">if</span><span class="hl-brackets">((</span><span class="hl-code">!</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">container</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">.</span><span class="hl-identifier">offsetWidth</span><span class="hl-code"> || </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">container</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">.</span><span class="hl-identifier">offsetWidth</span><span class="hl-code"> &lt; </span><span class="hl-number">20</span><span class="hl-brackets">)</span><span class="hl-code">
|| </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">container</span><span class="hl-code">.</span><span class="hl-identifier">getStyle</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">width</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code"> == </span><span class="hl-quotes">'</span><span class="hl-string">auto</span><span class="hl-quotes">'</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">autoWidth</span><span class="hl-code"> = </span><span class="hl-reserved">true</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-code">!</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">view</span><span class="hl-brackets">){
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dataModel</span><span class="hl-code">.</span><span class="hl-identifier">isPaged</span><span class="hl-brackets">()){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">view</span><span class="hl-code"> = </span><span class="hl-reserved">new </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">ext</span><span class="hl-code">.</span><span class="hl-identifier">grid</span><span class="hl-code">.</span><span class="hl-identifier">PagedGridView</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-reserved">else</span><span class="hl-brackets">{
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">view</span><span class="hl-code"> = </span><span class="hl-reserved">new </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">ext</span><span class="hl-code">.</span><span class="hl-identifier">grid</span><span class="hl-code">.</span><span class="hl-identifier">GridView</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-brackets">}
}
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">view</span><span class="hl-code">.</span><span class="hl-identifier">init</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">el</span><span class="hl-code"> = </span><span class="hl-identifier">getEl</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">view</span><span class="hl-code">.</span><span class="hl-identifier">render</span><span class="hl-brackets">()</span><span class="hl-code">, </span><span class="hl-reserved">true</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">c</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">container</span><span class="hl-code">;
</span><span class="hl-identifier">c</span><span class="hl-code">.</span><span class="hl-identifier">mon</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">click</span><span class="hl-quotes">&quot;</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-builtin">onClick</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">, </span><span class="hl-reserved">true</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-identifier">c</span><span class="hl-code">.</span><span class="hl-identifier">mon</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">dblclick</span><span class="hl-quotes">&quot;</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-builtin">onDblClick</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">, </span><span class="hl-reserved">true</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-identifier">c</span><span class="hl-code">.</span><span class="hl-identifier">mon</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">contextmenu</span><span class="hl-quotes">&quot;</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">onContextMenu</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">, </span><span class="hl-reserved">true</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-identifier">c</span><span class="hl-code">.</span><span class="hl-identifier">mon</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">selectstart</span><span class="hl-quotes">&quot;</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">cancelTextSelection</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">, </span><span class="hl-reserved">true</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-identifier">c</span><span class="hl-code">.</span><span class="hl-identifier">mon</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">mousedown</span><span class="hl-quotes">&quot;</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">cancelTextSelection</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">, </span><span class="hl-reserved">true</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-identifier">c</span><span class="hl-code">.</span><span class="hl-identifier">mon</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">mousedown</span><span class="hl-quotes">&quot;</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-builtin">onMouseDown</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">, </span><span class="hl-reserved">true</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-identifier">c</span><span class="hl-code">.</span><span class="hl-identifier">mon</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">mouseup</span><span class="hl-quotes">&quot;</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-builtin">onMouseUp</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">, </span><span class="hl-reserved">true</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">trackMouseOver</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">el</span><span class="hl-code">.</span><span class="hl-identifier">mon</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">mouseover</span><span class="hl-quotes">&quot;</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-builtin">onMouseOver</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">, </span><span class="hl-reserved">true</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">el</span><span class="hl-code">.</span><span class="hl-identifier">mon</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">mouseout</span><span class="hl-quotes">&quot;</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-builtin">onMouseOut</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">, </span><span class="hl-reserved">true</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-identifier">c</span><span class="hl-code">.</span><span class="hl-identifier">mon</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">keypress</span><span class="hl-quotes">&quot;</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-builtin">onKeyPress</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">, </span><span class="hl-reserved">true</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-identifier">c</span><span class="hl-code">.</span><span class="hl-identifier">mon</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">keydown</span><span class="hl-quotes">&quot;</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-builtin">onKeyDown</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">, </span><span class="hl-reserved">true</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">init</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Replace the current data model with a new one (experimental)
* @param {DataModel} dm The new data model
* @pram {Boolean} rerender true to render the grid rows from scratch
*/
</span><span class="hl-identifier">setDataModel</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">dm</span><span class="hl-code">, </span><span class="hl-identifier">rerender</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">view</span><span class="hl-code">.</span><span class="hl-identifier">unplugDataModel</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dataModel</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dataModel</span><span class="hl-code"> = </span><span class="hl-identifier">dm</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">view</span><span class="hl-code">.</span><span class="hl-identifier">plugDataModel</span><span class="hl-brackets">(</span><span class="hl-identifier">dm</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">rerender</span><span class="hl-brackets">){
</span><span class="hl-identifier">dm</span><span class="hl-code">.</span><span class="hl-identifier">fireEvent</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">datachanged</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}
}</span><span class="hl-code">,
</span><span class="hl-identifier">init</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">rows</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">el</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">.</span><span class="hl-identifier">rows</span><span class="hl-code">;
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-code">!</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">disableSelection</span><span class="hl-brackets">){
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-code">!</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">selModel</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">selModel</span><span class="hl-code"> = </span><span class="hl-reserved">new </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">ext</span><span class="hl-code">.</span><span class="hl-identifier">grid</span><span class="hl-code">.</span><span class="hl-identifier">DefaultSelectionModel</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">selModel</span><span class="hl-code">.</span><span class="hl-identifier">init</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">selModel</span><span class="hl-code">.</span><span class="hl-identifier">onSelectionChange</span><span class="hl-code">.</span><span class="hl-identifier">subscribe</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">updateField</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">, </span><span class="hl-reserved">true</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-reserved">else</span><span class="hl-brackets">{
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">selModel</span><span class="hl-code"> = </span><span class="hl-reserved">new </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">ext</span><span class="hl-code">.</span><span class="hl-identifier">grid</span><span class="hl-code">.</span><span class="hl-identifier">DisableSelectionModel</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">selModel</span><span class="hl-code">.</span><span class="hl-identifier">init</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">enableDragDrop</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dd</span><span class="hl-code"> = </span><span class="hl-reserved">new </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">ext</span><span class="hl-code">.</span><span class="hl-identifier">grid</span><span class="hl-code">.</span><span class="hl-identifier">GridDD</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">container</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}
}</span><span class="hl-code">,
</span><span class="hl-builtin">onMouseDown</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">e</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">fireEvent</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">mousedown</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-identifier">e</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-builtin">onMouseUp</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">e</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">fireEvent</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">mouseup</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-identifier">e</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-builtin">onMouseOver</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">e</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">fireEvent</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">mouseover</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-identifier">e</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-builtin">onMouseOut</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">e</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">fireEvent</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">mouseout</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-identifier">e</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-builtin">onKeyPress</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">e</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">fireEvent</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">keypress</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-identifier">e</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-builtin">onKeyDown</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">e</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">fireEvent</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">keydown</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-identifier">e</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-identifier">fireEvent</span><span class="hl-code"> : </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">ext</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Observable</span><span class="hl-code">.</span><span class="hl-identifier">prototype</span><span class="hl-code">.</span><span class="hl-identifier">fireEvent</span><span class="hl-code">,
</span><span class="hl-identifier">on</span><span class="hl-code"> : </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">ext</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Observable</span><span class="hl-code">.</span><span class="hl-identifier">prototype</span><span class="hl-code">.</span><span class="hl-identifier">on</span><span class="hl-code">,
</span><span class="hl-identifier">addListener</span><span class="hl-code"> : </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">ext</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Observable</span><span class="hl-code">.</span><span class="hl-identifier">prototype</span><span class="hl-code">.</span><span class="hl-identifier">addListener</span><span class="hl-code">,
</span><span class="hl-identifier">delayedListener</span><span class="hl-code"> : </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">ext</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Observable</span><span class="hl-code">.</span><span class="hl-identifier">prototype</span><span class="hl-code">.</span><span class="hl-identifier">delayedListener</span><span class="hl-code">,
</span><span class="hl-identifier">removeListener</span><span class="hl-code"> : </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">ext</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Observable</span><span class="hl-code">.</span><span class="hl-identifier">prototype</span><span class="hl-code">.</span><span class="hl-identifier">removeListener</span><span class="hl-code">,
</span><span class="hl-identifier">purgeListeners</span><span class="hl-code"> : </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">ext</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Observable</span><span class="hl-code">.</span><span class="hl-identifier">prototype</span><span class="hl-code">.</span><span class="hl-identifier">purgeListeners</span><span class="hl-code">,
</span><span class="hl-builtin">onClick</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">e</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">fireEvent</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">click</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-identifier">e</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">target</span><span class="hl-code"> = </span><span class="hl-identifier">e</span><span class="hl-code">.</span><span class="hl-identifier">getTarget</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">row</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getRowFromChild</span><span class="hl-brackets">(</span><span class="hl-identifier">target</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">cell</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getCellFromChild</span><span class="hl-brackets">(</span><span class="hl-identifier">target</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">header</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getHeaderFromChild</span><span class="hl-brackets">(</span><span class="hl-identifier">target</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">row</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">fireEvent</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">rowclick</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">, </span><span class="hl-identifier">row</span><span class="hl-code">.</span><span class="hl-identifier">rowIndex</span><span class="hl-code">, </span><span class="hl-identifier">e</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">cell</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">fireEvent</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">cellclick</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">, </span><span class="hl-identifier">row</span><span class="hl-code">.</span><span class="hl-identifier">rowIndex</span><span class="hl-code">, </span><span class="hl-identifier">cell</span><span class="hl-code">.</span><span class="hl-identifier">columnIndex</span><span class="hl-code">, </span><span class="hl-identifier">e</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">header</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">fireEvent</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">headerclick</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">, </span><span class="hl-identifier">header</span><span class="hl-code">.</span><span class="hl-identifier">columnIndex</span><span class="hl-code">, </span><span class="hl-identifier">e</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}
}</span><span class="hl-code">,
</span><span class="hl-identifier">onContextMenu</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">e</span><span class="hl-brackets">){
</span><span class="hl-reserved">var </span><span class="hl-identifier">target</span><span class="hl-code"> = </span><span class="hl-identifier">e</span><span class="hl-code">.</span><span class="hl-identifier">getTarget</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">row</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getRowFromChild</span><span class="hl-brackets">(</span><span class="hl-identifier">target</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">header</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getHeaderFromChild</span><span class="hl-brackets">(</span><span class="hl-identifier">target</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">row</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">fireEvent</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">rowcontextmenu</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">, </span><span class="hl-identifier">row</span><span class="hl-code">.</span><span class="hl-identifier">rowIndex</span><span class="hl-code">, </span><span class="hl-identifier">e</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">header</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">fireEvent</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">headercontextmenu</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">, </span><span class="hl-identifier">header</span><span class="hl-code">.</span><span class="hl-identifier">columnIndex</span><span class="hl-code">, </span><span class="hl-identifier">e</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-identifier">e</span><span class="hl-code">.</span><span class="hl-identifier">preventDefault</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-builtin">onDblClick</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">e</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">fireEvent</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">dblclick</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-identifier">e</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">target</span><span class="hl-code"> = </span><span class="hl-identifier">e</span><span class="hl-code">.</span><span class="hl-identifier">getTarget</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">row</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getRowFromChild</span><span class="hl-brackets">(</span><span class="hl-identifier">target</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">cell</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getCellFromChild</span><span class="hl-brackets">(</span><span class="hl-identifier">target</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">row</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">fireEvent</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">rowdblclick</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">, </span><span class="hl-identifier">row</span><span class="hl-code">.</span><span class="hl-identifier">rowIndex</span><span class="hl-code">, </span><span class="hl-identifier">e</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">cell</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">fireEvent</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">celldblclick</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">, </span><span class="hl-identifier">row</span><span class="hl-code">.</span><span class="hl-identifier">rowIndex</span><span class="hl-code">, </span><span class="hl-identifier">cell</span><span class="hl-code">.</span><span class="hl-identifier">columnIndex</span><span class="hl-code">, </span><span class="hl-identifier">e</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}
}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Starts editing the specified for the specified row/column
* @param {Number} rowIndex
* @param {Number} colIndex
*/
</span><span class="hl-identifier">startEditing</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">rowIndex</span><span class="hl-code">, </span><span class="hl-identifier">colIndex</span><span class="hl-brackets">){
</span><span class="hl-reserved">var </span><span class="hl-identifier">row</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">rows</span><span class="hl-brackets">[</span><span class="hl-identifier">rowIndex</span><span class="hl-brackets">]</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">cell</span><span class="hl-code"> = </span><span class="hl-identifier">row</span><span class="hl-code">.</span><span class="hl-identifier">childNodes</span><span class="hl-brackets">[</span><span class="hl-identifier">colIndex</span><span class="hl-brackets">]</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">stopEditing</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-identifier">setTimeout</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">doEdit</span><span class="hl-code">.</span><span class="hl-identifier">createDelegate</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">, </span><span class="hl-brackets">[</span><span class="hl-identifier">row</span><span class="hl-code">, </span><span class="hl-identifier">cell</span><span class="hl-brackets">])</span><span class="hl-code">, </span><span class="hl-number">10</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Stops any active editing
*/
</span><span class="hl-identifier">stopEditing</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(){
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">activeEditor</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">activeEditor</span><span class="hl-code">.</span><span class="hl-identifier">stopEditing</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-brackets">}
}</span><span class="hl-code">,
</span><span class="hl-comment">/** @ignore */
</span><span class="hl-identifier">doEdit</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">row</span><span class="hl-code">, </span><span class="hl-identifier">cell</span><span class="hl-brackets">){
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-code">!</span><span class="hl-identifier">row</span><span class="hl-code"> || !</span><span class="hl-identifier">cell</span><span class="hl-brackets">) </span><span class="hl-reserved">return</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">cm</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">colModel</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">dm</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dataModel</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">colIndex</span><span class="hl-code"> = </span><span class="hl-identifier">cell</span><span class="hl-code">.</span><span class="hl-identifier">columnIndex</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">rowIndex</span><span class="hl-code"> = </span><span class="hl-identifier">row</span><span class="hl-code">.</span><span class="hl-identifier">rowIndex</span><span class="hl-code">;
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">cm</span><span class="hl-code">.</span><span class="hl-identifier">isCellEditable</span><span class="hl-brackets">(</span><span class="hl-identifier">colIndex</span><span class="hl-code">, </span><span class="hl-identifier">rowIndex</span><span class="hl-brackets">)){
</span><span class="hl-reserved">var </span><span class="hl-identifier">ed</span><span class="hl-code"> = </span><span class="hl-identifier">cm</span><span class="hl-code">.</span><span class="hl-identifier">getCellEditor</span><span class="hl-brackets">(</span><span class="hl-identifier">colIndex</span><span class="hl-code">, </span><span class="hl-identifier">rowIndex</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">ed</span><span class="hl-brackets">){
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">activeEditor</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">activeEditor</span><span class="hl-code">.</span><span class="hl-identifier">stopEditing</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">fireEvent</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">beforeedit</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">, </span><span class="hl-identifier">rowIndex</span><span class="hl-code">, </span><span class="hl-identifier">colIndex</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">activeEditor</span><span class="hl-code"> = </span><span class="hl-identifier">ed</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">editingCell</span><span class="hl-code"> = </span><span class="hl-identifier">cell</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">view</span><span class="hl-code">.</span><span class="hl-identifier">ensureVisible</span><span class="hl-brackets">(</span><span class="hl-identifier">row</span><span class="hl-code">, </span><span class="hl-reserved">true</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">try</span><span class="hl-brackets">{
</span><span class="hl-identifier">cell</span><span class="hl-code">.</span><span class="hl-identifier">focus</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-reserved">catch</span><span class="hl-brackets">(</span><span class="hl-identifier">e</span><span class="hl-brackets">){}
</span><span class="hl-identifier">ed</span><span class="hl-code">.</span><span class="hl-identifier">init</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">el</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">.</span><span class="hl-identifier">parentNode</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">setValueDelegate</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">value</span><span class="hl-code"> = </span><span class="hl-identifier">dm</span><span class="hl-code">.</span><span class="hl-identifier">getValueAt</span><span class="hl-brackets">(</span><span class="hl-identifier">rowIndex</span><span class="hl-code">, </span><span class="hl-identifier">cm</span><span class="hl-code">.</span><span class="hl-identifier">getDataIndex</span><span class="hl-brackets">(</span><span class="hl-identifier">colIndex</span><span class="hl-brackets">))</span><span class="hl-code">;
</span><span class="hl-comment">// set timeout so firefox stops editing before starting a new edit
</span><span class="hl-identifier">setTimeout</span><span class="hl-brackets">(</span><span class="hl-identifier">ed</span><span class="hl-code">.</span><span class="hl-identifier">startEditing</span><span class="hl-code">.</span><span class="hl-identifier">createDelegate</span><span class="hl-brackets">(</span><span class="hl-identifier">ed</span><span class="hl-code">, </span><span class="hl-brackets">[</span><span class="hl-identifier">value</span><span class="hl-code">, </span><span class="hl-identifier">row</span><span class="hl-code">, </span><span class="hl-identifier">cell</span><span class="hl-brackets">])</span><span class="hl-code">, </span><span class="hl-number">1</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}
}
}</span><span class="hl-code">,
</span><span class="hl-identifier">setCellValue</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">value</span><span class="hl-code">, </span><span class="hl-identifier">rowIndex</span><span class="hl-code">, </span><span class="hl-identifier">colIndex</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dataModel</span><span class="hl-code">.</span><span class="hl-identifier">setValueAt</span><span class="hl-brackets">(</span><span class="hl-identifier">value</span><span class="hl-code">, </span><span class="hl-identifier">rowIndex</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">colModel</span><span class="hl-code">.</span><span class="hl-identifier">getDataIndex</span><span class="hl-brackets">(</span><span class="hl-identifier">colIndex</span><span class="hl-brackets">))</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">fireEvent</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">afteredit</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">, </span><span class="hl-identifier">rowIndex</span><span class="hl-code">, </span><span class="hl-identifier">colIndex</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/** @ignore Called when text selection starts or mousedown to prevent default */
</span><span class="hl-identifier">cancelTextSelection</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">e</span><span class="hl-brackets">){
</span><span class="hl-reserved">var </span><span class="hl-identifier">target</span><span class="hl-code"> = </span><span class="hl-identifier">e</span><span class="hl-code">.</span><span class="hl-identifier">getTarget</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">target</span><span class="hl-code"> &amp;&amp; </span><span class="hl-identifier">target</span><span class="hl-code"> != </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">el</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">.</span><span class="hl-identifier">parentNode</span><span class="hl-code"> &amp;&amp; !</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">allowTextSelectionPattern</span><span class="hl-code">.</span><span class="hl-identifier">test</span><span class="hl-brackets">(</span><span class="hl-identifier">target</span><span class="hl-code">.</span><span class="hl-identifier">tagName</span><span class="hl-brackets">)){
</span><span class="hl-identifier">e</span><span class="hl-code">.</span><span class="hl-identifier">preventDefault</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-brackets">}
}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Causes the grid to manually recalculate it's dimensions. Generally this is done automatically,
* but if manual update is required this method will initiate it.
*/
</span><span class="hl-identifier">autoSize</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">view</span><span class="hl-code">.</span><span class="hl-identifier">updateWrapHeight</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">view</span><span class="hl-code">.</span><span class="hl-identifier">adjustForScroll</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Scrolls the grid to the specified row
* @param {Number/HTMLElement} row The row object or index of the row
*/
</span><span class="hl-identifier">scrollTo</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">row</span><span class="hl-brackets">){
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-reserved">typeof </span><span class="hl-identifier">row</span><span class="hl-code"> == </span><span class="hl-quotes">'</span><span class="hl-string">number</span><span class="hl-quotes">'</span><span class="hl-brackets">){
</span><span class="hl-identifier">row</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">rows</span><span class="hl-brackets">[</span><span class="hl-identifier">row</span><span class="hl-brackets">]</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">view</span><span class="hl-code">.</span><span class="hl-identifier">ensureVisible</span><span class="hl-brackets">(</span><span class="hl-identifier">row</span><span class="hl-code">, </span><span class="hl-reserved">true</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/** @private */
</span><span class="hl-identifier">getEditingCell</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(){
</span><span class="hl-reserved">return this</span><span class="hl-code">.</span><span class="hl-identifier">editingCell</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Binds this grid to the field with the specified id. Initially reads and parses the comma
* delimited ids in the field and selects those items. All selections made in the grid
* will be persisted to the field by their ids comma delimited.
* @param {String} The id of the field to bind to
*/
</span><span class="hl-identifier">bindToField</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">fieldId</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">fieldId</span><span class="hl-code"> = </span><span class="hl-identifier">fieldId</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">readField</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/** @private */
</span><span class="hl-identifier">updateField</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(){
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">fieldId</span><span class="hl-brackets">){
</span><span class="hl-reserved">var </span><span class="hl-identifier">field</span><span class="hl-code"> = </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">.</span><span class="hl-identifier">get</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">fieldId</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-identifier">field</span><span class="hl-code">.</span><span class="hl-identifier">value</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getSelectedRowIds</span><span class="hl-brackets">()</span><span class="hl-code">.</span><span class="hl-identifier">join</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">,</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}
}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Causes the grid to read and select the ids from the bound field - See {@link #bindToField}.
*/
</span><span class="hl-identifier">readField</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(){
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">fieldId</span><span class="hl-brackets">){
</span><span class="hl-reserved">var </span><span class="hl-identifier">field</span><span class="hl-code"> = </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">.</span><span class="hl-identifier">get</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">fieldId</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">values</span><span class="hl-code"> = </span><span class="hl-identifier">field</span><span class="hl-code">.</span><span class="hl-identifier">value</span><span class="hl-code">.</span><span class="hl-identifier">split</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">,</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">rows</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getRowsById</span><span class="hl-brackets">(</span><span class="hl-identifier">values</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">selModel</span><span class="hl-code">.</span><span class="hl-identifier">selectRows</span><span class="hl-brackets">(</span><span class="hl-identifier">rows</span><span class="hl-code">, </span><span class="hl-reserved">false</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}
}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Returns the table row at the specified index
* @param {Number} index
* @return {HTMLElement}
*/
</span><span class="hl-identifier">getRow</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">index</span><span class="hl-brackets">){
</span><span class="hl-reserved">return this</span><span class="hl-code">.</span><span class="hl-identifier">rows</span><span class="hl-brackets">[</span><span class="hl-identifier">index</span><span class="hl-brackets">]</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Returns the rows that have the specified id(s). The id value for a row is provided
* by the DataModel. See {@link YAHOO.ext.grid.DefaultDataModel#getRowId}.
* @param {String/Array} An id to find or an array of ids
* @return {HtmlElement/Array} If one id was passed in, it returns one result.
* If an array of ids was specified, it returns an Array of HTMLElements
*/
</span><span class="hl-identifier">getRowsById</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">id</span><span class="hl-brackets">){
</span><span class="hl-reserved">var </span><span class="hl-identifier">dm</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">dataModel</span><span class="hl-code">;
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-code">!</span><span class="hl-brackets">(</span><span class="hl-identifier">id </span><span class="hl-reserved">instanceof </span><span class="hl-builtin">Array</span><span class="hl-brackets">)){
</span><span class="hl-reserved">for</span><span class="hl-brackets">(</span><span class="hl-reserved">var </span><span class="hl-identifier">i</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">; </span><span class="hl-identifier">i</span><span class="hl-code"> &lt; </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">rows</span><span class="hl-code">.</span><span class="hl-identifier">length</span><span class="hl-code">; </span><span class="hl-identifier">i</span><span class="hl-code">++</span><span class="hl-brackets">){
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">dm</span><span class="hl-code">.</span><span class="hl-identifier">getRowId</span><span class="hl-brackets">(</span><span class="hl-identifier">i</span><span class="hl-brackets">)</span><span class="hl-code"> == </span><span class="hl-identifier">id</span><span class="hl-brackets">){
</span><span class="hl-reserved">return this</span><span class="hl-code">.</span><span class="hl-identifier">rows</span><span class="hl-brackets">[</span><span class="hl-identifier">i</span><span class="hl-brackets">]</span><span class="hl-code">;
</span><span class="hl-brackets">}
}
</span><span class="hl-reserved">return null</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">var </span><span class="hl-identifier">found</span><span class="hl-code"> = </span><span class="hl-brackets">[]</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">re</span><span class="hl-code"> = </span><span class="hl-quotes">&quot;</span><span class="hl-string">^(?:</span><span class="hl-quotes">&quot;</span><span class="hl-code">;
</span><span class="hl-reserved">for</span><span class="hl-brackets">(</span><span class="hl-reserved">var </span><span class="hl-identifier">i</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">; </span><span class="hl-identifier">i</span><span class="hl-code"> &lt; </span><span class="hl-identifier">id</span><span class="hl-code">.</span><span class="hl-identifier">length</span><span class="hl-code">; </span><span class="hl-identifier">i</span><span class="hl-code">++</span><span class="hl-brackets">){
</span><span class="hl-identifier">re</span><span class="hl-code"> += </span><span class="hl-identifier">id</span><span class="hl-brackets">[</span><span class="hl-identifier">i</span><span class="hl-brackets">]</span><span class="hl-code">;
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">i</span><span class="hl-code"> != </span><span class="hl-identifier">id</span><span class="hl-code">.</span><span class="hl-identifier">length</span><span class="hl-code">-</span><span class="hl-number">1</span><span class="hl-brackets">) </span><span class="hl-identifier">re</span><span class="hl-code"> += </span><span class="hl-quotes">&quot;</span><span class="hl-string">|</span><span class="hl-quotes">&quot;</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">var </span><span class="hl-identifier">regex</span><span class="hl-code"> = </span><span class="hl-reserved">new </span><span class="hl-builtin">RegExp</span><span class="hl-brackets">(</span><span class="hl-identifier">re</span><span class="hl-code"> + </span><span class="hl-quotes">&quot;</span><span class="hl-string">)$</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">for</span><span class="hl-brackets">(</span><span class="hl-reserved">var </span><span class="hl-identifier">i</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">; </span><span class="hl-identifier">i</span><span class="hl-code"> &lt; </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">rows</span><span class="hl-code">.</span><span class="hl-identifier">length</span><span class="hl-code">; </span><span class="hl-identifier">i</span><span class="hl-code">++</span><span class="hl-brackets">){
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">regex</span><span class="hl-code">.</span><span class="hl-identifier">test</span><span class="hl-brackets">(</span><span class="hl-identifier">dm</span><span class="hl-code">.</span><span class="hl-identifier">getRowId</span><span class="hl-brackets">(</span><span class="hl-identifier">i</span><span class="hl-brackets">))){
</span><span class="hl-identifier">found</span><span class="hl-code">.</span><span class="hl-identifier">push</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">rows</span><span class="hl-brackets">[</span><span class="hl-identifier">i</span><span class="hl-brackets">])</span><span class="hl-code">;
</span><span class="hl-brackets">}
}
</span><span class="hl-reserved">return </span><span class="hl-identifier">found</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Returns the row that comes after the specified row - text nodes are skipped.
* @param {HTMLElement} row
* @return {HTMLElement}
*/
</span><span class="hl-identifier">getRowAfter</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">row</span><span class="hl-brackets">){
</span><span class="hl-reserved">return this</span><span class="hl-code">.</span><span class="hl-identifier">getSibling</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">next</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-identifier">row</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Returns the row that comes before the specified row - text nodes are skipped.
* @param {HTMLElement} row
* @return {HTMLElement}
*/
</span><span class="hl-identifier">getRowBefore</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">row</span><span class="hl-brackets">){
</span><span class="hl-reserved">return this</span><span class="hl-code">.</span><span class="hl-identifier">getSibling</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">previous</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-identifier">row</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Returns the cell that comes after the specified cell - text nodes are skipped.
* @param {HTMLElement} cell
* @param {Boolean} includeHidden
* @return {HTMLElement}
*/
</span><span class="hl-identifier">getCellAfter</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">cell</span><span class="hl-code">, </span><span class="hl-identifier">includeHidden</span><span class="hl-brackets">){
</span><span class="hl-reserved">var </span><span class="hl-identifier">next</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getSibling</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">next</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-identifier">cell</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">next</span><span class="hl-code"> &amp;&amp; !</span><span class="hl-identifier">includeHidden</span><span class="hl-code"> &amp;&amp; </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">colModel</span><span class="hl-code">.</span><span class="hl-identifier">isHidden</span><span class="hl-brackets">(</span><span class="hl-identifier">next</span><span class="hl-code">.</span><span class="hl-identifier">columnIndex</span><span class="hl-brackets">)){
</span><span class="hl-reserved">return this</span><span class="hl-code">.</span><span class="hl-identifier">getCellAfter</span><span class="hl-brackets">(</span><span class="hl-identifier">next</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">return </span><span class="hl-identifier">next</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Returns the cell that comes before the specified cell - text nodes are skipped.
* @param {HTMLElement} cell
* @param {Boolean} includeHidden
* @return {HTMLElement}
*/
</span><span class="hl-identifier">getCellBefore</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">cell</span><span class="hl-code">, </span><span class="hl-identifier">includeHidden</span><span class="hl-brackets">){
</span><span class="hl-reserved">var </span><span class="hl-identifier">prev</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getSibling</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">previous</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-identifier">cell</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">prev</span><span class="hl-code"> &amp;&amp; !</span><span class="hl-identifier">includeHidden</span><span class="hl-code"> &amp;&amp; </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">colModel</span><span class="hl-code">.</span><span class="hl-identifier">isHidden</span><span class="hl-brackets">(</span><span class="hl-identifier">prev</span><span class="hl-code">.</span><span class="hl-identifier">columnIndex</span><span class="hl-brackets">)){
</span><span class="hl-reserved">return this</span><span class="hl-code">.</span><span class="hl-identifier">getCellBefore</span><span class="hl-brackets">(</span><span class="hl-identifier">prev</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">return </span><span class="hl-identifier">prev</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Returns the last cell for the row - text nodes and hidden columns are skipped.
* @param {HTMLElement} row
* @param {Boolean} includeHidden
* @return {HTMLElement}
*/
</span><span class="hl-identifier">getLastCell</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">row</span><span class="hl-code">, </span><span class="hl-identifier">includeHidden</span><span class="hl-brackets">){
</span><span class="hl-reserved">var </span><span class="hl-identifier">cell</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getElement</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">previous</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-identifier">row</span><span class="hl-code">.</span><span class="hl-identifier">lastChild</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">cell</span><span class="hl-code"> &amp;&amp; !</span><span class="hl-identifier">includeHidden</span><span class="hl-code"> &amp;&amp; </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">colModel</span><span class="hl-code">.</span><span class="hl-identifier">isHidden</span><span class="hl-brackets">(</span><span class="hl-identifier">cell</span><span class="hl-code">.</span><span class="hl-identifier">columnIndex</span><span class="hl-brackets">)){
</span><span class="hl-reserved">return this</span><span class="hl-code">.</span><span class="hl-identifier">getCellBefore</span><span class="hl-brackets">(</span><span class="hl-identifier">cell</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">return </span><span class="hl-identifier">cell</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Returns the first cell for the row - text nodes and hidden columns are skipped.
* @param {HTMLElement} row
* @param {Boolean} includeHidden
* @return {HTMLElement}
*/
</span><span class="hl-identifier">getFirstCell</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">row</span><span class="hl-code">, </span><span class="hl-identifier">includeHidden</span><span class="hl-brackets">){
</span><span class="hl-reserved">var </span><span class="hl-identifier">cell</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getElement</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">next</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-identifier">row</span><span class="hl-code">.</span><span class="hl-identifier">firstChild</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">cell</span><span class="hl-code"> &amp;&amp; !</span><span class="hl-identifier">includeHidden</span><span class="hl-code"> &amp;&amp; </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">colModel</span><span class="hl-code">.</span><span class="hl-identifier">isHidden</span><span class="hl-brackets">(</span><span class="hl-identifier">cell</span><span class="hl-code">.</span><span class="hl-identifier">columnIndex</span><span class="hl-brackets">)){
</span><span class="hl-reserved">return this</span><span class="hl-code">.</span><span class="hl-identifier">getCellAfter</span><span class="hl-brackets">(</span><span class="hl-identifier">cell</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">return </span><span class="hl-identifier">cell</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* @private
* Gets siblings, skipping text nodes
* @param {String} type The direction to walk: 'next' or 'previous'
* @param {HTMLElement} node
*/
</span><span class="hl-identifier">getSibling</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">type</span><span class="hl-code">, </span><span class="hl-identifier">node</span><span class="hl-brackets">){
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-code">!</span><span class="hl-identifier">node</span><span class="hl-brackets">) </span><span class="hl-reserved">return null</span><span class="hl-code">;
</span><span class="hl-identifier">type</span><span class="hl-code"> += </span><span class="hl-quotes">'</span><span class="hl-string">Sibling</span><span class="hl-quotes">'</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">n</span><span class="hl-code"> = </span><span class="hl-identifier">node</span><span class="hl-brackets">[</span><span class="hl-identifier">type</span><span class="hl-brackets">]</span><span class="hl-code">;
</span><span class="hl-reserved">while</span><span class="hl-brackets">(</span><span class="hl-identifier">n</span><span class="hl-code"> &amp;&amp; </span><span class="hl-identifier">n</span><span class="hl-code">.</span><span class="hl-identifier">nodeType</span><span class="hl-code"> != </span><span class="hl-number">1</span><span class="hl-brackets">){
</span><span class="hl-identifier">n</span><span class="hl-code"> = </span><span class="hl-identifier">n</span><span class="hl-brackets">[</span><span class="hl-identifier">type</span><span class="hl-brackets">]</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">return </span><span class="hl-identifier">n</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Returns node if node is an HTMLElement else walks the siblings in direction looking for
* a node that is an element
* @param {String} direction The direction to walk: 'next' or 'previous'
* @private
*/
</span><span class="hl-identifier">getElement</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">direction</span><span class="hl-code">, </span><span class="hl-identifier">node</span><span class="hl-brackets">){
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-code">!</span><span class="hl-identifier">node</span><span class="hl-code"> || </span><span class="hl-identifier">node</span><span class="hl-code">.</span><span class="hl-identifier">nodeType</span><span class="hl-code"> == </span><span class="hl-number">1</span><span class="hl-brackets">) </span><span class="hl-reserved">return </span><span class="hl-identifier">node</span><span class="hl-code">;
</span><span class="hl-reserved">else return this</span><span class="hl-code">.</span><span class="hl-identifier">getSibling</span><span class="hl-brackets">(</span><span class="hl-identifier">direction</span><span class="hl-code">, </span><span class="hl-identifier">node</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* @private
*/
</span><span class="hl-identifier">getElementFromChild</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">childEl</span><span class="hl-code">, </span><span class="hl-identifier">parentClass</span><span class="hl-brackets">){
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-code">!</span><span class="hl-identifier">childEl</span><span class="hl-code"> || </span><span class="hl-brackets">(</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">.</span><span class="hl-identifier">hasClass</span><span class="hl-brackets">(</span><span class="hl-identifier">childEl</span><span class="hl-code">, </span><span class="hl-identifier">parentClass</span><span class="hl-brackets">))){
</span><span class="hl-reserved">return </span><span class="hl-identifier">childEl</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">var </span><span class="hl-identifier">p</span><span class="hl-code"> = </span><span class="hl-identifier">childEl</span><span class="hl-code">.</span><span class="hl-identifier">parentNode</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">b</span><span class="hl-code"> = </span><span class="hl-builtin">document</span><span class="hl-code">.</span><span class="hl-identifier">body</span><span class="hl-code">;
</span><span class="hl-reserved">while</span><span class="hl-brackets">(</span><span class="hl-identifier">p</span><span class="hl-code"> &amp;&amp; </span><span class="hl-identifier">p</span><span class="hl-code"> != </span><span class="hl-identifier">b</span><span class="hl-brackets">){
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">.</span><span class="hl-identifier">hasClass</span><span class="hl-brackets">(</span><span class="hl-identifier">p</span><span class="hl-code">, </span><span class="hl-identifier">parentClass</span><span class="hl-brackets">)){
</span><span class="hl-reserved">return </span><span class="hl-identifier">p</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-identifier">p</span><span class="hl-code"> = </span><span class="hl-identifier">p</span><span class="hl-code">.</span><span class="hl-identifier">parentNode</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">return null</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Returns the row that contains the specified child element.
* @param {HTMLElement} childEl
* @return {HTMLElement}
*/
</span><span class="hl-identifier">getRowFromChild</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">childEl</span><span class="hl-brackets">){
</span><span class="hl-reserved">return this</span><span class="hl-code">.</span><span class="hl-identifier">getElementFromChild</span><span class="hl-brackets">(</span><span class="hl-identifier">childEl</span><span class="hl-code">, </span><span class="hl-quotes">'</span><span class="hl-string">ygrid-row</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Returns the cell that contains the specified child element.
* @param {HTMLElement} childEl
* @return {HTMLElement}
*/
</span><span class="hl-identifier">getCellFromChild</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">childEl</span><span class="hl-brackets">){
</span><span class="hl-reserved">return this</span><span class="hl-code">.</span><span class="hl-identifier">getElementFromChild</span><span class="hl-brackets">(</span><span class="hl-identifier">childEl</span><span class="hl-code">, </span><span class="hl-quotes">'</span><span class="hl-string">ygrid-col</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Returns the header element that contains the specified child element.
* @param {HTMLElement} childEl
* @return {HTMLElement}
*/
</span><span class="hl-identifier">getHeaderFromChild</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">childEl</span><span class="hl-brackets">){
</span><span class="hl-reserved">return this</span><span class="hl-code">.</span><span class="hl-identifier">getElementFromChild</span><span class="hl-brackets">(</span><span class="hl-identifier">childEl</span><span class="hl-code">, </span><span class="hl-quotes">'</span><span class="hl-string">ygrid-hd</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Convenience method for getSelectionModel().getSelectedRows() -
* See &lt;small&gt;{@link YAHOO.ext.grid.DefaultSelectionModel#getSelectedRows}&lt;/small&gt; for more details.
* @return {Array}
*/
</span><span class="hl-identifier">getSelectedRows</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(){
</span><span class="hl-reserved">return this</span><span class="hl-code">.</span><span class="hl-identifier">selModel</span><span class="hl-code">.</span><span class="hl-identifier">getSelectedRows</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Convenience method for getSelectionModel().getSelectedRows()[0] -
* See &lt;small&gt;{@link YAHOO.ext.grid.DefaultSelectionModel#getSelectedRows}&lt;/small&gt; for more details.
* @return {HTMLElement}
*/
</span><span class="hl-identifier">getSelectedRow</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(){
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">selModel</span><span class="hl-code">.</span><span class="hl-identifier">hasSelection</span><span class="hl-brackets">()){
</span><span class="hl-reserved">return this</span><span class="hl-code">.</span><span class="hl-identifier">selModel</span><span class="hl-code">.</span><span class="hl-identifier">getSelectedRows</span><span class="hl-brackets">()[</span><span class="hl-number">0</span><span class="hl-brackets">]</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">return null</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Get the selected row indexes
* @return {Array} Array of indexes
*/
</span><span class="hl-identifier">getSelectedRowIndexes</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(){
</span><span class="hl-reserved">var </span><span class="hl-identifier">a</span><span class="hl-code"> = </span><span class="hl-brackets">[]</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">rows</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">selModel</span><span class="hl-code">.</span><span class="hl-identifier">getSelectedRows</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-reserved">for</span><span class="hl-brackets">(</span><span class="hl-reserved">var </span><span class="hl-identifier">i</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">; </span><span class="hl-identifier">i</span><span class="hl-code"> &lt; </span><span class="hl-identifier">rows</span><span class="hl-code">.</span><span class="hl-identifier">length</span><span class="hl-code">; </span><span class="hl-identifier">i</span><span class="hl-code">++</span><span class="hl-brackets">) {
</span><span class="hl-identifier">a</span><span class="hl-brackets">[</span><span class="hl-identifier">i</span><span class="hl-brackets">]</span><span class="hl-code"> = </span><span class="hl-identifier">rows</span><span class="hl-brackets">[</span><span class="hl-identifier">i</span><span class="hl-brackets">]</span><span class="hl-code">.</span><span class="hl-identifier">rowIndex</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">return </span><span class="hl-identifier">a</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Gets the first selected row or -1 if none are selected
* @return {Number}
*/
</span><span class="hl-identifier">getSelectedRowIndex</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(){
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">selModel</span><span class="hl-code">.</span><span class="hl-identifier">hasSelection</span><span class="hl-brackets">()){
</span><span class="hl-reserved">return this</span><span class="hl-code">.</span><span class="hl-identifier">selModel</span><span class="hl-code">.</span><span class="hl-identifier">getSelectedRows</span><span class="hl-brackets">()[</span><span class="hl-number">0</span><span class="hl-brackets">]</span><span class="hl-code">.</span><span class="hl-identifier">rowIndex</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">return</span><span class="hl-code"> -</span><span class="hl-number">1</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Convenience method for getSelectionModel().getSelectedRowIds()[0] -
* See &lt;small&gt;{@link YAHOO.ext.grid.DefaultSelectionModel#getSelectedRowIds}&lt;/small&gt; for more details.
* @return {String}
*/
</span><span class="hl-identifier">getSelectedRowId</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(){
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">selModel</span><span class="hl-code">.</span><span class="hl-identifier">hasSelection</span><span class="hl-brackets">()){
</span><span class="hl-reserved">return this</span><span class="hl-code">.</span><span class="hl-identifier">selModel</span><span class="hl-code">.</span><span class="hl-identifier">getSelectedRowIds</span><span class="hl-brackets">()[</span><span class="hl-number">0</span><span class="hl-brackets">]</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">return null</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Convenience method for getSelectionModel().getSelectedRowIds() -
* See &lt;small&gt;{@link YAHOO.ext.grid.DefaultSelectionModel#getSelectedRowIds}&lt;/small&gt; for more details.
* @return {Array}
*/
</span><span class="hl-identifier">getSelectedRowIds</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(){
</span><span class="hl-reserved">return this</span><span class="hl-code">.</span><span class="hl-identifier">selModel</span><span class="hl-code">.</span><span class="hl-identifier">getSelectedRowIds</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Convenience method for getSelectionModel().clearSelections() -
* See &lt;small&gt;{@link YAHOO.ext.grid.DefaultSelectionModel#clearSelections}&lt;/small&gt; for more details.
*/
</span><span class="hl-identifier">clearSelections</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">selModel</span><span class="hl-code">.</span><span class="hl-identifier">clearSelections</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Convenience method for getSelectionModel().selectAll() -
* See &lt;small&gt;{@link YAHOO.ext.grid.DefaultSelectionModel#selectAll}&lt;/small&gt; for more details.
*/
</span><span class="hl-identifier">selectAll</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">selModel</span><span class="hl-code">.</span><span class="hl-identifier">selectAll</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Convenience method for getSelectionModel().getCount() -
* See &lt;small&gt;{@link YAHOO.ext.grid.DefaultSelectionModel#getCount}&lt;/small&gt; for more details.
* @return {Number}
*/
</span><span class="hl-identifier">getSelectionCount</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(){
</span><span class="hl-reserved">return this</span><span class="hl-code">.</span><span class="hl-identifier">selModel</span><span class="hl-code">.</span><span class="hl-identifier">getCount</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Convenience method for getSelectionModel().hasSelection() -
* See &lt;small&gt;{@link YAHOO.ext.grid.DefaultSelectionModel#hasSelection}&lt;/small&gt; for more details.
* @return {Boolean}
*/
</span><span class="hl-identifier">hasSelection</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(){
</span><span class="hl-reserved">return this</span><span class="hl-code">.</span><span class="hl-identifier">selModel</span><span class="hl-code">.</span><span class="hl-identifier">hasSelection</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Returns the grid's SelectionModel.
* @return {SelectionModel}
*/
</span><span class="hl-identifier">getSelectionModel</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(){
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-code">!</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">selModel</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">selModel</span><span class="hl-code"> = </span><span class="hl-reserved">new </span><span class="hl-identifier">DefaultSelectionModel</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">return this</span><span class="hl-code">.</span><span class="hl-identifier">selModel</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Returns the grid's DataModel.
* @return {DataModel}
*/
</span><span class="hl-identifier">getDataModel</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(){
</span><span class="hl-reserved">return this</span><span class="hl-code">.</span><span class="hl-identifier">dataModel</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Returns the grid's ColumnModel.
* @return {ColumnModel}
*/
</span><span class="hl-identifier">getColumnModel</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(){
</span><span class="hl-reserved">return this</span><span class="hl-code">.</span><span class="hl-identifier">colModel</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Returns the grid's GridView object.
* @return {GridView}
*/
</span><span class="hl-identifier">getView</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(){
</span><span class="hl-reserved">return this</span><span class="hl-code">.</span><span class="hl-identifier">view</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Called to get grid's drag proxy text, by default returns this.ddText.
* @return {String}
*/
</span><span class="hl-identifier">getDragDropText</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(){
</span><span class="hl-reserved">return this</span><span class="hl-code">.</span><span class="hl-identifier">ddText</span><span class="hl-code">.</span><span class="hl-identifier">replace</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">%0</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">selModel</span><span class="hl-code">.</span><span class="hl-identifier">getCount</span><span class="hl-brackets">())</span><span class="hl-code">;
</span><span class="hl-brackets">}
}</span><span class="hl-default">;
</span><span class="hl-comment">/**
* Configures the text is the drag proxy (defaults to &quot;%0 selected row(s)&quot;).
* %0 is replaced with the number of selected rows.
* @type String
*/
</span><span class="hl-identifier">YAHOO</span><span class="hl-default">.</span><span class="hl-identifier">ext</span><span class="hl-default">.</span><span class="hl-identifier">grid</span><span class="hl-default">.</span><span class="hl-identifier">Grid</span><span class="hl-default">.</span><span class="hl-identifier">prototype</span><span class="hl-default">.</span><span class="hl-identifier">ddText</span><span class="hl-default"> = </span><span class="hl-quotes">&quot;</span><span class="hl-string">%0 selected row(s)</span><span class="hl-quotes">&quot;</span><span class="hl-default">;</span></pre></div><hr>Copyright &copy; 2006 Jack Slocum. All rights reserved.</body></html>