grid.jqueryui.js 15 KB

12
  1. !function(t,i){"use strict";"function"==typeof define&&define.amd?define(["jquery","./grid.base","free-jqgrid-plugins/ui.multiselect","jquery-ui/dialog","jquery-ui/draggable","jquery-ui/droppable","jquery-ui/resizable","jquery-ui/sortable"],function(e){return i(e,t,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("free-jqgrid-plugins/ui.multiselect"),require("jquery-ui/dialog"),require("jquery-ui/draggable"),require("jquery-ui/droppable"),require("jquery-ui/resizable"),require("jquery-ui/sortable"),i(t,e,e.document),t}:i(jQuery,t,t.document)}("undefined"!=typeof window?window:this,function(G,x,s){"use strict";var C=G.jgrid,F=C.jqID,z=null!=G.ui?G.ui.multiselect:null,H=function(i){if(null!=this.grid&&null!=this.grid.p){var o,e,t,r,n,a=this,d=this.grid.p,l=this.gh,s=this.selectedList,u=this.inGroup,c=s.find("li"),p=c.length-1,h=function(e,t,i){var o,r,n=s.find("li");for(void 0===t&&(t=i?n.length-1:0),o=t;i?0<=o:o<n.length;i?o--:o++)if((r=G(n[o]).data("optionLink"))&&e.call(n[o],parseInt(r.val(),10),o))return o},g=function(){0<=(e=G.inArray(d.colModel[i].name,a.newColOrder))&&a.newColOrder.splice(e,1),c=s.find("li"),o=0,h(function(e,t){if(e===i){for(p=t;0<=o&&o<d.colModel.length&&o!==i&&(d.colModel[o].hidden||d.colModel[o].hidedlg)&&(null==u||u[o]===u[i]);)o++;return a.newColOrder.splice(o,0,d.colModel[i].name),!0}(o=G.inArray(d.colModel[e].name,a.newColOrder,o))<0&&(o=G.inArray(d.colModel[e].name,a.newColOrder)),o++})},f=function(e){if(u[e]===u[i])return G(this).after(c[p]),g(),!0},m=function(e){if(u[e]===u[i])return G(this).before(c[p]),g(),!0},b=function(e){if(u[e]===u[i]&&void 0!==u[e])return l[u[e]].startColumnName=d.colModel[e].name,!0};if(g(),l&&void 0!==l[u[i]]){for(r=l[u[i]],e=0;e<r.numberOfColumns;e++)if(o=d.iColByName[r.startColumnName]+e,!d.colModel[o].hidden&&!d.colModel[o].hidedlg){h(f,p-1,!0),h(m,p+1),h(b);break}}else if(l){if(c=s.find("li"),(e=h(function(e){if(e===i)return!0}))+1>=c.length||e<0)return;if((n=G(c[e+1]).data("optionLink"))&&void 0!==(t=u[parseInt(n.val(),10)])&&(n=G(c[e-1]).data("optionLink"))&&u[parseInt(n.val(),10)]===t){var v=h(function(e){if(u[e]!==t)return!0},e+1);G(c[void 0===v||v>=c.length?c.length-1:v-1]).after(c[p]),g()}}}};if(C.msie&&8===C.msiever()&&(G.expr[":"].hidden=function(e){return 0===e.offsetWidth||0===e.offsetHeight||"none"===e.style.display}),C._multiselect=!1,z){if(z.prototype._setSelected){var n=z.prototype._setSelected;z.prototype._setSelected=function(e,t){var i=n.call(this,e,t),o=this.element,r=parseInt(e.data("optionLink").val(),10);return t&&this.selectedList&&(H.call(this,r),this.selectedList.find("li").each(function(){G(this).data("optionLink")&&G(this).data("optionLink").remove().appendTo(o)})),i}}z.prototype.destroy&&(z.prototype.destroy=function(){var e=this;e.element.show(),e.container.remove(),void 0===G.Widget?G.widget.prototype.destroy.apply(e,arguments):G.Widget.prototype.destroy.apply(e,arguments)}),C._multiselect=!0}C.extend({sortableColumns:function(l){return this.each(function(){var n=this,a=n.p,e=F(a.id);if(a&&a.sortable&&G.isFunction(G.fn.sortable)){var t={tolerance:"pointer",axis:"x",scrollSensitivity:"1",items:">th:not(:has(#jqgh_"+e+"_cb,#jqgh_"+e+"_rn,#jqgh_"+e+"_subgrid),:hidden)",placeholder:{element:function(e){return G(s.createElement(e[0].nodeName)).addClass(e[0].className+" ui-sortable-placeholder ui-state-highlight").removeClass("ui-sortable-helper")[0]},update:function(e,t){t.height(e.currentItem.innerHeight()-parseInt(e.currentItem.css("paddingTop")||0,10)-parseInt(e.currentItem.css("paddingBottom")||0,10)),t.width(e.currentItem.innerWidth()-parseInt(e.currentItem.css("paddingLeft")||0,10)-parseInt(e.currentItem.css("paddingRight")||0,10))}},start:function(){n.grid.hDiv.scrollLeft=n.grid.bDiv.scrollLeft},update:function(e,t){var i=G(">th",G(t.item).parent()),o=a.id+"_",r=[];i.each(function(){var e=G(">div",this).get(0).id.replace(/^jqgh_/,"").replace(o,""),t=a.iColByName[e];void 0!==t&&r.push(t)}),G(n).jqGrid("remapColumns",r,!0,!0),G.isFunction(a.sortable.update)&&a.sortable.update(r),setTimeout(function(){a.disableClick=!1},50)}};if(a.sortable.options?G.extend(t,a.sortable.options):G.isFunction(a.sortable)&&(a.sortable={update:a.sortable}),t.start){var i=t.start;t.start=function(e,t){d(),i.call(this,e,t)}}else t.start=d;a.sortable.exclude&&(t.items+=":not("+a.sortable.exclude+")");var o=l.sortable(t),r=o.data("sortable")||o.data("uiSortable")||o.data("ui-sortable");null!=r&&(r.floating=!0)}function d(){a.disableClick=!0}})},columnChooser:function(n){var t,a,e,i,o,d,r,l=this,s=l[0],u=s.p,c=u.colModel,p=c.length,h=u.colNames,g=function(e){return z&&z.prototype&&e.data(z.prototype.widgetFullName||z.prototype.widgetName)||e.data("ui-multiselect")||e.data("multiselect")};if(!G("#colchooser_"+F(u.id)).length){if(t=G('<div id="colchooser_'+u.id+'" style="position:relative;overflow:hidden"><div><select multiple="multiple"></select></div></div>'),a=G("select",t),n=G.extend({width:400,height:240,classname:null,done:function(e){e&&l.jqGrid("remapColumns",e,!0)},msel:"multiselect",dlog:"dialog",dialog_opts:{minWidth:470,dialogClass:"ui-jqdialog"},dlog_opts:function(e){var t={};return t[e.bSubmit]=function(){e.apply_perm(),e.cleanup(!1)},t[e.bCancel]=function(){e.cleanup(!0)},G.extend(!0,{buttons:t,close:function(){e.cleanup(!0)},modal:e.modal||!1,resizable:e.resizable||!0,width:e.width+70,resize:function(){var e=g(a),t=e.container.closest(".ui-dialog-content");0<t.length&&"object"==typeof t[0].style?t[0].style.width="":t.css("width",""),e.selectedList.height(Math.max(e.selectedContainer.height()-e.selectedActions.outerHeight()-1,1)),e.availableList.height(Math.max(e.availableContainer.height()-e.availableActions.outerHeight()-1,1))}},e.dialog_opts||{})},apply_perm:function(){var e,t,i=new Array(u.colModel.length),o={notSkipFrozen:void 0!==n.notSkipFrozen&&n.notSkipFrozen,skipSetGridWidth:!0,skipSetGroupHeaders:!0};for(e=0;e<u.colModel.length;e++)i[e]=u.iColByName[d.newColOrder[e]];if(G("option",a).each(function(){G(this).is(":selected")?l.jqGrid("showCol",c[this.value].name,o):l.jqGrid("hideCol",c[this.value].name,o)}),n.done&&n.done.call(l,i),u.groupHeader&&("object"==typeof u.groupHeader||G.isFunction(u.groupHeader)))if(l.jqGrid("destroyGroupHeader",!1),u.groupHeader.groupHeaders=d.gh,null!=u.pivotOptions&&null!=u.pivotOptions.colHeaders&&1<u.pivotOptions.colHeaders.length)for(t=u.pivotOptions.colHeaders,e=0;e<t.length;e++)t[e]&&t[e].groupHeaders.length&&l.jqGrid("setGroupHeaders",t[e]);else l.jqGrid("setGroupHeaders",u.groupHeader);var r=u.autowidth||void 0!==u.widthOrg&&"auto"!==u.widthOrg&&"100%"!==u.widthOrg?u.width:u.tblwidth;r!==u.width&&l.jqGrid("setGridWidth",r,u.shrinkToFit)},cleanup:function(e){q(n.dlog,t,"destroy"),q(n.msel,a,"destroy"),t.remove(),e&&n.done&&n.done.call(l)},msel_opts:{}},l.jqGrid("getGridRes","col"),C.col,n||{}),G.ui&&z&&z.defaults){if(!C._multiselect)return void(null!=C.defaults&&G.isFunction(C.defaults.fatalError)?C.defaults.fatalError:alert)("Multiselect plugin loaded after jqGrid. Please load the plugin before the jqGrid!");n.msel_opts=G.extend(z.defaults,n.msel_opts)}n.caption&&t.attr("title",n.caption),n.classname&&(t.addClass(n.classname),a.addClass(n.classname)),n.width&&(G(">div",t).css({width:n.width,margin:"0 auto"}),a.css("width",n.width)),n.height&&(G(">div",t).css("height",n.height),a.css("height",n.height-10)),a.empty();var f,m,b,v,y=null!=u.groupHeader?u.groupHeader.groupHeaders:0,w={};if(y)for(f=0;f<y.length;f++)for(v=y[f],m=0;m<v.numberOfColumns;m++)b=u.iColByName[v.startColumnName]+m,w[b]=G.isFunction(n.buildItemText)?n.buildItemText.call(l[0],{iCol:b,cm:c[b],cmName:c[b].name,colName:h[b],groupTitleText:v.titleText}):G.jgrid.stripHtml(v.titleText)+": "+G.jgrid.stripHtml(""===h[b]?c[b].name:h[b]);for(b=0;b<p;b++)void 0===w[b]&&(w[b]=G.isFunction(n.buildItemText)?n.buildItemText.call(l[0],{iCol:b,cm:c[b],cmName:c[b].name,colName:h[b],groupTitleText:null}):G.jgrid.stripHtml(h[b]));if(G.each(c,function(e){this.hidedlg||a.append("<option value='"+e+"'"+(u.headertitles||this.headerTitle?" title='"+C.stripHtml("string"==typeof this.headerTitle?this.headerTitle:w[e])+"'":"")+(this.hidden?"":" selected='selected'")+">"+w[e]+"</option>")}),e=G.isFunction(n.dlog_opts)?n.dlog_opts.call(l,n):n.dlog_opts,q(n.dlog,t,e),i=G.isFunction(n.msel_opts)?n.msel_opts.call(l,n):n.msel_opts,q(n.msel,a,i),(o=G("#colchooser_"+F(u.id))).css({margin:"auto"}),o.find(">div").css({width:"100%",height:"100%",margin:"auto"}),d=g(a)){var _,j;if(d.grid=s,y)for(d.gh=G.extend(!0,[],y),d.inGroup=new Array(u.colModel.length),_=0;_<y.length;_++)for(j=y[_],b=0;b<j.numberOfColumns;b++)d.inGroup[u.iColByName[j.startColumnName]+b]=_;d.newColOrder=G.map(c,function(e){return e.name}),d.container.css({width:"100%",height:"100%",margin:"auto"}),d.selectedContainer.css({width:100*d.options.dividerLocation+"%",height:"100%",margin:"auto",boxSizing:"border-box"}),d.availableContainer.css({width:100-100*d.options.dividerLocation+"%",height:"100%",margin:"auto",boxSizing:"border-box"}),d.selectedList.css("height","auto"),d.availableList.css("height","auto"),r=Math.max(d.selectedList.height(),d.availableList.height()),r=Math.min(r,G(x).height()),d.selectedList.css("height",r),d.availableList.css("height",r),null!=d.options&&d.options.sortable&&d.selectedList.on("sortupdate",function(e,t){H.call(d,parseInt(t.item.data("optionLink").val(),10)),t.item.css({width:"",height:""}),G.isFunction(n.sortUpdate)&&n.sortUpdate.call(s,e,t)}),G.isFunction(n.init)&&n.init.call(s,d)}}function q(e,t){e&&("string"==typeof e?G.fn[e]&&G.fn[e].apply(t,G.makeArray(arguments).slice(2)):G.isFunction(e)&&e.apply(t,G.makeArray(arguments).slice(2)))}},sortableRows:function(a){return this.each(function(){var o=this,r=o.grid,n=o.p;r&&(n.treeGrid||G.fn.sortable&&((a=G.extend({cursor:"move",axis:"y",items:">tbody>.jqgrow"},a||{})).start&&G.isFunction(a.start)?(a._start_=a.start,delete a.start):a._start_=!1,a.update&&G.isFunction(a.update)?(a._update_=a.update,delete a.update):a._update_=!1,a.start=function(e,t){if(G(t.item).css("border-width","0"),G("td",t.item).each(function(e){this.style.width=r.cols[e].style.width}),n.subGrid){var i=G(t.item).attr("id");try{G(o).jqGrid("collapseSubGridRow",i)}catch(e){}}a._start_&&a._start_.apply(this,[e,t])},a.update=function(e,t){G(t.item).css("border-width",""),!0===n.rownumbers&&G("td.jqgrid-rownum",o.rows).each(function(e){G(this).html(e+1+(parseInt(n.page,10)-1)*parseInt(n.rowNum,10))}),a._update_&&a._update_.apply(this,[e,t])},G(o).sortable(a)))})},gridDnD:function(o){return this.each(function(){var e,t,f=this;if(f.grid&&!f.p.treeGrid&&G.fn.draggable&&G.fn.droppable){if(void 0===G("#jqgrid_dnd")[0]&&G("body").append("<table id='jqgrid_dnd' class='ui-jqgrid-dnd'></table>"),"string"!=typeof o||"updateDnD"!==o||!0!==f.p.jqgdnd){if((o=G.extend({drag:function(r){return G.extend({start:function(e,t){var i,o;if(f.p.subGrid){o=G(t.helper).attr("id");try{G(f).jqGrid("collapseSubGridRow",o)}catch(e){}}for(i=0;i<G.data(f,"dnd").connectWith.length;i++)0===G(G.data(f,"dnd").connectWith[i]).jqGrid("getGridParam","reccount")&&G(G.data(f,"dnd").connectWith[i]).jqGrid("addRowData","jqg_empty_row",{});t.helper.addClass("ui-state-highlight"),G("td",t.helper).each(function(e){this.style.width=f.grid.headers[e].width+"px"}),r.onstart&&G.isFunction(r.onstart)&&r.onstart.call(G(f),e,t)},stop:function(e,t){var i,o;for(t.helper.dropped&&!r.dragcopy&&(void 0===(o=G(t.helper).attr("id"))&&(o=G(this).attr("id")),G(f).jqGrid("delRowData",o)),i=0;i<G.data(f,"dnd").connectWith.length;i++)G(G.data(f,"dnd").connectWith[i]).jqGrid("delRowData","jqg_empty_row");r.onstop&&G.isFunction(r.onstop)&&r.onstop.call(G(f),e,t)}},r.drag_opts||{})},drop:function(g){return G.extend({accept:function(e){if(!G(e).hasClass("jqgrow"))return e;var t=G(e).closest("table.ui-jqgrid-btable");if(0<t.length&&void 0!==G.data(t[0],"dnd")){var i=G.data(t[0],"dnd").connectWith;return-1!==G.inArray("#"+F(this.id),i)}return!1},drop:function(e,t){if(G(t.draggable).hasClass("jqgrow")){var i,o=G(t.draggable).attr("id"),r=t.draggable.parent().parent(),n=r.jqGrid("getRowData",o);if(!g.dropbyname){var a,d,l,s,u={},c=r.jqGrid("getGridParam","colModel"),p=G("#"+F(this.id)).jqGrid("getGridParam","colModel");try{for(d=a=0;a<c.length&&d<p.length;a++)if("cb"!==(l=c[a].name)&&"rn"!==l&&"subgrid"!==l){for(;d<p.length;d++)if("cb"!==(s=p[d].name)&&"rn"!==s&&"subgrid"!==s){u[s]=n[l];break}d++}n=u}catch(e){}}if(t.helper.dropped=!0,g.beforedrop&&G.isFunction(g.beforedrop)){var h=g.beforedrop.call(this,e,t,n,G("#"+F(f.p.id)),G(this));null!=h&&"object"==typeof h&&(n=h)}if(t.helper.dropped)g.autoid&&(i=G.isFunction(g.autoid)?g.autoid.call(this,n,{rowid:o,ev:e,ui:t}):(i=Math.ceil(1e3*Math.random()),g.autoidprefix+i)),G("#"+F(this.id)).jqGrid("addRowData",i,n,g.droppos),n[f.p.localReader.id]=i;g.ondrop&&G.isFunction(g.ondrop)&&g.ondrop.call(this,e,t,n)}}},g.drop_opts||{})},onstart:null,onstop:null,beforedrop:null,ondrop:null,drop_opts:{},drag_opts:{revert:"invalid",helper:"clone",cursor:"move",appendTo:"#jqgrid_dnd",zIndex:5e3},dragcopy:!1,dropbyname:!1,droppos:"first",autoid:!0,autoidprefix:"dnd_"},o||{})).connectWith)for(o.connectWith=o.connectWith.split(","),o.connectWith=G.map(o.connectWith,function(e){return G.trim(e)}),G.data(f,"dnd",o),0===f.p.reccount||f.p.jqgdnd||i(),f.p.jqgdnd=!0,e=0;e<o.connectWith.length;e++)t=o.connectWith[e],G(t).droppable(G.isFunction(o.drop)?o.drop.call(G(f),o):o.drop)}else i()}function i(){var e=G.data(f,"dnd");G("tr.jqgrow:not(.ui-draggable)",f).draggable(G.isFunction(e.drag)?e.drag.call(G(f),e):e.drag)}})},gridResize:function(s){return this.each(function(){var i,o=this,r=o.grid,n=o.p,a=n.gView+">.ui-jqgrid-bdiv",d=!1,l=n.height;if(r&&G.fn.resizable){if((s=G.extend({},s||{})).alsoResize?(s._alsoResize_=s.alsoResize,delete s.alsoResize):s._alsoResize_=!1,s.stop&&G.isFunction(s.stop)?(s._stop_=s.stop,delete s.stop):s._stop_=!1,s.stop=function(e,t){G(o).jqGrid("setGridWidth",t.size.width,s.shrinkToFit),G(n.gView+">.ui-jqgrid-titlebar").css("width",""),d?(G(i).each(function(){G(this).css("height","")}),"auto"!==l&&"100%"!==l||G(r.bDiv).css("height",l)):G(o).jqGrid("setGridParam",{height:G(a).height()}),o.fixScrollOffsetAndhBoxPadding&&o.fixScrollOffsetAndhBoxPadding(),s._stop_&&s._stop_.call(o,e,t)},i=a,"auto"!==l&&"100%"!==l||void 0!==s.handles||(s.handles="e,w"),s.handles){var e=G.map(String(s.handles).split(","),function(e){return G.trim(e)});2===e.length&&("e"===e[0]&&"w"===e[1]||"e"===e[1]&&"w"===e[1])&&(i=n.gView+">div:not(.frozen-div)",d=!0,n.pager&&(i+=","+n.pager))}s._alsoResize_?s.alsoResize=i+","+s._alsoResize_:s.alsoResize=i,delete s._alsoResize_,G(n.gBox).resizable(s)}})}})});
  2. //# sourceMappingURL=grid.jqueryui.js.map