{"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","link","that","componentType","fn","call","owner","dataSource","find","addClass","messages","settings","on","_click","wrapper","_refreshHandler","refresh","bind","_init","pane","_isMobile","_createMobileMenu","_createMenu","_muteAngularRebind","_angularItems","_sort","_columns","_filter","_lockColumns","_stickyColumns","trigger","events","name","sortAscending","sortDescending","filter","columnVisibility","clear","cancel","done","lock","unlock","stick","unstick","setColumnPosition","apply","reset","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","_createExpanders","orientation","closeOnClick","_updateMenuItems","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","focus","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, link;\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 link = element.find('.k-header-column-menu');\n if (!link[0]) {\n link = element.addClass('k-with-icon').prepend('').find('.k-header-column-menu');\n }\n that.link = link.attr('tabindex', -1).on('click' + NS, proxy(that._click, that));\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 },\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 _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.focus();\n } else {\n this.popup.element.find('[tabindex=0]:eq(0)').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}));"]}