Add version files and new GIF images for UI components
This commit is contained in:
110
themes/sources4.0/dhtmlxGrid/codebase/ext/dhtmlxgrid_undo.js
Normal file
110
themes/sources4.0/dhtmlxGrid/codebase/ext/dhtmlxgrid_undo.js
Normal file
@ -0,0 +1,110 @@
|
||||
/*
|
||||
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
|
||||
*/
|
||||
|
||||
/**
|
||||
* @desc: enable Undo/Redo functionality in grid
|
||||
* @type: public
|
||||
* @edition: Professional
|
||||
*/
|
||||
dhtmlXGridObject.prototype.enableUndoRedo = function()
|
||||
{
|
||||
var self = this;
|
||||
var func = function() {return self._onEditUndoRedo.apply(self,arguments);}
|
||||
this.attachEvent("onEditCell", func);
|
||||
var func2 = function(a,b,c) {return self._onEditUndoRedo.apply(self,[2,a,b,(c?1:0),(c?0:1)]);}
|
||||
this.attachEvent("onCheckbox", func2);
|
||||
this._IsUndoRedoEnabled = true;
|
||||
this._UndoRedoData = [];
|
||||
this._UndoRedoPos = -1;
|
||||
}
|
||||
/**
|
||||
* @desc: disable Undo/Redo functionality in grid
|
||||
* @type: public
|
||||
* @edition: Professional
|
||||
*/
|
||||
dhtmlXGridObject.prototype.disableUndoRedo = function()
|
||||
{
|
||||
this._IsUndoRedoEnabled = false;
|
||||
this._UndoRedoData = [];
|
||||
this._UndoRedoPos = -1;
|
||||
}
|
||||
|
||||
dhtmlXGridObject.prototype._onEditUndoRedo = function(stage, row_id, cell_index, new_value, old_value)
|
||||
{
|
||||
if (this._IsUndoRedoEnabled && stage == 2 && old_value != new_value) {
|
||||
if (this._UndoRedoPos !== -1 && this._UndoRedoPos != ( this._UndoRedoData.length-1 ) ) {
|
||||
this._UndoRedoData = this._UndoRedoData.slice(0, this._UndoRedoPos+1);
|
||||
} else if (this._UndoRedoPos === -1 && this._UndoRedoData.length > 0) {
|
||||
this._UndoRedoData = [];
|
||||
}
|
||||
|
||||
var obj = { old_value:old_value,
|
||||
new_value:new_value,
|
||||
row_id:row_id,
|
||||
cell_index:cell_index
|
||||
};
|
||||
this._UndoRedoData.push(obj);
|
||||
this._UndoRedoPos++;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
/**
|
||||
* @desc: UnDo
|
||||
* @type: public
|
||||
* @edition: Professional
|
||||
*/
|
||||
dhtmlXGridObject.prototype.doUndo = function()
|
||||
{
|
||||
if (this._UndoRedoPos === -1)
|
||||
return false;
|
||||
var obj = this._UndoRedoData[this._UndoRedoPos--];
|
||||
var c=this.cells(obj.row_id, obj.cell_index);
|
||||
if (this.getColType(obj.cell_index)=="tree")
|
||||
c.setLabel(obj.old_value);
|
||||
else
|
||||
c.setValue(obj.old_value);
|
||||
|
||||
this.callEvent("onUndo", [obj.row_id]);
|
||||
}
|
||||
/**
|
||||
* @desc: ReDo
|
||||
* @type: public
|
||||
* @edition: Professional
|
||||
*/
|
||||
dhtmlXGridObject.prototype.doRedo = function()
|
||||
{
|
||||
if (this._UndoRedoPos == this._UndoRedoData.length-1)
|
||||
return false;
|
||||
var obj = this._UndoRedoData[++this._UndoRedoPos];
|
||||
this.cells(obj.row_id, obj.cell_index).setValue(obj.new_value);
|
||||
|
||||
this.callEvent("onUndo", [obj.row_id]);
|
||||
}
|
||||
/**
|
||||
* @desc: get length of available ReDo operations
|
||||
* @type: public
|
||||
* @edition: Professional
|
||||
*/
|
||||
dhtmlXGridObject.prototype.getRedo = function()
|
||||
{
|
||||
if (this._UndoRedoPos == this._UndoRedoData.length-1)
|
||||
return [];
|
||||
return this._UndoRedoData.slice(this._UndoRedoPos+1);
|
||||
}
|
||||
/**
|
||||
* @desc: get length of available UnDo operations
|
||||
* @type: public
|
||||
* @edition: Professional
|
||||
*/
|
||||
dhtmlXGridObject.prototype.getUndo = function()
|
||||
{
|
||||
if (this._UndoRedoPos == -1)
|
||||
return [];
|
||||
return this._UndoRedoData.slice(0, this._UndoRedoPos+1);
|
||||
}
|
||||
//(c)dhtmlx ltd. www.dhtmlx.com
|
||||
Reference in New Issue
Block a user