UNPKG

@progress/kendo-ui

Version:

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

1 lines 15.3 kB
module.exports=function(e){function t(a){if(s[a])return s[a].exports;var i=s[a]={exports:{},id:a,loaded:!1};return e[a].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var s={};return t.m=e,t.c=s,t.p="",t(0)}({0:function(e,t,s){e.exports=s(1377)},3:function(e,t){e.exports=function(){throw Error("define cannot be used indirect")}},1055:function(e,t){e.exports=require("./kendo.dom")},1377:function(e,t,s){var a,i,r;!function(n,define){i=[s(1055)],a=n,r="function"==typeof a?a.apply(t,i):a,!(void 0!==r&&(e.exports=r))}(function(){return function(e,t){function s(e){for(var t,s=0,a=e.length;s<a;s++)if(2==e[s].type){t=!0;break}t&&e.splice(s+1,0,{caption:"KPIs",defaultHierarchy:"[KPIs]",name:"KPIs",uniqueName:"[KPIs]"})}function a(e){return{name:e.uniqueName,type:e.type}}function i(e){for(var t=0,s=e.length;t<s;t++)e[t].uniqueName=e[t].name,e[t].type="kpi";return e}function r(t){var s=e(t).closest(".k-pivot-setting");return s.length?s.data("kendoPivotSettingTarget"):null}function n(e,t,s){return{hierarchyUniqueName:e,uniqueName:t,caption:t,measure:t,name:t,type:s,kpi:!0}}function o(e){var t=e.name;return[n(t,e.value,"value"),n(t,e.goal,"goal"),n(t,e.status,"status"),n(t,e.trend,"trend")]}var c,l=window.kendo,u=l.ui,d=u.Widget,h=window.kendo.pivotgrid.common,m=h.fetchDiscover,p=h.configuratorReducer,f=h.PIVOT_CONFIGURATOR_ACTION,g=".kendoPivotConfigurator",k="mouseenter"+g+" mouseleave"+g,v=l.template('<div class="k-pivotgrid-configurator-header"><div class="k-pivotgrid-configurator-header-text">#:title#</div></div>'),_=l.template('<div class="k-pivotgrid-configurator-content"><form class="#:formClass#">#if (horizontal) {# <div class="k-form-field-wrapper"> #}#<div class="k-form-field"><label class="k-label">Fields</label></div><div class="k-form-field"><div class="k-fields-list-wrapper"></div></div>#if (horizontal) {# </div><div class="k-form-field-wrapper"> #}#<div class="k-form-field"><label class="k-label">Columns</label></div><div class="k-chip-list k-column-fields"></div><div class="k-form-field"><label class="k-label">Rows</label></div><div class="k-chip-list k-row-fields"></div>#if (horizontal) {# </div><div class="k-form-field-wrapper"> #}#<div class="k-form-field"><label class="k-label">Values</label></div><div class="k-chip-list k-column-fields"></div>#if (horizontal) {# </div> #}#</form></div>'),b='<div class="k-chip k-chip-has-icon k-chip-solid"><span class="k-chip-content"><span class="k-chip-label">#:name#</span>#if (menuenabled) {# <span class="k-icon k-i-more-vertical"></span> #}#</span><span class="k-remove-icon"><span class="k-icon k-i-close-circle"></span></span></div>',w=l.template('<div class="k-pivotgrid-configurator-actions k-actions k-hstack k-justify-content-end"><button class="k-button">#:cancelText#</button><button class="k-button k-primary">#:applyText#</button></div>'),y=l.template('<p class="k-reset"><span class="k-icon #=icon#"></span>${name}</p><div class="k-list-container k-reset"></div>'),S=d.extend({init:function(e,t){d.fn.init.call(this,e,t),this.element.addClass("k-widget k-pivotgrid-configurator k-pos-relative"),this._dataSource(),this._layout(),this.refresh(),t.height&&this.element.height(t.height),l.notify(this)},events:[],options:{name:"PivotConfiguratorV2",orientation:"vertical",filterable:!1,sortable:!1,messages:{title:"Settings",cancelButtonText:"Cancel",applyButtonText:"Apply",measures:"Select some fields to begin setup",columns:"Select some fields to begin setup",rows:"Select some fields to begin setup"}},setDataSource:function(e){this.options.dataSource=e,this._dataSource(),this.measures&&this.measures.setDataSource(e),this.rows&&this.rows.setDataSource(e),this.columns&&this.columns.setDataSource(e),this.refresh()},_dataSource:function(){var t=this;t.dataSource&&t._refreshHandler?t.dataSource.unbind("change",t._refreshHandler).unbind("error",t._errorHandler).unbind("progress",t._progressHandler):(t._errorHandler=e.proxy(t._error,t),t._refreshHandler=e.proxy(t.refresh,t),t._progressHandler=e.proxy(t._requestStart,t)),t.dataSource=l.data.PivotDataSourceV2.create(t.options.dataSource),t.dataSource.bind("change",t._refreshHandler).bind("error",t._errorHandler).bind("progress",t._progressHandler)},_layout:function(){var t=this,s=t.options,a=s.messages,i="horizontal"==s.orientation,r=e("<div class='k-pivotgrid-configurator-panel k-pivotgrid-configurator-push'></div>");r.addClass(i?"k-pivotgrid-configurator-horizontal":"k-pivotgrid-configurator-vertical"),t.element.append(r),t.panel=r,e(v({title:this.options.messages.title})).appendTo(t.panel),e(_({formClass:i?"k-form k-form-horizontal":"k-form",filterable:s.filterable,horizontal:i})).appendTo(t.panel),t._fields(),e(w({cancelText:a.cancelButtonText,applyText:a.applyButtonText})).appendTo(t.panel),t._targets(),t.element.on("click"+g,".k-pivotgrid-configurator-actions > button",e.proxy(t._actions,t))},_actions:function(t){t.preventDefault();var s=e(t.target);s.index()?(this.columns._applyState(),this.rows._applyState(),this.measures._applyState(),this.dataSource.read()):(this.columns._cancelChanges(),this.rows._cancelChanges(),this.measures._cancelChanges(),this.treeView.dataSource.read())},_targets:function(){var e=this,t=e.panel.find(".k-column-fields").first(),s=e.panel.find(".k-row-fields"),a=e.panel.find(".k-chip-list").last(),i=this.options;this.columns=this._createTarget(t,{filterable:i.filterable,sortable:i.sortable,template:b,connectWith:s,messages:{empty:i.messages.columns}}),this.rows=this._createTarget(s,{filterable:i.filterable,sortable:i.sortable,template:b,setting:"rows",connectWith:t,messages:{empty:this.options.messages.rows}}),this.measures=this._createTarget(a,{setting:"measures",template:b,messages:{empty:i.messages.measures}})},_createTarget:function(t,s){var a=this;return new l.ui.PivotSettingTargetV2(t,e.extend({dataSource:this.dataSource,hint:function(e){return e.clone()},remove:function(e){var t=a.treeView.wrapper.find("[data-name='"+e.name+"']").closest("li"),s=t.attr(l.attr("uid")),i=a.treeView.dataSource.getByUid(s);i&&(i.checked=!1,t.find("input").attr("checked",!1))},template:s.template},s))},_fields:function(){var t=this,s=t.element.find(".k-fields-list-wrapper");this.treeView=e("<div/>").appendTo(s).kendoTreeView({checkboxes:{checkChildren:!0,template:'#if ((item.hasChildren || item.aggregator) && item.uniqueName !== "[KPIs]" && item.uniqueName !== "[Measures]") {# <input type="checkbox" data-name="#:item.uniqueName#" #= item.checked ? "checked" : "" # class="k-checkbox" id="#:item.uid#" tabindex="-1"> #}#'},dataTextField:"caption",autoBind:!1,check:function(e){var s=e.sender.dataItem(e.node),a={type:f.toggleSelection,payload:s},i={columnAxes:t.columns._state(),rowAxes:t.rows._state(),measureAxes:t.measures._state()},r=p(i,a);s.defaultHierarchy&&s.items.length&&(t._checkMembers([{name:s.defaultHierarchy}],s.items),s.items.trigger("change")),r.columnAxes&&(t.columns._state(r.columnAxes),t.columns._redraw()),r.rowAxes&&(t.rows._state(r.rowAxes),t.rows._redraw()),r.measureAxes&&(t.measures._state(r.measureAxes),t.measures._redraw())},dataSource:this._treeViewDataSource()}).data("kendoTreeView"),this.treeView.wrapper.off("click",this.treeView._clickHandler)},_treeViewDataSource:function(){var t=this;return l.data.HierarchicalDataSource.create({schema:{model:{id:"uniqueName",hasChildren:function(e){return!("hierarchyUniqueName"in e||"aggregator"in e)}}},transport:{read:function(a){var r,n,c=t.dataSource.transport,l=c.catalog(),u=c.cube(),d={url:c.options.read},h=t.columns._state(),p=t.rows._state(),f=t.measures._state(),g=h.concat(p).concat(f);e.isEmptyObject(a.data)?(n={connection:{catalog:l,cube:u},restrictions:{catalogName:l,cubeName:u},command:"schemaDimensions"},m(d,n).then(function(e){t._checkMembers(g,e),s(e),a.success(e)})):(r=t.treeView.dataSource.get(a.data.uniqueName),"[KPIs]"===r.uniqueName?m(d,t._getKPIOptions(l,u)).then(function(e){a.success(i(e))}):"kpi"==r.type?a.success(o(r)):m(d,t._loadFieldsCommand(r,l,u)).then(function(e){t._checkMembers(g,e),a.success(e)}))}}})},_checkMembers:function(e,t){var s={},a=0;for(a=0;a<e.length;a++)s[e[a].name]=!0;for(a=0;a<t.length;a++)s[t[a].uniqueName]&&(t[a].checked=!0)},_getKPIOptions:function(e,t){return{connection:{catalog:e,cube:t},restrictions:{catalogName:e,cubeName:t},command:"schemaKPIs"}},_loadFieldsCommand:function(e,t,s){var a,i,r,n;return 2===e.type?a="schemaMeasures":e.dimensionUniqueName?(a="schemaLevels",r=e.uniqueName):(a="schemaHierarchies",i=e.uniqueName),n={connection:{catalog:t,cube:s},restrictions:{catalogName:t,cubeName:s,hierarchyUniqueName:r,dimensionUniqueName:i},command:a}},_progress:function(e){l.ui.progress(this.element,e)},_error:function(){this._progress(!1)},_requestStart:function(){this._progress(!0)},destroy:function(){d.fn.destroy.call(this),this.dataSource.unbind("change",this._refreshHandler),this.element.off(g),this.rows.destroy(),this.columns.destroy(),this.measures.destroy(),this.treeView.destroy(),this.element=null,this._refreshHandler=null},refresh:function(){this.treeView&&this.treeView.dataSource.fetch(),this._progress(!1)}});u.plugin(S),c=d.extend({init:function(e,t){d.fn.init.call(this,e,t),this.element.addClass("k-widget k-fieldselector k-alt k-edit-form-container"),this._dataSource(),this._layout(),this.refresh(),l.notify(this)},events:[],options:{name:"PivotConfigurator",filterable:!1,sortable:!1,messages:{measures:"Drop Data Fields Here",columns:"Drop Column Fields Here",rows:"Drop Rows Fields Here",measuresLabel:"Measures",columnsLabel:"Columns",rowsLabel:"Rows",fieldsLabel:"Fields"}},_dataSource:function(){var t=this;t.dataSource&&t._refreshHandler?t.dataSource.unbind("change",t._refreshHandler).unbind("error",t._errorHandler).unbind("progress",t._progressHandler):(t._errorHandler=e.proxy(t._error,t),t._refreshHandler=e.proxy(t.refresh,t),t._progressHandler=e.proxy(t._requestStart,t)),t.dataSource=l.data.PivotDataSource.create(t.options.dataSource),t.dataSource.bind("change",t._refreshHandler).bind("error",t._errorHandler).bind("progress",t._progressHandler)},setDataSource:function(e){this.options.dataSource=e,this._dataSource(),this.measures&&this.measures.setDataSource(e),this.rows&&this.rows.setDataSource(e),this.columns&&this.columns.setDataSource(e),this.refresh()},_treeViewDataSource:function(){var t=this;return l.data.HierarchicalDataSource.create({schema:{model:{id:"uniqueName",hasChildren:function(e){return!("hierarchyUniqueName"in e||"aggregator"in e)}}},transport:{read:function(a){var r,n,c;e.isEmptyObject(a.data)?(r=t.dataSource.schemaDimensions(),r.done(function(e){t.dataSource.cubeBuilder||s(e),a.success(e)}).fail(a.error)):(n=t.treeView.dataSource.get(a.data.uniqueName),"[KPIs]"===n.uniqueName?(c=!0,r=t.dataSource.schemaKPIs(),r.done(function(e){a.success(i(e))}).fail(a.error)):"kpi"==n.type&&(c=!0,a.success(o(n))),c||(r=2==n.type?t.dataSource.schemaMeasures():n.dimensionUniqueName?t.dataSource.schemaLevels(a.data.uniqueName):t.dataSource.schemaHierarchies(a.data.uniqueName),r.done(a.success).fail(a.error)))}}})},_progress:function(e){l.ui.progress(this.element,e)},_error:function(){this._progress(!1)},_requestStart:function(){this._progress(!0)},_layout:function(){this.form=e('<div class="k-columns k-state-default k-floatwrap"/>').appendTo(this.element),this._fields(),this._targets()},_fields:function(){var t=e('<div class="k-state-default"><p class="k-reset"><span class="k-icon k-i-group"></span>'+this.options.messages.fieldsLabel+"</p></div>").appendTo(this.form),s='# if (item.type == 2 || item.uniqueName == "[KPIs]") { #<span class="k-icon k-i-#= (item.type == 2 ? "sum" : "kpi") #"></span># } else if (item.type && item.type !== "kpi") { #<span class="k-icon k-i-arrows-dimensions"></span># } ##: item.caption || item.name #';this.treeView=e("<div/>").appendTo(t).kendoTreeView({template:s,dataTextField:"caption",dragAndDrop:!0,autoBind:!1,dataSource:this._treeViewDataSource(),dragstart:function(e){var t=this.dataItem(e.sourceNode);(t.hasChildren||t.aggregator||t.measure)&&2!=t.type&&"[KPIs]"!==t.uniqueName||e.preventDefault()},drag:function(e){var t="k-i-cancel",s=r(e.dropTarget);s&&s.validate(this.dataItem(e.sourceNode))&&(t="k-i-plus"),e.setStatusClass(t)},drop:function(e){var t,s,i,n,c,l;if(e.preventDefault(),t=r(e.dropTarget),s=this.dataItem(e.sourceNode),t&&t.validate(s)){if(l=s.defaultHierarchy||s.uniqueName,"kpi"===s.type)for(c=o(s),n=c.length,l=[],i=0;i<n;i++)l.push(a(c[i]));else s.kpi&&(l=[a(s)]);t.add(l)}}}).data("kendoTreeView")},_createTarget:function(t,s){var a='<li class="k-item k-header" data-'+l.ns+'name="${data.name}">${data.name}',i=s.sortable,r="";return i&&(r+="#if (data.sortIcon) {#",r+='<span class="k-icon ${data.sortIcon}-sm"></span>',r+="#}#"),(s.filterable||i)&&(r+='<span class="k-icon k-i-more-vertical k-setting-fieldmenu"></span>'),r+='<span class="k-icon k-i-close k-setting-delete"></span>',a+='<span class="k-field-actions">'+r+"</span></li>",new l.ui.PivotSettingTarget(t,e.extend({dataSource:this.dataSource,hint:function(t){var s=e('<div class="k-fieldselector"><ul class="k-list k-reset"></ul></div>');return s.find(".k-list").append(t.clone()),s},template:a,emptyTemplate:'<li class="k-item k-empty">${data}</li>'},s))},_targets:function(){var t=e('<div class="k-state-default"/>').appendTo(this.form),s=e(y({name:this.options.messages.columnsLabel,icon:"k-i-columns"})).appendTo(t),a=e('<ul class="k-pivot-configurator-settings k-list k-reset" />').appendTo(s.last()),i=e(y({name:this.options.messages.rowsLabel,icon:"k-i-rows"})).appendTo(t),r=e('<ul class="k-pivot-configurator-settings k-list k-reset" />').appendTo(i.last()),n=e(y({name:this.options.messages.measuresLabel,icon:"k-i-sum"})).appendTo(t),o=e('<ul class="k-pivot-configurator-settings k-list k-reset" />').appendTo(n.last()),c=this.options;this.columns=this._createTarget(a,{filterable:c.filterable,sortable:c.sortable,connectWith:r,messages:{empty:c.messages.columns,fieldMenu:c.messages.fieldMenu}}),this.rows=this._createTarget(r,{filterable:c.filterable,sortable:c.sortable,setting:"rows",connectWith:a,messages:{empty:this.options.messages.rows,fieldMenu:this.options.messages.fieldMenu}}),this.measures=this._createTarget(o,{setting:"measures",messages:{empty:c.messages.measures}}),a.add(r).add(o).on(k,".k-item:not(.k-empty)",this._toggleHover)},_toggleHover:function(t){e(t.currentTarget).toggleClass("k-state-hover","mouseenter"===t.type)},_resize:function(){var e,t,s=this.element,a=this.options.height,i=l._outerHeight;a&&(s.height(a),s.is(":visible")&&(t=s.children(".k-columns").children("div.k-state-default"),a=s.innerHeight(),e=(i(s)-a)/2,a=a-(i(t,!0)-t.height())-e,t.height(a)))},refresh:function(){var e=this.dataSource;(e.cubeBuilder||this._cube!==e.cube()||this._catalog!==e.catalog())&&this.treeView.dataSource.fetch(),this._catalog=this.dataSource.catalog(),this._cube=this.dataSource.cube(),this._resize(),this._progress(!1)},destroy:function(){d.fn.destroy.call(this),this.dataSource.unbind("change",this._refreshHandler),this.form.find(".k-list").off(g),this.rows.destroy(),this.columns.destroy(),this.measures.destroy(),this.treeView.destroy(),this.element=null,this._refreshHandler=null}}),u.plugin(c)}(window.kendo.jQuery),window.kendo},s(3))}});