Files
aportil/themes/sources4.0/dhtmlxGrid/codebase/ext/dhtmlxgrid_fast.js

56 lines
1.9 KiB
JavaScript

/*
Product Name: dhtmlxSuite
Version: 4.0.3
Edition: Professional
License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com
Copyright UAB Dinamenta http://www.dhtmlx.com
*/
//next function switch grid between fast and normal operation modes
//limitation - will not work for paging|smart_rendering|dynamic|split modes, most events will not be generated
/**
* @desc: start fast operation mode, in such mode events are not generated, some time consuming actions applied only once, which allow to increase performance
* @type: public
* @topic: 0
*/
dhtmlXGridObject.prototype.startFastOperations = function(){
this._disF=["setSizes","callEvent","_fixAlterCss","cells4","forEachRow", "_correctMonolite"];
this._disA=[];
for (var i = this._disF.length - 1; i >= 0; i--){
this._disA[i]=this[this._disF[i]]; this[this._disF[i]]=function(){return true};
};
this._cellCache=[];
this.cells4=function(cell){
var c=this._cellCache[cell._cellIndex]
if (!c){
c=this._cellCache[cell._cellIndex]=this._disA[3].apply(this,[cell]);
c.destructor=function(){return true;}
c.setCValue=function(val){c.cell.innerHTML=val;}
}
c.cell=cell;
c.combo=cell._combo||this.combos[cell._cellIndex];
return c;
}
}
/**
* @desc: turn off fast operation mode, need to be executed to normalize view.
* @type: public
* @topic: 0
*/
dhtmlXGridObject.prototype.stopFastOperations = function(){
if (!this._disF) return;
for (var i = this._disF.length - 1; i >= 0; i--){
this[this._disF[i]]=this._disA[i];
};
if (this._correctMonolite)
this._correctMonolite();
this.setSizes();
this.callEvent("onGridReconstructed",[]);
}
//(c)dhtmlx ltd. www.dhtmlx.com