Add frontend assets and plugin bundles
Add the legacy frontend themes, scripts, and plugin assets required by the main SPOTA interfaces.
This commit is contained in:
215
assets/plugins/jqGrid/src/grid.import.js
Normal file
215
assets/plugins/jqGrid/src/grid.import.js
Normal file
@@ -0,0 +1,215 @@
|
||||
/*jshint eqeqeq:false, eqnull:true, devel:true */
|
||||
/*global jQuery, xmlJsonClass */
|
||||
(function($){
|
||||
/*
|
||||
* jqGrid extension for constructing Grid Data from external file
|
||||
* Tony Tomov tony@trirand.com
|
||||
* http://trirand.com/blog/
|
||||
* Dual licensed under the MIT and GPL licenses:
|
||||
* http://www.opensource.org/licenses/mit-license.php
|
||||
* http://www.gnu.org/licenses/gpl-2.0.html
|
||||
**/
|
||||
|
||||
"use strict";
|
||||
$.jgrid.extend({
|
||||
jqGridImport : function(o) {
|
||||
o = $.extend({
|
||||
imptype : "xml", // xml, json, xmlstring, jsonstring
|
||||
impstring: "",
|
||||
impurl: "",
|
||||
mtype: "GET",
|
||||
impData : {},
|
||||
xmlGrid :{
|
||||
config : "roots>grid",
|
||||
data: "roots>rows"
|
||||
},
|
||||
jsonGrid :{
|
||||
config : "grid",
|
||||
data: "data"
|
||||
},
|
||||
ajaxOptions :{}
|
||||
}, o || {});
|
||||
return this.each(function(){
|
||||
var $t = this;
|
||||
var xmlConvert = function (xml,o) {
|
||||
var cnfg = $(o.xmlGrid.config,xml)[0];
|
||||
var xmldata = $(o.xmlGrid.data,xml)[0], jstr, jstr1, key;
|
||||
if(xmlJsonClass.xml2json && $.jgrid.parse) {
|
||||
jstr = xmlJsonClass.xml2json(cnfg," ");
|
||||
jstr = $.jgrid.parse(jstr);
|
||||
for(key in jstr) {
|
||||
if(jstr.hasOwnProperty(key)) {
|
||||
jstr1=jstr[key];
|
||||
}
|
||||
}
|
||||
if(xmldata) {
|
||||
// save the datatype
|
||||
var svdatatype = jstr.grid.datatype;
|
||||
jstr.grid.datatype = 'xmlstring';
|
||||
jstr.grid.datastr = xml;
|
||||
$($t).jqGrid( jstr1 ).jqGrid("setGridParam",{datatype:svdatatype});
|
||||
} else {
|
||||
$($t).jqGrid( jstr1 );
|
||||
}
|
||||
jstr = null;jstr1=null;
|
||||
} else {
|
||||
alert("xml2json or parse are not present");
|
||||
}
|
||||
};
|
||||
var jsonConvert = function (jsonstr,o){
|
||||
if (jsonstr && typeof jsonstr == 'string') {
|
||||
var _jsonparse = false;
|
||||
if($.jgrid.useJSON) {
|
||||
$.jgrid.useJSON = false;
|
||||
_jsonparse = true;
|
||||
}
|
||||
var json = $.jgrid.parse(jsonstr);
|
||||
if(_jsonparse) { $.jgrid.useJSON = true; }
|
||||
var gprm = json[o.jsonGrid.config];
|
||||
var jdata = json[o.jsonGrid.data];
|
||||
if(jdata) {
|
||||
var svdatatype = gprm.datatype;
|
||||
gprm.datatype = 'jsonstring';
|
||||
gprm.datastr = jdata;
|
||||
$($t).jqGrid( gprm ).jqGrid("setGridParam",{datatype:svdatatype});
|
||||
} else {
|
||||
$($t).jqGrid( gprm );
|
||||
}
|
||||
}
|
||||
};
|
||||
switch (o.imptype){
|
||||
case 'xml':
|
||||
$.ajax($.extend({
|
||||
url:o.impurl,
|
||||
type:o.mtype,
|
||||
data: o.impData,
|
||||
dataType:"xml",
|
||||
complete: function(xml,stat) {
|
||||
if(stat == 'success') {
|
||||
xmlConvert(xml.responseXML,o);
|
||||
$($t).triggerHandler("jqGridImportComplete", [xml, o]);
|
||||
if($.isFunction(o.importComplete)) {
|
||||
o.importComplete(xml);
|
||||
}
|
||||
}
|
||||
xml=null;
|
||||
}
|
||||
}, o.ajaxOptions));
|
||||
break;
|
||||
case 'xmlstring' :
|
||||
// we need to make just the conversion and use the same code as xml
|
||||
if(o.impstring && typeof o.impstring == 'string') {
|
||||
var xmld = $.jgrid.stringToDoc(o.impstring);
|
||||
if(xmld) {
|
||||
xmlConvert(xmld,o);
|
||||
$($t).triggerHandler("jqGridImportComplete", [xmld, o]);
|
||||
if($.isFunction(o.importComplete)) {
|
||||
o.importComplete(xmld);
|
||||
}
|
||||
o.impstring = null;
|
||||
}
|
||||
xmld = null;
|
||||
}
|
||||
break;
|
||||
case 'json':
|
||||
$.ajax($.extend({
|
||||
url:o.impurl,
|
||||
type:o.mtype,
|
||||
data: o.impData,
|
||||
dataType:"json",
|
||||
complete: function(json) {
|
||||
try {
|
||||
jsonConvert(json.responseText,o );
|
||||
$($t).triggerHandler("jqGridImportComplete", [json, o]);
|
||||
if($.isFunction(o.importComplete)) {
|
||||
o.importComplete(json);
|
||||
}
|
||||
} catch (ee){}
|
||||
json=null;
|
||||
}
|
||||
}, o.ajaxOptions ));
|
||||
break;
|
||||
case 'jsonstring' :
|
||||
if(o.impstring && typeof o.impstring == 'string') {
|
||||
jsonConvert(o.impstring,o );
|
||||
$($t).triggerHandler("jqGridImportComplete", [o.impstring, o]);
|
||||
if($.isFunction(o.importComplete)) {
|
||||
o.importComplete(o.impstring);
|
||||
}
|
||||
o.impstring = null;
|
||||
}
|
||||
break;
|
||||
}
|
||||
});
|
||||
},
|
||||
jqGridExport : function(o) {
|
||||
o = $.extend({
|
||||
exptype : "xmlstring",
|
||||
root: "grid",
|
||||
ident: "\t"
|
||||
}, o || {});
|
||||
var ret = null;
|
||||
this.each(function () {
|
||||
if(!this.grid) { return;}
|
||||
var key, gprm = $.extend(true, {},$(this).jqGrid("getGridParam"));
|
||||
// we need to check for:
|
||||
// 1.multiselect, 2.subgrid 3. treegrid and remove the unneded columns from colNames
|
||||
if(gprm.rownumbers) {
|
||||
gprm.colNames.splice(0,1);
|
||||
gprm.colModel.splice(0,1);
|
||||
}
|
||||
if(gprm.multiselect) {
|
||||
gprm.colNames.splice(0,1);
|
||||
gprm.colModel.splice(0,1);
|
||||
}
|
||||
if(gprm.subGrid) {
|
||||
gprm.colNames.splice(0,1);
|
||||
gprm.colModel.splice(0,1);
|
||||
}
|
||||
gprm.knv = null;
|
||||
if(gprm.treeGrid) {
|
||||
for (key in gprm.treeReader) {
|
||||
if(gprm.treeReader.hasOwnProperty(key)) {
|
||||
gprm.colNames.splice(gprm.colNames.length-1);
|
||||
gprm.colModel.splice(gprm.colModel.length-1);
|
||||
}
|
||||
}
|
||||
}
|
||||
switch (o.exptype) {
|
||||
case 'xmlstring' :
|
||||
ret = "<"+o.root+">"+xmlJsonClass.json2xml(gprm,o.ident)+"</"+o.root+">";
|
||||
break;
|
||||
case 'jsonstring' :
|
||||
ret = "{"+ xmlJsonClass.toJson(gprm,o.root,o.ident,false)+"}";
|
||||
if(gprm.postData.filters !== undefined) {
|
||||
ret=ret.replace(/filters":"/,'filters":');
|
||||
ret=ret.replace(/}]}"/,'}]}');
|
||||
}
|
||||
break;
|
||||
}
|
||||
});
|
||||
return ret;
|
||||
},
|
||||
excelExport : function(o) {
|
||||
o = $.extend({
|
||||
exptype : "remote",
|
||||
url : null,
|
||||
oper: "oper",
|
||||
tag: "excel",
|
||||
exportOptions : {}
|
||||
}, o || {});
|
||||
return this.each(function(){
|
||||
if(!this.grid) { return;}
|
||||
var url;
|
||||
if(o.exptype == "remote") {
|
||||
var pdata = $.extend({},this.p.postData);
|
||||
pdata[o.oper] = o.tag;
|
||||
var params = jQuery.param(pdata);
|
||||
if(o.url.indexOf("?") != -1) { url = o.url+"&"+params; }
|
||||
else { url = o.url+"?"+params; }
|
||||
window.location = url;
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
})(jQuery);
|
||||
Reference in New Issue
Block a user