📄 grid.custom-min.js
字号:
/*
* jqGrid extension for custom methods
* Tony Tomov tony@trirand.com
* http://trirand.com/blog/
*/
;(function(a){a.fn.extend({getColProp:function(f){var h={},d=this[0];if(!d.grid){return}var i=d.p.colModel;for(var c=0;c<i.length;c++){if(i[c].name==f){h=i[c];break}};return h},setColProp:function(d,i){return this.each(function(){if(this.grid){if(i){var f=this.p.colModel;for(var h=0;h<f.length;h++){if(f[h].name==d){a.extend(this.p.colModel[h],i);break}}}}})},sortGrid:function(c,g){return this.each(function(){var f=this,h=-1;if(!f.grid){return}if(!c){c=f.p.sortname}for(var d=0;d<f.p.colModel.length;d++){if(f.p.colModel[d].index==c||f.p.colModel[d].name==c){h=d;break}}if(h!=-1){var i=f.p.colModel[h].sortable;if(typeof i!=='boolean'){i=true}if(typeof g!=='boolean'){g=false}if(i){f.sortData(c,h,g)}}})},GridDestroy:function(){return this.each(function(){if(this.grid){if(this.p.pager){a(this.p.pager).remove()}var f=this.id;a("#lui_"+f).remove();try{a("#editmod"+f).remove();a("#delmod"+f).remove();a("#srchmod"+f).remove()}catch(_){}a(this.grid.bDiv).remove();a(this.grid.hDiv).remove();a(this.grid.cDiv).remove();if(this.p.toolbar[0]){a(this.grid.uDiv).remove()}this.p=null;this.grid=null}})},GridUnload:function(){return this.each(function(){if(!this.grid){return}var f={id:a(this).attr('id'),cl:a(this).attr('class')};if(this.p.pager){a(this.p.pager).empty()}var h=document.createElement('table');a(h).attr({id:f['id']});h.className=f['cl'];var d=this.id;a("#lui_"+d).remove();try{a("#editmod"+d).remove();a("#delmod"+d).remove();a("#srchmod"+d).remove()}catch(_){}if(this.p.toolbar[0]){a(this.grid.uDiv).remove()}a(this.grid.cDiv).remove();a(this.grid.bDiv).remove();a(this.grid.hDiv).before(h).remove();this.p=null;this.grid=null})},filterGrid:function(r,v){v=a.extend({gridModel:false,gridNames:false,gridToolbar:false,filterModel:[],formtype:"horizontal",autosearch:true,formclass:"filterform",tableclass:"filtertable",buttonclass:"filterbutton",searchButton:"Search",clearButton:"Clear",enableSearch:false,enableClear:false,beforeSearch:null,afterSearch:null,beforeClear:null,afterClear:null,url:'',marksearched:true},v||{});return this.each(function(){var b=this;this.p=v;if(this.p.filterModel.length==0&&this.p.gridModel===false){alert("No filter is set");return}if(!r){alert("No target grid is set!");return}this.p.gridid=r.indexOf("#")!=-1?r:"#"+r;var o=a(this.p.gridid).getGridParam('colModel');if(o){if(this.p.gridModel===true){var B=a(this.p.gridid)[0];var s;a.each(o,function(f,h){var d=[];this.search=this.search===false?false:true;if(this.editrules&&this.editrules.searchhidden===true){s=true}else{if(this.hidden===true){s=false}else{s=true}}if(this.search===true&&s===true){if(b.p.gridNames===true){d.label=B.p.colNames[f]}else{d.label=''}d.name=this.name;d.index=this.index||this.name;d.stype=this.edittype||'text';if(d.stype!='select'||d.stype!='select'){d.stype='text'}d.defval=this.defval||'';d.surl=this.surl||'';d.sopt=this.editoptions||{};d.width=this.width;b.p.filterModel.push(d)}})}else{a.each(b.p.filterModel,function(f,h){for(var d=0;d<o.length;d++){if(this.name==o[d].name){this.index=o[d].index||this.name;break}}if(!this.index){this.index=this.name}})}}else{alert("Could not get grid colModel");return}var p=function(){var d={},i=0,c;var g=a(b.p.gridid)[0];if(a.isFunction(b.p.beforeSearch)){b.p.beforeSearch()}a.each(b.p.filterModel,function(f,h){switch(this.stype){case'select':c=a("select[name="+this.name+"]",b).val();if(c){d[this.index]=c;if(b.p.marksearched){a("#jqgh_"+this.name,g.grid.hDiv).addClass("dirty-cell")}i++}else{if(b.p.marksearched){a("#jqgh_"+this.name,g.grid.hDiv).removeClass("dirty-cell")}try{delete g.p.postData[this.index]}catch(e){}}break;default:c=a("input[name="+this.name+"]",b).val();if(c){d[this.index]=c;if(b.p.marksearched){a("#jqgh_"+this.name,g.grid.hDiv).addClass("dirty-cell")}i++}else{if(b.p.marksearched){a("#jqgh_"+this.name,g.grid.hDiv).removeClass("dirty-cell")}try{delete g.p.postData[this.index]}catch(e){}}}});var j=i>0?true:false;g.p.postData=a.extend(g.p.postData,d);var l;if(b.p.url){l=a(g).getGridParam('url');a(g).setGridParam({url:b.p.url})}a(g).setGridParam({search:j,page:1}).trigger("reloadGrid");if(l){a(g).setGridParam({url:l})}if(a.isFunction(b.p.afterSearch)){b.p.afterSearch()}};var x=function(){var i={},c,g=0;var j=a(b.p.gridid)[0];if(a.isFunction(b.p.beforeClear)){b.p.beforeClear()}a.each(b.p.filterModel,function(f,h){c=(this.defval)?this.defval:"";if(!this.stype){this.stype=='text'}switch(this.stype){case'select':if(c){var d;a("select[name="+this.name+"] option",b).each(function(){if(a(this).text()==c){this.selected=true;d=a(this).val();return false}});i[this.index]=d||"";if(b.p.marksearched){a("#jqgh_"+this.name,j.grid.hDiv).addClass("dirty-cell")}g++}else{if(b.p.marksearched){a("#jqgh_"+this.name,j.grid.hDiv).removeClass("dirty-cell")}try{delete j.p.postData[this.index]}catch(e){}}break;case'text':a("input[name="+this.name+"]",b).val(c);if(c){i[this.index]=c;if(b.p.marksearched){a("#jqgh_"+this.name,j.grid.hDiv).addClass("dirty-cell")}g++}else{if(b.p.marksearched){a("#jqgh_"+this.name,j.grid.hDiv).removeClass("dirty-cell")}try{delete j.p.postData[this.index]}catch(e){}}}});var l=g>0?true:false;j.p.postData=a.extend(j.p.postData,i);var m;if(b.p.url){m=a(j).getGridParam('url');a(j).setGridParam({url:b.p.url})}a(j).setGridParam({search:l,page:1}).trigger("reloadGrid");if(m){a(j).setGridParam({url:m})}if(a.isFunction(b.p.afterClear)){b.p.afterClear()}};var C=function(){var q=document.createElement("tr");var n,y,z,t,k,E;if(b.p.formtype=='horizontal'){a(u).append(q)}a.each(b.p.filterModel,function(d,i){t=document.createElement("td");a(t).append("<label for='"+this.name+"'>"+this.label+"</label>");k=document.createElement("td");var c=this;if(!this.stype){this.stype='text'}switch(this.stype){case"select":if(this.surl){a(k).load(this.surl,function(){if(c.defval)a("select",this).val(c.defval);a("select",this).attr({name:c.name,id:"sg_"+c.name});if(c.sopt)a("select",this).attr(c.sopt);if(b.p.gridToolbar===true&&c.width){a("select",this).width(c.width)}if(b.p.autosearch===true){a("select",this).change(function(f){p();return false})}})}else{if(c.sopt.value){var g=c.sopt.value.split(";"),j,l;var m=document.createElement("select");a(m).attr({name:c.name,id:"sg_"+c.name}).attr(c.sopt);for(var w=0;w<g.length;w++){j=g[w].split(":");l=document.createElement("option");l.value=j[0];l.innerHTML=j[1];if(j[1]==c.defval)l.selected="selected";m.appendChild(l)}if(b.p.gridToolbar===true&&c.width){a(m).width(c.width)}a(k).append(m);if(b.p.autosearch===true){a(m).change(function(f){p();return false})}}}break;case'text':var D=this.defval?this.defval:"";a(k).append("<input type='text' name='"+this.name+"' id='sg_"+this.name+"' value='"+D+"'/>");if(c.sopt)a("input",k).attr(c.sopt);if(b.p.gridToolbar===true&&c.width){if(a.browser.msie){a("input",k).width(c.width-4)}else{a("input",k).width(c.width-2)}}if(b.p.autosearch===true){a("input",k).keypress(function(f){var h=f.charCode?f.charCode:f.keyCode?f.keyCode:0;if(h==13){p();return false}return this})}break}if(b.p.formtype=='horizontal'){if(b.p.grodToolbar===true&&b.p.gridNames===false){a(q).append(k)}else{a(q).append(t).append(k)}a(q).append(k)}else{n=document.createElement("tr");a(n).append(t).append(k);a(u).append(n)}});k=document.createElement("td");if(b.p.enableSearch===true){y="<input type='button' id='sButton' class='"+b.p.buttonclass+"' value='"+b.p.searchButton+"'/>";a(k).append(y);a("input#sButton",k).click(function(){p();return false})}if(b.p.enableClear===true){z="<input type='button' id='cButton' class='"+b.p.buttonclass+"' value='"+b.p.clearButton+"'/>";a(k).append(z);a("input#cButton",k).click(function(){x();return false})}if(b.p.enableClear===true||b.p.enableSearch===true){if(b.p.formtype=='horizontal'){a(q).append(k)}else{n=document.createElement("tr");a(n).append("<td> </td>").append(k);a(u).append(n)}}};var A=a("<form name='SearchForm' style=display:inline;' class='"+this.p.formclass+"'></form>");var u=a("<table class='"+this.p.tableclass+"' cellspacing='0' cellpading='0' border='0'><tbody></tbody></table>");a(A).append(u);C();a(this).append(A);this.triggerSearch=function(){p()};this.clearSearch=function(){x()}})}})})(jQuery);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -