/* * Kendo UI Complete v2013.3.1119 (http://kendoui.com) * Copyright 2013 Telerik AD. All rights reserved. * * Kendo UI Complete commercial licenses may be obtained at * https://www.kendoui.com/purchase/license-agreement/kendo-ui-complete-commercial.aspx * If you do not own a commercial license, this file shall be governed by the trial license terms. */ !function(define){return define(["./kendo.popup.min","./kendo.filtermenu.min","./kendo.menu.min"],function(){!function(e,n){function s(n){return e.trim(n).replace(/ /gi,"")}var i=window.kendo,t=i.ui,l=e.proxy,a=e.extend,o=e.grep,r=e.map,c=e.inArray,u="k-state-selected",d="asc",p="desc",f="change",m="init",k="select",h="kendoPopup",g="kendoFilterMenu",v="kendoMenu",b=".kendoColumnMenu",w=t.Widget,_=w.extend({init:function(n,s){var t,a=this;w.fn.init.call(a,n,s),n=a.element,s=a.options,a.owner=s.owner,a.dataSource=s.dataSource,a.field=n.attr(i.attr("field")),t=n.find(".k-header-column-menu"),t[0]||(t=n.prepend('').find(".k-header-column-menu")),a.link=t.attr("tabindex",-1).on("click"+b,l(a._click,a)),a.wrapper=e('
')},_init:function(){var e=this;e.pane=e.element.closest(i.roleSelector("pane")).data("kendoMobilePane"),e.pane&&(e._isMobile=!0),e._isMobile?e._createMobileMenu():e._createMenu(),e._sort(),e._columns(),e._filter(),e.trigger(m,{field:e.field,container:e.wrapper})},events:[m],options:{name:"ColumnMenu",messages:{sortAscending:"Sort Ascending",sortDescending:"Sort Descending",filter:"Filter",columns:"Columns",done:"Done",settings:"Column Settings"},filter:"",columns:!0,sortable:!0,filterable:!0,animations:{left:"slide"}},_createMenu:function(){var e=this,n=e.options;e.wrapper.html(i.template(C)({ns:i.ns,messages:n.messages,sortable:n.sortable,filterable:n.filterable,columns:e._ownerColumns(),showColumns:n.columns})),e.popup=e.wrapper[h]({anchor:e.link,open:l(e._open,e),activate:l(e._activate,e),close:e.options.closeCallback}).data(h),e.menu=e.wrapper.children()[v]({orientation:"vertical",closeOnClick:!1}).data(v)},_createMobileMenu:function(){var e=this,n=e.options,s=i.template(M)({ns:i.ns,field:e.field,messages:n.messages,sortable:n.sortable,filterable:n.filterable,columns:e._ownerColumns(),showColumns:n.columns});e.view=e.pane.append(s),e.wrapper=e.view.element.find(".k-column-menu"),e.menu=new x(e.wrapper.children(),{pane:e.pane}),e.view.element.on("click",".k-done",function(n){e.close(),n.preventDefault()})},destroy:function(){var e=this;w.fn.destroy.call(e),e.filterMenu&&e.filterMenu.destroy(),e._refreshHandler&&e.dataSource.unbind(f,e._refreshHandler),e.options.columns&&(e.owner.unbind("columnShow",e._updateColumnsMenuHandler),e.owner.unbind("columnHide",e._updateColumnsMenuHandler)),e.menu&&(e.menu.element.off(b),e.menu.destroy()),e.wrapper.off(b),e.popup&&e.popup.destroy(),e.view&&e.view.purge(),e.link.off(b)},close:function(){this.menu.close(),this.popup&&(this.popup.close(),this.popup.element.off("keydown"+b))},_click:function(e){e.preventDefault(),e.stopPropagation();var n=this.options;n.filter&&this.element.is(!n.filter)||(this.popup||this.pane||this._init(),this._isMobile?this.pane.navigate(this.view,this.options.animations.left):this.popup.toggle())},_open:function(){var n=this;e(".k-column-menu").not(n.wrapper).each(function(){e(this).data(h).close()}),n.popup.element.on("keydown"+b,function(e){e.keyCode==i.keys.ESC&&n.close()})},_activate:function(){this.menu.element.focus()},_ownerColumns:function(){var e=this.owner.columns,n=o(e,function(e){var n=!0,i=s(e.title||"");return(e.menu===!1||!e.field&&!i.length)&&(n=!1),n});return r(n,function(n){return{originalField:n.field,field:n.field||n.title,title:n.title||n.field,hidden:n.hidden,index:c(n,e)}})},_sort:function(){var n=this;n.options.sortable&&(n.refresh(),n._refreshHandler=l(n.refresh,n),n.dataSource.bind(f,n._refreshHandler),n.menu.bind(k,function(s){var i,t=e(s.item);t.hasClass("k-sort-asc")?i=d:t.hasClass("k-sort-desc")&&(i=p),i&&(t.parent().find(".k-sort-"+(i==d?p:d)).removeClass(u),n._sortDataSource(t,i),n.close())}))},_sortDataSource:function(e,s){var i,t,l=this,a=l.options.sortable,o=l.dataSource,r=o.sort()||[];if(e.hasClass(u)&&a&&a.allowUnsort!==!1?(e.removeClass(u),s=n):e.addClass(u),a===!0||"single"===a.mode)r=[{field:l.field,dir:s}];else{for(i=0,t=r.length;t>i;i++)if(r[i].field===l.field){r.splice(i,1);break}r.push({field:l.field,dir:s})}o.sort(r)},_columns:function(){var n=this;n.options.columns&&(n._updateColumnsMenu(),n._updateColumnsMenuHandler=l(n._updateColumnsMenu,n),n.owner.bind(["columnHide","columnShow"],n._updateColumnsMenuHandler),n.menu.bind(k,function(s){var t,l,a,r,u=e(s.item),d=n.owner.columns;n._isMobile&&s.preventDefault(),u.parent().closest("li.k-columns-item")[0]&&(t=u.find(":checkbox"),t.attr("disabled")||(r=t.attr(i.attr("field")),a=o(d,function(e){return e.field==r||e.title==r})[0],l=c(a,d),a.hidden===!0?n.owner.showColumn(l):n.owner.hideColumn(l)))}))},_updateColumnsMenu:function(){var n=i.attr("field"),s=o(this._ownerColumns(),function(e){return!e.hidden}),t=o(s,function(e){return e.originalField}).length;s=r(s,function(e){return e.field}),this.wrapper.find(".k-columns-item input["+n+"]").prop("checked",!1).filter(function(){return c(e(this).attr(n),s)>-1}).prop("checked",!0).prop("disabled",1==t)},_filter:function(){var n=this,s=n.options;s.filterable!==!1&&(n.filterMenu=n.wrapper.find(".k-filterable")[g](a(!0,{},{appendToElement:!0,dataSource:s.dataSource,values:s.values,field:n.field},s.filterable)).data(g),n._isMobile&&n.menu.bind(k,function(s){var i=e(s.item);i.hasClass("k-filter-item")&&n.pane.navigate(n.filterMenu.view,n.options.animations.left)}))},refresh:function(){var e,n,s,i=this,t=i.options.dataSource.sort()||[],l=i.field;for(i.wrapper.find(".k-sort-asc, .k-sort-desc").removeClass(u),n=0,s=t.length;s>n;n++)e=t[n],l==e.field&&i.wrapper.find(".k-sort-"+e.dir).addClass(u)}}),C='