--- /dev/null
+<html><head><title>/home/alan/gitlive/roojs1/Roo/grid/GridView.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+ * Based on:
+ * Ext JS Library 1.1.1
+ * Copyright(c) 2006-2007, Ext JS, LLC.
+ *
+ * Originally Released Under LGPL - original licence link has changed is not relivant.
+ *
+ * Fork - LGPL
+ * <script type="text/javascript">
+ */
+
+/**
+ * @class Roo.grid.GridView
+ * @extends Roo.util.Observable
+ *
+ * @constructor
+ * @param {Object} config
+ */
+</span><span class="jsdoc-var">Roo.grid.GridView </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">config</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">Roo.grid.GridView.superclass.constructor.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.el </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">;
+
+ </span><span class="jsdoc-var">Roo.apply</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">config</span><span class="jsdoc-syntax">);
+};
+
+</span><span class="jsdoc-var">Roo.extend</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.grid.GridView</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">Roo.grid.AbstractGridView</span><span class="jsdoc-syntax">, {
+
+ </span><span class="jsdoc-var">unselectable </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'unselectable="on"'</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-var">unselectableCls </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'x-unselectable'</span><span class="jsdoc-syntax">,
+
+
+ </span><span class="jsdoc-var">rowClass </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"x-grid-row"</span><span class="jsdoc-syntax">,
+
+ </span><span class="jsdoc-var">cellClass </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"x-grid-col"</span><span class="jsdoc-syntax">,
+
+ </span><span class="jsdoc-var">tdClass </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"x-grid-td"</span><span class="jsdoc-syntax">,
+
+ </span><span class="jsdoc-var">hdClass </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"x-grid-hd"</span><span class="jsdoc-syntax">,
+
+ </span><span class="jsdoc-var">splitClass </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"x-grid-split"</span><span class="jsdoc-syntax">,
+
+ </span><span class="jsdoc-var">sortClasses </span><span class="jsdoc-syntax">: [</span><span class="jsdoc-string">"sort-asc"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"sort-desc"</span><span class="jsdoc-syntax">],
+
+ </span><span class="jsdoc-var">enableMoveAnim </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
+
+ </span><span class="jsdoc-var">hlColor</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"C3DAF9"</span><span class="jsdoc-syntax">,
+
+ </span><span class="jsdoc-var">dh </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">Roo.DomHelper</span><span class="jsdoc-syntax">,
+
+ </span><span class="jsdoc-var">fly </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">Roo.Element.fly</span><span class="jsdoc-syntax">,
+
+ </span><span class="jsdoc-var">css </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">Roo.util.CSS</span><span class="jsdoc-syntax">,
+
+ </span><span class="jsdoc-var">borderWidth</span><span class="jsdoc-syntax">: 1,
+
+ </span><span class="jsdoc-var">splitOffset</span><span class="jsdoc-syntax">: 3,
+
+ </span><span class="jsdoc-var">scrollIncrement </span><span class="jsdoc-syntax">: 22,
+
+ </span><span class="jsdoc-var">cellRE</span><span class="jsdoc-syntax">: /(?:.*?)x-grid-(?:hd|cell|csplit)-(?:[\d]+)-([\d]+)(?:.*?)/,
+
+ </span><span class="jsdoc-var">findRE</span><span class="jsdoc-syntax">: /\s?(?:x-grid-hd|x-grid-col|x-grid-csplit)\s/,
+
+ </span><span class="jsdoc-var">bind </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">ds</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">cm</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.ds</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">this.ds.un</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"load"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onLoad</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.ds.un</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"datachanged"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onDataChange</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.ds.un</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"add"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onAdd</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.ds.un</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"remove"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onRemove</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.ds.un</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"update"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onUpdate</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.ds.un</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"clear"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onClear</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+ }
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">ds</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">ds.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"load"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onLoad</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">ds.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"datachanged"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onDataChange</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">ds.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"add"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onAdd</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">ds.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"remove"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onRemove</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">ds.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"update"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onUpdate</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">ds.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"clear"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onClear</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+ }
+ </span><span class="jsdoc-var">this.ds </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">ds</span><span class="jsdoc-syntax">;
+
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.cm</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">this.cm.un</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"widthchange"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onColWidthChange</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.cm.un</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"headerchange"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onHeaderChange</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.cm.un</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"hiddenchange"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onHiddenChange</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.cm.un</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"columnmoved"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onColumnMove</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.cm.un</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"columnlockchange"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onColumnLock</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+ }
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cm</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">this.generateRules</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cm</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">cm.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"widthchange"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onColWidthChange</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">cm.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"headerchange"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onHeaderChange</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">cm.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"hiddenchange"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onHiddenChange</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">cm.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"columnmoved"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onColumnMove</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">cm.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"columnlockchange"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onColumnLock</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+ }
+ </span><span class="jsdoc-var">this.cm </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cm</span><span class="jsdoc-syntax">;
+ },
+
+ </span><span class="jsdoc-var">init</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">grid</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">Roo.grid.GridView.superclass.init.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">grid</span><span class="jsdoc-syntax">);
+
+ </span><span class="jsdoc-var">this.bind</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">grid.dataSource</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">grid.colModel</span><span class="jsdoc-syntax">);
+
+ </span><span class="jsdoc-var">grid.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"headerclick"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.handleHeaderClick</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">grid.trackMouseOver</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">grid.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"mouseover"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onRowOver</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">grid.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"mouseout"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onRowOut</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+ }
+ </span><span class="jsdoc-var">grid.cancelTextSelection </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){};
+ </span><span class="jsdoc-var">this.gridId </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">grid.id</span><span class="jsdoc-syntax">;
+
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">tpls </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.templates </span><span class="jsdoc-syntax">|| {};
+
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">tpls.master</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">tpls.master </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.Template</span><span class="jsdoc-syntax">(
+ </span><span class="jsdoc-string">'<div class="x-grid" hidefocus="true">'</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-string">'<a href="#" class="x-grid-focus" tabIndex="-1"></a>'</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-string">'<div class="x-grid-topbar"></div>'</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-string">'<div class="x-grid-scroller"><div></div></div>'</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-string">'<div class="x-grid-locked">'</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-string">'<div class="x-grid-header">{lockedHeader}</div>'</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-string">'<div class="x-grid-body">{lockedBody}</div>'</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-string">"</div>"</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-string">'<div class="x-grid-viewport">'</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-string">'<div class="x-grid-header">{header}</div>'</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-string">'<div class="x-grid-body">{body}</div>'</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-string">"</div>"</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-string">'<div class="x-grid-bottombar"></div>'</span><span class="jsdoc-syntax">,
+
+ </span><span class="jsdoc-string">'<div class="x-grid-resize-proxy">&#160;</div>'</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-string">"</div>"
+ </span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">tpls.master.disableformats </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
+ }
+
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">tpls.header</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">tpls.header </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.Template</span><span class="jsdoc-syntax">(
+ </span><span class="jsdoc-string">'<table border="0" cellspacing="0" cellpadding="0">'</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-string">'<tbody><tr class="x-grid-hd-row">{cells}</tr></tbody>'</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-string">"</table>{splits}"
+ </span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">tpls.header.disableformats </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
+ }
+ </span><span class="jsdoc-var">tpls.header.compile</span><span class="jsdoc-syntax">();
+
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">tpls.hcell</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">tpls.hcell </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.Template</span><span class="jsdoc-syntax">(
+ </span><span class="jsdoc-string">'<td class="x-grid-hd x-grid-td-{id} {cellId}"><div title="{title}" class="x-grid-hd-inner x-grid-hd-{id}">'</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-string">'<div class="x-grid-hd-text ' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.unselectableCls </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'" ' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.unselectable </span><span class="jsdoc-syntax">+</span><span class="jsdoc-string">'>{value}<img class="x-grid-sort-icon" src="'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">Roo.BLANK_IMAGE_URL</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'" /></div>'</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-string">"</div></td>"
+ </span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">tpls.hcell.disableFormats </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
+ }
+ </span><span class="jsdoc-var">tpls.hcell.compile</span><span class="jsdoc-syntax">();
+
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">tpls.hsplit</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">tpls.hsplit </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.Template</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'<div class="x-grid-split {splitId} x-grid-split-{id}" style="{style} ' </span><span class="jsdoc-syntax">+
+ </span><span class="jsdoc-var">this.unselectableCls </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'" ' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.unselectable </span><span class="jsdoc-syntax">+</span><span class="jsdoc-string">'>&#160;</div>'</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">tpls.hsplit.disableFormats </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
+ }
+ </span><span class="jsdoc-var">tpls.hsplit.compile</span><span class="jsdoc-syntax">();
+
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">tpls.body</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">tpls.body </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.Template</span><span class="jsdoc-syntax">(
+ </span><span class="jsdoc-string">'<table border="0" cellspacing="0" cellpadding="0">'</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-string">"<tbody>{rows}</tbody>"</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-string">"</table>"
+ </span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">tpls.body.disableFormats </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
+ }
+ </span><span class="jsdoc-var">tpls.body.compile</span><span class="jsdoc-syntax">();
+
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">tpls.row</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">tpls.row </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.Template</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'<tr class="x-grid-row {alt}">{cells}</tr>'</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">tpls.row.disableFormats </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
+ }
+ </span><span class="jsdoc-var">tpls.row.compile</span><span class="jsdoc-syntax">();
+
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">tpls.cell</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">tpls.cell </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.Template</span><span class="jsdoc-syntax">(
+ </span><span class="jsdoc-string">'<td class="x-grid-col x-grid-td-{id} {cellId} {css}" tabIndex="0">'</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-string">'<div class="x-grid-col-{id} x-grid-cell-inner"><div class="x-grid-cell-text ' </span><span class="jsdoc-syntax">+
+ </span><span class="jsdoc-var">this.unselectableCls </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'" ' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.unselectable </span><span class="jsdoc-syntax">+</span><span class="jsdoc-string">'" {attr}>{value}</div></div>'</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-string">"</td>"
+ </span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">tpls.cell.disableFormats </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
+ }
+ </span><span class="jsdoc-var">tpls.cell.compile</span><span class="jsdoc-syntax">();
+
+ </span><span class="jsdoc-var">this.templates </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">tpls</span><span class="jsdoc-syntax">;
+ },
+
+ </span><span class="jsdoc-comment">// remap these for backwards compat
+ </span><span class="jsdoc-var">onColWidthChange </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
+ </span><span class="jsdoc-var">this.updateColumns.apply</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">arguments</span><span class="jsdoc-syntax">);
+ },
+ </span><span class="jsdoc-var">onHeaderChange </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
+ </span><span class="jsdoc-var">this.updateHeaders.apply</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">arguments</span><span class="jsdoc-syntax">);
+ },
+ </span><span class="jsdoc-var">onHiddenChange </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
+ </span><span class="jsdoc-var">this.handleHiddenChange.apply</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">arguments</span><span class="jsdoc-syntax">);
+ },
+ </span><span class="jsdoc-var">onColumnMove </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
+ </span><span class="jsdoc-var">this.handleColumnMove.apply</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">arguments</span><span class="jsdoc-syntax">);
+ },
+ </span><span class="jsdoc-var">onColumnLock </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
+ </span><span class="jsdoc-var">this.handleLockChange.apply</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">arguments</span><span class="jsdoc-syntax">);
+ },
+
+ </span><span class="jsdoc-var">onDataChange </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
+ </span><span class="jsdoc-var">this.refresh</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-var">this.updateHeaderSortState</span><span class="jsdoc-syntax">();
+ },
+
+ </span><span class="jsdoc-var">onClear </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
+ </span><span class="jsdoc-var">this.refresh</span><span class="jsdoc-syntax">();
+ },
+
+ </span><span class="jsdoc-var">onUpdate </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">ds</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">record</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">this.refreshRow</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">record</span><span class="jsdoc-syntax">);
+ },
+
+ </span><span class="jsdoc-var">refreshRow </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">record</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ds </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.ds</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">typeof </span><span class="jsdoc-var">record </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">'number'</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">index </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">record</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">record </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">ds.getAt</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">);
+ }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
+ </span><span class="jsdoc-var">index </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">ds.indexOf</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">record</span><span class="jsdoc-syntax">);
+ }
+ </span><span class="jsdoc-var">this.insertRows</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">ds</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.onRemove</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">ds</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">record</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">+1, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.syncRowHeights</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.layout</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"rowupdated"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">record</span><span class="jsdoc-syntax">);
+ },
+
+ </span><span class="jsdoc-var">onAdd </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">ds</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">records</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">this.insertRows</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">ds</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">index </span><span class="jsdoc-syntax">+ (</span><span class="jsdoc-var">records.length</span><span class="jsdoc-syntax">-1));
+ },
+
+ </span><span class="jsdoc-var">onRemove </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">ds</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">record</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">isUpdate</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">isUpdate </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"beforerowremoved"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">record</span><span class="jsdoc-syntax">);
+ }
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">bt </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getBodyTable</span><span class="jsdoc-syntax">(), </span><span class="jsdoc-var">lt </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getLockedTable</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">bt.rows</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">]){
+ </span><span class="jsdoc-var">bt.firstChild.removeChild</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">bt.rows</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">]);
+ }
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">lt.rows</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">]){
+ </span><span class="jsdoc-var">lt.firstChild.removeChild</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">lt.rows</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">]);
+ }
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">isUpdate </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">this.stripeRows</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.syncRowHeights</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.layout</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"rowremoved"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">record</span><span class="jsdoc-syntax">);
+ }
+ },
+
+ </span><span class="jsdoc-var">onLoad </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
+ </span><span class="jsdoc-var">this.scrollToTop</span><span class="jsdoc-syntax">();
+ },
+
+ </span><span class="jsdoc-comment">/**
+ * Scrolls the grid to the top
+ */
+ </span><span class="jsdoc-var">scrollToTop </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.scroller</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">this.scroller.dom.scrollTop </span><span class="jsdoc-syntax">= 0;
+ </span><span class="jsdoc-var">this.syncScroll</span><span class="jsdoc-syntax">();
+ }
+ },
+
+ </span><span class="jsdoc-comment">/**
+ * Gets a panel in the header of the grid that can be used for toolbars etc.
+ * After modifying the contents of this panel a call to grid.autoSize() may be
+ * required to register any changes in size.
+ * @param {Boolean} doShow By default the header is hidden. Pass true to show the panel
+ * @return Roo.Element
+ */
+ </span><span class="jsdoc-var">getHeaderPanel </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">doShow</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">doShow</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">this.headerPanel.show</span><span class="jsdoc-syntax">();
+ }
+ </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.headerPanel</span><span class="jsdoc-syntax">;
+ },
+
+ </span><span class="jsdoc-comment">/**
+ * Gets a panel in the footer of the grid that can be used for toolbars etc.
+ * After modifying the contents of this panel a call to grid.autoSize() may be
+ * required to register any changes in size.
+ * @param {Boolean} doShow By default the footer is hidden. Pass true to show the panel
+ * @return Roo.Element
+ */
+ </span><span class="jsdoc-var">getFooterPanel </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">doShow</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">doShow</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">this.footerPanel.show</span><span class="jsdoc-syntax">();
+ }
+ </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.footerPanel</span><span class="jsdoc-syntax">;
+ },
+
+ </span><span class="jsdoc-var">initElements </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">E </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.Element</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">el </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.grid.getGridEl</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.dom.firstChild</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cs </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">el.childNodes</span><span class="jsdoc-syntax">;
+
+ </span><span class="jsdoc-var">this.el </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">E</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">el</span><span class="jsdoc-syntax">);
+
+ </span><span class="jsdoc-var">this.focusEl </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">E</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">el.firstChild</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.focusEl.swallowEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"click"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
+
+ </span><span class="jsdoc-var">this.headerPanel </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">E</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cs</span><span class="jsdoc-syntax">[1]);
+ </span><span class="jsdoc-var">this.headerPanel.enableDisplayMode</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"block"</span><span class="jsdoc-syntax">);
+
+ </span><span class="jsdoc-var">this.scroller </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">E</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cs</span><span class="jsdoc-syntax">[2]);
+ </span><span class="jsdoc-var">this.scrollSizer </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">E</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.scroller.dom.firstChild</span><span class="jsdoc-syntax">);
+
+ </span><span class="jsdoc-var">this.lockedWrap </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">E</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cs</span><span class="jsdoc-syntax">[3]);
+ </span><span class="jsdoc-var">this.lockedHd </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">E</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.lockedWrap.dom.firstChild</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.lockedBody </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">E</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.lockedWrap.dom.childNodes</span><span class="jsdoc-syntax">[1]);
+
+ </span><span class="jsdoc-var">this.mainWrap </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">E</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cs</span><span class="jsdoc-syntax">[4]);
+ </span><span class="jsdoc-var">this.mainHd </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">E</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.mainWrap.dom.firstChild</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.mainBody </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">E</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.mainWrap.dom.childNodes</span><span class="jsdoc-syntax">[1]);
+
+ </span><span class="jsdoc-var">this.footerPanel </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">E</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cs</span><span class="jsdoc-syntax">[5]);
+ </span><span class="jsdoc-var">this.footerPanel.enableDisplayMode</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"block"</span><span class="jsdoc-syntax">);
+
+ </span><span class="jsdoc-var">this.resizeProxy </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">E</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cs</span><span class="jsdoc-syntax">[6]);
+
+ </span><span class="jsdoc-var">this.headerSelector </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">String.format</span><span class="jsdoc-syntax">(
+ </span><span class="jsdoc-string">'#{0} td.x-grid-hd, #{1} td.x-grid-hd'</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-var">this.lockedHd.id</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.mainHd.id
+ </span><span class="jsdoc-syntax">);
+
+ </span><span class="jsdoc-var">this.splitterSelector </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">String.format</span><span class="jsdoc-syntax">(
+ </span><span class="jsdoc-string">'#{0} div.x-grid-split, #{1} div.x-grid-split'</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-var">this.idToCssName</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.lockedHd.id</span><span class="jsdoc-syntax">), </span><span class="jsdoc-var">this.idToCssName</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.mainHd.id</span><span class="jsdoc-syntax">)
+ );
+ },
+ </span><span class="jsdoc-var">idToCssName </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">s</span><span class="jsdoc-syntax">)
+ {
+ </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">s.replace</span><span class="jsdoc-syntax">(/[^a-z0-9]+/ig, </span><span class="jsdoc-string">'-'</span><span class="jsdoc-syntax">);
+ },
+
+ </span><span class="jsdoc-var">getHeaderCell </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">Roo.DomQuery.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.headerSelector</span><span class="jsdoc-syntax">)[</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">];
+ },
+
+ </span><span class="jsdoc-var">getHeaderCellMeasure </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.getHeaderCell</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.firstChild</span><span class="jsdoc-syntax">;
+ },
+
+ </span><span class="jsdoc-var">getHeaderCellText </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.getHeaderCell</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.firstChild.firstChild</span><span class="jsdoc-syntax">;
+ },
+
+ </span><span class="jsdoc-var">getLockedTable </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
+ </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.lockedBody.dom.firstChild</span><span class="jsdoc-syntax">;
+ },
+
+ </span><span class="jsdoc-var">getBodyTable </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
+ </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.mainBody.dom.firstChild</span><span class="jsdoc-syntax">;
+ },
+
+ </span><span class="jsdoc-var">getLockedRow </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.getLockedTable</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.rows</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">];
+ },
+
+ </span><span class="jsdoc-var">getRow </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.getBodyTable</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.rows</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">];
+ },
+
+ </span><span class="jsdoc-var">getRowComposite </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.rowEl</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">this.rowEl </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.CompositeElementLite</span><span class="jsdoc-syntax">();
+ }
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">els </span><span class="jsdoc-syntax">= [], </span><span class="jsdoc-var">lrow</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">mrow</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">lrow </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getLockedRow</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">)){
+ </span><span class="jsdoc-var">els.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">lrow</span><span class="jsdoc-syntax">);
+ }
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">mrow </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getRow</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">)){
+ </span><span class="jsdoc-var">els.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">mrow</span><span class="jsdoc-syntax">);
+ }
+ </span><span class="jsdoc-var">this.rowEl.elements </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">els</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.rowEl</span><span class="jsdoc-syntax">;
+ },
+ </span><span class="jsdoc-comment">/**
+ * Gets the 'td' of the cell
+ *
+ * @param {Integer} rowIndex row to select
+ * @param {Integer} colIndex column to select
+ *
+ * @return {Object}
+ */
+ </span><span class="jsdoc-var">getCell </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">rowIndex</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">colIndex</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">locked </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.cm.getLockedCount</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">source</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">colIndex </span><span class="jsdoc-syntax">< </span><span class="jsdoc-var">locked</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">source </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.lockedBody.dom.firstChild</span><span class="jsdoc-syntax">;
+ }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
+ </span><span class="jsdoc-var">source </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.mainBody.dom.firstChild</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">colIndex </span><span class="jsdoc-syntax">-= </span><span class="jsdoc-var">locked</span><span class="jsdoc-syntax">;
+ }
+ </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">source.rows</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">rowIndex</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.childNodes</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">colIndex</span><span class="jsdoc-syntax">];
+ },
+
+ </span><span class="jsdoc-var">getCellText </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">rowIndex</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">colIndex</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.getCell</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">rowIndex</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">colIndex</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.firstChild.firstChild</span><span class="jsdoc-syntax">;
+ },
+
+ </span><span class="jsdoc-var">getCellBox </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cell</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">b </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.fly</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cell</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.getBox</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.isOpera</span><span class="jsdoc-syntax">){ </span><span class="jsdoc-comment">// opera fails to report the Y
+ </span><span class="jsdoc-var">b.y </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cell.offsetTop </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.mainBody.getY</span><span class="jsdoc-syntax">();
+ }
+ </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">b</span><span class="jsdoc-syntax">;
+ },
+
+ </span><span class="jsdoc-var">getCellIndex </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cell</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">id </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">String</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cell.className</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.match</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.cellRE</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">parseInt</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">[1], 10);
+ }
+ </span><span class="jsdoc-keyword">return </span><span class="jsdoc-syntax">0;
+ },
+
+ </span><span class="jsdoc-var">findHeaderIndex </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">r </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.fly</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.findParent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"td." </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.hdClass</span><span class="jsdoc-syntax">, 6);
+ </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">r </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">this.getCellIndex</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">r</span><span class="jsdoc-syntax">) : </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
+ },
+
+ </span><span class="jsdoc-var">findHeaderCell </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">r </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.fly</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.findParent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"td." </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.hdClass</span><span class="jsdoc-syntax">, 6);
+ </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">r </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">r </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
+ },
+
+ </span><span class="jsdoc-var">findRowIndex </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">return false</span><span class="jsdoc-syntax">;
+ }
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">r </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.fly</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.findParent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"tr." </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.rowClass</span><span class="jsdoc-syntax">, 6);
+ </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">r </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">r.rowIndex </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
+ },
+
+ </span><span class="jsdoc-var">findCellIndex </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">node</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">stop </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.el.dom</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">while</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">node </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">node </span><span class="jsdoc-syntax">!= </span><span class="jsdoc-var">stop</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.findRE.test</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">node.className</span><span class="jsdoc-syntax">)){
+ </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.getCellIndex</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">node</span><span class="jsdoc-syntax">);
+ }
+ </span><span class="jsdoc-var">node </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">node.parentNode</span><span class="jsdoc-syntax">;
+ }
+ </span><span class="jsdoc-keyword">return false</span><span class="jsdoc-syntax">;
+ },
+
+ </span><span class="jsdoc-var">getColumnId </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.cm.getColumnId</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">);
+ },
+
+ </span><span class="jsdoc-var">getSplitters </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
+ {
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.splitterSelector</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">Roo.DomQuery.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.splitterSelector</span><span class="jsdoc-syntax">);
+ }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
+ </span><span class="jsdoc-keyword">return null</span><span class="jsdoc-syntax">;
+ }
+ },
+
+ </span><span class="jsdoc-var">getSplitter </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.getSplitters</span><span class="jsdoc-syntax">()[</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">];
+ },
+
+ </span><span class="jsdoc-var">onRowOver </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">t</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">row</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">((</span><span class="jsdoc-var">row </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.findRowIndex</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">t</span><span class="jsdoc-syntax">)) !== </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">this.getRowComposite</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">row</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.addClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"x-grid-row-over"</span><span class="jsdoc-syntax">);
+ }
+ },
+
+ </span><span class="jsdoc-var">onRowOut </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">t</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">row</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">((</span><span class="jsdoc-var">row </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.findRowIndex</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">t</span><span class="jsdoc-syntax">)) !== </span><span class="jsdoc-keyword">false </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">row </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-var">this.findRowIndex</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e.getRelatedTarget</span><span class="jsdoc-syntax">())){
+ </span><span class="jsdoc-var">this.getRowComposite</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">row</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.removeClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"x-grid-row-over"</span><span class="jsdoc-syntax">);
+ }
+ },
+
+ </span><span class="jsdoc-var">renderHeaders </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cm </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.cm</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ct </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.templates.hcell</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">ht </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.templates.header</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">st </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.templates.hsplit</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cb </span><span class="jsdoc-syntax">= [], </span><span class="jsdoc-var">lb </span><span class="jsdoc-syntax">= [], </span><span class="jsdoc-var">sb </span><span class="jsdoc-syntax">= [], </span><span class="jsdoc-var">lsb </span><span class="jsdoc-syntax">= [], </span><span class="jsdoc-var">p </span><span class="jsdoc-syntax">= {};
+ </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= 0, </span><span class="jsdoc-var">len </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cm.getColumnCount</span><span class="jsdoc-syntax">(); </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">< </span><span class="jsdoc-var">len</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++){
+ </span><span class="jsdoc-var">p.cellId </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">"x-grid-hd-0-" </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">p.splitId </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">"x-grid-csplit-0-" </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">p.id </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cm.getColumnId</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">p.value </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cm.getColumnHeader</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">) || </span><span class="jsdoc-string">""</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">p.title </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cm.getColumnTooltip</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">) || (</span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">p.value</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.match</span><span class="jsdoc-syntax">(/\</) ? </span><span class="jsdoc-string">'' </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">p.value </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-string">""</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">p.style </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-var">this.grid.enableColumnResize </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-keyword">false </span><span class="jsdoc-syntax">|| !</span><span class="jsdoc-var">cm.isResizable</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">) || </span><span class="jsdoc-var">cm.isFixed</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">)) ? </span><span class="jsdoc-string">'cursor:default' </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">cm.isLocked</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">)){
+ </span><span class="jsdoc-var">cb</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">cb.length</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-var">ct.apply</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">p</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">sb</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">sb.length</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-var">st.apply</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">p</span><span class="jsdoc-syntax">);
+ }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
+ </span><span class="jsdoc-var">lb</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">lb.length</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-var">ct.apply</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">p</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">lsb</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">lsb.length</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-var">st.apply</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">p</span><span class="jsdoc-syntax">);
+ }
+ }
+ </span><span class="jsdoc-keyword">return </span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">ht.apply</span><span class="jsdoc-syntax">({</span><span class="jsdoc-var">cells</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">lb.join</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">""</span><span class="jsdoc-syntax">), </span><span class="jsdoc-var">splits</span><span class="jsdoc-syntax">:</span><span class="jsdoc-var">lsb.join</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">""</span><span class="jsdoc-syntax">)}),
+ </span><span class="jsdoc-var">ht.apply</span><span class="jsdoc-syntax">({</span><span class="jsdoc-var">cells</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">cb.join</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">""</span><span class="jsdoc-syntax">), </span><span class="jsdoc-var">splits</span><span class="jsdoc-syntax">:</span><span class="jsdoc-var">sb.join</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">""</span><span class="jsdoc-syntax">)})];
+ },
+
+ </span><span class="jsdoc-var">updateHeaders </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">html </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.renderHeaders</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-var">this.lockedHd.update</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">html</span><span class="jsdoc-syntax">[0]);
+ </span><span class="jsdoc-var">this.mainHd.update</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">html</span><span class="jsdoc-syntax">[1]);
+ },
+
+ </span><span class="jsdoc-comment">/**
+ * Focuses the specified row.
+ * @param {Number} row The row index
+ */
+ </span><span class="jsdoc-var">focusRow </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">row</span><span class="jsdoc-syntax">)
+ {
+ </span><span class="jsdoc-comment">//Roo.log('GridView.focusRow');
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">x </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.scroller.dom.scrollLeft</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">this.focusCell</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">row</span><span class="jsdoc-syntax">, 0, </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.scroller.dom.scrollLeft </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">x</span><span class="jsdoc-syntax">;
+ },
+
+ </span><span class="jsdoc-comment">/**
+ * Focuses the specified cell.
+ * @param {Number} row The row index
+ * @param {Number} col The column index
+ * @param {Boolean} hscroll false to disable horizontal scrolling
+ */
+ </span><span class="jsdoc-var">focusCell </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">row</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">col</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">hscroll</span><span class="jsdoc-syntax">)
+ {
+ </span><span class="jsdoc-comment">//Roo.log('GridView.focusCell');
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">el </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.ensureVisible</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">row</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">col</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">hscroll</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.focusEl.alignTo</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">el</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"tl-tl"</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.isGecko</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">this.focusEl.focus</span><span class="jsdoc-syntax">();
+ }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
+ </span><span class="jsdoc-var">this.focusEl.focus.defer</span><span class="jsdoc-syntax">(1, </span><span class="jsdoc-var">this.focusEl</span><span class="jsdoc-syntax">);
+ }
+ },
+
+ </span><span class="jsdoc-comment">/**
+ * Scrolls the specified cell into view
+ * @param {Number} row The row index
+ * @param {Number} col The column index
+ * @param {Boolean} hscroll false to disable horizontal scrolling
+ */
+ </span><span class="jsdoc-var">ensureVisible </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">row</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">col</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">hscroll</span><span class="jsdoc-syntax">)
+ {
+ </span><span class="jsdoc-comment">//Roo.log('GridView.ensureVisible,' + row + ',' + col);
+ //return null; //disable for testing.
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">typeof </span><span class="jsdoc-var">row </span><span class="jsdoc-syntax">!= </span><span class="jsdoc-string">"number"</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">row </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">row.rowIndex</span><span class="jsdoc-syntax">;
+ }
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">row </span><span class="jsdoc-syntax">< 0 && </span><span class="jsdoc-var">row </span><span class="jsdoc-syntax">>= </span><span class="jsdoc-var">this.ds.getCount</span><span class="jsdoc-syntax">()){
+ </span><span class="jsdoc-keyword">return null</span><span class="jsdoc-syntax">;
+ }
+ </span><span class="jsdoc-var">col </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-var">col </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-var">undefined </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">col </span><span class="jsdoc-syntax">: 0);
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cm </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.grid.colModel</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">while</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cm.isHidden</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">col</span><span class="jsdoc-syntax">)){
+ </span><span class="jsdoc-var">col</span><span class="jsdoc-syntax">++;
+ }
+
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">el </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getCell</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">row</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">col</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">el</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">return null</span><span class="jsdoc-syntax">;
+ }
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">c </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.scroller.dom</span><span class="jsdoc-syntax">;
+
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ctop </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">parseInt</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">el.offsetTop</span><span class="jsdoc-syntax">, 10);
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cleft </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">parseInt</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">el.offsetLeft</span><span class="jsdoc-syntax">, 10);
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cbot </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">ctop </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">el.offsetHeight</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cright </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cleft </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">el.offsetWidth</span><span class="jsdoc-syntax">;
+
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ch </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">c.clientHeight </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">this.mainHd.dom.offsetHeight</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">stop </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">parseInt</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c.scrollTop</span><span class="jsdoc-syntax">, 10);
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">sleft </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">parseInt</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c.scrollLeft</span><span class="jsdoc-syntax">, 10);
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">sbot </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">stop </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">ch</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">sright </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">sleft </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">c.clientWidth</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-comment">/*
+ Roo.log('GridView.ensureVisible:' +
+ ' ctop:' + ctop +
+ ' c.clientHeight:' + c.clientHeight +
+ ' this.mainHd.dom.offsetHeight:' + this.mainHd.dom.offsetHeight +
+ ' stop:' + stop +
+ ' cbot:' + cbot +
+ ' sbot:' + sbot +
+ ' ch:' + ch
+ );
+ */
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">ctop </span><span class="jsdoc-syntax">< </span><span class="jsdoc-var">stop</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">c.scrollTop </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">ctop</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-comment">//Roo.log("set scrolltop to ctop DISABLE?");
+ </span><span class="jsdoc-syntax">}</span><span class="jsdoc-keyword">else if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cbot </span><span class="jsdoc-syntax">> </span><span class="jsdoc-var">sbot</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-comment">//Roo.log("set scrolltop to cbot-ch");
+ </span><span class="jsdoc-var">c.scrollTop </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cbot</span><span class="jsdoc-syntax">-</span><span class="jsdoc-var">ch</span><span class="jsdoc-syntax">;
+ }
+
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">hscroll </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cleft </span><span class="jsdoc-syntax">< </span><span class="jsdoc-var">sleft</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">c.scrollLeft </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cleft</span><span class="jsdoc-syntax">;
+ }</span><span class="jsdoc-keyword">else if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cright </span><span class="jsdoc-syntax">> </span><span class="jsdoc-var">sright</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">c.scrollLeft </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cright</span><span class="jsdoc-syntax">-</span><span class="jsdoc-var">c.clientWidth</span><span class="jsdoc-syntax">;
+ }
+ }
+
+ </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">el</span><span class="jsdoc-syntax">;
+ },
+
+ </span><span class="jsdoc-var">updateColumns </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
+ </span><span class="jsdoc-var">this.grid.stopEditing</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cm </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.grid.colModel</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">colIds </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getColumnIds</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-comment">//var totalWidth = cm.getTotalWidth();
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">pos </span><span class="jsdoc-syntax">= 0;
+ </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= 0, </span><span class="jsdoc-var">len </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cm.getColumnCount</span><span class="jsdoc-syntax">(); </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">< </span><span class="jsdoc-var">len</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++){
+ </span><span class="jsdoc-comment">//if(cm.isHidden(i)) continue;
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">w </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cm.getColumnWidth</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.css.updateRule</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.colSelector</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">this.idToCssName</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">colIds</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]), </span><span class="jsdoc-string">"width"</span><span class="jsdoc-syntax">, (</span><span class="jsdoc-var">w </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">this.borderWidth</span><span class="jsdoc-syntax">) + </span><span class="jsdoc-string">"px"</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.css.updateRule</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.hdSelector</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">this.idToCssName</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">colIds</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]), </span><span class="jsdoc-string">"width"</span><span class="jsdoc-syntax">, (</span><span class="jsdoc-var">w </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">this.borderWidth</span><span class="jsdoc-syntax">) + </span><span class="jsdoc-string">"px"</span><span class="jsdoc-syntax">);
+ }
+ </span><span class="jsdoc-var">this.updateSplitters</span><span class="jsdoc-syntax">();
+ },
+
+ </span><span class="jsdoc-var">generateRules </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cm</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ruleBuf </span><span class="jsdoc-syntax">= [], </span><span class="jsdoc-var">rulesId </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.idToCssName</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.grid.id</span><span class="jsdoc-syntax">)+ </span><span class="jsdoc-string">'-cssrules'</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">Roo.util.CSS.removeStyleSheet</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">rulesId</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= 0, </span><span class="jsdoc-var">len </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cm.getColumnCount</span><span class="jsdoc-syntax">(); </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">< </span><span class="jsdoc-var">len</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cid </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cm.getColumnId</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">align </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cm.config</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.align</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">align </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">'text-align:'</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">cm.config</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.align</span><span class="jsdoc-syntax">+</span><span class="jsdoc-string">';'</span><span class="jsdoc-syntax">;
+ }
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">hidden </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cm.isHidden</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">)){
+ </span><span class="jsdoc-var">hidden </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">'display:none;'</span><span class="jsdoc-syntax">;
+ }
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">width </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">"width:" </span><span class="jsdoc-syntax">+ (</span><span class="jsdoc-var">cm.getColumnWidth</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">) - </span><span class="jsdoc-var">this.borderWidth</span><span class="jsdoc-syntax">) + </span><span class="jsdoc-string">"px;"</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">ruleBuf.push</span><span class="jsdoc-syntax">(
+ </span><span class="jsdoc-var">this.colSelector</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">cid</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">" {\n"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">cm.config</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.css</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">align</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"\n}\n"</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-var">this.hdSelector</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">cid</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">" {\n"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">align</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"}\n"</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-var">this.tdSelector</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">cid</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">" {\n"</span><span class="jsdoc-syntax">,</span><span class="jsdoc-var">hidden</span><span class="jsdoc-syntax">,</span><span class="jsdoc-string">"\n}\n"</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-var">this.splitSelector</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">cid</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">" {\n"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">hidden </span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"\n}\n"</span><span class="jsdoc-syntax">);
+ }
+ </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">Roo.util.CSS.createStyleSheet</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">ruleBuf.join</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">""</span><span class="jsdoc-syntax">), </span><span class="jsdoc-var">rulesId</span><span class="jsdoc-syntax">);
+ },
+
+ </span><span class="jsdoc-var">updateSplitters </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cm </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.cm</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">s </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getSplitters</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">s</span><span class="jsdoc-syntax">){ </span><span class="jsdoc-comment">// splitters not created yet
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">pos </span><span class="jsdoc-syntax">= 0, </span><span class="jsdoc-var">locked </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= 0, </span><span class="jsdoc-var">len </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cm.getColumnCount</span><span class="jsdoc-syntax">(); </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">< </span><span class="jsdoc-var">len</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++){
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cm.isHidden</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">)) {
+ </span><span class="jsdoc-keyword">continue</span><span class="jsdoc-syntax">;
+ }
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">w </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cm.getColumnWidth</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">); </span><span class="jsdoc-comment">// make sure it's a number
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">cm.isLocked</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">) && </span><span class="jsdoc-var">locked</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">pos </span><span class="jsdoc-syntax">= 0;
+ </span><span class="jsdoc-var">locked </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
+ }
+ </span><span class="jsdoc-var">pos </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-var">w</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">s</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.style.left </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-var">pos</span><span class="jsdoc-syntax">-</span><span class="jsdoc-var">this.splitOffset</span><span class="jsdoc-syntax">) + </span><span class="jsdoc-string">"px"</span><span class="jsdoc-syntax">;
+ }
+ }
+ },
+
+ </span><span class="jsdoc-var">handleHiddenChange </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">colModel</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">colIndex</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">hidden</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">hidden</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">this.hideColumn</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">colIndex</span><span class="jsdoc-syntax">);
+ }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
+ </span><span class="jsdoc-var">this.unhideColumn</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">colIndex</span><span class="jsdoc-syntax">);
+ }
+ },
+
+ </span><span class="jsdoc-var">hideColumn </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">colIndex</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cid </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getColumnId</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">colIndex</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.css.updateRule</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.tdSelector</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">this.idToCssName</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cid</span><span class="jsdoc-syntax">), </span><span class="jsdoc-string">"display"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"none"</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.css.updateRule</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.splitSelector</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">this.idToCssName</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cid</span><span class="jsdoc-syntax">), </span><span class="jsdoc-string">"display"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"none"</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.isSafari</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">this.updateHeaders</span><span class="jsdoc-syntax">();
+ }
+ </span><span class="jsdoc-var">this.updateSplitters</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-var">this.layout</span><span class="jsdoc-syntax">();
+ },
+
+ </span><span class="jsdoc-var">unhideColumn </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">colIndex</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cid </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getColumnId</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">colIndex</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.css.updateRule</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.tdSelector</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">this.idToCssName</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cid</span><span class="jsdoc-syntax">), </span><span class="jsdoc-string">"display"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">""</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.css.updateRule</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.splitSelector</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">this.idToCssName</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cid</span><span class="jsdoc-syntax">), </span><span class="jsdoc-string">"display"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">""</span><span class="jsdoc-syntax">);
+
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.isSafari</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">this.updateHeaders</span><span class="jsdoc-syntax">();
+ }
+ </span><span class="jsdoc-var">this.updateSplitters</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-var">this.layout</span><span class="jsdoc-syntax">();
+ },
+
+ </span><span class="jsdoc-var">insertRows </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">dm</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">firstRow</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">lastRow</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">isUpdate</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">firstRow </span><span class="jsdoc-syntax">== 0 && </span><span class="jsdoc-var">lastRow </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">dm.getCount</span><span class="jsdoc-syntax">()-1){
+ </span><span class="jsdoc-var">this.refresh</span><span class="jsdoc-syntax">();
+ }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">isUpdate</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"beforerowsinserted"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">firstRow</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">lastRow</span><span class="jsdoc-syntax">);
+ }
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">s </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getScrollState</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">markup </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.renderRows</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">firstRow</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">lastRow</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.bufferRows</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">markup</span><span class="jsdoc-syntax">[0], </span><span class="jsdoc-var">this.getLockedTable</span><span class="jsdoc-syntax">(), </span><span class="jsdoc-var">firstRow</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.bufferRows</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">markup</span><span class="jsdoc-syntax">[1], </span><span class="jsdoc-var">this.getBodyTable</span><span class="jsdoc-syntax">(), </span><span class="jsdoc-var">firstRow</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.restoreScroll</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">s</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">isUpdate</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"rowsinserted"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">firstRow</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">lastRow</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.syncRowHeights</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">firstRow</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">lastRow</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.stripeRows</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">firstRow</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.layout</span><span class="jsdoc-syntax">();
+ }
+ }
+ },
+
+ </span><span class="jsdoc-var">bufferRows </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">markup</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">target</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">before </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">trows </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">target.rows</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">tbody </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">target.tBodies</span><span class="jsdoc-syntax">[0];
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">index </span><span class="jsdoc-syntax">< </span><span class="jsdoc-var">trows.length</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">before </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">trows</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">];
+ }
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">b </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">document.createElement</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"div"</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">b.innerHTML </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">"<table><tbody>"</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">markup</span><span class="jsdoc-syntax">+</span><span class="jsdoc-string">"</tbody></table>"</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">rows </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">b.firstChild.rows</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= 0, </span><span class="jsdoc-var">len </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">rows.length</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">< </span><span class="jsdoc-var">len</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++){
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">before</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">tbody.insertBefore</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">rows</span><span class="jsdoc-syntax">[0], </span><span class="jsdoc-var">before</span><span class="jsdoc-syntax">);
+ }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
+ </span><span class="jsdoc-var">tbody.appendChild</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">rows</span><span class="jsdoc-syntax">[0]);
+ }
+ }
+ </span><span class="jsdoc-var">b.innerHTML </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">""</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">b </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">;
+ },
+
+ </span><span class="jsdoc-var">deleteRows </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">dm</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">firstRow</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">lastRow</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">dm.getRowCount</span><span class="jsdoc-syntax">()<1){
+ </span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"beforerefresh"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.mainBody.update</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">""</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.lockedBody.update</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">""</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"refresh"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+ }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
+ </span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"beforerowsdeleted"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">firstRow</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">lastRow</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">bt </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getBodyTable</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">tbody </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">bt.firstChild</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">rows </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">bt.rows</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">rowIndex </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">firstRow</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">rowIndex </span><span class="jsdoc-syntax"><= </span><span class="jsdoc-var">lastRow</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">rowIndex</span><span class="jsdoc-syntax">++){
+ </span><span class="jsdoc-var">tbody.removeChild</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">rows</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">firstRow</span><span class="jsdoc-syntax">]);
+ }
+ </span><span class="jsdoc-var">this.stripeRows</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">firstRow</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"rowsdeleted"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">firstRow</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">lastRow</span><span class="jsdoc-syntax">);
+ }
+ },
+
+ </span><span class="jsdoc-var">updateRows </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">dataSource</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">firstRow</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">lastRow</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">s </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getScrollState</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-var">this.refresh</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-var">this.restoreScroll</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">s</span><span class="jsdoc-syntax">);
+ },
+
+ </span><span class="jsdoc-var">handleSort </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">dataSource</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">sortColumnIndex</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">sortDir</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">noRefresh</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">noRefresh</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">this.refresh</span><span class="jsdoc-syntax">();
+ }
+ </span><span class="jsdoc-var">this.updateHeaderSortState</span><span class="jsdoc-syntax">();
+ },
+
+ </span><span class="jsdoc-var">getScrollState </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
+
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">sb </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.scroller.dom</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">return </span><span class="jsdoc-syntax">{</span><span class="jsdoc-var">left</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">sb.scrollLeft</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">top</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">sb.scrollTop</span><span class="jsdoc-syntax">};
+ },
+
+ </span><span class="jsdoc-var">stripeRows </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">startRow</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.grid.stripeRows </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">this.ds.getCount</span><span class="jsdoc-syntax">() < 1){
+ </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
+ }
+ </span><span class="jsdoc-var">startRow </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">startRow </span><span class="jsdoc-syntax">|| 0;
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">rows </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getBodyTable</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.rows</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">lrows </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getLockedTable</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.rows</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cls </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">' x-grid-row-alt '</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">startRow</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">len </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">rows.length</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">< </span><span class="jsdoc-var">len</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">row </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">rows</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">], </span><span class="jsdoc-var">lrow </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">lrows</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">];
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">isAlt </span><span class="jsdoc-syntax">= ((</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">+1) % 2 == 0);
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">hasAlt </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-string">' '</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">row.className </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">' '</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.indexOf</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">) != -1;
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">isAlt </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">hasAlt</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">continue</span><span class="jsdoc-syntax">;
+ }
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">isAlt</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">row.className </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">" x-grid-row-alt"</span><span class="jsdoc-syntax">;
+ }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
+ </span><span class="jsdoc-var">row.className </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">row.className.replace</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"x-grid-row-alt"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">""</span><span class="jsdoc-syntax">);
+ }
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">lrow</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">lrow.className </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">row.className</span><span class="jsdoc-syntax">;
+ }
+ }
+ },
+
+ </span><span class="jsdoc-var">restoreScroll </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">state</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-comment">//Roo.log('GridView.restoreScroll');
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">sb </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.scroller.dom</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">sb.scrollLeft </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">state.left</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">sb.scrollTop </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">state.top</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">this.syncScroll</span><span class="jsdoc-syntax">();
+ },
+
+ </span><span class="jsdoc-var">syncScroll </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
+ </span><span class="jsdoc-comment">//Roo.log('GridView.syncScroll');
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">sb </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.scroller.dom</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">sh </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.mainHd.dom</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">bs </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.mainBody.dom</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">lv </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.lockedBody.dom</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">sh.scrollLeft </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">bs.scrollLeft </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">sb.scrollLeft</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">lv.scrollTop </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">bs.scrollTop </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">sb.scrollTop</span><span class="jsdoc-syntax">;
+ },
+
+ </span><span class="jsdoc-var">handleScroll </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">this.syncScroll</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">sb </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.scroller.dom</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">this.grid.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"bodyscroll"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">sb.scrollLeft</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">sb.scrollTop</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">e.stopEvent</span><span class="jsdoc-syntax">();
+ },
+
+ </span><span class="jsdoc-var">handleWheel </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">d </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">e.getWheelDelta</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-var">this.scroller.dom.scrollTop </span><span class="jsdoc-syntax">-= </span><span class="jsdoc-var">d</span><span class="jsdoc-syntax">*22;
+ </span><span class="jsdoc-comment">// set this here to prevent jumpy scrolling on large tables
+ </span><span class="jsdoc-var">this.lockedBody.dom.scrollTop </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.mainBody.dom.scrollTop </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.scroller.dom.scrollTop</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">e.stopEvent</span><span class="jsdoc-syntax">();
+ },
+
+ </span><span class="jsdoc-var">renderRows </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">startRow</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">endRow</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-comment">// pull in all the crap needed to render rows
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">g </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.grid</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">cm </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">g.colModel</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">ds </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">g.dataSource</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">stripe </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">g.stripeRows</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">colCount </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cm.getColumnCount</span><span class="jsdoc-syntax">();
+
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">ds.getCount</span><span class="jsdoc-syntax">() < 1){
+ </span><span class="jsdoc-keyword">return </span><span class="jsdoc-syntax">[</span><span class="jsdoc-string">""</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">""</span><span class="jsdoc-syntax">];
+ }
+
+ </span><span class="jsdoc-comment">// build a map for all the columns
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cs </span><span class="jsdoc-syntax">= [];
+ </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= 0; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">< </span><span class="jsdoc-var">colCount</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">name </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cm.getDataIndex</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">cs</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">] = {
+ </span><span class="jsdoc-var">name </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">typeof </span><span class="jsdoc-var">name </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">'undefined' </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">ds.fields.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.name </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">name</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-var">renderer </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">cm.getRenderer</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">),
+ </span><span class="jsdoc-var">id </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">cm.getColumnId</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">),
+ </span><span class="jsdoc-var">locked </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">cm.isLocked</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">),
+ </span><span class="jsdoc-var">has_editor </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">cm.isCellEditable</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">)
+ };
+ }
+
+ </span><span class="jsdoc-var">startRow </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">startRow </span><span class="jsdoc-syntax">|| 0;
+ </span><span class="jsdoc-var">endRow </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">typeof </span><span class="jsdoc-var">endRow </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">"undefined"</span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">ds.getCount</span><span class="jsdoc-syntax">()-1 : </span><span class="jsdoc-var">endRow</span><span class="jsdoc-syntax">;
+
+ </span><span class="jsdoc-comment">// records to render
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">rs </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">ds.getRange</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">startRow</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">endRow</span><span class="jsdoc-syntax">);
+
+ </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.doRender</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cs</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">rs</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">ds</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">startRow</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">colCount</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">stripe</span><span class="jsdoc-syntax">);
+ },
+
+ </span><span class="jsdoc-comment">// As much as I hate to duplicate code, this was branched because FireFox really hates
+ // [].join("") on strings. The performance difference was substantial enough to
+ // branch this function
+ </span><span class="jsdoc-var">doRender </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">Roo.isGecko </span><span class="jsdoc-syntax">?
+ </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cs</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">rs</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">ds</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">startRow</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">colCount</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">stripe</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ts </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.templates</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">ct </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">ts.cell</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">rt </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">ts.row</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-comment">// buffers
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">buf </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">""</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">lbuf </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">""</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">cb</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">lcb</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">c</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">p </span><span class="jsdoc-syntax">= {}, </span><span class="jsdoc-var">rp </span><span class="jsdoc-syntax">= {}, </span><span class="jsdoc-var">r</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">rowIndex</span><span class="jsdoc-syntax">;
+
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">hasListener </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.grid.hasListener</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'rowclass'</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">rowcfg </span><span class="jsdoc-syntax">= {};
+ </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">j </span><span class="jsdoc-syntax">= 0, </span><span class="jsdoc-var">len </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">rs.length</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">j </span><span class="jsdoc-syntax">< </span><span class="jsdoc-var">len</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">j</span><span class="jsdoc-syntax">++){
+ </span><span class="jsdoc-var">r </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">rs</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">j</span><span class="jsdoc-syntax">]; </span><span class="jsdoc-var">cb </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">""</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">lcb </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">""</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">rowIndex </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-var">j</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">startRow</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= 0; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">< </span><span class="jsdoc-var">colCount</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++){
+ </span><span class="jsdoc-var">c </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cs</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">];
+ </span><span class="jsdoc-var">p.cellId </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">"x-grid-cell-" </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">rowIndex </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">"-" </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">p.id </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">c.id</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">p.css </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">p.attr </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">""</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">p.value </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">c.renderer</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">r.data</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">c.name</span><span class="jsdoc-syntax">], </span><span class="jsdoc-var">p</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">r</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">rowIndex</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">ds</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">p.value </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">undefined </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">p.value </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-string">""</span><span class="jsdoc-syntax">) {
+ </span><span class="jsdoc-var">p.value </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">"&#160;"</span><span class="jsdoc-syntax">;
+ }
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c.has_editor</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">p.css </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">' x-grid-editable-cell'</span><span class="jsdoc-syntax">;
+ }
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c.dirty </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-keyword">typeof </span><span class="jsdoc-var">r.modified</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">c.name</span><span class="jsdoc-syntax">] !== </span><span class="jsdoc-string">'undefined'</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">p.css </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">' x-grid-dirty-cell'</span><span class="jsdoc-syntax">;
+ }
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">markup </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">ct.apply</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">p</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">c.locked</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">cb</span><span class="jsdoc-syntax">+= </span><span class="jsdoc-var">markup</span><span class="jsdoc-syntax">;
+ }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
+ </span><span class="jsdoc-var">lcb</span><span class="jsdoc-syntax">+= </span><span class="jsdoc-var">markup</span><span class="jsdoc-syntax">;
+ }
+ }
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">alt </span><span class="jsdoc-syntax">= [];
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">stripe </span><span class="jsdoc-syntax">&& ((</span><span class="jsdoc-var">rowIndex</span><span class="jsdoc-syntax">+1) % 2 == 0)){
+ </span><span class="jsdoc-var">alt.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"x-grid-row-alt"</span><span class="jsdoc-syntax">)
+ }
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">r.dirty</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">alt.push</span><span class="jsdoc-syntax">( </span><span class="jsdoc-string">" x-grid-dirty-row"</span><span class="jsdoc-syntax">);
+ }
+ </span><span class="jsdoc-var">rp.cells </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">lcb</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.getRowClass</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">alt.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.getRowClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">r</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">rowIndex</span><span class="jsdoc-syntax">));
+ }
+ </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">hasListener</span><span class="jsdoc-syntax">) {
+ </span><span class="jsdoc-var">rowcfg </span><span class="jsdoc-syntax">= {
+
+ </span><span class="jsdoc-var">record</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">r</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-var">rowIndex </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">rowIndex</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-var">rowClass </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">''
+ </span><span class="jsdoc-syntax">};
+ </span><span class="jsdoc-var">this.grid.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'rowclass'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">rowcfg</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">alt.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">rowcfg.rowClass</span><span class="jsdoc-syntax">);
+ }
+ </span><span class="jsdoc-var">rp.alt </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">alt.join</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">" "</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">lbuf</span><span class="jsdoc-syntax">+= </span><span class="jsdoc-var">rt.apply</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">rp</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">rp.cells </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cb</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">buf</span><span class="jsdoc-syntax">+= </span><span class="jsdoc-var">rt.apply</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">rp</span><span class="jsdoc-syntax">);
+ }
+ </span><span class="jsdoc-keyword">return </span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">lbuf</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">buf</span><span class="jsdoc-syntax">];
+ } :
+ </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cs</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">rs</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">ds</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">startRow</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">colCount</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">stripe</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ts </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.templates</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">ct </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">ts.cell</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">rt </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">ts.row</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-comment">// buffers
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">buf </span><span class="jsdoc-syntax">= [], </span><span class="jsdoc-var">lbuf </span><span class="jsdoc-syntax">= [], </span><span class="jsdoc-var">cb</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">lcb</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">c</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">p </span><span class="jsdoc-syntax">= {}, </span><span class="jsdoc-var">rp </span><span class="jsdoc-syntax">= {}, </span><span class="jsdoc-var">r</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">rowIndex</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">hasListener </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.grid.hasListener</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'rowclass'</span><span class="jsdoc-syntax">);
+
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">rowcfg </span><span class="jsdoc-syntax">= {};
+ </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">j </span><span class="jsdoc-syntax">= 0, </span><span class="jsdoc-var">len </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">rs.length</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">j </span><span class="jsdoc-syntax">< </span><span class="jsdoc-var">len</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">j</span><span class="jsdoc-syntax">++){
+ </span><span class="jsdoc-var">r </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">rs</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">j</span><span class="jsdoc-syntax">]; </span><span class="jsdoc-var">cb </span><span class="jsdoc-syntax">= []; </span><span class="jsdoc-var">lcb </span><span class="jsdoc-syntax">= []; </span><span class="jsdoc-var">rowIndex </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-var">j</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">startRow</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= 0; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">< </span><span class="jsdoc-var">colCount</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++){
+ </span><span class="jsdoc-var">c </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cs</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">];
+ </span><span class="jsdoc-var">p.cellId </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">"x-grid-cell-" </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">rowIndex </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">"-" </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">p.id </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">c.id</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">p.css </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">p.attr </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">""</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">p.value </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">c.renderer</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">r.data</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">c.name</span><span class="jsdoc-syntax">], </span><span class="jsdoc-var">p</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">r</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">rowIndex</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">ds</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">p.value </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">undefined </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">p.value </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-string">""</span><span class="jsdoc-syntax">) {
+ </span><span class="jsdoc-var">p.value </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">"&#160;"</span><span class="jsdoc-syntax">;
+ }
+ </span><span class="jsdoc-comment">//Roo.log(c);
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c.has_editor</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">p.css </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">' x-grid-editable-cell'</span><span class="jsdoc-syntax">;
+ }
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">r.dirty </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-keyword">typeof </span><span class="jsdoc-var">r.modified</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">c.name</span><span class="jsdoc-syntax">] !== </span><span class="jsdoc-string">'undefined'</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">p.css </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">' x-grid-dirty-cell'
+ </span><span class="jsdoc-syntax">}
+
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">markup </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">ct.apply</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">p</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">c.locked</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">cb</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">cb.length</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-var">markup</span><span class="jsdoc-syntax">;
+ }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
+ </span><span class="jsdoc-var">lcb</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">lcb.length</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-var">markup</span><span class="jsdoc-syntax">;
+ }
+ }
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">alt </span><span class="jsdoc-syntax">= [];
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">stripe </span><span class="jsdoc-syntax">&& ((</span><span class="jsdoc-var">rowIndex</span><span class="jsdoc-syntax">+1) % 2 == 0)){
+ </span><span class="jsdoc-var">alt.push</span><span class="jsdoc-syntax">( </span><span class="jsdoc-string">"x-grid-row-alt"</span><span class="jsdoc-syntax">);
+ }
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">r.dirty</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">alt.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">" x-grid-dirty-row"</span><span class="jsdoc-syntax">);
+ }
+ </span><span class="jsdoc-var">rp.cells </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">lcb</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.getRowClass</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">alt.push</span><span class="jsdoc-syntax">( </span><span class="jsdoc-var">this.getRowClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">r</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">rowIndex</span><span class="jsdoc-syntax">));
+ }
+ </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">hasListener</span><span class="jsdoc-syntax">) {
+ </span><span class="jsdoc-var">rowcfg </span><span class="jsdoc-syntax">= {
+
+ </span><span class="jsdoc-var">record</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">r</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-var">rowIndex </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">rowIndex</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-var">rowClass </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">''
+ </span><span class="jsdoc-syntax">};
+ </span><span class="jsdoc-var">this.grid.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'rowclass'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">rowcfg</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">alt.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">rowcfg.rowClass</span><span class="jsdoc-syntax">);
+ }
+
+ </span><span class="jsdoc-var">rp.alt </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">alt.join</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">" "</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">rp.cells </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">lcb.join</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">""</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">lbuf</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">lbuf.length</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-var">rt.apply</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">rp</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">rp.cells </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cb.join</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">""</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">buf</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">buf.length</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-var">rt.apply</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">rp</span><span class="jsdoc-syntax">);
+ }
+ </span><span class="jsdoc-keyword">return </span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">lbuf.join</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">""</span><span class="jsdoc-syntax">), </span><span class="jsdoc-var">buf.join</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">""</span><span class="jsdoc-syntax">)];
+ },
+
+ </span><span class="jsdoc-var">renderBody </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">markup </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.renderRows</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">bt </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.templates.body</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">return </span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">bt.apply</span><span class="jsdoc-syntax">({</span><span class="jsdoc-var">rows</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">markup</span><span class="jsdoc-syntax">[0]}), </span><span class="jsdoc-var">bt.apply</span><span class="jsdoc-syntax">({</span><span class="jsdoc-var">rows</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">markup</span><span class="jsdoc-syntax">[1]})];
+ },
+
+ </span><span class="jsdoc-comment">/**
+ * Refreshes the grid
+ * @param {Boolean} headersToo
+ */
+ </span><span class="jsdoc-var">refresh </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">headersToo</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"beforerefresh"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.grid.stopEditing</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">result </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.renderBody</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-var">this.lockedBody.update</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">result</span><span class="jsdoc-syntax">[0]);
+ </span><span class="jsdoc-var">this.mainBody.update</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">result</span><span class="jsdoc-syntax">[1]);
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">headersToo </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">this.updateHeaders</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-var">this.updateColumns</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-var">this.updateSplitters</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-var">this.updateHeaderSortState</span><span class="jsdoc-syntax">();
+ }
+ </span><span class="jsdoc-var">this.syncRowHeights</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-var">this.layout</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"refresh"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+ },
+
+ </span><span class="jsdoc-var">handleColumnMove </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cm</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">oldIndex</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">newIndex</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">this.indexMap </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">s </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getScrollState</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-var">this.refresh</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.restoreScroll</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">s</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.afterMove</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">newIndex</span><span class="jsdoc-syntax">);
+ },
+
+ </span><span class="jsdoc-var">afterMove </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">colIndex</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.enableMoveAnim </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">Roo.enableFx</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">this.fly</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.getHeaderCell</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">colIndex</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.firstChild</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.highlight</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.hlColor</span><span class="jsdoc-syntax">);
+ }
+ </span><span class="jsdoc-comment">// if multisort - fix sortOrder, and reload..
+ </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.grid.dataSource.multiSort</span><span class="jsdoc-syntax">) {
+ </span><span class="jsdoc-comment">// the we can call sort again..
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">dm </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.grid.dataSource</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cm </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.grid.colModel</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">so </span><span class="jsdoc-syntax">= [];
+ </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= 0; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">< </span><span class="jsdoc-var">cm.config.length</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++ ) {
+
+ </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">((</span><span class="jsdoc-keyword">typeof</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">dm.sortToggle</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">cm.config</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.dataIndex</span><span class="jsdoc-syntax">]) == </span><span class="jsdoc-string">'undefined'</span><span class="jsdoc-syntax">)) {
+ </span><span class="jsdoc-keyword">continue</span><span class="jsdoc-syntax">; </span><span class="jsdoc-comment">// dont' bother, it's not in sort list or being set.
+ </span><span class="jsdoc-syntax">}
+
+ </span><span class="jsdoc-var">so.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cm.config</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.dataIndex</span><span class="jsdoc-syntax">);
+ };
+ </span><span class="jsdoc-var">dm.sortOrder </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">so</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">dm.load</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">dm.lastOptions</span><span class="jsdoc-syntax">);
+
+
+ }
+
+ },
+
+ </span><span class="jsdoc-var">updateCell </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">dm</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">rowIndex</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">dataIndex</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">colIndex </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getColumnIndexByDataIndex</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">dataIndex</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">typeof </span><span class="jsdoc-var">colIndex </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">"undefined"</span><span class="jsdoc-syntax">){ </span><span class="jsdoc-comment">// not present in grid
+ </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
+ }
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cm </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.grid.colModel</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cell </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getCell</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">rowIndex</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">colIndex</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cellText </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getCellText</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">rowIndex</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">colIndex</span><span class="jsdoc-syntax">);
+
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">p </span><span class="jsdoc-syntax">= {
+ </span><span class="jsdoc-var">cellId </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"x-grid-cell-" </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">rowIndex </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">"-" </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">colIndex</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-var">id </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">cm.getColumnId</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">colIndex</span><span class="jsdoc-syntax">),
+ </span><span class="jsdoc-var">css</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">colIndex </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">cm.getColumnCount</span><span class="jsdoc-syntax">()-1 ? </span><span class="jsdoc-string">"x-grid-col-last" </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">""
+ </span><span class="jsdoc-syntax">};
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">renderer </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cm.getRenderer</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">colIndex</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">val </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">renderer</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">dm.getValueAt</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">rowIndex</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">dataIndex</span><span class="jsdoc-syntax">), </span><span class="jsdoc-var">p</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">rowIndex</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">colIndex</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">dm</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">typeof </span><span class="jsdoc-var">val </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">"undefined" </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">val </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-string">""</span><span class="jsdoc-syntax">) {
+ </span><span class="jsdoc-var">val </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">"&#160;"</span><span class="jsdoc-syntax">;
+ }
+ </span><span class="jsdoc-var">cellText.innerHTML </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">val</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">cell.className </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.cellClass </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">" " </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.idToCssName</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">p.cellId</span><span class="jsdoc-syntax">) + </span><span class="jsdoc-string">" " </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">p.css</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">this.syncRowHeights</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">rowIndex</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">rowIndex</span><span class="jsdoc-syntax">);
+ },
+
+ </span><span class="jsdoc-var">calcColumnWidth </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">colIndex</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">maxRowsToMeasure</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">maxWidth </span><span class="jsdoc-syntax">= 0;
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.grid.autoSizeHeaders</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">h </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getHeaderCellMeasure</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">colIndex</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">maxWidth </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Math.max</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">maxWidth</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">h.scrollWidth</span><span class="jsdoc-syntax">);
+ }
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">tb</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.cm.isLocked</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">colIndex</span><span class="jsdoc-syntax">)){
+ </span><span class="jsdoc-var">tb </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getLockedTable</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-var">index </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">colIndex</span><span class="jsdoc-syntax">;
+ }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
+ </span><span class="jsdoc-var">tb </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getBodyTable</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-var">index </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">colIndex </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">this.cm.getLockedCount</span><span class="jsdoc-syntax">();
+ }
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">tb </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">tb.rows</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">rows </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">tb.rows</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">stopIndex </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Math.min</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">maxRowsToMeasure </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">rows.length</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">rows.length</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= 0; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">< </span><span class="jsdoc-var">stopIndex</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cell </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">rows</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.childNodes</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.firstChild</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">maxWidth </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Math.max</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">maxWidth</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">cell.scrollWidth</span><span class="jsdoc-syntax">);
+ }
+ }
+ </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">maxWidth </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-comment">/*margin for error in IE*/ </span><span class="jsdoc-syntax">5;
+ },
+ </span><span class="jsdoc-comment">/**
+ * Autofit a column to its content.
+ * @param {Number} colIndex
+ * @param {Boolean} forceMinSize true to force the column to go smaller if possible
+ */
+ </span><span class="jsdoc-var">autoSizeColumn </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">colIndex</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">forceMinSize</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">suppressEvent</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.cm.isHidden</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">colIndex</span><span class="jsdoc-syntax">)){
+ </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">; </span><span class="jsdoc-comment">// can't calc a hidden column
+ </span><span class="jsdoc-syntax">}
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">forceMinSize</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cid </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.cm.getColumnId</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">colIndex</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.css.updateRule</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.colSelector </span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">this.idToCssName</span><span class="jsdoc-syntax">( </span><span class="jsdoc-var">cid</span><span class="jsdoc-syntax">), </span><span class="jsdoc-string">"width"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.grid.minColumnWidth </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">"px"</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.grid.autoSizeHeaders</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">this.css.updateRule</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.hdSelector </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.idToCssName</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cid</span><span class="jsdoc-syntax">), </span><span class="jsdoc-string">"width"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.grid.minColumnWidth </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">"px"</span><span class="jsdoc-syntax">);
+ }
+ }
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">newWidth </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.calcColumnWidth</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">colIndex</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.cm.setColumnWidth</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">colIndex</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-var">Math.max</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.grid.minColumnWidth</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">newWidth</span><span class="jsdoc-syntax">), </span><span class="jsdoc-var">suppressEvent</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">suppressEvent</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">this.grid.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"columnresize"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">colIndex</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">newWidth</span><span class="jsdoc-syntax">);
+ }
+ },
+
+ </span><span class="jsdoc-comment">/**
+ * Autofits all columns to their content and then expands to fit any extra space in the grid
+ */
+ </span><span class="jsdoc-var">autoSizeColumns </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cm </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.grid.colModel</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">colCount </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cm.getColumnCount</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= 0; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">< </span><span class="jsdoc-var">colCount</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++){
+ </span><span class="jsdoc-var">this.autoSizeColumn</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
+ }
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cm.getTotalWidth</span><span class="jsdoc-syntax">() < </span><span class="jsdoc-var">this.scroller.dom.clientWidth</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">this.fitColumns</span><span class="jsdoc-syntax">();
+ }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
+ </span><span class="jsdoc-var">this.updateColumns</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-var">this.layout</span><span class="jsdoc-syntax">();
+ }
+ },
+
+ </span><span class="jsdoc-comment">/**
+ * Autofits all columns to the grid's width proportionate with their current size
+ * @param {Boolean} reserveScrollSpace Reserve space for a scrollbar
+ */
+ </span><span class="jsdoc-var">fitColumns </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">reserveScrollSpace</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cm </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.grid.colModel</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">colCount </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cm.getColumnCount</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cols </span><span class="jsdoc-syntax">= [];
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">width </span><span class="jsdoc-syntax">= 0;
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">w</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">for </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= 0; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">< </span><span class="jsdoc-var">colCount</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++){
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">cm.isHidden</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">) && !</span><span class="jsdoc-var">cm.isFixed</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">)){
+ </span><span class="jsdoc-var">w </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cm.getColumnWidth</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">cols.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">cols.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">w</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">width </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-var">w</span><span class="jsdoc-syntax">;
+ }
+ }
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">avail </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Math.min</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.scroller.dom.clientWidth</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.el.getWidth</span><span class="jsdoc-syntax">());
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">reserveScrollSpace</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">avail </span><span class="jsdoc-syntax">-= 17;
+ }
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">frac </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-var">avail </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">cm.getTotalWidth</span><span class="jsdoc-syntax">())/</span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">while </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cols.length</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">w </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cols.pop</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cols.pop</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-var">cm.setColumnWidth</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">Math.floor</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">w </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">w</span><span class="jsdoc-syntax">*</span><span class="jsdoc-var">frac</span><span class="jsdoc-syntax">), </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
+ }
+ </span><span class="jsdoc-var">this.updateColumns</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-var">this.layout</span><span class="jsdoc-syntax">();
+ },
+
+ </span><span class="jsdoc-var">onRowSelect </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">rowIndex</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">row </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getRowComposite</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">rowIndex</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">row.addClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"x-grid-row-selected"</span><span class="jsdoc-syntax">);
+ },
+
+ </span><span class="jsdoc-var">onRowDeselect </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">rowIndex</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">row </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getRowComposite</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">rowIndex</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">row.removeClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"x-grid-row-selected"</span><span class="jsdoc-syntax">);
+ },
+
+ </span><span class="jsdoc-var">onCellSelect </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">row</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">col</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cell </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getCell</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">row</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">col</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cell</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">Roo.fly</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cell</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.addClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"x-grid-cell-selected"</span><span class="jsdoc-syntax">);
+ }
+ },
+
+ </span><span class="jsdoc-var">onCellDeselect </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">row</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">col</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cell </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getCell</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">row</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">col</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cell</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">Roo.fly</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cell</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.removeClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"x-grid-cell-selected"</span><span class="jsdoc-syntax">);
+ }
+ },
+
+ </span><span class="jsdoc-var">updateHeaderSortState </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
+
+ </span><span class="jsdoc-comment">// sort state can be single { field: xxx, direction : yyy}
+ // or { xxx=>ASC , yyy : DESC ..... }
+
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">mstate </span><span class="jsdoc-syntax">= {};
+ </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.ds.multiSort</span><span class="jsdoc-syntax">) {
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">state </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.ds.getSortState</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">state</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
+ }
+ </span><span class="jsdoc-var">mstate</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">state.field</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-var">state.direction</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-comment">// FIXME... - this is not used here.. but might be elsewhere..
+ </span><span class="jsdoc-var">this.sortState </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">state</span><span class="jsdoc-syntax">;
+
+ } </span><span class="jsdoc-keyword">else </span><span class="jsdoc-syntax">{
+ </span><span class="jsdoc-var">mstate </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.ds.sortToggle</span><span class="jsdoc-syntax">;
+ }
+ </span><span class="jsdoc-comment">//remove existing sort classes..
+
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">sc </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.sortClasses</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">hds </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.el.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.headerSelector</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.removeClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">sc</span><span class="jsdoc-syntax">);
+
+ </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">f </span><span class="jsdoc-keyword">in </span><span class="jsdoc-var">mstate</span><span class="jsdoc-syntax">) {
+
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">sortColumn </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.cm.findColumnIndex</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">f</span><span class="jsdoc-syntax">);
+
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">sortColumn </span><span class="jsdoc-syntax">!= -1){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">sortDir </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">mstate</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">f</span><span class="jsdoc-syntax">];
+ </span><span class="jsdoc-var">hds.item</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">sortColumn</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.addClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">sc</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">sortDir </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">"DESC" </span><span class="jsdoc-syntax">? 1 : 0]);
+ }
+ }
+
+
+
+ },
+
+
+ </span><span class="jsdoc-var">handleHeaderClick </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">g</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">,</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){
+
+ </span><span class="jsdoc-var">Roo.log</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"header click"</span><span class="jsdoc-syntax">);
+
+ </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.isTouch</span><span class="jsdoc-syntax">) {
+ </span><span class="jsdoc-comment">// touch events on header are handled by context
+ </span><span class="jsdoc-var">this.handleHdCtx</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">g</span><span class="jsdoc-syntax">,</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">,</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
+ }
+
+
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.headersDisabled</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
+ }
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">dm </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">g.dataSource</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">cm </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">g.colModel</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">cm.isSortable</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">)){
+ </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
+ }
+ </span><span class="jsdoc-var">g.stopEditing</span><span class="jsdoc-syntax">();
+
+ </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">dm.multiSort</span><span class="jsdoc-syntax">) {
+ </span><span class="jsdoc-comment">// update the sortOrder
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">so </span><span class="jsdoc-syntax">= [];
+ </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= 0; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">< </span><span class="jsdoc-var">cm.config.length</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++ ) {
+
+ </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">((</span><span class="jsdoc-keyword">typeof</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">dm.sortToggle</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">cm.config</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.dataIndex</span><span class="jsdoc-syntax">]) == </span><span class="jsdoc-string">'undefined'</span><span class="jsdoc-syntax">) && (</span><span class="jsdoc-var">index </span><span class="jsdoc-syntax">!= </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">)) {
+ </span><span class="jsdoc-keyword">continue</span><span class="jsdoc-syntax">; </span><span class="jsdoc-comment">// dont' bother, it's not in sort list or being set.
+ </span><span class="jsdoc-syntax">}
+
+ </span><span class="jsdoc-var">so.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cm.config</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.dataIndex</span><span class="jsdoc-syntax">);
+ };
+ </span><span class="jsdoc-var">dm.sortOrder </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">so</span><span class="jsdoc-syntax">;
+ }
+
+
+ </span><span class="jsdoc-var">dm.sort</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cm.getDataIndex</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">));
+ },
+
+
+ </span><span class="jsdoc-var">destroy </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.colMenu</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">this.colMenu.removeAll</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-var">Roo.menu.MenuMgr.unregister</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.colMenu</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.colMenu.getEl</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.remove</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-keyword">delete </span><span class="jsdoc-var">this.colMenu</span><span class="jsdoc-syntax">;
+ }
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.hmenu</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">this.hmenu.removeAll</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-var">Roo.menu.MenuMgr.unregister</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.hmenu</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.hmenu.getEl</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.remove</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-keyword">delete </span><span class="jsdoc-var">this.hmenu</span><span class="jsdoc-syntax">;
+ }
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.grid.enableColumnMove</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">dds </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.dd.DDM.ids</span><span class="jsdoc-syntax">[</span><span class="jsdoc-string">'gridHeader' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.grid.getGridEl</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.id</span><span class="jsdoc-syntax">];
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">dds</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">dd </span><span class="jsdoc-keyword">in </span><span class="jsdoc-var">dds</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">dds</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">dd</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.config.isTarget </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">dds</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">dd</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.dragElId</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">elid </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">dds</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">dd</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.dragElId</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">dds</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">dd</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.unreg</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">elid</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.remove</span><span class="jsdoc-syntax">();
+ } </span><span class="jsdoc-keyword">else if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">dds</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">dd</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.config.isTarget</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">dds</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">dd</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.proxyTop.remove</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-var">dds</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">dd</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.proxyBottom.remove</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-var">dds</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">dd</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.unreg</span><span class="jsdoc-syntax">();
+ }
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.dd.DDM.locationCache</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">dd</span><span class="jsdoc-syntax">]){
+ </span><span class="jsdoc-keyword">delete </span><span class="jsdoc-var">Roo.dd.DDM.locationCache</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">dd</span><span class="jsdoc-syntax">];
+ }
+ }
+ </span><span class="jsdoc-keyword">delete </span><span class="jsdoc-var">Roo.dd.DDM.ids</span><span class="jsdoc-syntax">[</span><span class="jsdoc-string">'gridHeader' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.grid.getGridEl</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.id</span><span class="jsdoc-syntax">];
+ }
+ }
+ </span><span class="jsdoc-var">Roo.util.CSS.removeStyleSheet</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.idToCssName</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.grid.id</span><span class="jsdoc-syntax">) + </span><span class="jsdoc-string">'-cssrules'</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.bind</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">Roo.EventManager.removeResizeListener</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.onWindowResize</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+ },
+
+ </span><span class="jsdoc-var">handleLockChange </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
+ </span><span class="jsdoc-var">this.refresh</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
+ },
+
+ </span><span class="jsdoc-var">onDenyColumnLock </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
+
+ },
+
+ </span><span class="jsdoc-var">onDenyColumnHide </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
+
+ },
+
+ </span><span class="jsdoc-var">handleHdMenuClick </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">item</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">index </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.hdCtxIndex</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cm </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.cm</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">ds </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.ds</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">switch</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">item.id</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">"asc"</span><span class="jsdoc-syntax">:
+ </span><span class="jsdoc-var">ds.sort</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cm.getDataIndex</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">), </span><span class="jsdoc-string">"ASC"</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">"desc"</span><span class="jsdoc-syntax">:
+ </span><span class="jsdoc-var">ds.sort</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cm.getDataIndex</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">), </span><span class="jsdoc-string">"DESC"</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">"lock"</span><span class="jsdoc-syntax">:
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">lc </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cm.getLockedCount</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cm.getColumnCount</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">) <= </span><span class="jsdoc-var">lc</span><span class="jsdoc-syntax">+1){
+ </span><span class="jsdoc-var">this.onDenyColumnLock</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
+ }
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">lc </span><span class="jsdoc-syntax">!= </span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">cm.setLocked</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">cm.moveColumn</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">lc</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.grid.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"columnmove"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">lc</span><span class="jsdoc-syntax">);
+ }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
+ </span><span class="jsdoc-var">cm.setLocked</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
+ }
+ </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">"unlock"</span><span class="jsdoc-syntax">:
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">lc </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cm.getLockedCount</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">((</span><span class="jsdoc-var">lc</span><span class="jsdoc-syntax">-1) != </span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">cm.setLocked</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">cm.moveColumn</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">lc</span><span class="jsdoc-syntax">-1);
+ </span><span class="jsdoc-var">this.grid.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"columnmove"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">lc</span><span class="jsdoc-syntax">-1);
+ }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
+ </span><span class="jsdoc-var">cm.setLocked</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">);
+ }
+ </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">'wider'</span><span class="jsdoc-syntax">: </span><span class="jsdoc-comment">// used to expand cols on touch..
+ </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">'narrow'</span><span class="jsdoc-syntax">:
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cw </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cm.getColumnWidth</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">cw </span><span class="jsdoc-syntax">+= (</span><span class="jsdoc-var">item.id </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">'wider' </span><span class="jsdoc-syntax">? 1 : -1) * 50;
+ </span><span class="jsdoc-var">cw </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Math.max</span><span class="jsdoc-syntax">(0, </span><span class="jsdoc-var">cw</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">cw </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Math.min</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cw</span><span class="jsdoc-syntax">,4000);
+ </span><span class="jsdoc-var">cm.setColumnWidth</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">cw</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
+
+ </span><span class="jsdoc-keyword">default</span><span class="jsdoc-syntax">:
+ </span><span class="jsdoc-var">index </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cm.getIndexById</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">item.id.substr</span><span class="jsdoc-syntax">(4));
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">index </span><span class="jsdoc-syntax">!= -1){
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">item.checked </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">cm.getColumnCount</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">) <= 1){
+ </span><span class="jsdoc-var">this.onDenyColumnHide</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-keyword">return false</span><span class="jsdoc-syntax">;
+ }
+ </span><span class="jsdoc-var">cm.setHidden</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">item.checked</span><span class="jsdoc-syntax">);
+ }
+ }
+ </span><span class="jsdoc-keyword">return true</span><span class="jsdoc-syntax">;
+ },
+
+ </span><span class="jsdoc-var">beforeColMenuShow </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cm </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.cm</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">colCount </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cm.getColumnCount</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-var">this.colMenu.removeAll</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= 0; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">< </span><span class="jsdoc-var">colCount</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++){
+ </span><span class="jsdoc-var">this.colMenu.add</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.menu.CheckItem</span><span class="jsdoc-syntax">({
+ </span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"col-"</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">cm.getColumnId</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">),
+ </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">cm.getColumnHeader</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">),
+ </span><span class="jsdoc-var">checked</span><span class="jsdoc-syntax">: !</span><span class="jsdoc-var">cm.isHidden</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">),
+ </span><span class="jsdoc-var">hideOnClick</span><span class="jsdoc-syntax">:</span><span class="jsdoc-keyword">false
+ </span><span class="jsdoc-syntax">}));
+ }
+ },
+
+ </span><span class="jsdoc-var">handleHdCtx </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">g</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">e.stopEvent</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">hd </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getHeaderCell</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.hdCtxIndex </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ms </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.hmenu.items</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">cm </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.cm</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">ms.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"asc"</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.setDisabled</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">cm.isSortable</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">));
+ </span><span class="jsdoc-var">ms.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"desc"</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.setDisabled</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">cm.isSortable</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">));
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.grid.enableColLock </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">ms.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"lock"</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.setDisabled</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cm.isLocked</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">));
+ </span><span class="jsdoc-var">ms.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"unlock"</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.setDisabled</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">cm.isLocked</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">));
+ }
+ </span><span class="jsdoc-var">this.hmenu.show</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">hd</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"tl-bl"</span><span class="jsdoc-syntax">);
+ },
+
+ </span><span class="jsdoc-var">handleHdOver </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">hd </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.findHeaderCell</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e.getTarget</span><span class="jsdoc-syntax">());
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">hd </span><span class="jsdoc-syntax">&& !</span><span class="jsdoc-var">this.headersDisabled</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.grid.colModel.isSortable</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.getCellIndex</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">hd</span><span class="jsdoc-syntax">))){
+ </span><span class="jsdoc-var">this.fly</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">hd</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.addClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"x-grid-hd-over"</span><span class="jsdoc-syntax">);
+ }
+ }
+ },
+
+ </span><span class="jsdoc-var">handleHdOut </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">hd </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.findHeaderCell</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e.getTarget</span><span class="jsdoc-syntax">());
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">hd</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">this.fly</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">hd</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.removeClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"x-grid-hd-over"</span><span class="jsdoc-syntax">);
+ }
+ },
+
+ </span><span class="jsdoc-var">handleSplitDblClick </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">t</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getCellIndex</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">t</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.grid.enableColumnResize </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-keyword">false </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">this.cm.isResizable</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">) && !</span><span class="jsdoc-var">this.cm.isFixed</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">)){
+ </span><span class="jsdoc-var">this.autoSizeColumn</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.layout</span><span class="jsdoc-syntax">();
+ }
+ },
+
+ </span><span class="jsdoc-var">render </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
+
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cm </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.cm</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">colCount </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cm.getColumnCount</span><span class="jsdoc-syntax">();
+
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.grid.monitorWindowResize </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">Roo.EventManager.onWindowResize</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.onWindowResize</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
+ }
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">header </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.renderHeaders</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">body </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.templates.body.apply</span><span class="jsdoc-syntax">({</span><span class="jsdoc-var">rows</span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">""</span><span class="jsdoc-syntax">});
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">html </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.templates.master.apply</span><span class="jsdoc-syntax">({
+ </span><span class="jsdoc-var">lockedBody</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">body</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-var">body</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">body</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-var">lockedHeader</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">header</span><span class="jsdoc-syntax">[0],
+ </span><span class="jsdoc-var">header</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">header</span><span class="jsdoc-syntax">[1]
+ });
+
+ </span><span class="jsdoc-comment">//this.updateColumns();
+
+ </span><span class="jsdoc-var">this.grid.getGridEl</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.dom.innerHTML </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">html</span><span class="jsdoc-syntax">;
+
+ </span><span class="jsdoc-var">this.initElements</span><span class="jsdoc-syntax">();
+
+ </span><span class="jsdoc-comment">// a kludge to fix the random scolling effect in webkit
+ </span><span class="jsdoc-var">this.el.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"scroll"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">() {
+ </span><span class="jsdoc-var">this.el.dom.scrollTop</span><span class="jsdoc-syntax">=0; </span><span class="jsdoc-comment">// hopefully not recursive..
+ </span><span class="jsdoc-syntax">},</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+
+ </span><span class="jsdoc-var">this.scroller.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"scroll"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.handleScroll</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.lockedBody.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"mousewheel"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.handleWheel</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.mainBody.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"mousewheel"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.handleWheel</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+
+ </span><span class="jsdoc-var">this.mainHd.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"mouseover"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.handleHdOver</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.mainHd.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"mouseout"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.handleHdOut</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.mainHd.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"dblclick"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.handleSplitDblClick</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">,
+ {</span><span class="jsdoc-var">delegate</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"."</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">this.splitClass</span><span class="jsdoc-syntax">});
+
+ </span><span class="jsdoc-var">this.lockedHd.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"mouseover"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.handleHdOver</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.lockedHd.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"mouseout"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.handleHdOut</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.lockedHd.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"dblclick"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.handleSplitDblClick</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">,
+ {</span><span class="jsdoc-var">delegate</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"."</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">this.splitClass</span><span class="jsdoc-syntax">});
+
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.grid.enableColumnResize </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-keyword">false </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">Roo.grid.SplitDragZone</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.grid.SplitDragZone</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.grid</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.lockedHd.dom</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.mainHd.dom</span><span class="jsdoc-syntax">);
+ }
+
+ </span><span class="jsdoc-var">this.updateSplitters</span><span class="jsdoc-syntax">();
+
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.grid.enableColumnMove </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">Roo.grid.HeaderDragZone</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.grid.HeaderDragZone</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.grid</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.lockedHd.dom</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.mainHd.dom</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.grid.HeaderDropZone</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.grid</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.lockedHd.dom</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.mainHd.dom</span><span class="jsdoc-syntax">);
+ }
+
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.grid.enableCtxMenu </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-keyword">false </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">Roo.menu.Menu</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">this.hmenu </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.menu.Menu</span><span class="jsdoc-syntax">({</span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.grid.id </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">"-hctx"</span><span class="jsdoc-syntax">});
+ </span><span class="jsdoc-var">this.hmenu.add</span><span class="jsdoc-syntax">(
+ {</span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">"asc"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.sortAscText</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"xg-hmenu-sort-asc"</span><span class="jsdoc-syntax">},
+ {</span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">"desc"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.sortDescText</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"xg-hmenu-sort-desc"</span><span class="jsdoc-syntax">}
+ );
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.grid.enableColLock </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">this.hmenu.add</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'-'</span><span class="jsdoc-syntax">,
+ {</span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">"lock"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.lockText</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"xg-hmenu-lock"</span><span class="jsdoc-syntax">},
+ {</span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">"unlock"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.unlockText</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"xg-hmenu-unlock"</span><span class="jsdoc-syntax">}
+ );
+ }
+ </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.isTouch</span><span class="jsdoc-syntax">) {
+ </span><span class="jsdoc-var">this.hmenu.add</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'-'</span><span class="jsdoc-syntax">,
+ {</span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">"wider"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.columnsWiderText</span><span class="jsdoc-syntax">},
+ {</span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">"narrow"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.columnsNarrowText </span><span class="jsdoc-syntax">}
+ );
+
+
+ }
+
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.grid.enableColumnHide </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">){
+
+ </span><span class="jsdoc-var">this.colMenu </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.menu.Menu</span><span class="jsdoc-syntax">({</span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">:</span><span class="jsdoc-var">this.grid.id </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">"-hcols-menu"</span><span class="jsdoc-syntax">});
+ </span><span class="jsdoc-var">this.colMenu.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"beforeshow"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.beforeColMenuShow</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.colMenu.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"itemclick"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.handleHdMenuClick</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+
+ </span><span class="jsdoc-var">this.hmenu.add</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'-'</span><span class="jsdoc-syntax">,
+ {</span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">"columns"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.columnsText</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">menu</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.colMenu</span><span class="jsdoc-syntax">}
+ );
+ }
+ </span><span class="jsdoc-var">this.hmenu.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"itemclick"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.handleHdMenuClick</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+
+ </span><span class="jsdoc-var">this.grid.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"headercontextmenu"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.handleHdCtx</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+ }
+
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">((</span><span class="jsdoc-var">this.grid.enableDragDrop </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">this.grid.enableDrag</span><span class="jsdoc-syntax">) && </span><span class="jsdoc-var">Roo.grid.GridDragZone</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">this.dd </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.grid.GridDragZone</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.grid</span><span class="jsdoc-syntax">, {
+ </span><span class="jsdoc-var">ddGroup </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.grid.ddGroup </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-string">'GridDD'
+ </span><span class="jsdoc-syntax">});
+
+ }
+
+ </span><span class="jsdoc-comment">/*
+ for(var i = 0; i < colCount; i++){
+ if(cm.isHidden(i)){
+ this.hideColumn(i);
+ }
+ if(cm.config[i].align){
+ this.css.updateRule(this.colSelector + i, "textAlign", cm.config[i].align);
+ this.css.updateRule(this.hdSelector + i, "textAlign", cm.config[i].align);
+ }
+ }*/
+
+ </span><span class="jsdoc-var">this.updateHeaderSortState</span><span class="jsdoc-syntax">();
+
+ </span><span class="jsdoc-var">this.beforeInitialResize</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-var">this.layout</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
+
+ </span><span class="jsdoc-comment">// two part rendering gives faster view to the user
+ </span><span class="jsdoc-var">this.renderPhase2.defer</span><span class="jsdoc-syntax">(1, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+ },
+
+ </span><span class="jsdoc-var">renderPhase2 </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
+ </span><span class="jsdoc-comment">// render the rows now
+ </span><span class="jsdoc-var">this.refresh</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.grid.autoSizeColumns</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">this.autoSizeColumns</span><span class="jsdoc-syntax">();
+ }
+ },
+
+ </span><span class="jsdoc-var">beforeInitialResize </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
+
+ },
+
+ </span><span class="jsdoc-var">onColumnSplitterMoved </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">w</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">this.userResized </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cm </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.grid.colModel</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">cm.setColumnWidth</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">w</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cid </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cm.getColumnId</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.css.updateRule</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.colSelector </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.idToCssName</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cid</span><span class="jsdoc-syntax">), </span><span class="jsdoc-string">"width"</span><span class="jsdoc-syntax">, (</span><span class="jsdoc-var">w</span><span class="jsdoc-syntax">-</span><span class="jsdoc-var">this.borderWidth</span><span class="jsdoc-syntax">) + </span><span class="jsdoc-string">"px"</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.css.updateRule</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.hdSelector </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.idToCssName</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cid</span><span class="jsdoc-syntax">), </span><span class="jsdoc-string">"width"</span><span class="jsdoc-syntax">, (</span><span class="jsdoc-var">w</span><span class="jsdoc-syntax">-</span><span class="jsdoc-var">this.borderWidth</span><span class="jsdoc-syntax">) + </span><span class="jsdoc-string">"px"</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.updateSplitters</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-var">this.layout</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-var">this.grid.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"columnresize"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">w</span><span class="jsdoc-syntax">);
+ },
+
+ </span><span class="jsdoc-var">syncRowHeights </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">startIndex</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">endIndex</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.grid.enableRowHeightSync </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-keyword">true </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">this.cm.getLockedCount</span><span class="jsdoc-syntax">() > 0){
+ </span><span class="jsdoc-var">startIndex </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">startIndex </span><span class="jsdoc-syntax">|| 0;
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">mrows </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getBodyTable</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.rows</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">lrows </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getLockedTable</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.rows</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">len </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">mrows.length</span><span class="jsdoc-syntax">-1;
+ </span><span class="jsdoc-var">endIndex </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Math.min</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">endIndex </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">len</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">len</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">startIndex</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax"><= </span><span class="jsdoc-var">endIndex</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">m </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">mrows</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">], </span><span class="jsdoc-var">l </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">lrows</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">];
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">h </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Math.max</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">m.offsetHeight</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">l.offsetHeight</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">m.style.height </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">l.style.height </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">h </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">"px"</span><span class="jsdoc-syntax">;
+ }
+ }
+ },
+
+ </span><span class="jsdoc-var">layout </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">initialRender</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">is2ndPass</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">g </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.grid</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">auto </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">g.autoHeight</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">scrollOffset </span><span class="jsdoc-syntax">= 16;
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">c </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">g.getGridEl</span><span class="jsdoc-syntax">(), </span><span class="jsdoc-var">cm </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.cm</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-var">expandCol </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">g.autoExpandColumn</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-var">gv </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-comment">//c.beginMeasure();
+
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">c.dom.offsetWidth</span><span class="jsdoc-syntax">){ </span><span class="jsdoc-comment">// display:none?
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">initialRender</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">this.lockedWrap.show</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-var">this.mainWrap.show</span><span class="jsdoc-syntax">();
+ }
+ </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
+ }
+
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">hasLock </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.cm.isLocked</span><span class="jsdoc-syntax">(0);
+
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">tbh </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.headerPanel.getHeight</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">bbh </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.footerPanel.getHeight</span><span class="jsdoc-syntax">();
+
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">auto</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ch </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getBodyTable</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.offsetHeight </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">tbh </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">bbh </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.mainHd.getHeight</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">newHeight </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">ch </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">c.getBorderWidth</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"tb"</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">g.maxHeight</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">newHeight </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Math.min</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">g.maxHeight</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">newHeight</span><span class="jsdoc-syntax">);
+ }
+ </span><span class="jsdoc-var">c.setHeight</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">newHeight</span><span class="jsdoc-syntax">);
+ }
+
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">g.autoWidth</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">c.setWidth</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cm.getTotalWidth</span><span class="jsdoc-syntax">()+</span><span class="jsdoc-var">c.getBorderWidth</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'lr'</span><span class="jsdoc-syntax">));
+ }
+
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">s </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.scroller</span><span class="jsdoc-syntax">;
+
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">csize </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">c.getSize</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
+
+ </span><span class="jsdoc-var">this.el.setSize</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">csize.width</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">csize.height</span><span class="jsdoc-syntax">);
+
+ </span><span class="jsdoc-var">this.headerPanel.setWidth</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">csize.width</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.footerPanel.setWidth</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">csize.width</span><span class="jsdoc-syntax">);
+
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">hdHeight </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.mainHd.getHeight</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">vw </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">csize.width</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">vh </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">csize.height </span><span class="jsdoc-syntax">- (</span><span class="jsdoc-var">tbh </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">bbh</span><span class="jsdoc-syntax">);
+
+ </span><span class="jsdoc-var">s.setSize</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">vw</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">vh</span><span class="jsdoc-syntax">);
+
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">bt </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getBodyTable</span><span class="jsdoc-syntax">();
+
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cm.getLockedCount</span><span class="jsdoc-syntax">() == </span><span class="jsdoc-var">cm.config.length</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">bt </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getLockedTable</span><span class="jsdoc-syntax">();
+ }
+
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ltWidth </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">hasLock </span><span class="jsdoc-syntax">?
+ </span><span class="jsdoc-var">Math.max</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.getLockedTable</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.offsetWidth</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.lockedHd.dom.firstChild.offsetWidth</span><span class="jsdoc-syntax">) : 0;
+
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">scrollHeight </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">bt.offsetHeight</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">scrollWidth </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">ltWidth </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">bt.offsetWidth</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">vscroll </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">hscroll </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
+
+ </span><span class="jsdoc-var">this.scrollSizer.setSize</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">scrollWidth</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">scrollHeight</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">hdHeight</span><span class="jsdoc-syntax">);
+
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">lw </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.lockedWrap</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">mw </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.mainWrap</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">lb </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.lockedBody</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">mb </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.mainBody</span><span class="jsdoc-syntax">;
+
+ </span><span class="jsdoc-var">setTimeout</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">t </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">s.dom.offsetTop</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">w </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">s.dom.clientWidth</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-var">h </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">s.dom.clientHeight</span><span class="jsdoc-syntax">;
+
+ </span><span class="jsdoc-var">lw.setTop</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">t</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">lw.setSize</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">ltWidth</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">h</span><span class="jsdoc-syntax">);
+
+ </span><span class="jsdoc-var">mw.setLeftTop</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">ltWidth</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">t</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">mw.setSize</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">w</span><span class="jsdoc-syntax">-</span><span class="jsdoc-var">ltWidth</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">h</span><span class="jsdoc-syntax">);
+
+ </span><span class="jsdoc-var">lb.setHeight</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">h</span><span class="jsdoc-syntax">-</span><span class="jsdoc-var">hdHeight</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">mb.setHeight</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">h</span><span class="jsdoc-syntax">-</span><span class="jsdoc-var">hdHeight</span><span class="jsdoc-syntax">);
+
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">is2ndPass </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-keyword">true </span><span class="jsdoc-syntax">&& !</span><span class="jsdoc-var">gv.userResized </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">expandCol</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-comment">// high speed resize without full column calculation
+
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ci </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cm.getIndexById</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">expandCol</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">ci </span><span class="jsdoc-syntax">< 0) {
+ </span><span class="jsdoc-var">ci </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cm.findColumnIndex</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">expandCol</span><span class="jsdoc-syntax">);
+ }
+ </span><span class="jsdoc-var">ci </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Math.max</span><span class="jsdoc-syntax">(0, </span><span class="jsdoc-var">ci</span><span class="jsdoc-syntax">); </span><span class="jsdoc-comment">// make sure it's got at least the first col.
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">expandId </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cm.getColumnId</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">ci</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">tw </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cm.getTotalWidth</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">currentWidth </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cm.getColumnWidth</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">ci</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cw </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Math.min</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Math.max</span><span class="jsdoc-syntax">(((</span><span class="jsdoc-var">w</span><span class="jsdoc-syntax">-</span><span class="jsdoc-var">tw</span><span class="jsdoc-syntax">)+</span><span class="jsdoc-var">currentWidth</span><span class="jsdoc-syntax">-2)-</span><span class="jsdoc-comment">/*scrollbar*/</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">w </span><span class="jsdoc-syntax"><= </span><span class="jsdoc-var">s.dom.offsetWidth </span><span class="jsdoc-syntax">? 0 : 18), </span><span class="jsdoc-var">g.autoExpandMin</span><span class="jsdoc-syntax">), </span><span class="jsdoc-var">g.autoExpandMax</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">currentWidth </span><span class="jsdoc-syntax">!= </span><span class="jsdoc-var">cw</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">cm.setColumnWidth</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">ci</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">cw</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">gv.css.updateRule</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">gv.colSelector</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">gv.idToCssName</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">expandId</span><span class="jsdoc-syntax">), </span><span class="jsdoc-string">"width"</span><span class="jsdoc-syntax">, (</span><span class="jsdoc-var">cw </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">gv.borderWidth</span><span class="jsdoc-syntax">) + </span><span class="jsdoc-string">"px"</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">gv.css.updateRule</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">gv.hdSelector</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">gv.idToCssName</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">expandId</span><span class="jsdoc-syntax">), </span><span class="jsdoc-string">"width"</span><span class="jsdoc-syntax">, (</span><span class="jsdoc-var">cw </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">gv.borderWidth</span><span class="jsdoc-syntax">) + </span><span class="jsdoc-string">"px"</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">gv.updateSplitters</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-var">gv.layout</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
+ }
+ }
+
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">initialRender</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">lw.show</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-var">mw.show</span><span class="jsdoc-syntax">();
+ }
+ </span><span class="jsdoc-comment">//c.endMeasure();
+ </span><span class="jsdoc-syntax">}, 10);
+ },
+
+ </span><span class="jsdoc-var">onWindowResize </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.grid.monitorWindowResize </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">this.grid.autoHeight</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
+ }
+ </span><span class="jsdoc-var">this.layout</span><span class="jsdoc-syntax">();
+ },
+
+ </span><span class="jsdoc-var">appendFooter </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">parentEl</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">return null</span><span class="jsdoc-syntax">;
+ },
+
+ </span><span class="jsdoc-var">sortAscText </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Sort Ascending"</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-var">sortDescText </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Sort Descending"</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-var">lockText </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Lock Column"</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-var">unlockText </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Unlock Column"</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-var">columnsText </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Columns"</span><span class="jsdoc-syntax">,
+
+ </span><span class="jsdoc-var">columnsWiderText </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Wider"</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-var">columnsNarrowText </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Thinner"
+</span><span class="jsdoc-syntax">});
+
+
+</span><span class="jsdoc-var">Roo.grid.GridView.ColumnDragZone </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">grid</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">hd</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">Roo.grid.GridView.ColumnDragZone.superclass.constructor.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">grid</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">hd</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">this.proxy.el.addClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'x-grid3-col-dd'</span><span class="jsdoc-syntax">);
+};
+
+</span><span class="jsdoc-var">Roo.extend</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.grid.GridView.ColumnDragZone</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">Roo.grid.HeaderDragZone</span><span class="jsdoc-syntax">, {
+ </span><span class="jsdoc-var">handleMouseDown </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){
+
+ },
+
+ </span><span class="jsdoc-var">callHandleMouseDown </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">Roo.grid.GridView.ColumnDragZone.superclass.handleMouseDown.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">);
+ }
+});
+</span></code></body></html>
\ No newline at end of file