Add version files and new GIF images for UI components

This commit is contained in:
2025-04-03 06:26:44 +07:00
commit 663c28a2ea
5219 changed files with 772528 additions and 0 deletions

View File

@ -0,0 +1,213 @@
/*
Product Name: dhtmlxSuite
Version: 5.2.0
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
*/
dhtmlXGridObject.prototype.attachHeaderA=dhtmlXGridObject.prototype.attachHeader;
dhtmlXGridObject.prototype.attachHeader=function()
{
this.attachHeaderA.apply(this,arguments);
if (this._realfake) return true;
this.formAutoSubmit();
if (typeof(this.FormSubmitOnlyChanged)=="undefined")
this.submitOnlyChanged(true);
if (typeof(this._submitAR)=="undefined")
this.submitAddedRows(true);
var that=this;
this._added_rows=[];
this._deleted_rows=[];
this.attachEvent("onRowAdded",function(id){
that._added_rows.push(id);
that.forEachCell(id,function(a){ a.cell.wasChanged=true; })
return true;
});
this.attachEvent("onBeforeRowDeleted",function(id){
that._deleted_rows.push(id);
return true;
});
this.attachHeader=this.attachHeaderA;
}
dhtmlXGridObject.prototype.formAutoSubmit = function()
{
this.parentForm = this.detectParentFormPresent();
if (this.parentForm === false) {
return false;
}
if (this.formEventAttached)
return;
this.formInputs = new Array();
var self = this;
dhtmlxEvent(this.parentForm, 'submit', function() {if (self.entBox) self.parentFormOnSubmit();});
this.formEventAttached = true;
}
dhtmlXGridObject.prototype.parentFormOnSubmit = function()
{
this.formCreateInputCollection();
if (!this.callEvent("onBeforeFormSubmit",[])) return false;
}
/**
* @desc: include only changed rows in form submit
* @type: public
* @param: mode - {boolean} enable|disable mode
* @topic: 0
*/
dhtmlXGridObject.prototype.submitOnlyChanged = function(mode)
{
this.FormSubmitOnlyChanged = dhx4.s2b(mode);
}
dhtmlXGridObject.prototype.submitColumns=function(names){
if (typeof names == "string") names=names.split(this.delim);
this._submit_cols=names;
}
/**
* @desc: allows to define input name which will be used for data sending, name may contain next auto-replaced elements - GRID_ID - ID of grids container, ROW_ID - ID of row, ROW_INDEX - index of row, COLUMN_ID - id of column, COLUMN_INDEX - index of column
* @type: public
* @param: name - input name mask
* @topic: 0
*/
dhtmlXGridObject.prototype.setFieldName=function(mask){
mask=mask.replace(/\{GRID_ID\}/g,"'+a1+'");
mask=mask.replace(/\{ROW_ID\}/g,"'+a2+'");
mask=mask.replace(/\{ROW_INDEX\}/g,"'+this.getRowIndex(a2)+'");
mask=mask.replace(/\{COLUMN_INDEX\}/g,"'+a3+'");
mask=mask.replace(/\{COLUMN_ID\}/g,"'+this.getColumnId(a3)+'");
this._input_mask=Function("a1","a2","a3","return '"+mask+"';");
}
/**
* @desc: include serialized grid as part of form submit
* @type: public
* @param: mode - {boolean} enable|disable mode
* @topic: 0
*/
dhtmlXGridObject.prototype.submitSerialization = function(mode)
{
this.FormSubmitSerialization = dhx4.s2b(mode);
}
/**
* @desc: include additional data with info about which rows was added and which deleted, enabled by default
* @type: public
* @param: mode - {boolean} enable|disable mode
* @topic: 0
*/
dhtmlXGridObject.prototype.submitAddedRows = function(mode)
{
this._submitAR = dhx4.s2b(mode);
}
/**
* @desc: include only selected rows in form submit
* @type: public
* @param: mode - {boolean} enable|disable mode
* @topic: 0
*/
dhtmlXGridObject.prototype.submitOnlySelected = function(mode)
{
this.FormSubmitOnlySelected = dhx4.s2b(mode);
}
/**
* @desc: include only row's IDS in form submit
* @type: public
* @param: mode - {boolean} enable|disable mode
* @topic: 0
*/
dhtmlXGridObject.prototype.submitOnlyRowID = function(mode)
{
this.FormSubmitOnlyRowID = dhx4.s2b(mode);
}
dhtmlXGridObject.prototype.createFormInput = function(name,value){
var input = document.createElement('input');
input.type = 'hidden';
if (this._input_mask && (typeof name != "string"))
input.name=this._input_mask.apply(this,name);
else
input.name =((this.globalBox||this.entBox).id||'dhtmlXGrid')+'_'+name;
input.value = value;
this.parentForm.appendChild(input);
this.formInputs.push(input);
}
dhtmlXGridObject.prototype.createFormInputRow = function(r){
var id=(this.globalBox||this.entBox).id;
for (var j=0; j<this._cCount; j++){
var foo_cell = this.cells3(r, j);
if (((!this.FormSubmitOnlyChanged) || foo_cell.wasChanged()) && (!this._submit_cols || this._submit_cols[j]))
this.createFormInput(this._input_mask?[id,r.idd,j]:(r.idd+'_'+j),foo_cell.getValue());
}
}
dhtmlXGridObject.prototype.formCreateInputCollection = function()
{
if (this.parentForm == false) {
return false;
}
for (var i=0; i<this.formInputs.length; i++) {
this.parentForm.removeChild(this.formInputs[i]);
}
this.formInputs = new Array();
if (this.FormSubmitSerialization){
this.createFormInput("serialized",this.serialize());
} else if (this.FormSubmitOnlySelected){
//submit selected
if (this.FormSubmitOnlyRowID)
this.createFormInput("selected",this.getSelectedId());
else
for(var i=0;i<this.selectedRows.length;i++)
this.createFormInputRow(this.selectedRows[i]);
}
else{
//submit all
if (this._submitAR){
if (this._added_rows.length)
this.createFormInput("rowsadded",this._added_rows.join(","));
if (this._deleted_rows.length)
this.createFormInput("rowsdeleted",this._deleted_rows.join(","));
}
this.forEachRow(function(id){
if (this.getRowById(id) !== -1)
this.createFormInputRow(this.rowsAr[id]);
})
}
}
dhtmlXGridObject.prototype.detectParentFormPresent = function()
{
var parentForm = false;
var parent = this.entBox;
while(parent && parent.tagName && parent != document.body) {
if (parent.tagName.toLowerCase() == 'form') {
parentForm = parent;
break;
} else {
parent = parent.parentNode;
}
}
return parentForm;
}
//(c)dhtmlx ltd. www.dhtmlx.com