@progress/kendo-ui
Version:
This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.
1 lines • 20.1 kB
JavaScript
module.exports=function(i){var n={};function s(e){if(n[e])return n[e].exports;var t=n[e]={exports:{},id:e,loaded:!1};return i[e].call(t.exports,t,t.exports,s),t.loaded=!0,t.exports}return s.m=i,s.c=n,s.p="",s(0)}({0:function(e,t,i){e.exports=i(1401)},3:function(e,t){e.exports=function(){throw Error("define cannot be used indirect")}},1065:function(e,t){e.exports=require("./kendo.dropdownlist")},1121:function(e,t){e.exports=require("./kendo.menu")},1221:function(e,t){e.exports=require("./kendo.window")},1401:function(e,t,i){var n;i(3),i=[i(1402),i(1121),i(1221),i(1403),i(1065)],void 0===(t="function"==typeof(n=function(){var e={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","treeview.draganddrop","dropdownlist"],advanced:true},a=window.kendo.jQuery,t=void 0,n=window.kendo,s=n.ui,i="kendoContextMenu",r=".kendoPivotFieldMenu",o=s.Widget,l="k-filter-item",c="aria-label",p=o.extend({init:function(e,t){o.fn.init.call(this,e,t);this._dataSource();this._layout();n.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(){o.fn.destroy.call(this);if(this.menu){this.menu.element.off(r);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(e){this.options.dataSource=e;this._dataSource()},_createTreeView:function(e){var i=this;i._includesCache={};i.treeView=new s.TreeView(e,{autoBind:false,dataSource:i._treeViewDataSource(),dataTextField:"caption",template:"#: data.item.caption || data.item.name #",check:function(e){var t=e.sender.dataItem(e.node);if(i._includesCache[t.uniqueName])delete i._includesCache[t.uniqueName];else i._includesCache[t.uniqueName]=e.node},checkboxes:{checkChildren:true}})},_dataSource:function(){this.dataSource=n.data.PivotDataSourceV2.create(this.options.dataSource)},_layout:function(){var e=this;var t=e.options;e.wrapper=a(n.template(w)({ns:n.ns,filterable:t.filterable,sortable:t.sortable,messages:t.messages}));e.menu=e.wrapper[i]({filter:t.filter,target:e.element,orientation:"vertical",showOn:"click",closeOnClick:false,open:this._menuOpen.bind(this),close:this._closeMenu.bind(this),copyAnchorStyles:false}).data(i);e.menu.element.off("blur.kendoMenu","[tabindex]",e.menu._checkActiveProxy);if(t.filterable){e._initFilterForm();e._attachFilterHandlers();e._createTreeView(e.wrapper.find(".k-treeview"))}e._clickHandler=e._click.bind(e);e.wrapper.on("click",".k-item:not([role='treeitem'])",e._clickHandler)},_closeMenu:function(e){var t=this;var i=a(n._activeElement());if(i[0]===this._filterOperator.wrapper[0]||i.closest(".k-treeview")[0]===t.treeView.wrapper[0]||i.hasClass("k-button-includes-reset"))e.preventDefault()},_treeViewDataSource:function(){var o=this;return n.data.HierarchicalDataSource.create({schema:{model:{id:"uniqueName",hasChildren:function(e){return parseInt(e.childrenCardinality,10)>0}}},transport:{read:function(t){var e=o.dataSource.transport.catalog();var i=o.dataSource.transport.cube();var n={catalogName:e,cubeName:i};var s={command:"schemaMembers"};var r=o.treeView.dataSource.get(t.data.uniqueName);var a=t.data.uniqueName;if(!a)n.levelUniqueName=o.currentMember+".[(ALL)]";else{n.memberUniqueName=r.uniqueName.replace(/\&/g,"&");n.treeOp=1}s.connection={catalog:e,cube:i};s.restrictions=n;o.dataSource.discover(s).then(function(e){if(!r||r.checked)k(o.dataSource.filter(),o.currentMember,e);t.success(e)})}}})},_click:function(e){var t=a(e.currentTarget);var i=t.next();if(t.hasClass("k-expander"))this._toggle(i,t);else if(t.hasClass("k-columnmenu-item")&&t.find(".k-i-sort-asc-sm").length)this._sort("asc");else if(t.hasClass("k-columnmenu-item")&&t.find(".k-i-sort-desc-sm").length)this._sort("desc")},_attachFilterHandlers:function(){this._applyIncludesProxy=this._applyIncludes.bind(this);this._resetIncludesProxy=this._resetIncludes.bind(this);this.menu.element.on("click"+r,".k-button-includes-reset",this._resetIncludesProxy).on("click"+r,".k-button-includes-apply",this._applyIncludesProxy)},_includesHandler:function(e){e.preventDefault();if(a(e.target).hasClass("k-button-includes-reset"))this._resetIncludes();else this._applyIncludes()},_applyIncludes:function(e){e.preventDefault();var t=this.treeView.dataSource.view();var i=this.dataSource.filter();var n=v(t,i,this.currentMember);this._includesCache={};if(n){this.dataSource._preventRefresh=true;this.dataSource.filter(n);this.menu.close()}},_resetIncludes:function(e){e.preventDefault();var t=this;var i;for(var n in t._includesCache){i=a(t._includesCache[n]).find(".k-checkbox");i.prop("checked",!i.prop("checked"));t.treeView._checkboxChange({target:i});delete t._includesCache[n]}},_initFilterForm:function(){var e=this.menu.element.find(".kendo-grid-filter-menu-container");var t=this._filter.bind(this);this._filterOperator=new n.ui.DropDownList(e.find("select"),{popup:{appendTo:document.body}});this._filterValue=e.find("input.k-input-inner");this._filterForm=e;this._updateFilterAriaLabel();e.on("click"+r,".k-button-filter",t).on("click"+r,".k-button-filter-clear",this._reset.bind(this))},_updateFilterAriaLabel:function(){var e=this._filterOperator.value();var t=this.options.messages.operators[e];this._filterForm.find("select").attr(c,t)},_filter:function(e){var t=this;var i=m(t._filterValue.val(),t.dataSource,t.currentMember);e.preventDefault();if(i===""){t.menu.close();return}var n={field:t.currentMember,operator:t._filterOperator.value(),value:i};var s=t._clearFilters(t.currentMember);s.filters.push(n);t.dataSource._preventRefresh=true;t.dataSource.filter(s);t.menu.close()},_reset:function(e){var t=this;var i=t._clearFilters(t.currentMember);e.preventDefault();if(!i.filters[0])i={};t.dataSource._preventRefresh=true;t.dataSource.filter(i);t._setFilterForm(null);t.menu.close()},_clearFilters:function(e){var t=this.dataSource.filter()||{};var i;var n=0;var s;t.filters=t.filters||[];i=u(t,e);for(s=i.length;n<s;n++)t.filters.splice(t.filters.indexOf(i[n]),1);return t},_setFilterForm:function(e){var t=this._filterOperator;var i="";var n="";if(e){i=e.operator;n=e.value}t.value(i);if(!t.value())t.select(0);this._filterValue.val(n)},_collapseItems:function(e){e.find(".k-expander-indicator").removeClass("k-i-arrow-chevron-down").addClass("k-i-arrow-chevron-up");e.nextAll().hide()},_toggle:function(e,t){var i=this;var n=i.options.animation;var s=e.is(":visible");var r=!s?n.expand:n.collapse;if(!s)t.find(".k-expander-indicator").removeClass("k-i-arrow-chevron-down").addClass("k-i-arrow-chevron-up");else t.find(".k-expander-indicator").removeClass("k-i-arrow-chevron-up").addClass("k-i-arrow-chevron-down");e.kendoStop(true,true).kendoAnimate(r)},_sort:function(e){var t=this.currentMember;var i=this.dataSource.sort()||[];i=h(i,t);i.push({field:t,dir:e});this.dataSource._preventRefresh=true;this.dataSource.sort(i);this.menu.close()},_menuOpen:function(e){if(!e.event)return;var t=this;t.currentMember=a(e.event.target).prev().text();t.menu.popup._hovered=true;if(t.options.filterable){t._setFilterForm(u(t.dataSource.filter(),t.currentMember)[0]);if(t.currentMember!==t._oldCurrentmember){if(t._oldCurrentmember)t._collapseItems(t.menu.element.find(".k-item.k-expander"));t._oldCurrentmember=t.currentMember;t._includesCache={};this.treeView.dataSource.read()}}}}),f=o.extend({init:function(e,t){o.fn.init.call(this,e,t);this._dataSource();this._layout();n.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 e=this.options;this.wrapper=a(n.template(_)({ns:n.ns,filterable:e.filterable,sortable:e.sortable,messages:e.messages}));this.menu=this.wrapper[i]({filter:e.filter,target:this.element,orientation:"vertical",showOn:"click",closeOnClick:false,open:this._menuOpen.bind(this),select:this._select.bind(this),copyAnchorStyles:false}).data(i);this._createWindow();if(e.filterable)this._initFilterForm()},_initFilterForm:function(){var e=this.menu.element.find("."+l);var t=this._filter.bind(this);this._filterOperator=new n.ui.DropDownList(e.find("select"));this._filterValue=e.find("input.k-input-inner");this._updateFilterAriaLabel();e.on("submit"+r,t).on("click"+r,".k-button-filter",t).on("click"+r,".k-button-clear",this._reset.bind(this))},_setFilterForm:function(e){var t=this._filterOperator;var i="";var n="";if(e){i=e.operator;n=e.value}t.value(i);if(!t.value())t.select(0);this._filterValue.val(n)},_clearFilters:function(e){var t=this.dataSource.filter()||{};var i;var n=0;var s;t.filters=t.filters||[];i=u(t,e);for(s=i.length;n<s;n++)t.filters.splice(t.filters.indexOf(i[n]),1);return t},_filter:function(e){var t=this;var i=m(t._filterValue.val(),t.dataSource,t.currentMember);e.preventDefault();if(i===""){t.menu.close();return}var n={field:t.currentMember,operator:t._filterOperator.value(),value:i};var s=t._clearFilters(t.currentMember);s.filters.push(n);t.dataSource.filter(s);t.menu.close()},_updateFilterAriaLabel:function(){var e=this.menu.element.find("."+l);var t=this._filterOperator.value();var i=this.options.messages.operators[t];e.find("select").attr(c,i)},_reset:function(e){var t=this;var i=t._clearFilters(t.currentMember);e.preventDefault();if(!i.filters[0])i={};t.dataSource.filter(i);t._setFilterForm(null);t.menu.close()},_sort:function(e){var t=this.currentMember;var i=this.dataSource.sort()||[];i=h(i,t);i.push({field:t,dir:e});this.dataSource.sort(i);this.menu.close()},setDataSource:function(e){this.options.dataSource=e;this._dataSource()},_dataSource:function(){this.dataSource=n.data.PivotDataSource.create(this.options.dataSource)},_createWindow:function(){var e=this.options.messages;this.includeWindow=a(n.template(g)({messages:e})).on("click"+r,".k-button-ok",this._applyIncludes.bind(this)).on("click"+r,".k-button-cancel",this._closeWindow.bind(this));this.includeWindow=new s.Window(this.includeWindow,{title:e.title,visible:false,resizable:false,open:this._windowOpen.bind(this)})},_applyIncludes:function(e){var t=[];var i;var n=this.treeView.dataSource.view();var s=n[0].checked;var r=this.dataSource.filter();var a=u(r,this.currentMember,"in")[0];d(n,t);if(a){if(s){r.filters.splice(r.filters.indexOf(a),1);if(!r.filters.length)r={}}else a.value=t.join(",");i=r}if(t.length)if(!i&&!s){i={field:this.currentMember,operator:"in",value:t.join(",")};if(r){r.filters.push(i);i=r}}if(i)this.dataSource.filter(i);this._closeWindow(e)},_closeWindow:function(e){e.preventDefault();this.includeWindow.close()},_treeViewDataSource:function(){var s=this;return n.data.HierarchicalDataSource.create({schema:{model:{id:"uniqueName",hasChildren:function(e){return parseInt(e.childrenCardinality,10)>0}}},transport:{read:function(t){var e={};var i=s.treeView.dataSource.get(t.data.uniqueName);var n=t.data.uniqueName;if(!n)e.levelUniqueName=s.currentMember+".[(ALL)]";else{e.memberUniqueName=i.uniqueName.replace(/\&/g,"&");e.treeOp=1}s.dataSource.schemaMembers(e).done(function(e){k(s.dataSource.filter(),s.currentMember,e);t.success(e)}).fail(t.error)}}})},_createTreeView:function(e){var t=this;t.treeView=new s.TreeView(e,{autoBind:false,dataSource:t._treeViewDataSource(),dataTextField:"caption",template:"#: data.item.caption || data.item.name #",checkboxes:{checkChildren:true},dataBound:function(){s.progress(t.includeWindow.element,false)}})},_menuOpen:function(e){if(!e.event)return;var t=n.attr("name");this.currentMember=a(e.event.target).closest("["+t+"]").attr(t);if(this.options.filterable)this._setFilterForm(u(this.dataSource.filter(),this.currentMember)[0])},_select:function(e){var t=a(e.item);a(".k-pivot-filter-window").not(this.includeWindow.element).kendoWindow("close");if(t.hasClass("k-include-item"))this.includeWindow.center().open();else if(t.hasClass("k-sort-asc"))this._sort("asc");else if(t.hasClass("k-sort-desc"))this._sort("desc");else if(t.hasClass(l))this._updateFilterAriaLabel()},_windowOpen:function(){if(!this.treeView)this._createTreeView(this.includeWindow.element.find(".k-treeview"));s.progress(this.includeWindow.element,true);this.treeView.dataSource.read()},destroy:function(){o.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 m(e,t,i){var n=t.options.schema;var s=((n.model||{}).fields||{})[i];if(s)if(s.type==="number")e=parseFloat(e);else if(s.type==="boolean")e=Boolean(a.parseJSON(e));return e}function h(e,t){var i=[];for(var n=0,s=e.length;n<s;n++)if(e[n].field!==t)i.push(e[n]);return i}function u(e,t,i){if(!e)return[];e=e.filters;var n=0;var s=[];var r=e.length;var a;for(;n<r;n++){a=e[n].operator;if((!i&&a!=="in"||a===i)&&e[n].field===t)s.push(e[n])}return s}function k(e,t,i){var n,s=0,r=i.length;e=u(e,t,"in")[0];if(!e)for(;s<r;s++)i[s].checked=true;else{n=e.value.split(",");for(;s<r;s++)i[s].checked=a.inArray(i[s].uniqueName,n)>=0}}function d(e,t){var i,n=e.length;for(i=0;i<n;i++){if(e[i].checked&&e[i].level()!==0)t.push(e[i].uniqueName);if(e[i].hasChildren)d(e[i].children.view(),t)}}function v(e,t,i){var n=[];var s;var r=e[0].checked;var a=u(t,i,"in")[0];d(e,n);if(a){if(r){t.filters.splice(t.filters.indexOf(a),1);if(!t.filters.length)t={}}else a.value=n.join(",");s=t}if(n.length)if(!s&&!r){s={field:i,operator:"in",value:n.join(",")};if(t){t.filters.push(s);s=t}}return s?s:null}var b,w='<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-md k-rounded-md k-button-solid k-button-solid-base k-button-includes-reset"><span class="k-button-text">#:messages.reset#</span></button>'+'<button class="k-button k-button-md k-rounded-md k-button-solid k-button-solid-primary k-button-includes-apply"><span class="k-button-text">#:messages.apply#</span></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">'+'<select class="k-dropdown k-picker k-dropdown-list" style="overflow:visible">'+"#for(var op in messages.operators){#"+'<option value="#=op#">#=messages.operators[op]#</option>'+"#}#"+"</select>"+'<span class="k-textbox k-input k-input-md k-rounded-md k-input-solid"><input class="k-input-inner" value=""></span>'+'<div class="k-actions k-hstack k-justify-content-stretch">'+'<button class="k-button k-button-md k-rounded-md k-button-solid k-button-solid-base k-button-filter-clear"><span class="k-button-text">#:messages.clear#</span></button>'+'<button class="k-button k-button-md k-rounded-md k-button-solid k-button-solid-primary k-button-filter"><span class="k-button-text">#:messages.filter#</span></button>'+"</div>"+"</div>"+"</form>"+"</div>"+"</div>"+"</div>"+"</div>"+"</div>"+"</div>"+"</div>"+"</div>",_='<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>'+'<span class="k-menu-link-text">${messages.sortAscending}</span>'+"</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>'+'<span class="k-menu-link-text">${messages.sortDescending}</span>'+"</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>'+'<span class="k-menu-link-text">${messages.include}</span>'+"</span>"+"</li>"+'<li class="k-separator"></li>'+'<li class="k-item k-menu-item '+l+'">'+'<span class="k-link k-menu-link">'+'<span class="k-icon k-i-filter"></span>'+'<span class="k-menu-link-text">${messages.filterFields}</span>'+"</span>"+"<ul>"+"<li>"+('<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>"+'<span class="k-textbox k-input k-input-md k-rounded-md k-input-solid"><input class="k-input-inner" type="text" '+c+'="#=messages.filter#" title="#=messages.filter#" /></span>'+'<div class="k-action-buttons">'+'<a class="k-button k-button-md k-rounded-md k-button-solid k-button-solid-primary k-button-filter" href="\\#"><span class="k-button-text">#=messages.filter#</span></a>'+'<a class="k-button k-button-md k-rounded-md k-button-solid k-button-solid-base k-button-clear" href="\\#"><span class="k-button-text">#=messages.clear#</span></a>'+"</div>"+"</div>"+"</form>"+"</div>")+"</li>"+"</ul>"+"</li>"+"# } #"+"</ul>",g='<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">'+'<a class="k-button k-button-md k-rounded-md k-button-solid k-button-solid-primary k-button-ok" href="\\#">'+'<span class="k-button-text">'+"${messages.ok}"+"</span>"+"</a>"+'<a class="k-button k-button-md k-rounded-md k-button-solid k-button-solid-base k-button-cancel" href="\\#">'+'<span class="k-button-text">'+"${messages.cancel}"+"</span>"+"</a>"+"</div></div>";return s.plugin(f),s.plugin(p),window.kendo})?n.apply(t,i):n)||(e.exports=t)},1402:function(e,t){e.exports=require("./kendo.pivotgrid")},1403:function(e,t){e.exports=require("./kendo.treeview")}});