1 <html><head><title>/home/edward/gitlive/roojs1/Roo/grid/AbstractGridView.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">/*
4 * Copyright(c) 2006-2007, Ext JS, LLC.
6 * Originally Released Under LGPL - original licence link has changed is not relivant.
9 * <script type="text/javascript">
12 </span><span class="jsdoc-var">Roo.grid.AbstractGridView </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
13 </span><span class="jsdoc-var">this.grid </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">;
15 </span><span class="jsdoc-var">this.events </span><span class="jsdoc-syntax">= {
16 </span><span class="jsdoc-string">"beforerowremoved" </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
17 </span><span class="jsdoc-string">"beforerowsinserted" </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
18 </span><span class="jsdoc-string">"beforerefresh" </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
19 </span><span class="jsdoc-string">"rowremoved" </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
20 </span><span class="jsdoc-string">"rowsinserted" </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
21 </span><span class="jsdoc-string">"rowupdated" </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
22 </span><span class="jsdoc-string">"refresh" </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true
23 </span><span class="jsdoc-syntax">};
24 </span><span class="jsdoc-var">Roo.grid.AbstractGridView.superclass.constructor.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
27 </span><span class="jsdoc-var">Roo.extend</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.grid.AbstractGridView</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">Roo.util.Observable</span><span class="jsdoc-syntax">, {
28 </span><span class="jsdoc-var">rowClass </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"x-grid-row"</span><span class="jsdoc-syntax">,
29 </span><span class="jsdoc-var">cellClass </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"x-grid-cell"</span><span class="jsdoc-syntax">,
30 </span><span class="jsdoc-var">tdClass </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"x-grid-td"</span><span class="jsdoc-syntax">,
31 </span><span class="jsdoc-var">hdClass </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"x-grid-hd"</span><span class="jsdoc-syntax">,
32 </span><span class="jsdoc-var">splitClass </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"x-grid-hd-split"</span><span class="jsdoc-syntax">,
34 </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">){
35 </span><span class="jsdoc-var">this.grid </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">grid</span><span class="jsdoc-syntax">;
36 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cid </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">;
37 </span><span class="jsdoc-var">this.colSelector </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">"#" </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">cid </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">" ." </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">;
38 </span><span class="jsdoc-var">this.tdSelector </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">"#" </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">cid </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">" ." </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.tdClass </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">"-"</span><span class="jsdoc-syntax">;
39 </span><span class="jsdoc-var">this.hdSelector </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">"#" </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">cid </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">" ." </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.hdClass </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">"-"</span><span class="jsdoc-syntax">;
40 </span><span class="jsdoc-var">this.splitSelector </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">"#" </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">cid </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-string">"-"</span><span class="jsdoc-syntax">;
43 </span><span class="jsdoc-var">getColumnRenderers </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
44 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">renderers </span><span class="jsdoc-syntax">= [];
45 </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">;
46 </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">();
47 </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">++){
48 </span><span class="jsdoc-var">renderers</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</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">);
50 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">renderers</span><span class="jsdoc-syntax">;
53 </span><span class="jsdoc-var">getColumnIds </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
54 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ids </span><span class="jsdoc-syntax">= [];
55 </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">;
56 </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">();
57 </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">++){
58 </span><span class="jsdoc-var">ids</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</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">);
60 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">ids</span><span class="jsdoc-syntax">;
63 </span><span class="jsdoc-var">getDataIndexes </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
64 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.indexMap</span><span class="jsdoc-syntax">){
65 </span><span class="jsdoc-var">this.indexMap </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.buildIndexMap</span><span class="jsdoc-syntax">();
67 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.indexMap.colToData</span><span class="jsdoc-syntax">;
70 </span><span class="jsdoc-var">getColumnIndexByDataIndex </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">dataIndex</span><span class="jsdoc-syntax">){
71 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.indexMap</span><span class="jsdoc-syntax">){
72 </span><span class="jsdoc-var">this.indexMap </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.buildIndexMap</span><span class="jsdoc-syntax">();
74 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.indexMap.dataToCol</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">dataIndex</span><span class="jsdoc-syntax">];
77 </span><span class="jsdoc-comment">/**
78 * Set a css style for a column dynamically.
79 * @param {Number} colIndex The index of the column
80 * @param {String} name The css property name
81 * @param {String} value The css value
83 </span><span class="jsdoc-var">setCSSStyle </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">name</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">value</span><span class="jsdoc-syntax">){
84 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">selector </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">"#" </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.grid.id </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">" .x-grid-col-" </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">colIndex</span><span class="jsdoc-syntax">;
85 </span><span class="jsdoc-var">Roo.util.CSS.updateRule</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">selector</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">name</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">value</span><span class="jsdoc-syntax">);
88 </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">){
89 </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.grid.id </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'-cssrules'</span><span class="jsdoc-syntax">;
90 </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">);
91 </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">++){
92 </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">);
93 </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-string">"}\n"</span><span class="jsdoc-syntax">,
94 </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}\n"</span><span class="jsdoc-syntax">,
95 </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}\n"</span><span class="jsdoc-syntax">,
96 </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}\n"</span><span class="jsdoc-syntax">);
98 </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">);
100 });</span></code></body></html>