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,223 @@
/*
Product Name: dhtmlxVault
Version: 2.4
Edition: Standard
License: content of this file is covered by GPL. Usage outside GPL terms is prohibited. To obtain Commercial or Enterprise license contact sales@dhtmlx.com
Copyright UAB Dinamenta http://www.dhtmlx.com
*/
dhtmlXVaultObject.prototype.load = function(url, callback) { // load list of early uploaded files from server
if (this.conf.dataload_inited != true) {
this.conf.dataload_inited = true;
// check if not set - enable by the default
if (typeof(this.conf.dataload_progress) == "undefined") this.conf.dataload_progress = true;
// progress events
this.attachEvent("onXLS", this._progressOn);
this.attachEvent("onXLE", this._progressOff);
// use common data loading functionality,
// it will override current function after first call
window.dhx4._enableDataLoading(this, "_initObj", "_xmlToObj", "files", {data:true});
this.load.apply(this, arguments);
}
};
dhtmlXVaultObject.prototype.addFileRecord = function(file, status) { // add custom file record to list
if (status == null || {added: true, uploaded: true}[status] != true) return;
var id = window.dhx4.newId();
if (typeof(file.name) == "undefined" || file.name == null) file.name = "New File Record";
if (typeof(file.size) == "undefined" || file.size == null) file.size = false; // not set
this.file_data[id] = {file:{}};
this._addFileToList(id, file.name, file.size, status, 0);
if (status == "uploaded") {
if (typeof(file.serverName) == "undefined" && file.serverName == null) file.serverName = file.name;
this.conf.uploaded_files[id] = { realName: file.name, serverName: file.serverName };
if (this.conf.download_url.length > 0) this.list.updateFileNameSize(id, {download: true});
};
this.file_data[id] = {
name: file.name,
size: file.size,
state: status, // "added", "uploaded"
file: {},
custom: true, // required for custom record
fileData: file // will go to server
};
this.list.updateFileState(id, {state: status, str_done: this.strings.done});
if (this.conf.auto_start && !this.conf.uploading) this._uploadStart(true);
};
// uploading
dhtmlXVaultObject.prototype._cfOnUpload = function() {
if (this.cf_loader_id == null) return;
var id = this.cf_loader_id;
this.cf_loader_id = null;
dhx4.temp = null;
try {eval("dhx4.temp="+this.cf_loader.responseText);} catch(e){};
var r = dhx4.temp;
dhx4.temp = null;
try {
this.cf_loader.onreadystatechange = null;
this.cf_loader = null;
} catch(e){};
try {
delete this.cf_loader.onreadystatechange;
delete this.cf_loader;
} catch(e){};
if (r != null && typeof(r) == "object" && typeof(r.state) != "undefined" && r.state == true) {
if (this.file_data[id].custom == true && typeof(r.size) != "undefined") this._cfUpdateSize(id, r.size);
this._onUploadSuccess(id, r.name, undefined, r.extra);
} else {
this._onUploadFail(id, (r!=null&&r.extra!=null?r.extra:null));
}
r = null;
};
dhtmlXVaultObject.prototype._cfUpdateSize = function(id, size) {
this.file_data[id].size = size;
var nameSizeData = {
name: this.file_data[id].name,
size: this.file_data[id].size,
readableSize: this.readableSize(this.file_data[id].size||0)
};
var t = this;
window.setTimeout(function(){
t.list.updateFileNameSize(id, nameSizeData);
t = nameSizeData = null;
},100);
};
dhtmlXVaultObject.prototype._cfUploadStart = function(id) {
var postData = ["mode=custom"];
for (var a in this.file_data[id].fileData) postData.push(encodeURIComponent(a)+"="+encodeURIComponent(this.file_data[id].fileData[a]));
postData = postData.join("&");
var that = this;
this.cf_loader = (window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP"));
this.cf_loader.onreadystatechange = function() {
if (that.cf_loader.readyState == 4) {
if (that.cf_loader.status == 200) {
that._cfOnUpload();
} else if (that.cf_loader.status == 404) {
that._onUploadFail(that.cf_loader_id);
}
that = null;
}
}
if (window.dhx4.ajax.cache != true) postData += (postData.length>0?"&":"")+"dhxr"+new Date().getTime();
this.cf_loader_id = id;
this.cf_loader.open("POST", this.conf.url, true);
this.cf_loader.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
this.cf_loader.setRequestHeader("X-Requested-With", "XMLHttpRequest");
this.cf_loader.send(postData);
};
dhtmlXVaultObject.prototype._cfUploadStop = function() {
var id = this.cf_loader_id;
this.cf_loader_id = null;
this.cf_loader.abort();
this._onUploadAbort(id);
};
// data loading
dhtmlXVaultObject.prototype._initObj = function(data) {
for (var q=0; q<data.length; q++) this.addFileRecord(data[q], "uploaded");
};
dhtmlXVaultObject.prototype._xmlToObj = function(doc) {
var f = [];
if (!this.conf.xml_attrs) this.conf.xml_attrs = {name: "name", size: "size", serverName: "serverName"}; // xml_name:json_name
var t = doc.getElementsByTagName("files")[0];
for (var q=0; q<t.childNodes.length; q++) {
if (t.childNodes[q].tagName != null && String(t.childNodes[q].tagName).toLowerCase() == "file") {
var i = t.childNodes[q];
var r = {};
for (var a in this.conf.xml_attrs) {
if (i.getAttribute(a) != null) {
r[this.conf.xml_attrs[a]] = i.getAttribute(a);
}
}
f.push(r);
i = r = null;
}
}
return f;
};
// progress
dhtmlXVaultObject.prototype._progressOn = function() {
if (this.conf.dataload_progress == true) {
if (this.conf.progress_tm != null) window.clearTimeout(this.conf.progress_tm);
if (this.p_progress == null) {
this.p_progress = document.createElement("DIV");
this.p_progress.className = "dhx_vault_f_pr";
this.base.appendChild(this.p_progress);
// set sizes event
if (typeof(this.conf.progress_event) == "undefined") this.conf.progress_event = this.attachEvent("_onSetSizes", this._progressAdjust);
this._progressAdjust();
}
}
};
dhtmlXVaultObject.prototype._progressOff = function() {
var t = this;
if (this.conf.progress_tm != null) window.clearTimeout(this.conf.progress_tm);
this.conf.progress_tm = window.setTimeout(function(){
if (t.p_progress != null) {
t.p_progress.parentNode.removeChild(t.p_progress);
t.p_progress = null;
};
t = null;
}, 200);
};
dhtmlXVaultObject.prototype._progressAdjust = function() {
if (this.p_progress != null) {
this.p_progress.style.left = this.p_files.style.left;
this.p_progress.style.top = this.p_files.style.top;
this.p_progress.style.width = this.p_files.style.width;
this.p_progress.style.height = this.p_files.style.height;
}
};