📄 cache-1236927416-7c522a496d168a80ecd0d532a9b09d62.javascript
字号:
if(this.id==rowid) {
ret = rc===true ? this : i;
return false;
}
});
return ret;
};
$.htmlDecode = function(value){
if(value==' ' || value==' ') {value = "";}
return !value ? value : String(value).replace(/&/g, "&").replace(/>/g, ">").replace(/</g, "<").replace(/"/g, '"');
};
return this.each( function() {
if(this.grid) {return;}
this.p = p ;
if(this.p.colNames.length === 0) {
for (var i=0;i<this.p.colModel.length;i++){
this.p.colNames[i] = this.p.colModel[i].label || this.p.colModel[i].name;
}
}
if( this.p.colNames.length !== this.p.colModel.length ) {
alert($.jgrid.errors.model);
return;
}
if(this.p.imgpath !== "" ) {this.p.imgpath += "/";}
$("<div class='loadingui' id=lui_"+this.id+"><div class='msgbox'>"+this.p.loadtext+"</div></div>").insertBefore(this);
$(this).attr({cellSpacing:"0",cellPadding:"0",border:"0"});
var ts = this,
bSR = $.isFunction(this.p.beforeSelectRow) ? this.p.beforeSelectRow :false,
onSelectRow = $.isFunction(this.p.onSelectRow) ? this.p.onSelectRow :false,
ondblClickRow = $.isFunction(this.p.ondblClickRow) ? this.p.ondblClickRow :false,
onSortCol = $.isFunction(this.p.onSortCol) ? this.p.onSortCol : false,
loadComplete = $.isFunction(this.p.loadComplete) ? this.p.loadComplete : false,
loadError = $.isFunction(this.p.loadError) ? this.p.loadError : false,
loadBeforeSend = $.isFunction(this.p.loadBeforeSend) ? this.p.loadBeforeSend : false,
onRightClickRow = $.isFunction(this.p.onRightClickRow) ? this.p.onRightClickRow : false,
afterInsRow = $.isFunction(this.p.afterInsertRow) ? this.p.afterInsertRow : false,
onHdCl = $.isFunction(this.p.onHeaderClick) ? this.p.onHeaderClick : false,
beReq = $.isFunction(this.p.beforeRequest) ? this.p.beforeRequest : false,
onSC = $.isFunction(this.p.onCellSelect) ? this.p.onCellSelect : false,
sortkeys = ["shiftKey","altKey","ctrlKey"];
if ($.inArray(ts.p.multikey,sortkeys) == -1 ) {ts.p.multikey = false;}
var IntNum = function(val,defval) {
val = parseInt(val,10);
if (isNaN(val)) { return (defval) ? defval : 0;}
else {return val;}
};
var formatCol = function (elem, pos){
var ral = ts.p.colModel[pos].align;
if(ral) { $(elem).css("text-align",ral);}
if(ts.p.colModel[pos].hidden) {$(elem).css("display","none");}
};
var resizeFirstRow = function (t,er){
$("tbody tr:eq("+er+") td",t).each( function( k ) {
$(this).css("width",grid.headers[k].width+"px");
grid.cols[k] = this;
});
};
var addCell = function(t,row,cell,pos) {
var td;
td = document.createElement("td");
formatter($(td,t),row,cell,pos,'add');
row.appendChild(td);
formatCol($(td,t), pos);
};
var formatter = function (elem, row, cellval , colpos, act){
var cm = ts.p.colModel[colpos];
if(cm.formatter) {
var opts= {rowId: row.id, colModel:cm,rowData:row};
if($.isFunction( cm.formatter ) ) {
cm.formatter(elem,cellval,opts,act);
} else if($.fmatter){
$(elem).fmatter(cm.formatter, cellval,opts, act);
} else {
$(elem).html(cellval || ' ');
}
}else {
$(elem).html(cellval || ' ');
}
elem[0].title = elem[0].textContent || elem[0].innerText;
};
var addMulti = function(t,row){
var cbid,td;
td = document.createElement("td");
cbid = "jqg_"+row.id;
$(td,t).html("<input type='checkbox'"+" id='"+cbid+"' class='cbox'/>");
formatCol($(td,t), 0);
row.appendChild(td);
};
var reader = function (datatype) {
var field, f=[], j=0, i;
for(i =0; i<ts.p.colModel.length; i++){
field = ts.p.colModel[i];
if (field.name !== 'cb' && field.name !=='subgrid') {
f[j] = (datatype=="xml") ? field.xmlmap || field.name : field.jsonmap || field.name;
j++;
}
}
return f;
};
var addXmlData = function addXmlData (xml,t, rcnt) {
if(xml) { var fpos = ts.p.treeANode || 0; rcnt=rcnt ||0; if(fpos===0 && rcnt===0) {$("tbody tr:gt(0)", t).remove();} } else { return; }
var v,row,gi=0,si=0,cbid,idn, getId,f=[],rd =[],cn=(ts.p.altRows === true) ? 'alt':'';
if(!ts.p.xmlReader.repeatitems) {f = reader("xml");}
if( ts.p.keyIndex===false) {
idn = ts.p.xmlReader.id;
if( idn.indexOf("[") === -1 ) {
getId = function( trow, k) {return $(idn,trow).text() || k;};
}
else {
getId = function( trow, k) {return trow.getAttribute(idn.replace(/[\[\]]/g,"")) || k;};
}
} else {
getId = function(trow) { return (f.length - 1 >= ts.p.keyIndex) ? $(f[ts.p.keyIndex],trow).text() : $(ts.p.xmlReader.cell+":eq("+ts.p.keyIndex+")",trow).text(); };
}
$(ts.p.xmlReader.page,xml).each(function() {ts.p.page = this.textContent || this.text ; });
$(ts.p.xmlReader.total,xml).each(function() {ts.p.lastpage = this.textContent || this.text ; } );
$(ts.p.xmlReader.records,xml).each(function() {ts.p.records = this.textContent || this.text ; } );
$(ts.p.xmlReader.userdata,xml).each(function() {ts.p.userData[this.getAttribute("name")]=this.textContent || this.text;});
$(ts.p.xmlReader.root+" "+ts.p.xmlReader.row,xml).each( function( j ) {
row = document.createElement("tr");
row.id = getId(this,j+1);
if(ts.p.multiselect) {
addMulti(t,row);
gi = 1;
}
if (ts.p.subGrid) {
try {$(ts).addSubGrid(t,row,gi,this);} catch (e){}
si= 1;
}
if(ts.p.xmlReader.repeatitems===true){
$(ts.p.xmlReader.cell,this).each( function (i) {
v = this.textContent || this.text;
addCell(t,row,v,i+gi+si);
rd[ts.p.colModel[i+gi+si].name] = v;
});
} else {
for(var i = 0; i < f.length;i++) {
v = $(f[i],this).text();
addCell(t, row, v , i+gi+si);
rd[ts.p.colModel[i+gi+si].name] = v;
}
}
if(j%2 == 1) {row.className = cn;} $(row).addClass("jqgrow");
if( ts.p.treeGrid === true) {
try {$(ts).setTreeNode(rd,row);} catch (e) {}
ts.p.treeANode = 0;
}
$(ts.rows[j+fpos+rcnt]).after(row);
if(afterInsRow) {ts.p.afterInsertRow(row.id,rd,this);}
rd=[];
});
if(isSafari || isOpera) {resizeFirstRow(t,1);}
if(!ts.p.treeGrid && !ts.p.scroll) {ts.grid.bDiv.scrollTop = 0;}
endReq();
updatepager();
};
var addJSONData = function(data,t, rcnt) {
if(data) { var fpos = ts.p.treeANode || 0; rcnt = rcnt || 0; if(fpos===0 && rcnt===0) {$("tbody tr:gt(0)", t).remove();} } else { return; }
var v,i,j,row,f=[],cur,gi=0,si=0,drows,idn,rd=[],cn=(ts.p.altRows===true) ? 'alt':'';
ts.p.page = data[ts.p.jsonReader.page];
ts.p.lastpage= data[ts.p.jsonReader.total];
ts.p.records= data[ts.p.jsonReader.records];
ts.p.userData = data[ts.p.jsonReader.userdata] || {};
if(!ts.p.jsonReader.repeatitems) {f = reader("json");}
if( ts.p.keyIndex===false ) {
idn = ts.p.jsonReader.id;
if(f.length>0 && !isNaN(idn)) {idn=f[idn];}
} else {
idn = f.length>0 ? f[ts.p.keyIndex] : ts.p.keyIndex;
}
drows = data[ts.p.jsonReader.root];
if (drows) {
for (i=0;i<drows.length;i++) {
cur = drows[i];
row = document.createElement("tr");
row.id = cur[idn] || "";
if(row.id === "") {
if(f.length===0){
if(ts.p.jsonReader.cell){
var ccur = cur[ts.p.jsonReader.cell];
row.id = ccur[idn] || i+1;
ccur=null;
} else {row.id=i+1;}
} else {
row.id=i+1;
}
}
if(ts.p.multiselect){
addMulti(t,row);
gi = 1;
}
if (ts.p.subGrid) {
try { $(ts).addSubGrid(t,row,gi,drows[i]);} catch (e){}
si= 1;
}
if (ts.p.jsonReader.repeatitems === true) {
if(ts.p.jsonReader.cell) {cur = cur[ts.p.jsonReader.cell];}
for (j=0;j<cur.length;j++) {
addCell(t,row,cur[j],j+gi+si);
rd[ts.p.colModel[j+gi+si].name] = cur[j];
}
} else {
for (j=0;j<f.length;j++) {
v=cur[f[j]];
if(v === undefined) {
try { v = eval("cur."+f[j]);}
catch (e) {}
}
addCell(t,row,v,j+gi+si);
rd[ts.p.colModel[j+gi+si].name] = cur[f[j]];
}
}
if(i%2 == 1) {row.className = cn;} $(row).addClass("jqgrow");
if( ts.p.treeGrid === true) {
try {$(ts).setTreeNode(rd,row);} catch (e) {}
ts.p.treeANode = 0;
}
$(ts.rows[i+fpos+rcnt]).after(row);
if(afterInsRow) {ts.p.afterInsertRow(row.id,rd,drows[i]);}
rd=[];
}
}
if(isSafari || isOpera) {resizeFirstRow(t,1);}
if(!ts.p.treeGrid && !ts.p.scroll) {ts.grid.bDiv.scrollTop = 0;}
endReq();
updatepager();
};
var updatepager = function() {
if(ts.p.pager) {
var cp, last,imp = ts.p.imgpath;
if (ts.p.loadonce) {
cp = last = 1;
ts.p.lastpage = ts.page =1;
$(".selbox",ts.p.pager).attr("disabled",true);
} else {
cp = IntNum(ts.p.page);
last = IntNum(ts.p.lastpage);
$(".selbox",ts.p.pager).attr("disabled",false);
}
if(ts.p.pginput===true) {
$('input.selbox',ts.p.pager).val(ts.p.page);
}
if (ts.p.viewrecords){
if(ts.p.pgtext) {
$('#sp_1',ts.p.pager).html(ts.p.pgtext+" "+ts.p.lastpage );
}
$('#sp_2',ts.p.pager).html(ts.p.records+" "+ts.p.recordtext+" ");
}
if(ts.p.pgbuttons===true) {
if(cp<=0) {cp = last = 1;}
if(cp==1) {$("#first",ts.p.pager).attr({src:imp+"off-"+ts.p.firstimg,disabled:true});} else {$("#first",ts.p.pager).attr({src:imp+ts.p.firstimg,disabled:false});}
if(cp==1) {$("#prev",ts.p.pager).attr({src:imp+"off-"+ts.p.previmg,disabled:true});} else {$("#prev",ts.p.pager).attr({src:imp+ts.p.previmg,disabled:false});}
if(cp==last) {$("#next",ts.p.pager).attr({src:imp+"off-"+ts.p.nextimg,disabled:true});} else {$("#next",ts.p.pager).attr({src:imp+ts.p.nextimg,disabled:false});}
if(cp==last) {$("#last",ts.p.pager).attr({src:imp+"off-"+ts.p.lastimg,disabled:true});} else {$("#last",ts.p.pager).attr({src:imp+ts.p.lastimg,disabled:false});}
}
}
if($.isFunction(ts.p.gridComplete)) {ts.p.gridComplete();}
};
var populate = function () {
if(!grid.hDiv.loading) {
beginReq();
var gdata, prm = {nd: (new Date().getTime()), _search:ts.p.search};
prm[ts.p.prmNames.rows]= ts.p.rowNum; prm[ts.p.prmNames.page]= ts.p.page;
prm[ts.p.prmNames.sort]= ts.p.sortname; prm[ts.p.prmNames.order]= ts.p.sortorder;
gdata = $.extend(ts.p.postData,prm);
if (ts.p.search ===true) {gdata =$.extend(gdata,ts.p.searchdata);}
if ($.isFunction(ts.p.datatype)) {ts.p.datatype(gdata);endReq();}
var rcnt = ts.p.scroll===false ? 0 : ts.rows.length-1;
switch(ts.p.datatype)
{
case "json":
$.ajax({url:ts.p.url,type:ts.p.mtype,dataType:"json",data: gdata, complete:function(JSON,st) { if(st=="success") {addJSONData(eval("("+JSON.responseText+")"),ts.grid.bDiv,rcnt); JSON=null;if(loadComplete) {loadComplete();}}}, error:function(xhr,st,err){if(loadError) {loadError(xhr,st,err);}endReq();}, beforeSend: function(xhr){if(loadBeforeSend) {loadBeforeSend(xhr);}}});
if( ts.p.loadonce || ts.p.treeGrid) {ts.p.datatype = "local";}
break;
case "xml":
$.ajax({url:ts.p.url,type:ts.p.mtype,dataType:"xml",data: gdata , complete:function(xml,st) {if(st=="success") {addXmlData(xml.responseXML,ts.grid.bDiv,rcnt); xml=null;if(loadComplete) {loadComplete();}}}, error:function(xhr,st,err){if(loadError) {loadError(xhr,st,err);}endReq();}, beforeSend: function(xhr){if(loadBeforeSend) {loadBeforeSend(xhr);}}});
if( ts.p.loadonce || ts.p.treeGrid) {ts.p.datatype = "local";}
break;
case "xmlstring":
addXmlData(stringToDoc(ts.p.datastr),ts.grid.bDiv);
ts.p.datastr = null;
ts.p.datatype = "local";
if(loadComplete) {loadComplete();}
break;
case "jsonstring":
if(typeof ts.p.datastr == 'string') { ts.p.datastr = eval("("+ts.p.datastr+")");}
addJSONData(ts.p.datastr,ts.grid.bDiv);
ts.p.datastr = null;
ts.p.datatype = "local";
if(loadComplete) {loadComplete();}
break;
case "local":
case "clientSide":
ts.p.datatype = "local";
sortArrayData();
break;
}
}
};
var beginReq = function() {
if(beReq) {ts.p.beforeRequest();}
grid.hDiv.loading = true;
switch(ts.p.loadui) {
case "disable":
break;
case "enable":
$("div.loading",grid.hDiv).fadeIn("fast");
break;
case "block":
$("#lui_"+ts.id).width($(grid.bDiv).width()).height(IntNum($(grid.bDiv).height())+IntNum(ts.p._height)).fadeIn("fast");
break;
}
};
var endReq = function() {
grid.hDiv.loading = false;
switch(ts.p.loadui) {
case "disable":
break;
case "enable":
$("div.loading",grid.hDiv).fadeOut("fast");
break;
case "block":
$("#lui_"+ts.id).fadeOut("fast");
break;
}
};
var stringToDoc = function (xmlString) {
var xmlDoc;
if(typeof xmlString !== 'string') return xmlString;
try {
var parser = new DOMParser();
xmlDoc = parser.parseFromString(xmlString,"text/xml");
}
catch(e) {
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async=false;
xmlDoc["loadXM"+"L"](xmlString);
}
return (xmlDoc && xmlDoc.documentElement && xmlDoc.documentElement.tagName != 'parsererror') ? xmlDoc : null;
};
var sortArrayData = function() {
var stripNum = /[\$,%]/g;
var rows=[], col=0, st, sv, findSortKey,newDir = (ts.p.sortorder == "asc") ? 1 :-1;
$.each(ts.p.colModel,function(i,v){
if(this.index == ts.p.sortname || this.name == ts.p.sortname){
col = ts.p.lastsort= i;
st = this.sorttype;
return false;
}
});
if (st == 'float' || st== 'number' || st== 'currency') {
findSortKey = function($cell) {
var key = parseFloat($cell.replace(stripNum, ''));
return isNaN(key) ? 0 : key;
};
} else if (st=='int' || st=='integer') {
findSortKey = function($cell) {
return IntNum($cell.replace(stripNum, ''));
};
} else if(st == 'date') {
findSortKey = function($cell) {
var fd = ts.p.colModel[col].datefmt || "Y-m-d";
return parseDate(fd,$cell).getTime();
};
} else {
findSortKey = function($cell) {
return $.trim($cell.toUpperCase());
};
}
$.each(ts.rows, function(index, row) {
if (index > 0) {
try { sv = $.unformat($(row).children('td').eq(col),{colModel:ts.p.colModel[col]},col,true);}
catch (_) { sv = $(row).children('td').eq(col).text(); }
row.sortKey = findSortKey(sv);
rows[index-1] = this;
}
});
if(ts.p.treeGrid) {
$(ts).SortTree( newDir);
} else {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -