upgraded to yui 0.12.0

upgraded to yui-ext 0.33 rc2
This commit is contained in:
JT Smith 2006-11-28 02:23:34 +00:00
parent 62b3d90db7
commit cfd09a5cb6
1271 changed files with 539033 additions and 0 deletions

View file

@ -0,0 +1,763 @@
<html><head><title>GridView.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.GridView
* Default UI code used internally by the Grid. This is the object returned by {@link YAHOO.ext.grid.Grid#getView}.
* @constructor
*/
</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">GridView</span><span class="hl-default"> = </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">grid</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">lastFocusedRow</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">onScroll</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">util</span><span class="hl-code">.</span><span class="hl-identifier">CustomEvent</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">onscroll</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">adjustScrollTask</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">util</span><span class="hl-code">.</span><span class="hl-identifier">DelayedTask</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">_adjustForScroll</span><span class="hl-code">, </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">ensureVisibleTask</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">util</span><span class="hl-code">.</span><span class="hl-identifier">DelayedTask</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">GridView</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-identifier">init</span><span class="hl-code">: </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">grid</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">grid</span><span class="hl-code"> = </span><span class="hl-identifier">grid</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-identifier">fireScroll</span><span class="hl-code">: </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">scrollLeft</span><span class="hl-code">, </span><span class="hl-identifier">scrollTop</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">onScroll</span><span class="hl-code">.</span><span class="hl-identifier">fireDirect</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">grid</span><span class="hl-code">, </span><span class="hl-identifier">scrollLeft</span><span class="hl-code">, </span><span class="hl-identifier">scrollTop</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
* Utility method that gets an array of the cell renderers
*/
</span><span class="hl-identifier">getColumnRenderers</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">renderers</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">cm</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">grid</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">colCount</span><span class="hl-code"> = </span><span class="hl-identifier">cm</span><span class="hl-code">.</span><span class="hl-identifier">getColumnCount</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">colCount</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">renderers</span><span class="hl-code">.</span><span class="hl-identifier">push</span><span class="hl-brackets">(</span><span class="hl-identifier">cm</span><span class="hl-code">.</span><span class="hl-identifier">getRenderer</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">renderers</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-identifier">buildIndexMap</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">colToData</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">dataToCol</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">cm</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">grid</span><span class="hl-code">.</span><span class="hl-identifier">colModel</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">len</span><span class="hl-code"> = </span><span class="hl-identifier">cm</span><span class="hl-code">.</span><span class="hl-identifier">getColumnCount</span><span class="hl-brackets">()</span><span class="hl-code">; </span><span class="hl-identifier">i</span><span class="hl-code"> &lt; </span><span class="hl-identifier">len</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">var </span><span class="hl-identifier">di</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">i</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-identifier">colToData</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">di</span><span class="hl-code">;
</span><span class="hl-identifier">dataToCol</span><span class="hl-brackets">[</span><span class="hl-identifier">di</span><span class="hl-brackets">]</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">return </span><span class="hl-brackets">{</span><span class="hl-quotes">'</span><span class="hl-string">colToData</span><span class="hl-quotes">'</span><span class="hl-code">: </span><span class="hl-identifier">colToData</span><span class="hl-code">, </span><span class="hl-quotes">'</span><span class="hl-string">dataToCol</span><span class="hl-quotes">'</span><span class="hl-code">: </span><span class="hl-identifier">dataToCol</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">getDataIndexes</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">indexMap</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">indexMap</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">buildIndexMap</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">indexMap</span><span class="hl-code">.</span><span class="hl-identifier">colToData</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-identifier">getColumnIndexByDataIndex</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">dataIndex</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">indexMap</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">indexMap</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">buildIndexMap</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">indexMap</span><span class="hl-code">.</span><span class="hl-identifier">dataToCol</span><span class="hl-brackets">[</span><span class="hl-identifier">dataIndex</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">updateHeaders</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">colModel</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">grid</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">hcells</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">headers</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">colCount</span><span class="hl-code"> = </span><span class="hl-identifier">colModel</span><span class="hl-code">.</span><span class="hl-identifier">getColumnCount</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">colCount</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">hcells</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">textNode</span><span class="hl-code">.</span><span class="hl-identifier">innerHTML</span><span class="hl-code"> = </span><span class="hl-identifier">colModel</span><span class="hl-code">.</span><span class="hl-identifier">getColumnHeader</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-code">,
</span><span class="hl-identifier">adjustForScroll</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">disableDelay</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">disableDelay</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">adjustScrollTask</span><span class="hl-code">.</span><span class="hl-identifier">delay</span><span class="hl-brackets">(</span><span class="hl-number">50</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">_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">/**
* Returns the rowIndex/columnIndex of the cell found at the passed page coordinates
* @param {Number} x
* @param {Number} y
* @return {Array} [rowIndex, columnIndex]
*/
</span><span class="hl-identifier">getCellAtPoint</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">x</span><span class="hl-code">, </span><span class="hl-identifier">y</span><span class="hl-brackets">){
</span><span class="hl-reserved">var </span><span class="hl-identifier">colIndex</span><span class="hl-code"> = </span><span class="hl-reserved">null</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-reserved">null</span><span class="hl-code">;
</span><span class="hl-comment">// translate page coordinates to local coordinates
</span><span class="hl-reserved">var </span><span class="hl-identifier">xy</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">getXY</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">wrap</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-identifier">x</span><span class="hl-code"> = </span><span class="hl-brackets">(</span><span class="hl-identifier">x</span><span class="hl-code"> - </span><span class="hl-identifier">xy</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-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">wrap</span><span class="hl-code">.</span><span class="hl-identifier">scrollLeft</span><span class="hl-code">;
</span><span class="hl-identifier">y</span><span class="hl-code"> = </span><span class="hl-brackets">(</span><span class="hl-identifier">y</span><span class="hl-code"> - </span><span class="hl-identifier">xy</span><span class="hl-brackets">[</span><span class="hl-number">1</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">wrap</span><span class="hl-code">.</span><span class="hl-identifier">scrollTop</span><span class="hl-code">;
</span><span class="hl-reserved">var </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">grid</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">pos</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">colCount</span><span class="hl-code"> = </span><span class="hl-identifier">colModel</span><span class="hl-code">.</span><span class="hl-identifier">getColumnCount</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">colCount</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">colModel</span><span class="hl-code">.</span><span class="hl-identifier">isHidden</span><span class="hl-brackets">(</span><span class="hl-identifier">i</span><span class="hl-brackets">)) </span><span class="hl-reserved">continue</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">width</span><span class="hl-code"> = </span><span class="hl-identifier">colModel</span><span class="hl-code">.</span><span class="hl-identifier">getColumnWidth</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">x</span><span class="hl-code"> &gt;= </span><span class="hl-identifier">pos</span><span class="hl-code"> &amp;&amp; </span><span class="hl-identifier">x</span><span class="hl-code"> &lt; </span><span class="hl-identifier">pos</span><span class="hl-code">+</span><span class="hl-identifier">width</span><span class="hl-brackets">){
</span><span class="hl-identifier">colIndex</span><span class="hl-code"> = </span><span class="hl-identifier">i</span><span class="hl-code">;
</span><span class="hl-reserved">break</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-identifier">pos</span><span class="hl-code"> += </span><span class="hl-identifier">width</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">colIndex</span><span class="hl-code"> != </span><span class="hl-reserved">null</span><span class="hl-brackets">){
</span><span class="hl-identifier">rowIndex</span><span class="hl-code"> = </span><span class="hl-brackets">(</span><span class="hl-identifier">y</span><span class="hl-code"> == </span><span class="hl-number">0</span><span class="hl-code"> ? </span><span class="hl-number">0</span><span class="hl-code"> : </span><span class="hl-builtin">Math</span><span class="hl-code">.</span><span class="hl-identifier">floor</span><span class="hl-brackets">(</span><span class="hl-identifier">y </span><span class="hl-quotes">/</span><span class="hl-string"> this.getRowHeight()));
if(rowIndex &gt;= this.grid.dataModel.getRowCount()){
return null;
}
return [colIndex, rowIndex];
}
return null;
},
</span><span class="hl-quotes">/</span><span class="hl-code">** @</span><span class="hl-reserved">private</span><span class="hl-code"> *</span><span class="hl-quotes">/</span><span class="hl-string">
_adjustForScroll : function(){
this.forceScrollUpdate();
if(this.scrollbarMode == YAHOO.ext.grid.GridView.SCROLLBARS_OVERLAP){
var adjustment = 0;
if(this.wrap.clientWidth &amp;&amp; this.wrap.clientWidth !== 0){
adjustment = this.wrap.offsetWidth - this.wrap.clientWidth;
}
this.hwrap.setWidth(this.wrap.offsetWidth-adjustment);
}else{
this.hwrap.setWidth(this.wrap.offsetWidth);
}
this.bwrap.setWidth(Math.max(this.grid.colModel.getTotalWidth(), this.wrap.clientWidth));
},
</span><span class="hl-quotes">/</span><span class="hl-code">**
* </span><span class="hl-identifier">Focuses the specified row</span><span class="hl-code">. </span><span class="hl-identifier">The preferred way to scroll to a row is </span><span class="hl-brackets">{</span><span class="hl-code">@</span><span class="hl-identifier">link</span><span class="hl-code"> #</span><span class="hl-identifier">ensureVisible</span><span class="hl-brackets">}</span><span class="hl-code">.
* @</span><span class="hl-identifier">param </span><span class="hl-brackets">{</span><span class="hl-builtin">Number</span><span class="hl-quotes">/</span><span class="hl-string">HTMLElement} row The index of a row or the row itself
*</span><span class="hl-quotes">/
</span><span class="hl-identifier">focusRow</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">getBodyTable</span><span class="hl-brackets">()</span><span class="hl-code">.</span><span class="hl-identifier">childNodes</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">if</span><span class="hl-brackets">(</span><span class="hl-code">!</span><span class="hl-identifier">row</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">left</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">wrap</span><span class="hl-code">.</span><span class="hl-identifier">scrollLeft</span><span class="hl-code">;
</span><span class="hl-reserved">try</span><span class="hl-brackets">{ </span><span class="hl-comment">// try catch for IE occasional focus bug
</span><span class="hl-identifier">row</span><span class="hl-code">.</span><span class="hl-identifier">childNodes</span><span class="hl-code">.</span><span class="hl-identifier">item</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">hideFocus</span><span class="hl-code"> = </span><span class="hl-reserved">true</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-code">.</span><span class="hl-identifier">item</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">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-reserved">this</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-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">wrap</span><span class="hl-code">.</span><span class="hl-identifier">scrollLeft</span><span class="hl-code"> = </span><span class="hl-identifier">left</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">handleScroll</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">lastFocusedRow</span><span class="hl-code"> = </span><span class="hl-identifier">row</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Scrolls the specified row into view. This call is automatically buffered (delayed), to disable
* the delay, pass true for disableDelay.
* @param {Number/HTMLElement} row The index of a row or the row itself
* @param {Boolean} disableDelay
*/
</span><span class="hl-identifier">ensureVisible</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">disableDelay</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">disableDelay</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">ensureVisibleTask</span><span class="hl-code">.</span><span class="hl-identifier">delay</span><span class="hl-brackets">(</span><span class="hl-number">50</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">_ensureVisible</span><span class="hl-code">, </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-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">_ensureVisible</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-code">,
</span><span class="hl-comment">/** @ignore */
</span><span class="hl-identifier">_ensureVisible</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">getBodyTable</span><span class="hl-brackets">()</span><span class="hl-code">.</span><span class="hl-identifier">childNodes</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">if</span><span class="hl-brackets">(</span><span class="hl-code">!</span><span class="hl-identifier">row</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">left</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">wrap</span><span class="hl-code">.</span><span class="hl-identifier">scrollLeft</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">rowTop</span><span class="hl-code"> = </span><span class="hl-identifier">parseInt</span><span class="hl-brackets">(</span><span class="hl-identifier">row</span><span class="hl-code">.</span><span class="hl-identifier">offsetTop</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-comment">// parseInt for safari bug
</span><span class="hl-reserved">var </span><span class="hl-identifier">rowBottom</span><span class="hl-code"> = </span><span class="hl-identifier">rowTop</span><span class="hl-code"> + </span><span class="hl-identifier">row</span><span class="hl-code">.</span><span class="hl-identifier">offsetHeight</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">clientTop</span><span class="hl-code"> = </span><span class="hl-identifier">parseInt</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">wrap</span><span class="hl-code">.</span><span class="hl-identifier">scrollTop</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-comment">// parseInt for safari bug
</span><span class="hl-reserved">var </span><span class="hl-identifier">clientBottom</span><span class="hl-code"> = </span><span class="hl-identifier">clientTop</span><span class="hl-code"> + </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">wrap</span><span class="hl-code">.</span><span class="hl-identifier">clientHeight</span><span class="hl-code">;
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">rowTop</span><span class="hl-code"> &lt; </span><span class="hl-identifier">clientTop</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">wrap</span><span class="hl-code">.</span><span class="hl-identifier">scrollTop</span><span class="hl-code"> = </span><span class="hl-identifier">rowTop</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-reserved">else if</span><span class="hl-brackets">(</span><span class="hl-identifier">rowBottom</span><span class="hl-code"> &gt; </span><span class="hl-identifier">clientBottom</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">wrap</span><span class="hl-code">.</span><span class="hl-identifier">scrollTop</span><span class="hl-code"> = </span><span class="hl-identifier">rowBottom</span><span class="hl-code">-</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">wrap</span><span class="hl-code">.</span><span class="hl-identifier">clientHeight</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">wrap</span><span class="hl-code">.</span><span class="hl-identifier">scrollLeft</span><span class="hl-code"> = </span><span class="hl-identifier">left</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">handleScroll</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">updateColumns</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">grid</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-reserved">var </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">grid</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">hcols</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">headers</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">colCount</span><span class="hl-code"> = </span><span class="hl-identifier">colModel</span><span class="hl-code">.</span><span class="hl-identifier">getColumnCount</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">pos</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">totalWidth</span><span class="hl-code"> = </span><span class="hl-identifier">colModel</span><span class="hl-code">.</span><span class="hl-identifier">getTotalWidth</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">colCount</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">colModel</span><span class="hl-code">.</span><span class="hl-identifier">isHidden</span><span class="hl-brackets">(</span><span class="hl-identifier">i</span><span class="hl-brackets">)) </span><span class="hl-reserved">continue</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">width</span><span class="hl-code"> = </span><span class="hl-identifier">colModel</span><span class="hl-code">.</span><span class="hl-identifier">getColumnWidth</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">hcols</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">style</span><span class="hl-code">.</span><span class="hl-identifier">width</span><span class="hl-code"> = </span><span class="hl-identifier">width</span><span class="hl-code"> + </span><span class="hl-quotes">'</span><span class="hl-string">px</span><span class="hl-quotes">'</span><span class="hl-code">;
</span><span class="hl-identifier">hcols</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">style</span><span class="hl-code">.</span><span class="hl-identifier">left</span><span class="hl-code"> = </span><span class="hl-identifier">pos</span><span class="hl-code"> + </span><span class="hl-quotes">'</span><span class="hl-string">px</span><span class="hl-quotes">'</span><span class="hl-code">;
</span><span class="hl-identifier">hcols</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">split</span><span class="hl-code">.</span><span class="hl-identifier">style</span><span class="hl-code">.</span><span class="hl-identifier">left</span><span class="hl-code"> = </span><span class="hl-brackets">(</span><span class="hl-identifier">pos</span><span class="hl-code">+</span><span class="hl-identifier">width</span><span class="hl-code">-</span><span class="hl-number">3</span><span class="hl-brackets">)</span><span class="hl-code"> + </span><span class="hl-quotes">'</span><span class="hl-string">px</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">setCSSWidth</span><span class="hl-brackets">(</span><span class="hl-identifier">i</span><span class="hl-code">, </span><span class="hl-identifier">width</span><span class="hl-code">, </span><span class="hl-identifier">pos</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-identifier">pos</span><span class="hl-code"> += </span><span class="hl-identifier">width</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">lastWidth</span><span class="hl-code"> = </span><span class="hl-identifier">totalWidth</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">grid</span><span class="hl-code">.</span><span class="hl-identifier">autoWidth</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">grid</span><span class="hl-code">.</span><span class="hl-identifier">container</span><span class="hl-code">.</span><span class="hl-identifier">setWidth</span><span class="hl-brackets">(</span><span class="hl-identifier">totalWidth</span><span class="hl-code">+</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">grid</span><span class="hl-code">.</span><span class="hl-identifier">container</span><span class="hl-code">.</span><span class="hl-identifier">getBorderWidth</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">lr</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">grid</span><span class="hl-code">.</span><span class="hl-identifier">autoSize</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">bwrap</span><span class="hl-code">.</span><span class="hl-identifier">setWidth</span><span class="hl-brackets">(</span><span class="hl-builtin">Math</span><span class="hl-code">.</span><span class="hl-identifier">max</span><span class="hl-brackets">(</span><span class="hl-identifier">totalWidth</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">wrap</span><span class="hl-code">.</span><span class="hl-identifier">clientWidth</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-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">Browser</span><span class="hl-code">.</span><span class="hl-identifier">isIE</span><span class="hl-brackets">){ </span><span class="hl-comment">// fix scrolling prob in gecko and opera
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">wrap</span><span class="hl-code">.</span><span class="hl-identifier">scrollLeft</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">hwrap</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">.</span><span class="hl-identifier">scrollLeft</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">syncScroll</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">forceScrollUpdate</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">grid</span><span class="hl-code">.</span><span class="hl-identifier">autoHeight</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-brackets">()</span><span class="hl-code">;
</span><span class="hl-reserved">this</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-brackets">}
}</span><span class="hl-code">,
</span><span class="hl-identifier">setCSSWidth</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">colIndex</span><span class="hl-code">, </span><span class="hl-identifier">width</span><span class="hl-code">, </span><span class="hl-identifier">pos</span><span class="hl-brackets">){
</span><span class="hl-reserved">var </span><span class="hl-identifier">selector</span><span class="hl-code"> = </span><span class="hl-brackets">[</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">this</span><span class="hl-code">.</span><span class="hl-identifier">grid</span><span class="hl-code">.</span><span class="hl-identifier">id</span><span class="hl-code"> + </span><span class="hl-quotes">&quot;</span><span class="hl-string"> .ygrid-col-</span><span class="hl-quotes">&quot;</span><span class="hl-code"> + </span><span class="hl-identifier">colIndex</span><span class="hl-code">, </span><span class="hl-quotes">&quot;</span><span class="hl-string">.ygrid-col-</span><span class="hl-quotes">&quot;</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-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">CSS</span><span class="hl-code">.</span><span class="hl-identifier">updateRule</span><span class="hl-brackets">(</span><span class="hl-identifier">selector</span><span class="hl-code">, </span><span class="hl-quotes">'</span><span class="hl-string">width</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-identifier">width</span><span class="hl-code"> + </span><span class="hl-quotes">'</span><span class="hl-string">px</span><span class="hl-quotes">'</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">typeof </span><span class="hl-identifier">pos</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">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">CSS</span><span class="hl-code">.</span><span class="hl-identifier">updateRule</span><span class="hl-brackets">(</span><span class="hl-identifier">selector</span><span class="hl-code">, </span><span class="hl-quotes">'</span><span class="hl-string">left</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-identifier">pos</span><span class="hl-code"> + </span><span class="hl-quotes">'</span><span class="hl-string">px</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">/**
* Set a css style for a column dynamically.
* @param {Number} colIndex The index of the column
* @param {String} name The css property name
* @param {String} value The css value
*/
</span><span class="hl-identifier">setCSSStyle</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">colIndex</span><span class="hl-code">, </span><span class="hl-identifier">name</span><span class="hl-code">, </span><span class="hl-identifier">value</span><span class="hl-brackets">){
</span><span class="hl-reserved">var </span><span class="hl-identifier">selector</span><span class="hl-code"> = </span><span class="hl-brackets">[</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">this</span><span class="hl-code">.</span><span class="hl-identifier">grid</span><span class="hl-code">.</span><span class="hl-identifier">id</span><span class="hl-code"> + </span><span class="hl-quotes">&quot;</span><span class="hl-string"> .ygrid-col-</span><span class="hl-quotes">&quot;</span><span class="hl-code"> + </span><span class="hl-identifier">colIndex</span><span class="hl-code">, </span><span class="hl-quotes">&quot;</span><span class="hl-string">.ygrid-col-</span><span class="hl-quotes">&quot;</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-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">CSS</span><span class="hl-code">.</span><span class="hl-identifier">updateRule</span><span class="hl-brackets">(</span><span class="hl-identifier">selector</span><span class="hl-code">, </span><span class="hl-identifier">name</span><span class="hl-code">, </span><span class="hl-identifier">value</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">handleHiddenChange</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">colModel</span><span class="hl-code">, </span><span class="hl-identifier">colIndex</span><span class="hl-code">, </span><span class="hl-identifier">hidden</span><span class="hl-brackets">){
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">hidden</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">hideColumn</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-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">unhideColumn</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-brackets">}
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">updateColumns</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">hideColumn</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">colIndex</span><span class="hl-brackets">){
</span><span class="hl-reserved">var </span><span class="hl-identifier">selector</span><span class="hl-code"> = </span><span class="hl-brackets">[</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">this</span><span class="hl-code">.</span><span class="hl-identifier">grid</span><span class="hl-code">.</span><span class="hl-identifier">id</span><span class="hl-code"> + </span><span class="hl-quotes">&quot;</span><span class="hl-string"> .ygrid-col-</span><span class="hl-quotes">&quot;</span><span class="hl-code"> + </span><span class="hl-identifier">colIndex</span><span class="hl-code">, </span><span class="hl-quotes">&quot;</span><span class="hl-string">.ygrid-col-</span><span class="hl-quotes">&quot;</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-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">CSS</span><span class="hl-code">.</span><span class="hl-identifier">updateRule</span><span class="hl-brackets">(</span><span class="hl-identifier">selector</span><span class="hl-code">, </span><span class="hl-quotes">'</span><span class="hl-string">position</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-quotes">'</span><span class="hl-string">absolute</span><span class="hl-quotes">'</span><span class="hl-brackets">)</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">CSS</span><span class="hl-code">.</span><span class="hl-identifier">updateRule</span><span class="hl-brackets">(</span><span class="hl-identifier">selector</span><span class="hl-code">, </span><span class="hl-quotes">'</span><span class="hl-string">visibility</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">headers</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-identifier">style</span><span class="hl-code">.</span><span class="hl-identifier">display</span><span class="hl-code"> = </span><span class="hl-quotes">'</span><span class="hl-string">none</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">headers</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-identifier">split</span><span class="hl-code">.</span><span class="hl-identifier">style</span><span class="hl-code">.</span><span class="hl-identifier">display</span><span class="hl-code"> = </span><span class="hl-quotes">'</span><span class="hl-string">none</span><span class="hl-quotes">'</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-identifier">unhideColumn</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">colIndex</span><span class="hl-brackets">){
</span><span class="hl-reserved">var </span><span class="hl-identifier">selector</span><span class="hl-code"> = </span><span class="hl-brackets">[</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">this</span><span class="hl-code">.</span><span class="hl-identifier">grid</span><span class="hl-code">.</span><span class="hl-identifier">id</span><span class="hl-code"> + </span><span class="hl-quotes">&quot;</span><span class="hl-string"> .ygrid-col-</span><span class="hl-quotes">&quot;</span><span class="hl-code"> + </span><span class="hl-identifier">colIndex</span><span class="hl-code">, </span><span class="hl-quotes">&quot;</span><span class="hl-string">.ygrid-col-</span><span class="hl-quotes">&quot;</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-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">CSS</span><span class="hl-code">.</span><span class="hl-identifier">updateRule</span><span class="hl-brackets">(</span><span class="hl-identifier">selector</span><span class="hl-code">, </span><span class="hl-quotes">'</span><span class="hl-string">position</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-quotes">''</span><span class="hl-brackets">)</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">CSS</span><span class="hl-code">.</span><span class="hl-identifier">updateRule</span><span class="hl-brackets">(</span><span class="hl-identifier">selector</span><span class="hl-code">, </span><span class="hl-quotes">'</span><span class="hl-string">visibility</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-quotes">'</span><span class="hl-string">visible</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">headers</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-identifier">style</span><span class="hl-code">.</span><span class="hl-identifier">display</span><span class="hl-code"> = </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">headers</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-identifier">split</span><span class="hl-code">.</span><span class="hl-identifier">style</span><span class="hl-code">.</span><span class="hl-identifier">display</span><span class="hl-code"> = </span><span class="hl-quotes">''</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-identifier">getBodyTable</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">bwrap</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-identifier">updateRowIndexes</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">firstRow</span><span class="hl-code">, </span><span class="hl-identifier">lastRow</span><span class="hl-brackets">){
</span><span class="hl-reserved">var </span><span class="hl-identifier">stripeRows</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">grid</span><span class="hl-code">.</span><span class="hl-identifier">stripeRows</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">bt</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getBodyTable</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">nodes</span><span class="hl-code"> = </span><span class="hl-identifier">bt</span><span class="hl-code">.</span><span class="hl-identifier">childNodes</span><span class="hl-code">;
</span><span class="hl-identifier">firstRow</span><span class="hl-code"> = </span><span class="hl-identifier">firstRow</span><span class="hl-code"> || </span><span class="hl-number">0</span><span class="hl-code">;
</span><span class="hl-identifier">lastRow</span><span class="hl-code"> = </span><span class="hl-identifier">lastRow</span><span class="hl-code"> || </span><span class="hl-identifier">nodes</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-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">re</span><span class="hl-code"> = </span><span class="hl-quotes">/</span><span class="hl-string">^(?:ygrid-row ygrid-row-alt|ygrid-row)</span><span class="hl-quotes">/</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">rowIndex</span><span class="hl-code"> = </span><span class="hl-identifier">firstRow</span><span class="hl-code">; </span><span class="hl-identifier">rowIndex</span><span class="hl-code"> &lt;= </span><span class="hl-identifier">lastRow</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">var </span><span class="hl-identifier">node</span><span class="hl-code"> = </span><span class="hl-identifier">nodes</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">if</span><span class="hl-brackets">(</span><span class="hl-identifier">stripeRows</span><span class="hl-code"> &amp;&amp; </span><span class="hl-brackets">(</span><span class="hl-identifier">rowIndex</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-number">2</span><span class="hl-code"> == </span><span class="hl-number">0</span><span class="hl-brackets">){
</span><span class="hl-identifier">node</span><span class="hl-code">.</span><span class="hl-identifier">className</span><span class="hl-code"> = </span><span class="hl-identifier">node</span><span class="hl-code">.</span><span class="hl-identifier">className</span><span class="hl-code">.</span><span class="hl-identifier">replace</span><span class="hl-brackets">(</span><span class="hl-identifier">re</span><span class="hl-code">, </span><span class="hl-quotes">'</span><span class="hl-string">ygrid-row ygrid-row-alt</span><span class="hl-quotes">'</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-identifier">node</span><span class="hl-code">.</span><span class="hl-identifier">className</span><span class="hl-code"> = </span><span class="hl-identifier">node</span><span class="hl-code">.</span><span class="hl-identifier">className</span><span class="hl-code">.</span><span class="hl-identifier">replace</span><span class="hl-brackets">(</span><span class="hl-identifier">re</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-identifier">node</span><span class="hl-code">.</span><span class="hl-identifier">rowIndex</span><span class="hl-code"> = </span><span class="hl-identifier">rowIndex</span><span class="hl-code">;
</span><span class="hl-identifier">nodes</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-identifier">style</span><span class="hl-code">.</span><span class="hl-identifier">top</span><span class="hl-code"> = </span><span class="hl-brackets">(</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">rowHeight</span><span class="hl-brackets">)</span><span class="hl-code"> + </span><span class="hl-quotes">'</span><span class="hl-string">px</span><span class="hl-quotes">'</span><span class="hl-code">;
</span><span class="hl-brackets">}
}</span><span class="hl-code">,
</span><span class="hl-identifier">insertRows</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">dataModel</span><span class="hl-code">, </span><span class="hl-identifier">firstRow</span><span class="hl-code">, </span><span class="hl-identifier">lastRow</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">updateBodyHeight</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">adjustForScroll</span><span class="hl-brackets">(</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">renderers</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getColumnRenderers</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">dindexes</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getDataIndexes</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">colCount</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">grid</span><span class="hl-code">.</span><span class="hl-identifier">colModel</span><span class="hl-code">.</span><span class="hl-identifier">getColumnCount</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">beforeRow</span><span class="hl-code"> = </span><span class="hl-reserved">null</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">bt</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getBodyTable</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">firstRow</span><span class="hl-code"> &lt; </span><span class="hl-identifier">bt</span><span class="hl-code">.</span><span class="hl-identifier">childNodes</span><span class="hl-code">.</span><span class="hl-identifier">length</span><span class="hl-brackets">){
</span><span class="hl-identifier">beforeRow</span><span class="hl-code"> = </span><span class="hl-identifier">bt</span><span class="hl-code">.</span><span class="hl-identifier">childNodes</span><span class="hl-brackets">[</span><span class="hl-identifier">firstRow</span><span class="hl-brackets">]</span><span class="hl-code">;
</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">rowIndex</span><span class="hl-code"> = </span><span class="hl-identifier">firstRow</span><span class="hl-code">; </span><span class="hl-identifier">rowIndex</span><span class="hl-code"> &lt;= </span><span class="hl-identifier">lastRow</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">var </span><span class="hl-identifier">row</span><span class="hl-code"> = </span><span class="hl-builtin">document</span><span class="hl-code">.</span><span class="hl-identifier">createElement</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">span</span><span class="hl-quotes">'</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">className</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-code">;
</span><span class="hl-identifier">row</span><span class="hl-code">.</span><span class="hl-identifier">style</span><span class="hl-code">.</span><span class="hl-identifier">top</span><span class="hl-code"> = </span><span class="hl-brackets">(</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">rowHeight</span><span class="hl-brackets">)</span><span class="hl-code"> + </span><span class="hl-quotes">'</span><span class="hl-string">px</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">renderRow</span><span class="hl-brackets">(</span><span class="hl-identifier">dataModel</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">colCount</span><span class="hl-code">, </span><span class="hl-identifier">renderers</span><span class="hl-code">, </span><span class="hl-identifier">dindexes</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">beforeRow</span><span class="hl-brackets">){
</span><span class="hl-identifier">bt</span><span class="hl-code">.</span><span class="hl-identifier">insertBefore</span><span class="hl-brackets">(</span><span class="hl-identifier">row</span><span class="hl-code">, </span><span class="hl-identifier">beforeRow</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-identifier">bt</span><span class="hl-code">.</span><span class="hl-identifier">appendChild</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">updateRowIndexes</span><span class="hl-brackets">(</span><span class="hl-identifier">firstRow</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">adjustForScroll</span><span class="hl-brackets">(</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-identifier">renderRow</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">dataModel</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">colCount</span><span class="hl-code">, </span><span class="hl-identifier">renderers</span><span class="hl-code">, </span><span class="hl-identifier">dindexes</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">colIndex</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">; </span><span class="hl-identifier">colIndex</span><span class="hl-code"> &lt; </span><span class="hl-identifier">colCount</span><span class="hl-code">; </span><span class="hl-identifier">colIndex</span><span class="hl-code">++</span><span class="hl-brackets">){
</span><span class="hl-reserved">var </span><span class="hl-identifier">td</span><span class="hl-code"> = </span><span class="hl-builtin">document</span><span class="hl-code">.</span><span class="hl-identifier">createElement</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">span</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-identifier">td</span><span class="hl-code">.</span><span class="hl-identifier">className</span><span class="hl-code"> = </span><span class="hl-quotes">'</span><span class="hl-string">ygrid-col ygrid-col-</span><span class="hl-quotes">'</span><span class="hl-code"> + </span><span class="hl-identifier">colIndex</span><span class="hl-code"> + </span><span class="hl-brackets">(</span><span class="hl-identifier">colIndex</span><span class="hl-code"> == </span><span class="hl-identifier">colCount</span><span class="hl-code">-</span><span class="hl-number">1</span><span class="hl-code"> ? </span><span class="hl-quotes">'</span><span class="hl-string"> ygrid-col-last</span><span class="hl-quotes">'</span><span class="hl-code"> : </span><span class="hl-quotes">''</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-identifier">td</span><span class="hl-code">.</span><span class="hl-identifier">columnIndex</span><span class="hl-code"> = </span><span class="hl-identifier">colIndex</span><span class="hl-code">;
</span><span class="hl-identifier">td</span><span class="hl-code">.</span><span class="hl-identifier">tabIndex</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">span</span><span class="hl-code"> = </span><span class="hl-builtin">document</span><span class="hl-code">.</span><span class="hl-identifier">createElement</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">span</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-identifier">span</span><span class="hl-code">.</span><span class="hl-identifier">className</span><span class="hl-code"> = </span><span class="hl-quotes">'</span><span class="hl-string">ygrid-cell-text</span><span class="hl-quotes">'</span><span class="hl-code">;
</span><span class="hl-identifier">td</span><span class="hl-code">.</span><span class="hl-identifier">appendChild</span><span class="hl-brackets">(</span><span class="hl-identifier">span</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">val</span><span class="hl-code"> = </span><span class="hl-identifier">renderers</span><span class="hl-brackets">[</span><span class="hl-identifier">colIndex</span><span class="hl-brackets">](</span><span class="hl-identifier">dataModel</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">dindexes</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-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">if</span><span class="hl-brackets">(</span><span class="hl-reserved">typeof </span><span class="hl-identifier">val</span><span class="hl-code"> == </span><span class="hl-quotes">'</span><span class="hl-string">undefined</span><span class="hl-quotes">'</span><span class="hl-code"> || </span><span class="hl-identifier">val</span><span class="hl-code"> === </span><span class="hl-quotes">''</span><span class="hl-brackets">) </span><span class="hl-identifier">val</span><span class="hl-code"> = </span><span class="hl-quotes">'</span><span class="hl-string">&amp;#160;</span><span class="hl-quotes">'</span><span class="hl-code">;
</span><span class="hl-identifier">span</span><span class="hl-code">.</span><span class="hl-identifier">innerHTML</span><span class="hl-code"> = </span><span class="hl-identifier">val</span><span class="hl-code">;
</span><span class="hl-identifier">row</span><span class="hl-code">.</span><span class="hl-identifier">appendChild</span><span class="hl-brackets">(</span><span class="hl-identifier">td</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">deleteRows</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">dataModel</span><span class="hl-code">, </span><span class="hl-identifier">firstRow</span><span class="hl-code">, </span><span class="hl-identifier">lastRow</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">updateBodyHeight</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-comment">// first make sure they are deselected
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">grid</span><span class="hl-code">.</span><span class="hl-identifier">selModel</span><span class="hl-code">.</span><span class="hl-identifier">deselectRange</span><span class="hl-brackets">(</span><span class="hl-identifier">firstRow</span><span class="hl-code">, </span><span class="hl-identifier">lastRow</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">bt</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getBodyTable</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-brackets">[]</span><span class="hl-code">; </span><span class="hl-comment">// get references because the rowIndex will change
</span><span class="hl-reserved">for</span><span class="hl-brackets">(</span><span class="hl-reserved">var </span><span class="hl-identifier">rowIndex</span><span class="hl-code"> = </span><span class="hl-identifier">firstRow</span><span class="hl-code">; </span><span class="hl-identifier">rowIndex</span><span class="hl-code"> &lt;= </span><span class="hl-identifier">lastRow</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-identifier">rows</span><span class="hl-code">.</span><span class="hl-identifier">push</span><span class="hl-brackets">(</span><span class="hl-identifier">bt</span><span class="hl-code">.</span><span class="hl-identifier">childNodes</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-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-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">bt</span><span class="hl-code">.</span><span class="hl-identifier">removeChild</span><span class="hl-brackets">(</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">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-reserved">null</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-identifier">rows</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">updateRowIndexes</span><span class="hl-brackets">(</span><span class="hl-identifier">firstRow</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">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-identifier">updateRows</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">dataModel</span><span class="hl-code">, </span><span class="hl-identifier">firstRow</span><span class="hl-code">, </span><span class="hl-identifier">lastRow</span><span class="hl-brackets">){
</span><span class="hl-reserved">var </span><span class="hl-identifier">bt</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getBodyTable</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">dindexes</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getDataIndexes</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">renderers</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getColumnRenderers</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">colCount</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">grid</span><span class="hl-code">.</span><span class="hl-identifier">colModel</span><span class="hl-code">.</span><span class="hl-identifier">getColumnCount</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">rowIndex</span><span class="hl-code"> = </span><span class="hl-identifier">firstRow</span><span class="hl-code">; </span><span class="hl-identifier">rowIndex</span><span class="hl-code"> &lt;= </span><span class="hl-identifier">lastRow</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">var </span><span class="hl-identifier">row</span><span class="hl-code"> = </span><span class="hl-identifier">bt</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">cells</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-code">;
</span><span class="hl-reserved">for</span><span class="hl-brackets">(</span><span class="hl-reserved">var </span><span class="hl-identifier">colIndex</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">; </span><span class="hl-identifier">colIndex</span><span class="hl-code"> &lt; </span><span class="hl-identifier">colCount</span><span class="hl-code">; </span><span class="hl-identifier">colIndex</span><span class="hl-code">++</span><span class="hl-brackets">){
</span><span class="hl-reserved">var </span><span class="hl-identifier">td</span><span class="hl-code"> = </span><span class="hl-identifier">cells</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">var </span><span class="hl-identifier">val</span><span class="hl-code"> = </span><span class="hl-identifier">renderers</span><span class="hl-brackets">[</span><span class="hl-identifier">colIndex</span><span class="hl-brackets">](</span><span class="hl-identifier">dataModel</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">dindexes</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-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">if</span><span class="hl-brackets">(</span><span class="hl-reserved">typeof </span><span class="hl-identifier">val</span><span class="hl-code"> == </span><span class="hl-quotes">'</span><span class="hl-string">undefined</span><span class="hl-quotes">'</span><span class="hl-code"> || </span><span class="hl-identifier">val</span><span class="hl-code"> === </span><span class="hl-quotes">''</span><span class="hl-brackets">) </span><span class="hl-identifier">val</span><span class="hl-code"> = </span><span class="hl-quotes">'</span><span class="hl-string">&amp;#160;</span><span class="hl-quotes">'</span><span class="hl-code">;
</span><span class="hl-identifier">td</span><span class="hl-code">.</span><span class="hl-identifier">firstChild</span><span class="hl-code">.</span><span class="hl-identifier">innerHTML</span><span class="hl-code"> = </span><span class="hl-identifier">val</span><span class="hl-code">;
</span><span class="hl-brackets">}
}
}</span><span class="hl-code">,
</span><span class="hl-identifier">handleSort</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">dataModel</span><span class="hl-code">, </span><span class="hl-identifier">sortColumnIndex</span><span class="hl-code">, </span><span class="hl-identifier">sortDir</span><span class="hl-code">, </span><span class="hl-identifier">noRefresh</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">grid</span><span class="hl-code">.</span><span class="hl-identifier">selModel</span><span class="hl-code">.</span><span class="hl-identifier">syncSelectionsToIds</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-code">!</span><span class="hl-identifier">noRefresh</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">updateRows</span><span class="hl-brackets">(</span><span class="hl-identifier">dataModel</span><span class="hl-code">, </span><span class="hl-number">0</span><span class="hl-code">, </span><span class="hl-identifier">dataModel</span><span class="hl-code">.</span><span class="hl-identifier">getRowCount</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-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">updateHeaderSortState</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">lastFocusedRow</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">focusRow</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">lastFocusedRow</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">syncScroll</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">hwrap</span><span class="hl-code">.</span><span class="hl-identifier">dom</span><span class="hl-code">.</span><span class="hl-identifier">scrollLeft</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">wrap</span><span class="hl-code">.</span><span class="hl-identifier">scrollLeft</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-identifier">handleScroll</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">syncScroll</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">fireScroll</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">wrap</span><span class="hl-code">.</span><span class="hl-identifier">scrollLeft</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">wrap</span><span class="hl-code">.</span><span class="hl-identifier">scrollTop</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">grid</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">bodyscroll</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">wrap</span><span class="hl-code">.</span><span class="hl-identifier">scrollLeft</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">wrap</span><span class="hl-code">.</span><span class="hl-identifier">scrollTop</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">getRowHeight</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">rowHeight</span><span class="hl-brackets">){
</span><span class="hl-reserved">var </span><span class="hl-identifier">rule</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">CSS</span><span class="hl-code">.</span><span class="hl-identifier">getRule</span><span class="hl-brackets">([</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">this</span><span class="hl-code">.</span><span class="hl-identifier">grid</span><span class="hl-code">.</span><span class="hl-identifier">id</span><span class="hl-code"> + </span><span class="hl-quotes">&quot;</span><span class="hl-string"> .ygrid-row</span><span class="hl-quotes">&quot;</span><span class="hl-code">, </span><span class="hl-quotes">&quot;</span><span class="hl-string">.ygrid-row</span><span class="hl-quotes">&quot;</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">rule</span><span class="hl-code"> &amp;&amp; </span><span class="hl-identifier">rule</span><span class="hl-code">.</span><span class="hl-identifier">style</span><span class="hl-code">.</span><span class="hl-identifier">height</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">rowHeight</span><span class="hl-code"> = </span><span class="hl-identifier">parseInt</span><span class="hl-brackets">(</span><span class="hl-identifier">rule</span><span class="hl-code">.</span><span class="hl-identifier">style</span><span class="hl-code">.</span><span class="hl-identifier">height</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-reserved">else</span><span class="hl-brackets">{
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">rowHeight</span><span class="hl-code"> = </span><span class="hl-number">21</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">rowHeight</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-identifier">renderRows</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">dataModel</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">grid</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">grid</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-reserved">var </span><span class="hl-identifier">bt</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getBodyTable</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-identifier">bt</span><span class="hl-code">.</span><span class="hl-identifier">innerHTML</span><span class="hl-code"> = </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">rowHeight</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getRowHeight</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">insertRows</span><span class="hl-brackets">(</span><span class="hl-identifier">dataModel</span><span class="hl-code">, </span><span class="hl-number">0</span><span class="hl-code">, </span><span class="hl-identifier">dataModel</span><span class="hl-code">.</span><span class="hl-identifier">getRowCount</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">updateCell</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">dataModel</span><span class="hl-code">, </span><span class="hl-identifier">rowIndex</span><span class="hl-code">, </span><span class="hl-identifier">dataIndex</span><span class="hl-brackets">){
</span><span class="hl-reserved">var </span><span class="hl-identifier">colIndex</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getColumnIndexByDataIndex</span><span class="hl-brackets">(</span><span class="hl-identifier">dataIndex</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">typeof </span><span class="hl-identifier">colIndex</span><span class="hl-code"> == </span><span class="hl-quotes">'</span><span class="hl-string">undefined</span><span class="hl-quotes">'</span><span class="hl-brackets">){ </span><span class="hl-comment">// not present in grid
</span><span class="hl-reserved">return</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">var </span><span class="hl-identifier">bt</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getBodyTable</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-identifier">bt</span><span class="hl-code">.</span><span class="hl-identifier">childNodes</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">var </span><span class="hl-identifier">renderer</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">grid</span><span class="hl-code">.</span><span class="hl-identifier">colModel</span><span class="hl-code">.</span><span class="hl-identifier">getRenderer</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">var </span><span class="hl-identifier">val</span><span class="hl-code"> = </span><span class="hl-identifier">renderer</span><span class="hl-brackets">(</span><span class="hl-identifier">dataModel</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">dataIndex</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-identifier">colIndex</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">typeof </span><span class="hl-identifier">val</span><span class="hl-code"> == </span><span class="hl-quotes">'</span><span class="hl-string">undefined</span><span class="hl-quotes">'</span><span class="hl-code"> || </span><span class="hl-identifier">val</span><span class="hl-code"> === </span><span class="hl-quotes">''</span><span class="hl-brackets">) </span><span class="hl-identifier">val</span><span class="hl-code"> = </span><span class="hl-quotes">'</span><span class="hl-string">&amp;#160;</span><span class="hl-quotes">'</span><span class="hl-code">;
</span><span class="hl-identifier">cell</span><span class="hl-code">.</span><span class="hl-identifier">firstChild</span><span class="hl-code">.</span><span class="hl-identifier">innerHTML</span><span class="hl-code"> = </span><span class="hl-identifier">val</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-identifier">calcColumnWidth</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">colIndex</span><span class="hl-code">, </span><span class="hl-identifier">maxRowsToMeasure</span><span class="hl-brackets">){
</span><span class="hl-reserved">var </span><span class="hl-identifier">maxWidth</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">bt</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getBodyTable</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-identifier">bt</span><span class="hl-code">.</span><span class="hl-identifier">childNodes</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">stopIndex</span><span class="hl-code"> = </span><span class="hl-builtin">Math</span><span class="hl-code">.</span><span class="hl-identifier">min</span><span class="hl-brackets">(</span><span class="hl-identifier">maxRowsToMeasure</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">rows</span><span class="hl-code">.</span><span class="hl-identifier">length</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">grid</span><span class="hl-code">.</span><span class="hl-identifier">autoSizeHeaders</span><span class="hl-brackets">){
</span><span class="hl-reserved">var </span><span class="hl-identifier">h</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">headers</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">var </span><span class="hl-identifier">curWidth</span><span class="hl-code"> = </span><span class="hl-identifier">h</span><span class="hl-code">.</span><span class="hl-identifier">style</span><span class="hl-code">.</span><span class="hl-identifier">width</span><span class="hl-code">;
</span><span class="hl-identifier">h</span><span class="hl-code">.</span><span class="hl-identifier">style</span><span class="hl-code">.</span><span class="hl-identifier">width</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">grid</span><span class="hl-code">.</span><span class="hl-identifier">minColumnWidth</span><span class="hl-code">+</span><span class="hl-quotes">'</span><span class="hl-string">px</span><span class="hl-quotes">'</span><span class="hl-code">;
</span><span class="hl-identifier">maxWidth</span><span class="hl-code"> = </span><span class="hl-builtin">Math</span><span class="hl-code">.</span><span class="hl-identifier">max</span><span class="hl-brackets">(</span><span class="hl-identifier">maxWidth</span><span class="hl-code">, </span><span class="hl-identifier">h</span><span class="hl-code">.</span><span class="hl-identifier">scrollWidth</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-identifier">h</span><span class="hl-code">.</span><span class="hl-identifier">style</span><span class="hl-code">.</span><span class="hl-identifier">width</span><span class="hl-code"> = </span><span class="hl-identifier">curWidth</span><span class="hl-code">;
</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-identifier">stopIndex</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">var </span><span class="hl-identifier">cell</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">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-identifier">firstChild</span><span class="hl-code">;
</span><span class="hl-identifier">maxWidth</span><span class="hl-code"> = </span><span class="hl-builtin">Math</span><span class="hl-code">.</span><span class="hl-identifier">max</span><span class="hl-brackets">(</span><span class="hl-identifier">maxWidth</span><span class="hl-code">, </span><span class="hl-identifier">cell</span><span class="hl-code">.</span><span class="hl-identifier">scrollWidth</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">maxWidth</span><span class="hl-code"> + </span><span class="hl-comment">/*margin for error in IE*/ </span><span class="hl-number">5</span><span class="hl-code">;
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-comment">/**
* Autofit a column to it's content.
* @param {Number} colIndex
* @param {Boolean} forceMinSize true to force the column to go smaller if possible
*/
</span><span class="hl-identifier">autoSizeColumn</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">colIndex</span><span class="hl-code">, </span><span class="hl-identifier">forceMinSize</span><span class="hl-brackets">){
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">forceMinSize</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">setCSSWidth</span><span class="hl-brackets">(</span><span class="hl-identifier">colIndex</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">grid</span><span class="hl-code">.</span><span class="hl-identifier">minColumnWidth</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">var </span><span class="hl-identifier">newWidth</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">calcColumnWidth</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">grid</span><span class="hl-code">.</span><span class="hl-identifier">colModel</span><span class="hl-code">.</span><span class="hl-identifier">setColumnWidth</span><span class="hl-brackets">(</span><span class="hl-identifier">colIndex</span><span class="hl-code">,
</span><span class="hl-builtin">Math</span><span class="hl-code">.</span><span class="hl-identifier">max</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">grid</span><span class="hl-code">.</span><span class="hl-identifier">minColumnWidth</span><span class="hl-code">, </span><span class="hl-identifier">newWidth</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">grid</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">columnresize</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-identifier">colIndex</span><span class="hl-code">, </span><span class="hl-identifier">newWidth</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">/**
* Autofits all columns to their content and then expands to fit any extra space in the grid
*/
</span><span class="hl-identifier">autoSizeColumns</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">colModel</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">grid</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">colCount</span><span class="hl-code"> = </span><span class="hl-identifier">colModel</span><span class="hl-code">.</span><span class="hl-identifier">getColumnCount</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">wrap</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">wrap</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">colCount</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">this</span><span class="hl-code">.</span><span class="hl-identifier">setCSSWidth</span><span class="hl-brackets">(</span><span class="hl-identifier">i</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">grid</span><span class="hl-code">.</span><span class="hl-identifier">minColumnWidth</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-identifier">colModel</span><span class="hl-code">.</span><span class="hl-identifier">setColumnWidth</span><span class="hl-brackets">(</span><span class="hl-identifier">i</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">calcColumnWidth</span><span class="hl-brackets">(</span><span class="hl-identifier">i</span><span class="hl-code">, </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">grid</span><span class="hl-code">.</span><span class="hl-identifier">maxRowsToMeasure</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-brackets">}
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">colModel</span><span class="hl-code">.</span><span class="hl-identifier">getTotalWidth</span><span class="hl-brackets">()</span><span class="hl-code"> &lt; </span><span class="hl-identifier">wrap</span><span class="hl-code">.</span><span class="hl-identifier">clientWidth</span><span class="hl-brackets">){
</span><span class="hl-reserved">var </span><span class="hl-identifier">diff</span><span class="hl-code"> = </span><span class="hl-builtin">Math</span><span class="hl-code">.</span><span class="hl-identifier">floor</span><span class="hl-brackets">((</span><span class="hl-identifier">wrap</span><span class="hl-code">.</span><span class="hl-identifier">clientWidth</span><span class="hl-code"> - </span><span class="hl-identifier">colModel</span><span class="hl-code">.</span><span class="hl-identifier">getTotalWidth</span><span class="hl-brackets">()) </span><span class="hl-quotes">/</span><span class="hl-string"> colCount);
for(var i = 0; i &lt; colCount; i++){
colModel.setColumnWidth(i, colModel.getColumnWidth(i) + diff, true);
}
}
this.updateColumns();
},
</span><span class="hl-quotes">/</span><span class="hl-code">**
* </span><span class="hl-identifier">Autofits all columns to the grid</span><span class="hl-quotes">'</span><span class="hl-string">s width proportionate with their current size
*/
fitColumns : function(){
var cm = this.grid.colModel;
var colCount = cm.getColumnCount();
var cols = [];
var width = 0;
var i, w;
for (i = 0; i &lt; colCount; i++){
if(!cm.isHidden(i) &amp;&amp; !cm.isFixed(i)){
w = cm.getColumnWidth(i);
cols.push(i);
cols.push(w);
width += w;
}
}
var frac = (this.wrap.clientWidth - cm.getTotalWidth())/width;
while (cols.length){
w = cols.pop();
i = cols.pop();
cm.setColumnWidth(i, Math.floor(w + w*frac), true);
}
this.updateColumns();
},
onWindowResize : function(){
if(this.grid.monitorWindowResize){
this.adjustForScroll();
this.updateWrapHeight();
this.adjustForScroll();
}
},
updateWrapHeight : function(){
this.grid.container.beginMeasure();
this.autoHeight();
var box = this.grid.container.getSize(true);
this.wrapEl.setHeight(box.height-this.footerHeight-parseInt(this.wrap.offsetTop, 10));
this.pwrap.setSize(box.width, box.height);
this.grid.container.endMeasure();
},
forceScrollUpdate : function(){
var wrap = this.wrapEl;
wrap.setWidth(wrap.getWidth(true));
setTimeout(function(){ // set timeout so FireFox works
wrap.setWidth(</span><span class="hl-quotes">''</span><span class="hl-string">);
}, 1);
},
updateHeaderSortState : function(){
var state = this.grid.dataModel.getSortState();
if(!state || typeof state.column == </span><span class="hl-quotes">'</span><span class="hl-identifier">undefined</span><span class="hl-quotes">'</span><span class="hl-string">) return;
var sortColumn = this.getColumnIndexByDataIndex(state.column);
var sortDir = state.direction;
for(var i = 0, len = this.headers.length; i &lt; len; i++){
var h = this.headers[i];
if(i != sortColumn){
h.sortDesc.style.display = </span><span class="hl-quotes">'</span><span class="hl-identifier">none</span><span class="hl-quotes">'</span><span class="hl-string">;
h.sortAsc.style.display = </span><span class="hl-quotes">'</span><span class="hl-identifier">none</span><span class="hl-quotes">'</span><span class="hl-string">;
}else{
h.sortDesc.style.display = sortDir == </span><span class="hl-quotes">'</span><span class="hl-identifier">DESC</span><span class="hl-quotes">'</span><span class="hl-string"> ? </span><span class="hl-quotes">'</span><span class="hl-identifier">block</span><span class="hl-quotes">'</span><span class="hl-string"> : </span><span class="hl-quotes">'</span><span class="hl-identifier">none</span><span class="hl-quotes">'</span><span class="hl-string">;
h.sortAsc.style.display = sortDir == </span><span class="hl-quotes">'</span><span class="hl-identifier">ASC</span><span class="hl-quotes">'</span><span class="hl-string"> ? </span><span class="hl-quotes">'</span><span class="hl-identifier">block</span><span class="hl-quotes">'</span><span class="hl-string"> : </span><span class="hl-quotes">'</span><span class="hl-identifier">none</span><span class="hl-quotes">'</span><span class="hl-string">;
}
}
},
unplugDataModel : function(dm){
dm.removeListener(</span><span class="hl-quotes">'</span><span class="hl-identifier">cellupdated</span><span class="hl-quotes">'</span><span class="hl-string">, this.updateCell, this);
dm.removeListener(</span><span class="hl-quotes">'</span><span class="hl-identifier">datachanged</span><span class="hl-quotes">'</span><span class="hl-string">, this.renderRows, this);
dm.removeListener(</span><span class="hl-quotes">'</span><span class="hl-identifier">rowsdeleted</span><span class="hl-quotes">'</span><span class="hl-string">, this.deleteRows, this);
dm.removeListener(</span><span class="hl-quotes">'</span><span class="hl-identifier">rowsinserted</span><span class="hl-quotes">'</span><span class="hl-string">, this.insertRows, this);
dm.removeListener(</span><span class="hl-quotes">'</span><span class="hl-identifier">rowsupdated</span><span class="hl-quotes">'</span><span class="hl-string">, this.updateRows, this);
dm.removeListener(</span><span class="hl-quotes">'</span><span class="hl-identifier">rowssorted</span><span class="hl-quotes">'</span><span class="hl-string">, this.handleSort, this);
},
plugDataModel : function(dm){
dm.on(</span><span class="hl-quotes">'</span><span class="hl-identifier">cellupdated</span><span class="hl-quotes">'</span><span class="hl-string">, this.updateCell, this, true);
dm.on(</span><span class="hl-quotes">'</span><span class="hl-identifier">datachanged</span><span class="hl-quotes">'</span><span class="hl-string">, this.renderRows, this, true);
dm.on(</span><span class="hl-quotes">'</span><span class="hl-identifier">rowsdeleted</span><span class="hl-quotes">'</span><span class="hl-string">, this.deleteRows, this, true);
dm.on(</span><span class="hl-quotes">'</span><span class="hl-identifier">rowsinserted</span><span class="hl-quotes">'</span><span class="hl-string">, this.insertRows, this, true);
dm.on(</span><span class="hl-quotes">'</span><span class="hl-identifier">rowsupdated</span><span class="hl-quotes">'</span><span class="hl-string">, this.updateRows, this, true);
dm.on(</span><span class="hl-quotes">'</span><span class="hl-identifier">rowssorted</span><span class="hl-quotes">'</span><span class="hl-string">, this.handleSort, this, true);
},
render : function(){
var grid = this.grid;
var container = grid.container.dom;
var dataModel = grid.dataModel;
this.plugDataModel(dataModel);
var colModel = grid.colModel;
colModel.onWidthChange.subscribe(this.updateColumns, this, true);
colModel.onHeaderChange.subscribe(this.updateHeaders, this, true);
colModel.onHiddenChange.subscribe(this.handleHiddenChange, this, true);
YAHOO.ext.EventManager.onWindowResize(this.onWindowResize, this, true);
var autoSizeDelegate = this.autoSizeColumn.createDelegate(this);
var colCount = colModel.getColumnCount();
var dh = YAHOO.ext.DomHelper;
this.pwrap = dh.append(container,
{tag: </span><span class="hl-quotes">'</span><span class="hl-identifier">div</span><span class="hl-quotes">'</span><span class="hl-string">, cls: </span><span class="hl-quotes">'</span><span class="hl-identifier">ygrid</span><span class="hl-code">-</span><span class="hl-identifier">positioner</span><span class="hl-quotes">'</span><span class="hl-string">,
style: </span><span class="hl-quotes">'</span><span class="hl-identifier">position</span><span class="hl-code">:</span><span class="hl-identifier">relative</span><span class="hl-code">;</span><span class="hl-identifier">width</span><span class="hl-code">:</span><span class="hl-number">100</span><span class="hl-code">%;</span><span class="hl-identifier">height</span><span class="hl-code">:</span><span class="hl-number">100</span><span class="hl-code">%;</span><span class="hl-identifier">left</span><span class="hl-code">:</span><span class="hl-number">0</span><span class="hl-code">;</span><span class="hl-identifier">top</span><span class="hl-code">:</span><span class="hl-number">0</span><span class="hl-code">;</span><span class="hl-identifier">overflow</span><span class="hl-code">:</span><span class="hl-identifier">hidden</span><span class="hl-code">;</span><span class="hl-quotes">'</span><span class="hl-string">}, true);
var pos = this.pwrap.dom;
//create wrapper elements that handle offsets and scrolling
var wrap = dh.append(pos, {tag: </span><span class="hl-quotes">'</span><span class="hl-identifier">div</span><span class="hl-quotes">'</span><span class="hl-string">, cls: </span><span class="hl-quotes">'</span><span class="hl-identifier">ygrid</span><span class="hl-code">-</span><span class="hl-identifier">wrap</span><span class="hl-quotes">'</span><span class="hl-string">});
this.wrap = wrap;
this.wrapEl = getEl(wrap, true);
YAHOO.ext.EventManager.on(wrap, </span><span class="hl-quotes">'</span><span class="hl-identifier">scroll</span><span class="hl-quotes">'</span><span class="hl-string">, this.handleScroll, this, true);
var hwrap = dh.append(pos, {tag: </span><span class="hl-quotes">'</span><span class="hl-identifier">div</span><span class="hl-quotes">'</span><span class="hl-string">, cls: </span><span class="hl-quotes">'</span><span class="hl-identifier">ygrid</span><span class="hl-code">-</span><span class="hl-identifier">wrap</span><span class="hl-code">-</span><span class="hl-identifier">headers</span><span class="hl-quotes">'</span><span class="hl-string">});
this.hwrap = getEl(hwrap, true);
var bwrap = dh.append(wrap, {tag: </span><span class="hl-quotes">'</span><span class="hl-identifier">div</span><span class="hl-quotes">'</span><span class="hl-string">, cls: </span><span class="hl-quotes">'</span><span class="hl-identifier">ygrid</span><span class="hl-code">-</span><span class="hl-identifier">wrap</span><span class="hl-code">-</span><span class="hl-identifier">body</span><span class="hl-quotes">'</span><span class="hl-string">, id: container.id + </span><span class="hl-quotes">'</span><span class="hl-code">-</span><span class="hl-identifier">body</span><span class="hl-quotes">'</span><span class="hl-string">});
this.bwrap = getEl(bwrap, true);
this.bwrap.setWidth(colModel.getTotalWidth());
bwrap.rows = bwrap.childNodes;
this.footerHeight = 0;
var foot = this.appendFooter(this.pwrap);
if(foot){
this.footer = getEl(foot, true);
this.footerHeight = this.footer.getHeight();
}
this.updateWrapHeight();
var hrow = dh.append(hwrap, {tag: </span><span class="hl-quotes">'</span><span class="hl-identifier">span</span><span class="hl-quotes">'</span><span class="hl-string">, cls: </span><span class="hl-quotes">'</span><span class="hl-identifier">ygrid</span><span class="hl-code">-</span><span class="hl-identifier">hrow</span><span class="hl-quotes">'</span><span class="hl-string">});
this.hrow = hrow;
if(!YAHOO.ext.util.Browser.isGecko){
// IE doesn</span><span class="hl-quotes">'</span><span class="hl-identifier">t like iframes</span><span class="hl-code">, </span><span class="hl-identifier">we will leave </span><span class="hl-reserved">this </span><span class="hl-identifier">alone
</span><span class="hl-reserved">var </span><span class="hl-identifier">iframe</span><span class="hl-code"> = </span><span class="hl-builtin">document</span><span class="hl-code">.</span><span class="hl-identifier">createElement</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">iframe</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-identifier">iframe</span><span class="hl-code">.</span><span class="hl-identifier">className</span><span class="hl-code"> = </span><span class="hl-quotes">'</span><span class="hl-string">ygrid-hrow-frame</span><span class="hl-quotes">'</span><span class="hl-code">;
</span><span class="hl-identifier">iframe</span><span class="hl-code">.</span><span class="hl-identifier">frameBorder</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">;
</span><span class="hl-identifier">iframe</span><span class="hl-code">.</span><span class="hl-identifier">src</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">SSL_SECURE_URL</span><span class="hl-code">;
</span><span class="hl-identifier">hwrap</span><span class="hl-code">.</span><span class="hl-identifier">appendChild</span><span class="hl-brackets">(</span><span class="hl-identifier">iframe</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">headerCtrl</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">HeaderController</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">grid</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">headers</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">cols</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">htemplate</span><span class="hl-code"> = </span><span class="hl-identifier">dh</span><span class="hl-code">.</span><span class="hl-identifier">createTemplate</span><span class="hl-brackets">({
</span><span class="hl-identifier">tag</span><span class="hl-code">: </span><span class="hl-quotes">'</span><span class="hl-string">span</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-identifier">cls</span><span class="hl-code">: </span><span class="hl-quotes">'</span><span class="hl-string">ygrid-hd ygrid-header-{0}</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-identifier">children</span><span class="hl-code">: </span><span class="hl-brackets">[{
</span><span class="hl-identifier">tag</span><span class="hl-code">: </span><span class="hl-quotes">'</span><span class="hl-string">span</span><span class="hl-quotes">'</span><span class="hl-code">,
</span><span class="hl-identifier">cls</span><span class="hl-code">: </span><span class="hl-quotes">'</span><span class="hl-string">ygrid-hd-body</span><span class="hl-quotes">'</span><span class="hl-code">,
</span><span class="hl-identifier">html</span><span class="hl-code">: </span><span class="hl-quotes">'</span><span class="hl-string">&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot;&gt;</span><span class="hl-quotes">'</span><span class="hl-code"> +
</span><span class="hl-quotes">'</span><span class="hl-string">&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;span&gt;{1}&lt;/span&gt;&lt;/td&gt;</span><span class="hl-quotes">'</span><span class="hl-code"> +
</span><span class="hl-quotes">'</span><span class="hl-string">&lt;td&gt;&lt;span class=&quot;sort-desc&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sort-asc&quot;&gt;&lt;/span&gt;&lt;/td&gt;</span><span class="hl-quotes">'</span><span class="hl-code"> +
</span><span class="hl-quotes">'</span><span class="hl-string">&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</span><span class="hl-quotes">'
</span><span class="hl-brackets">}]
})</span><span class="hl-code">;
</span><span class="hl-identifier">htemplate</span><span class="hl-code">.</span><span class="hl-identifier">compile</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">colCount</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">var </span><span class="hl-identifier">hd</span><span class="hl-code"> = </span><span class="hl-identifier">htemplate</span><span class="hl-code">.</span><span class="hl-identifier">append</span><span class="hl-brackets">(</span><span class="hl-identifier">hrow</span><span class="hl-code">, </span><span class="hl-brackets">[</span><span class="hl-identifier">i</span><span class="hl-code">, </span><span class="hl-identifier">colModel</span><span class="hl-code">.</span><span class="hl-identifier">getColumnHeader</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">var </span><span class="hl-identifier">spans</span><span class="hl-code"> = </span><span class="hl-identifier">hd</span><span class="hl-code">.</span><span class="hl-identifier">getElementsByTagName</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">span</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-identifier">hd</span><span class="hl-code">.</span><span class="hl-identifier">textNode</span><span class="hl-code"> = </span><span class="hl-identifier">spans</span><span class="hl-brackets">[</span><span class="hl-number">1</span><span class="hl-brackets">]</span><span class="hl-code">;
</span><span class="hl-identifier">hd</span><span class="hl-code">.</span><span class="hl-identifier">sortDesc</span><span class="hl-code"> = </span><span class="hl-identifier">spans</span><span class="hl-brackets">[</span><span class="hl-number">2</span><span class="hl-brackets">]</span><span class="hl-code">;
</span><span class="hl-identifier">hd</span><span class="hl-code">.</span><span class="hl-identifier">sortAsc</span><span class="hl-code"> = </span><span class="hl-identifier">spans</span><span class="hl-brackets">[</span><span class="hl-number">3</span><span class="hl-brackets">]</span><span class="hl-code">;
</span><span class="hl-identifier">hd</span><span class="hl-code">.</span><span class="hl-identifier">columnIndex</span><span class="hl-code"> = </span><span class="hl-identifier">i</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">headers</span><span class="hl-code">.</span><span class="hl-identifier">push</span><span class="hl-brackets">(</span><span class="hl-identifier">hd</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">colModel</span><span class="hl-code">.</span><span class="hl-identifier">isSortable</span><span class="hl-brackets">(</span><span class="hl-identifier">i</span><span class="hl-brackets">)){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">headerCtrl</span><span class="hl-code">.</span><span class="hl-identifier">register</span><span class="hl-brackets">(</span><span class="hl-identifier">hd</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-reserved">var </span><span class="hl-identifier">split</span><span class="hl-code"> = </span><span class="hl-identifier">dh</span><span class="hl-code">.</span><span class="hl-identifier">append</span><span class="hl-brackets">(</span><span class="hl-identifier">hrow</span><span class="hl-code">, </span><span class="hl-brackets">{</span><span class="hl-identifier">tag</span><span class="hl-code">: </span><span class="hl-quotes">'</span><span class="hl-string">span</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-identifier">cls</span><span class="hl-code">: </span><span class="hl-quotes">'</span><span class="hl-string">ygrid-hd-split</span><span class="hl-quotes">'</span><span class="hl-brackets">})</span><span class="hl-code">;
</span><span class="hl-identifier">hd</span><span class="hl-code">.</span><span class="hl-identifier">split</span><span class="hl-code"> = </span><span class="hl-identifier">split</span><span class="hl-code">;
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-identifier">colModel</span><span class="hl-code">.</span><span class="hl-identifier">isResizable</span><span class="hl-brackets">(</span><span class="hl-identifier">i</span><span class="hl-brackets">)</span><span class="hl-code"> &amp;&amp; !</span><span class="hl-identifier">colModel</span><span class="hl-code">.</span><span class="hl-identifier">isFixed</span><span class="hl-brackets">(</span><span class="hl-identifier">i</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">Event</span><span class="hl-code">.</span><span class="hl-identifier">on</span><span class="hl-brackets">(</span><span class="hl-identifier">split</span><span class="hl-code">, </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">autoSizeDelegate</span><span class="hl-code">.</span><span class="hl-identifier">createCallback</span><span class="hl-brackets">(</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-reserved">true</span><span class="hl-brackets">))</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">sb</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">SplitBar</span><span class="hl-brackets">(</span><span class="hl-identifier">split</span><span class="hl-code">, </span><span class="hl-identifier">hd</span><span class="hl-code">, </span><span class="hl-reserved">null</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">SplitBar</span><span class="hl-code">.</span><span class="hl-identifier">LEFT</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-identifier">sb</span><span class="hl-code">.</span><span class="hl-identifier">columnIndex</span><span class="hl-code"> = </span><span class="hl-identifier">i</span><span class="hl-code">;
</span><span class="hl-identifier">sb</span><span class="hl-code">.</span><span class="hl-identifier">minSize</span><span class="hl-code"> = </span><span class="hl-identifier">grid</span><span class="hl-code">.</span><span class="hl-identifier">minColumnWidth</span><span class="hl-code">;
</span><span class="hl-identifier">sb</span><span class="hl-code">.</span><span class="hl-identifier">onMoved</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">onColumnSplitterMoved</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">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">addClass</span><span class="hl-brackets">(</span><span class="hl-identifier">sb</span><span class="hl-code">.</span><span class="hl-identifier">proxy</span><span class="hl-code">, </span><span class="hl-quotes">'</span><span class="hl-string">ygrid-column-sizer</span><span class="hl-quotes">'</span><span class="hl-brackets">)</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">setStyle</span><span class="hl-brackets">(</span><span class="hl-identifier">sb</span><span class="hl-code">.</span><span class="hl-identifier">proxy</span><span class="hl-code">, </span><span class="hl-quotes">'</span><span class="hl-string">background-color</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-quotes">''</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-identifier">sb</span><span class="hl-code">.</span><span class="hl-identifier">dd</span><span class="hl-code">.</span><span class="hl-identifier">_resizeProxy</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">el</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getDragEl</span><span class="hl-brackets">()</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">setStyle</span><span class="hl-brackets">(</span><span class="hl-identifier">el</span><span class="hl-code">, </span><span class="hl-quotes">'</span><span class="hl-string">height</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-brackets">(</span><span class="hl-identifier">hwrap</span><span class="hl-code">.</span><span class="hl-identifier">clientHeight</span><span class="hl-code">+</span><span class="hl-identifier">wrap</span><span class="hl-code">.</span><span class="hl-identifier">clientHeight</span><span class="hl-code">-</span><span class="hl-number">2</span><span class="hl-brackets">)</span><span class="hl-code"> +</span><span class="hl-quotes">'</span><span class="hl-string">px</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-brackets">}</span><span class="hl-reserved">else</span><span class="hl-brackets">{
</span><span class="hl-identifier">split</span><span class="hl-code">.</span><span class="hl-identifier">style</span><span class="hl-code">.</span><span class="hl-identifier">cursor</span><span class="hl-code"> = </span><span class="hl-quotes">'</span><span class="hl-string">default</span><span class="hl-quotes">'</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">grid</span><span class="hl-code">.</span><span class="hl-identifier">autoSizeColumns</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">renderRows</span><span class="hl-brackets">(</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">autoSizeColumns</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">updateColumns</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">renderRows</span><span class="hl-brackets">(</span><span class="hl-identifier">dataModel</span><span class="hl-brackets">)</span><span class="hl-code">;
</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-identifier">colCount</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">colModel</span><span class="hl-code">.</span><span class="hl-identifier">isHidden</span><span class="hl-brackets">(</span><span class="hl-identifier">i</span><span class="hl-brackets">)){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">hideColumn</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">this</span><span class="hl-code">.</span><span class="hl-identifier">updateHeaderSortState</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-reserved">return this</span><span class="hl-code">.</span><span class="hl-identifier">bwrap</span><span class="hl-code">;
},
</span><span class="hl-identifier">onColumnSplitterMoved</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">splitter</span><span class="hl-code">, </span><span class="hl-identifier">newSize</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">grid</span><span class="hl-code">.</span><span class="hl-identifier">colModel</span><span class="hl-code">.</span><span class="hl-identifier">setColumnWidth</span><span class="hl-brackets">(</span><span class="hl-identifier">splitter</span><span class="hl-code">.</span><span class="hl-identifier">columnIndex</span><span class="hl-code">, </span><span class="hl-identifier">newSize</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">grid</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">columnresize</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-identifier">splitter</span><span class="hl-code">.</span><span class="hl-identifier">columnIndex</span><span class="hl-code">, </span><span class="hl-identifier">newSize</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">appendFooter</span><span class="hl-code"> : </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">parentEl</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-identifier">autoHeight</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">grid</span><span class="hl-code">.</span><span class="hl-identifier">autoHeight</span><span class="hl-brackets">){
</span><span class="hl-reserved">var </span><span class="hl-identifier">h</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getBodyHeight</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">grid</span><span class="hl-code">.</span><span class="hl-identifier">container</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">total</span><span class="hl-code"> = </span><span class="hl-identifier">h</span><span class="hl-code"> + </span><span class="hl-brackets">(</span><span class="hl-identifier">parseInt</span><span class="hl-brackets">(</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">wrap</span><span class="hl-code">.</span><span class="hl-identifier">offsetTop</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-number">0</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">footerHeight</span><span class="hl-code"> + </span><span class="hl-identifier">c</span><span class="hl-code">.</span><span class="hl-identifier">getBorderWidth</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">tb</span><span class="hl-quotes">'</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">getPadding</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">tb</span><span class="hl-quotes">'</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">wrap</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">wrap</span><span class="hl-code">.</span><span class="hl-identifier">clientHeight</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">setHeight</span><span class="hl-brackets">(</span><span class="hl-identifier">total</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">getBodyHeight</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">grid</span><span class="hl-code">.</span><span class="hl-identifier">dataModel</span><span class="hl-code">.</span><span class="hl-identifier">getRowCount</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">getRowHeight</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">updateBodyHeight</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">getBodyTable</span><span class="hl-brackets">()</span><span class="hl-code">.</span><span class="hl-identifier">style</span><span class="hl-code">.</span><span class="hl-identifier">height</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">getBodyHeight</span><span class="hl-brackets">()</span><span class="hl-code"> + </span><span class="hl-quotes">'</span><span class="hl-string">px</span><span class="hl-quotes">'</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">grid</span><span class="hl-code">.</span><span class="hl-identifier">autoHeight</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-brackets">()</span><span class="hl-code">;
</span><span class="hl-reserved">this</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-brackets">}
}</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">grid</span><span class="hl-code">.</span><span class="hl-identifier">GridView</span><span class="hl-code">.</span><span class="hl-identifier">SCROLLBARS_UNDER</span><span class="hl-code"> = </span><span class="hl-number">0</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">grid</span><span class="hl-code">.</span><span class="hl-identifier">GridView</span><span class="hl-code">.</span><span class="hl-identifier">SCROLLBARS_OVERLAP</span><span class="hl-code"> = </span><span class="hl-number">1</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">grid</span><span class="hl-code">.</span><span class="hl-identifier">GridView</span><span class="hl-code">.</span><span class="hl-identifier">prototype</span><span class="hl-code">.</span><span class="hl-identifier">scrollbarMode</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">grid</span><span class="hl-code">.</span><span class="hl-identifier">GridView</span><span class="hl-code">.</span><span class="hl-identifier">SCROLLBARS_UNDER</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">grid</span><span class="hl-code">.</span><span class="hl-identifier">GridView</span><span class="hl-code">.</span><span class="hl-identifier">prototype</span><span class="hl-code">.</span><span class="hl-identifier">fitColumnsToContainer</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">grid</span><span class="hl-code">.</span><span class="hl-identifier">GridView</span><span class="hl-code">.</span><span class="hl-identifier">prototype</span><span class="hl-code">.</span><span class="hl-identifier">fitColumns</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">grid</span><span class="hl-code">.</span><span class="hl-identifier">HeaderController</span><span class="hl-code"> = </span><span class="hl-reserved">function</span><span class="hl-brackets">(</span><span class="hl-identifier">grid</span><span class="hl-brackets">){
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">grid</span><span class="hl-code"> = </span><span class="hl-identifier">grid</span><span class="hl-code">;
</span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">headers</span><span class="hl-code"> = </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">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">HeaderController</span><span class="hl-code">.</span><span class="hl-identifier">prototype</span><span class="hl-code"> = </span><span class="hl-brackets">{
</span><span class="hl-identifier">register</span><span class="hl-code"> : </span><span class="hl-reserved">function</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">headers</span><span class="hl-code">.</span><span class="hl-identifier">push</span><span class="hl-brackets">(</span><span class="hl-identifier">header</span><span class="hl-brackets">)</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">EventManager</span><span class="hl-code">.</span><span class="hl-identifier">on</span><span class="hl-brackets">(</span><span class="hl-identifier">header</span><span class="hl-code">, </span><span class="hl-quotes">'</span><span class="hl-string">selectstart</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">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">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">ext</span><span class="hl-code">.</span><span class="hl-identifier">EventManager</span><span class="hl-code">.</span><span class="hl-identifier">on</span><span class="hl-brackets">(</span><span class="hl-identifier">header</span><span class="hl-code">, </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">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">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">ext</span><span class="hl-code">.</span><span class="hl-identifier">EventManager</span><span class="hl-code">.</span><span class="hl-identifier">on</span><span class="hl-brackets">(</span><span class="hl-identifier">header</span><span class="hl-code">, </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">this</span><span class="hl-code">.</span><span class="hl-identifier">headerOver</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">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">ext</span><span class="hl-code">.</span><span class="hl-identifier">EventManager</span><span class="hl-code">.</span><span class="hl-identifier">on</span><span class="hl-brackets">(</span><span class="hl-identifier">header</span><span class="hl-code">, </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">this</span><span class="hl-code">.</span><span class="hl-identifier">headerOut</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">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">ext</span><span class="hl-code">.</span><span class="hl-identifier">EventManager</span><span class="hl-code">.</span><span class="hl-identifier">on</span><span class="hl-brackets">(</span><span class="hl-identifier">header</span><span class="hl-code">, </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">this</span><span class="hl-code">.</span><span class="hl-identifier">headerClick</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-code">,
</span><span class="hl-identifier">headerClick</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">grid</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">grid</span><span class="hl-code">, </span><span class="hl-identifier">cm</span><span class="hl-code"> = </span><span class="hl-identifier">grid</span><span class="hl-code">.</span><span class="hl-identifier">colModel</span><span class="hl-code">, </span><span class="hl-identifier">dm</span><span class="hl-code"> = </span><span class="hl-identifier">grid</span><span class="hl-code">.</span><span class="hl-identifier">dataModel</span><span class="hl-code">;
</span><span class="hl-identifier">grid</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-reserved">var </span><span class="hl-identifier">header</span><span class="hl-code"> = </span><span class="hl-identifier">grid</span><span class="hl-code">.</span><span class="hl-identifier">getHeaderFromChild</span><span class="hl-brackets">(</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">state</span><span class="hl-code"> = </span><span class="hl-identifier">dm</span><span class="hl-code">.</span><span class="hl-identifier">getSortState</span><span class="hl-brackets">()</span><span class="hl-code">;
</span><span class="hl-reserved">var </span><span class="hl-identifier">direction</span><span class="hl-code"> = </span><span class="hl-identifier">header</span><span class="hl-code">.</span><span class="hl-identifier">sortDir</span><span class="hl-code"> || </span><span class="hl-quotes">'</span><span class="hl-string">ASC</span><span class="hl-quotes">'</span><span class="hl-code">;
</span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-reserved">typeof </span><span class="hl-identifier">state</span><span class="hl-code">.</span><span class="hl-identifier">column</span><span class="hl-code"> != </span><span class="hl-quotes">'</span><span class="hl-string">undefined</span><span class="hl-quotes">'</span><span class="hl-code"> &amp;&amp;
</span><span class="hl-identifier">grid</span><span class="hl-code">.</span><span class="hl-identifier">getView</span><span class="hl-brackets">()</span><span class="hl-code">.</span><span class="hl-identifier">getColumnIndexByDataIndex</span><span class="hl-brackets">(</span><span class="hl-identifier">state</span><span class="hl-code">.</span><span class="hl-identifier">column</span><span class="hl-brackets">)</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-brackets">){
</span><span class="hl-identifier">direction</span><span class="hl-code"> = </span><span class="hl-brackets">(</span><span class="hl-identifier">state</span><span class="hl-code">.</span><span class="hl-identifier">direction</span><span class="hl-code"> == </span><span class="hl-quotes">'</span><span class="hl-string">ASC</span><span class="hl-quotes">'</span><span class="hl-code"> ? </span><span class="hl-quotes">'</span><span class="hl-string">DESC</span><span class="hl-quotes">'</span><span class="hl-code"> : </span><span class="hl-quotes">'</span><span class="hl-string">ASC</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-brackets">}
</span><span class="hl-identifier">header</span><span class="hl-code">.</span><span class="hl-identifier">sortDir</span><span class="hl-code"> = </span><span class="hl-identifier">direction</span><span class="hl-code">;
</span><span class="hl-identifier">dm</span><span class="hl-code">.</span><span class="hl-identifier">sort</span><span class="hl-brackets">(</span><span class="hl-identifier">cm</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">header</span><span class="hl-code">.</span><span class="hl-identifier">columnIndex</span><span class="hl-brackets">)</span><span class="hl-code">, </span><span class="hl-identifier">direction</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">headerOver</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">header</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">grid</span><span class="hl-code">.</span><span class="hl-identifier">getHeaderFromChild</span><span class="hl-brackets">(</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-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">addClass</span><span class="hl-brackets">(</span><span class="hl-identifier">header</span><span class="hl-code">, </span><span class="hl-quotes">'</span><span class="hl-string">ygrid-hd-over</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-comment">//YAHOO.ext.util.CSS.applyFirst(header, this.grid.id, '.ygrid-hd-over');
</span><span class="hl-brackets">}</span><span class="hl-code">,
</span><span class="hl-identifier">headerOut</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">header</span><span class="hl-code"> = </span><span class="hl-reserved">this</span><span class="hl-code">.</span><span class="hl-identifier">grid</span><span class="hl-code">.</span><span class="hl-identifier">getHeaderFromChild</span><span class="hl-brackets">(</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-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">removeClass</span><span class="hl-brackets">(</span><span class="hl-identifier">header</span><span class="hl-code">, </span><span class="hl-quotes">'</span><span class="hl-string">ygrid-hd-over</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">;
</span><span class="hl-comment">//YAHOO.ext.util.CSS.revertFirst(header, this.grid.id, '.ygrid-hd-over');
</span><span class="hl-brackets">}</span><span class="hl-code">,
</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-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></pre></div><hr>Copyright &copy; 2006 Jack Slocum. All rights reserved.</body></html>