{"version":3,"sources":["kendo.columnmenu.js"],"names":["f","define","$","undefined","trim","text","kendo","replace","toHash","arr","key","idx","len","current","result","length","columnsGroupFilterHandler","column","this","columns","indexOf","title","field","leafColumns","concat","push","attrEquals","attrName","attrValue","attr","insertElementAt","index","element","container","insertAfter","children","eq","prepend","columnOccurrences","signature","i","columnDict","JSON","stringify","oldColumnOccurrences","renderedListElements","checkBoxes","columCheckbox","j","indexAttr","fieldAttr","parseInt","window","ui","proxy","extend","grep","map","inArray","Comparer","data","ACTIVE","ASC","DESC","CHANGE","INIT","OPEN","SELECT","STICK","UNSTICK","POPUP","FILTERMENU","MENU","EXPANSIONPANEL","NS","Widget","ColumnMenu","init","options","that","componentType","fn","call","owner","dataSource","link","_createLink","wrapper","_refreshHandler","refresh","bind","_init","pane","_isMobile","_createMobileMenu","_createMenu","_muteAngularRebind","_angularItems","_sort","_columns","_filter","_lockColumns","_stickyColumns","trigger","events","name","messages","sortAscending","sortDescending","filter","columnVisibility","clear","cancel","done","settings","lock","unlock","stick","unstick","setColumnPosition","apply","reset","buttonTitle","sortable","filterable","animations","left","encodeTitles","flattenMenuCols","menuTemplate","_ownerColumns","_hasGroups","_groupColumns","_flattenMenuCols","_syncMenuCols","template","_isModernComponentType","modernTemplate","html","uid","guid","ns","showColumns","hasLockableColumns","hasStickableColumns","omitWrapAttribute","popup","anchor","copyAnchorStyles","open","_open","activate","_activate","deactivate","_deactivate","close","e","menu","_closing","sender","closeCallback","addClass","_createExpanders","orientation","closeOnClick","_updateMenuItems","find","format","on","_click","expanderOptions","expanded","headerClass","useBareTemplate","menuCols","ownerCols","ownerCol","menuColsFields","col","cols","groupHeader","nest","currGroup","filterHandler","group","groupColumns","groups","viewElement","mobileTemplate","hasGroups","view","append","state","MobileMenu","columnMenu","stopPropagation","preventDefault","_applyChanges","_cancelChanges","_updateLockedColumns","_updateStickyColumns","initialSort","action","angular","items","closest","_originalObject","elements","destroy","filterMenu","unbind","_updateColumnsMenuHandler","_updateColumnsLockedStateHandler","off","purge","is","navigate","toggle","_setMenuItemsVisibility","sort","_updateDataIndexes","_reorderMenuItems","_eachRenderedMenuItem","renderedListElement","matchesMedia","hide","show","renderedList","first","mappedColumns","x","each","callback","duplicateColumnIndex","fieldValue","currentColumn","columnElements","_getRenderedList","_getRenderedListElements","oldOccurances","columnOccurrence","add","not","keyCode","keys","ENTER","target","click","ESC","omitSort","menuColumns","originalField","hidden","locked","headerAttributes","id","create","dir","_sortHandler","item","hasClass","_getSortItemsContainer","removeClass","_sortDataSource","parents","parent","compare","allowUnsort","mode","splice","_updateColumnsMenu","_updateColumnsLockedState","_applyColumnVisibility","input","uidAttr","colIdx","showColumn","hideColumn","checkbox","checkboxes","columnsInMenu","omitCheckState","checked","visibleFields","visibleDataFields","lockedCount","nonLockedCount","columnsNotInMenu","hiddenColumnsNotInMenu","switchWidget","lockedAttr","columnIndexMap","columnsCount","prop","enable","check","widget","multi","checkSource","appendToElement","values","change","cycleForm","_lockableHandler","lockColumn","unlockColumn","_stickableHandler","stickColumn","unstickColumn","notLockable","lockItem","unlockItem","lockable","sticky","stickable","stickItem","unstickItem","descriptor","_filterExist","filters","found","_createCheckBoxes","currentTarget","_updateSelectedItems","el","otherItem","otherItemId","force","selectedItems","hasOwnProperty","kendoSwitch","unchecked","_destroyCheckBoxes","plugin","jQuery","amd","a1","a2","a3"],"mappings":"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","file":"kendo.columnmenu.min.js","sourcesContent":["/*!\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n*/\n(function (f, define) {\n define('kendo.columnmenu', [\n 'kendo.popup',\n 'kendo.filtermenu',\n 'kendo.menu',\n 'kendo.expansionpanel'\n ], f);\n}(function () {\n var __meta__ = {\n id: 'columnmenu',\n name: 'Column Menu',\n category: 'framework',\n depends: [\n 'popup',\n 'filtermenu',\n 'menu',\n 'expansionpanel'\n ],\n advanced: true\n };\n (function ($, undefined) {\n var kendo = window.kendo, ui = kendo.ui, proxy = $.proxy, extend = $.extend, grep = $.grep, map = $.map, inArray = $.inArray, Comparer = kendo.data.Comparer, ACTIVE = 'k-state-selected', ASC = 'asc', DESC = 'desc', CHANGE = 'change', INIT = 'init', OPEN = 'open', SELECT = 'select', STICK = 'stick', UNSTICK = 'unstick', POPUP = 'kendoPopup', FILTERMENU = 'kendoFilterMenu', MENU = 'kendoMenu', EXPANSIONPANEL = 'kendoExpansionPanel', NS = '.kendoColumnMenu', Widget = ui.Widget;\n function trim(text) {\n return kendo.trim(text).replace(/ /gi, '');\n }\n function toHash(arr, key) {\n var result = {};\n var idx, len, current;\n for (idx = 0, len = arr.length; idx < len; idx++) {\n current = arr[idx];\n result[current[key]] = current;\n }\n return result;\n }\n function columnsGroupFilterHandler(column) {\n return this.columns.indexOf(column.title) >= 0 || this.columns.indexOf(column.field) >= 0;\n }\n function leafColumns(columns) {\n var result = [];\n for (var idx = 0; idx < columns.length; idx++) {\n if (!columns[idx].columns) {\n result.push(columns[idx]);\n continue;\n }\n result = result.concat(leafColumns(columns[idx].columns));\n }\n return result;\n }\n function attrEquals(attrName, attrValue) {\n return '[' + kendo.attr(attrName) + '=\\'' + (attrValue || '').replace(/'/g, '\"') + '\\']';\n }\n function insertElementAt(index, element, container) {\n if (index > 0) {\n element.insertAfter(container.children().eq(index - 1));\n } else {\n container.prepend(element);\n }\n }\n function columnOccurrences(columns) {\n var columnDict = {};\n var signature;\n for (var i = 0; i < columns.length; i++) {\n signature = JSON.stringify(columns[i]);\n if (columnDict[signature]) {\n columnDict[signature].push(i);\n } else {\n columnDict[signature] = [i];\n }\n }\n return columnDict;\n }\n function oldColumnOccurrences(renderedListElements, checkBoxes) {\n var indexAttr = kendo.attr('index');\n var fieldAttr = kendo.attr('field');\n var columnDict = {};\n var signature;\n var columCheckbox;\n var index;\n var field;\n var title;\n for (var j = 0; j < renderedListElements.length; j++) {\n columCheckbox = checkBoxes.eq(j);\n index = parseInt(columCheckbox.attr(indexAttr), 10);\n field = columCheckbox.attr(fieldAttr);\n title = columCheckbox.attr('title');\n signature = field ? field : title;\n if (columnDict[signature]) {\n columnDict[signature].push(index);\n } else {\n columnDict[signature] = [index];\n }\n }\n return columnDict;\n }\n var ColumnMenu = Widget.extend({\n init: function (element, options) {\n var that = this;\n options = options || {};\n options.componentType = options.componentType || 'classic';\n Widget.fn.init.call(that, element, options);\n element = that.element;\n options = that.options;\n that.owner = options.owner;\n that.dataSource = options.dataSource;\n that.field = element.attr(kendo.attr('field'));\n that.title = element.attr(kendo.attr('title'));\n that.link = that._createLink();\n that.wrapper = $('
');\n that._refreshHandler = proxy(that.refresh, that);\n that.dataSource.bind(CHANGE, that._refreshHandler);\n },\n _init: function () {\n var that = this;\n that.pane = that.options.pane;\n if (that.pane) {\n that._isMobile = true;\n }\n if (that._isMobile) {\n that._createMobileMenu();\n } else {\n that._createMenu();\n }\n that.owner._muteAngularRebind(function () {\n that._angularItems('compile');\n });\n that._sort();\n that._columns();\n that._filter();\n that._lockColumns();\n that._stickyColumns();\n that.trigger(INIT, {\n field: that.field,\n container: that.wrapper\n });\n },\n events: [\n INIT,\n OPEN,\n 'sort',\n 'filtering',\n STICK,\n UNSTICK\n ],\n options: {\n name: 'ColumnMenu',\n messages: {\n sortAscending: 'Sort Ascending',\n sortDescending: 'Sort Descending',\n filter: 'Filter',\n column: 'Column',\n columns: 'Columns',\n columnVisibility: 'Column Visibility',\n clear: 'Clear',\n cancel: 'Cancel',\n done: 'Done',\n settings: 'Edit Column Settings',\n lock: 'Lock Column',\n unlock: 'Unlock Column',\n stick: 'Stick Column',\n unstick: 'Unstick Column',\n setColumnPosition: 'Set Column Position',\n apply: 'Apply',\n reset: 'Reset',\n buttonTitle: '{0} edit column settings'\n },\n filter: '',\n columns: true,\n sortable: true,\n filterable: true,\n animations: { left: 'slide' },\n encodeTitles: false,\n componentType: 'classic'\n },\n _createMenu: function () {\n var that = this, options = that.options, columns = that._ownerColumns(), flattenMenuCols, menuTemplate;\n if (that._hasGroups()) {\n columns = that._groupColumns(columns);\n flattenMenuCols = that._flattenMenuCols(columns);\n if (flattenMenuCols.length !== that.owner.columns.length) {\n that._syncMenuCols(flattenMenuCols, that.owner.columns);\n }\n }\n if (that._isModernComponentType()) {\n menuTemplate = kendo.template(modernTemplate);\n } else {\n menuTemplate = kendo.template(template);\n }\n that.wrapper.html(menuTemplate({\n uid: kendo.guid(),\n ns: kendo.ns,\n messages: options.messages,\n sortable: options.sortable,\n filterable: options.filterable,\n columns: columns,\n showColumns: options.columns,\n hasLockableColumns: options.hasLockableColumns,\n hasStickableColumns: options.hasStickableColumns,\n encodeTitles: options.encodeTitles,\n omitWrapAttribute: kendo.attr('omit-wrap')\n }));\n that.popup = that.wrapper[POPUP]({\n anchor: that.link,\n copyAnchorStyles: false,\n open: proxy(that._open, that),\n activate: proxy(that._activate, that),\n deactivate: proxy(that._deactivate, that),\n close: function (e) {\n if (that.menu) {\n that.menu._closing = e.sender.element;\n }\n if (that.options.closeCallback) {\n that.options.closeCallback(that.element);\n }\n }\n }).data(POPUP);\n if (that._isModernComponentType()) {\n that.popup.element.addClass('k-grid-columnmenu-popup');\n that._createExpanders();\n } else {\n that.menu = that.wrapper.children()[MENU]({\n orientation: 'vertical',\n closeOnClick: false,\n open: function () {\n that._updateMenuItems();\n }\n }).data(MENU);\n }\n },\n _createLink: function () {\n var that = this, element = that.element, link = element.find('.k-header-column-menu'), title = kendo.format(that.options.messages.buttonTitle, that.title || that.field);\n if (!link[0]) {\n link = element.addClass('k-with-icon').prepend('').find('.k-header-column-menu');\n }\n link.attr('tabindex', -1).on('click' + NS, proxy(that._click, that));\n return link;\n },\n _createExpanders: function () {\n var that = this;\n var options = that.options;\n var expanderOptions = {\n expanded: false,\n headerClass: 'k-columnmenu-item',\n useBareTemplate: true\n };\n that.wrapper.find('.k-columns-item')[EXPANSIONPANEL]($.extend(true, {}, expanderOptions, { title: '' + options.messages.columns + '' }));\n that.wrapper.find('.k-column-menu-filter')[EXPANSIONPANEL]($.extend(true, {}, expanderOptions, { title: '' + options.messages.filter + '' }));\n that.wrapper.find('.k-column-menu-position')[EXPANSIONPANEL]($.extend(true, {}, expanderOptions, { title: '' + options.messages.setColumnPosition + '' }));\n },\n _syncMenuCols: function (menuCols, ownerCols) {\n var length = ownerCols.length;\n var ownerCol;\n var menuColsFields = menuCols.map(function (col) {\n return col.field;\n });\n for (var i = 0; i < length; i++) {\n ownerCol = ownerCols[i];\n if (menuColsFields.indexOf(ownerCol.field) < 0) {\n ownerCol.menu = false;\n }\n }\n },\n _flattenMenuCols: function (cols) {\n var result = [];\n var length = cols.length;\n for (var i = 0; i < length; i++) {\n if (cols[i].columns) {\n result = result.concat(this._flattenMenuCols(cols[i].columns));\n } else if (!cols[i].groupHeader) {\n result.push(cols[i]);\n }\n }\n return result;\n },\n _groupColumns: function (columns, nest) {\n var result = [];\n var groups = this.options.columns.groups;\n var length = groups.length;\n var i;\n var currGroup;\n var filterHandler;\n var group;\n var groupColumns;\n for (i = 0; i < length; i++) {\n currGroup = groups[i];\n filterHandler = columnsGroupFilterHandler.bind(currGroup);\n group = {\n title: currGroup.title,\n groupHeader: true\n };\n groupColumns = columns.filter(filterHandler);\n result.push(group);\n if (nest) {\n group.columns = groupColumns;\n } else {\n result = result.concat(groupColumns);\n }\n }\n return result;\n },\n _hasGroups: function () {\n return this.options.columns && this.options.columns.groups && this.options.columns.groups.length;\n },\n _isModernComponentType: function () {\n return this.options.componentType === 'modern' && !this._isMobile;\n },\n _deactivate: function () {\n if (this.menu) {\n this.menu._closing = false;\n }\n },\n _createMobileMenu: function () {\n var that = this, options = that.options, columns = that._ownerColumns(), groups, flattenMenuCols;\n if (that._hasGroups()) {\n groups = that._groupColumns(columns, true);\n flattenMenuCols = that._flattenMenuCols(groups);\n if (flattenMenuCols.length !== that.owner.columns.length) {\n that._syncMenuCols(flattenMenuCols, that.owner.columns);\n }\n }\n var html = kendo.template(mobileTemplate)({\n ns: kendo.ns,\n field: that.field,\n title: that.title || that.field,\n messages: options.messages,\n sortable: options.sortable,\n filterable: options.filterable,\n columns: columns,\n showColumns: options.columns,\n hasLockableColumns: options.hasLockableColumns,\n hasStickableColumns: options.hasStickableColumns,\n hasGroups: that._hasGroups(),\n groups: groups\n });\n that.view = that.pane.append(html);\n that.view.state = { columns: {} };\n that.wrapper = that.view.element.find('.k-column-menu');\n that.menu = new MobileMenu(that.wrapper.children(), {\n pane: that.pane,\n columnMenu: that\n });\n that.menu.element.on('transitionend' + NS, function (e) {\n e.stopPropagation();\n });\n var viewElement = that.view.wrapper && that.view.wrapper[0] ? that.view.wrapper : that.view.element;\n viewElement.on('click', '.k-header-done', function (e) {\n e.preventDefault();\n that.menu._applyChanges();\n that.menu._cancelChanges(false);\n that.close();\n });\n viewElement.on('click', '.k-header-cancel', function (e) {\n e.preventDefault();\n that.menu._cancelChanges(true);\n that.close();\n });\n that.view.bind('showStart', function () {\n var view = that.view || { columns: {} };\n if (that.options.hasLockableColumns) {\n that._updateLockedColumns();\n }\n if (that.options.hasStickableColumns) {\n that._updateStickyColumns();\n }\n if (view.element.find('.k-sort-asc.k-state-selected').length) {\n view.state.initialSort = 'asc';\n } else if (view.element.find('.k-sort-desc.k-state-selected').length) {\n view.state.initialSort = 'desc';\n }\n });\n },\n _angularItems: function (action) {\n var that = this;\n that.angular(action, function () {\n var items = that.wrapper.find('.k-columns-item input[' + kendo.attr('field') + ']').map(function () {\n return $(this).closest('li');\n });\n var data = map(that._ownerColumns(), function (col) {\n return { column: col._originalObject };\n });\n return {\n elements: items,\n data: data\n };\n });\n },\n destroy: function () {\n var that = this;\n that._angularItems('cleanup');\n Widget.fn.destroy.call(that);\n if (that.filterMenu) {\n that.filterMenu.destroy();\n }\n if (that._refreshHandler) {\n that.dataSource.unbind(CHANGE, that._refreshHandler);\n }\n if (that.options.columns && that.owner) {\n if (that._updateColumnsMenuHandler) {\n that.owner.unbind('columnShow', that._updateColumnsMenuHandler);\n that.owner.unbind('columnHide', that._updateColumnsMenuHandler);\n }\n if (that._updateColumnsLockedStateHandler) {\n that.owner.unbind('columnLock', that._updateColumnsLockedStateHandler);\n that.owner.unbind('columnUnlock', that._updateColumnsLockedStateHandler);\n }\n }\n if (that.menu) {\n that.menu.element.off(NS);\n that.menu.destroy();\n }\n that.wrapper.off(NS);\n if (that.popup) {\n that.popup.destroy();\n }\n if (that.view) {\n that.view.purge();\n }\n that.link.off(NS);\n that.owner = null;\n that.wrapper = null;\n that.element = null;\n },\n close: function () {\n if (this.menu) {\n this.menu.close();\n }\n if (this.popup) {\n this.popup.close();\n this.popup.element.off('keydown' + NS);\n }\n },\n _click: function (e) {\n var that = this;\n e.preventDefault();\n e.stopPropagation();\n var options = this.options;\n if (options.filter && this.element.is(!options.filter)) {\n return;\n }\n if (!this.popup && !this.pane) {\n this._init();\n } else {\n that._updateMenuItems();\n }\n if (this._isMobile) {\n this.pane.navigate(this.view, this.options.animations.left);\n } else {\n this.popup.toggle();\n }\n },\n _updateMenuItems: function () {\n var that = this;\n if (that.options.columns) {\n that._setMenuItemsVisibility();\n if (!that.options.columns.sort && !that.options.columns.groups) {\n that._reorderMenuItems();\n } else {\n that._updateDataIndexes();\n }\n }\n },\n _setMenuItemsVisibility: function () {\n var that = this;\n that._eachRenderedMenuItem(function (index, column, renderedListElement) {\n if (column.matchesMedia === false) {\n renderedListElement.hide();\n } else {\n renderedListElement.show();\n }\n });\n },\n _reorderMenuItems: function () {\n var that = this;\n that._eachRenderedMenuItem(function (index, column, renderedListElement, renderedList) {\n if (renderedListElement[0] && renderedListElement.index() !== index) {\n insertElementAt(index, renderedListElement, renderedList);\n }\n });\n that._updateDataIndexes();\n },\n _updateDataIndexes: function () {\n var that = this;\n var renderedList = that._isMobile && that.view ? $(that.view.element).find('.k-columns-item').children('ul') : $(that.wrapper).find('.k-menu-group').first(), mappedColumns = that._ownerColumns(true).map(function (x) {\n return x.title || x.field;\n });\n renderedList.find('span.' + (this._isMobile ? 'k-listgroup-form-field-wrapper' : 'k-menu-link') + ' input').each(function (i) {\n var columns;\n var index;\n if (that.options.columns.sort) {\n columns = that._ownerColumns();\n index = mappedColumns.indexOf(columns[i].title);\n $(this).attr(kendo.attr('index'), index);\n } else {\n $(this).attr(kendo.attr('index'), i);\n }\n });\n },\n _eachRenderedMenuItem: function (callback) {\n var that = this;\n var renderedListElement;\n var duplicateColumnIndex;\n var fieldValue;\n var currentColumn;\n var columns = grep(leafColumns(that.owner.columns), function (col) {\n var result = true, title = trim(col.title || '');\n if (col.menu === false || !col.field && !title.length) {\n result = false;\n }\n return result;\n }).map(function (col) {\n return {\n field: col.field,\n title: col.title,\n matchesMedia: col.matchesMedia\n };\n });\n var renderedList = that._getRenderedList();\n var renderedListElements = that._getRenderedListElements(renderedList);\n var oldOccurances = oldColumnOccurrences(renderedListElements, renderedList.find('input[type=checkbox]'));\n var columnOccurrence = columnOccurrences(columns);\n var columnElements;\n for (var i = 0; i < columns.length; i++) {\n currentColumn = columns[i];\n fieldValue = currentColumn.field ? currentColumn.field : currentColumn.title;\n duplicateColumnIndex = $.inArray(i, columnOccurrence[JSON.stringify(currentColumn)]);\n columnElements = $();\n for (var idx = 0; idx < oldOccurances[fieldValue].length; idx++) {\n columnElements = columnElements.add(renderedListElements.eq(oldOccurances[fieldValue][idx]));\n }\n renderedListElement = columnElements.find(attrEquals('field', fieldValue)).closest(that._isModernComponentType() ? 'label' : 'li').eq(duplicateColumnIndex);\n callback(i, currentColumn, renderedListElement, renderedList);\n }\n },\n _getRenderedList: function () {\n var that = this;\n if (that._isModernComponentType()) {\n return $(that.wrapper).find('.k-columns-item');\n } else {\n return that._isMobile && that.view ? $(that.view.element).find('.k-columns-item').children('ul') : $(that.wrapper).find('.k-menu-group').first();\n }\n },\n _getRenderedListElements: function (renderedList) {\n var that = this;\n if (that._isModernComponentType()) {\n return renderedList.find('label');\n } else {\n return renderedList.find('span.' + (this._isMobile ? 'k-listgroup-form-field-wrapper' : 'k-menu-link'));\n }\n },\n _open: function () {\n var that = this;\n $('.k-column-menu').not(that.wrapper).each(function () {\n $(this).data(POPUP).close();\n });\n that.popup.element.on('keydown' + NS, function (e) {\n if (that._isModernComponentType() && e.keyCode === kendo.keys.ENTER) {\n $(e.target).click();\n }\n if (e.keyCode == kendo.keys.ESC) {\n that.close();\n }\n });\n if (that.options.hasLockableColumns) {\n that._updateLockedColumns();\n }\n if (that.options.hasStickableColumns) {\n that._updateStickyColumns();\n }\n },\n _activate: function () {\n if (this.menu) {\n this.menu.element.trigger('focus');\n } else {\n this.popup.element.find('[tabindex=0]').eq(0).trigger('focus');\n }\n this.trigger(OPEN, {\n field: this.field,\n container: this.wrapper\n });\n },\n _ownerColumns: function (omitSort) {\n var columns = leafColumns(this.owner.columns), menuColumns = grep(columns, function (col) {\n var result = true, title = trim(col.title || '');\n if (col.menu === false || !col.field && !title.length) {\n result = false;\n }\n return result;\n }), result, sort = this.options.columns.sort;\n result = map(menuColumns, function (col) {\n return {\n originalField: col.field,\n field: col.field || col.title,\n title: col.title || col.field,\n hidden: col.hidden,\n matchesMedia: col.matchesMedia,\n index: inArray(col, columns),\n locked: !!col.locked,\n _originalObject: col,\n uid: col.headerAttributes.id\n };\n });\n if (sort && !omitSort) {\n result.sort(Comparer.create({\n field: 'title',\n dir: sort\n }));\n }\n return result;\n },\n _sort: function () {\n var that = this;\n if (that.options.sortable) {\n that.refresh();\n if (that._isModernComponentType()) {\n that.wrapper.on('click' + NS, '.k-sort-asc, .k-sort-desc', proxy(that._sortHandler, that));\n } else {\n that.menu.bind(SELECT, proxy(that._sortHandler, that));\n }\n }\n },\n _sortHandler: function (e) {\n var that = this, item = e.item ? $(e.item) : $(e.target), dir;\n if (item.hasClass('k-sort-asc')) {\n dir = ASC;\n } else if (item.hasClass('k-sort-desc')) {\n dir = DESC;\n }\n if (!dir) {\n return;\n }\n that._getSortItemsContainer(item).find('.k-sort-' + (dir == ASC ? DESC : ASC)).removeClass(ACTIVE);\n that._sortDataSource(item, dir);\n if (!that._isMobile) {\n that.close();\n }\n },\n _getSortItemsContainer: function (item) {\n return this._isModernComponentType() ? item.parents('.k-columnmenu-item-wrapper').first() : item.parent();\n },\n _sortDataSource: function (item, dir) {\n var that = this, sortable = that.options.sortable, compare = sortable.compare === null ? undefined : sortable.compare, dataSource = that.dataSource, idx, length, sort = dataSource.sort() || [];\n var removeClass = item.hasClass(ACTIVE) && sortable && sortable.allowUnsort !== false;\n dir = !removeClass ? dir : undefined;\n if (that.trigger('sort', {\n sort: {\n field: that.field,\n dir: dir,\n compare: compare\n }\n })) {\n return;\n }\n if (removeClass) {\n item.removeClass(ACTIVE);\n } else {\n item.addClass(ACTIVE);\n }\n if (sortable.mode === 'multiple') {\n for (idx = 0, length = sort.length; idx < length; idx++) {\n if (sort[idx].field === that.field) {\n sort.splice(idx, 1);\n break;\n }\n }\n sort.push({\n field: that.field,\n dir: dir,\n compare: compare\n });\n } else {\n sort = [{\n field: that.field,\n dir: dir,\n compare: compare\n }];\n }\n dataSource.sort(sort);\n },\n _columns: function () {\n var that = this;\n if (that.options.columns) {\n that._updateColumnsMenu();\n that._updateColumnsMenuHandler = proxy(that._updateColumnsMenu, that);\n that.owner.bind([\n 'columnHide',\n 'columnShow'\n ], that._updateColumnsMenuHandler);\n that._updateColumnsLockedStateHandler = proxy(that._updateColumnsLockedState, that);\n that.owner.bind([\n 'columnUnlock',\n 'columnLock'\n ], that._updateColumnsLockedStateHandler);\n if (that._isModernComponentType()) {\n that.wrapper.on('click' + NS, '.k-columns-item .k-button:not(.k-primary)', function () {\n that._updateColumnsMenu();\n });\n that.wrapper.on('click' + NS, '.k-columns-item .k-button.k-primary', proxy(that._applyColumnVisibility, that));\n that.wrapper.on('click' + NS, '.k-columns-item .k-checkbox', function () {\n that._updateColumnsMenu(true);\n });\n } else {\n that.menu.bind(SELECT, function (e) {\n var item = $(e.item), input, column, uidAttr = kendo.attr('uid'), colIdx = 0, columns = grep(leafColumns(that.owner.columns), function (col) {\n var result = true, title = trim(col.title || '');\n if (col.menu === false || !col.field && !title.length) {\n result = false;\n }\n return result;\n });\n if (that._isMobile) {\n e.preventDefault();\n }\n if (!item.parent().closest('li.k-columns-item')[0]) {\n return;\n }\n input = item.find(':checkbox');\n if (input.attr('disabled')) {\n return;\n }\n colIdx = columns.map(function (col) {\n return col.headerAttributes.id;\n }).indexOf(input.attr(uidAttr));\n column = columns[colIdx];\n if (column.hidden === true) {\n that.owner.showColumn(column);\n } else {\n that.owner.hideColumn(column);\n }\n });\n }\n }\n },\n _applyColumnVisibility: function () {\n var that = this;\n var fieldAttr = kendo.attr('field');\n var uidAttr = kendo.attr('uid');\n var checkboxes = that.wrapper.find('.k-columns-item input[' + fieldAttr + ']');\n var columnsInMenu = grep(leafColumns(this.owner.columns), function (col) {\n var result = true, title = trim(col.title || '');\n if (col.menu === false || !col.field && !title.length) {\n result = false;\n }\n return result;\n });\n var length = checkboxes.length;\n var idx;\n var colIdx;\n var checkbox;\n var column;\n that.owner.unbind('columnShow', that._updateColumnsMenuHandler);\n that.owner.unbind('columnHide', that._updateColumnsMenuHandler);\n for (idx = 0; idx < length; idx++) {\n checkbox = $(checkboxes[idx]);\n colIdx = columnsInMenu.map(function (col) {\n return col.headerAttributes.id;\n }).indexOf(checkbox.attr(uidAttr));\n column = columnsInMenu[colIdx];\n if (checkbox.is(':checked') && column.hidden) {\n that.owner.showColumn(column);\n } else if (checkbox.is(':not(:checked)') && !column.hidden) {\n that.owner.hideColumn(column);\n }\n }\n that.popup.close();\n that.owner.bind([\n 'columnHide',\n 'columnShow'\n ], that._updateColumnsMenuHandler);\n },\n _updateColumnsMenu: function (omitCheckState) {\n var idx, length, current, checked, locked, that = this;\n var fieldAttr = kendo.attr('field'), lockedAttr = kendo.attr('locked'), uidAttr = kendo.attr('uid'), columnIndexMap = {}, columnsCount = 0, colIdx = 0;\n omitCheckState = omitCheckState === true;\n var columnsInMenu = grep(leafColumns(this.owner.columns), function (col, idx) {\n var result = true, title = trim(col.title || '');\n if (col.menu === false || !col.field && !title.length) {\n result = false;\n }\n if (result) {\n columnIndexMap[idx] = columnsCount;\n columnsCount++;\n }\n return result;\n }), visibleFields = grep(this._ownerColumns(), function (field) {\n if (omitCheckState) {\n return that.wrapper.find('[role=\\'menuitemcheckbox\\'] [' + uidAttr + '=\\'' + field.uid + '\\']').prop('checked');\n }\n return !field.hidden && field.matchesMedia !== false;\n }), visibleDataFields = grep(visibleFields, function (field) {\n return field.originalField;\n }), lockedCount = grep(visibleDataFields, function (col) {\n return col.locked === true;\n }).length, nonLockedCount = grep(visibleDataFields, function (col) {\n return col.locked !== true;\n }).length, columnsNotInMenu = grep(this.owner.columns, function (col) {\n return col.menu === false;\n }), hiddenColumnsNotInMenu = grep(columnsNotInMenu, function (col) {\n return col.hidden;\n });\n this.wrapper.find('[role=\\'menuitemcheckbox\\']').attr('aria-checked', false);\n var checkboxes = this.wrapper.find('.k-columns-item input[' + fieldAttr + ']').prop('disabled', false);\n if (!omitCheckState) {\n checkboxes.prop('checked', false);\n }\n var switchWidget;\n for (idx = 0, length = checkboxes.length; idx < length; idx++) {\n current = checkboxes.eq(idx);\n locked = current.attr(lockedAttr) === 'true';\n checked = false;\n switchWidget = current.data('kendoSwitch');\n colIdx = columnsInMenu.map(function (col) {\n return col.headerAttributes.id;\n }).indexOf(current.attr(uidAttr));\n checked = omitCheckState ? current.prop('checked') : !columnsInMenu[colIdx].hidden && columnsInMenu[colIdx].matchesMedia !== false;\n current.prop('checked', checked);\n if (switchWidget) {\n switchWidget.enable(true);\n switchWidget.check(checked);\n }\n current.closest('[role=\\'menuitemcheckbox\\']').attr('aria-checked', checked);\n if (checked) {\n if (lockedCount == 1 && locked) {\n current.prop('disabled', true);\n if (switchWidget) {\n switchWidget.enable(false);\n }\n }\n if ((columnsNotInMenu.length === 0 || columnsNotInMenu.length === hiddenColumnsNotInMenu.length) && nonLockedCount == 1 && !locked) {\n current.prop('disabled', true);\n if (switchWidget) {\n switchWidget.enable(false);\n }\n }\n }\n }\n },\n _updateColumnsLockedState: function () {\n var idx, length, current, column;\n var fieldAttr = kendo.attr('field');\n var lockedAttr = kendo.attr('locked');\n var columns = toHash(this._ownerColumns(), 'field');\n var checkboxes = this.wrapper.find('.k-columns-item input[type=checkbox]');\n for (idx = 0, length = checkboxes.length; idx < length; idx++) {\n current = checkboxes.eq(idx);\n column = columns[current.attr(fieldAttr)];\n if (column) {\n current.attr(lockedAttr, column.locked);\n }\n }\n this._updateColumnsMenu();\n },\n _filter: function () {\n var that = this, widget = FILTERMENU, options = that.options;\n if (options.filterable !== false) {\n if (options.filterable.multi) {\n widget = 'kendoFilterMultiCheck';\n if (options.filterable.dataSource) {\n options.filterable.checkSource = options.filterable.dataSource;\n delete options.filterable.dataSource;\n }\n }\n that.filterMenu = that.wrapper.find('.k-filterable')[widget](extend(true, {}, {\n appendToElement: true,\n dataSource: options.dataSource,\n values: options.values,\n field: that.field,\n title: that.title,\n change: function (e) {\n if (that.trigger('filtering', {\n filter: e.filter,\n field: e.field\n })) {\n e.preventDefault();\n }\n },\n componentType: that.options.componentType,\n cycleForm: !that._isModernComponentType()\n }, options.filterable)).data(widget);\n if (that._isMobile) {\n that.menu.bind(SELECT, function (e) {\n var item = $(e.item);\n if (item.hasClass('k-filter-item')) {\n that.pane.navigate(that.filterMenu.view, that.options.animations.left);\n }\n });\n }\n }\n },\n _lockColumns: function () {\n var that = this;\n if (that._isModernComponentType()) {\n that.wrapper.on('click' + NS, '.k-lock, .k-unlock', proxy(that._lockableHandler, that));\n } else {\n that.menu.bind(SELECT, proxy(that._lockableHandler, that));\n }\n },\n _lockableHandler: function (e) {\n var that = this;\n var item = e.item ? $(e.item) : $(e.target);\n if (item.hasClass('k-lock')) {\n that.owner.lockColumn(that.field);\n if (!that._isMobile) {\n that.close();\n }\n } else if (item.hasClass('k-unlock')) {\n that.owner.unlockColumn(that.field);\n if (!that._isMobile) {\n that.close();\n }\n }\n },\n _stickyColumns: function () {\n var that = this;\n if (that._isModernComponentType()) {\n that.wrapper.on('click' + NS, '.k-stick, .k-unstick', proxy(that._stickableHandler, that));\n } else {\n that.menu.bind(SELECT, proxy(that._stickableHandler, that));\n }\n },\n _stickableHandler: function (e) {\n var that = this;\n var item = e.item ? $(e.item) : $(e.target);\n var field = that.field;\n var columns = that.owner.columns;\n var column = grep(columns, function (column) {\n return column.field == field || column.title == field;\n })[0];\n if (item.hasClass('k-stick')) {\n that.owner.stickColumn(that.field);\n that.trigger(STICK, { column: column });\n if (!that._isMobile) {\n that.close();\n }\n } else if (item.hasClass('k-unstick')) {\n that.owner.unstickColumn(that.field);\n that.trigger(UNSTICK, { column: column });\n if (!that._isMobile) {\n that.close();\n }\n }\n },\n _updateLockedColumns: function () {\n var field = this.field;\n var columns = this.owner.columns;\n var column = grep(columns, function (column) {\n return column.field == field || column.title == field;\n })[0];\n if (!column) {\n return;\n }\n var locked = column.locked === true;\n var length = grep(columns, function (column) {\n return !column.hidden && (column.locked && locked || !column.locked && !locked);\n }).length;\n var notLockable = column.lockable === false;\n var lockItem = this.wrapper.find('.k-lock').removeClass('k-state-disabled');\n var unlockItem = this.wrapper.find('.k-unlock').removeClass('k-state-disabled');\n if (locked || length == 1 || notLockable) {\n lockItem.addClass('k-state-disabled');\n }\n if (!locked || length == 1 || notLockable) {\n unlockItem.addClass('k-state-disabled');\n }\n this._updateColumnsLockedState();\n },\n _updateStickyColumns: function () {\n var field = this.field;\n var columns = this.owner.columns;\n var column = grep(columns, function (column) {\n return column.field == field || column.title == field;\n })[0];\n if (!column) {\n return;\n }\n var sticky = column.sticky === true;\n var stickable = column.stickable === true;\n var locked = column.locked === true;\n var length = grep(columns, function (column) {\n return !column.hidden && (column.locked && locked || !column.locked && !locked);\n }).length;\n var stickItem = this.wrapper.find('.k-stick').removeClass('k-state-disabled');\n var unstickItem = this.wrapper.find('.k-unstick').removeClass('k-state-disabled');\n if (sticky || !stickable || locked && length === 1) {\n stickItem.addClass('k-state-disabled');\n }\n if (!sticky || !stickable) {\n unstickItem.addClass('k-state-disabled');\n }\n },\n refresh: function () {\n var that = this, sort = that.options.dataSource.sort() || [], descriptor, field = that.field, idx, length;\n that.wrapper.find('.k-sort-asc, .k-sort-desc').removeClass(ACTIVE);\n for (idx = 0, length = sort.length; idx < length; idx++) {\n descriptor = sort[idx];\n if (field == descriptor.field) {\n that.wrapper.find('.k-sort-' + descriptor.dir).addClass(ACTIVE);\n }\n }\n that.link[that._filterExist(that.dataSource.filter()) ? 'addClass' : 'removeClass']('k-state-active');\n },\n _filterExist: function (filters) {\n var found = false;\n var filter;\n if (!filters) {\n return;\n }\n filters = filters.filters;\n for (var idx = 0, length = filters.length; idx < length; idx++) {\n filter = filters[idx];\n if (filter.field == this.field) {\n found = true;\n } else if (filter.filters) {\n found = found || this._filterExist(filter);\n }\n }\n return found;\n }\n });\n var modernTemplate = '#if(sortable){#' + '
' + '
' + '
' + '${messages.sortAscending}' + '
' + '
' + '
' + '
' + '${messages.sortDescending}' + '
' + '
' + '
' + '#}#' + '#if(showColumns){#' + '
' + '
' + '
' + '
' + '
' + '#for (var idx = 0; idx < columns.length; idx++) {#' + '#if(columns[idx].groupHeader){#' + '#=columns[idx].title#' + '#} else {#' + '' + '#}#' + '#}#' + '
' + '
' + '
' + '' + '' + '
' + '
' + '
' + '
' + '#}#' + '#if(filterable){#' + '
' + '
' + '
' + '
' + '
' + '#}#' + '#if(hasLockableColumns || hasStickableColumns){#' + '
' + '
' + '#if(hasLockableColumns){#' + '
' + '${messages.lock}' + '
' + '
' + '${messages.unlock}' + '
' + '#}#' + '#if(hasStickableColumns){#' + '
' + '${messages.stick}' + '
' + '
' + '${messages.unstick}' + '
' + '#}#' + '
' + '
' + '#}#';\n var template = '';\n var mobileTemplate = '
' + '
' + '' + '${messages.settings}' + '' + '
' + '
' + '
    ' + '
  • ' + '#=messages.column#: ${title}' + '
      ' + '#if(sortable){#' + '
    • ${messages.sortAscending}
    • ' + '
    • ${messages.sortDescending}
    • ' + '#}#' + '#if(hasLockableColumns){#' + '
    • ${messages.lock}
    • ' + '
    • ${messages.unlock}
    • ' + '#}#' + '#if(hasStickableColumns){#' + '
    • ${messages.stick}
    • ' + '
    • ${messages.unstick}
    • ' + '#}#' + '#if(filterable){#' + '
    • ' + '' + '' + '${messages.filter}' + '' + '' + '
    • ' + '#}#' + '
    ' + '
  • ' + '#if(showColumns){#' + '
  • ${messages.columnVisibility}' + '#if(hasGroups){#' + '#for (var i = 0; i < groups.length; i++) {#' + '#:groups[i].title#' + '
      ' + '#for (var idx = 0; idx < groups[i].columns.length; idx++) {#' + '
    • ' + '' + '' + '#=groups[i].columns[idx].title#' + '' + '' + '' + '' + '' + '
    • ' + '#}#' + '
    ' + '#}#' + '#} else {#' + '
      ' + '#for (var idx = 0; idx < columns.length; idx++) {#' + '
    • ' + '' + '' + '#=columns[idx].title#' + '' + '' + '' + '' + '' + '
    • ' + '#}#' + '
    ' + '#}#' + '
  • ' + '#}#' + '
  • ' + '
      ' + '
    • ' + '' + '#=messages.clear#' + '' + '
    • ' + '
    ' + '
  • ' + '
' + '
' + '
';\n var MobileMenu = Widget.extend({\n init: function (element, options) {\n var that = this;\n Widget.fn.init.call(that, element, options);\n that._createCheckBoxes();\n that.element.on('click' + NS, 'li.k-item:not(.k-separator):not(.k-state-disabled):not(:has(.k-switch))', '_click');\n },\n events: [SELECT],\n _click: function (e) {\n var that = this;\n if (!$(e.target).is('[type=checkbox]')) {\n e.preventDefault();\n }\n if ($(e.target).hasClass('k-clear')) {\n that._cancelChanges(true);\n return;\n }\n if ($(e.target).hasClass('k-filterable')) {\n that._cancelChanges(true);\n that.trigger(SELECT, { item: e.currentTarget });\n return;\n }\n that._updateSelectedItems(e.currentTarget);\n },\n _updateSelectedItems: function (el) {\n var that = this;\n var item = $(el);\n var state = that.options.columnMenu.view.state || { columns: {} };\n var id = item.prop('id');\n if (item.hasClass('k-filter-item')) {\n return;\n }\n if (state[id]) {\n state[id] = false;\n } else {\n state[id] = true;\n }\n if (item.hasClass('k-sort-asc') || item.hasClass('k-sort-desc')) {\n var dir;\n var otherItem;\n var otherItemId;\n if (item.hasClass('k-sort-asc')) {\n dir = 'asc';\n otherItem = that.element.find('.k-sort-desc');\n } else {\n dir = 'desc';\n otherItem = that.element.find('.k-sort-asc');\n }\n otherItemId = otherItem.prop('id');\n if (dir === state.initialSort && !item.hasClass('k-state-selected')) {\n state[id] = false;\n }\n if (state[otherItemId]) {\n state[otherItemId] = false;\n }\n otherItem.removeClass(ACTIVE);\n }\n if (item.hasClass(ACTIVE)) {\n item.removeClass(ACTIVE);\n } else {\n item.addClass(ACTIVE);\n }\n },\n _cancelChanges: function (force) {\n var that = this;\n var menu = that.options.columnMenu;\n var view = menu.view;\n var state = view.state || { columns: {} };\n var columns = state.columns;\n that.element.find('.' + ACTIVE).removeClass(ACTIVE);\n menu.refresh();\n if (force) {\n var selectedItems = [];\n for (var key in columns) {\n if (columns.hasOwnProperty(key)) {\n if (columns[key] === true) {\n var item = view.element.find('#' + key);\n selectedItems.push(item[0]);\n }\n }\n }\n for (var i = selectedItems.length - 1; i >= 0; i--) {\n that.trigger(SELECT, { item: selectedItems[i] });\n }\n if (menu.options.hasLockableColumns) {\n menu._updateLockedColumns();\n }\n if (menu.options.hasStickableColumns) {\n menu._updateStickyColumns();\n }\n }\n that.options.columnMenu.view.state = { columns: {} };\n },\n _applyChanges: function () {\n var that = this;\n var view = that.options.columnMenu.view;\n var state = view.state || { columns: {} };\n for (var key in state) {\n if (state.hasOwnProperty(key)) {\n if (key !== 'initialSort' && key !== 'columns' && state[key] === true) {\n var item = view.element.find('#' + key);\n if (item.hasClass(ACTIVE)) {\n item.removeClass(ACTIVE);\n } else {\n item.addClass(ACTIVE);\n }\n that.trigger(SELECT, { item: item[0] });\n }\n }\n }\n },\n _createCheckBoxes: function () {\n var that = this;\n that.element.find('.k-columns-item').find('[type=\\'checkbox\\']').kendoSwitch({\n messages: {\n checked: '',\n unchecked: ''\n },\n change: function (e) {\n var item = e.sender.element.closest('.k-item');\n var state = that.options.columnMenu.view.state || { columns: {} };\n var id = item.prop('id');\n if (state.columns[id]) {\n state.columns[id] = false;\n } else {\n state.columns[id] = true;\n }\n that.trigger(SELECT, { item: item });\n }\n });\n },\n _destroyCheckBoxes: function () {\n var that = this;\n var elements = that.element.find('.k-columns-item').find('[type=\\'checkbox\\']');\n var switchWidget;\n for (var i = 0; i < elements.length; i++) {\n switchWidget = elements.eq(i).data('kendoSwitch');\n if (switchWidget) {\n switchWidget.destroy();\n }\n }\n },\n close: function () {\n this.options.pane.navigate('');\n },\n destroy: function () {\n var that = this;\n Widget.fn.destroy.call(that);\n that.element.off(NS);\n that._destroyCheckBoxes();\n }\n });\n ui.plugin(ColumnMenu);\n }(window.kendo.jQuery));\n return window.kendo;\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));"]}