{"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","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","menu","_closing","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","e","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","sender","_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 },\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 () {\n if (that.menu) {\n that.menu._closing = true;\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}));"]}