1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- /*
- * Ext JS Library 2.0 Copyright(c) 2006-2007, Ext JS, LLC. licensing@extjs.com
- *
- * http://extjs.com/license
- */
- Ext.grid.AbstractGridView = function() {
- this.grid = null;
- this.events = {
- "beforerowremoved" : true,
- "beforerowsinserted" : true,
- "beforerefresh" : true,
- "rowremoved" : true,
- "rowsinserted" : true,
- "rowupdated" : true,
- "refresh" : true
- };
- Ext.grid.AbstractGridView.superclass.constructor.call(this);
- };
- Ext.extend(Ext.grid.AbstractGridView, Ext.util.Observable, {
- rowClass : "x-grid-row",
- cellClass : "x-grid-cell",
- tdClass : "x-grid-td",
- hdClass : "x-grid-hd",
- splitClass : "x-grid-hd-split",
- init : function(grid) {
- this.grid = grid;
- var cid = this.grid.getGridEl().id;
- this.colSelector = "#" + cid + " ." + this.cellClass + "-";
- this.tdSelector = "#" + cid + " ." + this.tdClass + "-";
- this.hdSelector = "#" + cid + " ." + this.hdClass + "-";
- this.splitSelector = "#" + cid + " ." + this.splitClass + "-";
- },
- getColumnRenderers : function() {
- var renderers = [];
- var cm = this.grid.colModel;
- var colCount = cm.getColumnCount();
- for (var i = 0; i < colCount; i++) {
- renderers[i] = cm.getRenderer(i);
- }
- return renderers;
- },
- getColumnIds : function() {
- var ids = [];
- var cm = this.grid.colModel;
- var colCount = cm.getColumnCount();
- for (var i = 0; i < colCount; i++) {
- ids[i] = cm.getColumnId(i);
- }
- return ids;
- },
- getDataIndexes : function() {
- if (!this.indexMap) {
- this.indexMap = this.buildIndexMap();
- }
- return this.indexMap.colToData;
- },
- getColumnIndexByDataIndex : function(dataIndex) {
- if (!this.indexMap) {
- this.indexMap = this.buildIndexMap();
- }
- return this.indexMap.dataToCol[dataIndex];
- },
- /**
- * Set a css style for a column dynamically.
- *
- * @param {Number}
- * colIndex The index of the column
- * @param {String}
- * name The css property name
- * @param {String}
- * value The css value
- */
- setCSSStyle : function(colIndex, name, value) {
- var selector = "#" + this.grid.id + " .x-grid-col-" + colIndex;
- Ext.util.CSS.updateRule(selector, name, value);
- },
- generateRules : function(cm) {
- var ruleBuf = [];
- for (var i = 0, len = cm.getColumnCount(); i < len; i++) {
- var cid = cm.getColumnId(i);
- ruleBuf.push(this.colSelector, cid, " {\n",
- cm.config[i].css, "}\n", this.tdSelector, cid,
- " {\n}\n", this.hdSelector, cid, " {\n}\n",
- this.splitSelector, cid, " {\n}\n");
- }
- return Ext.util.CSS.createStyleSheet(ruleBuf.join(""));
- }
- });
|