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