UNPKG

@progress/kendo-ui

Version:

This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.

3 lines (2 loc) 31.7 kB
!function(e){"function"==typeof define&&define.amd?define(["kendo.popup.min","kendo.filtermenu.min","kendo.menu.min","kendo.expansionpanel.min","kendo.html.button.min","kendo.icons.min"],e):e()}((function(){!function(e,n){var t=window.kendo,i=t.htmlEncode,s=t.ui,l=e.extend,o=e.grep,a=e.map,r=e.inArray,u=t.data.Comparer,c="k-selected",d="asc",m="desc",p="change",k="init",f="open",h="select",g="stick",b="unstick",v="kendoPopup",C="kendoMenu",_="kendoExpansionPanel",w=".kendoColumnMenu",M=s.Widget;function y(e){return t.trim(e).replace(/&nbsp;/gi,"")}function x(e){return this.columns.indexOf(e.title)>=0||this.columns.indexOf(e.field)>=0}function S(e){for(var n=[],t=0;t<e.length;t++)e[t].columns?n=n.concat(S(e[t].columns)):n.push(e[t]);return n}var T=M.extend({init:function(n,i){var s,l=this;(i=i||{}).componentType=i.componentType||"classic",M.fn.init.call(l,n,i),n=l.element,i=l.options,l.owner=i.owner,l.dataSource=i.dataSource,l.field=n.attr(t.attr("field")),l.title=n.attr(t.attr("title")),(s=e(n.closest("[scope='col']"))).length?l.appendTo=s.find(i.appendTo):l.appendTo=e(i.appendTo),l.link=l._createLink(),l.wrapper=e('<div class="k-column-menu"/>'),l._refreshHandler=l.refresh.bind(l),l.dataSource.bind(p,l._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._stickyColumns(),e.trigger(k,{field:e.field,container:e.wrapper})},events:[k,f,"sort","filtering",g,b],options:{name:"ColumnMenu",messages:{sortAscending:"Sort Ascending",sortDescending:"Sort Descending",filter:"Filter",column:"Column",columns:"Columns",columnVisibility:"Column Visibility",clear:"Clear",cancel:"Cancel",done:"Done",settings:"Edit Column Settings",lock:"Lock Column",unlock:"Unlock Column",stick:"Stick Column",unstick:"Unstick Column",setColumnPosition:"Set Column Position",apply:"Apply",reset:"Reset",buttonTitle:"{0} edit column settings"},filter:"",columns:!0,sortable:!0,filterable:!0,animations:{left:"slide"},encodeTitles:!1,componentType:"classic",appendTo:null},_createMenu:function(){var e,n,i=this,s=i.options,l=i._ownerColumns();i._hasGroups()&&(l=i._groupColumns(l),(e=i._flattenMenuCols(l)).length!==i.owner.columns.length&&i._syncMenuCols(e,i.owner.columns)),n=i._isModernComponentType()?t.template(I):t.template(E),i.wrapper.html(n({uid:t.guid(),ns:t.ns,messages:s.messages,sortable:s.sortable,filterable:s.filterable,columns:l,showColumns:s.columns,hasLockableColumns:s.hasLockableColumns,hasStickableColumns:s.hasStickableColumns,encodeTitles:s.encodeTitles,omitWrapAttribute:t.attr("omit-wrap")})),i.popup=i.wrapper[v]({anchor:i.link,copyAnchorStyles:!1,open:i._open.bind(i),activate:i._activate.bind(i),deactivate:i._deactivate.bind(i),close:function(e){i.menu&&(i.menu._closing=e.sender.element),i.options.closeCallback&&i.options.closeCallback(i.element)}}).data(v),i._isModernComponentType()?(i.popup.element.addClass("k-grid-columnmenu-popup"),i._createExpanders()):i.menu=i.wrapper.children()[C]({orientation:"vertical",closeOnClick:!1,open:function(){i._updateMenuItems()}}).data(C)},_createLink:function(){var e=this,n=e.element,i=e.appendTo.length?n.find(e.appendTo):n,s=n.find(".k-grid-column-menu"),l=t.format(e.options.messages.buttonTitle,e.title||e.field);return s[0]||(n.addClass("k-filterable"),s=i.append('<a class="k-grid-column-menu k-grid-header-menu" href="#" aria-hidden="true" title="'+l+'">'+t.ui.icon("more-vertical")+"</a>").find(".k-grid-column-menu")),s.attr("tabindex",-1).on("click"+w,e._click.bind(e)),s},_createExpanders:function(){var n=this,i=n.options,s={expanded:!1,headerClass:"k-columnmenu-item",useBareTemplate:!0};n.wrapper.find(".k-columns-item")[_](e.extend(!0,{},s,{title:t.ui.icon("columns")+"<span>"+i.messages.columns+"</span>"})),n.wrapper.find(".k-column-menu-filter")[_](e.extend(!0,{},s,{title:t.ui.icon("filter")+"<span>"+i.messages.filter+"</span>"})),n.wrapper.find(".k-column-menu-position")[_](e.extend(!0,{},s,{title:t.ui.icon("set-column-position")+"<span>"+i.messages.setColumnPosition+"</span>"}))},_syncMenuCols:function(e,n){for(var t,i=n.length,s=e.map((function(e){return e.field})),l=0;l<i;l++)t=n[l],s.indexOf(t.field)<0&&(t.menu=!1)},_flattenMenuCols:function(e){for(var n=[],t=e.length,i=0;i<t;i++)e[i].columns?n=n.concat(this._flattenMenuCols(e[i].columns)):e[i].groupHeader||n.push(e[i]);return n},_groupColumns:function(e,n){var t,i,s,l,o,a=[],r=this.options.columns.groups,u=r.length;for(t=0;t<u;t++)i=r[t],s=x.bind(i),l={title:i.title,groupHeader:!0},o=e.filter(s),a.push(l),n?l.columns=o:a=a.concat(o);return a},_hasGroups:function(){return this.options.columns&&this.options.columns.groups&&this.options.columns.groups.length},_isModernComponentType:function(){return"modern"===this.options.componentType&&!this._isMobile},_deactivate:function(){this.menu&&(this.menu._closing=!1)},_createMobileMenu:function(){var e,n,i=this,s=i.options,l=i._ownerColumns();i._hasGroups()&&(e=i._groupColumns(l,!0),(n=i._flattenMenuCols(e)).length!==i.owner.columns.length&&i._syncMenuCols(n,i.owner.columns));var o=t.template(P)({ns:t.ns,field:i.field,title:i.title||i.field,messages:s.messages,sortable:s.sortable,filterable:s.filterable,columns:l,showColumns:s.columns,hasLockableColumns:s.hasLockableColumns,hasStickableColumns:s.hasStickableColumns,hasGroups:i._hasGroups(),groups:e});i.view=i.pane.append(o),i.view.state={columns:{}},i.wrapper=i.view.element.find(".k-column-menu"),i.menu=new R(i.wrapper.children(),{pane:i.pane,columnMenu:i}),i.menu.element.on("transitionend"+w,(function(e){e.stopPropagation()}));var a=i.view.wrapper&&i.view.wrapper[0]?i.view.wrapper:i.view.element;a.on("click",".k-header-done",(function(e){e.preventDefault(),i.menu._applyChanges(),i.menu._cancelChanges(!1),i.close()})),a.on("click",".k-header-cancel",(function(e){e.preventDefault(),i.menu._cancelChanges(!0),i.close()})),i.view.bind("showStart",(function(){var e=i.view||{columns:{}};i.options.hasLockableColumns&&i._updateLockedColumns(),i.options.hasStickableColumns&&i._updateStickyColumns(),e.element.find(".k-sort-asc.k-selected").length?e.state.initialSort="asc":e.element.find(".k-sort-desc.k-selected").length&&(e.state.initialSort="desc")}))},_angularItems:function(n){var i=this;i.angular(n,(function(){return{elements:i.wrapper.find(".k-columns-item input["+t.attr("field")+"]").map((function(){return e(this).closest("li")})),data:a(i._ownerColumns(),(function(e){return{column:e._originalObject}}))}}))},destroy:function(){var e=this;e._angularItems("cleanup"),M.fn.destroy.call(e),e.filterMenu&&e.filterMenu.destroy(),e._refreshHandler&&e.dataSource.unbind(p,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(w),e.menu.destroy()),e.wrapper.off(w),e.popup&&e.popup.destroy(),e.view&&e.view.purge(),e.link.off(w),e.owner=null,e.wrapper=null,e.element=null},close:function(){this.menu&&this.menu.close(),this.popup&&(this.popup.close(),this.popup.element.off("keydown"+w))},_click:function(e){e.preventDefault(),e.stopPropagation();var n=this.options;n.filter&&this.element.is(!n.filter)||(this.popup||this.pane?this._updateMenuItems():this._init(),this._isMobile?this.pane.navigate(this.view,this.options.animations.left):this.popup.toggle())},_updateMenuItems:function(){var e=this;e.options.columns&&(e._setMenuItemsVisibility(),e.options.columns.sort||e.options.columns.groups?e._updateDataIndexes():e._reorderMenuItems())},_setMenuItemsVisibility:function(){this._eachRenderedMenuItem((function(e,n,t){!1===n.matchesMedia?t.hide():t.show()}))},_reorderMenuItems:function(){this._eachRenderedMenuItem((function(e,n,t,i){t[0]&&t.index()!==e&&function(e,n,t){e>0?n.insertAfter(t.children().eq(e-1)):t.prepend(n)}(e,t,i)})),this._updateDataIndexes()},_updateDataIndexes:function(){var n=this,i=n._isMobile&&n.view?e(n.view.element).find(".k-columns-item").children("ul"):e(n.wrapper).find(".k-menu-group").first(),s=n._ownerColumns(!0).map((function(e){return e.title||e.field}));i.find("span."+(this._isMobile?"k-listgroup-form-field-wrapper":"k-menu-link")+" input").each((function(i){var l,o;n.options.columns.sort?(l=n._ownerColumns(),o=s.indexOf(l[i].title),e(this).attr(t.attr("index"),o)):e(this).attr(t.attr("index"),i)}))},_eachRenderedMenuItem:function(n){for(var i,s,l,a,r,u,c=this,d=o(S(c.owner.columns),(function(e){var n=!0,t=y(e.title||"");return!1!==e.menu&&(e.field||t.length)||(n=!1),n})).map((function(e){return{field:e.field,title:e.title,matchesMedia:e.matchesMedia}})),m=c._getRenderedList(),p=c._getRenderedListElements(m),k=function(e,n){for(var i,s,l,o,a,r=t.attr("index"),u=t.attr("field"),c={},d=0;d<e.length;d++)s=n.eq(d),l=parseInt(s.attr(r),10),o=s.attr(u),a=s.attr("title"),c[i=o||a]?c[i].push(l):c[i]=[l];return c}(p,m.find("input[type=checkbox]")),f=function(e){for(var n,t={},i=0;i<e.length;i++)t[n=JSON.stringify(e[i])]?t[n].push(i):t[n]=[i];return t}(d),h=0;h<d.length;h++){s=(l=d[h]).field?l.field:l.title,i=e.inArray(h,f[JSON.stringify(l)]),a=e();for(var g=0;g<k[s].length;g++)a=a.add(p.eq(k[s][g]));n(h,l,a.find((r="field",u=s,"["+t.attr(r)+"='"+(u||"").replace(/'/g,'"')+"']")).closest(c._isModernComponentType()?"label":"li").eq(i),m)}},_getRenderedList:function(){var n=this;return n._isModernComponentType()?e(n.wrapper).find(".k-columns-item"):n._isMobile&&n.view?e(n.view.element).find(".k-columns-item").children("ul"):e(n.wrapper).find(".k-menu-group").first()},_getRenderedListElements:function(e){return this._isModernComponentType()?e.find("label"):e.find("span."+(this._isMobile?"k-listgroup-form-field-wrapper":"k-menu-link"))},_open:function(){var n,i,s=this;e(".k-column-menu").not(s.wrapper).each((function(){e(this).data(v).close()})),s.popup.element.on("keydown"+w,(function(l){var o=e(l.target);if(s._isModernComponentType()&&l.keyCode===t.keys.ENTER&&o.click(),l.keyCode==t.keys.ESC){if(n=t.widgetInstance(o.find("select")),o.hasClass("k-picker")&&n&&n.popup.visible())return void l.stopPropagation();(i=o.closest(".k-popup").closest(".k-menu-item")).length>0&&(i.addClass("k-focus"),s.menu?s.menu.element.trigger("focus"):s.popup.element.find("[tabindex=0]").eq(0).trigger("focus")),o.closest(".k-popup").getKendoPopup().close()}})),s.options.hasLockableColumns&&s._updateLockedColumns(),s.options.hasStickableColumns&&s._updateStickyColumns()},_activate:function(){this.menu?this.menu.element.trigger("focus"):this.popup.element.find("[tabindex=0]").eq(0).trigger("focus"),this.trigger(f,{field:this.field,container:this.wrapper})},_ownerColumns:function(e){var n,t=S(this.owner.columns),i=o(t,(function(e){var n=!0,t=y(e.title||"");return!1!==e.menu&&(e.field||t.length)||(n=!1),n})),s=this.options.columns.sort;return n=a(i,(function(e){return{originalField:e.field,field:e.field||e.title,title:e.title||e.field,hidden:e.hidden,matchesMedia:e.matchesMedia,index:r(e,t),locked:!!e.locked,_originalObject:e,uid:e.headerAttributes.id}})),s&&!e&&n.sort(u.create({field:"title",dir:s})),n},_sort:function(){var e=this;e.options.sortable&&(e.refresh(),e._isModernComponentType()?e.wrapper.on("click"+w,".k-sort-asc, .k-sort-desc",e._sortHandler.bind(e)):e.menu.bind(h,e._sortHandler.bind(e)))},_sortHandler:function(n){var t,i=this,s=n.item?e(n.item):e(n.target);s.hasClass("k-sort-asc")?t=d:s.hasClass("k-sort-desc")&&(t=m),t&&(i._getSortItemsContainer(s).find(".k-sort-"+(t==d?m:d)).removeClass(c),i._sortDataSource(s,t),i._isMobile||i.close())},_getSortItemsContainer:function(e){return this._isModernComponentType()?e.parents(".k-columnmenu-item-wrapper").first():e.parent()},_sortDataSource:function(e,t){var i,s,l=this,o=l.options.sortable,a=null===o.compare?n:o.compare,r=l.dataSource,u=r.sort()||[],d=e.hasClass(c)&&o&&!1!==o.allowUnsort;if(t=d?n:t,!l.trigger("sort",{sort:{field:l.field,dir:t,compare:a}})){if(d?e.removeClass(c):e.addClass(c),"multiple"===o.mode){for(i=0,s=u.length;i<s;i++)if(u[i].field===l.field){u.splice(i,1);break}u.push({field:l.field,dir:t,compare:a})}else u=[{field:l.field,dir:t,compare:a}];r.sort(u)}},_columns:function(){var n=this;n.options.columns&&(n._updateColumnsMenu(),n._updateColumnsMenuHandler=n._updateColumnsMenu.bind(n),n.owner.bind(["columnHide","columnShow"],n._updateColumnsMenuHandler),n._updateColumnsLockedStateHandler=n._updateColumnsLockedState.bind(n),n.owner.bind(["columnUnlock","columnLock"],n._updateColumnsLockedStateHandler),n._isModernComponentType()?(n.wrapper.on("click"+w,".k-columns-item .k-button:not(.k-button-solid-primary)",(function(){n._updateColumnsMenu()})),n.wrapper.on("click"+w,".k-columns-item .k-button.k-button-solid-primary",n._applyColumnVisibility.bind(n)),n.wrapper.on("click"+w,".k-columns-item .k-checkbox",(function(){n._updateColumnsMenu(!0)}))):n.menu.bind(h,(function(i){var s,l,a,r=e(i.item),u=t.attr("uid"),c=o(S(n.owner.columns),(function(e){var n=!0,t=y(e.title||"");return!1!==e.menu&&(e.field||t.length)||(n=!1),n}));n._isMobile&&i.preventDefault(),r.parent().closest("li.k-columns-item")[0]&&((s=r.find(":checkbox")).attr("disabled")||(a=c.map((function(e){return e.headerAttributes.id})).indexOf(s.attr(u)),!0===(l=c[a]).hidden?n.owner.showColumn(l):n.owner.hideColumn(l)))})))},_applyColumnVisibility:function(){var n,i,s,l,a=this,r=t.attr("field"),u=t.attr("uid"),c=a.wrapper.find(".k-columns-item input["+r+"]"),d=o(S(this.owner.columns),(function(e){var n=!0,t=y(e.title||"");return!1!==e.menu&&(e.field||t.length)||(n=!1),n})),m=c.length;for(a.owner.unbind("columnShow",a._updateColumnsMenuHandler),a.owner.unbind("columnHide",a._updateColumnsMenuHandler),n=0;n<m;n++)s=e(c[n]),i=d.map((function(e){return e.headerAttributes.id})).indexOf(s.attr(u)),l=d[i],s.is(":checked")&&l.hidden?a.owner.showColumn(l):s.is(":not(:checked)")&&!l.hidden&&a.owner.hideColumn(l);a.popup.close(),a.owner.bind(["columnHide","columnShow"],a._updateColumnsMenuHandler)},_updateColumnsMenu:function(e){var n,i,s,l,a,r=this,u=t.attr("field"),c=t.attr("locked"),d=t.attr("uid"),m={},p=0,k=0;e=!0===e;var f=o(S(this.owner.columns),(function(e,n){var t=!0,i=y(e.title||"");return!1!==e.menu&&(e.field||i.length)||(t=!1),t&&(m[n]=p,p++),t})),h=o(this._ownerColumns(),(function(n){return e?r.wrapper.find("[role='menuitemcheckbox'] ["+d+"='"+n.uid+"']").prop("checked"):!n.hidden&&!1!==n.matchesMedia})),g=o(h,(function(e){return e.originalField})),b=o(g,(function(e){return!0===e.locked})).length,v=o(g,(function(e){return!0!==e.locked})).length,C=o(this.owner.columns,(function(e){return!1===e.menu})),_=o(C,(function(e){return e.hidden}));this.wrapper.find("[role='menuitemcheckbox']").attr("aria-checked",!1);var w,M=this.wrapper.find(".k-columns-item input["+u+"]").prop("disabled",!1);for(e||M.prop("checked",!1),n=0,i=M.length;n<i;n++)a="true"===(s=M.eq(n)).attr(c),!1,w=s.data("kendoSwitch"),k=f.map((function(e){return e.headerAttributes.id})).indexOf(s.attr(d)),l=e?s.prop("checked"):!f[k].hidden&&!1!==f[k].matchesMedia,s.prop("checked",l),w&&(w.enable(!0),w.check(l)),s.closest("[role='menuitemcheckbox']").attr("aria-checked",l),l&&(1==b&&a&&(s.prop("disabled",!0),w&&w.enable(!1)),0!==C.length&&C.length!==_.length||1!=v||a||(s.prop("disabled",!0),w&&w.enable(!1)))},_updateColumnsLockedState:function(){var e,n,i,s,l=t.attr("field"),o=t.attr("locked"),a=function(e,n){var t,i,s,l={};for(t=0,i=e.length;t<i;t++)l[(s=e[t])[n]]=s;return l}(this._ownerColumns(),"field"),r=this.wrapper.find(".k-columns-item input[type=checkbox]");for(e=0,n=r.length;e<n;e++)(s=a[(i=r.eq(e)).attr(l)])&&i.attr(o,s.locked);this._updateColumnsMenu()},_filter:function(){var n=this,t="kendoFilterMenu",i=n.options;!1!==i.filterable&&(i.filterable.multi&&(t="kendoFilterMultiCheck",i.filterable.dataSource&&(i.filterable.checkSource=i.filterable.dataSource,delete i.filterable.dataSource)),n.filterMenu=n.wrapper.find(".k-filterable")[t](l(!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()},componentType:n.options.componentType,cycleForm:!n._isModernComponentType()},i.filterable)).data(t),n._isMobile&&n.menu.bind(h,(function(t){e(t.item).hasClass("k-filter-item")&&n.pane.navigate(n.filterMenu.view,n.options.animations.left)})))},_lockColumns:function(){var e=this;e._isModernComponentType()?e.wrapper.on("click"+w,".k-lock, .k-unlock",e._lockableHandler.bind(e)):e.menu.bind(h,e._lockableHandler.bind(e))},_lockableHandler:function(n){var t=this,i=n.item?e(n.item):e(n.target);i.hasClass("k-lock")?(t.owner.lockColumn(t.field),t._isMobile||t.close()):i.hasClass("k-unlock")&&(t.owner.unlockColumn(t.field),t._isMobile||t.close())},_stickyColumns:function(){var e=this;e._isModernComponentType()?e.wrapper.on("click"+w,".k-stick, .k-unstick",e._stickableHandler.bind(e)):e.menu.bind(h,e._stickableHandler.bind(e))},_stickableHandler:function(n){var t=this,i=n.item?e(n.item):e(n.target),s=t.field,l=t.owner.columns,a=o(l,(function(e){return e.field==s||e.title==s}))[0];i.hasClass("k-stick")?(t.owner.stickColumn(t.field),t.trigger(g,{column:a}),t._isMobile||t.close()):i.hasClass("k-unstick")&&(t.owner.unstickColumn(t.field),t.trigger(b,{column:a}),t._isMobile||t.close())},_updateLockedColumns:function(){var e=this.field,n=this.owner.columns,t=o(n,(function(n){return n.field==e||n.title==e}))[0];if(t){var i=!0===t.locked,s=o(n,(function(e){return!e.hidden&&(e.locked&&i||!e.locked&&!i)})).length,l=!1===t.lockable,a=this.wrapper.find(".k-lock").removeClass("k-disabled"),r=this.wrapper.find(".k-unlock").removeClass("k-disabled");(i||1==s||l)&&a.addClass("k-disabled"),i&&1!=s&&!l||r.addClass("k-disabled"),this._updateColumnsLockedState()}},_updateStickyColumns:function(){var e=this.field,n=this.owner.columns,t=o(n,(function(n){return n.field==e||n.title==e}))[0];if(t){var i=!0===t.sticky,s=!0===t.stickable,l=!0===t.locked,a=o(n,(function(e){return!e.hidden&&(e.locked&&l||!e.locked&&!l)})).length,r=this.wrapper.find(".k-stick").removeClass("k-disabled"),u=this.wrapper.find(".k-unstick").removeClass("k-disabled");(i||!s||l&&1===a)&&r.addClass("k-disabled"),i&&s||u.addClass("k-disabled")}},refresh:function(){var e,n,t,i=this,s=i.options.dataSource.sort()||[],l=i.field;for(i.wrapper.find(".k-sort-asc, .k-sort-desc").removeClass(c),n=0,t=s.length;n<t;n++)l==(e=s[n]).field&&i.wrapper.find(".k-sort-"+e.dir).addClass(c);i.link[i._filterExist(i.dataSource.filter())?"addClass":"removeClass"]("k-active")},_filterExist:function(e){var n,t=!1;if(e){for(var i=0,s=(e=e.filters).length;i<s;i++)(n=e[i]).field==this.field?t=!0:n.filters&&(t=t||this._filterExist(n));return t}}});var L=function(e){var n=e.columns,s=e.messages;return'<div class="k-columnmenu-item-wrapper"><div><div class="k-columnmenu-item-content k-columns-item"><div class="k-column-list-wrapper"><div class="k-column-list" role="menu">'+function(e,n,t){return e.map((function(e){return e.groupHeader?'<span class="k-column-menu-group-header"><span class="k-column-menu-group-header-text">'+e.title+"</span></span>":'<label class="k-column-list-item" role="menuitemcheckbox" aria-checked="false" '+(!1===e.matchesMedia?"style='display:none;'":"")+'><input class="k-checkbox k-checkbox-md k-rounded-md" type="checkbox" title="'+(n?i(e.title):e.title)+'" data-'+t+'field="'+e.field.replace(/\"/g,"&#34;")+'" data-'+t+'index="'+e.index+" data-"+t+'locked="'+e.locked+'" data-'+t+'uid="'+e.uid+'" /><span class="k-checkbox-label">'+(n?i(e.title):e.title)+"</span></label>"})).join("")}(n,e.encodeTitles,e.ns)+'</div></div><div class="k-columnmenu-actions">'+t.html.renderButton("<button>"+s.apply+"</button>",{themeColor:"primary",icon:"check"})+t.html.renderButton("<button>"+s.reset+"</button>",{icon:"undo"})+"</div></div></div></div>"},H=function(e){var n=e.hasLockableColumns,i=e.hasStickableColumns,s=e.messages;return'<div class="k-columnmenu-item-wrapper"><div class="k-column-menu-position">'+(n?function(e){var n=e.messages;return'<div class="k-columnmenu-item k-lock" tabindex="0">'+t.ui.icon("lock")+n.lock+'</div><div class="k-columnmenu-item k-unlock" tabindex="0">'+t.ui.icon("unlock")+n.unlock+"</div>"}({messages:s}):"")+(i?function(e){var n=e.messages;return'<div class="k-columnmenu-item k-stick" tabindex="0">'+t.ui.icon("stick")+n.stick+'</div><div class="k-columnmenu-item k-unstick" tabindex="0">'+t.ui.icon("unstick")+n.unstick+"</div>"}({messages:s}):"")+"</div></div>"},I=function(e){var n=e.sortable,i=e.filterable,s=e.showColumns,l=e.messages,o=e.columns,a=e.hasLockableColumns,r=e.hasStickableColumns,u=e.encodeTitles,c=e.ns;return""+(n?function(e){var n=e.messages;return'<div class="k-columnmenu-item-wrapper"><div><div class="k-columnmenu-item k-sort-asc" tabindex="0">'+t.ui.icon("sort-asc-small")+n.sortAscending+'</div></div><div><div class="k-columnmenu-item k-sort-desc" tabindex="0">'+t.ui.icon("sort-desc-small")+n.sortDescending+"</div></div></div>"}({messages:l}):"")+(s?L({columns:o,messages:l,encodeTitles:u,ns:c}):"")+(i?'<div class="k-columnmenu-item-wrapper"><div class="k-columnmenu-item-content k-column-menu-filter"><div class="k-filterable"></div></div></div>':"")+(a||r?H({hasLockableColumns:a,hasStickableColumns:r,messages:l}):"")};var A=function(e){var n=e.columns,s=e.messages,l=e.encodeTitles,o=e.ns,a=e.omitWrapAttribute,r=e.filterable,u=e.hasLockableColumns,c=e.hasStickableColumns;return'<li class="k-item k-menu-item k-columns-item" aria-haspopup="true"><span class="k-link k-menu-link">'+t.ui.icon("columns")+'<span class="k-menu-link-text">'+s.columns+"</span></span><ul>"+function(e,n,t,s){return e.map((function(e){return e.groupHeader?'<li class="k-column-menu-group-header" '+s+'="true" ><span class="k-column-menu-group-header-text">'+e.title+"</span></li>":'<li role="menuitemcheckbox" aria-checked="false" '+(!1===e.matchesMedia?"style='display:none;'":"")+'><input type="checkbox" class="k-checkbox k-checkbox-md k-rounded-md" title="'+(n?i(e.title):e.title)+'" data-'+t+'field="'+e.field.replace(/\"/g,"&#34;")+'" data-'+t+'index="'+e.index+'" data-'+t+'locked="'+e.locked+'" data-'+t+'uid="'+e.uid+'"/>'+(n?i(e.title):e.title)+"</li>"})).join("")}(n,l,o,a)+"</ul></li>"+(r||u||c?'<li class="k-separator k-menu-separator" role="presentation"></li>':"")},D=function(e){var n=e.messages,i=e.hasLockableColumns,s=e.hasStickableColumns;return'<li class="k-item k-menu-item k-position-item" aria-haspopup="true"><span class="k-link k-menu-link">'+t.ui.icon("set-column-position")+'<span class="k-menu-link-text">'+n.setColumnPosition+"</span></span><ul>"+(i?function(e){var n=e.messages,i=e.hasStickableColumns;return'<li class="k-item k-menu-item k-lock"><span class="k-link k-menu-link">'+t.ui.icon("lock")+'<span class="k-menu-link-text">'+n.lock+'</span></span></li><li class="k-item k-menu-item k-unlock"><span class="k-link k-menu-link">'+t.ui.icon("unlock")+'<span class="k-menu-link-text">'+n.unlock+"</span></span></li>"+(i?'<li class="k-separator k-menu-separator" role="presentation"></li>':"")}({messages:n,hasStickableColumns:s}):"")+(s?function(e){var n=e.messages;return'<li class="k-item k-menu-item k-stick"><span class="k-link k-menu-link">'+t.ui.icon("stick")+'<span class="k-menu-link-text">'+n.stick+'</span></span></li><li class="k-item k-menu-item k-unstick"><span class="k-link k-menu-link">'+t.ui.icon("unstick")+'<span class="k-menu-link-text">'+n.unstick+"</span></span></li>"}({messages:n}):"")+"</ul></li>"},E=function(e){var n=e.uid,i=e.sortable,s=e.filterable,l=e.showColumns,o=e.messages,a=e.columns,r=e.hasLockableColumns,u=e.hasStickableColumns,c=e.encodeTitles,d=e.ns,m=e.omitWrapAttribute;return'<ul id="'+n+'">'+(i?function(e){var n=e.messages,i=e.showColumns,s=e.filterable;return'<li class="k-item k-menu-item k-sort-asc"><span class="k-link k-menu-link">'+t.ui.icon("sort-asc-small")+'<span class="k-menu-link-text">'+n.sortAscending+'</span></span></li><li class="k-item k-menu-item k-sort-desc"><span class="k-link k-menu-link">'+t.ui.icon("sort-desc-small")+'<span class="k-menu-link-text">'+n.sortDescending+"</span></span></li>"+(i||s?'<li class="k-separator k-menu-separator" role="presentation"></li>':"")}({messages:o,showColumns:l,filterable:s}):"")+(l?A({columns:a,messages:o,encodeTitles:c,ns:d,omitWrapAttribute:m,filterable:s,hasLockableColumns:r,hasStickableColumns:u}):"")+(s?function(e){var n=e.messages,i=e.hasLockableColumns,s=e.hasStickableColumns;return'<li class="k-item k-menu-item k-filter-item" aria-haspopup="true"><span class="k-link k-menu-link">'+t.ui.icon("filter")+'<span class="k-menu-link-text">'+n.filter+'</span></span><ul><li><div class="k-filterable"></div></li></ul></li>'+(i||s?'<li class="k-separator k-menu-separator" role="presentation"></li>':"")}({messages:o,hasLockableColumns:r,hasStickableColumns:u}):"")+(r||u?D({messages:o,hasLockableColumns:r,hasStickableColumns:u}):"")+"\n</ul>"};var O=function(e){var n=e.messages,s=e.hasGroups,l=e.columns,o=e.groups,a=e.ns;return'<li class="k-columns-item"><span class="k-list-title">'+n.columnVisibility+"</span>"+function(e,n,s,l){var o="";if(l)for(var a=0;a<n.length;a++){o+='<span class="k-list-group-header k-pb-1">'+i(n[a].title)+'</span><ul class="k-listgroup k-listgroup-flush k-mb-4">';for(var r=0;r<n[a].columns.length;r++)o+='<li id="'+t.guid()+'" class="k-item k-listgroup-item"><span class="k-listgroup-form-row"><span class="k-listgroup-form-field-label k-item-title">'+n[a].columns[r].title+'</span><span class="k-listgroup-form-field-wrapper"><input type="checkbox" title="'+n[a].columns[r].title+'" data-'+s+'field="'+n[a].columns[r].field.replace(/\"/g,"&#34;")+'" data-'+s+'index="'+n[a].columns[r].index+'" data-'+s+'uid="'+n[a].columns[r].uid+'" data-'+s+'locked="'+n[a].columns[r].locked+'"/></span></span></li>"';o+="</ul>"}else{for(o+='<ul class="k-listgroup k-listgroup-flush k-mb-4">',r=0;r<e.length;r++)o+='<li id="'+t.guid()+'" class="k-item k-listgroup-item"><span class="k-listgroup-form-row"><span class="k-listgroup-form-field-label k-item-title">'+e[r].title+'</span><span class="k-listgroup-form-field-wrapper"><input type="checkbox" title="'+e[r].title+'" data-'+s+'field="'+e[r].field.replace(/\"/g,"&#34;")+'" data-'+s+'index="'+e[r].index+'" data-'+s+'uid="'+e[r].uid+'" data-'+s+'locked="'+e[r].locked+'"/></span></span></li>';o+="</ul>"}return o}(l,o,a,s)+"</li>"},P=function(e){var n=e.messages,i=e.title,s=e.sortable,l=e.filterable,o=e.showColumns,a=e.hasLockableColumns,r=e.hasStickableColumns,u=e.hasGroups,c=e.columns,d=e.groups,m=e.ns;return"<div data-"+m+'role="view" class="k-grid-column-menu"><div data-'+m+'role="header" class="k-header"><a href="#" class="k-header-cancel k-link" title="'+n.cancel+'" aria-label="'+n.cancel+'">'+t.ui.icon("chevron-left")+"</a>"+n.settings+'<a href="#" class="k-header-done k-link" title="'+n.done+'" aria-label="'+n.done+'">'+t.ui.icon("check")+'</a></div><div class="k-column-menu"><ul class="k-reset"><li><span class="k-list-title">'+n.column+": "+i+'</span><ul class="k-listgroup k-listgroup-flush k-mb-4">'+(s?function(e){var n=e.messages;return'<li id="'+t.guid()+'" class="k-item k-listgroup-item k-sort-asc"><span class="k-link">'+t.ui.icon("sort-asc-small")+'<span class="k-item-title">'+n.sortAscending+'</span></span></li><li id="'+t.guid()+'" class="k-item k-listgroup-item k-sort-desc"><span class="k-link">'+t.ui.icon("sort-desc-small")+'<span class="k-item-title">'+n.sortDescending+"</span></span></li>"}({messages:n}):"")+(a?function(e){var n=e.messages;return'<li id="'+t.guid()+'" class="k-item k-listgroup-item k-lock"><span class="k-link">'+t.ui.icon("lock")+'<span class="k-item-title">'+n.lock+'</span></span></li><li id="'+t.guid()+'" class="k-item k-listgroup-item k-unlock"><span class="k-link">'+t.ui.icon("unlock")+'<span class="k-item-title">'+n.unlock+"</span></span></li>"}({messages:n}):"")+(r?function(e){var n=e.messages;return'<li id="'+t.guid()+'" class="k-item k-listgroup-item k-stick"><span class="k-link">'+t.ui.icon("stick")+'<span class="k-item-title">'+n.stick+'</span></span></li><li id="'+t.guid()+'" class="k-item k-listgroup-item k-unstick"><span class="k-link">'+t.ui.icon("unstick")+'<span class="k-item-title">'+n.unstick+"</span></span></li>"}({messages:n}):"")+(l?function(e){var n=e.messages;return'<li id="'+t.guid()+'" class="k-item k-listgroup-item k-filter-item"><span class="k-link k-filterable">'+t.ui.icon("filter")+'<span class="k-item-title">'+n.filter+'</span><span class="k-select">'+t.ui.icon("chevron-right")+"</span></span></li>"}({messages:n}):"")+"</ul></li>"+(o?O({messages:n,hasGroups:u,columns:c,groups:d,ns:m}):"")+'<li class="k-item k-clear-wrap"><ul class="k-listgroup k-listgroup-flush"><li class="k-listgroup-item"><span class="k-link k-label k-clear" title="'+n.clear+'" aria-label="'+n.clear+'">'+n.clear+"</span></li></ul></li></ul></div></div>"},R=M.extend({init:function(e,n){var t=this;M.fn.init.call(t,e,n),t._createCheckBoxes(),t.element.on("click"+w,"li.k-item:not(.k-separator):not(.k-disabled):not(:has(.k-switch))","_click")},events:[h],_click:function(n){var t=this;if(e(n.target).is("[type=checkbox]")||n.preventDefault(),!e(n.target).hasClass("k-clear"))return e(n.target).hasClass("k-filterable")?(t._cancelChanges(!0),void t.trigger(h,{item:n.currentTarget})):void t._updateSelectedItems(n.currentTarget);t._cancelChanges(!0)},_updateSelectedItems:function(n){var t=this,i=e(n),s=t.options.columnMenu.view.state||{columns:{}},l=i.prop("id");if(!i.hasClass("k-filter-item")){var o,a,r;if(s[l]?s[l]=!1:s[l]=!0,i.hasClass("k-sort-asc")||i.hasClass("k-sort-desc"))i.hasClass("k-sort-asc")?(o="asc",a=t.element.find(".k-sort-desc")):(o="desc",a=t.element.find(".k-sort-asc")),r=a.prop("id"),o!==s.initialSort||i.hasClass("k-selected")||(s[l]=!1),s[r]&&(s[r]=!1),a.removeClass(c);i.hasClass(c)?i.removeClass(c):i.addClass(c)}},_cancelChanges:function(e){var n=this,t=n.options.columnMenu,i=t.view,s=(i.state||{columns:{}}).columns;if(n.element.find("."+c).removeClass(c),t.refresh(),e){var l=[];for(var o in s)if(s.hasOwnProperty(o)&&!0===s[o]){var a=i.element.find("#"+o);l.push(a[0])}for(var r=l.length-1;r>=0;r--)n.trigger(h,{item:l[r]});t.options.hasLockableColumns&&t._updateLockedColumns(),t.options.hasStickableColumns&&t._updateStickyColumns()}n.options.columnMenu.view.state={columns:{}}},_applyChanges:function(){var e=this.options.columnMenu.view,n=e.state||{columns:{}};for(var t in n)if(n.hasOwnProperty(t)&&"initialSort"!==t&&"columns"!==t&&!0===n[t]){var i=e.element.find("#"+t);i.hasClass(c)?i.removeClass(c):i.addClass(c),this.trigger(h,{item:i[0]})}},_createCheckBoxes:function(){var e=this;e.element.find(".k-columns-item").find("[type='checkbox']").kendoSwitch({messages:{checked:"",unchecked:""},change:function(n){var t=n.sender.element.closest(".k-item"),i=e.options.columnMenu.view.state||{columns:{}},s=t.prop("id");i.columns[s]?i.columns[s]=!1:i.columns[s]=!0,e.trigger(h,{item:t})}})},_destroyCheckBoxes:function(){for(var e,n=this.element.find(".k-columns-item").find("[type='checkbox']"),t=0;t<n.length;t++)(e=n.eq(t).data("kendoSwitch"))&&e.destroy()},close:function(){this.options.pane.navigate("")},destroy:function(){var e=this;M.fn.destroy.call(e),e.element.off(w),e._destroyCheckBoxes()}});s.plugin(T)}(window.kendo.jQuery)})); //# sourceMappingURL=kendo.columnmenu.min.js.map