UNPKG

free-jqgrid

Version:

grid as jQuery plugin - fork of jqGrid before licensing change

2 lines 31.2 kB
!function(t,r){"use strict";"function"==typeof define&&define.amd?define(["jquery","./grid.base","./jquery.fmatter","./grid.common"],function(e){return r(e,t.document)}):"object"==typeof module&&module.exports?module.exports=function(e,t){return e||(e=window),void 0===t&&(t="undefined"!=typeof window?require("jquery"):require("jquery")(e)),require("./grid.base"),require("./jquery.fmatter"),require("./grid.common"),r(t,e.document),t}:r(jQuery,t.document)}("undefined"!=typeof window?window:this,function(Q,X){"use strict";var K=Q.jgrid,Y=K.jqID,c=Q.fn.jqGrid,Z=c.getGuiStyles,t=c.getGridRes;K.extend({getColProp:function(e){var t,r=this[0];return null!=r&&r.grid&&void 0!==(t=r.p.iColByName[e])?r.p.colModel[t]:{}},setColProp:function(r,a){return this.each(function(){var e,t=this.p;this.grid&&null!=t&&a&&void 0!==(e=t.iColByName[r])&&Q.extend(!0,t.colModel[e],a)})},sortGrid:function(d,c,u){return this.each(function(){var e,t,r,a=this,i=a.grid,o=a.p,l=o.colModel,s=l.length,n=!1;if(i)for(d||(d=o.sortname),"boolean"!=typeof c&&(c=!1),t=0;t<s;t++)if((e=l[t]).index===d||e.name===d){!0===o.frozenColumns&&!0===e.frozen&&(n=i.fhDiv.find("#"+Y(o.id+"_"+d))),n&&0!==n.length||(n=i.headers[t].el),("boolean"!=typeof(r=e.sortable)||r)&&a.sortData(e.index||e.name,t,c,u,n);break}})},clearBeforeUnload:function(){return this.each(function(){var e,t=this,r=t.p,a=t.grid,i=K.clearArray,o=Object.prototype.hasOwnProperty;Q.isFunction(a.emptyRows)&&a.emptyRows.call(t,!0,!0),Q(X).off("mousemove.jqGrid mouseup.jqGrid"+r.id),Q(t).off();var l,s=a.headers.length;for(l=0;l<s;l++)a.headers[l].el=null;for(e in a)a.hasOwnProperty(e)&&(a.propOrMethod=null);var n=["formatCol","sortData","updatepager","refreshIndex","setHeadCheckBox","constructTr","clearToolbar","fixScrollOffsetAndhBoxPadding","rebuildRowIndexes","modalAlert","toggleToolbar","triggerToolbar","formatter","addXmlData","addJSONData","ftoolbar","_inlinenav","nav","grid","p"];for(s=n.length,l=0;l<s;l++)o.call(t,n[l])&&(t[n[l]]=null);t._index={},i(r.data),i(r.lastSelectedData),i(r.selarrrow),i(r.savedRow),r.editingInfo={}})},GridDestroy:function(){return this.each(function(){var e=this,t=e.p;if(e.grid&&null!=t){t.pager&&Q(t.pager).remove();try{Q("#alertmod_"+Y(t.id)).remove(),Q(e).jqGrid("clearBeforeUnload"),Q(t.gBox).remove()}catch(e){}}})},GridUnload:function(){return this.each(function(){var e=this,t=Q(e),r=e.p,a=Q.fn.jqGrid;e.grid&&(t.removeClass(a.getGuiStyles.call(t,"grid","ui-jqgrid-btable")),r.pager&&(r.pager.substr(1,Q.jgrid.uidPref.length)===Q.jgrid.uidPref?Q(r.pager).remove():Q(r.pager).empty().removeClass(a.getGuiStyles.call(t,"pager.pager","ui-jqgrid-pager "+a.getGuiStyles.call(t,"bottom"))).removeAttr("style").removeAttr("dir")),t.jqGrid("clearBeforeUnload"),t.removeAttr("style").removeAttr("tabindex").removeAttr("role").removeAttr("aria-labelledby").removeAttr("style"),t.empty(),t.insertBefore(r.gBox).show(),Q(r.pager).insertBefore(r.gBox).show(),Q(r.gBox).remove())})},setGridState:function(d){return this.each(function(){var t=this,e=t.p,r=t.grid,a=r.cDiv,i=Q(r.uDiv),o=Q(r.ubDiv);if(r&&null!=e){var l=function(e){return c.getIconRes.call(t,"gridMinimize."+e)},s=l("visible"),n=l("hidden");"hidden"===d?(Q(".ui-jqgrid-bdiv, .ui-jqgrid-hdiv",e.gView).slideUp("fast"),e.pager&&Q(e.pager).slideUp("fast"),e.toppager&&Q(e.toppager).slideUp("fast"),!0===e.toolbar[0]&&("both"===e.toolbar[1]&&o.slideUp("fast"),i.slideUp("fast")),e.footerrow&&Q(".ui-jqgrid-sdiv",e.gBox).slideUp("fast"),Q(".ui-jqgrid-titlebar-close span",a).removeClass(s).addClass(n),e.gridstate="hidden"):"visible"===d&&(Q(".ui-jqgrid-hdiv, .ui-jqgrid-bdiv",e.gView).slideDown("fast"),e.pager&&Q(e.pager).slideDown("fast"),e.toppager&&Q(e.toppager).slideDown("fast"),!0===e.toolbar[0]&&("both"===e.toolbar[1]&&o.slideDown("fast"),i.slideDown("fast")),e.footerrow&&Q(".ui-jqgrid-sdiv",e.gBox).slideDown("fast"),Q(".ui-jqgrid-titlebar-close span",a).removeClass(n).addClass(s),e.gridstate="visible")}})},filterToolbar:function(e){return this.each(function(){var F=this,f=F.grid,O=Q(F),T=F.p,k=K.info_dialog,b=K.htmlEncode;if(!this.ftoolbar){var _,R=Q.extend(!0,{autosearch:!0,autosearchDelay:500,searchOnEnter:!0,beforeSearch:null,afterSearch:null,beforeClear:null,afterClear:null,searchurl:"",sField:"searchField",sValue:"searchString",sOper:"searchOper",sFilter:T.prmNames.filters,stringResult:!1,groupOp:"AND",defaultSearch:"bw",idMode:"new",searchOperators:!1,resetIcon:"&times;",applyLabelClasses:!0,loadFilterDefaults:!0,operands:{eq:"==",ne:"!",lt:"<",le:"<=",gt:">",ge:">=",bw:"^",bn:"!^",in:"=",ni:"!=",ew:"|",en:"!@",cn:"~",nc:"!~",nu:"#",nn:"!#"}},K.search,T.searching||{},e||{}),y=T.colModel,I=function(e){return t.call(O,e)},V=I("errors.errcap"),H=I("edit.bClose"),A=I("edit.msg"),B=Z.call(F,"states.hover"),w=Z.call(F,"states.select"),M=Z.call(F,"filterToolbar.dataField"),P={},N=function(e){var t="gs_";switch(R.idMode){case"compatibility":t+=T.idPrefix;break;case"new":t+=T.id+"_"}return t+e},m=function(e){return"#"+Y(N(e))},g=function(e){var t=(e.value||"").split(":");return{on:t[0]||"on",off:t[1]||"off"}},c=function(e){var t,r,a,i,o,l,s=T.postData[R.sFilter],n={},d=T.iColByName;if(e)for(r=0;r<y.length;r++)!1!==(o=y[r]).search&&(l=o.searchoptions||{},n[o.name]={op:l.sopt?l.sopt[0]:"select"===o.stype||"checkbox"===o.stype?"eq":R.defaultSearch,data:void 0!==l.defaultValue?l.defaultValue:""});if(!s||!T.search)return n;if("string"==typeof s)try{s=Q.parseJSON(s)}catch(e){s={}}else s=s||{};if(a=s.rules||{},null==s||null!=s.groupOp&&null!=R.groupOp&&s.groupOp.toUpperCase()!==R.groupOp.toUpperCase()||null==a||0===a.length||null!=s.groups&&0<s.groups.length)return n;for(r=0;r<a.length;r++)for(i=a[r],o=y[d[i.field]],t=0;t<y.length;t++)if(((o=y[t]).index||o.name)===i.field&&!1!==o.search){if((l=o.searchoptions||{}).sopt){if(Q.inArray(i.op,l.sopt)<0)continue}else if("select"===o.stype||"checkbox"===o.stype){if("eq"!==i.op)continue}else if(i.op!==R.defaultSearch)continue;n[o.name]={op:i.op,data:i.data}}return n},E=function(e,t){switch(t){case 1:e.data("state",1).prop({checked:!0,indeterminate:!1});break;case 0:e.data("state",0).prop({checked:!1,indeterminate:!1});break;default:e.data("state",-1).prop({checked:!1,indeterminate:!0})}},U=function(){var u={},h=0,p={};Q.each(y,function(){var e,t,a=this,r=a.index||a.name,i=a.searchoptions||{},o=Q(m(a.name),!0===a.frozen&&!0===T.frozenColumns?f.fhDiv:f.hDiv),l=function(e,t){var r=a.formatoptions||{};return void 0!==r[e]?r[e]:I("formatter."+(t||a.formatter)+"."+e)},s=function(e){var t=l("thousandsSeparator").replace(/([\.\*\_\'\(\)\{\}\+\?\\])/g,"\\$1");return e.replace(new RegExp(t,"g"),"")};if(t=R.searchOperators?o.parent().prev().children("a").data("soper")||R.defaultSearch:i.sopt?i.sopt[0]:"select"===a.stype||"checkbox"===a.stype?"eq":R.defaultSearch,"custom"===a.stype&&Q.isFunction(i.custom_value)&&0<o.length&&"SPAN"===o[0].nodeName.toUpperCase())e=i.custom_value.call(F,o.children(".customelement").first(),"get");else if("select"===a.stype)e=o.prop("multiple")?null==(e=o.val())||0===e.length?"":e.join(T.inFilterSeparator||","):o.val();else if("checkbox"===a.stype){var n=g(i);switch(o.data("state")){case-1:e="";break;case 0:e=n.off;break;default:e=n.on}}else switch(e=Q.trim(o.val()),a.formatter){case"integer":""!==(e=s(e).replace(l("decimalSeparator","number"),"."))&&(e=String(parseInt(e,10)));break;case"number":""!==(e=s(e).replace(l("decimalSeparator"),"."))&&"0"===String(e).charAt(0)&&(e=String(parseFloat(e)));break;case"currency":var d=l("prefix"),c=l("suffix");d&&d.length&&e.substr(0,d.length)===d&&(e=e.substr(d.length)),c&&c.length&&e.length>c.length&&e.substr(e.length-c.length,c.length)===c&&(e=e.substr(0,e.length-c.length)),""!==(e=s(e).replace(l("decimalSeparator"),"."))&&(e=String(parseFloat(e)))}if(e||"nu"===t||"nn"===t||0<=Q.inArray(t,T.customUnaryOperations))u[r]=e,p[r]=t,h++;else if(u.hasOwnProperty(r)&&delete u[r],!R.stringResult&&!R.searchOperators&&"local"!==T.datatype)try{null!=T.postData&&T.postData.hasOwnProperty(r)&&delete T.postData[r]}catch(e){}});var e,t=0<h;if(R.stringResult||R.searchOperators||"local"===T.datatype){var r='{"groupOp":"'+R.groupOp+'","rules":[',a=0;Q.each(u,function(e,t){0<a&&(r+=","),r+='{"field":"'+e+'",',r+='"op":"'+p[e]+'",',r+='"data":"'+(t+="").replace(/\\/g,"\\\\").replace(/\"/g,'\\"')+'"}',a++}),r+="]}",T.postData[R.sFilter]=r,Q.each([R.sField,R.sValue,R.sOper],function(e,t){T.postData.hasOwnProperty(t)&&delete T.postData[t]})}else Q.extend(T.postData,u);T.searchurl&&(e=T.url,O.jqGrid("setGridParam",{url:T.searchurl}));var i="stop"===O.triggerHandler("jqGridToolbarBeforeSearch");!i&&Q.isFunction(R.beforeSearch)&&(i=R.beforeSearch.call(F)),i||O.jqGrid("setGridParam",{search:t}).trigger("reloadGrid",[Q.extend({page:1},R.reloadGridSearchOptions||{})]),e&&O.jqGrid("setGridParam",{url:e}),O.triggerHandler("jqGridToolbarAfterSearch"),Q.isFunction(R.afterSearch)&&R.afterSearch.call(F)},L=I("search.odata")||[],W=T.customSortOperations,$=[],J=Q("<tr></tr>",{class:"ui-search-toolbar",role:"row form"});R.loadFilterDefaults&&(P=c()||{}),Q.each(y,function(e){var c,t,r,a,i,o,l,s=this,u="filter",n=s.searchoptions||{},d=s.editoptions||{},h=Q("<th></th>",{class:Z.call(F,"colHeaders","ui-th-column ui-th-"+T.direction+" "+(R.applyLabelClasses&&s.labelClasses||"")),role:"gridcell","aria-describedby":T.id+"_"+s.name}),p=Q("<div></div>"),f=Q("<table class='ui-search-table'><tbody><tr><td class='ui-search-oper'></td><td class='ui-search-input'></td><td class='ui-search-clear' style='width:1px'></td></tr></tbody></table>"),m=f.children("tbody").children("tr").children("td"),g=m.eq(0),v=m.eq(1),b=m.eq(2);if(!0===this.hidden&&h.css("display","none"),this.search=!1!==this.search,void 0===this.stype&&(this.stype="text"),c=Q.extend({mode:u,name:s.name,cm:s,iCol:e,id:N(s.name)},n),this.search){if(R.searchOperators){for(a=T.search&&null!=P[this.name]?P[this.name].op:c.sopt?c.sopt[0]:"select"===s.stype||"checkbox"===s.stype?"eq":R.defaultSearch,i=0;i<L.length;i++)if(L[i].oper===a){r=R.operands[a]||"";break}var y;if(void 0===r&&null!=W)for(y in W)if(W.hasOwnProperty(y)&&y===a){r=W[y].operand;break}void 0===r&&(r="="),g.append("<a title='"+(null!=c.searchtitle?c.searchtitle:I("search.operandTitle"))+"' data-soper='"+a+"' class='"+Z.call(F,"searchToolbar.operButton","soptclass")+"' data-colname='"+this.name+"'>"+r+"</a>")}if(g.data("colindex",e),null!=c.sopt&&1!==c.sopt.length||g.hide(),T.search&&null!=P[this.name]&&(c.defaultValue=P[this.name].data),void 0===c.clearSearch&&(c.clearSearch="text"===this.stype),c.clearSearch){var w=Q.isFunction(R.resetTitle)?R.resetTitle.call(F,{options:R,cm:s,cmName:s.name,iCol:e}):(I("search.resetTitle")||"Clear Search Value")+" "+K.stripHtml(T.colNames[e]);b.append("<a title='"+w+"' aria-label='"+w+"' class='"+Z.call(F,"searchToolbar.clearButton","clearsearchclass")+"'><span>"+R.resetIcon+"</span></a>")}else b.hide();switch(p.append(f),this.stype){case"checkbox":var C=void 0!==c.defaultValue?c.defaultValue:"-1";l=Q("<input role='search' type='checkbox' class='"+M+"' name='"+(s.index||s.name)+"' id='"+N(s.name)+"' aria-labelledby='jqgh_"+T.id+"_"+s.name+"' data-state='"+C+"'/>"),"-1"===C?l.prop("indeterminate",!0):"1"===C&&l.prop("checked",!0),l.click(function(){var e=Q(this);switch(e.data("state")){case-1:E(e,1);break;case 0:E(e,-1);break;default:E(e,0)}!0===R.autosearch&&U()}),v.append(l),c.attr&&l.attr(c.attr),$.push({elem:l[0],options:c});break;case"select":var q,j,D;if(t=this.surl||c.dataUrl)Q.ajax(Q.extend({url:t,context:{$tdInput:v,options:c,cm:s,iCol:e},dataType:"html",success:function(e,t,r){var a,i,o,l=this.cm,s=this.iCol,n=this.options,d=this.$tdInput;void 0!==n.buildSelect?(a=n.buildSelect.call(F,e,r,l,s))&&d.append(a):d.append(e),(o=d.children("select")).attr({name:l.index||l.name,id:N(l.name)}),n.attr&&o.attr(n.attr),o.addClass(M),o.css({width:"100%"}),0===o.find("option[value='']").length&&"string"==typeof c.noFilterText&&((i=X.createElement("option")).value="",i.innerHTML=c.noFilterText,o.prepend(i),null!=Q(o[0].options[o[0].selectedIndex]).attr("selected")||o[0].multiple||(o[0].selectedIndex=0)),o[0].multiple&&0===o.find("option[selected]").length&&-1!==o[0].selectedIndex&&(o[0].options[o[0].selectedIndex].selected=!1),void 0!==n.defaultValue&&o.val(n.defaultValue),K.bindEv.call(F,o[0],n),K.fullBoolFeedback.call(F,n.selectFilled,"jqGridSelectFilled",{elem:o[0],options:n,cm:l,cmName:l.name,iCol:s,mode:u}),!0===R.autosearch&&o.change(function(){return U(),!1})}},K.ajaxOptions,T.ajaxSelectOptions||{}));else if(s.searchoptions?(q=void 0===n.value?d.value||"":n.value,j=void 0===n.separator?d.separator||":":n.separator,D=void 0===n.delimiter?d.delimiter||";":n.delimiter):s.editoptions&&(q=void 0===d.value?"":d.value,j=void 0===d.separator?":":d.separator,D=void 0===d.delimiter?";":d.delimiter),n.generateValue&&null!=T.indexByColumnData[s.name]&&(q=F.generateValueFromColumnIndex(s.name,j,D)),q){if((o=X.createElement("select")).style.width="100%",l=Q(o).attr({name:s.index||s.name,role:"search",id:N(s.name),"aria-describedby":T.id+"_"+s.name}),c.attr&&l.attr(c.attr),!K.fillSelectOptions(o,q,j,D,null!=c.attr&&c.attr.multiple)&&"string"==typeof c.noFilterText){var x=X.createElement("option");x.value="",x.innerHTML=c.noFilterText,x.selected=!0,l.prepend(x)}void 0!==c.defaultValue&&l.val(c.defaultValue),l.addClass(M),$.push({elem:o,options:c}),v.append(o),K.fullBoolFeedback.call(F,c.selectFilled,"jqGridSelectFilled",{elem:o,options:s.searchoptions||d,cm:s,cmName:s.name,iCol:e,mode:u}),!0===R.autosearch&&l.change(function(){return U(),!1})}break;case"text":if(l=Q("<input role='search' type='text' class='"+M+"' name='"+(s.index||s.name)+"' id='"+N(s.name)+"' aria-labelledby='jqgh_"+T.id+"_"+s.name+"' value='"+(void 0!==c.defaultValue?c.defaultValue:"")+"'/>"),v.append(l),s.createColumnIndex&&c.generateDatalist){var G="dl_"+N(s.name),S=O.jqGrid("generateDatalistFromColumnIndex",s.name);null!=S&&0<S.length&&(l.attr("list",G),v.append(S.attr("id",G)))}c.attr&&l.attr(c.attr),$.push({elem:l[0],options:c}),!0===R.autosearch&&(R.searchOnEnter?l.keypress(function(e){return 13===(e.charCode||e.keyCode||0)?(U(),!1):this}):l.keydown(function(e){switch(e.which){case 13:return!1;case 9:case 16:case 37:case 38:case 39:case 40:case 27:break;default:_&&clearTimeout(_),_=setTimeout(function(){U()},R.autosearchDelay)}}));break;case"custom":v.append("<span style='width:100%;padding:0;box-sizing:border-box;' name='"+(s.index||s.name)+"' id='"+N(s.name)+"'/>");try{if(!Q.isFunction(c.custom_element))throw"e1";var z=c.custom_element.call(F,void 0!==c.defaultValue?c.defaultValue:"",c);if(!z)throw"e2";z=Q(z).addClass("customelement"),p.find("span[name='"+(s.index||s.name)+"']").append(z)}catch(e){"e1"===e&&k.call(F,V,"function 'custom_element' "+A.nodefined,H),"e2"===e?k.call(F,V,"function 'custom_element' "+A.novalue,H):k.call(F,V,"string"==typeof e?e:e.message,H)}}}h.append(p),h.find(".ui-search-oper .soptclass,.ui-search-clear .clearsearchclass").hover(function(){Q(this).addClass(B)},function(){Q(this).removeClass(B)}),J.append(h),R.searchOperators||g.hide()}),Q(f.hDiv).find(">div>.ui-jqgrid-htable>thead").append(J),Q.each($,function(){K.bindEv.call(F,this.elem,this.options)}),R.searchOperators&&(Q(".soptclass",J).click(function(e){var t=Q(this).offset();!function(a,e,t){Q("#sopt_menu").remove(),e=parseInt(e,10),t=parseInt(t,10)+18;var r,i,o=0,l=[],s=Q(a).data("soper"),n=Q(a).data("colname"),d=Q(".ui-jqgrid-view").css("font-size")||"11px",c="<ul id='sopt_menu' class='"+Z.call(F,"searchToolbar.menu","ui-search-menu")+"' role='menu' tabindex='0' style='z-index:9999;display:block;font-size:"+d+";left:"+e+"px;top:"+t+"px;'>";if(void 0!==(o=T.iColByName[n])){var u,h,p,f,m,g=y[o],v=Q.extend({},g.searchoptions);for(v.sopt||(v.sopt=[],v.sopt[0]="select"===g.stype||"checkbox"===g.stype?"eq":R.defaultSearch),Q.each(L,function(){l.push(this.oper)}),null!=W&&Q.each(W,function(e){l.push(e)}),o=0;o<v.sopt.length;o++)p=v.sopt[o],-1!==(i=Q.inArray(p,l))&&(void 0!==(u=L[i])?(f=R.operands[p],m=u.text):null!=W&&(f=(h=W[p]).operand,m=h.text),r=s===p?w:"",c+='<li class="'+Z.call(F,"searchToolbar.menuItem","ui-jqgrid-menu-item "+r)+'" role="presentation"><a class="'+Z.call(F,"searchToolbar.menuItemButton","g-menu-item")+'" tabindex="0" role="menuitem" value="'+b(p)+'" data-oper="'+b(f)+'"><table><tr><td style="width:25px">'+b(f)+"</td><td>"+b(m)+"</td></tr></table></a></li>");c+="</ul>",Q("body").append(c),Q("#sopt_menu > li > a").hover(function(){Q(this).addClass(B)},function(){Q(this).removeClass(B)}).click(function(){var e=Q(this).attr("value"),t=Q(this).data("oper");if(O.triggerHandler("jqGridToolbarSelectOper",[e,t,a]),Q("#sopt_menu").hide(),Q(a).data("soper",e).text(t),!0===R.autosearch){var r=Q(a).parent().next().children()[0];(Q(r).val()||"nu"===e||"nn"===e||0<=Q.inArray(e,T.customUnaryOperations))&&U()}})}}(this,t.left,t.top),e.stopPropagation()}),Q("body").on("click",function(e){"soptclass"!==e.target.className&&Q("#sopt_menu").hide()})),Q(".clearsearchclass",J).click(function(){var e,t,r=Q(this).closest(".ui-search-clear"),a=r.siblings(".ui-search-oper"),i=a.children("a"),o=i.data("soper"),l=parseInt(a.data("colindex"),10),s=r.siblings(".ui-search-input"),n=y[l],d=Q.extend({},n.searchoptions||{}),c=d.defaultValue||"";switch(n.stype){case"select":c?s.find("select").val(c):s.find("select")[0].selectedIndex=0;break;case"checkbox":E(s.find("input[type=checkbox]"),-1);break;default:s.find("input").val(c)}("nu"===o||"nn"===o||0<=Q.inArray(o,T.customUnaryOperations))&&(e=d.sopt?d.sopt[0]:"select"===n.stype||"checkbox"===n.stype?"eq":R.defaultSearch,t=null!=W&&null!=W[e]?W[e].operand:R.operands[e]||"",i.data("soper",e).text(t)),!0===R.autosearch&&U()}),F.ftoolbar=!0,F.triggerToolbar=U,F.clearToolbar=function(e){var o,l={},s=0;e="boolean"!=typeof e||e,Q.each(y,function(){var t,r,e=this,a=Q(m(e.name),!0===e.frozen&&!0===T.frozenColumns?f.fhDiv:f.hDiv),i=e.searchoptions||{};switch(void 0!==i.defaultValue&&(t=i.defaultValue),o=e.index||e.name,e.stype){case"checkbox":E(a,-1);break;case"select":if(r=!(0<a.length&&a[0].multiple),a.find("option").each(function(e){if(this.selected=0===e&&r,Q(this).val()===t)return!(this.selected=!0)}),void 0!==t)l[o]=t,s++;else try{delete T.postData[o]}catch(e){}break;case"text":if(a.val(t||""),void 0!==t)l[o]=t,s++;else try{delete T.postData[o]}catch(e){}break;case"custom":Q.isFunction(i.custom_value)&&0<a.length&&"SPAN"===a[0].nodeName.toUpperCase()&&(void 0===t&&(t=""),i.custom_value.call(F,a.children(".customelement").first(),"set",t))}});var t,r=0<s;if(T.resetsearch=!0,R.stringResult||R.searchOperators||"local"===T.datatype){var a='{"groupOp":"'+R.groupOp+'","rules":[',i=0;Q.each(l,function(e,t){0<i&&(a+=","),a+='{"field":"'+e+'",',a+='"op":"eq",',a+='"data":"'+(t+="").replace(/\\/g,"\\\\").replace(/\"/g,'\\"')+'"}',i++}),a+="]}",T.postData[R.sFilter]=a,Q.each([R.sField,R.sValue,R.sOper],function(e,t){T.postData.hasOwnProperty(t)&&delete T.postData[t]})}else Q.extend(T.postData,l);T.searchurl&&(t=T.url,O.jqGrid("setGridParam",{url:T.searchurl}));var n="stop"===O.triggerHandler("jqGridToolbarBeforeClear");!n&&Q.isFunction(R.beforeClear)&&(n=R.beforeClear.call(F)),n||e&&O.jqGrid("setGridParam",{search:r}).trigger("reloadGrid",[Q.extend({page:1},R.reloadGridResetOptions||{})]),t&&O.jqGrid("setGridParam",{url:t}),O.triggerHandler("jqGridToolbarAfterClear"),Q.isFunction(R.afterClear)&&R.afterClear.call(F)},F.toggleToolbar=function(){var e=Q("tr.ui-search-toolbar",f.hDiv),t=!0===T.frozenColumns&&Q("tr.ui-search-toolbar",f.fhDiv);"none"===e.css("display")?(e.show(),t&&t.show()):(e.hide(),t&&t.hide()),!0===T.frozenColumns&&(O.jqGrid("destroyFrozenColumns"),O.jqGrid("setFrozenColumns"))},!0===T.frozenColumns&&(O.jqGrid("destroyFrozenColumns"),O.jqGrid("setFrozenColumns")),O.on("jqGridRefreshFilterValues.filterToolbar"+(R.loadFilterDefaults?" jqGridAfterLoadComplete.filterToolbar":""),function(){var e,t,r,a,i,o,l,s=c(!0)||{};if(R.stringResult||R.searchOperators||"local"===T.datatype||!T.search){for(e in s)if(s.hasOwnProperty(e)&&(t=s[e],o=(r=Q(m(e))).closest("th.ui-th-column"),0<r.length&&0<o.length)){if(l=(T.colModel[o[0].cellIndex]||{}).searchoptions||{},"SELECT"===r[0].tagName.toUpperCase()&&r[0].multiple)r.val(t.data.split(T.inFilterSeparator||","));else if(r.is("input[type=checkbox]")){var n=g(l);E(r,t.data===n.on?1:t.data===n.off?0:-1)}else if(0<r.find(".customelement").length&&Q.isFunction(l.custom_value)){var d=l.custom_value.call(F,r.find(".customelement").first(),"get");""===t.data&&void 0!==l.defaultValue&&(t.data=l.defaultValue),void 0===d&&(d=""),t.data!==d&&String(t.data)!==String(d)&&l.custom_value.call(F,r.find(".customelement").first(),"set",t.data)}else""===t.data&&void 0!==l.defaultValue&&(t.data=l.defaultValue),Q.trim(r.val())!==String(t.data)&&r.val(t.data);(a=r.closest(".ui-search-input").siblings(".ui-search-oper").children(".soptclass")).data("soper",t.op),a.text(R.operands[t.op]||(T.customSortOperations[t.op]||{}).operand)}for(i=0;i<T.colModel.length;i++)e=T.colModel[i].name,s.hasOwnProperty(e)||Q(m(e)).val("")}})}})},destroyFilterToolbar:function(){return this.each(function(){var e=this;e.ftoolbar&&(e.triggerToolbar=null,e.clearToolbar=null,e.toggleToolbar=null,e.ftoolbar=!1,Q(e.grid.hDiv).find("table thead tr.ui-search-toolbar").remove(),!0===e.p.frozenColumns&&Q(e).jqGrid("destroyFrozenColumns").jqGrid("setFrozenColumns"))})},destroyGroupHeader:function(c){return void 0===c&&(c=!0),this.each(function(){var e,t,r,a,i,o=this.grid,l=this.p.colModel,s=Q("table.ui-jqgrid-htable thead",o.hDiv);if(o){Q(this).off(".setGroupHeaders");var n=Q("<tr>",{role:"row"}).addClass("ui-jqgrid-labels"),d=o.headers;for(e=0,t=d.length;e<t;e++){i=l[e].hidden?"none":"",r=Q(d[e].el).width(d[e].width).css("display",i);try{r.removeAttr("rowSpan")}catch(e){r.attr("rowSpan",1)}n.append(r),0<(a=r.children("span.ui-jqgrid-resize")).length&&(a[0].style.height=""),r.children("div")[0].style.top=""}Q(s).children("tr.ui-jqgrid-labels").remove(),Q(s).prepend(n),!0===c&&Q(this).jqGrid("setGridParam",{groupHeader:null})}})},setGroupHeaders:function(S){return S=Q.extend({useColSpanStyle:!1,applyLabelClasses:!0,groupHeaders:[]},S||{}),this.each(function(){this.p.groupHeader=S;var e,t,r,a,i,o,l,s,n,d,c,u,h,p,f=this,m=0,g=f.p,v=g.colModel,b=v.length,y=f.grid.headers,w=Q("table.ui-jqgrid-htable",f.grid.hDiv),C=K.isCellClassHidden,q=w.children("thead").children("tr.ui-jqgrid-labels"),j=q.last().addClass("jqg-second-row-header"),D=w.children("thead"),x=w.find(".jqg-first-row-header");void 0===x[0]?x=Q("<tr>",{role:"row","aria-hidden":"true"}).addClass("jqg-first-row-header").css("height","auto"):x.empty();var G=function(e,t){var r;for(r=0;r<t.length;r++)if(t[r].startColumnName===e)return t[r];return 0};for(Q(f).prepend(D),r=Q("<tr>",{role:"row"}).addClass("ui-jqgrid-labels jqg-third-row-header"),e=0;e<b;e++)if(i=y[e].el,o=Q(i),t=v[e],l={height:"0",width:y[e].width+"px",display:t.hidden?"none":""},Q("<th>",{role:"gridcell"}).css(l).addClass("ui-first-th-"+g.direction+(S.applyLabelClasses?" "+(t.labelClasses||""):"")).appendTo(x),i.style.width="",p=Z.call(f,"colHeaders","ui-th-column-header ui-th-"+g.direction+" "+(S.applyLabelClasses&&t.labelClasses||"")),n=G(t.name,S.groupHeaders)){for(d=n.numberOfColumns,c=n.titleText,s=u=0;s<d&&e+s<b;s++)v[e+s].hidden||C(v[e+s].classes)||u++;a=Q("<th>").addClass(p).html(c||"&nbsp;"),0<u&&a.attr("colspan",String(u)),g.headertitles&&a.attr("title",a.text()),0===u&&a.hide(),o.before(a),r.append(i),m=d-1}else 0===m?S.useColSpanStyle?o.attr("rowspan",q.length+1):(Q("<th>").addClass(p).css({display:t.hidden?"none":"","border-top":"0 none"}).insertBefore(o),r.append(i)):(r.append(i),m--);(h=Q(f).children("thead")).prepend(x),r.insertAfter(j),w.prepend(h),Q(f).triggerHandler("jqGridAfterSetGroupHeaders")})},getNumberOfFrozenColumns:function(){var e=this;if(0===e.length)return 0;var t,r=(e=e[0]).p.colModel,a=r.length,i=-1;for(t=0;t<a&&!0===r[t].frozen;t++)i=t;return i+1},setFrozenColumns:function(z){return z=z||{},this.each(function(){var r=this,i=Q(r),v=r.p,o=r.grid;if(o&&null!=v&&!0!==v.frozenColumns){var b,e,t=v.colModel,a=t.length,l=-1,s=!1,n=[],d=Y(v.id),c=Z.call(r,"states.hover");if(!0!==v.subGrid&&!0!==v.treeGrid&&!v.scroll){for(b=0;b<a&&!0===t[b].frozen;b++)s=!0,l=b,n.push("#jqgh_"+d+"_"+Y(t[b].name));if(v.sortable){e=Q(o.hDiv).find(".ui-jqgrid-htable .ui-jqgrid-labels");try{e.sortable("destroy")}catch(e){}i.jqGrid("setGridParam",{sortable:{options:{items:0<n.length?">th:not(:has("+n.join(",")+"),:hidden)":">th:not(:hidden)"}}}),i.jqGrid("sortableColumns",e)}if(0<=l&&s){var u=v.caption?Q(o.cDiv).outerHeight():0,h=Q(".ui-jqgrid-htable",v.gView).height();v.toppager&&(u+=Q(o.topDiv).outerHeight()),!0===v.toolbar[0]&&"bottom"!==v.toolbar[1]&&(u+=Q(o.uDiv).outerHeight()),o.fhDiv=Q("<div style='position:absolute;overflow:hidden;"+("rtl"===v.direction?"right:0;border-top-left-radius:0;":"left:0;border-top-right-radius:0;")+"top:"+u+"px;height:"+h+"px;' class='"+Z.call(r,"hDiv","frozen-div ui-jqgrid-hdiv")+"'></div>"),o.fbDiv=Q("<div style='position:absolute;overflow:hidden;"+("rtl"===v.direction?"right:0;":"left:0;")+"top:"+(parseInt(u,10)+parseInt(h,10)+1)+"px;overflow:hidden;' class='frozen-bdiv ui-jqgrid-bdiv'></div>"),Q(v.gView).append(o.fhDiv);var p=Q(".ui-jqgrid-htable",v.gView).clone(!0),f=p[0].tHead.rows;if(v.groupHeader){Q(f[0].cells).filter(":gt("+l+")").remove(),Q(f).filter(".jqg-third-row-header").each(function(){Q(this).children("th[id]").each(function(){var e,t=Q(this).attr("id");t&&t.substr(0,r.id.length+1)===r.id+"_"&&(e=t.substr(r.id.length+1),v.iColByName[e]>l&&Q(this).remove())})});var m,g=-1,y=-1;Q(f).filter(".jqg-second-row-header").children("th").each(function(){if(m=parseInt(Q(this).attr("colspan")||1,10),1<parseInt(Q(this).attr("rowspan")||1,10)?(g++,y++):m&&(g+=m,y++),g===l)return!1}),g!==l&&(y=l),Q(f).filter(".jqg-second-row-header,.ui-search-toolbar").each(function(){Q(this).children(":gt("+y+")").remove()})}else Q(f).each(function(){Q(this).children(":gt("+l+")").remove()});if(Q(p).width(1),Q(o.fhDiv).append(p).scroll(function(){this.scrollLeft=0}),v.footerrow){var w=Q(".ui-jqgrid-bdiv",v.gView).height();o.fsDiv=Q("<div style='position:absolute;"+("rtl"===v.direction?"right:0;":"left:0;")+"top:"+(parseInt(u,10)+parseInt(h,10)+parseInt(w,10)+1)+"px;' class='frozen-sdiv ui-jqgrid-sdiv'></div>"),Q(v.gView).append(o.fsDiv);var C=Q(".ui-jqgrid-ftable",v.gView).clone(!0);Q("tr",C).each(function(){Q("td:gt("+l+")",this).remove()}),Q(C).width(1),Q(o.fsDiv).append(C)}Q(v.gView).append(o.fbDiv),Q(o.bDiv).scroll(function(){Q(o.fbDiv).scrollTop(Q(this).scrollTop())}),Q(o.fbDiv).on("mousewheel.setFrozenColumns DOMMouseScroll.setFrozenColumns",function(e){o.bDiv.scrollTop+=Q.isFunction(z.mouseWheel)?z.mouseWheel.call(r,e):"mousewheel"===e.type?-e.originalEvent.wheelDelta/10:6*e.originalEvent.detail}),!0===v.hoverrows&&Q(v.idSel).off("mouseover.jqGrid mouseout.jqGrid");var q=function(e,t){var r=e.height();1<=Math.abs(r-t)&&0<t&&(e.height(t),r=e.height(),1<=Math.abs(t-r)&&e.height(t+Math.round(t-r)))},j=function(e,t){var r=e.width();1<=Math.abs(r-t)&&(e.width(t),r=e.width(),1<=Math.abs(t-r)&&e.width(t+Math.round(t-r)))},D=function(e,t,r,a){var i,o,l,s,n,d,c,u,h,p,f,m,g=Q(t).position().top;if(null!=e&&0<e.length){if(e[0].scrollTop=t.scrollTop,e.css("rtl"===v.direction?{top:g,right:0}:{top:g,left:0}),l=e.children("table").children("thead").children("tr"),0===(s=Q(t).children("div").children("table").children("thead").children("tr")).length&&0<e.children("table").length&&(l=Q(e.children("table")[0].rows),s=Q(Q(t).children("div").children("table")[0].rows)),p=0<(o=Math.min(l.length,s.length))?Q(l[0]).position().top:0,f=0<o?Q(s[0]).position().top:0,0<=r)for(0<=a&&(o=Math.min(a+1,o)),i=r;i<o;i++)if("none"!==(n=Q(s[i])).css("display")&&n.is(":visible")){if(g=n.position().top,c=(d=Q(l[i])).position().top,u=n.height(),null!=v.groupHeader&&v.groupHeader.useColSpanStyle)for(m=n[0].cells,b=0;b<m.length;b++)null!=(h=m[b])&&"TH"===h.nodeName.toUpperCase()&&(u=Math.max(u,Q(h).height()));q(d,u+(g-f)+(p-c))}q(e,t.clientHeight)}},x={resizeDiv:!0,resizedRows:{iRowStart:0,iRowEnd:-1}},G={header:x,resizeFooter:!0,body:x};i.on("jqGridAfterGridComplete.setFrozenColumns",function(){Q(v.idSel+"_frozen").remove(),Q(o.fbDiv).height(o.hDiv.clientHeight);var e=Q(this).clone(!0),t=e[0].rows,r=i[0].rows;if(Q(t).filter("tr[role=row]").each(function(){Q(this.cells).filter("td[role=gridcell]:gt("+l+")").remove()}),o.fbRows=t,e.width(1).attr("id",v.id+"_frozen"),e.appendTo(o.fbDiv),!0===v.hoverrows){var a=function(e,t,r){Q(e)[t](c),Q(r[e.rowIndex])[t](c)};Q(t).filter(".jqgrow").hover(function(){a(this,"addClass",r)},function(){a(this,"removeClass",r)}),Q(r).filter(".jqgrow").hover(function(){a(this,"addClass",t)},function(){a(this,"removeClass",t)})}D(o.fhDiv,o.hDiv,0,-1),D(o.fbDiv,o.bDiv,0,-1),o.sDiv&&D(o.fsDiv,o.sDiv,0,-1)});var S=function(e){Q(o.fbDiv).scrollTop(Q(o.bDiv).scrollTop()),e.header.resizeDiv&&D(o.fhDiv,o.hDiv,e.header.resizedRows.iRowStart,e.header.resizedRows.iRowEnd),e.body.resizeDiv&&D(o.fbDiv,o.bDiv,e.body.resizedRows.iRowStart,e.body.resizedRows.iRowEnd),e.resizeFooter&&o.sDiv&&e.resizeFooter&&D(o.fsDiv,o.sDiv,0,-1);var t=o.fhDiv[0].clientWidth;e.header.resizeDiv&&null!=o.fhDiv&&1<=o.fhDiv.length&&q(Q(o.fhDiv),o.hDiv.clientHeight),e.body.resizeDiv&&null!=o.fbDiv&&0<o.fbDiv.length&&j(Q(o.fbDiv),t),e.resizeFooter&&null!=o.fsDiv&&0<=o.fsDiv.length&&j(Q(o.fsDiv),t)};Q(v.gBox).on("resizestop.setFrozenColumns",function(){setTimeout(function(){S(G)},50)}),i.on("jqGridInlineEditRow.setFrozenColumns jqGridInlineAfterRestoreRow.setFrozenColumns jqGridInlineAfterSaveRow.setFrozenColumns jqGridAfterEditCell.setFrozenColumns jqGridAfterRestoreCell.setFrozenColumns jqGridAfterSaveCell.setFrozenColumns jqGridResizeStop.setFrozenColumns",function(e,t){var r=i.jqGrid("getInd",t);S({header:{resizeDiv:!1,resizedRows:{iRowStart:-1,iRowEnd:-1}},resizeFooter:!0,body:{resizeDiv:!0,resizedRows:{iRowStart:r,iRowEnd:r}}})}),i.on("jqGridResizeStop.setFrozenColumns",function(){S(G)}),i.on("jqGridResetFrozenHeights.setFrozenColumns",function(e,t){S(t||G)}),o.hDiv.loading||setTimeout(function(){i.triggerHandler("jqGridAfterGridComplete")},0),v.frozenColumns=!0}}}})},destroyFrozenColumns:function(){return this.each(function(){var e=Q(this),t=this.grid,r=this.p,a=Y(r.id);if(t&&!0===r.frozenColumns){if(Q(t.fhDiv).remove(),Q(t.fbDiv).off(".setFrozenColumns"),Q(t.fbDiv).remove(),t.fhDiv=null,t.fbDiv=null,t.fbRows=null,r.footerrow&&(Q(t.fsDiv).remove(),t.fsDiv=null),e.off(".setFrozenColumns"),!0===r.hoverrows){var i,o=Z.call(this,"states.hover");e.on("mouseover.jqGrid",function(e){i=Q(e.target).closest("tr.jqgrow"),"ui-subgrid"!==Q(i).attr("class")&&Q(i).addClass(o)}).on("mouseout.jqGrid",function(e){i=Q(e.target).closest("tr.jqgrow"),Q(i).removeClass(o)})}if(r.frozenColumns=!1,r.sortable){var l=Q(t.hDiv).find(".ui-jqgrid-htable .ui-jqgrid-labels");l.sortable("destroy"),e.jqGrid("setGridParam",{sortable:{options:{items:">th:not(:has(#jqgh_"+a+"_cb,#jqgh_"+a+"_rn,#jqgh_"+a+"_subgrid),:hidden)"}}}),e.jqGrid("sortableColumns",l)}}})}})}); //# sourceMappingURL=grid.custom.js.map