UNPKG

@progress/kendo-ui

Version:

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

1,186 lines (963 loc) 42.7 kB
module.exports = /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) /******/ return installedModules[moduleId].exports; /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ exports: {}, /******/ id: moduleId, /******/ loaded: false /******/ }; /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ // Flag the module as loaded /******/ module.loaded = true; /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ // __webpack_public_path__ /******/ __webpack_require__.p = ""; /******/ // Load entry module and return exports /******/ return __webpack_require__(0); /******/ }) /************************************************************************/ /******/ ({ /***/ 0: /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__(1378); /***/ }), /***/ 3: /***/ (function(module, exports) { module.exports = function() { throw new Error("define cannot be used indirect"); }; /***/ }), /***/ 1062: /***/ (function(module, exports) { module.exports = require("./kendo.dropdownlist"); /***/ }), /***/ 1111: /***/ (function(module, exports) { module.exports = require("./kendo.menu"); /***/ }), /***/ 1209: /***/ (function(module, exports) { module.exports = require("./kendo.window"); /***/ }), /***/ 1378: /***/ (function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function(f, define){ !(__WEBPACK_AMD_DEFINE_ARRAY__ = [ __webpack_require__(1379), __webpack_require__(1111), __webpack_require__(1209), __webpack_require__(1380), __webpack_require__(1062) ], __WEBPACK_AMD_DEFINE_FACTORY__ = (f), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); })(function(){ var __meta__ = { // jshint ignore:line id: "pivot.fieldmenu", name: "PivotFieldMenu", category: "web", description: "The PivotFieldMenu widget allows the user to filter on fields displayed in PivotGrid", depends: [ "menu", "window", "treeview", "dropdownlist" ], advanced: true }; /*jshint eqnull: true*/ (function($, undefined) { var kendo = window.kendo; var ui = kendo.ui; var MENU = "kendoContextMenu"; var proxy = $.proxy; var NS = ".kendoPivotFieldMenu"; var Widget = ui.Widget; var FILTER_ITEM = "k-filter-item"; var ARIA_LABEL = "aria-label"; var PivotFieldMenuV2 = Widget.extend({ init: function(element, options) { Widget.fn.init.call(this, element, options); this._dataSource(); this._layout(); kendo.notify(this); }, events: [], options: { name: "PivotFieldMenuV2", animation: { expand: { effects: "expand:vertical", duration: 200 }, collapse: { duration: 200, effects: "expand:vertical", hide: true, reverse: true } }, filter: null, filterable: true, sortable: true, messages: { apply: "Apply", sortAscending: "Sort Ascending", sortDescending: "Sort Descending", filterFields: "Fields Filter", filter: "Filter", include: "Include Fields...", clear: "Clear", reset: "Reset", operators: { contains: "Contains", doesnotcontain: "Does not contain", startswith: "Starts with", endswith: "Ends with", eq: "Is equal to", neq: "Is not equal to" } } }, destroy: function() { Widget.fn.destroy.call(this); if (this.menu) { this.menu.element.off(NS); this.menu.destroy(); this.menu = null; this._applyProxy = this._resetIncludes = null; } if (this.treeView) { this.treeView.destroy(); this.treeView = null; } this.wrapper = null; this.element = null; }, setDataSource: function(dataSource) { this.options.dataSource = dataSource; this._dataSource(); }, _createTreeView: function(element) { var that = this; that._includesCache = {}; that.treeView = new ui.TreeView(element, { autoBind: false, dataSource: that._treeViewDataSource(), dataTextField: "caption", template: "#: data.item.caption || data.item.name #", check: function(e) { /* The result can be observed in the DevTools(F12) console of the browser. */ var dataItem = e.sender.dataItem(e.node); if (that._includesCache[dataItem.uniqueName]) { delete that._includesCache[dataItem.uniqueName]; } else { that._includesCache[dataItem.uniqueName] = e.node; } }, checkboxes: { checkChildren: true } }); }, _dataSource: function() { this.dataSource = kendo.data.PivotDataSourceV2.create(this.options.dataSource); }, _layout: function() { var that = this; var options = that.options; that.wrapper = $(kendo.template(MENUTEMPLATEV2)({ ns: kendo.ns, filterable: options.filterable, sortable: options.sortable, messages: options.messages })); that.menu = that.wrapper[MENU]({ filter: options.filter, target: that.element, orientation: "vertical", showOn: "click", closeOnClick: false, open: proxy(this._menuOpen, this), close: proxy(this._closeMenu, this), copyAnchorStyles: false }).data(MENU); that.menu.element.off("blur.kendoMenu", "[tabindex]", that.menu._checkActiveProxy); if (options.filterable) { that._initFilterForm(); that._attachFilterHandlers(); that._createTreeView(that.wrapper.find(".k-treeview")); } that._clickHandler = $.proxy(that._click, that); that.wrapper.on("click", ".k-item:not([role='treeitem'])", that._clickHandler); }, _closeMenu: function (e) { var that = this; var activeElement = $(kendo._activeElement()); if (activeElement[0] === this._filterOperator.wrapper[0] || activeElement.closest(".k-treeview")[0] === that.treeView.wrapper[0] || activeElement.hasClass("k-button-includes-reset")) { e.preventDefault(); } }, _treeViewDataSource: function() { var that = this; return kendo.data.HierarchicalDataSource.create({ schema: { model: { id: "uniqueName", hasChildren: function(item) { return parseInt(item.childrenCardinality, 10) > 0; } } }, transport: { read: function(options) { var catalog = that.dataSource.transport.catalog(); var cube = that.dataSource.transport.cube(); var restrictions = { catalogName: catalog, cubeName: cube }; var fetchOptions = { command: 'schemaMembers' }; var node = that.treeView.dataSource.get(options.data.uniqueName); var name = options.data.uniqueName; if (!name) { restrictions.levelUniqueName = that.currentMember + ".[(ALL)]"; } else { restrictions.memberUniqueName = node.uniqueName.replace(/\&/g, "&amp;"); restrictions.treeOp = 1; } fetchOptions.connection = { catalog: catalog, cube: cube }; fetchOptions.restrictions = restrictions; that.dataSource.discover(fetchOptions).then( function (data) { if (!node || node.checked) { checkNodes(that.dataSource.filter(), that.currentMember, data); } options.success(data); }); } } }); }, _click: function (e) { var item = $(e.currentTarget); var next = item.next(); if (item.hasClass("k-expander")) { this._toggle(next, item); } else if (item.hasClass("k-columnmenu-item") && item.find(".k-i-sort-asc-sm").length) { this._sort("asc"); } else if (item.hasClass("k-columnmenu-item") && item.find(".k-i-sort-desc-sm").length) { this._sort("desc"); } }, _attachFilterHandlers: function () { this._applyIncludesProxy = proxy(this._applyIncludes, this); this._resetIncludesProxy = proxy(this._resetIncludes, this); this.menu.element .on("click" + NS, ".k-button-includes-reset", this._resetIncludesProxy) .on("click" + NS, ".k-button-includes-apply", this._applyIncludesProxy); }, _includesHandler: function(e) { e.preventDefault(); if ($(e.target).hasClass("k-button-includes-reset")) { this._resetIncludes(); } else { this._applyIncludes(); } }, _applyIncludes: function(e) { e.preventDefault(); var view = this.treeView.dataSource.view(); var filter = this.dataSource.filter(); var newExpression = includeExpression(view, filter, this.currentMember); this._includesCache = {}; if (newExpression) { this.dataSource._preventRefresh = true; this.dataSource.filter(newExpression); this.menu.close(); } }, _resetIncludes: function(e) { e.preventDefault(); var that = this; var checkbox; for (var item in that._includesCache) { checkbox = $(that._includesCache[item]).find(".k-checkbox"); checkbox.prop("checked", !checkbox.prop("checked")); that.treeView._checkboxChange({ target: checkbox }); delete that._includesCache[item]; } }, _initFilterForm: function() { var filterForm = this.menu.element.find(".kendo-grid-filter-menu-container"); var filterProxy = proxy(this._filter, this); this._filterOperator = new kendo.ui.DropDownList(filterForm.find("select"), { popup: { appendTo: document.body } }); this._filterValue = filterForm.find(".k-textbox"); this._filterForm = filterForm; this._updateFilterAriaLabel(); filterForm .on("click" + NS, ".k-button-filter", filterProxy) .on("click" + NS, ".k-button-filter-clear", proxy(this._reset, this)); }, _updateFilterAriaLabel: function () { var selectedOperator = this._filterOperator.value(); var selectedOperatorName = this.options.messages.operators[selectedOperator]; this._filterForm.find("select").attr(ARIA_LABEL, selectedOperatorName); }, _filter: function(e) { var that = this; var value = convert(that._filterValue.val(), that.dataSource, that.currentMember); e.preventDefault(); if (value === "") { that.menu.close(); return; } var expression = { field: that.currentMember, operator: that._filterOperator.value(), value: value }; var filter = that._clearFilters(that.currentMember); filter.filters.push(expression); that.dataSource._preventRefresh = true; that.dataSource.filter(filter); that.menu.close(); }, _reset: function(e) { var that = this; var filter = that._clearFilters(that.currentMember); e.preventDefault(); if (!filter.filters[0]) { filter = {}; } that.dataSource._preventRefresh = true; that.dataSource.filter(filter); that._setFilterForm(null); that.menu.close(); }, _clearFilters: function(member) { var filter = this.dataSource.filter() || {}; var expressions; var idx = 0; var length; filter.filters = filter.filters || []; expressions = findFilters(filter, member); for (length = expressions.length; idx < length; idx++) { filter.filters.splice(filter.filters.indexOf(expressions[idx]), 1); } return filter; }, _setFilterForm: function(expression) { var filterOperator = this._filterOperator; var operator = ""; var value = ""; if (expression) { operator = expression.operator; value = expression.value; } filterOperator.value(operator); if (!filterOperator.value()) { filterOperator.select(0); } this._filterValue.val(value); }, _collapseItems: function (items) { items.find(".k-expander-indicator").removeClass("k-i-arrow-chevron-down") .addClass("k-i-arrow-chevron-up"); items.nextAll().hide(); }, _toggle: function(content, item) { var that = this; var animations = that.options.animation; var shouldExpand = content.is(":visible"); var animation = !shouldExpand ? animations.expand : animations.collapse; if (!shouldExpand) { item.find(".k-expander-indicator").removeClass("k-i-arrow-chevron-down") .addClass("k-i-arrow-chevron-up"); } else { item.find(".k-expander-indicator").removeClass("k-i-arrow-chevron-up") .addClass("k-i-arrow-chevron-down"); } content .kendoStop(true, true) .kendoAnimate(animation); }, _sort: function(dir) { var field = this.currentMember; var expressions = (this.dataSource.sort() || []); expressions = removeExpr(expressions, field); expressions.push({ field: field, dir: dir }); this.dataSource._preventRefresh = true; this.dataSource.sort(expressions); this.menu.close(); }, _menuOpen: function(e) { if (!e.event) { return; } var that = this; that.currentMember = $(e.event.target).prev().text(); that.menu.popup._hovered = true; if (that.options.filterable) { that._setFilterForm(findFilters(that.dataSource.filter(), that.currentMember)[0]); if (that.currentMember !== that._oldCurrentmember) { if (that._oldCurrentmember) { that._collapseItems(that.menu.element.find(".k-item.k-expander")); } that._oldCurrentmember = that.currentMember; that._includesCache = {}; this.treeView.dataSource.read(); } } }, }); var PivotFieldMenu = Widget.extend({ init: function(element, options) { Widget.fn.init.call(this, element, options); this._dataSource(); this._layout(); kendo.notify(this); }, events: [], options: { name: "PivotFieldMenu", filter: null, filterable: true, sortable: true, messages: { info: "Show items with value that:", sortAscending: "Sort Ascending", sortDescending: "Sort Descending", filterFields: "Fields Filter", filter: "Filter", include: "Include Fields...", title: "Fields to include", clear: "Clear", ok: "OK", cancel: "Cancel", operators: { contains: "Contains", doesnotcontain: "Does not contain", startswith: "Starts with", endswith: "Ends with", eq: "Is equal to", neq: "Is not equal to" } } }, _layout: function() { var options = this.options; this.wrapper = $(kendo.template(MENUTEMPLATE)({ ns: kendo.ns, filterable: options.filterable, sortable: options.sortable, messages: options.messages })); this.menu = this.wrapper[MENU]({ filter: options.filter, target: this.element, orientation: "vertical", showOn: "click", closeOnClick: false, open: proxy(this._menuOpen, this), select: proxy(this._select, this), copyAnchorStyles: false }).data(MENU); this._createWindow(); if (options.filterable) { this._initFilterForm(); } }, _initFilterForm: function() { var filterForm = this.menu.element.find("." + FILTER_ITEM); var filterProxy = proxy(this._filter, this); this._filterOperator = new kendo.ui.DropDownList(filterForm.find("select")); this._filterValue = filterForm.find(".k-textbox"); this._updateFilterAriaLabel(); filterForm .on("submit" + NS, filterProxy) .on("click" + NS, ".k-button-filter", filterProxy) .on("click" + NS, ".k-button-clear", proxy(this._reset, this)); }, _setFilterForm: function(expression) { var filterOperator = this._filterOperator; var operator = ""; var value = ""; if (expression) { operator = expression.operator; value = expression.value; } filterOperator.value(operator); if (!filterOperator.value()) { filterOperator.select(0); } this._filterValue.val(value); }, _clearFilters: function(member) { var filter = this.dataSource.filter() || {}; var expressions; var idx = 0; var length; filter.filters = filter.filters || []; expressions = findFilters(filter, member); for (length = expressions.length; idx < length; idx++) { filter.filters.splice(filter.filters.indexOf(expressions[idx]), 1); } return filter; }, _filter: function(e) { var that = this; var value = convert(that._filterValue.val(), that.dataSource, that.currentMember); e.preventDefault(); if (value === "") { that.menu.close(); return; } var expression = { field: that.currentMember, operator: that._filterOperator.value(), value: value }; var filter = that._clearFilters(that.currentMember); filter.filters.push(expression); that.dataSource.filter(filter); that.menu.close(); }, _updateFilterAriaLabel: function () { var filterForm = this.menu.element.find("." + FILTER_ITEM); var selectedOperator = this._filterOperator.value(); var selectedOperatorName = this.options.messages.operators[selectedOperator]; filterForm.find("select").attr(ARIA_LABEL, selectedOperatorName); }, _reset: function(e) { var that = this; var filter = that._clearFilters(that.currentMember); e.preventDefault(); if (!filter.filters[0]) { filter = {}; } that.dataSource.filter(filter); that._setFilterForm(null); that.menu.close(); }, _sort: function(dir) { var field = this.currentMember; var expressions = (this.dataSource.sort() || []); expressions = removeExpr(expressions, field); expressions.push({ field: field, dir: dir }); this.dataSource.sort(expressions); this.menu.close(); }, setDataSource: function(dataSource) { this.options.dataSource = dataSource; this._dataSource(); }, _dataSource: function() { this.dataSource = kendo.data.PivotDataSource.create(this.options.dataSource); }, _createWindow: function() { var messages = this.options.messages; this.includeWindow = $(kendo.template(WINDOWTEMPLATE)({ messages: messages })) .on("click" + NS, ".k-button-ok", proxy(this._applyIncludes, this)) .on("click" + NS, ".k-button-cancel", proxy(this._closeWindow, this)); this.includeWindow = new ui.Window(this.includeWindow, { title: messages.title, visible: false, resizable: false, open: proxy(this._windowOpen, this) }); }, _applyIncludes: function(e) { var checkedNodes = []; var resultExpression; var view = this.treeView.dataSource.view(); var rootChecked = view[0].checked; var filter = this.dataSource.filter(); var existingExpression = findFilters(filter, this.currentMember, "in")[0]; checkedNodeIds(view, checkedNodes); if (existingExpression) { if (rootChecked) { filter.filters.splice(filter.filters.indexOf(existingExpression), 1); if (!filter.filters.length) { filter = {}; } } else { existingExpression.value = checkedNodes.join(","); } resultExpression = filter; } if (checkedNodes.length) { if (!resultExpression && !rootChecked) { resultExpression = { field: this.currentMember, operator: "in", value: checkedNodes.join(",") }; if (filter) { filter.filters.push(resultExpression); resultExpression = filter; } } } if (resultExpression) { this.dataSource.filter(resultExpression); } this._closeWindow(e); }, _closeWindow: function(e) { e.preventDefault(); this.includeWindow.close(); }, _treeViewDataSource: function() { var that = this; return kendo.data.HierarchicalDataSource.create({ schema: { model: { id: "uniqueName", hasChildren: function(item) { return parseInt(item.childrenCardinality, 10) > 0; } } }, transport: { read: function(options) { var restrictions = {}; var node = that.treeView.dataSource.get(options.data.uniqueName); var name = options.data.uniqueName; if (!name) { restrictions.levelUniqueName = that.currentMember + ".[(ALL)]"; } else { restrictions.memberUniqueName = node.uniqueName.replace(/\&/g, "&amp;"); restrictions.treeOp = 1; } that.dataSource .schemaMembers(restrictions) .done(function (data) { checkNodes(that.dataSource.filter(), that.currentMember, data); options.success(data); }) .fail(options.error); } } }); }, _createTreeView: function(element) { var that = this; that.treeView = new ui.TreeView(element, { autoBind: false, dataSource: that._treeViewDataSource(), dataTextField: "caption", template: "#: data.item.caption || data.item.name #", checkboxes: { checkChildren: true }, dataBound: function() { ui.progress(that.includeWindow.element, false); } }); }, _menuOpen: function(e) { if (!e.event) { return; } var attr = kendo.attr("name"); this.currentMember = $(e.event.target).closest("[" + attr + "]").attr(attr); if (this.options.filterable) { this._setFilterForm(findFilters(this.dataSource.filter(), this.currentMember)[0]); } }, _select: function(e) { var item = $(e.item); $(".k-pivot-filter-window").not(this.includeWindow.element).kendoWindow("close"); if (item.hasClass("k-include-item")) { this.includeWindow.center().open(); } else if (item.hasClass("k-sort-asc")) { this._sort("asc"); } else if (item.hasClass("k-sort-desc")) { this._sort("desc"); } else if (item.hasClass(FILTER_ITEM)) { this._updateFilterAriaLabel(); } }, _windowOpen: function() { if (!this.treeView) { this._createTreeView(this.includeWindow.element.find(".k-treeview")); } ui.progress(this.includeWindow.element, true); this.treeView.dataSource.read(); }, destroy: function() { Widget.fn.destroy.call(this); if (this.menu) { this.menu.destroy(); this.menu = null; } if (this.treeView) { this.treeView.destroy(); this.treeView = null; } if (this.includeWindow) { this.includeWindow.destroy(); this.includeWindow = null; } this.wrapper = null; this.element = null; } }); function convert(value, dataSource, currentMember) { var schema = dataSource.options.schema; var field = ((schema.model || {}).fields || {})[currentMember]; if (field) { if (field.type === "number") { value = parseFloat(value); } else if (field.type === "boolean") { value = Boolean($.parseJSON(value)); } } return value; } function removeExpr(expressions, name) { var result = []; for (var idx = 0, length = expressions.length; idx < length; idx++) { if (expressions[idx].field !== name) { result.push(expressions[idx]); } } return result; } function findFilters(filter, member, operator) { if (!filter) { return []; } filter = filter.filters; var idx = 0; var result = []; var length = filter.length; var filterOperator; for ( ; idx < length; idx++) { filterOperator = filter[idx].operator; if (((!operator && filterOperator !== "in") || (filterOperator === operator)) && filter[idx].field === member) { result.push(filter[idx]); } } return result; } function checkNodes(filter, member, nodes) { var values, idx = 0, length = nodes.length; filter = findFilters(filter, member, "in")[0]; if (!filter) { for (; idx < length; idx++) { nodes[idx].checked = true; } } else { values = filter.value.split(","); for (; idx < length; idx++) { nodes[idx].checked = $.inArray(nodes[idx].uniqueName, values) >= 0; } } } function checkedNodeIds(nodes, checkedNodes) { var idx, length = nodes.length; for (idx = 0; idx < length; idx++) { if (nodes[idx].checked && nodes[idx].level() !== 0) { checkedNodes.push(nodes[idx].uniqueName); } if (nodes[idx].hasChildren) { checkedNodeIds(nodes[idx].children.view(), checkedNodes); } } } function includeExpression(view, filter, currentMember) { var checkedNodes = []; var resultExpression; var rootChecked = view[0].checked; var existingExpression = findFilters(filter, currentMember, "in")[0]; checkedNodeIds(view, checkedNodes); if (existingExpression) { if (rootChecked) { filter.filters.splice(filter.filters.indexOf(existingExpression), 1); if (!filter.filters.length) { filter = {}; } } else { existingExpression.value = checkedNodes.join(","); } resultExpression = filter; } if (checkedNodes.length) { if (!resultExpression && !rootChecked) { resultExpression = { field: currentMember, operator: "in", value: checkedNodes.join(",") }; if (filter) { filter.filters.push(resultExpression); resultExpression = filter; } } } return resultExpression ? resultExpression: null; } var LABELMENUTEMPLATE = '<div class="k-filterable k-content" tabindex="-1" data-role="fieldmenu">' + '<form class="k-filter-menu">' + '<div class="k-filter-menu-container">' + '<div class="k-filter-help-text">#=messages.info#</div>'+ '<select>'+ '#for(var op in messages.operators){#'+ '<option value="#=op#">#=messages.operators[op]#</option>' + '#}#'+ '</select>'+ '<input class="k-textbox" type="text" ' + ARIA_LABEL + '="#=messages.filter#" title="#=messages.filter#" />'+ '<div class="k-action-buttons">'+ '<a class="k-button k-primary k-button-filter" href="\\#">#=messages.filter#</a>'+ '<a class="k-button k-button-clear" href="\\#">#=messages.clear#</a>'+ '</div>'+ '</div>' + '</form>' + '</div>'; var MENUTEMPLATEV2 = '<div class="k-pivotgrid-column-menu k-column-menu k-popup k-child-animation-container">' + '<div class="k-pivotgrid-column-menu-popup k-grid-columnmenu-popup">' + '<div>' + '<div class="k-columnmenu-item-wrapper">' + '<div class="k-columnmenu-item k-item">' + '<span class="k-icon k-i-sort-asc-sm"></span>#:messages.sortAscending#' + '</div>' + '<div class="k-columnmenu-item k-item">' + '<span class="k-icon k-i-sort-desc-sm"></span>#:messages.sortDescending#' + '</div>' + '</div>' + '<div class="k-columnmenu-item-wrapper">' + '<div class="k-widget k-expander k-item">' + '<div class="k-columnmenu-item">' + '<span class="k-icon k-i-grid-layout"></span>#:messages.include#' + '<span class="k-expander-spacer"></span>' + '<span class="k-expander-indicator k-icon k-i-arrow-chevron-down"></span>' + '</div>' + '</div>' + '<div class="k-columnmenu-item-content" style="width: 100%; height: auto; display:none">' + '<div class="k-column-list-wrapper">' + '<div class="k-column-list">' + '<div class="k-treeview">' + '</div>' + '</div>' + '</div>' + '<div class="k-actions k-hstack k-justify-content-stretch">' + '<button class="k-button k-button-includes-reset">#:messages.reset#</button>' + '<button class="k-button k-button-includes-apply k-primary">#:messages.apply#</button>' + '</div>' + '</div>' + '</div>' + '<div class="k-columnmenu-item-wrapper">' + '<div class="k-widget k-expander k-item">' + '<div class="k-columnmenu-item">' + '<span class="k-icon k-i-filter"></span>#:messages.filterFields#' + '<span class="k-expander-spacer"></span>' + '<span class="k-expander-indicator k-icon k-i-arrow-chevron-down"></span>' + '</div>' + '</div>' + '<div class="k-columnmenu-item-content" style="display:none">' + '<div class="k-animation-container k-animation-container-relative" style="display: block; ">' + '<div class="k-child-animation-container">' + '<div class="kendo-grid-filter-menu-container">' + '<form class="k-filter-menu k-group k-reset k-state-border-up">' + '<div class="k-filter-menu-container">' + '<div>' + '<select class="k-widget k-dropdown" style="overflow:visible">' + '#for(var op in messages.operators){#' + '<option value="#=op#">#=messages.operators[op]#</option>' + '#}#' + '</select>' + '<input class="k-textbox" value="">' + '</div>' + '<div class="k-actions k-hstack k-justify-content-stretch">' + '<button class="k-button k-button-filter-clear">#:messages.clear#</button>' + '<button class="k-button k-primary k-button-filter">#:messages.filter#</button>' + '</div>' + '</div>' + '</form>' + '</div>' + '</div>' + '</div>' + '</div>' + '</div>' + '</div>' + '</div>' + '</div>'; var MENUTEMPLATE = '<ul class="k-pivot-fieldmenu">'+ '# if (sortable) {#'+ '<li class="k-item k-menu-item k-sort-asc">'+ '<span class="k-link k-menu-link">'+ '<span class="k-icon k-i-sort-asc-sm"></span>'+ '${messages.sortAscending}'+ '</span>'+ '</li>'+ '<li class="k-item k-menu-item k-sort-desc">'+ '<span class="k-link k-menu-link">'+ '<span class="k-icon k-i-sort-desc-sm"></span>'+ '${messages.sortDescending}'+ '</span>'+ '</li>'+ '# if (filterable) {#'+ '<li class="k-separator"></li>'+ '# } #'+ '# } #'+ '# if (filterable) {#'+ '<li class="k-item k-menu-item k-include-item">'+ '<span class="k-link k-menu-link">'+ '<span class="k-icon k-i-filter"></span>'+ '${messages.include}'+ '</span>'+ '</li>'+ '<li class="k-separator"></li>'+ '<li class="k-item k-menu-item ' + FILTER_ITEM + '">'+ '<span class="k-link k-menu-link">'+ '<span class="k-icon k-i-filter"></span>'+ '${messages.filterFields}'+ '</span>'+ '<ul>'+ '<li>' + LABELMENUTEMPLATE + '</li>'+ '</ul>'+ '</li>'+ '# } #'+ '</ul>'; var WINDOWTEMPLATE = '<div class="k-popup-edit-form k-pivot-filter-window"><div class="k-edit-form-container">'+ '<div class="k-treeview"></div>'+ '<div class="k-edit-buttons k-state-default">'+ '<a class="k-button k-primary k-button-ok" href="\\#">'+ '${messages.ok}'+ '</a>'+ '<a class="k-button k-button-cancel" href="\\#">'+ '${messages.cancel}'+ '</a>'+ '</div></div>'; ui.plugin(PivotFieldMenu); ui.plugin(PivotFieldMenuV2); })(window.kendo.jQuery); return window.kendo; }, __webpack_require__(3)); /***/ }), /***/ 1379: /***/ (function(module, exports) { module.exports = require("./kendo.pivotgrid"); /***/ }), /***/ 1380: /***/ (function(module, exports) { module.exports = require("./kendo.treeview"); /***/ }) /******/ });