27 lines
17 KiB
JavaScript
27 lines
17 KiB
JavaScript
/**
|
|
* Kendo UI v2018.1.117 (http://www.telerik.com/kendo-ui)
|
|
* Copyright 2018 Telerik AD. All rights reserved.
|
|
*
|
|
* Kendo UI commercial licenses may be obtained at
|
|
* http://www.telerik.com/purchase/license-agreement/kendo-ui-complete
|
|
* If you do not own a commercial license, this file shall be governed by the trial license terms.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*/
|
|
!function(e,define){define("kendo.columnmenu.min",["kendo.popup.min","kendo.filtermenu.min","kendo.menu.min"],e)}(function(){return function(e,n){function l(n){return e.trim(n).replace(/ /gi,"")}function i(e,n){var l,i,s,t={};for(l=0,i=e.length;l<i;l++)s=e[l],t[s[n]]=s;return t}function s(e){var n,l=[];for(n=0;n<e.length;n++)e[n].columns?l=l.concat(s(e[n].columns)):l.push(e[n]);return l}function t(e,n){return"["+a.attr(e)+"='"+(n||"").replace(/'/g,'"')+"']"}function o(e,n,l){e>0?n.insertAfter(l.children().eq(e-1)):l.prepend(n)}var a=window.kendo,r=a.ui,c=e.proxy,u=e.extend,d=e.grep,p=e.map,m=e.inArray,f="k-state-selected",k="asc",h="desc",g="change",b="init",w="open",C="select",v="kendoPopup",_="kendoFilterMenu",x="kendoMenu",M=".kendoColumnMenu",S=r.Widget,y=S.extend({init:function(n,l){var i,s=this;S.fn.init.call(s,n,l),n=s.element,l=s.options,s.owner=l.owner,s.dataSource=l.dataSource,s.field=n.attr(a.attr("field")),s.title=n.attr(a.attr("title")),i=n.find(".k-header-column-menu"),i[0]||(i=n.addClass("k-with-icon").prepend('<a class="k-header-column-menu" href="#" title="'+l.messages.settings+'" aria-label="'+l.messages.settings+'"><span class="k-icon k-i-more-vertical"></span></a>').find(".k-header-column-menu")),s.link=i.attr("tabindex",-1).on("click"+M,c(s._click,s)),s.wrapper=e('<div class="k-column-menu"/>'),s._refreshHandler=c(s.refresh,s),s.dataSource.bind(g,s._refreshHandler)},_init:function(){var e=this;e.pane=e.options.pane,e.pane&&(e._isMobile=!0),e._isMobile?e._createMobileMenu():e._createMenu(),e.owner._muteAngularRebind(function(){e._angularItems("compile")}),e._sort(),e._columns(),e._filter(),e._lockColumns(),e.trigger(b,{field:e.field,container:e.wrapper})},events:[b,w,"sort","filtering"],options:{name:"ColumnMenu",messages:{sortAscending:"Sort Ascending",sortDescending:"Sort Descending",filter:"Filter",columns:"Columns",done:"Done",settings:"Column Settings",lock:"Lock",unlock:"Unlock"},filter:"",columns:!0,sortable:!0,filterable:!0,animations:{left:"slide"}},_createMenu:function(){var e=this,n=e.options;e.wrapper.html(a.template(H)({uid:a.guid(),ns:a.ns,messages:n.messages,sortable:n.sortable,filterable:n.filterable,columns:e._ownerColumns(),showColumns:n.columns,lockedColumns:n.lockedColumns})),e.popup=e.wrapper[v]({anchor:e.link,open:c(e._open,e),activate:c(e._activate,e),close:function(){e.options.closeCallback&&e.options.closeCallback(e.element)}}).data(v),e.menu=e.wrapper.children()[x]({orientation:"vertical",closeOnClick:!1}).data(x)},_createMobileMenu:function(){var e=this,n=e.options,l=a.template(L)({ns:a.ns,field:e.field,title:e.title||e.field,messages:n.messages,sortable:n.sortable,filterable:n.filterable,columns:e._ownerColumns(),showColumns:n.columns,lockedColumns:n.lockedColumns});e.view=e.pane.append(l),e.wrapper=e.view.element.find(".k-column-menu"),e.menu=new $(e.wrapper.children(),{pane:e.pane}),e.view.element.on("click",".k-done",function(n){e.close(),n.preventDefault()}),e.options.lockedColumns&&e.view.bind("show",function(){e._updateLockedColumns()})},_angularItems:function(n){var l=this;l.angular(n,function(){var n=l.wrapper.find(".k-columns-item input["+a.attr("field")+"]").map(function(){return e(this).closest("li")}),i=p(l._ownerColumns(),function(e){return{column:e._originalObject}});return{elements:n,data:i}})},destroy:function(){var e=this;e._angularItems("cleanup"),S.fn.destroy.call(e),e.filterMenu&&e.filterMenu.destroy(),e._refreshHandler&&e.dataSource.unbind(g,e._refreshHandler),e.options.columns&&e.owner&&(e._updateColumnsMenuHandler&&(e.owner.unbind("columnShow",e._updateColumnsMenuHandler),e.owner.unbind("columnHide",e._updateColumnsMenuHandler)),e._updateColumnsLockedStateHandler&&(e.owner.unbind("columnLock",e._updateColumnsLockedStateHandler),e.owner.unbind("columnUnlock",e._updateColumnsLockedStateHandler))),e.menu&&(e.menu.element.off(M),e.menu.destroy()),e.wrapper.off(M),e.popup&&e.popup.destroy(),e.view&&e.view.purge(),e.link.off(M),e.owner=null,e.wrapper=null,e.element=null},close:function(){this.menu.close(),this.popup&&(this.popup.close(),this.popup.element.off("keydown"+M))},_click:function(e){var n,l=this;e.preventDefault(),e.stopPropagation(),n=this.options,n.filter&&this.element.is(!n.filter)||(this.popup||this.pane?l._reorderColumnList():this._init(),this._isMobile?this.pane.navigate(this.view,this.options.animations.left):this.popup.toggle())},_reorderColumnList:function(){var n,l,i=this,s=i._ownerColumns()||[],a=i._isMobile&&i.view?e(i.view.element).find(".k-columns-item").children("ul"):e(i.wrapper).find(".k-menu-group");for(n=0;n<s.length;n++)l=a.find(t("field",s[n].originalField)).closest("li"),l[0]&&l.index()!==n&&o(n,l,a)},_open:function(){var n=this;e(".k-column-menu").not(n.wrapper).each(function(){e(this).data(v).close()}),n.popup.element.on("keydown"+M,function(e){e.keyCode==a.keys.ESC&&n.close()}),n.options.lockedColumns&&n._updateLockedColumns()},_activate:function(){this.menu.element.focus(),this.trigger(w,{field:this.field,container:this.wrapper})},_ownerColumns:function(){var e=s(this.owner.columns),n=d(e,function(e){var n=!0,i=l(e.title||"");return e.menu!==!1&&(e.field||i.length)||(n=!1),n});return p(n,function(n){return{originalField:n.field,field:n.field||n.title,title:n.title||n.field,hidden:n.hidden,index:m(n,e),locked:!!n.locked,_originalObject:n}})},_sort:function(){var n=this;n.options.sortable&&(n.refresh(),n.menu.bind(C,function(l){var i,s=e(l.item);s.hasClass("k-sort-asc")?i=k:s.hasClass("k-sort-desc")&&(i=h),i&&(s.parent().find(".k-sort-"+(i==k?h:k)).removeClass(f),n._sortDataSource(s,i),n.close())}))},_sortDataSource:function(e,l){var i,s,t=this,o=t.options.sortable,a=null===o.compare?n:o.compare,r=t.dataSource,c=r.sort()||[],u=e.hasClass(f)&&o&&o.allowUnsort!==!1;if(l=u?n:l,!t.trigger("sort",{sort:{field:t.field,dir:l,compare:a}})){if(u?e.removeClass(f):e.addClass(f),"multiple"===o.mode){for(i=0,s=c.length;i<s;i++)if(c[i].field===t.field){c.splice(i,1);break}c.push({field:t.field,dir:l,compare:a})}else c=[{field:t.field,dir:l,compare:a}];r.sort(c)}},_columns:function(){var n=this;n.options.columns&&(n._updateColumnsMenu(),n._updateColumnsMenuHandler=c(n._updateColumnsMenu,n),n.owner.bind(["columnHide","columnShow"],n._updateColumnsMenuHandler),n._updateColumnsLockedStateHandler=c(n._updateColumnsLockedState,n),n.owner.bind(["columnUnlock","columnLock"],n._updateColumnsLockedStateHandler),n.menu.bind(C,function(l){var i,t,o,r=e(l.item),c=s(n.owner.columns);n._isMobile&&l.preventDefault(),r.parent().closest("li.k-columns-item")[0]&&(i=r.find(":checkbox"),i.attr("disabled")||(o=i.attr(a.attr("field")),t=d(c,function(e){return e.field==o||e.title==o})[0],t.hidden===!0?n.owner.showColumn(t):n.owner.hideColumn(t)))}))},_updateColumnsMenu:function(){var e,n,l,i,s,t,o=a.attr("field"),r=a.attr("locked"),c=d(this._ownerColumns(),function(e){return!e.hidden}),u=d(c,function(e){return e.originalField}),f=d(u,function(e){return e.locked===!0}).length,k=d(u,function(e){return e.locked!==!0}).length;for(c=p(c,function(e){return e.field}),this.wrapper.find("[role='menuitemcheckbox']").attr("aria-checked",!1),t=this.wrapper.find(".k-columns-item input["+o+"]").prop("disabled",!1).prop("checked",!1),e=0,n=t.length;e<n;e++)l=t.eq(e),s="true"===l.attr(r),i=!1,m(l.attr(o),c)>-1&&(i=!0,l.prop("checked",i)),l.closest("[role='menuitemcheckbox']").attr("aria-checked",i),i&&(1==f&&s&&l.prop("disabled",!0),1!=k||s||l.prop("disabled",!0))},_updateColumnsLockedState:function(){var e,n,l,s,t=a.attr("field"),o=a.attr("locked"),r=i(this._ownerColumns(),"field"),c=this.wrapper.find(".k-columns-item input[type=checkbox]");for(e=0,n=c.length;e<n;e++)l=c.eq(e),s=r[l.attr(t)],s&&l.attr(o,s.locked);this._updateColumnsMenu()},_filter:function(){var n=this,l=_,i=n.options;i.filterable!==!1&&(i.filterable.multi&&(l="kendoFilterMultiCheck",i.filterable.dataSource&&(i.filterable.checkSource=i.filterable.dataSource,delete i.filterable.dataSource)),n.filterMenu=n.wrapper.find(".k-filterable")[l](u(!0,{},{appendToElement:!0,dataSource:i.dataSource,values:i.values,field:n.field,title:n.title,change:function(e){n.trigger("filtering",{filter:e.filter,field:e.field})&&e.preventDefault()}},i.filterable)).data(l),n._isMobile&&n.menu.bind(C,function(l){var i=e(l.item);i.hasClass("k-filter-item")&&n.pane.navigate(n.filterMenu.view,n.options.animations.left)}))},_lockColumns:function(){var n=this;n.menu.bind(C,function(l){var i=e(l.item);i.hasClass("k-lock")?(n.owner.lockColumn(n.field),n.close()):i.hasClass("k-unlock")&&(n.owner.unlockColumn(n.field),n.close())})},_updateLockedColumns:function(){var e,n,l,i,s=this.field,t=this.owner.columns,o=d(t,function(e){return e.field==s||e.title==s})[0];o&&(e=o.locked===!0,n=d(t,function(n){return!n.hidden&&(n.locked&&e||!n.locked&&!e)}).length,l=this.wrapper.find(".k-lock").removeClass("k-state-disabled"),i=this.wrapper.find(".k-unlock").removeClass("k-state-disabled"),(e||1==n)&&l.addClass("k-state-disabled"),e&&1!=n||i.addClass("k-state-disabled"),this._updateColumnsLockedState())},refresh:function(){var e,n,l,i=this,s=i.options.dataSource.sort()||[],t=i.field;for(i.wrapper.find(".k-sort-asc, .k-sort-desc").removeClass(f),n=0,l=s.length;n<l;n++)e=s[n],t==e.field&&i.wrapper.find(".k-sort-"+e.dir).addClass(f);i.link[i._filterExist(i.dataSource.filter())?"addClass":"removeClass"]("k-state-active")},_filterExist:function(e){var n,l,i,s=!1;if(e){for(e=e.filters,l=0,i=e.length;l<i;l++)n=e[l],n.field==this.field?s=!0:n.filters&&(s=s||this._filterExist(n));return s}}}),H='<ul id="#=uid#">#if(sortable){#<li class="k-item k-sort-asc"><span class="k-link"><span class="k-icon k-i-sort-asc-sm"></span>${messages.sortAscending}</span></li><li class="k-item k-sort-desc"><span class="k-link"><span class="k-icon k-i-sort-desc-sm"></span>${messages.sortDescending}</span></li>#if(showColumns || filterable){#<li class="k-separator" role="presentation"></li>#}##}##if(showColumns){#<li class="k-item k-columns-item" aria-haspopup="true"><span class="k-link"><span class="k-icon k-i-columns"></span>${messages.columns}</span><ul>#for (var idx = 0; idx < columns.length; idx++) {#<li role="menuitemcheckbox" aria-checked="false"><input type="checkbox" data-#=ns#field="#=columns[idx].field.replace(/"/g,"&\\#34;")#" data-#=ns#index="#=columns[idx].index#" data-#=ns#locked="#=columns[idx].locked#"/>#=columns[idx].title#</li>#}#</ul></li>#if(filterable || lockedColumns){#<li class="k-separator" role="presentation"></li>#}##}##if(filterable){#<li class="k-item k-filter-item" aria-haspopup="true"><span class="k-link"><span class="k-icon k-i-filter"></span>${messages.filter}</span><ul><li><div class="k-filterable"></div></li></ul></li>#if(lockedColumns){#<li class="k-separator" role="presentation"></li>#}##}##if(lockedColumns){#<li class="k-item k-lock"><span class="k-link"><span class="k-icon k-i-lock"></span>${messages.lock}</span></li><li class="k-item k-unlock"><span class="k-link"><span class="k-icon k-i-unlock"></span>${messages.unlock}</span></li>#}#</ul>',L='<div data-#=ns#role="view" data-#=ns#init-widgets="false" data-#=ns#use-native-scrolling="true" class="k-grid-column-menu"><div data-#=ns#role="header" class="k-header">${messages.settings}<button class="k-button k-done">#=messages.done#</button></div><div class="k-column-menu k-mobile-list"><ul><li><span class="k-link">${title}</span><ul>#if(sortable){#<li class="k-item k-sort-asc"><span class="k-link"><span class="k-icon k-i-sort-asc-sm"></span>${messages.sortAscending}</span></li><li class="k-item k-sort-desc"><span class="k-link"><span class="k-icon k-i-sort-desc-sm"></span>${messages.sortDescending}</span></li>#}##if(lockedColumns){#<li class="k-item k-lock"><span class="k-link"><span class="k-icon k-i-lock"></span>${messages.lock}</span></li><li class="k-item k-unlock"><span class="k-link"><span class="k-icon k-i-unlock"></span>${messages.unlock}</span></li>#}##if(filterable){#<li class="k-item k-filter-item"><span class="k-link k-filterable"><span class="k-icon k-i-filter"></span>${messages.filter}</span></li>#}#</ul></li>#if(showColumns){#<li class="k-columns-item"><span class="k-link">${messages.columns}</span><ul>#for (var idx = 0; idx < columns.length; idx++) {#<li class="k-item"><label class="k-label"><input type="checkbox" class="k-check" data-#=ns#field="#=columns[idx].field.replace(/"/g,"&\\#34;")#" data-#=ns#index="#=columns[idx].index#" data-#=ns#locked="#=columns[idx].locked#"/>#=columns[idx].title#</label></li>#}#</ul></li>#}#</ul></div></div>',$=S.extend({init:function(e,n){S.fn.init.call(this,e,n),this.element.on("click"+M,"li.k-item:not(.k-separator):not(.k-state-disabled)","_click")},events:[C],_click:function(n){e(n.target).is("[type=checkbox]")||n.preventDefault(),this.trigger(C,{item:n.currentTarget})},close:function(){this.options.pane.navigate("")},destroy:function(){S.fn.destroy.call(this),this.element.off(M)}});r.plugin(y)}(window.kendo.jQuery),window.kendo},"function"==typeof define&&define.amd?define:function(e,n,l){(l||n)()});
|
|
//# sourceMappingURL=kendo.columnmenu.min.js.map
|