@bizdoc/core 1.10.0-next.4 → 1.10.0-next.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/assets/bizdoc-schema.json +7 -1
  2. package/assets/themes/brown.min.css +1 -1
  3. package/assets/themes/deep-purple-light-blue.min.css +1 -1
  4. package/assets/themes/default.min.css +1 -1
  5. package/assets/themes/green.min.css +1 -1
  6. package/assets/themes/indigo.min.css +1 -1
  7. package/esm2020/lib/browse/browse-items.component.mjs +3 -3
  8. package/esm2020/lib/core/animations.mjs +7 -1
  9. package/esm2020/lib/core/controls/combination-picker-body.mjs +5 -2
  10. package/esm2020/lib/core/functions.mjs +4 -1
  11. package/esm2020/lib/core/mailbox.service.mjs +20 -23
  12. package/esm2020/lib/core/models.mjs +1 -1
  13. package/esm2020/lib/core/pipes/translate.pipe.mjs +17 -2
  14. package/esm2020/lib/cube/chart/chart.component.mjs +5 -5
  15. package/esm2020/lib/cube/cube-info.service.mjs +5 -5
  16. package/esm2020/lib/cube/cube-view.component.mjs +10 -10
  17. package/esm2020/lib/cube/grid/spreadsheet.component.mjs +1 -1
  18. package/esm2020/lib/cube/matrix/matrix.base.mjs +1 -1
  19. package/esm2020/lib/cube/matrix/matrix.component.mjs +9 -9
  20. package/esm2020/lib/cube/matrix/matrix.mobile.component.mjs +4 -4
  21. package/esm2020/lib/cube/matrix/matrix.pane.component.mjs +4 -4
  22. package/esm2020/lib/cube/matrix/table.component.mjs +211 -149
  23. package/esm2020/lib/cube/parallel/parallel.component.mjs +8 -8
  24. package/esm2020/lib/cube/pivot/pivot.component.mjs +3 -3
  25. package/esm2020/lib/cube/sum/sum.component.mjs +13 -13
  26. package/esm2020/lib/cube/view.mobile.component.mjs +3 -3
  27. package/esm2020/lib/cube/view.pane.component.mjs +3 -3
  28. package/esm2020/lib/dashboard/cube/cube-analysis.base.mjs +1 -1
  29. package/esm2020/lib/dashboard/cube/cube-analysis.widget.mjs +3 -1
  30. package/esm2020/lib/dashboard/cube/cube-chart.widget.mjs +2 -2
  31. package/esm2020/lib/dashboard/cube/documents.widget.mjs +1 -1
  32. package/esm2020/lib/dashboard/cube/filter/filter.component.mjs +10 -6
  33. package/esm2020/lib/modules/chart.module.mjs +4 -4
  34. package/esm2020/lib/routes.desktop.mjs +2 -2
  35. package/esm2020/lib/routes.mobile.mjs +2 -2
  36. package/esm2020/lib/shared.module.mjs +4 -4
  37. package/esm2020/lib/views/cube/chart.component.mjs +5 -5
  38. package/esm2020/lib/views/cube/matrix.component.mjs +6 -6
  39. package/esm2020/lib/views/cube/parallel.component.mjs +3 -3
  40. package/esm2020/lib/views/cube/pivot.component.mjs +3 -3
  41. package/esm2020/lib/views/cube/sum.component.mjs +3 -3
  42. package/esm2020/lib/views/cube/view.component.mjs +3 -3
  43. package/esm2020/public-api.mjs +1 -1
  44. package/fesm2015/bizdoc-core.mjs +342 -256
  45. package/fesm2015/bizdoc-core.mjs.map +1 -1
  46. package/fesm2020/bizdoc-core.mjs +349 -257
  47. package/fesm2020/bizdoc-core.mjs.map +1 -1
  48. package/lib/core/animations.d.ts +1 -0
  49. package/lib/core/controls/combination-picker-body.d.ts +4 -6
  50. package/lib/core/functions.d.ts +1 -0
  51. package/lib/core/mailbox.service.d.ts +4 -8
  52. package/lib/core/models.d.ts +2 -2
  53. package/lib/core/pipes/translate.pipe.d.ts +9 -1
  54. package/lib/cube/chart/chart.component.d.ts +2 -2
  55. package/lib/cube/cube-info.service.d.ts +3 -6
  56. package/lib/cube/cube-view.component.d.ts +2 -2
  57. package/lib/cube/matrix/matrix.base.d.ts +3 -7
  58. package/lib/cube/matrix/matrix.component.d.ts +3 -3
  59. package/lib/cube/matrix/table.component.d.ts +21 -31
  60. package/lib/cube/parallel/parallel.component.d.ts +2 -2
  61. package/lib/cube/pivot/pivot.component.d.ts +2 -2
  62. package/lib/cube/sum/sum.component.d.ts +3 -3
  63. package/lib/dashboard/cube/cube-analysis.base.d.ts +1 -1
  64. package/lib/shared.module.d.ts +1 -1
  65. package/lib/views/cube/chart.component.d.ts +2 -2
  66. package/lib/views/cube/matrix.component.d.ts +5 -15
  67. package/lib/views/cube/pivot.component.d.ts +1 -1
  68. package/lib/views/cube/sum.component.d.ts +2 -2
  69. package/package.json +2 -2
  70. package/public-api.d.ts +1 -1
@@ -116,7 +116,7 @@ import * as i24 from '@angular/flex-layout/extended';
116
116
  import * as i4$1 from '@ctrl/ngx-emoji-mart';
117
117
  import { PickerModule } from '@ctrl/ngx-emoji-mart';
118
118
  import * as i8$2 from '@syncfusion/ej2-angular-charts';
119
- import { AccumulationChart, FunnelSeries, AccumulationDataLabel, AccumulationTooltip, AccumulationLegend, Export, PieSeries, ChartModule, AccumulationChartAllModule, SparklineAllModule, LineSeriesService, ScatterSeriesService, ColumnSeriesService, SplineSeriesService, SplineAreaSeriesService, StripLineService, AreaSeriesService, ScrollBarService, StepLineSeriesService, StepAreaSeriesService, StackingColumnSeriesService, StackingLineSeriesService, StackingAreaSeriesService, BarSeriesService, StackingBarSeriesService, RangeColumnSeriesService, BubbleSeriesService, TooltipService, CrosshairService, CategoryService, DateTimeService, LogarithmicService, LegendService, ZoomService, DataLabelService, SelectionService, ChartAnnotationService, WaterfallSeriesService, RangeAreaSeriesService, PolarSeriesService, RadarSeriesService, DateTimeCategoryService, MultiLevelLabelService, ParetoSeriesService, TooltipRenderService, ExportService, AccumulationAnnotationService, AccumulationDataLabelService, AccumulationLegendService, AccumulationSelectionService, AccumulationTooltipService, AccumulationChartComponent, Chart as Chart$1, DateTime as DateTime$1, BarSeries as BarSeries$1, AreaSeries as AreaSeries$1, BubbleSeries as BubbleSeries$1, ColumnSeries as ColumnSeries$1, LineSeries as LineSeries$1, PolarSeries as PolarSeries$1, RadarSeries as RadarSeries$1, SplineSeries as SplineSeries$1, SplineAreaSeries as SplineAreaSeries$1, ScatterSeries as ScatterSeries$1, StackingLineSeries as StackingLineSeries$1, StackingAreaSeries as StackingAreaSeries$1, StackingColumnSeries as StackingColumnSeries$1, StackingBarSeries as StackingBarSeries$1, StepAreaSeries as StepAreaSeries$1, StepLineSeries as StepLineSeries$1, ChartComponent } from '@syncfusion/ej2-angular-charts';
119
+ import { AccumulationChart, FunnelSeries, AccumulationDataLabel, AccumulationTooltip, AccumulationLegend, Export, PieSeries, ChartModule, AccumulationChartAllModule, SparklineAllModule, AccumulationDistributionIndicatorService, FunnelSeriesService, StackingStepAreaSeriesService, PieSeriesService, PyramidSeriesService, LineSeriesService, ScatterSeriesService, ColumnSeriesService, SplineSeriesService, SplineAreaSeriesService, StripLineService, AreaSeriesService, ScrollBarService, StepLineSeriesService, StepAreaSeriesService, StackingColumnSeriesService, StackingLineSeriesService, StackingAreaSeriesService, BarSeriesService, StackingBarSeriesService, RangeColumnSeriesService, BubbleSeriesService, TooltipService, CrosshairService, CategoryService, DateTimeService, LogarithmicService, LegendService, ZoomService, DataLabelService, SelectionService, ChartAnnotationService, WaterfallSeriesService, RangeAreaSeriesService, PolarSeriesService, RadarSeriesService, DateTimeCategoryService, MultiLevelLabelService, ParetoSeriesService, TooltipRenderService, ExportService, AccumulationAnnotationService, AccumulationDataLabelService, AccumulationLegendService, AccumulationSelectionService, AccumulationTooltipService, AccumulationChartComponent, Chart as Chart$1, DateTime as DateTime$1, BarSeries as BarSeries$1, AreaSeries as AreaSeries$1, BubbleSeries as BubbleSeries$1, ColumnSeries as ColumnSeries$1, LineSeries as LineSeries$1, PolarSeries as PolarSeries$1, RadarSeries as RadarSeries$1, SplineSeries as SplineSeries$1, SplineAreaSeries as SplineAreaSeries$1, ScatterSeries as ScatterSeries$1, StackingLineSeries as StackingLineSeries$1, StackingAreaSeries as StackingAreaSeries$1, StackingColumnSeries as StackingColumnSeries$1, StackingBarSeries as StackingBarSeries$1, StepAreaSeries as StepAreaSeries$1, StepLineSeries as StepLineSeries$1, ChartComponent } from '@syncfusion/ej2-angular-charts';
120
120
  import * as XLSX from 'xlsx';
121
121
  import { Chart, Category, DateTime, Tooltip, Export as Export$1, BarSeries, AreaSeries, StackingStepAreaSeries, BubbleSeries, ColumnSeries, LineSeries, Legend, PolarSeries, RadarSeries, SplineSeries, SplineAreaSeries, ScatterSeries, StackingLineSeries, StackingAreaSeries, StackingColumnSeries, StackingBarSeries, StepAreaSeries, StepLineSeries } from '@syncfusion/ej2-charts';
122
122
  import * as i6$5 from '@syncfusion/ej2-angular-grids';
@@ -217,6 +217,12 @@ const SwapAnimation = [
217
217
  transition(':increment', [style({ transform: 'translateX(100px)' }), animate('200ms', style({ transform: 'translateX(0)' }))]),
218
218
  transition(':decrement', [style({ transform: 'translateX(-100px)' }), animate('200ms', style({ transform: 'translateX(0)' }))])
219
219
  ];
220
+ const matrixAnimation = trigger('table', [transition('void=>*', [
221
+ query('.mat-row', [
222
+ style({ opacity: 0, transform: 'translateX(10px)' }),
223
+ stagger(100, style({ opacity: 1, transform: 'none' }))
224
+ ], { optional: true })
225
+ ])]);
220
226
  const swapAnimation = trigger('swape', SwapAnimation);
221
227
  const pageAnimation = trigger('page', [
222
228
  state(':enter', style({ transform: 'translateX(0)' })),
@@ -630,6 +636,9 @@ const IS_MOBILE = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini
630
636
  function isMobile() {
631
637
  return IS_MOBILE /*|| document.cookie.indexOf('aria=1') > -1*/;
632
638
  }
639
+ function isFunction(val) {
640
+ return typeof val === 'function';
641
+ }
633
642
  function isBoolean(val) {
634
643
  return typeof val === 'boolean';
635
644
  }
@@ -2616,7 +2625,22 @@ TranslatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13
2616
2625
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TranslatePipe, decorators: [{
2617
2626
  type: Pipe,
2618
2627
  args: [{ name: 'translate' }]
2619
- }], ctorParameters: function () { return [{ type: TranslateService }]; } });
2628
+ }], ctorParameters: function () { return [{ type: TranslateService }]; } });
2629
+ class TranslateDirective {
2630
+ constructor(_elementRef, _translate) {
2631
+ this._elementRef = _elementRef;
2632
+ this._translate = _translate;
2633
+ }
2634
+ ngOnInit() {
2635
+ this._elementRef.nativeElement.innerHTML = this._translate.get(this._elementRef.nativeElement.innerText);
2636
+ }
2637
+ }
2638
+ TranslateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TranslateDirective, deps: [{ token: i0.ElementRef }, { token: TranslateService }], target: i0.ɵɵFactoryTarget.Directive });
2639
+ TranslateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: TranslateDirective, selector: "[i18n]", ngImport: i0 });
2640
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TranslateDirective, decorators: [{
2641
+ type: Directive,
2642
+ args: [{ selector: '[i18n]' }]
2643
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: TranslateService }]; } });
2620
2644
 
2621
2645
  const FILE_PREVIEW_DIALOG_DATA = new InjectionToken('FILE_PREVIEW_DIALOG_DATA');
2622
2646
  const IMAGE_TYPE = ['image/png', 'image/jpeg', 'image/jpg', 'image/gif'];
@@ -2835,15 +2859,6 @@ class MailboxService {
2835
2859
  // _session.profile.inbox.push(m.model);
2836
2860
  });
2837
2861
  }
2838
- /**
2839
- *
2840
- * @param date
2841
- */
2842
- _isAboveWatermark(date) {
2843
- return !this._session.isImpersonating &&
2844
- this._session.profile.options.inboxView &&
2845
- this._session.profile.options.inboxView < date;
2846
- }
2847
2862
  download(documentId, fileId) {
2848
2863
  return this._http.get(AttachmentInfo.formatUrl(documentId, fileId), {
2849
2864
  responseType: 'arraybuffer'
@@ -2852,8 +2867,8 @@ class MailboxService {
2852
2867
  removeattachment(id, fileId) {
2853
2868
  return this._http.delete(`/api/mailbox/attachment/${id}`, { params: { fileId: fileId.toString() } });
2854
2869
  }
2855
- read(id, read) {
2856
- return this._http.put(`/api/mailbox/read/${id}`, undefined, { params: { read } });
2870
+ read(id, read, folderId, received) {
2871
+ return this._http.put(`/api/mailbox/read/${id}`, undefined, { params: { read } }).pipe(tap(() => folderId && this._updateunreadcounter(received, folderId, read ? 1 : -1)));
2857
2872
  }
2858
2873
  comments(id, before) {
2859
2874
  return this._http.get(`/api/comments/${id}`, { params: { before: new Date(before).toJSON() } });
@@ -2993,14 +3008,20 @@ class MailboxService {
2993
3008
  })), this._notify());
2994
3009
  }
2995
3010
  get(id, read) {
2996
- return this._http.get(`/api/mail/${id}`).pipe(tap(m => {
2997
- if (read !== undefined && m.read !== read) {
2998
- if (this._isAboveWatermark(m.received))
2999
- this._session.profile.inboxCount -= read ? -1 : 1;
3000
- const folder = this._session.profile.folders.find(f => f.name === m.folderId);
3001
- folder.count -= read ? -1 : 1;
3002
- }
3003
- }));
3011
+ return this._http.get(`/api/mail/${id}`).pipe(tap(m => read === false && m.read === true &&
3012
+ this._updateunreadcounter(m.received, m.folderId, -1)));
3013
+ }
3014
+ _updateunreadcounter(date, folderId, val) {
3015
+ if (
3016
+ // date is above watermark
3017
+ !this._session.isImpersonating &&
3018
+ this._session.profile.options.inboxView &&
3019
+ this._session.profile.options.inboxView < date)
3020
+ this._session.profile.inboxCount -= val;
3021
+ // decrease
3022
+ const folder = this._session.profile.folders.
3023
+ find(f => f.name === folderId);
3024
+ folder.count -= val;
3004
3025
  }
3005
3026
  save(id, version, form, model) {
3006
3027
  return this._withGeoLocation(form).pipe(switchMap(params => this._http.put(`/api/mail/${id}?version=${version}`, model, { params })), this._notify());
@@ -3011,11 +3032,11 @@ class MailboxService {
3011
3032
  removecomment(id) {
3012
3033
  return this._http.delete(`/api/comments/${id}`).pipe(tap(() => { }));
3013
3034
  }
3014
- submit(id, version, form, model) {
3035
+ submit(id, version, form, model, read, folderId, received) {
3015
3036
  return this._withGeoLocation(form).pipe(switchMap(params => this._http.put(`/api/mail/${id}?version=${version}&go=true`, model, { params }))).pipe(this._notify());
3016
3037
  }
3017
- send(id, version, form, model, action, actionArgs) {
3018
- return this._withGeoLocation(form).pipe(switchMap(params => this._http.put(`/api/mail/${id}?version=${version}&action=${action}`, model, { params: Object.assign(params, actionArgs) }))).pipe(this._notify());
3038
+ send(id, version, form, model, action, actionArgs, read, folderId, received) {
3039
+ return this._withGeoLocation(form).pipe(switchMap(params => this._http.put(`/api/mail/${id}?version=${version}&action=${action}`, model, { params: Object.assign(params, actionArgs) }))).pipe(tap(() => read === false && this._updateunreadcounter(received, folderId, -1)), this._notify());
3019
3040
  }
3020
3041
  events(starting, ending, contains) {
3021
3042
  return this._http.get(`/api/events`, {
@@ -7004,7 +7025,7 @@ class BrowseItemsComponent {
7004
7025
  dragStarted(event) {
7005
7026
  }
7006
7027
  toggleRead(item) {
7007
- this._mailbox.read(item.id, !item.read).
7028
+ this._mailbox.read(item.id, !item.read, item.folderId, item.received).
7008
7029
  subscribe(() => item.read = !item.read);
7009
7030
  }
7010
7031
  select(id) {
@@ -7249,7 +7270,7 @@ class BrowseItemsComponent {
7249
7270
  }
7250
7271
  sendAll(action, args) {
7251
7272
  const params = queryParams(args);
7252
- this._forEach(i => this._mailbox.send(i.id, i.version, i.formId, null, action, params).
7273
+ this._forEach(i => this._mailbox.send(i.id, i.version, i.formId, null, action, params, i.read, i.folderId, i.received).
7253
7274
  pipe(tap(() => {
7254
7275
  if (i.folderId !== this.folderId)
7255
7276
  this.dataSource.data.remove(i);
@@ -9876,12 +9897,12 @@ class CubeChartComponent {
9876
9897
  yName: 'y',
9877
9898
  name: s.title,
9878
9899
  dataSource: s.points,
9879
- type: this.indexChartType || 'Spline',
9900
+ type: this.indicesChartType || 'Spline',
9880
9901
  width: 2,
9881
9902
  fill: this._session.getPrimery(),
9882
9903
  stackingGroup: 'index',
9883
9904
  marker: {
9884
- visible: !this.indexChartType || this.indexChartType === 'Line' || this.indexChartType === 'Spline',
9905
+ visible: !this.indicesChartType || this.indicesChartType === 'Line' || this.indicesChartType === 'Spline',
9885
9906
  shape: 'Diamond',
9886
9907
  height: 10,
9887
9908
  width: 10
@@ -9962,7 +9983,7 @@ class CubeChartComponent {
9962
9983
  }
9963
9984
  CubeChartComponent.nextId = 0;
9964
9985
  CubeChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CubeChartComponent, deps: [{ token: CubeService }, { token: PromptService }, { token: TranslateService }, { token: SessionService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
9965
- CubeChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: CubeChartComponent, selector: "bizdoc-cube-chart", inputs: { width: "width", height: "height", cube: "cube", xAxis: "xAxis", series: "series", indices: "indices", filters: "filters", yAxis: "yAxis", chartType: "chartType", indexChartType: "indexChartType", scope: "scope", currencyCode: "currencyCode", loading: "loading" }, outputs: { explore: "explore", loadingChange: "loadingChange" }, host: { attributes: { "dir": "ltr" }, properties: { "id": "this.id" }, classAttribute: "cube-view" }, usesOnChanges: true, ngImport: i0, template: '', isInline: true });
9986
+ CubeChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: CubeChartComponent, selector: "bizdoc-cube-chart", inputs: { width: "width", height: "height", cube: "cube", xAxis: "xAxis", series: "series", indices: "indices", filters: "filters", yAxis: "yAxis", chartType: "chartType", indicesChartType: "indicesChartType", scope: "scope", currencyCode: "currencyCode", loading: "loading" }, outputs: { explore: "explore", loadingChange: "loadingChange" }, host: { attributes: { "dir": "ltr" }, properties: { "id": "this.id" }, classAttribute: "cube-view" }, usesOnChanges: true, ngImport: i0, template: '', isInline: true });
9966
9987
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CubeChartComponent, decorators: [{
9967
9988
  type: Component,
9968
9989
  args: [{
@@ -9991,7 +10012,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
9991
10012
  type: Input
9992
10013
  }], chartType: [{
9993
10014
  type: Input
9994
- }], indexChartType: [{
10015
+ }], indicesChartType: [{
9995
10016
  type: Input
9996
10017
  }], scope: [{
9997
10018
  type: Input
@@ -10574,7 +10595,7 @@ class CubePivotComponent {
10574
10595
  }
10575
10596
  CubePivotComponent.nextId = 0;
10576
10597
  CubePivotComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CubePivotComponent, deps: [{ token: CubeService }, { token: SessionService }, { token: TranslateService }, { token: PromptService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
10577
- CubePivotComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: CubePivotComponent, selector: "bizdoc-cube-pivot", inputs: { width: "width", height: "height", cube: "cube", xAxis: "xAxis", yAxis: "yAxis", series: "series", indices: "indices", filters: "filters", chartType: "chartType", indexChartType: "indexChartType", currencyCode: "currencyCode", loading: "loading" }, outputs: { explore: "explore", loadingChange: "loadingChange" }, host: { properties: { "style.direction": "dir", "id": "this.id" }, classAttribute: "cube-view" }, usesOnChanges: true, ngImport: i0, template: '', isInline: true, styles: ["::ng-deep .e-cellvalue{cursor:pointer}\n"] });
10598
+ CubePivotComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: CubePivotComponent, selector: "bizdoc-cube-pivot", inputs: { width: "width", height: "height", cube: "cube", xAxis: "xAxis", yAxis: "yAxis", series: "series", indices: "indices", filters: "filters", chartType: "chartType", indicesChartType: "indicesChartType", currencyCode: "currencyCode", loading: "loading" }, outputs: { explore: "explore", loadingChange: "loadingChange" }, host: { properties: { "style.direction": "dir", "id": "this.id" }, classAttribute: "cube-view" }, usesOnChanges: true, ngImport: i0, template: '', isInline: true, styles: ["::ng-deep .e-cellvalue{cursor:pointer}\n"] });
10578
10599
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CubePivotComponent, decorators: [{
10579
10600
  type: Component,
10580
10601
  args: [{
@@ -10604,7 +10625,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
10604
10625
  type: Input
10605
10626
  }], chartType: [{
10606
10627
  type: Input
10607
- }], indexChartType: [{
10628
+ }], indicesChartType: [{
10608
10629
  type: Input
10609
10630
  }], currencyCode: [{
10610
10631
  type: Input
@@ -10965,7 +10986,7 @@ class CubeViewComponent {
10965
10986
  constructor(_viewContainer, _factoryResolver) {
10966
10987
  this._viewContainer = _viewContainer;
10967
10988
  this._factoryResolver = _factoryResolver;
10968
- this.axes = {};
10989
+ this.filters = {};
10969
10990
  this.explore = new EventEmitter();
10970
10991
  this.loadingChange = new EventEmitter();
10971
10992
  this._resizing = new Subject();
@@ -11002,7 +11023,7 @@ class CubeViewComponent {
11002
11023
  }
11003
11024
  ngOnChanges(changes) {
11004
11025
  changes['view'] && !changes['view'].firstChange && this._createView();
11005
- changes['axes'] && !changes['axes'].firstChange && this.refresh();
11026
+ changes['filters'] && !changes['filters'].firstChange && this.refresh();
11006
11027
  }
11007
11028
  _createView() {
11008
11029
  this._viewDestroy.next();
@@ -11016,7 +11037,7 @@ class CubeViewComponent {
11016
11037
  comp.series = this.view.series;
11017
11038
  comp.indices = this.view.indices;
11018
11039
  comp.chartType = this.view.chartType;
11019
- comp.indexChartType = this.view.indexChartType;
11040
+ comp.indicesChartType = this.view.indicesChartType;
11020
11041
  comp.yAxis = this.cube.yAxis;
11021
11042
  break;
11022
11043
  }
@@ -11058,7 +11079,7 @@ class CubeViewComponent {
11058
11079
  comp.series = this.view.series;
11059
11080
  comp.indices = this.view.indices;
11060
11081
  comp.yAxis = this.cube.yAxis;
11061
- comp.indexChartType = this.view.indexChartType;
11082
+ comp.indicesChartType = this.view.indicesChartType;
11062
11083
  }
11063
11084
  }
11064
11085
  }
@@ -11071,7 +11092,7 @@ class CubeViewComponent {
11071
11092
  instance.explore.pipe(takeUntil(this._viewDestroy)).subscribe(e => {
11072
11093
  const axes = {
11073
11094
  ...this.view.filters,
11074
- ...this.axes,
11095
+ ...this.filters,
11075
11096
  ...e.axes
11076
11097
  };
11077
11098
  this.explore.emit({ axes, index: e.index });
@@ -11079,7 +11100,7 @@ class CubeViewComponent {
11079
11100
  instance.cube = this.cube.name;
11080
11101
  instance.xAxis = this.view.xAxis;
11081
11102
  instance.currencyCode = this.cube.currencyCode;
11082
- instance.filters = { ...this.view.filters, ...this.axes };
11103
+ instance.filters = { ...this.view.filters, ...this.filters };
11083
11104
  instance.loadingChange.pipe(takeUntil(this._viewDestroy), debounceTime(150)).subscribe(e => this.loadingChange.emit(this.loading = e));
11084
11105
  return instance;
11085
11106
  }
@@ -11094,7 +11115,7 @@ class CubeViewComponent {
11094
11115
  };
11095
11116
  }
11096
11117
  refresh() {
11097
- this._instance.filters = { ...this.view.filters, ...this.axes };
11118
+ this._instance.filters = { ...this.view.filters, ...this.filters };
11098
11119
  this._instance.execute();
11099
11120
  }
11100
11121
  exportToExcel() {
@@ -11107,7 +11128,7 @@ class CubeViewComponent {
11107
11128
  }
11108
11129
  }
11109
11130
  CubeViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CubeViewComponent, deps: [{ token: i0.ViewContainerRef }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Component });
11110
- CubeViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: CubeViewComponent, selector: "bizdoc-cube-view", inputs: { axes: "axes", cube: "cube", view: "view", loading: "loading" }, outputs: { explore: "explore", loadingChange: "loadingChange" }, host: { listeners: { "window:resize": "resize()" } }, usesOnChanges: true, ngImport: i0, template: '', isInline: true });
11131
+ CubeViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: CubeViewComponent, selector: "bizdoc-cube-view", inputs: { filters: "filters", cube: "cube", view: "view", loading: "loading" }, outputs: { explore: "explore", loadingChange: "loadingChange" }, host: { listeners: { "window:resize": "resize()" } }, usesOnChanges: true, ngImport: i0, template: '', isInline: true });
11111
11132
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CubeViewComponent, decorators: [{
11112
11133
  type: Component,
11113
11134
  args: [{
@@ -11121,7 +11142,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
11121
11142
  CubeSpreadsheetComponent
11122
11143
  ]
11123
11144
  }]
11124
- }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.ComponentFactoryResolver }]; }, propDecorators: { axes: [{
11145
+ }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.ComponentFactoryResolver }]; }, propDecorators: { filters: [{
11125
11146
  type: Input
11126
11147
  }], explore: [{
11127
11148
  type: Output
@@ -11273,12 +11294,12 @@ class CubeViewPaneComponent extends ViewBase {
11273
11294
  }
11274
11295
  }
11275
11296
  CubeViewPaneComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CubeViewPaneComponent, deps: [{ token: SessionService }, { token: PaneRef }, { token: Popup }, { token: RouterImpl }, { token: CubeService }, { token: GuideService }], target: i0.ɵɵFactoryTarget.Component });
11276
- CubeViewPaneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: CubeViewPaneComponent, selector: "ng-component", host: { listeners: { "window:keydown.f1": "guide($event)" }, classAttribute: "pane" }, viewQueries: [{ propertyName: "viewPane", first: true, predicate: CubeViewComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<mat-toolbar class=\"nav-toolbar\">\r\n <button mat-icon-button (click)=\"guide()\" [bizdocTooltip]=\"'Help' | translate\" *ngIf=\"view.guide\"><mat-icon>help_outline</mat-icon></button>\r\n <button mat-icon-button (click)=\"vp.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [bizdocTooltip]=\"'Download' | translate\"\r\n data-help=\"download\" (click)=\"vp.exportToExcel()\">\r\n <mat-icon>save_alt</mat-icon>\r\n </button>\r\n <button mat-icon-button [matMenuTriggerFor]=\"pmenu\" [bizdocTooltip]=\"'Patterns' | translate\" [disabled]=\"!patterns?.length\" data-help=\"pattern\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\r\n <mat-menu #pmenu>\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"patternChange(p)\">\r\n {{p.title}}\r\n </button>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"clearFilter()\" [bizdocTooltip]=\"'Clear' | translate\" [disabled]=\"!anyFilters\"><mat-icon>clear_all</mat-icon></button>\r\n <button mat-icon-button (click)=\"filterToggle($event)\" [bizdocTooltip]=\"'Filter' | translate\" [disabled]=\"!anyAxes\" data-help=\"filter\"><mat-icon>filter_list</mat-icon></button>\r\n</mat-toolbar>\r\n<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\r\n<!--<bizdoc-filter-tags [(filters)]=\"axes\" [cube]=\"cube\"></bizdoc-filter-tags>-->\r\n<bizdoc-cube-view [axes]=\"axes\" #vp\r\n (explore)=\"explore($event)\"\r\n [cube]=\"cube\"\r\n [view]=\"view\"\r\n [(loading)]=\"loading\"></bizdoc-cube-view>\r\n<!--<ng-lottie options=\"{path: 'assets/8318-loader.json'}\" *ngIf=\"loading\"></ng-lottie>-->\r\n", styles: [":host{display:flex;flex-direction:column;height:100%}:host ::ng-deep .cube-view{flex:1 auto}\n"], components: [{ type: i7$4.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { type: i7$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i7$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i8$1.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i8$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i11$1.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { type: CubeViewComponent, selector: "bizdoc-cube-view", inputs: ["axes", "cube", "view", "loading"], outputs: ["explore", "loadingChange"] }], directives: [{ type: i10$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { type: MatIconAnimate, selector: "[matAnimate]" }, { type: i8$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i10$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": TranslatePipe } });
11297
+ CubeViewPaneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: CubeViewPaneComponent, selector: "ng-component", host: { listeners: { "window:keydown.f1": "guide($event)" }, classAttribute: "pane" }, viewQueries: [{ propertyName: "viewPane", first: true, predicate: CubeViewComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<mat-toolbar class=\"nav-toolbar\">\r\n <button mat-icon-button (click)=\"guide()\" [bizdocTooltip]=\"'Help' | translate\" *ngIf=\"view.guide\"><mat-icon>help_outline</mat-icon></button>\r\n <button mat-icon-button (click)=\"vp.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [bizdocTooltip]=\"'Download' | translate\"\r\n data-help=\"download\" (click)=\"vp.exportToExcel()\">\r\n <mat-icon>save_alt</mat-icon>\r\n </button>\r\n <button mat-icon-button [matMenuTriggerFor]=\"pmenu\" [bizdocTooltip]=\"'Patterns' | translate\" [disabled]=\"!patterns?.length\" data-help=\"pattern\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\r\n <mat-menu #pmenu>\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"patternChange(p)\">\r\n {{p.title}}\r\n </button>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"clearFilter()\" [bizdocTooltip]=\"'Clear' | translate\" [disabled]=\"!anyFilters\"><mat-icon>clear_all</mat-icon></button>\r\n <button mat-icon-button (click)=\"filterToggle($event)\" [bizdocTooltip]=\"'Filter' | translate\" [disabled]=\"!anyAxes\" data-help=\"filter\"><mat-icon>filter_list</mat-icon></button>\r\n</mat-toolbar>\r\n<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\r\n<!--<bizdoc-filter-tags [(filters)]=\"axes\" [cube]=\"cube\"></bizdoc-filter-tags>-->\r\n<bizdoc-cube-view [filters]=\"axes\" #vp\r\n (explore)=\"explore($event)\"\r\n [cube]=\"cube\"\r\n [view]=\"view\"\r\n [(loading)]=\"loading\"></bizdoc-cube-view>\r\n<!--<ng-lottie options=\"{path: 'assets/8318-loader.json'}\" *ngIf=\"loading\"></ng-lottie>-->\r\n", styles: [":host{display:flex;flex-direction:column;height:100%}:host ::ng-deep .cube-view{flex:1 auto}\n"], components: [{ type: i7$4.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { type: i7$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i7$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i8$1.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i8$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i11$1.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { type: CubeViewComponent, selector: "bizdoc-cube-view", inputs: ["filters", "cube", "view", "loading"], outputs: ["explore", "loadingChange"] }], directives: [{ type: i10$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { type: MatIconAnimate, selector: "[matAnimate]" }, { type: i8$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i10$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": TranslatePipe } });
11277
11298
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CubeViewPaneComponent, decorators: [{
11278
11299
  type: Component,
11279
11300
  args: [{ host: {
11280
11301
  class: 'pane'
11281
- }, template: "<mat-toolbar class=\"nav-toolbar\">\r\n <button mat-icon-button (click)=\"guide()\" [bizdocTooltip]=\"'Help' | translate\" *ngIf=\"view.guide\"><mat-icon>help_outline</mat-icon></button>\r\n <button mat-icon-button (click)=\"vp.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [bizdocTooltip]=\"'Download' | translate\"\r\n data-help=\"download\" (click)=\"vp.exportToExcel()\">\r\n <mat-icon>save_alt</mat-icon>\r\n </button>\r\n <button mat-icon-button [matMenuTriggerFor]=\"pmenu\" [bizdocTooltip]=\"'Patterns' | translate\" [disabled]=\"!patterns?.length\" data-help=\"pattern\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\r\n <mat-menu #pmenu>\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"patternChange(p)\">\r\n {{p.title}}\r\n </button>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"clearFilter()\" [bizdocTooltip]=\"'Clear' | translate\" [disabled]=\"!anyFilters\"><mat-icon>clear_all</mat-icon></button>\r\n <button mat-icon-button (click)=\"filterToggle($event)\" [bizdocTooltip]=\"'Filter' | translate\" [disabled]=\"!anyAxes\" data-help=\"filter\"><mat-icon>filter_list</mat-icon></button>\r\n</mat-toolbar>\r\n<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\r\n<!--<bizdoc-filter-tags [(filters)]=\"axes\" [cube]=\"cube\"></bizdoc-filter-tags>-->\r\n<bizdoc-cube-view [axes]=\"axes\" #vp\r\n (explore)=\"explore($event)\"\r\n [cube]=\"cube\"\r\n [view]=\"view\"\r\n [(loading)]=\"loading\"></bizdoc-cube-view>\r\n<!--<ng-lottie options=\"{path: 'assets/8318-loader.json'}\" *ngIf=\"loading\"></ng-lottie>-->\r\n", styles: [":host{display:flex;flex-direction:column;height:100%}:host ::ng-deep .cube-view{flex:1 auto}\n"] }]
11302
+ }, template: "<mat-toolbar class=\"nav-toolbar\">\r\n <button mat-icon-button (click)=\"guide()\" [bizdocTooltip]=\"'Help' | translate\" *ngIf=\"view.guide\"><mat-icon>help_outline</mat-icon></button>\r\n <button mat-icon-button (click)=\"vp.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [bizdocTooltip]=\"'Download' | translate\"\r\n data-help=\"download\" (click)=\"vp.exportToExcel()\">\r\n <mat-icon>save_alt</mat-icon>\r\n </button>\r\n <button mat-icon-button [matMenuTriggerFor]=\"pmenu\" [bizdocTooltip]=\"'Patterns' | translate\" [disabled]=\"!patterns?.length\" data-help=\"pattern\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\r\n <mat-menu #pmenu>\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"patternChange(p)\">\r\n {{p.title}}\r\n </button>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"clearFilter()\" [bizdocTooltip]=\"'Clear' | translate\" [disabled]=\"!anyFilters\"><mat-icon>clear_all</mat-icon></button>\r\n <button mat-icon-button (click)=\"filterToggle($event)\" [bizdocTooltip]=\"'Filter' | translate\" [disabled]=\"!anyAxes\" data-help=\"filter\"><mat-icon>filter_list</mat-icon></button>\r\n</mat-toolbar>\r\n<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\r\n<!--<bizdoc-filter-tags [(filters)]=\"axes\" [cube]=\"cube\"></bizdoc-filter-tags>-->\r\n<bizdoc-cube-view [filters]=\"axes\" #vp\r\n (explore)=\"explore($event)\"\r\n [cube]=\"cube\"\r\n [view]=\"view\"\r\n [(loading)]=\"loading\"></bizdoc-cube-view>\r\n<!--<ng-lottie options=\"{path: 'assets/8318-loader.json'}\" *ngIf=\"loading\"></ng-lottie>-->\r\n", styles: [":host{display:flex;flex-direction:column;height:100%}:host ::ng-deep .cube-view{flex:1 auto}\n"] }]
11282
11303
  }], ctorParameters: function () { return [{ type: SessionService }, { type: PaneRef }, { type: Popup }, { type: RouterImpl }, { type: CubeService }, { type: GuideService }]; }, propDecorators: { viewPane: [{
11283
11304
  type: ViewChild,
11284
11305
  args: [CubeViewComponent, { static: true }]
@@ -14035,12 +14056,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
14035
14056
  }], ctorParameters: function () { return [{ type: FormService }]; } });
14036
14057
 
14037
14058
  const LOADING_DELAY = 200;
14038
- const matrixAnimation = trigger('table', [transition('void=>*', [
14039
- query('.mat-row', [
14040
- style({ opacity: 0, transform: 'translateX(10px)' }),
14041
- stagger(100, style({ opacity: 1, transform: 'none' }))
14042
- ], { optional: true })
14043
- ])]);
14044
14059
  /** cube matrix component*/
14045
14060
  class CubeMatrixComponent {
14046
14061
  constructor(_sb, _service, _session, _ds) {
@@ -14053,12 +14068,30 @@ class CubeMatrixComponent {
14053
14068
  this.onExplore = new EventEmitter();
14054
14069
  this.loadingChange = new EventEmitter();
14055
14070
  }
14056
- get indices() {
14057
- return this._indices;
14058
- }
14059
- set indices(value) {
14060
- if (value)
14061
- this._indices = isArray(value) ? value : [value];
14071
+ set sum(val) {
14072
+ if (val)
14073
+ this._sum = (isArray(val) ? val : [val]).
14074
+ map(sum => {
14075
+ let value;
14076
+ if (sum.value)
14077
+ value = sum.value.toString();
14078
+ else if (sum.calculate)
14079
+ switch (sum.calculate) {
14080
+ case 'month':
14081
+ value = 'M' + ('0' + new Date().getMonth().toString()).slice(-2);
14082
+ break;
14083
+ case 'year':
14084
+ value = new Date().getFullYear().toString();
14085
+ break;
14086
+ case 'quarter':
14087
+ value = Math.ceil(new Date().getMonth() / 3).toString();
14088
+ break;
14089
+ }
14090
+ return {
14091
+ value,
14092
+ ...sum
14093
+ };
14094
+ });
14062
14095
  }
14063
14096
  get interactive() {
14064
14097
  return this._interactive;
@@ -14068,64 +14101,69 @@ class CubeMatrixComponent {
14068
14101
  }
14069
14102
  ngOnChanges(changes) {
14070
14103
  if (changes['_cube']) {
14071
- this.cube = this.cube ? this._session.profile.cubes.find(c => c.name === this._cube) :
14072
- this._session.profile.cubes[0];
14104
+ this.cube = this._session.profile.cubes.find(c => c.name === this._cube);
14073
14105
  this.CURRENCY = this.cube.currencyCode /*|| this._service.currencyCode*/;
14074
14106
  }
14075
- if (this._indices)
14076
- this.indexes = this.cube.indices.filter(i => this._indices.indexOf(i.name) > -1);
14077
- else {
14078
- this.indexes = this.cube.indices;
14079
- this._indices = this.indexes.map(i => i.name);
14107
+ if (!this.cube) {
14108
+ this.cube = this._session.profile.cubes[0];
14109
+ this.CURRENCY = this.cube.currencyCode /*|| this._service.currencyCode*/;
14080
14110
  }
14081
- if (changes['_xAxis'] || changes['_serie']) {
14082
- this.xAxis = this.cube.axes.find(a => a.name === this._xAxis) || this.cube.axes[0];
14083
- this.series = this.cube.axes.find(a => a.name === this._serie) || this.cube.axes[1];
14084
- this._prepare = forkJoin(this._ds.all(this.series.dataType).pipe(tap(r => this.rows = r)), this._ds.all(this.xAxis.dataType).pipe(tap(c => this.columns = c))).toPromise().then(() => this.sum &&
14111
+ if (changes['_indices'])
14112
+ this.indices = this.cube.indices.filter(i => isArray(this._indices) ? this._indices.indexOf(i.name) > -1 : this._indices === i.name);
14113
+ if (changes['_xAxis'] || changes['_series']) {
14114
+ this.xAxis = this.cube.axes.find(a => a.name === this._xAxis);
14115
+ this.series = this.cube.axes.find(a => a.name === this._series);
14116
+ this._prepare = forkJoin(this._ds.all(this.series.dataType).pipe(tap(r => this.rows = r)), this._ds.all(this.xAxis.dataType).pipe(tap(c => this.columns = c))).toPromise().then(() => this._sum &&
14085
14117
  this._addsum());
14086
14118
  }
14087
- if (changes['axes'])
14119
+ if (changes['filters'])
14088
14120
  this.refresh();
14089
14121
  }
14090
14122
  _addsum() {
14091
- let { xAxis, serie } = this._dsum;
14092
- if (xAxis) {
14093
- const columns = [];
14094
- this.columns.forEach(c => {
14095
- columns.push(c);
14096
- if (xAxis.toString() === c.key)
14097
- columns.push({
14098
- key: '_sum',
14099
- value: this.sum.title
14100
- });
14101
- });
14102
- this.columns = columns;
14103
- }
14104
- if (serie) {
14105
- const rows = [];
14106
- this.rows.forEach(r => {
14107
- rows.push(r);
14108
- if (serie.toString() === r.key)
14109
- rows.push({
14110
- key: '_sum',
14111
- value: this.sum.title
14112
- });
14113
- });
14114
- this.rows = rows;
14115
- }
14123
+ this._sum.forEach((s, i) => {
14124
+ let { value, axis } = s;
14125
+ const element = {
14126
+ key: '_sum_' + i,
14127
+ value: s.title
14128
+ };
14129
+ let j = 0;
14130
+ if (axis === 'xAxis') {
14131
+ while (j < this.columns.length) {
14132
+ if (this.columns[j].key === value) {
14133
+ this.columns.splice(j + 1, 0, element);
14134
+ break;
14135
+ }
14136
+ j++;
14137
+ }
14138
+ if (j === this.columns.length)
14139
+ this.columns.push(element);
14140
+ }
14141
+ else {
14142
+ while (j < this.rows.length) {
14143
+ if (this.rows[j].key === value) {
14144
+ this.rows.splice(j + 1, 0, element);
14145
+ break;
14146
+ }
14147
+ j++;
14148
+ }
14149
+ if (j === this.rows.length)
14150
+ this.rows.push(element);
14151
+ }
14152
+ });
14116
14153
  }
14117
14154
  refresh() {
14118
14155
  const progressTask = setTimeout(() => this.loadingChange.next(this.loading = true), LOADING_DELAY);
14119
- this._prepare.then(() => this._service.series(this.cube.name, this.xAxis.name, {
14120
- series: this.series.name,
14156
+ this._prepare.then(() => this._service.series(this.cube.name, this._xAxis, {
14157
+ series: this._series,
14121
14158
  indices: this._indices,
14122
- filters: this.axes,
14159
+ filters: this.filters,
14123
14160
  scope: this.scope
14124
- }).pipe(modelize(), first$1(), tap(d => {
14125
- this._totals(d);
14126
- this.sum &&
14161
+ }).pipe(modelize(), first$1()).subscribe(d => {
14162
+ this._sum &&
14127
14163
  this._calculatesum(d);
14128
- })).subscribe(d => this.data = d, (e) => {
14164
+ this._totals(d);
14165
+ this.data = d;
14166
+ }, (e) => {
14129
14167
  this._sb.error(e.status === 401 ? 'Unauthorized' : null);
14130
14168
  }, () => {
14131
14169
  clearTimeout(progressTask);
@@ -14133,8 +14171,9 @@ class CubeMatrixComponent {
14133
14171
  }));
14134
14172
  }
14135
14173
  _totals(data) {
14174
+ this.totals = {};
14136
14175
  let grand = 0;
14137
- this.indexes.forEach(i => {
14176
+ this.indices && this.indices.forEach(i => {
14138
14177
  const index = data[i.name];
14139
14178
  if (!index)
14140
14179
  data[i.name] = {};
@@ -14157,8 +14196,7 @@ class CubeMatrixComponent {
14157
14196
  data[r.key]['_total'] = sum;
14158
14197
  grand -= sum;
14159
14198
  });
14160
- this.totals = {};
14161
- this.columns.forEach(c => {
14199
+ this._indices && this.columns.forEach(c => {
14162
14200
  let sum = 0, key;
14163
14201
  for (key in data) {
14164
14202
  const val = data[key][c.key];
@@ -14170,92 +14208,140 @@ class CubeMatrixComponent {
14170
14208
  this.totals['_total'] = grand;
14171
14209
  }
14172
14210
  _calculatesum(data) {
14173
- let { xAxis, serie } = this._dsum;
14174
- if (xAxis) {
14175
- let total = 0;
14176
- this.rows.forEach(r => {
14177
- const row = data[r.key];
14178
- if (!row)
14179
- return;
14180
- let sum = 0, i = 0;
14181
- while (i < this.columns.length) {
14182
- let key = this.columns[i].key, val = row[key];
14183
- if (val !== undefined)
14184
- sum += val;
14185
- if (key === xAxis.toString())
14186
- break;
14187
- i++;
14188
- }
14189
- data[r.key]['_sum'] = sum;
14190
- total += sum;
14191
- });
14192
- this.totals['_sum'] = total;
14193
- }
14194
- if (serie) {
14195
- let total = 0;
14196
- this.columns.forEach(c => {
14197
- let sum = 0, i = 0;
14198
- while (i < this.rows.length) {
14199
- let key = this.rows[i].key, row = data[key];
14200
- if (row) {
14201
- let val = row[c.key];
14202
- if (val !== undefined)
14203
- sum += val;
14204
- if (key === serie.toString())
14205
- break;
14211
+ this._sum.forEach((s, i) => {
14212
+ const { axis, value, calculate } = s, name = '_sum_' + i;
14213
+ if (axis === 'xAxis') {
14214
+ let total = 0;
14215
+ this.rows.forEach(r => {
14216
+ const row = data[r.key];
14217
+ if (!row)
14218
+ return;
14219
+ let sum = 0, j = 0;
14220
+ while (j < this.columns.length) {
14221
+ let key = this.columns[j].key;
14222
+ if (isFunction(calculate)) {
14223
+ let val = calculate(key, this.data);
14224
+ if (val !== undefined)
14225
+ sum += val;
14226
+ }
14227
+ else {
14228
+ let val = row[key];
14229
+ if (val !== undefined)
14230
+ sum += val;
14231
+ if (key === value)
14232
+ break;
14233
+ }
14234
+ j++;
14206
14235
  }
14207
- i++;
14208
- }
14209
- data['_sum'][c.key] = sum;
14210
- total += sum;
14211
- });
14212
- data['_sum']['_total'] = total;
14213
- }
14214
- }
14215
- get _dsum() {
14216
- if (this._evalsum)
14217
- return this._evalsum;
14218
- const { xAxis, serie } = this.sum;
14219
- function translate(axis) {
14220
- switch (axis) {
14221
- case '$month':
14222
- return 'M' + ('0' + new Date().getMonth().toString()).slice(-2);
14223
- case '$year':
14224
- return new Date().getFullYear().toString();
14225
- case '$quarter':
14226
- return Math.ceil(new Date().getMonth() / 3).toString();
14227
- default:
14228
- return axis;
14236
+ row[name] = sum;
14237
+ total += sum;
14238
+ });
14239
+ this.indices && this.indices.forEach(i => {
14240
+ const row = data[i.name];
14241
+ if (!row)
14242
+ return;
14243
+ let sum = 0, j = 0;
14244
+ while (j < this.columns.length) {
14245
+ let key = this.columns[j].key;
14246
+ if (isFunction(calculate)) {
14247
+ let val = calculate(key, this.data);
14248
+ if (val !== undefined)
14249
+ sum += val;
14250
+ }
14251
+ else {
14252
+ let val = row[key];
14253
+ if (val !== undefined)
14254
+ sum += val;
14255
+ if (key === value)
14256
+ break;
14257
+ }
14258
+ j++;
14259
+ }
14260
+ row[name] = sum;
14261
+ });
14262
+ this.totals[name] = total;
14229
14263
  }
14230
- }
14231
- return this._evalsum = { xAxis: translate(xAxis), serie: translate(serie) };
14264
+ else {
14265
+ let total = 0;
14266
+ this.columns.forEach(c => {
14267
+ let sum = 0, j = 0;
14268
+ while (j < this.rows.length) {
14269
+ let key = this.rows[j].key;
14270
+ if (!key.startsWith('_sum')) {
14271
+ if (isFunction(calculate)) {
14272
+ let val = calculate(key, this.data);
14273
+ if (val !== undefined)
14274
+ sum += val;
14275
+ }
14276
+ else {
14277
+ let row = data[key];
14278
+ if (row) {
14279
+ let val = row[c.key];
14280
+ if (val !== undefined)
14281
+ sum += val;
14282
+ if (key === value)
14283
+ break;
14284
+ }
14285
+ }
14286
+ }
14287
+ j++;
14288
+ }
14289
+ if (!data[name])
14290
+ data[name] = {};
14291
+ data[name][c.key] = sum;
14292
+ total += sum;
14293
+ });
14294
+ data[name]['_total'] = total;
14295
+ }
14296
+ });
14232
14297
  }
14233
- explore(x, serie) {
14298
+ explore(x, series) {
14234
14299
  if (!this.interactive)
14235
14300
  return;
14236
- if (this.sum) {
14237
- if (x === '_sum') {
14238
- x = [];
14239
- for (let i = 0; i < this.columns.length; i++) {
14240
- let key = this.columns[i].key;
14241
- x.push(key);
14242
- if (key === this.sum.xAxis.toString())
14243
- break;
14301
+ const axes = { ...this.filters };
14302
+ if (this._sum) {
14303
+ let i = 0;
14304
+ while (i < this._sum.length) {
14305
+ let { value, calculate } = this._sum[i], name = '_sum_' + i;
14306
+ if (x === name) {
14307
+ x = [];
14308
+ for (let i = 0; i < this.columns.length; i++) {
14309
+ let key = this.columns[i].key;
14310
+ if (isFunction(calculate)) {
14311
+ let val = calculate(key, this.data);
14312
+ if (val !== undefined)
14313
+ x.push(key);
14314
+ }
14315
+ else {
14316
+ x.push(key);
14317
+ if (key === value)
14318
+ break;
14319
+ }
14320
+ }
14321
+ break;
14244
14322
  }
14245
- }
14246
- if (serie === '_sum') {
14247
- serie = [];
14248
- for (let i = 0; i < this.rows.length; i++) {
14249
- let key = this.rows[i].key;
14250
- serie.push(key);
14251
- if (key === this.sum.serie.toString())
14252
- break;
14323
+ else if (series === name) {
14324
+ series = [];
14325
+ for (let i = 0; i < this.rows.length; i++) {
14326
+ let key = this.rows[i].key;
14327
+ if (isFunction(calculate)) {
14328
+ let val = calculate(key, this.data);
14329
+ if (val !== undefined)
14330
+ series.push(key);
14331
+ }
14332
+ else {
14333
+ series.push(key);
14334
+ if (key === value)
14335
+ break;
14336
+ }
14337
+ }
14338
+ break;
14253
14339
  }
14340
+ i++;
14254
14341
  }
14255
14342
  }
14256
- const axes = { ...this.axes };
14257
14343
  axes[this.xAxis.name] = x;
14258
- axes[this.series.name] = serie;
14344
+ axes[this.series.name] = series;
14259
14345
  this.onExplore.emit(axes);
14260
14346
  }
14261
14347
  move(x, y) {
@@ -14289,10 +14375,10 @@ class CubeMatrixComponent {
14289
14375
  }
14290
14376
  }
14291
14377
  CubeMatrixComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CubeMatrixComponent, deps: [{ token: PromptService }, { token: CubeService }, { token: SessionService }, { token: DatasourceService }], target: i0.ɵɵFactoryTarget.Component });
14292
- CubeMatrixComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: CubeMatrixComponent, selector: "bizdoc-cube-matrix", inputs: { _cube: ["cube", "_cube"], _xAxis: ["xAxis", "_xAxis"], _serie: ["serie", "_serie"], indices: "indices", scope: "scope", sum: "sum", axes: "axes", loading: "loading", interactive: "interactive" }, outputs: { onExplore: "explore", loadingChange: "loadingChange" }, viewQueries: [{ propertyName: "tableElement", first: true, predicate: ["table"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<table #table class=\"mat-table cube-table\" (mouseleave)=\"move(-1, -1)\" *ngIf=\"data\">\r\n <thead>\r\n <!-- headers -->\r\n <tr class=\"mat-row\">\r\n <th></th>\r\n <th *ngFor=\"let column of columns; let x = index\" (mouseenter)=\"move(x + 1, -2)\" class=\"mat-header-cell\">\r\n {{ column.value }}\r\n </th>\r\n <th></th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <!-- indices -->\r\n <tr class=\"mat-row cube-index\" *ngFor=\"let index of indexes; let y = index\">\r\n <th class=\"mat-header-cell\" (mouseenter)=\"move(0, y)\">{{index.title}}</th>\r\n <td *ngFor=\"let column of columns; let x = index\" class=\"mat-cell figure\" (mouseenter)=\"move(x + 1, y)\">\r\n <span *ngIf=\"data[index.name] && data[index.name][column.key]; else zero\">{{ data[index.name][column.key] | number : PRECISION }}</span>\r\n </td>\r\n <th class=\"mat-cell figure\" (mouseenter)=\"move(0, y)\" [ngSwitch]=\"!CURRENCY\">\r\n <ng-container *ngSwitchCase=\"true\">\r\n {{ data[index.name]['_total'] | number : PRECISION }}\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n {{ data[index.name]['_total'] | currency : CURRENCY: 'symbol' : PRECISION }}\r\n </ng-container>\r\n </th>\r\n </tr>\r\n </tbody>\r\n <tbody>\r\n <!-- rows -->\r\n <tr *ngFor=\"let row of rows; let y = index\" class=\"mat-row\">\r\n <th class=\"mat-header-cell\" (mouseenter)=\"move(-2, y + indices.length)\">{{ row.value }}</th>\r\n <td *ngFor=\"let column of columns; let x = index\" class=\"mat-cell figure\" (mouseenter)=\"move(x + 1, y + indices.length)\">\r\n <ng-container *ngIf=\"data[row.key] && data[row.key][column.key] !== undefined; else zero\">\r\n <span [class.clickable]=\"interactive\" (click)=\"explore(column.key, row.key)\">\r\n {{data[row.key][column.key] | number : PRECISION }}\r\n </span>\r\n </ng-container>\r\n </td>\r\n <th class=\"mat-cell figure\" (mouseenter)=\"move(-1, y + indices.length)\" [ngSwitch]=\"!CURRENCY\">\r\n <ng-container *ngSwitchCase=\"true\">\r\n {{ data[row.key]['_total'] | number : PRECISION }}\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n {{ data[row.key]['_total'] | currency : CURRENCY: 'symbol' : PRECISION }}\r\n </ng-container>\r\n </th>\r\n </tr>\r\n </tbody>\r\n <tfoot>\r\n <!-- available -->\r\n <tr>\r\n <th></th>\r\n <td *ngFor=\"let column of columns; let x = index\" class=\"mat-cell figure\" (mouseenter)=\"move(x + 1, -2)\"\r\n [class.negative-figure]=\"totals[column.key] < 0\">\r\n {{totals[column.key] | currency : CURRENCY: 'symbol' : PRECISION }}\r\n </td>\r\n <th class=\"mat-cell figure\">{{totals['_total'] | currency : CURRENCY: 'symbol' : PRECISION }}</th>\r\n </tr>\r\n </tfoot>\r\n</table>\r\n<ng-template #zero>\r\n 0\r\n</ng-template>\r\n", styles: [".clickable{cursor:pointer}.cube-table{width:100%;display:inline-table;border-collapse:collapse}.cube-table th{cursor:default}.cube-table th.figure{font-weight:500}.cube-table td{padding-right:4px}\n"], directives: [{ type: i10$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i10$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i10$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i10$1.NgSwitchDefault, selector: "[ngSwitchDefault]" }], pipes: { "number": i10$1.DecimalPipe, "currency": i10$1.CurrencyPipe }, animations: [matrixAnimation] });
14378
+ CubeMatrixComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: CubeMatrixComponent, selector: "bizdoc-cube-matrix", inputs: { _cube: ["cube", "_cube"], _xAxis: ["xAxis", "_xAxis"], _series: ["series", "_series"], _indices: ["indices", "_indices"], scope: "scope", sum: "sum", filters: "filters", loading: "loading", interactive: "interactive" }, outputs: { onExplore: "explore", loadingChange: "loadingChange" }, viewQueries: [{ propertyName: "tableElement", first: true, predicate: ["table"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<table #table class=\"mat-table cube-table\" (mouseleave)=\"move(-1, -1)\" *ngIf=\"data\">\r\n <thead>\r\n <!-- headers -->\r\n <tr class=\"mat-row\">\r\n <th></th>\r\n <th *ngFor=\"let column of columns; let x = index\" (mouseenter)=\"move(x + 1, -2)\" class=\"mat-header-cell\">\r\n {{ column.value }}\r\n </th>\r\n <th></th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <!-- indices -->\r\n <tr class=\"mat-row cube-index\" *ngFor=\"let index of indices; let y = index\">\r\n <th class=\"mat-header-cell\" (mouseenter)=\"move(0, y)\">{{index.title}}</th>\r\n <td *ngFor=\"let column of columns; let x = index\" class=\"mat-cell figure\" (mouseenter)=\"move(x + 1, y)\">\r\n <span *ngIf=\"data[index.name] && data[index.name][column.key]; else zero\">{{ data[index.name][column.key] | number : PRECISION }}</span>\r\n </td>\r\n <th class=\"mat-cell figure\" (mouseenter)=\"move(0, y)\" [ngSwitch]=\"!CURRENCY\">\r\n <ng-container *ngSwitchCase=\"true\">\r\n {{ data[index.name]['_total'] | number : PRECISION }}\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n {{ data[index.name]['_total'] | currency : CURRENCY: 'symbol' : PRECISION }}\r\n </ng-container>\r\n </th>\r\n </tr>\r\n </tbody>\r\n <tbody>\r\n <!-- rows -->\r\n <tr *ngFor=\"let row of rows; let y = index\" class=\"mat-row\">\r\n <th class=\"mat-header-cell\" (mouseenter)=\"move(-2, y + indices.length)\">{{ row.value }}</th>\r\n <td *ngFor=\"let column of columns; let x = index\" class=\"mat-cell figure\" (mouseenter)=\"move(x + 1, y + indices.length)\">\r\n <ng-container *ngIf=\"data[row.key] && data[row.key][column.key] !== undefined; else zero\">\r\n <span [class.clickable]=\"interactive\" (click)=\"explore(column.key, row.key)\">\r\n {{data[row.key][column.key] | number : PRECISION }}\r\n </span>\r\n </ng-container>\r\n </td>\r\n <th class=\"mat-cell figure\" (mouseenter)=\"move(-1, y + indices.length)\" [ngSwitch]=\"!CURRENCY\">\r\n <ng-container *ngSwitchCase=\"true\">\r\n {{ data[row.key]['_total'] | number : PRECISION }}\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n {{ data[row.key]['_total'] | currency : CURRENCY: 'symbol' : PRECISION }}\r\n </ng-container>\r\n </th>\r\n </tr>\r\n </tbody>\r\n <tfoot>\r\n <!-- available -->\r\n <tr>\r\n <th></th>\r\n <td *ngFor=\"let column of columns; let x = index\" class=\"mat-cell figure\" (mouseenter)=\"move(x + 1, -2)\"\r\n [class.negative-figure]=\"totals[column.key] < 0\">\r\n {{totals[column.key] | currency : CURRENCY: 'symbol' : PRECISION }}\r\n </td>\r\n <th class=\"mat-cell figure\">{{totals['_total'] | currency : CURRENCY: 'symbol' : PRECISION }}</th>\r\n </tr>\r\n </tfoot>\r\n</table>\r\n<ng-template #zero>\r\n 0\r\n</ng-template>\r\n", styles: [".clickable{cursor:pointer}.cube-table{width:100%;display:inline-table;border-collapse:collapse}.cube-table th{cursor:default}.cube-table th.figure{font-weight:500}.cube-table td{padding-right:4px}\n"], directives: [{ type: i10$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i10$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i10$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i10$1.NgSwitchDefault, selector: "[ngSwitchDefault]" }], pipes: { "number": i10$1.DecimalPipe, "currency": i10$1.CurrencyPipe }, animations: [matrixAnimation] });
14293
14379
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CubeMatrixComponent, decorators: [{
14294
14380
  type: Component,
14295
- args: [{ selector: 'bizdoc-cube-matrix', animations: [matrixAnimation], template: "<table #table class=\"mat-table cube-table\" (mouseleave)=\"move(-1, -1)\" *ngIf=\"data\">\r\n <thead>\r\n <!-- headers -->\r\n <tr class=\"mat-row\">\r\n <th></th>\r\n <th *ngFor=\"let column of columns; let x = index\" (mouseenter)=\"move(x + 1, -2)\" class=\"mat-header-cell\">\r\n {{ column.value }}\r\n </th>\r\n <th></th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <!-- indices -->\r\n <tr class=\"mat-row cube-index\" *ngFor=\"let index of indexes; let y = index\">\r\n <th class=\"mat-header-cell\" (mouseenter)=\"move(0, y)\">{{index.title}}</th>\r\n <td *ngFor=\"let column of columns; let x = index\" class=\"mat-cell figure\" (mouseenter)=\"move(x + 1, y)\">\r\n <span *ngIf=\"data[index.name] && data[index.name][column.key]; else zero\">{{ data[index.name][column.key] | number : PRECISION }}</span>\r\n </td>\r\n <th class=\"mat-cell figure\" (mouseenter)=\"move(0, y)\" [ngSwitch]=\"!CURRENCY\">\r\n <ng-container *ngSwitchCase=\"true\">\r\n {{ data[index.name]['_total'] | number : PRECISION }}\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n {{ data[index.name]['_total'] | currency : CURRENCY: 'symbol' : PRECISION }}\r\n </ng-container>\r\n </th>\r\n </tr>\r\n </tbody>\r\n <tbody>\r\n <!-- rows -->\r\n <tr *ngFor=\"let row of rows; let y = index\" class=\"mat-row\">\r\n <th class=\"mat-header-cell\" (mouseenter)=\"move(-2, y + indices.length)\">{{ row.value }}</th>\r\n <td *ngFor=\"let column of columns; let x = index\" class=\"mat-cell figure\" (mouseenter)=\"move(x + 1, y + indices.length)\">\r\n <ng-container *ngIf=\"data[row.key] && data[row.key][column.key] !== undefined; else zero\">\r\n <span [class.clickable]=\"interactive\" (click)=\"explore(column.key, row.key)\">\r\n {{data[row.key][column.key] | number : PRECISION }}\r\n </span>\r\n </ng-container>\r\n </td>\r\n <th class=\"mat-cell figure\" (mouseenter)=\"move(-1, y + indices.length)\" [ngSwitch]=\"!CURRENCY\">\r\n <ng-container *ngSwitchCase=\"true\">\r\n {{ data[row.key]['_total'] | number : PRECISION }}\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n {{ data[row.key]['_total'] | currency : CURRENCY: 'symbol' : PRECISION }}\r\n </ng-container>\r\n </th>\r\n </tr>\r\n </tbody>\r\n <tfoot>\r\n <!-- available -->\r\n <tr>\r\n <th></th>\r\n <td *ngFor=\"let column of columns; let x = index\" class=\"mat-cell figure\" (mouseenter)=\"move(x + 1, -2)\"\r\n [class.negative-figure]=\"totals[column.key] < 0\">\r\n {{totals[column.key] | currency : CURRENCY: 'symbol' : PRECISION }}\r\n </td>\r\n <th class=\"mat-cell figure\">{{totals['_total'] | currency : CURRENCY: 'symbol' : PRECISION }}</th>\r\n </tr>\r\n </tfoot>\r\n</table>\r\n<ng-template #zero>\r\n 0\r\n</ng-template>\r\n", styles: [".clickable{cursor:pointer}.cube-table{width:100%;display:inline-table;border-collapse:collapse}.cube-table th{cursor:default}.cube-table th.figure{font-weight:500}.cube-table td{padding-right:4px}\n"] }]
14381
+ args: [{ selector: 'bizdoc-cube-matrix', animations: [matrixAnimation], template: "<table #table class=\"mat-table cube-table\" (mouseleave)=\"move(-1, -1)\" *ngIf=\"data\">\r\n <thead>\r\n <!-- headers -->\r\n <tr class=\"mat-row\">\r\n <th></th>\r\n <th *ngFor=\"let column of columns; let x = index\" (mouseenter)=\"move(x + 1, -2)\" class=\"mat-header-cell\">\r\n {{ column.value }}\r\n </th>\r\n <th></th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <!-- indices -->\r\n <tr class=\"mat-row cube-index\" *ngFor=\"let index of indices; let y = index\">\r\n <th class=\"mat-header-cell\" (mouseenter)=\"move(0, y)\">{{index.title}}</th>\r\n <td *ngFor=\"let column of columns; let x = index\" class=\"mat-cell figure\" (mouseenter)=\"move(x + 1, y)\">\r\n <span *ngIf=\"data[index.name] && data[index.name][column.key]; else zero\">{{ data[index.name][column.key] | number : PRECISION }}</span>\r\n </td>\r\n <th class=\"mat-cell figure\" (mouseenter)=\"move(0, y)\" [ngSwitch]=\"!CURRENCY\">\r\n <ng-container *ngSwitchCase=\"true\">\r\n {{ data[index.name]['_total'] | number : PRECISION }}\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n {{ data[index.name]['_total'] | currency : CURRENCY: 'symbol' : PRECISION }}\r\n </ng-container>\r\n </th>\r\n </tr>\r\n </tbody>\r\n <tbody>\r\n <!-- rows -->\r\n <tr *ngFor=\"let row of rows; let y = index\" class=\"mat-row\">\r\n <th class=\"mat-header-cell\" (mouseenter)=\"move(-2, y + indices.length)\">{{ row.value }}</th>\r\n <td *ngFor=\"let column of columns; let x = index\" class=\"mat-cell figure\" (mouseenter)=\"move(x + 1, y + indices.length)\">\r\n <ng-container *ngIf=\"data[row.key] && data[row.key][column.key] !== undefined; else zero\">\r\n <span [class.clickable]=\"interactive\" (click)=\"explore(column.key, row.key)\">\r\n {{data[row.key][column.key] | number : PRECISION }}\r\n </span>\r\n </ng-container>\r\n </td>\r\n <th class=\"mat-cell figure\" (mouseenter)=\"move(-1, y + indices.length)\" [ngSwitch]=\"!CURRENCY\">\r\n <ng-container *ngSwitchCase=\"true\">\r\n {{ data[row.key]['_total'] | number : PRECISION }}\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n {{ data[row.key]['_total'] | currency : CURRENCY: 'symbol' : PRECISION }}\r\n </ng-container>\r\n </th>\r\n </tr>\r\n </tbody>\r\n <tfoot>\r\n <!-- available -->\r\n <tr>\r\n <th></th>\r\n <td *ngFor=\"let column of columns; let x = index\" class=\"mat-cell figure\" (mouseenter)=\"move(x + 1, -2)\"\r\n [class.negative-figure]=\"totals[column.key] < 0\">\r\n {{totals[column.key] | currency : CURRENCY: 'symbol' : PRECISION }}\r\n </td>\r\n <th class=\"mat-cell figure\">{{totals['_total'] | currency : CURRENCY: 'symbol' : PRECISION }}</th>\r\n </tr>\r\n </tfoot>\r\n</table>\r\n<ng-template #zero>\r\n 0\r\n</ng-template>\r\n", styles: [".clickable{cursor:pointer}.cube-table{width:100%;display:inline-table;border-collapse:collapse}.cube-table th{cursor:default}.cube-table th.figure{font-weight:500}.cube-table td{padding-right:4px}\n"] }]
14296
14382
  }], ctorParameters: function () { return [{ type: PromptService }, { type: CubeService }, { type: SessionService }, { type: DatasourceService }]; }, propDecorators: { tableElement: [{
14297
14383
  type: ViewChild,
14298
14384
  args: ['table']
@@ -14302,16 +14388,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
14302
14388
  }], _xAxis: [{
14303
14389
  type: Input,
14304
14390
  args: ['xAxis']
14305
- }], _serie: [{
14391
+ }], _series: [{
14306
14392
  type: Input,
14307
- args: ['serie']
14308
- }], indices: [{
14309
- type: Input
14393
+ args: ['series']
14394
+ }], _indices: [{
14395
+ type: Input,
14396
+ args: ['indices']
14310
14397
  }], scope: [{
14311
14398
  type: Input
14312
14399
  }], sum: [{
14313
14400
  type: Input
14314
- }], axes: [{
14401
+ }], filters: [{
14315
14402
  type: Input
14316
14403
  }], loading: [{
14317
14404
  type: Input
@@ -14322,11 +14409,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
14322
14409
  args: ['explore']
14323
14410
  }], loadingChange: [{
14324
14411
  type: Output
14325
- }] } });
14326
- class CubeInfoCellArgs {
14327
- get value() { return this._value; }
14328
- get summary() { return this._summary; }
14329
- }
14412
+ }] } });
14330
14413
 
14331
14414
  class CubeMatrixBase {
14332
14415
  constructor(_service, _ds, _session) {
@@ -14501,7 +14584,7 @@ class CubeMatrixPaneComponent extends CubeMatrixBase {
14501
14584
  if (this.configuration.icon)
14502
14585
  this._pane.icon = this.configuration.icon;
14503
14586
  this.xAxis = p['xAxis'];
14504
- this.serie = p['serie'];
14587
+ this.series = p['series'];
14505
14588
  });
14506
14589
  this._pane.dataChange.subscribe(d => {
14507
14590
  this.indices = d['indices'];
@@ -14525,12 +14608,12 @@ class CubeMatrixPaneComponent extends CubeMatrixBase {
14525
14608
  }
14526
14609
  }
14527
14610
  CubeMatrixPaneComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CubeMatrixPaneComponent, deps: [{ token: PaneRef }, { token: PanesRouter }, { token: TranslateService }, { token: CubeService }, { token: DatasourceService }, { token: SessionService }], target: i0.ɵɵFactoryTarget.Component });
14528
- CubeMatrixPaneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: CubeMatrixPaneComponent, selector: "ng-component", host: { classAttribute: "pane" }, usesInheritance: true, ngImport: i0, template: "<mat-toolbar class=\"nav-toolbar\">\r\n <button mat-icon-button (click)=\"table.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [matMenuTriggerFor]=\"options\" *ngIf=\"patterns && patterns.length\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\r\n <mat-menu #options xPosition=\"before\">\r\n <!-- patterns -->\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"aggregate(p)\">{{p.title}}</button>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"reset()\" [disabled]=\"!pattern\" [bizdocTooltip]=\"'Clear' | translate\">\r\n <mat-icon>clear_all</mat-icon>\r\n </button>\r\n <!-- filters -->\r\n <ng-container *ngFor=\"let f of filters\">\r\n <button mat-button [matMenuTriggerFor]=\"fmenu\">{{values[f.name]| typeValue : f.dataType | async}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #fmenu xPosition=\"before\">\r\n <button mat-menu-item *ngFor=\"let kv of sources[f.name] | async\"\r\n (click)=\"filter(f.name, kv.key, kv.value)\">\r\n {{kv.value}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n</mat-toolbar>\r\n<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\r\n<bizdoc-cube-matrix [cube]=\"cube\" [xAxis]=\"xAxis\" [serie]=\"serie\" [indices]=\"indices\" [sum]=sum\r\n [axes]=\"axes\"\r\n [(loading)]=\"loading\" (explore)='explore($event)'></bizdoc-cube-matrix>\r\n", styles: [":host{min-width:450px}:host ::ng-deep .cube-table thead{position:sticky;top:0}\n"], components: [{ type: i7$4.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { type: i7$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i7$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i8$1.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i8$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i11$1.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { type: CubeMatrixComponent, selector: "bizdoc-cube-matrix", inputs: ["cube", "xAxis", "serie", "indices", "scope", "sum", "axes", "loading", "interactive"], outputs: ["explore", "loadingChange"] }], directives: [{ type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { type: MatIconAnimate, selector: "[matAnimate]" }, { type: i10$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i10$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": TranslatePipe, "async": i10$1.AsyncPipe, "typeValue": TypeValuePipe } });
14611
+ CubeMatrixPaneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: CubeMatrixPaneComponent, selector: "ng-component", host: { classAttribute: "pane" }, usesInheritance: true, ngImport: i0, template: "<mat-toolbar class=\"nav-toolbar\">\r\n <button mat-icon-button (click)=\"table.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [matMenuTriggerFor]=\"options\" *ngIf=\"patterns && patterns.length\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\r\n <mat-menu #options xPosition=\"before\">\r\n <!-- patterns -->\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"aggregate(p)\">{{p.title}}</button>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"reset()\" [disabled]=\"!pattern\" [bizdocTooltip]=\"'Clear' | translate\">\r\n <mat-icon>clear_all</mat-icon>\r\n </button>\r\n <!-- filters -->\r\n <ng-container *ngFor=\"let f of filters\">\r\n <button mat-button [matMenuTriggerFor]=\"fmenu\">{{values[f.name]| typeValue : f.dataType | async}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #fmenu xPosition=\"before\">\r\n <button mat-menu-item *ngFor=\"let kv of sources[f.name] | async\"\r\n (click)=\"filter(f.name, kv.key, kv.value)\">\r\n {{kv.value}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n</mat-toolbar>\r\n<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\r\n<bizdoc-cube-matrix [cube]=\"cube\" [xAxis]=\"xAxis\" [series]=\"series\" [indices]=\"indices\" [sum]=sum\r\n [filters]=\"axes\"\r\n [(loading)]=\"loading\" (explore)='explore($event)'></bizdoc-cube-matrix>\r\n", styles: [":host{min-width:450px}:host ::ng-deep .cube-table thead{position:sticky;top:0}\n"], components: [{ type: i7$4.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { type: i7$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i7$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i8$1.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i8$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i11$1.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { type: CubeMatrixComponent, selector: "bizdoc-cube-matrix", inputs: ["cube", "xAxis", "series", "indices", "scope", "sum", "filters", "loading", "interactive"], outputs: ["explore", "loadingChange"] }], directives: [{ type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { type: MatIconAnimate, selector: "[matAnimate]" }, { type: i10$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i10$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": TranslatePipe, "async": i10$1.AsyncPipe, "typeValue": TypeValuePipe } });
14529
14612
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CubeMatrixPaneComponent, decorators: [{
14530
14613
  type: Component,
14531
14614
  args: [{ host: {
14532
14615
  class: 'pane'
14533
- }, template: "<mat-toolbar class=\"nav-toolbar\">\r\n <button mat-icon-button (click)=\"table.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [matMenuTriggerFor]=\"options\" *ngIf=\"patterns && patterns.length\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\r\n <mat-menu #options xPosition=\"before\">\r\n <!-- patterns -->\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"aggregate(p)\">{{p.title}}</button>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"reset()\" [disabled]=\"!pattern\" [bizdocTooltip]=\"'Clear' | translate\">\r\n <mat-icon>clear_all</mat-icon>\r\n </button>\r\n <!-- filters -->\r\n <ng-container *ngFor=\"let f of filters\">\r\n <button mat-button [matMenuTriggerFor]=\"fmenu\">{{values[f.name]| typeValue : f.dataType | async}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #fmenu xPosition=\"before\">\r\n <button mat-menu-item *ngFor=\"let kv of sources[f.name] | async\"\r\n (click)=\"filter(f.name, kv.key, kv.value)\">\r\n {{kv.value}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n</mat-toolbar>\r\n<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\r\n<bizdoc-cube-matrix [cube]=\"cube\" [xAxis]=\"xAxis\" [serie]=\"serie\" [indices]=\"indices\" [sum]=sum\r\n [axes]=\"axes\"\r\n [(loading)]=\"loading\" (explore)='explore($event)'></bizdoc-cube-matrix>\r\n", styles: [":host{min-width:450px}:host ::ng-deep .cube-table thead{position:sticky;top:0}\n"] }]
14616
+ }, template: "<mat-toolbar class=\"nav-toolbar\">\r\n <button mat-icon-button (click)=\"table.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [matMenuTriggerFor]=\"options\" *ngIf=\"patterns && patterns.length\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\r\n <mat-menu #options xPosition=\"before\">\r\n <!-- patterns -->\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"aggregate(p)\">{{p.title}}</button>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"reset()\" [disabled]=\"!pattern\" [bizdocTooltip]=\"'Clear' | translate\">\r\n <mat-icon>clear_all</mat-icon>\r\n </button>\r\n <!-- filters -->\r\n <ng-container *ngFor=\"let f of filters\">\r\n <button mat-button [matMenuTriggerFor]=\"fmenu\">{{values[f.name]| typeValue : f.dataType | async}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #fmenu xPosition=\"before\">\r\n <button mat-menu-item *ngFor=\"let kv of sources[f.name] | async\"\r\n (click)=\"filter(f.name, kv.key, kv.value)\">\r\n {{kv.value}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n</mat-toolbar>\r\n<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\r\n<bizdoc-cube-matrix [cube]=\"cube\" [xAxis]=\"xAxis\" [series]=\"series\" [indices]=\"indices\" [sum]=sum\r\n [filters]=\"axes\"\r\n [(loading)]=\"loading\" (explore)='explore($event)'></bizdoc-cube-matrix>\r\n", styles: [":host{min-width:450px}:host ::ng-deep .cube-table thead{position:sticky;top:0}\n"] }]
14534
14617
  }], ctorParameters: function () { return [{ type: PaneRef }, { type: PanesRouter }, { type: TranslateService }, { type: CubeService }, { type: DatasourceService }, { type: SessionService }]; } });
14535
14618
 
14536
14619
  const NOTIFICATION_DATA = new InjectionToken('notification');
@@ -18434,7 +18517,7 @@ const PANES_CONFIG = [{
18434
18517
  }]
18435
18518
  },
18436
18519
  {
18437
- path: ':cube/i/:xAxis/:serie',
18520
+ path: ':cube/i/:xAxis/:series',
18438
18521
  icon: 'bar_chart',
18439
18522
  component: CubeMatrixPaneComponent,
18440
18523
  policy: OpenPolicy.Tab
@@ -18846,10 +18929,10 @@ class CubeMobileViewComponent extends ViewBase {
18846
18929
  }
18847
18930
  }
18848
18931
  CubeMobileViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CubeMobileViewComponent, deps: [{ token: SessionService }, { token: RouterImpl }, { token: CubeService }, { token: GuideService }, { token: PromptService }, { token: WindowTitleService }, { token: i1$7.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
18849
- CubeMobileViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: CubeMobileViewComponent, selector: "ng-component", viewQueries: [{ propertyName: "viewPane", first: true, predicate: CubeViewComponent, descendants: true, static: true }, { propertyName: "drawer", first: true, predicate: MatSidenav, descendants: true, static: true }, { propertyName: "explorePane", first: true, predicate: ExploreItemsComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<mat-toolbar class=\"nav-toolbar\">\r\n <button mat-icon-button (click)=\"guide()\" [bizdocTooltip]=\"'Help' | translate\" *ngIf=\"view.guide\"><mat-icon>help_outline</mat-icon></button>\r\n <button mat-icon-button (click)=\"viewPane.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [matMenuTriggerFor]=\"pmenu\" [bizdocTooltip]=\"'Patterns' | translate\" [disabled]=\"!patterns?.length\" data-help=\"pattern\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\r\n <mat-menu #pmenu>\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"patternChange(p)\">\r\n <span>{{p.title}}</span>\r\n </button>\r\n </mat-menu>\r\n <button mat-icon-button [matMenuTriggerFor]=\"menu\" [bizdocTooltip]=\"'Download' | translate\" data-help=\"download\"><mat-icon>save_alt</mat-icon></button>\r\n <mat-menu #menu>\r\n <button mat-menu-item (click)=\"viewPane.exportToExcel()\">{{'DownloadExcel' | translate}}</button>\r\n <ng-container *ngIf=\"mode === 'explore'\">\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"explorePane.exportExcel()\">{{'DownloadExplore' | translate}}</button>\r\n </ng-container>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"clearFilter()\" [bizdocTooltip]=\"'Clear' | translate\" [disabled]=\"!anyFilters\"><mat-icon>clear_all</mat-icon></button>\r\n <button mat-icon-button (click)=\"toggleFilter()\" [bizdocTooltip]=\"'Filter' | translate\" [disabled]=\"!anyAxes\" data-help=\"filter\"><mat-icon>filter_list</mat-icon></button>\r\n</mat-toolbar>\r\n<mat-sidenav-container class=\"page-container\" autosize>\r\n <mat-sidenav mode=\"over\" position=\"end\" [opened]=\"false\">\r\n <ng-container [ngSwitch]=\"mode\">\r\n <bizdoc-cube-explore *ngSwitchCase=\"'explore'\" [cube]=\"cube.name\" [index]=\"index\" [scope]=\"scope\"\r\n (explore)=\"exploreItem($event)\" #explorePane [(loading)]=\"loading\"></bizdoc-cube-explore>\r\n <bizdoc-cube-item *ngSwitchCase=\"'item'\" [template]=\"template\" [model]=\"item\"></bizdoc-cube-item>\r\n <bizdoc-cube-filter *ngSwitchDefault [cube]=\"cube.name\" [axes]=\"axes\" [exclude]=\"exclude\" (axesChange)=\"filterChange($event)\"></bizdoc-cube-filter>\r\n </ng-container>\r\n </mat-sidenav>\r\n <mat-sidenav-content>\r\n <bizdoc-cube-view [axes]=\"axes\" #viewPane\r\n (explore)=\"explore($event)\"\r\n [cube]=\"cube\"\r\n [view]=\"view\"\r\n [(loading)]=\"loading\"></bizdoc-cube-view>\r\n </mat-sidenav-content>\r\n</mat-sidenav-container>\r\n", styles: [":host ::ng-deep .mat-sidenav-container .mat-sidenav-content{overflow:hidden}:host ::ng-deep .e-pivot-context-menu{display:none}\n"], components: [{ type: i7$4.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { type: i7$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i7$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i8$1.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i8$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i12.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { type: i9$3.MatSidenavContainer, selector: "mat-sidenav-container", exportAs: ["matSidenavContainer"] }, { type: i9$3.MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { type: ExploreItemsComponent, selector: "bizdoc-cube-explore", inputs: ["cube", "index", "scope", "axes", "loading"], outputs: ["explore", "load", "loadingChange"] }, { type: ExploreItemImplComponent, selector: "bizdoc-cube-item", inputs: ["template", "model"] }, { type: CubeFilterComponent, selector: "bizdoc-cube-filter", inputs: ["cube", "exclude", "include", "axes"], outputs: ["axesChange"] }, { type: i9$3.MatSidenavContent, selector: "mat-sidenav-content" }, { type: CubeViewComponent, selector: "bizdoc-cube-view", inputs: ["axes", "cube", "view", "loading"], outputs: ["explore", "loadingChange"] }], directives: [{ type: i10$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { type: MatIconAnimate, selector: "[matAnimate]" }, { type: i8$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i10$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i10$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i10$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i10$1.NgSwitchDefault, selector: "[ngSwitchDefault]" }], pipes: { "translate": TranslatePipe } });
18932
+ CubeMobileViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: CubeMobileViewComponent, selector: "ng-component", viewQueries: [{ propertyName: "viewPane", first: true, predicate: CubeViewComponent, descendants: true, static: true }, { propertyName: "drawer", first: true, predicate: MatSidenav, descendants: true, static: true }, { propertyName: "explorePane", first: true, predicate: ExploreItemsComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<mat-toolbar class=\"nav-toolbar\">\r\n <button mat-icon-button (click)=\"guide()\" [bizdocTooltip]=\"'Help' | translate\" *ngIf=\"view.guide\"><mat-icon>help_outline</mat-icon></button>\r\n <button mat-icon-button (click)=\"viewPane.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [matMenuTriggerFor]=\"pmenu\" [bizdocTooltip]=\"'Patterns' | translate\" [disabled]=\"!patterns?.length\" data-help=\"pattern\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\r\n <mat-menu #pmenu>\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"patternChange(p)\">\r\n <span>{{p.title}}</span>\r\n </button>\r\n </mat-menu>\r\n <button mat-icon-button [matMenuTriggerFor]=\"menu\" [bizdocTooltip]=\"'Download' | translate\" data-help=\"download\"><mat-icon>save_alt</mat-icon></button>\r\n <mat-menu #menu>\r\n <button mat-menu-item (click)=\"viewPane.exportToExcel()\">{{'DownloadExcel' | translate}}</button>\r\n <ng-container *ngIf=\"mode === 'explore'\">\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"explorePane.exportExcel()\">{{'DownloadExplore' | translate}}</button>\r\n </ng-container>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"clearFilter()\" [bizdocTooltip]=\"'Clear' | translate\" [disabled]=\"!anyFilters\"><mat-icon>clear_all</mat-icon></button>\r\n <button mat-icon-button (click)=\"toggleFilter()\" [bizdocTooltip]=\"'Filter' | translate\" [disabled]=\"!anyAxes\" data-help=\"filter\"><mat-icon>filter_list</mat-icon></button>\r\n</mat-toolbar>\r\n<mat-sidenav-container class=\"page-container\" autosize>\r\n <mat-sidenav mode=\"over\" position=\"end\" [opened]=\"false\">\r\n <ng-container [ngSwitch]=\"mode\">\r\n <bizdoc-cube-explore *ngSwitchCase=\"'explore'\" [cube]=\"cube.name\" [index]=\"index\" [scope]=\"scope\"\r\n (explore)=\"exploreItem($event)\" #explorePane [(loading)]=\"loading\"></bizdoc-cube-explore>\r\n <bizdoc-cube-item *ngSwitchCase=\"'item'\" [template]=\"template\" [model]=\"item\"></bizdoc-cube-item>\r\n <bizdoc-cube-filter *ngSwitchDefault [cube]=\"cube.name\" [axes]=\"axes\" [exclude]=\"exclude\" (axesChange)=\"filterChange($event)\"></bizdoc-cube-filter>\r\n </ng-container>\r\n </mat-sidenav>\r\n <mat-sidenav-content>\r\n <bizdoc-cube-view [filters]=\"axes\" #viewPane\r\n (explore)=\"explore($event)\"\r\n [cube]=\"cube\"\r\n [view]=\"view\"\r\n [(loading)]=\"loading\"></bizdoc-cube-view>\r\n </mat-sidenav-content>\r\n</mat-sidenav-container>\r\n", styles: [":host ::ng-deep .mat-sidenav-container .mat-sidenav-content{overflow:hidden}:host ::ng-deep .e-pivot-context-menu{display:none}\n"], components: [{ type: i7$4.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { type: i7$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i7$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i8$1.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i8$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i12.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { type: i9$3.MatSidenavContainer, selector: "mat-sidenav-container", exportAs: ["matSidenavContainer"] }, { type: i9$3.MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { type: ExploreItemsComponent, selector: "bizdoc-cube-explore", inputs: ["cube", "index", "scope", "axes", "loading"], outputs: ["explore", "load", "loadingChange"] }, { type: ExploreItemImplComponent, selector: "bizdoc-cube-item", inputs: ["template", "model"] }, { type: CubeFilterComponent, selector: "bizdoc-cube-filter", inputs: ["cube", "exclude", "include", "axes"], outputs: ["axesChange"] }, { type: i9$3.MatSidenavContent, selector: "mat-sidenav-content" }, { type: CubeViewComponent, selector: "bizdoc-cube-view", inputs: ["filters", "cube", "view", "loading"], outputs: ["explore", "loadingChange"] }], directives: [{ type: i10$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { type: MatIconAnimate, selector: "[matAnimate]" }, { type: i8$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i10$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i10$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i10$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i10$1.NgSwitchDefault, selector: "[ngSwitchDefault]" }], pipes: { "translate": TranslatePipe } });
18850
18933
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CubeMobileViewComponent, decorators: [{
18851
18934
  type: Component,
18852
- args: [{ template: "<mat-toolbar class=\"nav-toolbar\">\r\n <button mat-icon-button (click)=\"guide()\" [bizdocTooltip]=\"'Help' | translate\" *ngIf=\"view.guide\"><mat-icon>help_outline</mat-icon></button>\r\n <button mat-icon-button (click)=\"viewPane.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [matMenuTriggerFor]=\"pmenu\" [bizdocTooltip]=\"'Patterns' | translate\" [disabled]=\"!patterns?.length\" data-help=\"pattern\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\r\n <mat-menu #pmenu>\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"patternChange(p)\">\r\n <span>{{p.title}}</span>\r\n </button>\r\n </mat-menu>\r\n <button mat-icon-button [matMenuTriggerFor]=\"menu\" [bizdocTooltip]=\"'Download' | translate\" data-help=\"download\"><mat-icon>save_alt</mat-icon></button>\r\n <mat-menu #menu>\r\n <button mat-menu-item (click)=\"viewPane.exportToExcel()\">{{'DownloadExcel' | translate}}</button>\r\n <ng-container *ngIf=\"mode === 'explore'\">\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"explorePane.exportExcel()\">{{'DownloadExplore' | translate}}</button>\r\n </ng-container>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"clearFilter()\" [bizdocTooltip]=\"'Clear' | translate\" [disabled]=\"!anyFilters\"><mat-icon>clear_all</mat-icon></button>\r\n <button mat-icon-button (click)=\"toggleFilter()\" [bizdocTooltip]=\"'Filter' | translate\" [disabled]=\"!anyAxes\" data-help=\"filter\"><mat-icon>filter_list</mat-icon></button>\r\n</mat-toolbar>\r\n<mat-sidenav-container class=\"page-container\" autosize>\r\n <mat-sidenav mode=\"over\" position=\"end\" [opened]=\"false\">\r\n <ng-container [ngSwitch]=\"mode\">\r\n <bizdoc-cube-explore *ngSwitchCase=\"'explore'\" [cube]=\"cube.name\" [index]=\"index\" [scope]=\"scope\"\r\n (explore)=\"exploreItem($event)\" #explorePane [(loading)]=\"loading\"></bizdoc-cube-explore>\r\n <bizdoc-cube-item *ngSwitchCase=\"'item'\" [template]=\"template\" [model]=\"item\"></bizdoc-cube-item>\r\n <bizdoc-cube-filter *ngSwitchDefault [cube]=\"cube.name\" [axes]=\"axes\" [exclude]=\"exclude\" (axesChange)=\"filterChange($event)\"></bizdoc-cube-filter>\r\n </ng-container>\r\n </mat-sidenav>\r\n <mat-sidenav-content>\r\n <bizdoc-cube-view [axes]=\"axes\" #viewPane\r\n (explore)=\"explore($event)\"\r\n [cube]=\"cube\"\r\n [view]=\"view\"\r\n [(loading)]=\"loading\"></bizdoc-cube-view>\r\n </mat-sidenav-content>\r\n</mat-sidenav-container>\r\n", styles: [":host ::ng-deep .mat-sidenav-container .mat-sidenav-content{overflow:hidden}:host ::ng-deep .e-pivot-context-menu{display:none}\n"] }]
18935
+ args: [{ template: "<mat-toolbar class=\"nav-toolbar\">\r\n <button mat-icon-button (click)=\"guide()\" [bizdocTooltip]=\"'Help' | translate\" *ngIf=\"view.guide\"><mat-icon>help_outline</mat-icon></button>\r\n <button mat-icon-button (click)=\"viewPane.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [matMenuTriggerFor]=\"pmenu\" [bizdocTooltip]=\"'Patterns' | translate\" [disabled]=\"!patterns?.length\" data-help=\"pattern\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\r\n <mat-menu #pmenu>\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"patternChange(p)\">\r\n <span>{{p.title}}</span>\r\n </button>\r\n </mat-menu>\r\n <button mat-icon-button [matMenuTriggerFor]=\"menu\" [bizdocTooltip]=\"'Download' | translate\" data-help=\"download\"><mat-icon>save_alt</mat-icon></button>\r\n <mat-menu #menu>\r\n <button mat-menu-item (click)=\"viewPane.exportToExcel()\">{{'DownloadExcel' | translate}}</button>\r\n <ng-container *ngIf=\"mode === 'explore'\">\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"explorePane.exportExcel()\">{{'DownloadExplore' | translate}}</button>\r\n </ng-container>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"clearFilter()\" [bizdocTooltip]=\"'Clear' | translate\" [disabled]=\"!anyFilters\"><mat-icon>clear_all</mat-icon></button>\r\n <button mat-icon-button (click)=\"toggleFilter()\" [bizdocTooltip]=\"'Filter' | translate\" [disabled]=\"!anyAxes\" data-help=\"filter\"><mat-icon>filter_list</mat-icon></button>\r\n</mat-toolbar>\r\n<mat-sidenav-container class=\"page-container\" autosize>\r\n <mat-sidenav mode=\"over\" position=\"end\" [opened]=\"false\">\r\n <ng-container [ngSwitch]=\"mode\">\r\n <bizdoc-cube-explore *ngSwitchCase=\"'explore'\" [cube]=\"cube.name\" [index]=\"index\" [scope]=\"scope\"\r\n (explore)=\"exploreItem($event)\" #explorePane [(loading)]=\"loading\"></bizdoc-cube-explore>\r\n <bizdoc-cube-item *ngSwitchCase=\"'item'\" [template]=\"template\" [model]=\"item\"></bizdoc-cube-item>\r\n <bizdoc-cube-filter *ngSwitchDefault [cube]=\"cube.name\" [axes]=\"axes\" [exclude]=\"exclude\" (axesChange)=\"filterChange($event)\"></bizdoc-cube-filter>\r\n </ng-container>\r\n </mat-sidenav>\r\n <mat-sidenav-content>\r\n <bizdoc-cube-view [filters]=\"axes\" #viewPane\r\n (explore)=\"explore($event)\"\r\n [cube]=\"cube\"\r\n [view]=\"view\"\r\n [(loading)]=\"loading\"></bizdoc-cube-view>\r\n </mat-sidenav-content>\r\n</mat-sidenav-container>\r\n", styles: [":host ::ng-deep .mat-sidenav-container .mat-sidenav-content{overflow:hidden}:host ::ng-deep .e-pivot-context-menu{display:none}\n"] }]
18853
18936
  }], ctorParameters: function () { return [{ type: SessionService }, { type: RouterImpl }, { type: CubeService }, { type: GuideService }, { type: PromptService }, { type: WindowTitleService }, { type: i1$7.ActivatedRoute }]; }, propDecorators: { viewPane: [{
18854
18937
  type: ViewChild,
18855
18938
  args: [CubeViewComponent, { static: true }]
@@ -18967,7 +19050,7 @@ class CubeMatrixMobileComponent extends CubeMatrixBase {
18967
19050
  this._route.params.subscribe(p => {
18968
19051
  this.cube = p['id'];
18969
19052
  this.xAxis = p['xAxis'];
18970
- this.serie = p['serie'];
19053
+ this.series = p['series'];
18971
19054
  this._title.set(this.configuration.title);
18972
19055
  });
18973
19056
  this._route.data.subscribe(d => {
@@ -18990,10 +19073,10 @@ class CubeMatrixMobileComponent extends CubeMatrixBase {
18990
19073
  }
18991
19074
  }
18992
19075
  CubeMatrixMobileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CubeMatrixMobileComponent, deps: [{ token: WindowTitleService }, { token: i1$7.ActivatedRoute }, { token: i1$7.Router }, { token: CubeService }, { token: DatasourceService }, { token: SessionService }], target: i0.ɵɵFactoryTarget.Component });
18993
- CubeMatrixMobileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: CubeMatrixMobileComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<mat-toolbar class=\"nav-toolbar\">\r\n <button mat-icon-button (click)=\"table.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [matMenuTriggerFor]=\"options\" *ngIf=\"patterns && patterns.length\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\r\n <mat-menu #options xPosition=\"before\">\r\n <!-- patterns -->\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"aggregate(p)\">{{p.title}}</button>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"reset()\" [disabled]=\"!pattern\" [bizdocTooltip]=\"'Clear' | translate\">\r\n <mat-icon>clear_all</mat-icon>\r\n </button>\r\n <!-- filters -->\r\n <ng-container *ngFor=\"let f of filters\">\r\n <button mat-button [matMenuTriggerFor]=\"fmenu\">{{values[f.name]| typeValue : f.dataType | async}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #fmenu xPosition=\"before\">\r\n <button mat-menu-item *ngFor=\"let kv of sources[f.name] | async\"\r\n (click)=\"filter(f.name, kv.key, kv.value)\">\r\n {{kv.value}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n</mat-toolbar>\r\n<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\r\n<bizdoc-cube-matrix [cube]=\"cube\" [xAxis]=\"xAxis\" [serie]=\"serie\" [indices]=\"indices\" [sum]=sum\r\n [axes]=\"axes\"\r\n [(loading)]=\"loading\" (explore)='explore($event)'></bizdoc-cube-matrix>\r\n", styles: [":host{min-width:450px}:host ::ng-deep .cube-table thead{position:sticky;top:0}\n"], components: [{ type: i7$4.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { type: i7$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i7$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i8$1.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i8$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i11$1.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { type: CubeMatrixComponent, selector: "bizdoc-cube-matrix", inputs: ["cube", "xAxis", "serie", "indices", "scope", "sum", "axes", "loading", "interactive"], outputs: ["explore", "loadingChange"] }], directives: [{ type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { type: MatIconAnimate, selector: "[matAnimate]" }, { type: i10$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i10$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": TranslatePipe, "async": i10$1.AsyncPipe, "typeValue": TypeValuePipe } });
19076
+ CubeMatrixMobileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: CubeMatrixMobileComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<mat-toolbar class=\"nav-toolbar\">\r\n <button mat-icon-button (click)=\"table.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [matMenuTriggerFor]=\"options\" *ngIf=\"patterns && patterns.length\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\r\n <mat-menu #options xPosition=\"before\">\r\n <!-- patterns -->\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"aggregate(p)\">{{p.title}}</button>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"reset()\" [disabled]=\"!pattern\" [bizdocTooltip]=\"'Clear' | translate\">\r\n <mat-icon>clear_all</mat-icon>\r\n </button>\r\n <!-- filters -->\r\n <ng-container *ngFor=\"let f of filters\">\r\n <button mat-button [matMenuTriggerFor]=\"fmenu\">{{values[f.name]| typeValue : f.dataType | async}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #fmenu xPosition=\"before\">\r\n <button mat-menu-item *ngFor=\"let kv of sources[f.name] | async\"\r\n (click)=\"filter(f.name, kv.key, kv.value)\">\r\n {{kv.value}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n</mat-toolbar>\r\n<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\r\n<bizdoc-cube-matrix [cube]=\"cube\" [xAxis]=\"xAxis\" [series]=\"series\" [indices]=\"indices\" [sum]=sum\r\n [filters]=\"axes\"\r\n [(loading)]=\"loading\" (explore)='explore($event)'></bizdoc-cube-matrix>\r\n", styles: [":host{min-width:450px}:host ::ng-deep .cube-table thead{position:sticky;top:0}\n"], components: [{ type: i7$4.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { type: i7$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i7$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i8$1.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i8$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i11$1.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { type: CubeMatrixComponent, selector: "bizdoc-cube-matrix", inputs: ["cube", "xAxis", "series", "indices", "scope", "sum", "filters", "loading", "interactive"], outputs: ["explore", "loadingChange"] }], directives: [{ type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { type: MatIconAnimate, selector: "[matAnimate]" }, { type: i10$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i10$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": TranslatePipe, "async": i10$1.AsyncPipe, "typeValue": TypeValuePipe } });
18994
19077
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CubeMatrixMobileComponent, decorators: [{
18995
19078
  type: Component,
18996
- args: [{ template: "<mat-toolbar class=\"nav-toolbar\">\r\n <button mat-icon-button (click)=\"table.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [matMenuTriggerFor]=\"options\" *ngIf=\"patterns && patterns.length\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\r\n <mat-menu #options xPosition=\"before\">\r\n <!-- patterns -->\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"aggregate(p)\">{{p.title}}</button>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"reset()\" [disabled]=\"!pattern\" [bizdocTooltip]=\"'Clear' | translate\">\r\n <mat-icon>clear_all</mat-icon>\r\n </button>\r\n <!-- filters -->\r\n <ng-container *ngFor=\"let f of filters\">\r\n <button mat-button [matMenuTriggerFor]=\"fmenu\">{{values[f.name]| typeValue : f.dataType | async}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #fmenu xPosition=\"before\">\r\n <button mat-menu-item *ngFor=\"let kv of sources[f.name] | async\"\r\n (click)=\"filter(f.name, kv.key, kv.value)\">\r\n {{kv.value}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n</mat-toolbar>\r\n<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\r\n<bizdoc-cube-matrix [cube]=\"cube\" [xAxis]=\"xAxis\" [serie]=\"serie\" [indices]=\"indices\" [sum]=sum\r\n [axes]=\"axes\"\r\n [(loading)]=\"loading\" (explore)='explore($event)'></bizdoc-cube-matrix>\r\n", styles: [":host{min-width:450px}:host ::ng-deep .cube-table thead{position:sticky;top:0}\n"] }]
19079
+ args: [{ template: "<mat-toolbar class=\"nav-toolbar\">\r\n <button mat-icon-button (click)=\"table.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [matMenuTriggerFor]=\"options\" *ngIf=\"patterns && patterns.length\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\r\n <mat-menu #options xPosition=\"before\">\r\n <!-- patterns -->\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"aggregate(p)\">{{p.title}}</button>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"reset()\" [disabled]=\"!pattern\" [bizdocTooltip]=\"'Clear' | translate\">\r\n <mat-icon>clear_all</mat-icon>\r\n </button>\r\n <!-- filters -->\r\n <ng-container *ngFor=\"let f of filters\">\r\n <button mat-button [matMenuTriggerFor]=\"fmenu\">{{values[f.name]| typeValue : f.dataType | async}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #fmenu xPosition=\"before\">\r\n <button mat-menu-item *ngFor=\"let kv of sources[f.name] | async\"\r\n (click)=\"filter(f.name, kv.key, kv.value)\">\r\n {{kv.value}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n</mat-toolbar>\r\n<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\r\n<bizdoc-cube-matrix [cube]=\"cube\" [xAxis]=\"xAxis\" [series]=\"series\" [indices]=\"indices\" [sum]=sum\r\n [filters]=\"axes\"\r\n [(loading)]=\"loading\" (explore)='explore($event)'></bizdoc-cube-matrix>\r\n", styles: [":host{min-width:450px}:host ::ng-deep .cube-table thead{position:sticky;top:0}\n"] }]
18997
19080
  }], ctorParameters: function () { return [{ type: WindowTitleService }, { type: i1$7.ActivatedRoute }, { type: i1$7.Router }, { type: CubeService }, { type: DatasourceService }, { type: SessionService }]; } });
18998
19081
 
18999
19082
  class DocumentInfoPageComponent {
@@ -19063,7 +19146,7 @@ const ROUTES = [
19063
19146
  component: CubeMobileViewComponent
19064
19147
  },
19065
19148
  {
19066
- path: 'i/:xAxis/:serie',
19149
+ path: 'i/:xAxis/:series',
19067
19150
  component: CubeMatrixMobileComponent,
19068
19151
  }]
19069
19152
  }, {
@@ -19111,7 +19194,7 @@ class SyncfusionChartModule {
19111
19194
  }
19112
19195
  SyncfusionChartModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SyncfusionChartModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
19113
19196
  SyncfusionChartModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SyncfusionChartModule, imports: [ChartModule, AccumulationChartAllModule, SparklineAllModule], exports: [ChartModule, AccumulationChartAllModule, SparklineAllModule] });
19114
- SyncfusionChartModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SyncfusionChartModule, providers: [LineSeriesService, ScatterSeriesService, ColumnSeriesService, SplineSeriesService,
19197
+ SyncfusionChartModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SyncfusionChartModule, providers: [AccumulationDistributionIndicatorService, FunnelSeriesService, StackingStepAreaSeriesService, PieSeriesService, PyramidSeriesService, LineSeriesService, ScatterSeriesService, ColumnSeriesService, SplineSeriesService,
19115
19198
  SplineAreaSeriesService, StripLineService, AreaSeriesService, ScrollBarService, StepLineSeriesService,
19116
19199
  StepAreaSeriesService, StackingColumnSeriesService, StackingLineSeriesService, StackingAreaSeriesService,
19117
19200
  BarSeriesService, StackingBarSeriesService, RangeColumnSeriesService, BubbleSeriesService, TooltipService,
@@ -19126,7 +19209,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
19126
19209
  args: [{
19127
19210
  imports: [ChartModule, AccumulationChartAllModule, SparklineAllModule],
19128
19211
  exports: [ChartModule, AccumulationChartAllModule, SparklineAllModule],
19129
- providers: [LineSeriesService, ScatterSeriesService, ColumnSeriesService, SplineSeriesService,
19212
+ providers: [AccumulationDistributionIndicatorService, FunnelSeriesService, StackingStepAreaSeriesService, PieSeriesService, PyramidSeriesService, LineSeriesService, ScatterSeriesService, ColumnSeriesService, SplineSeriesService,
19130
19213
  SplineAreaSeriesService, StripLineService, AreaSeriesService, ScrollBarService, StepLineSeriesService,
19131
19214
  StepAreaSeriesService, StackingColumnSeriesService, StackingLineSeriesService, StackingAreaSeriesService,
19132
19215
  BarSeriesService, StackingBarSeriesService, RangeColumnSeriesService, BubbleSeriesService, TooltipService,
@@ -19543,7 +19626,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
19543
19626
  }] } });
19544
19627
 
19545
19628
  /** cube matrix component*/
19546
- class CubeMatrixPageComponent extends CubeMatrixBase {
19629
+ class CubeMatrixPopupComponent extends CubeMatrixBase {
19547
19630
  /** filters */
19548
19631
  /** cube-info ctor */
19549
19632
  constructor(_ref, data, service, ds, session, _sb) {
@@ -19553,9 +19636,9 @@ class CubeMatrixPageComponent extends CubeMatrixBase {
19553
19636
  this.preloading = true;
19554
19637
  if (!data.options)
19555
19638
  throw 'no data options';
19556
- const { axes: base, options: { indices, xAxis, serie, filters, cube, sum } } = data;
19639
+ const { axes: base, options: { indices, xAxis, series, filters, cube, sum } } = data;
19557
19640
  this.cube = cube;
19558
- this.serie = serie;
19641
+ this.series = series;
19559
19642
  this.xAxis = xAxis;
19560
19643
  this.sum = sum;
19561
19644
  this.indices = indices;
@@ -19571,11 +19654,11 @@ class CubeMatrixPageComponent extends CubeMatrixBase {
19571
19654
  });
19572
19655
  }
19573
19656
  }
19574
- CubeMatrixPageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CubeMatrixPageComponent, deps: [{ token: PopupRef }, { token: POPUP_DATA }, { token: CubeService }, { token: DatasourceService }, { token: SessionService }, { token: PromptService }], target: i0.ɵɵFactoryTarget.Component });
19575
- CubeMatrixPageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: CubeMatrixPageComponent, selector: "ng-component", viewQueries: [{ propertyName: "table", first: true, predicate: CubeMatrixComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\r\n<div class=\"container\">\r\n <div class=\"row\" *ngIf=\"!preloading\">\r\n <span class=\"divider\"></span>\r\n <!-- title -->\r\n <button mat-icon-button [matMenuTriggerFor]=\"options\" *ngIf=\"patterns && patterns.length\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\r\n <mat-menu #options xPosition=\"before\">\r\n <!-- patterns -->\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"aggregate(p)\">{{p.title}}</button>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"reset()\" [disabled]=\"!pattern\" [bizdocTooltip]=\"'Clear' | translate\">\r\n <mat-icon>clear_all</mat-icon>\r\n </button>\r\n <!-- filters -->\r\n <ng-container *ngFor=\"let f of filters\">\r\n <button mat-button [matMenuTriggerFor]=\"fmenu\">{{values[f.name]| typeValue : f.dataType | async}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #fmenu xPosition=\"before\">\r\n <button mat-menu-item *ngFor=\"let kv of sources[f.name] | async\"\r\n (click)=\"filter(f.name, kv.key, kv.value)\">\r\n {{kv.value}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n </div>\r\n <bizdoc-cube-matrix [cube]=\"cube\" [xAxis]=\"xAxis\" [serie]=\"serie\" [indices]=\"indices\" [sum]=sum [interactive]=\"false\"\r\n [axes]=\"axes\" [(loading)]=\"loading\"></bizdoc-cube-matrix>\r\n</div>\r\n", styles: [".container{padding:8px}\n"], components: [{ type: i11$1.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { type: i7$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i7$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i8$1.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i8$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: CubeMatrixComponent, selector: "bizdoc-cube-matrix", inputs: ["cube", "xAxis", "serie", "indices", "scope", "sum", "axes", "loading", "interactive"], outputs: ["explore", "loadingChange"] }], directives: [{ type: i10$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i10$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }], pipes: { "translate": TranslatePipe, "async": i10$1.AsyncPipe, "typeValue": TypeValuePipe } });
19576
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CubeMatrixPageComponent, decorators: [{
19657
+ CubeMatrixPopupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CubeMatrixPopupComponent, deps: [{ token: PopupRef }, { token: POPUP_DATA }, { token: CubeService }, { token: DatasourceService }, { token: SessionService }, { token: PromptService }], target: i0.ɵɵFactoryTarget.Component });
19658
+ CubeMatrixPopupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: CubeMatrixPopupComponent, selector: "ng-component", viewQueries: [{ propertyName: "table", first: true, predicate: CubeMatrixComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\r\n<div class=\"container\">\r\n <div class=\"row\" *ngIf=\"!preloading\">\r\n <span class=\"divider\"></span>\r\n <!-- title -->\r\n <button mat-icon-button [matMenuTriggerFor]=\"options\" *ngIf=\"patterns && patterns.length\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\r\n <mat-menu #options xPosition=\"before\">\r\n <!-- patterns -->\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"aggregate(p)\">{{p.title}}</button>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"reset()\" [disabled]=\"!pattern\" [bizdocTooltip]=\"'Clear' | translate\">\r\n <mat-icon>clear_all</mat-icon>\r\n </button>\r\n <!-- filters -->\r\n <ng-container *ngFor=\"let f of filters\">\r\n <button mat-button [matMenuTriggerFor]=\"fmenu\">{{values[f.name]| typeValue : f.dataType | async}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #fmenu xPosition=\"before\">\r\n <button mat-menu-item *ngFor=\"let kv of sources[f.name] | async\"\r\n (click)=\"filter(f.name, kv.key, kv.value)\">\r\n {{kv.value}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n </div>\r\n <bizdoc-cube-matrix [cube]=\"cube\" [xAxis]=\"xAxis\" [series]=\"series\" [indices]=\"indices\" [sum]=sum [interactive]=\"false\"\r\n [filters]=\"axes\" [(loading)]=\"loading\"></bizdoc-cube-matrix>\r\n</div>\r\n", styles: [".container{padding:8px}\n"], components: [{ type: i11$1.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { type: i7$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i7$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i8$1.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i8$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: CubeMatrixComponent, selector: "bizdoc-cube-matrix", inputs: ["cube", "xAxis", "series", "indices", "scope", "sum", "filters", "loading", "interactive"], outputs: ["explore", "loadingChange"] }], directives: [{ type: i10$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i10$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }], pipes: { "translate": TranslatePipe, "async": i10$1.AsyncPipe, "typeValue": TypeValuePipe } });
19659
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CubeMatrixPopupComponent, decorators: [{
19577
19660
  type: Component,
19578
- args: [{ template: "<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\r\n<div class=\"container\">\r\n <div class=\"row\" *ngIf=\"!preloading\">\r\n <span class=\"divider\"></span>\r\n <!-- title -->\r\n <button mat-icon-button [matMenuTriggerFor]=\"options\" *ngIf=\"patterns && patterns.length\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\r\n <mat-menu #options xPosition=\"before\">\r\n <!-- patterns -->\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"aggregate(p)\">{{p.title}}</button>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"reset()\" [disabled]=\"!pattern\" [bizdocTooltip]=\"'Clear' | translate\">\r\n <mat-icon>clear_all</mat-icon>\r\n </button>\r\n <!-- filters -->\r\n <ng-container *ngFor=\"let f of filters\">\r\n <button mat-button [matMenuTriggerFor]=\"fmenu\">{{values[f.name]| typeValue : f.dataType | async}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #fmenu xPosition=\"before\">\r\n <button mat-menu-item *ngFor=\"let kv of sources[f.name] | async\"\r\n (click)=\"filter(f.name, kv.key, kv.value)\">\r\n {{kv.value}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n </div>\r\n <bizdoc-cube-matrix [cube]=\"cube\" [xAxis]=\"xAxis\" [serie]=\"serie\" [indices]=\"indices\" [sum]=sum [interactive]=\"false\"\r\n [axes]=\"axes\" [(loading)]=\"loading\"></bizdoc-cube-matrix>\r\n</div>\r\n", styles: [".container{padding:8px}\n"] }]
19661
+ args: [{ template: "<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\r\n<div class=\"container\">\r\n <div class=\"row\" *ngIf=\"!preloading\">\r\n <span class=\"divider\"></span>\r\n <!-- title -->\r\n <button mat-icon-button [matMenuTriggerFor]=\"options\" *ngIf=\"patterns && patterns.length\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\r\n <mat-menu #options xPosition=\"before\">\r\n <!-- patterns -->\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"aggregate(p)\">{{p.title}}</button>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"reset()\" [disabled]=\"!pattern\" [bizdocTooltip]=\"'Clear' | translate\">\r\n <mat-icon>clear_all</mat-icon>\r\n </button>\r\n <!-- filters -->\r\n <ng-container *ngFor=\"let f of filters\">\r\n <button mat-button [matMenuTriggerFor]=\"fmenu\">{{values[f.name]| typeValue : f.dataType | async}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #fmenu xPosition=\"before\">\r\n <button mat-menu-item *ngFor=\"let kv of sources[f.name] | async\"\r\n (click)=\"filter(f.name, kv.key, kv.value)\">\r\n {{kv.value}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n </div>\r\n <bizdoc-cube-matrix [cube]=\"cube\" [xAxis]=\"xAxis\" [series]=\"series\" [indices]=\"indices\" [sum]=sum [interactive]=\"false\"\r\n [filters]=\"axes\" [(loading)]=\"loading\"></bizdoc-cube-matrix>\r\n</div>\r\n", styles: [".container{padding:8px}\n"] }]
19579
19662
  }], ctorParameters: function () { return [{ type: PopupRef, decorators: [{
19580
19663
  type: Inject,
19581
19664
  args: [PopupRef]
@@ -19711,7 +19794,7 @@ class CubeInfo {
19711
19794
  this._cf = _cf;
19712
19795
  }
19713
19796
  navigate(axes, options) {
19714
- const { cube, view, serie, xAxis, filters, aggregate, indices, sum } = options || {};
19797
+ const { cube, view, series, xAxis, filters, aggregate, indices, sum } = options || {};
19715
19798
  const ccube = cube ? this._session.profile.cubes.find(c => c.name === cube) : this._session.profile.cubes[0];
19716
19799
  if (isArray(axes))
19717
19800
  axes = this._mapAxes(ccube, axes);
@@ -19720,7 +19803,7 @@ class CubeInfo {
19720
19803
  queryParams: axes
19721
19804
  });
19722
19805
  else {
19723
- this._router.navigate(['cube', ccube.name, 'i', xAxis, serie], {
19806
+ this._router.navigate(['cube', ccube.name, 'i', xAxis, series], {
19724
19807
  queryParams: axes,
19725
19808
  state: { indices, aggregate, filters, sum }
19726
19809
  });
@@ -19746,7 +19829,7 @@ class CubeInfo {
19746
19829
  else {
19747
19830
  if (!options)
19748
19831
  throw 'no options';
19749
- this._open(CubeMatrixPageComponent, element, {
19832
+ this._open(CubeMatrixPopupComponent, element, {
19750
19833
  axes,
19751
19834
  options
19752
19835
  });
@@ -20013,7 +20096,7 @@ class CubeChartAnalysisWidget extends CubeAnalysisBase {
20013
20096
  this._elementRef = _elementRef;
20014
20097
  this._translate = _translate;
20015
20098
  this.type = this._options.chartType || 'Column';
20016
- this.indexType = this._options.indexChartType || 'Line';
20099
+ this.indexType = this._options.indicesChartType || 'Line';
20017
20100
  this.marker = {
20018
20101
  visible: true,
20019
20102
  width: 10,
@@ -20152,6 +20235,8 @@ let CubeAnalysisWidget = class CubeAnalysisWidget {
20152
20235
  case 'Doughnut':
20153
20236
  case 'HalfDoughnut':
20154
20237
  case 'Pie':
20238
+ case 'Funnel':
20239
+ case 'Pyramid':
20155
20240
  comp = CubeAccumAnalysisWidget;
20156
20241
  break;
20157
20242
  default:
@@ -20236,13 +20321,17 @@ let CubeWidgetFilterComponent = class CubeWidgetFilterComponent {
20236
20321
  this._session = _session;
20237
20322
  this._fb = _fb;
20238
20323
  this.exclude = [];
20239
- const { xAxis, exclude, cube: name } = this._widgetRef.options;
20324
+ const { xAxis, series, exclude, cube: name } = this._widgetRef.options;
20240
20325
  this.cube = name;
20241
- if (xAxis) {
20242
- if (isArray(xAxis))
20243
- this.exclude = [...xAxis];
20326
+ if (isArray(xAxis))
20327
+ this.exclude = [...xAxis];
20328
+ else
20329
+ this.exclude.push(xAxis);
20330
+ if (series) {
20331
+ if (isArray(series))
20332
+ this.exclude = this.exclude.concat(series);
20244
20333
  else
20245
- this.exclude.push(xAxis);
20334
+ this.exclude.push(series);
20246
20335
  }
20247
20336
  if (exclude) {
20248
20337
  if (isArray(exclude))
@@ -22683,7 +22772,10 @@ class CombinationPickerBody {
22683
22772
  ...defaults
22684
22773
  };
22685
22774
  codes.slice(0, this._axes.length).forEach((a, i) => axes[this._axes[i].name] = a);
22686
- this._accountInfo.popup(axes, evt.srcElement, { ...this._data.exploreSettings, cube: this._cube.name });
22775
+ this._accountInfo.popup(axes, evt.srcElement, {
22776
+ ...this._data.exploreSettings,
22777
+ cube: this._cube.name
22778
+ });
22687
22779
  evt.cancelBubble = true;
22688
22780
  evt.preventDefault();
22689
22781
  evt.stopPropagation();
@@ -23687,11 +23779,11 @@ let CubeDocumentMatrixComponent = class CubeDocumentMatrixComponent extends Cube
23687
23779
  this.sources = {};
23688
23780
  }
23689
23781
  onViewBind() {
23690
- const { xAxis, serie, indices, sum, scope, filters } = this._viewRef.options;
23691
- if (!xAxis || !serie)
23782
+ const { xAxis, series, indices, sum, scope, filters } = this._viewRef.options;
23783
+ if (!xAxis || !series)
23692
23784
  throw 'xAxis and serie required';
23693
23785
  this.xAxis = isArray(xAxis) ? xAxis[0] : xAxis;
23694
- this.serie = isArray(serie) ? serie[0] : serie;
23786
+ this.serie = isArray(series) ? series[0] : series;
23695
23787
  this.indices = indices;
23696
23788
  this.sum = sum;
23697
23789
  this.scope = scope;
@@ -23738,7 +23830,7 @@ let CubeDocumentMatrixComponent = class CubeDocumentMatrixComponent extends Cube
23738
23830
  }
23739
23831
  };
23740
23832
  CubeDocumentMatrixComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CubeDocumentMatrixComponent, deps: [{ token: DocumentViewRef }, { token: RouterImpl }, { token: CubeService }, { token: DatasourceService }, { token: SessionService }], target: i0.ɵɵFactoryTarget.Component });
23741
- CubeDocumentMatrixComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: CubeDocumentMatrixComponent, selector: "ng-component", host: { classAttribute: "view" }, viewQueries: [{ propertyName: "table", first: true, predicate: CubeMatrixComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"hasdata; else none\">\r\n <div class=\"nav-toolbar\">\r\n <ng-container *ngIf=\"alternate\">\r\n <button mat-button [matMenuTriggerFor]=\"cmenu\">{{cube.title}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #cmenu>\r\n <button mat-menu-item *ngFor=\"let a of alternate\"\r\n (click)=\"switchTo(a)\">\r\n {{a.title}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n <span class=\"divider\"></span>\r\n <!-- title -->\r\n <button mat-icon-button [matMenuTriggerFor]=\"patternsMenu\" *ngIf=\"patterns && patterns.length\" [bizdocTooltip]=\"'Pattern'|translate\" [attr.aria-label]=\"'Pattern'|translate\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\r\n <mat-menu #patternsMenu xPosition=\"before\">\r\n <!-- patterns -->\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"patternChange(p)\">{{p.title}}</button>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"reset()\" [disabled]=\"!pattern\" [bizdocTooltip]=\"'Clear' | translate\">\r\n <mat-icon>clear_all</mat-icon>\r\n </button>\r\n <!-- filters -->\r\n <ng-container *ngFor=\"let f of filters\">\r\n <button mat-button [matMenuTriggerFor]=\"fmenu\">{{axes[f.name] | typeValue : f.dataType | async}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #fmenu xPosition=\"before\">\r\n <button mat-menu-item *ngFor=\"let kv of sources[f.name] | async\"\r\n (click)=\"filter(f.name, kv.key, kv.value)\">\r\n {{kv.value}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n </div>\r\n <div class=\"loading-view\" *ngIf=\"loading\">\r\n <mat-spinner color=\"accent\"></mat-spinner>\r\n </div>\r\n <bizdoc-cube-matrix [cube]=\"cube.name\" [xAxis]=\"xAxis\" [serie]=\"serie\" [indices]=\"indices\" [sum]=\"sum\"\r\n [axes]=\"axes\" [scope]=\"scope\" class=\"table\"\r\n (explore)='explore($event)' [(loading)]=\"loading\"></bizdoc-cube-matrix>\r\n</ng-container>\r\n<ng-template #none>\r\n <bizdoc-none icon=\"insert_chart_outlined\" subtitle=\"NothingHere\"></bizdoc-none>\r\n</ng-template>\r\n", styles: [".table{padding:0 8px}\n"], components: [{ type: i7$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i7$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i8$1.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i8$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i10.MatSpinner, selector: "mat-spinner", inputs: ["color"] }, { type: CubeMatrixComponent, selector: "bizdoc-cube-matrix", inputs: ["cube", "xAxis", "serie", "indices", "scope", "sum", "axes", "loading", "interactive"], outputs: ["explore", "loadingChange"] }, { type: NoneComponent, selector: "bizdoc-none", inputs: ["title", "subtitle", "icon"] }], directives: [{ type: i10$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i10$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }], pipes: { "translate": TranslatePipe, "async": i10$1.AsyncPipe, "typeValue": TypeValuePipe } });
23833
+ CubeDocumentMatrixComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: CubeDocumentMatrixComponent, selector: "ng-component", host: { classAttribute: "view" }, viewQueries: [{ propertyName: "table", first: true, predicate: CubeMatrixComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"hasdata; else none\">\r\n <div class=\"nav-toolbar\">\r\n <ng-container *ngIf=\"alternate\">\r\n <button mat-button [matMenuTriggerFor]=\"cmenu\">{{cube.title}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #cmenu>\r\n <button mat-menu-item *ngFor=\"let a of alternate\"\r\n (click)=\"switchTo(a)\">\r\n {{a.title}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n <span class=\"divider\"></span>\r\n <!-- title -->\r\n <button mat-icon-button [matMenuTriggerFor]=\"patternsMenu\" *ngIf=\"patterns && patterns.length\" [bizdocTooltip]=\"'Pattern'|translate\" [attr.aria-label]=\"'Pattern'|translate\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\r\n <mat-menu #patternsMenu xPosition=\"before\">\r\n <!-- patterns -->\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"patternChange(p)\">{{p.title}}</button>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"reset()\" [disabled]=\"!pattern\" [bizdocTooltip]=\"'Clear' | translate\">\r\n <mat-icon>clear_all</mat-icon>\r\n </button>\r\n <!-- filters -->\r\n <ng-container *ngFor=\"let f of filters\">\r\n <button mat-button [matMenuTriggerFor]=\"fmenu\">{{axes[f.name] | typeValue : f.dataType | async}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #fmenu xPosition=\"before\">\r\n <button mat-menu-item *ngFor=\"let kv of sources[f.name] | async\"\r\n (click)=\"filter(f.name, kv.key, kv.value)\">\r\n {{kv.value}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n </div>\r\n <div class=\"loading-view\" *ngIf=\"loading\">\r\n <mat-spinner color=\"accent\"></mat-spinner>\r\n </div>\r\n <bizdoc-cube-matrix [cube]=\"cube.name\" [xAxis]=\"xAxis\" [series]=\"series\" [indices]=\"indices\" [sum]=\"sum\"\r\n [filters]=\"axes\" [scope]=\"scope\" class=\"table\"\r\n (explore)='explore($event)' [(loading)]=\"loading\"></bizdoc-cube-matrix>\r\n</ng-container>\r\n<ng-template #none>\r\n <bizdoc-none icon=\"insert_chart_outlined\" subtitle=\"NothingHere\"></bizdoc-none>\r\n</ng-template>\r\n", styles: [".table{padding:0 8px}\n"], components: [{ type: i7$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i7$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i8$1.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i8$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i10.MatSpinner, selector: "mat-spinner", inputs: ["color"] }, { type: CubeMatrixComponent, selector: "bizdoc-cube-matrix", inputs: ["cube", "xAxis", "series", "indices", "scope", "sum", "filters", "loading", "interactive"], outputs: ["explore", "loadingChange"] }, { type: NoneComponent, selector: "bizdoc-none", inputs: ["title", "subtitle", "icon"] }], directives: [{ type: i10$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i10$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }], pipes: { "translate": TranslatePipe, "async": i10$1.AsyncPipe, "typeValue": TypeValuePipe } });
23742
23834
  CubeDocumentMatrixComponent = __decorate([
23743
23835
  BizDoc({
23744
23836
  selector: 'bizdoc-cube-matrix'
@@ -23746,7 +23838,7 @@ CubeDocumentMatrixComponent = __decorate([
23746
23838
  ], CubeDocumentMatrixComponent);
23747
23839
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CubeDocumentMatrixComponent, decorators: [{
23748
23840
  type: Component,
23749
- args: [{ host: { class: 'view' }, template: "<ng-container *ngIf=\"hasdata; else none\">\r\n <div class=\"nav-toolbar\">\r\n <ng-container *ngIf=\"alternate\">\r\n <button mat-button [matMenuTriggerFor]=\"cmenu\">{{cube.title}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #cmenu>\r\n <button mat-menu-item *ngFor=\"let a of alternate\"\r\n (click)=\"switchTo(a)\">\r\n {{a.title}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n <span class=\"divider\"></span>\r\n <!-- title -->\r\n <button mat-icon-button [matMenuTriggerFor]=\"patternsMenu\" *ngIf=\"patterns && patterns.length\" [bizdocTooltip]=\"'Pattern'|translate\" [attr.aria-label]=\"'Pattern'|translate\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\r\n <mat-menu #patternsMenu xPosition=\"before\">\r\n <!-- patterns -->\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"patternChange(p)\">{{p.title}}</button>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"reset()\" [disabled]=\"!pattern\" [bizdocTooltip]=\"'Clear' | translate\">\r\n <mat-icon>clear_all</mat-icon>\r\n </button>\r\n <!-- filters -->\r\n <ng-container *ngFor=\"let f of filters\">\r\n <button mat-button [matMenuTriggerFor]=\"fmenu\">{{axes[f.name] | typeValue : f.dataType | async}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #fmenu xPosition=\"before\">\r\n <button mat-menu-item *ngFor=\"let kv of sources[f.name] | async\"\r\n (click)=\"filter(f.name, kv.key, kv.value)\">\r\n {{kv.value}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n </div>\r\n <div class=\"loading-view\" *ngIf=\"loading\">\r\n <mat-spinner color=\"accent\"></mat-spinner>\r\n </div>\r\n <bizdoc-cube-matrix [cube]=\"cube.name\" [xAxis]=\"xAxis\" [serie]=\"serie\" [indices]=\"indices\" [sum]=\"sum\"\r\n [axes]=\"axes\" [scope]=\"scope\" class=\"table\"\r\n (explore)='explore($event)' [(loading)]=\"loading\"></bizdoc-cube-matrix>\r\n</ng-container>\r\n<ng-template #none>\r\n <bizdoc-none icon=\"insert_chart_outlined\" subtitle=\"NothingHere\"></bizdoc-none>\r\n</ng-template>\r\n", styles: [".table{padding:0 8px}\n"] }]
23841
+ args: [{ host: { class: 'view' }, template: "<ng-container *ngIf=\"hasdata; else none\">\r\n <div class=\"nav-toolbar\">\r\n <ng-container *ngIf=\"alternate\">\r\n <button mat-button [matMenuTriggerFor]=\"cmenu\">{{cube.title}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #cmenu>\r\n <button mat-menu-item *ngFor=\"let a of alternate\"\r\n (click)=\"switchTo(a)\">\r\n {{a.title}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n <span class=\"divider\"></span>\r\n <!-- title -->\r\n <button mat-icon-button [matMenuTriggerFor]=\"patternsMenu\" *ngIf=\"patterns && patterns.length\" [bizdocTooltip]=\"'Pattern'|translate\" [attr.aria-label]=\"'Pattern'|translate\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\r\n <mat-menu #patternsMenu xPosition=\"before\">\r\n <!-- patterns -->\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"patternChange(p)\">{{p.title}}</button>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"reset()\" [disabled]=\"!pattern\" [bizdocTooltip]=\"'Clear' | translate\">\r\n <mat-icon>clear_all</mat-icon>\r\n </button>\r\n <!-- filters -->\r\n <ng-container *ngFor=\"let f of filters\">\r\n <button mat-button [matMenuTriggerFor]=\"fmenu\">{{axes[f.name] | typeValue : f.dataType | async}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #fmenu xPosition=\"before\">\r\n <button mat-menu-item *ngFor=\"let kv of sources[f.name] | async\"\r\n (click)=\"filter(f.name, kv.key, kv.value)\">\r\n {{kv.value}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n </div>\r\n <div class=\"loading-view\" *ngIf=\"loading\">\r\n <mat-spinner color=\"accent\"></mat-spinner>\r\n </div>\r\n <bizdoc-cube-matrix [cube]=\"cube.name\" [xAxis]=\"xAxis\" [series]=\"series\" [indices]=\"indices\" [sum]=\"sum\"\r\n [filters]=\"axes\" [scope]=\"scope\" class=\"table\"\r\n (explore)='explore($event)' [(loading)]=\"loading\"></bizdoc-cube-matrix>\r\n</ng-container>\r\n<ng-template #none>\r\n <bizdoc-none icon=\"insert_chart_outlined\" subtitle=\"NothingHere\"></bizdoc-none>\r\n</ng-template>\r\n", styles: [".table{padding:0 8px}\n"] }]
23750
23842
  }], ctorParameters: function () { return [{ type: DocumentViewRef }, { type: RouterImpl }, { type: CubeService }, { type: DatasourceService }, { type: SessionService }]; }, propDecorators: { table: [{
23751
23843
  type: ViewChild,
23752
23844
  args: [CubeMatrixComponent, { static: true }]
@@ -23816,7 +23908,7 @@ let CubeDocumentViewComponent = class CubeDocumentViewComponent extends CubeBase
23816
23908
  }
23817
23909
  };
23818
23910
  CubeDocumentViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CubeDocumentViewComponent, deps: [{ token: SessionService }, { token: DocumentViewRef }, { token: CubeService }, { token: Popup }, { token: RouterImpl }, { token: GuideService }], target: i0.ɵɵFactoryTarget.Component });
23819
- CubeDocumentViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: CubeDocumentViewComponent, selector: "ng-component", host: { classAttribute: "view" }, viewQueries: [{ propertyName: "viewPane", first: true, predicate: CubeViewComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"hasdata; else none\">\r\n <div class=\"nav-toolbar\">\r\n <button mat-icon-button (click)=\"guide()\" [bizdocTooltip]=\"'Help' | translate\" *ngIf=\"view.guide\"><mat-icon>help_outline</mat-icon></button>\r\n <ng-container *ngIf=\"alternate\">\r\n <button mat-button [matMenuTriggerFor]=\"cmenu\">{{cube.title}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #cmenu>\r\n <button mat-menu-item *ngFor=\"let a of alternate\"\r\n (click)=\"switchTo(a)\">\r\n {{a.title}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [matMenuTriggerFor]=\"pmenu\" [bizdocTooltip]=\"'Patterns' | translate\" [disabled]=\"!patterns?.length\" data-help=\"pattern\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\r\n <mat-menu #pmenu>\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"patternChange(p)\">\r\n {{p.title}}\r\n </button>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"clearFilter()\" [bizdocTooltip]=\"'Clear' | translate\" [disabled]=\"!anyFilters\"><mat-icon>clear_all</mat-icon></button>\r\n <button mat-icon-button (click)=\"filterToggle($event)\" [bizdocTooltip]=\"'Filter' | translate\" [disabled]=\"!anyAxes\" data-help=\"filter\"><mat-icon>filter_list</mat-icon></button>\r\n </div>\r\n <div class=\"loading-view\" *ngIf=\"loading\">\r\n <mat-spinner color=\"accent\"></mat-spinner>\r\n </div>\r\n <bizdoc-cube-view [axes]=\"axes\" #vp\r\n (explore)=\"explore($event)\"\r\n [cube]=\"cube\"\r\n [view]=\"view\"\r\n (loading)=\"loading = $event\"></bizdoc-cube-view>\r\n</ng-container>\r\n<ng-template #none>\r\n <bizdoc-none icon=\"equalizer\" subtitle=\"NothingHere\"></bizdoc-none>\r\n</ng-template>\r\n", styles: [":host{display:flex;flex-direction:column;height:100%;min-height:220px}:host ::ng-deep .cube-view{flex:1 auto}\n"], components: [{ type: i7$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i7$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i8$1.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i8$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i10.MatSpinner, selector: "mat-spinner", inputs: ["color"] }, { type: CubeViewComponent, selector: "bizdoc-cube-view", inputs: ["axes", "cube", "view", "loading"], outputs: ["explore", "loadingChange"] }, { type: NoneComponent, selector: "bizdoc-none", inputs: ["title", "subtitle", "icon"] }], directives: [{ type: i10$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { type: i8$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i10$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": TranslatePipe } });
23911
+ CubeDocumentViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: CubeDocumentViewComponent, selector: "ng-component", host: { classAttribute: "view" }, viewQueries: [{ propertyName: "viewPane", first: true, predicate: CubeViewComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"hasdata; else none\">\r\n <div class=\"nav-toolbar\">\r\n <button mat-icon-button (click)=\"guide()\" [bizdocTooltip]=\"'Help' | translate\" *ngIf=\"view.guide\"><mat-icon>help_outline</mat-icon></button>\r\n <ng-container *ngIf=\"alternate\">\r\n <button mat-button [matMenuTriggerFor]=\"cmenu\">{{cube.title}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #cmenu>\r\n <button mat-menu-item *ngFor=\"let a of alternate\"\r\n (click)=\"switchTo(a)\">\r\n {{a.title}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [matMenuTriggerFor]=\"pmenu\" [bizdocTooltip]=\"'Patterns' | translate\" [disabled]=\"!patterns?.length\" data-help=\"pattern\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\r\n <mat-menu #pmenu>\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"patternChange(p)\">\r\n {{p.title}}\r\n </button>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"clearFilter()\" [bizdocTooltip]=\"'Clear' | translate\" [disabled]=\"!anyFilters\"><mat-icon>clear_all</mat-icon></button>\r\n <button mat-icon-button (click)=\"filterToggle($event)\" [bizdocTooltip]=\"'Filter' | translate\" [disabled]=\"!anyAxes\" data-help=\"filter\"><mat-icon>filter_list</mat-icon></button>\r\n </div>\r\n <div class=\"loading-view\" *ngIf=\"loading\">\r\n <mat-spinner color=\"accent\"></mat-spinner>\r\n </div>\r\n <bizdoc-cube-view [filters]=\"axes\" #vp\r\n (explore)=\"explore($event)\"\r\n [cube]=\"cube\"\r\n [view]=\"view\"\r\n (loading)=\"loading = $event\"></bizdoc-cube-view>\r\n</ng-container>\r\n<ng-template #none>\r\n <bizdoc-none icon=\"equalizer\" subtitle=\"NothingHere\"></bizdoc-none>\r\n</ng-template>\r\n", styles: [":host{display:flex;flex-direction:column;height:100%;min-height:220px}:host ::ng-deep .cube-view{flex:1 auto}\n"], components: [{ type: i7$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i7$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i8$1.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i8$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i10.MatSpinner, selector: "mat-spinner", inputs: ["color"] }, { type: CubeViewComponent, selector: "bizdoc-cube-view", inputs: ["filters", "cube", "view", "loading"], outputs: ["explore", "loadingChange"] }, { type: NoneComponent, selector: "bizdoc-none", inputs: ["title", "subtitle", "icon"] }], directives: [{ type: i10$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { type: i8$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i10$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": TranslatePipe } });
23820
23912
  CubeDocumentViewComponent = __decorate([
23821
23913
  BizDoc({
23822
23914
  selector: 'bizdoc-cube-view'
@@ -23824,7 +23916,7 @@ CubeDocumentViewComponent = __decorate([
23824
23916
  ], CubeDocumentViewComponent);
23825
23917
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CubeDocumentViewComponent, decorators: [{
23826
23918
  type: Component,
23827
- args: [{ host: { class: 'view' }, template: "<ng-container *ngIf=\"hasdata; else none\">\r\n <div class=\"nav-toolbar\">\r\n <button mat-icon-button (click)=\"guide()\" [bizdocTooltip]=\"'Help' | translate\" *ngIf=\"view.guide\"><mat-icon>help_outline</mat-icon></button>\r\n <ng-container *ngIf=\"alternate\">\r\n <button mat-button [matMenuTriggerFor]=\"cmenu\">{{cube.title}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #cmenu>\r\n <button mat-menu-item *ngFor=\"let a of alternate\"\r\n (click)=\"switchTo(a)\">\r\n {{a.title}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [matMenuTriggerFor]=\"pmenu\" [bizdocTooltip]=\"'Patterns' | translate\" [disabled]=\"!patterns?.length\" data-help=\"pattern\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\r\n <mat-menu #pmenu>\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"patternChange(p)\">\r\n {{p.title}}\r\n </button>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"clearFilter()\" [bizdocTooltip]=\"'Clear' | translate\" [disabled]=\"!anyFilters\"><mat-icon>clear_all</mat-icon></button>\r\n <button mat-icon-button (click)=\"filterToggle($event)\" [bizdocTooltip]=\"'Filter' | translate\" [disabled]=\"!anyAxes\" data-help=\"filter\"><mat-icon>filter_list</mat-icon></button>\r\n </div>\r\n <div class=\"loading-view\" *ngIf=\"loading\">\r\n <mat-spinner color=\"accent\"></mat-spinner>\r\n </div>\r\n <bizdoc-cube-view [axes]=\"axes\" #vp\r\n (explore)=\"explore($event)\"\r\n [cube]=\"cube\"\r\n [view]=\"view\"\r\n (loading)=\"loading = $event\"></bizdoc-cube-view>\r\n</ng-container>\r\n<ng-template #none>\r\n <bizdoc-none icon=\"equalizer\" subtitle=\"NothingHere\"></bizdoc-none>\r\n</ng-template>\r\n", styles: [":host{display:flex;flex-direction:column;height:100%;min-height:220px}:host ::ng-deep .cube-view{flex:1 auto}\n"] }]
23919
+ args: [{ host: { class: 'view' }, template: "<ng-container *ngIf=\"hasdata; else none\">\r\n <div class=\"nav-toolbar\">\r\n <button mat-icon-button (click)=\"guide()\" [bizdocTooltip]=\"'Help' | translate\" *ngIf=\"view.guide\"><mat-icon>help_outline</mat-icon></button>\r\n <ng-container *ngIf=\"alternate\">\r\n <button mat-button [matMenuTriggerFor]=\"cmenu\">{{cube.title}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #cmenu>\r\n <button mat-menu-item *ngFor=\"let a of alternate\"\r\n (click)=\"switchTo(a)\">\r\n {{a.title}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [matMenuTriggerFor]=\"pmenu\" [bizdocTooltip]=\"'Patterns' | translate\" [disabled]=\"!patterns?.length\" data-help=\"pattern\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\r\n <mat-menu #pmenu>\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"patternChange(p)\">\r\n {{p.title}}\r\n </button>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"clearFilter()\" [bizdocTooltip]=\"'Clear' | translate\" [disabled]=\"!anyFilters\"><mat-icon>clear_all</mat-icon></button>\r\n <button mat-icon-button (click)=\"filterToggle($event)\" [bizdocTooltip]=\"'Filter' | translate\" [disabled]=\"!anyAxes\" data-help=\"filter\"><mat-icon>filter_list</mat-icon></button>\r\n </div>\r\n <div class=\"loading-view\" *ngIf=\"loading\">\r\n <mat-spinner color=\"accent\"></mat-spinner>\r\n </div>\r\n <bizdoc-cube-view [filters]=\"axes\" #vp\r\n (explore)=\"explore($event)\"\r\n [cube]=\"cube\"\r\n [view]=\"view\"\r\n (loading)=\"loading = $event\"></bizdoc-cube-view>\r\n</ng-container>\r\n<ng-template #none>\r\n <bizdoc-none icon=\"equalizer\" subtitle=\"NothingHere\"></bizdoc-none>\r\n</ng-template>\r\n", styles: [":host{display:flex;flex-direction:column;height:100%;min-height:220px}:host ::ng-deep .cube-view{flex:1 auto}\n"] }]
23828
23920
  }], ctorParameters: function () { return [{ type: SessionService }, { type: DocumentViewRef }, { type: CubeService }, { type: Popup }, { type: RouterImpl }, { type: GuideService }]; }, propDecorators: { viewPane: [{
23829
23921
  type: ViewChild,
23830
23922
  args: [CubeViewComponent]
@@ -24154,7 +24246,7 @@ let CubePivotViewComponent = class CubePivotViewComponent extends CubeBase {
24154
24246
  }
24155
24247
  };
24156
24248
  CubePivotViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CubePivotViewComponent, deps: [{ token: SessionService }, { token: DocumentViewRef }, { token: CubeService }, { token: RouterImpl }], target: i0.ɵɵFactoryTarget.Component });
24157
- CubePivotViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: CubePivotViewComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<bizdoc-cube-pivot [xAxis]=\"xAxis\" [series]=\"series\" [cube]=\"cube.name\" *ngIf=\"hasdata\"\r\n [filters]=\"axes\"\r\n [chartType]=\"chartType\"\r\n [width]=\"width\"\r\n (explore)=\"explore($event)\"></bizdoc-cube-pivot>\r\n", components: [{ type: CubePivotComponent, selector: "bizdoc-cube-pivot", inputs: ["width", "height", "cube", "xAxis", "yAxis", "series", "indices", "filters", "chartType", "indexChartType", "currencyCode", "loading"], outputs: ["explore", "loadingChange"] }], directives: [{ type: i10$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
24249
+ CubePivotViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: CubePivotViewComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<bizdoc-cube-pivot [xAxis]=\"xAxis\"\r\n [series]=\"series\"\r\n [cube]=\"cube.name\" *ngIf=\"hasdata\"\r\n [filters]=\"axes\"\r\n [chartType]=\"chartType\"\r\n [width]=\"width\"\r\n (explore)=\"explore($event)\"></bizdoc-cube-pivot>\r\n", components: [{ type: CubePivotComponent, selector: "bizdoc-cube-pivot", inputs: ["width", "height", "cube", "xAxis", "yAxis", "series", "indices", "filters", "chartType", "indicesChartType", "currencyCode", "loading"], outputs: ["explore", "loadingChange"] }], directives: [{ type: i10$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
24158
24250
  CubePivotViewComponent = __decorate([
24159
24251
  BizDoc({
24160
24252
  selector: 'bizdoc-pivot-view'
@@ -24162,7 +24254,7 @@ CubePivotViewComponent = __decorate([
24162
24254
  ], CubePivotViewComponent);
24163
24255
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CubePivotViewComponent, decorators: [{
24164
24256
  type: Component,
24165
- args: [{ template: "<bizdoc-cube-pivot [xAxis]=\"xAxis\" [series]=\"series\" [cube]=\"cube.name\" *ngIf=\"hasdata\"\r\n [filters]=\"axes\"\r\n [chartType]=\"chartType\"\r\n [width]=\"width\"\r\n (explore)=\"explore($event)\"></bizdoc-cube-pivot>\r\n" }]
24257
+ args: [{ template: "<bizdoc-cube-pivot [xAxis]=\"xAxis\"\r\n [series]=\"series\"\r\n [cube]=\"cube.name\" *ngIf=\"hasdata\"\r\n [filters]=\"axes\"\r\n [chartType]=\"chartType\"\r\n [width]=\"width\"\r\n (explore)=\"explore($event)\"></bizdoc-cube-pivot>\r\n" }]
24166
24258
  }], ctorParameters: function () { return [{ type: SessionService }, { type: DocumentViewRef }, { type: CubeService }, { type: RouterImpl }]; } });
24167
24259
 
24168
24260
  class CubeSumComponent {
@@ -24188,16 +24280,16 @@ class CubeSumComponent {
24188
24280
  this.indices = this._cube.indices.map(i => i.name);
24189
24281
  else if (!isArray(this.indices))
24190
24282
  this.indices = [this.indices];
24191
- const originalValue = this.axes[this.xAxis];
24283
+ const originalValue = this.filters[this.xAxis];
24192
24284
  const axis = isArray(originalValue) ? originalValue[0] : originalValue;
24193
- if (this.periodPolicy === 'strict')
24285
+ if (this.periodPolicy === 'Strict')
24194
24286
  this._strict(axis);
24195
24287
  else
24196
24288
  this._fish(axis);
24197
24289
  }
24198
24290
  async _strict(axis) {
24199
24291
  const keys = await this._ds.keys(this.primaryAxis.dataType).toPromise(), keyIndex = keys.indexOf(axis);
24200
- const filters = { ...this.axes };
24292
+ const filters = { ...this.filters };
24201
24293
  const axes = [axis];
24202
24294
  if (keyIndex > 0)
24203
24295
  axes.push(keys[keyIndex - 1]);
@@ -24244,7 +24336,7 @@ class CubeSumComponent {
24244
24336
  }
24245
24337
  }
24246
24338
  const parallel = async (direction) => {
24247
- const parentKey = this.axes[this.parentAxis];
24339
+ const parentKey = this.filters[this.parentAxis];
24248
24340
  const parentKeys = await this._ds.keys(this._parentAxis.dataType).toPromise();
24249
24341
  const index = parentKeys.indexOf((isArray(parentKey) ? parentKey[0] : parentKey)), scope = parentKeys[index + direction];
24250
24342
  if (!scope)
@@ -24278,7 +24370,7 @@ class CubeSumComponent {
24278
24370
  async _fish(axis) {
24279
24371
  this.loading = true;
24280
24372
  try {
24281
- const filters = { ...this.axes };
24373
+ const filters = { ...this.filters };
24282
24374
  delete filters[this.xAxis];
24283
24375
  const results = this._results = await this._service.series(this._cube.name, this.xAxis, {
24284
24376
  indices: this.indices, filters,
@@ -24353,9 +24445,9 @@ class CubeSumComponent {
24353
24445
  this.current.chain = this.prev;
24354
24446
  this.help = await this.getAggregateLabel();
24355
24447
  if (!this.prev)
24356
- this.prev = await this._parallel(-1, this.axes[this.parentAxis]);
24448
+ this.prev = await this._parallel(-1, this.filters[this.parentAxis]);
24357
24449
  if (!this.next)
24358
- this.next = await this._parallel(1, this.axes[this.parentAxis]);
24450
+ this.next = await this._parallel(1, this.filters[this.parentAxis]);
24359
24451
  this.next && this._calculate(this.next);
24360
24452
  this.prev && this._calculate(this.prev);
24361
24453
  }
@@ -24367,7 +24459,7 @@ class CubeSumComponent {
24367
24459
  }
24368
24460
  }
24369
24461
  async getAggregateLabel() {
24370
- const axes = { ...this.axes };
24462
+ const axes = { ...this.filters };
24371
24463
  delete axes[this.xAxis];
24372
24464
  return await this._service.nameOf(axes, this._cube.name).
24373
24465
  toPromise();
@@ -24467,7 +24559,7 @@ class CubeSumComponent {
24467
24559
  const keyIndex = parentKeys.indexOf((isArray(parentKey) ? parentKey[0] : parentKey)), scope = parentKeys[keyIndex + direction];
24468
24560
  if (!scope)
24469
24561
  return;
24470
- const filters = { ...this.axes };
24562
+ const filters = { ...this.filters };
24471
24563
  filters[this.parentAxis] = scope;
24472
24564
  delete filters[this.xAxis];
24473
24565
  const results = this._scoperesults = await this._service.series(this._cube.name, this.xAxis, {
@@ -24519,7 +24611,7 @@ class CubeSumComponent {
24519
24611
  if ((!index && level.value === 0) ||
24520
24612
  (index && level.indices.find(i => i.name === index).value === 0))
24521
24613
  return;
24522
- const axes = { ...this.axes };
24614
+ const axes = { ...this.filters };
24523
24615
  axes[this.xAxis] = level.axis;
24524
24616
  if (level.scope)
24525
24617
  axes[this.parentAxis] = level.scope;
@@ -24527,7 +24619,7 @@ class CubeSumComponent {
24527
24619
  }
24528
24620
  }
24529
24621
  CubeSumComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CubeSumComponent, deps: [{ token: DatasourceService }, { token: CubeService }, { token: SessionService }], target: i0.ɵɵFactoryTarget.Component });
24530
- CubeSumComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: CubeSumComponent, selector: "bizdoc-cube-sum", inputs: { xAxis: "xAxis", periodPolicy: "periodPolicy", parentAxis: "parentAxis", axes: "axes", cube: "cube", indices: "indices", scope: "scope" }, outputs: { onExplore: "explore" }, usesOnChanges: true, ngImport: i0, template: " <!-- levels -->\r\n<div class=\"row\">\r\n <div *ngIf=\"prev\" class=\"level prev-level\">\r\n <div class=\"level-header row\">\r\n <mat-icon class=\"cliclable mat-icon-rtl-mirror\" [inline]=true (click)=\"goprev()\" *ngIf=\"back\">keyboard_arrow_left</mat-icon>\r\n <div div class=\"mat-h1 title\">\r\n {{'PrevLevel'| translate}}\r\n </div>\r\n <span class=\"divider\"></span>\r\n <mat-icon *ngIf=\"forward\" class=\"cliclable mat-icon-rtl-mirror\" [inline]=true (click)=\"gonext()\">keyboard_arrow_right</mat-icon>\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"level; context: {use: prev}\"></ng-container>\r\n </div>\r\n <div *ngIf=\"current\" class=\"level current-level\">\r\n <div class=\"level-header row\">\r\n <div div class=\"mat-h1 title\">\r\n {{'CurrentLevel'| translate : primaryAxis.title}}\r\n </div>\r\n <span class=\"divider\"></span>\r\n <mat-icon [bizdocTooltip]=\"help\" *ngIf=\"help\" [inline]=\"true\">help_outline</mat-icon>\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"level; context: {use: current}\"></ng-container>\r\n </div>\r\n <div *ngIf=\"next\" class=\"level next-level\">\r\n <div class=\"level-header\">\r\n <div div class=\"mat-h1 title\">\r\n {{'NextLevel'| translate}}\r\n </div>\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"level; context: {use: next}\"></ng-container>\r\n </div>\r\n</div>\r\n<!-- level -->\r\n<ng-template #level let-use=\"use\" let-help=\"help\">\r\n <div>\r\n <h2 class=\"mat-h1\" [class.cliclable]=\"use.value !== 0\" (click)=\"explore(use)\">{{use.title}}</h2>\r\n <div class=\"row\">\r\n <h3 class=\"mat-h1\" [class.cliclable]=\"use.value !== 0\" (click)=\"explore(use)\">{{use.value | currency : currencyCode : 'symbol' : digitsInfo}}</h3>\r\n <span class=\"divider\"></span>\r\n <div *ngIf=\"use.chain && use.value !== use.chain.value\">\r\n <span *ngIf=\"use.value !== 0 && use.chain.value !== 0\">{{Math.round(use.value / use.chain.value * 100) }}%</span>\r\n <mat-icon>{{use.value > use.chain.value ? 'trending_up':'trending_down' }}</mat-icon>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- -->\r\n <div class=\"row\">\r\n <div *ngFor=\"let i of use.indices\" class=\"index\">\r\n <h4 class=\"mat-h3 title\">{{i.title}}</h4>\r\n <h5 class=\"mat-h3\" [class.cliclable]=\"i.value !== 0\" (click)=\"explore(use, i.name)\">{{i.value | currency : currencyCode : 'symbol' : digitsInfo}}</h5>\r\n </div>\r\n </div>\r\n <div class=\"bar\" *ngIf=\"use.indices.length\" [class.available]=\"use.percent < 100\">\r\n <div class=\"value\" [style.flexBasis]=\"Math.round(use.percent < 100 ?\r\n 100 - use.percent :\r\n 100 / use.percent * 100) + '%'\"\r\n [@bar]=\"use.animation\"></div>\r\n <div class=\"overflow\" *ngIf=\"use.percent > 0\"></div>\r\n </div>\r\n</ng-template>\r\n", styles: [":host{padding:0 8px}.level{border-width:thin;border-radius:3px;padding:8px;margin:3px;flex:1 1 0;border-style:solid}.level .cliclable{cursor:pointer}.level.next-level{border-style:dashed}.level .level-header{align-items:center}.level .level-header .title{margin:0;line-height:22px;font-size:inherit;font-feature-settings:\"pcap\",\"c2pc\";font-variant-caps:all-petite-caps}.level h3{margin:0;font-size:x-large}.level h2{font-weight:400;font-size:larger;margin:0}.level .percent{display:flex;align-items:center}.level .index{padding:0 4px}.level .index h5{margin:0}.level .index h4{margin:0}.level .bar{display:flex}.level .bar .value,.level .bar .overflow{height:12px}.level .bar .value{flex:0 0 0%}.level .bar .overflow{flex:1 1 0%;box-sizing:border-box}.level .bar.available .overflow{border-width:1px;border-style:dashed}\n"], components: [{ type: i7$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i10$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { type: i10$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": TranslatePipe, "currency": i10$1.CurrencyPipe }, animations: [trigger('bar', [
24622
+ CubeSumComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: CubeSumComponent, selector: "bizdoc-cube-sum", inputs: { xAxis: "xAxis", periodPolicy: "periodPolicy", parentAxis: "parentAxis", filters: "filters", cube: "cube", indices: "indices", scope: "scope" }, outputs: { onExplore: "explore" }, usesOnChanges: true, ngImport: i0, template: " <!-- levels -->\r\n<div class=\"row\">\r\n <div *ngIf=\"prev\" class=\"level prev-level\">\r\n <div class=\"level-header row\">\r\n <mat-icon class=\"cliclable mat-icon-rtl-mirror\" [inline]=true (click)=\"goprev()\" *ngIf=\"back\">keyboard_arrow_left</mat-icon>\r\n <div div class=\"mat-h1 title\">\r\n {{'PrevLevel'| translate}}\r\n </div>\r\n <span class=\"divider\"></span>\r\n <mat-icon *ngIf=\"forward\" class=\"cliclable mat-icon-rtl-mirror\" [inline]=true (click)=\"gonext()\">keyboard_arrow_right</mat-icon>\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"level; context: {use: prev}\"></ng-container>\r\n </div>\r\n <div *ngIf=\"current\" class=\"level current-level\">\r\n <div class=\"level-header row\">\r\n <div div class=\"mat-h1 title\">\r\n {{'CurrentLevel'| translate : primaryAxis.title}}\r\n </div>\r\n <span class=\"divider\"></span>\r\n <mat-icon [bizdocTooltip]=\"help\" *ngIf=\"help\" [inline]=\"true\">help_outline</mat-icon>\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"level; context: {use: current}\"></ng-container>\r\n </div>\r\n <div *ngIf=\"next\" class=\"level next-level\">\r\n <div class=\"level-header\">\r\n <div div class=\"mat-h1 title\">\r\n {{'NextLevel'| translate}}\r\n </div>\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"level; context: {use: next}\"></ng-container>\r\n </div>\r\n</div>\r\n<!-- level -->\r\n<ng-template #level let-use=\"use\" let-help=\"help\">\r\n <div>\r\n <h2 class=\"mat-h1\" [class.cliclable]=\"use.value !== 0\" (click)=\"explore(use)\">{{use.title}}</h2>\r\n <div class=\"row\">\r\n <h3 class=\"mat-h1\" [class.cliclable]=\"use.value !== 0\" (click)=\"explore(use)\">{{use.value | currency : currencyCode : 'symbol' : digitsInfo}}</h3>\r\n <span class=\"divider\"></span>\r\n <div *ngIf=\"use.chain && use.value !== use.chain.value\">\r\n <span *ngIf=\"use.value !== 0 && use.chain.value !== 0\">{{Math.round(use.value / use.chain.value * 100) }}%</span>\r\n <mat-icon>{{use.value > use.chain.value ? 'trending_up':'trending_down' }}</mat-icon>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- -->\r\n <div class=\"row\">\r\n <div *ngFor=\"let i of use.indices\" class=\"index\">\r\n <h4 class=\"mat-h3 title\">{{i.title}}</h4>\r\n <h5 class=\"mat-h3\" [class.cliclable]=\"i.value !== 0\" (click)=\"explore(use, i.name)\">{{i.value | currency : currencyCode : 'symbol' : digitsInfo}}</h5>\r\n </div>\r\n </div>\r\n <div class=\"bar\" *ngIf=\"use.indices.length\" [class.available]=\"use.percent < 100\">\r\n <div class=\"value\" [style.flexBasis]=\"Math.round(use.percent < 100 ?\r\n 100 - use.percent :\r\n 100 / use.percent * 100) + '%'\"\r\n [@bar]=\"use.animation\"></div>\r\n <div class=\"overflow\" *ngIf=\"use.percent > 0\"></div>\r\n </div>\r\n</ng-template>\r\n", styles: [":host{padding:0 8px}.level{border-width:thin;border-radius:3px;padding:8px;margin:3px;flex:1 1 0;border-style:solid}.level .cliclable{cursor:pointer}.level.next-level{border-style:dashed}.level .level-header{align-items:center}.level .level-header .title{margin:0;line-height:22px;font-size:inherit;font-feature-settings:\"pcap\",\"c2pc\";font-variant-caps:all-petite-caps}.level h3{margin:0;font-size:x-large}.level h2{font-weight:400;font-size:larger;margin:0}.level .percent{display:flex;align-items:center}.level .index{padding:0 4px}.level .index h5{margin:0}.level .index h4{margin:0}.level .bar{display:flex}.level .bar .value,.level .bar .overflow{height:12px}.level .bar .value{flex:0 0 0%}.level .bar .overflow{flex:1 1 0%;box-sizing:border-box}.level .bar.available .overflow{border-width:1px;border-style:dashed}\n"], components: [{ type: i7$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i10$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { type: i10$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": TranslatePipe, "currency": i10$1.CurrencyPipe }, animations: [trigger('bar', [
24531
24623
  transition('*<=>*', [style({
24532
24624
  flexBasis: '{{startWidth}}%'
24533
24625
  }), animate('500ms ease')], { params: { startWidth: 100 } }),
@@ -24545,7 +24637,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
24545
24637
  type: Input
24546
24638
  }], parentAxis: [{
24547
24639
  type: Input
24548
- }], axes: [{
24640
+ }], filters: [{
24549
24641
  type: Input
24550
24642
  }], cube: [{
24551
24643
  type: Input
@@ -24593,7 +24685,7 @@ let CubeDocumentSumComponent = class CubeDocumentSumComponent extends CubeBase {
24593
24685
  }
24594
24686
  };
24595
24687
  CubeDocumentSumComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CubeDocumentSumComponent, deps: [{ token: DocumentViewRef }, { token: RouterImpl }, { token: CubeService }, { token: SessionService }], target: i0.ɵɵFactoryTarget.Component });
24596
- CubeDocumentSumComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: CubeDocumentSumComponent, selector: "ng-component", host: { classAttribute: "view" }, usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"hasdata\">\r\n <div class=\"nav-toolbar\" *ngIf=\"alternate || selectedAxis\">\r\n <span class=\"divider\"></span>\r\n <ng-container *ngIf=\"alternate\">\r\n <button mat-button [matMenuTriggerFor]=\"cmenu\">{{cube.title}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #cmenu>\r\n <button mat-menu-item *ngFor=\"let a of alternate\"\r\n (click)=\"switchTo(a)\">\r\n {{a.title}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n <ng-container *ngIf=\"selectedAxis\">\r\n <button mat-button [matMenuTriggerFor]=\"amenu\">{{selectedAxis| typeValue: primaryAxis.dataType}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #amenu>\r\n <button mat-menu-item *ngFor=\"let a of originalAxes[primaryAxis.name]\"\r\n (click)=\"switchAxis(a)\">\r\n {{a | typeValue: primaryAxis.dataType}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n </div>\r\n <div class=\"loading-view\" *ngIf=\"loading\">\r\n <mat-spinner color=\"accent\"></mat-spinner>\r\n </div>\r\n <bizdoc-cube-sum [xAxis]=\"primaryAxis.name\" [axes]=\"axes\" [parentAxis]=\"parentAxis\"\r\n [scope]=\"scope\" [periodPolicy]=\"periodPolicy\"\r\n [indices]=\"indices\" [cube]=\"cube.name\"\r\n (explore)=\"explore($event)\"></bizdoc-cube-sum>\r\n</ng-container>\r\n", styles: [":host{padding:0 8px}\n"], components: [{ type: i7$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i7$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i8$1.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i8$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i10.MatSpinner, selector: "mat-spinner", inputs: ["color"] }, { type: CubeSumComponent, selector: "bizdoc-cube-sum", inputs: ["xAxis", "periodPolicy", "parentAxis", "axes", "cube", "indices", "scope"], outputs: ["explore"] }], directives: [{ type: i10$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i10$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "typeValue": TypeValuePipe } });
24688
+ CubeDocumentSumComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: CubeDocumentSumComponent, selector: "ng-component", host: { classAttribute: "view" }, usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"hasdata\">\r\n <div class=\"nav-toolbar\" *ngIf=\"alternate || selectedAxis\">\r\n <span class=\"divider\"></span>\r\n <ng-container *ngIf=\"alternate\">\r\n <button mat-button [matMenuTriggerFor]=\"cmenu\">{{cube.title}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #cmenu>\r\n <button mat-menu-item *ngFor=\"let a of alternate\"\r\n (click)=\"switchTo(a)\">\r\n {{a.title}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n <ng-container *ngIf=\"selectedAxis\">\r\n <button mat-button [matMenuTriggerFor]=\"amenu\">{{selectedAxis| typeValue: primaryAxis.dataType}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #amenu>\r\n <button mat-menu-item *ngFor=\"let a of originalAxes[primaryAxis.name]\"\r\n (click)=\"switchAxis(a)\">\r\n {{a | typeValue: primaryAxis.dataType}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n </div>\r\n <div class=\"loading-view\" *ngIf=\"loading\">\r\n <mat-spinner color=\"accent\"></mat-spinner>\r\n </div>\r\n <bizdoc-cube-sum [xAxis]=\"primaryAxis.name\" [filters]=\"axes\" [parentAxis]=\"parentAxis\"\r\n [scope]=\"scope\" [periodPolicy]=\"periodPolicy\"\r\n [indices]=\"indices\" [cube]=\"cube.name\"\r\n (explore)=\"explore($event)\"></bizdoc-cube-sum>\r\n</ng-container>\r\n", styles: [":host{padding:0 8px}\n"], components: [{ type: i7$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i7$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i8$1.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i8$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i10.MatSpinner, selector: "mat-spinner", inputs: ["color"] }, { type: CubeSumComponent, selector: "bizdoc-cube-sum", inputs: ["xAxis", "periodPolicy", "parentAxis", "filters", "cube", "indices", "scope"], outputs: ["explore"] }], directives: [{ type: i10$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i10$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "typeValue": TypeValuePipe } });
24597
24689
  CubeDocumentSumComponent = __decorate([
24598
24690
  BizDoc({
24599
24691
  selector: 'bizdoc-cube-sum'
@@ -24601,7 +24693,7 @@ CubeDocumentSumComponent = __decorate([
24601
24693
  ], CubeDocumentSumComponent);
24602
24694
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CubeDocumentSumComponent, decorators: [{
24603
24695
  type: Component,
24604
- args: [{ host: { class: 'view' }, template: "<ng-container *ngIf=\"hasdata\">\r\n <div class=\"nav-toolbar\" *ngIf=\"alternate || selectedAxis\">\r\n <span class=\"divider\"></span>\r\n <ng-container *ngIf=\"alternate\">\r\n <button mat-button [matMenuTriggerFor]=\"cmenu\">{{cube.title}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #cmenu>\r\n <button mat-menu-item *ngFor=\"let a of alternate\"\r\n (click)=\"switchTo(a)\">\r\n {{a.title}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n <ng-container *ngIf=\"selectedAxis\">\r\n <button mat-button [matMenuTriggerFor]=\"amenu\">{{selectedAxis| typeValue: primaryAxis.dataType}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #amenu>\r\n <button mat-menu-item *ngFor=\"let a of originalAxes[primaryAxis.name]\"\r\n (click)=\"switchAxis(a)\">\r\n {{a | typeValue: primaryAxis.dataType}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n </div>\r\n <div class=\"loading-view\" *ngIf=\"loading\">\r\n <mat-spinner color=\"accent\"></mat-spinner>\r\n </div>\r\n <bizdoc-cube-sum [xAxis]=\"primaryAxis.name\" [axes]=\"axes\" [parentAxis]=\"parentAxis\"\r\n [scope]=\"scope\" [periodPolicy]=\"periodPolicy\"\r\n [indices]=\"indices\" [cube]=\"cube.name\"\r\n (explore)=\"explore($event)\"></bizdoc-cube-sum>\r\n</ng-container>\r\n", styles: [":host{padding:0 8px}\n"] }]
24696
+ args: [{ host: { class: 'view' }, template: "<ng-container *ngIf=\"hasdata\">\r\n <div class=\"nav-toolbar\" *ngIf=\"alternate || selectedAxis\">\r\n <span class=\"divider\"></span>\r\n <ng-container *ngIf=\"alternate\">\r\n <button mat-button [matMenuTriggerFor]=\"cmenu\">{{cube.title}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #cmenu>\r\n <button mat-menu-item *ngFor=\"let a of alternate\"\r\n (click)=\"switchTo(a)\">\r\n {{a.title}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n <ng-container *ngIf=\"selectedAxis\">\r\n <button mat-button [matMenuTriggerFor]=\"amenu\">{{selectedAxis| typeValue: primaryAxis.dataType}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #amenu>\r\n <button mat-menu-item *ngFor=\"let a of originalAxes[primaryAxis.name]\"\r\n (click)=\"switchAxis(a)\">\r\n {{a | typeValue: primaryAxis.dataType}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n </div>\r\n <div class=\"loading-view\" *ngIf=\"loading\">\r\n <mat-spinner color=\"accent\"></mat-spinner>\r\n </div>\r\n <bizdoc-cube-sum [xAxis]=\"primaryAxis.name\" [filters]=\"axes\" [parentAxis]=\"parentAxis\"\r\n [scope]=\"scope\" [periodPolicy]=\"periodPolicy\"\r\n [indices]=\"indices\" [cube]=\"cube.name\"\r\n (explore)=\"explore($event)\"></bizdoc-cube-sum>\r\n</ng-container>\r\n", styles: [":host{padding:0 8px}\n"] }]
24605
24697
  }], ctorParameters: function () { return [{ type: DocumentViewRef }, { type: RouterImpl }, { type: CubeService }, { type: SessionService }]; } });
24606
24698
 
24607
24699
  let CubeChartViewComponent = class CubeChartViewComponent extends CubeBase {
@@ -24611,12 +24703,12 @@ let CubeChartViewComponent = class CubeChartViewComponent extends CubeBase {
24611
24703
  viewRef.resize.subscribe(d => this.width = d.width);
24612
24704
  }
24613
24705
  onViewBind() {
24614
- const { scope, xAxis, series, indices, chartType, indexChartType } = this._viewRef.options;
24706
+ const { scope, xAxis, series, indices, chartType, indicesChartType } = this._viewRef.options;
24615
24707
  if (!xAxis)
24616
24708
  throw 'chart view reqires xAxis';
24617
24709
  this.xAxis = xAxis,
24618
24710
  this.chartType = chartType,
24619
- this.indexChartType = indexChartType,
24711
+ this.indicesChartType = indicesChartType,
24620
24712
  this.indices = indices,
24621
24713
  this.series = series,
24622
24714
  this.scope = scope;
@@ -24653,7 +24745,7 @@ let CubeChartViewComponent = class CubeChartViewComponent extends CubeBase {
24653
24745
  }
24654
24746
  };
24655
24747
  CubeChartViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CubeChartViewComponent, deps: [{ token: SessionService }, { token: DocumentViewRef }, { token: CubeService }, { token: RouterImpl }], target: i0.ɵɵFactoryTarget.Component });
24656
- CubeChartViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: CubeChartViewComponent, selector: "ng-component", host: { classAttribute: "view" }, usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"hasdata; \">\r\n <!--else none-->\r\n <ng-container [ngSwitch]=\"isAccum\">\r\n <bizdoc-cube-accum *ngSwitchCase=\"true\" [chartType]=\"chartType\" [width]=\"width\" [scope]=\"scope\"\r\n (explore)=\"explore($event)\"\r\n [cube]=\"cube.name\"\r\n [filters]=\"filters\"\r\n [xAxis]=\"xAxis\"></bizdoc-cube-accum>\r\n <bizdoc-cube-chart *ngSwitchDefault [cube]=\"cube.name\"\r\n [xAxis]=\"xAxis\" [series]=\"series\" [indices]=\"indices\"\r\n [filters]=\"filters\"\r\n [chartType]=\"chartType\" [indexChartType]=\"indexChartType\"\r\n [width]=\"width\" [scope]=\"scope\"\r\n (explore)=\"explore($event)\"></bizdoc-cube-chart>\r\n </ng-container>\r\n</ng-container>\r\n<ng-template #none>\r\n <bizdoc-none icon=\"insert_chart_outlined\" subtitle=\"NothingHere\"></bizdoc-none>\r\n</ng-template>\r\n", components: [{ type: CubeAccumulationChartComponent, selector: "bizdoc-cube-accum", inputs: ["height", "width", "cube", "xAxis", "indices", "filters", "chartType", "scope", "loading"], outputs: ["loadingChange", "explore"] }, { type: CubeChartComponent, selector: "bizdoc-cube-chart", inputs: ["width", "height", "cube", "xAxis", "series", "indices", "filters", "yAxis", "chartType", "indexChartType", "scope", "currencyCode", "loading"], outputs: ["explore", "loadingChange"] }, { type: NoneComponent, selector: "bizdoc-none", inputs: ["title", "subtitle", "icon"] }], directives: [{ type: i10$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i10$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i10$1.NgSwitchDefault, selector: "[ngSwitchDefault]" }] });
24748
+ CubeChartViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: CubeChartViewComponent, selector: "ng-component", host: { classAttribute: "view" }, usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"hasdata; \">\r\n <!--else none-->\r\n <ng-container [ngSwitch]=\"isAccum\">\r\n <bizdoc-cube-accum *ngSwitchCase=\"true\" [chartType]=\"chartType\" [width]=\"width\" [scope]=\"scope\"\r\n (explore)=\"explore($event)\"\r\n [cube]=\"cube.name\"\r\n [filters]=\"filters\"\r\n [xAxis]=\"xAxis\"></bizdoc-cube-accum>\r\n <bizdoc-cube-chart *ngSwitchDefault\r\n [cube]=\"cube.name\"\r\n [xAxis]=\"xAxis\"\r\n [series]=\"series\"\r\n [indices]=\"indices\"\r\n [filters]=\"filters\"\r\n [chartType]=\"chartType\"\r\n [indicesChartType]=\"indicesChartType\"\r\n [width]=\"width\"\r\n [scope]=\"scope\"\r\n (explore)=\"explore($event)\"></bizdoc-cube-chart>\r\n </ng-container>\r\n</ng-container>\r\n<ng-template #none>\r\n <bizdoc-none icon=\"insert_chart_outlined\" subtitle=\"NothingHere\"></bizdoc-none>\r\n</ng-template>\r\n", components: [{ type: CubeAccumulationChartComponent, selector: "bizdoc-cube-accum", inputs: ["height", "width", "cube", "xAxis", "indices", "filters", "chartType", "scope", "loading"], outputs: ["loadingChange", "explore"] }, { type: CubeChartComponent, selector: "bizdoc-cube-chart", inputs: ["width", "height", "cube", "xAxis", "series", "indices", "filters", "yAxis", "chartType", "indicesChartType", "scope", "currencyCode", "loading"], outputs: ["explore", "loadingChange"] }, { type: NoneComponent, selector: "bizdoc-none", inputs: ["title", "subtitle", "icon"] }], directives: [{ type: i10$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i10$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i10$1.NgSwitchDefault, selector: "[ngSwitchDefault]" }] });
24657
24749
  CubeChartViewComponent = __decorate([
24658
24750
  BizDoc({
24659
24751
  selector: 'bizdoc-chart-view'
@@ -24661,7 +24753,7 @@ CubeChartViewComponent = __decorate([
24661
24753
  ], CubeChartViewComponent);
24662
24754
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CubeChartViewComponent, decorators: [{
24663
24755
  type: Component,
24664
- args: [{ host: { class: 'view' }, template: "<ng-container *ngIf=\"hasdata; \">\r\n <!--else none-->\r\n <ng-container [ngSwitch]=\"isAccum\">\r\n <bizdoc-cube-accum *ngSwitchCase=\"true\" [chartType]=\"chartType\" [width]=\"width\" [scope]=\"scope\"\r\n (explore)=\"explore($event)\"\r\n [cube]=\"cube.name\"\r\n [filters]=\"filters\"\r\n [xAxis]=\"xAxis\"></bizdoc-cube-accum>\r\n <bizdoc-cube-chart *ngSwitchDefault [cube]=\"cube.name\"\r\n [xAxis]=\"xAxis\" [series]=\"series\" [indices]=\"indices\"\r\n [filters]=\"filters\"\r\n [chartType]=\"chartType\" [indexChartType]=\"indexChartType\"\r\n [width]=\"width\" [scope]=\"scope\"\r\n (explore)=\"explore($event)\"></bizdoc-cube-chart>\r\n </ng-container>\r\n</ng-container>\r\n<ng-template #none>\r\n <bizdoc-none icon=\"insert_chart_outlined\" subtitle=\"NothingHere\"></bizdoc-none>\r\n</ng-template>\r\n" }]
24756
+ args: [{ host: { class: 'view' }, template: "<ng-container *ngIf=\"hasdata; \">\r\n <!--else none-->\r\n <ng-container [ngSwitch]=\"isAccum\">\r\n <bizdoc-cube-accum *ngSwitchCase=\"true\" [chartType]=\"chartType\" [width]=\"width\" [scope]=\"scope\"\r\n (explore)=\"explore($event)\"\r\n [cube]=\"cube.name\"\r\n [filters]=\"filters\"\r\n [xAxis]=\"xAxis\"></bizdoc-cube-accum>\r\n <bizdoc-cube-chart *ngSwitchDefault\r\n [cube]=\"cube.name\"\r\n [xAxis]=\"xAxis\"\r\n [series]=\"series\"\r\n [indices]=\"indices\"\r\n [filters]=\"filters\"\r\n [chartType]=\"chartType\"\r\n [indicesChartType]=\"indicesChartType\"\r\n [width]=\"width\"\r\n [scope]=\"scope\"\r\n (explore)=\"explore($event)\"></bizdoc-cube-chart>\r\n </ng-container>\r\n</ng-container>\r\n<ng-template #none>\r\n <bizdoc-none icon=\"insert_chart_outlined\" subtitle=\"NothingHere\"></bizdoc-none>\r\n</ng-template>\r\n" }]
24665
24757
  }], ctorParameters: function () { return [{ type: SessionService }, { type: DocumentViewRef }, { type: CubeService }, { type: RouterImpl }]; } });
24666
24758
 
24667
24759
  let CubeExploreViewComponent = class CubeExploreViewComponent extends CubeBase {
@@ -24783,10 +24875,10 @@ class CubeParallelComponent {
24783
24875
  this._loading.pipe(debounceTime$1(200)).subscribe(ok => this.loading = ok);
24784
24876
  }
24785
24877
  ngOnChanges(changes) {
24786
- delete this.axes[this.xAxis];
24878
+ delete this.filters[this.xAxis];
24787
24879
  this._cube = this._session.profile.cubes.find(c => c.name === this.cube) || this._session.profile.cubes[0];
24788
24880
  this.format = (this._cube.currencyCode ? 'c' : 'n') + this._service.fractionDigits;
24789
- if (changes['axes'])
24881
+ if (changes['filters'])
24790
24882
  this._initialize();
24791
24883
  else if (changes['size'] && this.items.length)
24792
24884
  this.width = Math.round(this.size / this.items.length) + 'px';
@@ -24802,7 +24894,7 @@ class CubeParallelComponent {
24802
24894
  }
24803
24895
  _initialize() {
24804
24896
  this._loading.next(true);
24805
- const filters = { ...this.axes };
24897
+ const filters = { ...this.filters };
24806
24898
  this._service.series(this._cube.name, this.xAxis, {
24807
24899
  series: this.series,
24808
24900
  filters,
@@ -24824,7 +24916,7 @@ class CubeParallelComponent {
24824
24916
  this.items = [];
24825
24917
  const colorMap = {};
24826
24918
  let colorIndex = 0;
24827
- let originalXAxis = this.axes[isArray(this.xAxis) ? this.xAxis[0] : this.xAxis], originalSeries = this.axes[isArray(this.series) ? this.series[0] : this.series];
24919
+ let originalXAxis = this.filters[isArray(this.xAxis) ? this.xAxis[0] : this.xAxis], originalSeries = this.filters[isArray(this.series) ? this.series[0] : this.series];
24828
24920
  if (!isArray(originalXAxis))
24829
24921
  originalXAxis = [originalXAxis];
24830
24922
  if (!isArray(originalSeries))
@@ -24867,7 +24959,7 @@ class CubeParallelComponent {
24867
24959
  axes[xAxis[i]] = x.split(AXES_CODE_DIVIDER)[i];
24868
24960
  }
24869
24961
  this.onExplore.emit({
24870
- axes: { ...this.axes, ...axes },
24962
+ axes: { ...this.filters, ...axes },
24871
24963
  index
24872
24964
  });
24873
24965
  }
@@ -24878,11 +24970,11 @@ class CubeParallelComponent {
24878
24970
  }
24879
24971
  }
24880
24972
  CubeParallelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CubeParallelComponent, deps: [{ token: PromptService }, { token: CubeService }, { token: SessionService }], target: i0.ɵɵFactoryTarget.Component });
24881
- CubeParallelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: CubeParallelComponent, selector: "bizdoc-cube-parallel", inputs: { axes: "axes", xAxis: "xAxis", series: "series", indices: "indices", cube: "cube", size: "size", chartType: "chartType", scope: "scope" }, outputs: { onExplore: "explore" }, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"items.length\" class=\"row\">\r\n <div *ngFor=\"let s of items\" class=\"element\">\r\n <ejs-sparkline [width]='width' height='100px' [type]='s.chartType' [id]=\"s.data.name\"\r\n [dataSource]=\"s.data.points\" xName=\"name\"\r\n yName=\"y\" [palette]=\"s.palette\" [format]=\"format\"\r\n valueType=\"Category\"\r\n [enableRtl]=\"enableRtl\"\r\n [border]=\"s.border\"\r\n [fill]=\"s.fill\"\r\n [axisSettings]=\"axisSettings\"\r\n [markerSettings]=\"s.markerSettings\"\r\n (pointRegionMouseClick)=\"sprklineClick(s, $event)\"\r\n [tooltipSettings]=\"s.tooltipSettings\">\r\n </ejs-sparkline>\r\n <h4 class=\"mat-h4\">{{s.data.title}}</h4>\r\n </div>\r\n</div>\r\n", styles: [":host{padding:8px}.element{display:flex;flex-direction:column;align-items:center;flex:1 1 auto}\n"], components: [{ type: i8$2.SparklineComponent, selector: "ejs-sparkline", inputs: ["axisSettings", "border", "containerArea", "dataLabelSettings", "dataSource", "enablePersistence", "enableRtl", "endPointColor", "fill", "format", "height", "highPointColor", "lineWidth", "locale", "lowPointColor", "markerSettings", "negativePointColor", "opacity", "padding", "palette", "query", "rangeBandSettings", "rangePadding", "startPointColor", "theme", "tiePointColor", "tooltipSettings", "type", "useGroupingSeparator", "valueType", "width", "xName", "yName"], outputs: ["axisRendering", "dataLabelRendering", "load", "loaded", "markerRendering", "pointRegionMouseClick", "pointRegionMouseMove", "pointRendering", "resize", "seriesRendering", "sparklineMouseClick", "sparklineMouseMove", "tooltipInitialize"] }], directives: [{ type: i10$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
24973
+ CubeParallelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: CubeParallelComponent, selector: "bizdoc-cube-parallel", inputs: { filters: "filters", xAxis: "xAxis", series: "series", indices: "indices", cube: "cube", size: "size", chartType: "chartType", scope: "scope" }, outputs: { onExplore: "explore" }, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"items.length\" class=\"row\">\r\n <div *ngFor=\"let s of items\" class=\"element\">\r\n <ejs-sparkline [width]='width' height='100px' [type]='s.chartType' [id]=\"s.data.name\"\r\n [dataSource]=\"s.data.points\" xName=\"name\"\r\n yName=\"y\" [palette]=\"s.palette\" [format]=\"format\"\r\n valueType=\"Category\"\r\n [enableRtl]=\"enableRtl\"\r\n [border]=\"s.border\"\r\n [fill]=\"s.fill\"\r\n [axisSettings]=\"axisSettings\"\r\n [markerSettings]=\"s.markerSettings\"\r\n (pointRegionMouseClick)=\"sprklineClick(s, $event)\"\r\n [tooltipSettings]=\"s.tooltipSettings\">\r\n </ejs-sparkline>\r\n <h4 class=\"mat-h4\">{{s.data.title}}</h4>\r\n </div>\r\n</div>\r\n", styles: [":host{padding:8px}.element{display:flex;flex-direction:column;align-items:center;flex:1 1 auto}\n"], components: [{ type: i8$2.SparklineComponent, selector: "ejs-sparkline", inputs: ["axisSettings", "border", "containerArea", "dataLabelSettings", "dataSource", "enablePersistence", "enableRtl", "endPointColor", "fill", "format", "height", "highPointColor", "lineWidth", "locale", "lowPointColor", "markerSettings", "negativePointColor", "opacity", "padding", "palette", "query", "rangeBandSettings", "rangePadding", "startPointColor", "theme", "tiePointColor", "tooltipSettings", "type", "useGroupingSeparator", "valueType", "width", "xName", "yName"], outputs: ["axisRendering", "dataLabelRendering", "load", "loaded", "markerRendering", "pointRegionMouseClick", "pointRegionMouseMove", "pointRendering", "resize", "seriesRendering", "sparklineMouseClick", "sparklineMouseMove", "tooltipInitialize"] }], directives: [{ type: i10$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
24882
24974
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CubeParallelComponent, decorators: [{
24883
24975
  type: Component,
24884
24976
  args: [{ selector: 'bizdoc-cube-parallel', template: "<div *ngIf=\"items.length\" class=\"row\">\r\n <div *ngFor=\"let s of items\" class=\"element\">\r\n <ejs-sparkline [width]='width' height='100px' [type]='s.chartType' [id]=\"s.data.name\"\r\n [dataSource]=\"s.data.points\" xName=\"name\"\r\n yName=\"y\" [palette]=\"s.palette\" [format]=\"format\"\r\n valueType=\"Category\"\r\n [enableRtl]=\"enableRtl\"\r\n [border]=\"s.border\"\r\n [fill]=\"s.fill\"\r\n [axisSettings]=\"axisSettings\"\r\n [markerSettings]=\"s.markerSettings\"\r\n (pointRegionMouseClick)=\"sprklineClick(s, $event)\"\r\n [tooltipSettings]=\"s.tooltipSettings\">\r\n </ejs-sparkline>\r\n <h4 class=\"mat-h4\">{{s.data.title}}</h4>\r\n </div>\r\n</div>\r\n", styles: [":host{padding:8px}.element{display:flex;flex-direction:column;align-items:center;flex:1 1 auto}\n"] }]
24885
- }], ctorParameters: function () { return [{ type: PromptService }, { type: CubeService }, { type: SessionService }]; }, propDecorators: { axes: [{
24977
+ }], ctorParameters: function () { return [{ type: PromptService }, { type: CubeService }, { type: SessionService }]; }, propDecorators: { filters: [{
24886
24978
  type: Input
24887
24979
  }], xAxis: [{
24888
24980
  type: Input
@@ -24934,7 +25026,7 @@ let CubeParallelViewComponent = class CubeParallelViewComponent extends CubeBase
24934
25026
  }
24935
25027
  };
24936
25028
  CubeParallelViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CubeParallelViewComponent, deps: [{ token: DocumentViewRef }, { token: RouterImpl }, { token: CubeService }, { token: SessionService }], target: i0.ɵɵFactoryTarget.Component });
24937
- CubeParallelViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: CubeParallelViewComponent, selector: "ng-component", host: { classAttribute: "view" }, usesInheritance: true, ngImport: i0, template: "<bizdoc-cube-parallel *ngIf=hasdata [axes]=\"axes\" [chartType]=\"chartType\"\r\n [xAxis]=\"xAxis\" [series]=\"series\"\r\n [scope]=\"scope\"\r\n [indices]=\"indices\"\r\n [cube]=\"cube.name\"\r\n [size]=\"size\"\r\n (explore)=\"explore($event)\"></bizdoc-cube-parallel>\r\n", styles: [":host{padding:8px}.element{display:flex;flex-direction:column;align-items:center;flex:1 1 auto}\n"], components: [{ type: CubeParallelComponent, selector: "bizdoc-cube-parallel", inputs: ["axes", "xAxis", "series", "indices", "cube", "size", "chartType", "scope"], outputs: ["explore"] }], directives: [{ type: i10$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
25029
+ CubeParallelViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: CubeParallelViewComponent, selector: "ng-component", host: { classAttribute: "view" }, usesInheritance: true, ngImport: i0, template: "<bizdoc-cube-parallel *ngIf=hasdata\r\n [cube]=\"cube.name\"\r\n [xAxis]=\"xAxis\"\r\n [series]=\"series\"\r\n [indices]=\"indices\"\r\n [filters]=\"axes\"\r\n [chartType]=\"chartType\"\r\n [scope]=\"scope\"\r\n [size]=\"size\"\r\n (explore)=\"explore($event)\"></bizdoc-cube-parallel>\r\n", styles: [":host{padding:8px}.element{display:flex;flex-direction:column;align-items:center;flex:1 1 auto}\n"], components: [{ type: CubeParallelComponent, selector: "bizdoc-cube-parallel", inputs: ["filters", "xAxis", "series", "indices", "cube", "size", "chartType", "scope"], outputs: ["explore"] }], directives: [{ type: i10$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
24938
25030
  CubeParallelViewComponent = __decorate([
24939
25031
  BizDoc({
24940
25032
  selector: 'bizdoc-parallel-view'
@@ -24942,7 +25034,7 @@ CubeParallelViewComponent = __decorate([
24942
25034
  ], CubeParallelViewComponent);
24943
25035
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: CubeParallelViewComponent, decorators: [{
24944
25036
  type: Component,
24945
- args: [{ host: { class: 'view' }, template: "<bizdoc-cube-parallel *ngIf=hasdata [axes]=\"axes\" [chartType]=\"chartType\"\r\n [xAxis]=\"xAxis\" [series]=\"series\"\r\n [scope]=\"scope\"\r\n [indices]=\"indices\"\r\n [cube]=\"cube.name\"\r\n [size]=\"size\"\r\n (explore)=\"explore($event)\"></bizdoc-cube-parallel>\r\n", styles: [":host{padding:8px}.element{display:flex;flex-direction:column;align-items:center;flex:1 1 auto}\n"] }]
25037
+ args: [{ host: { class: 'view' }, template: "<bizdoc-cube-parallel *ngIf=hasdata\r\n [cube]=\"cube.name\"\r\n [xAxis]=\"xAxis\"\r\n [series]=\"series\"\r\n [indices]=\"indices\"\r\n [filters]=\"axes\"\r\n [chartType]=\"chartType\"\r\n [scope]=\"scope\"\r\n [size]=\"size\"\r\n (explore)=\"explore($event)\"></bizdoc-cube-parallel>\r\n", styles: [":host{padding:8px}.element{display:flex;flex-direction:column;align-items:center;flex:1 1 auto}\n"] }]
24946
25038
  }], ctorParameters: function () { return [{ type: DocumentViewRef }, { type: RouterImpl }, { type: CubeService }, { type: SessionService }]; } });
24947
25039
 
24948
25040
  /** */
@@ -25076,7 +25168,7 @@ SharedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "
25076
25168
  DashboardComponent, WidgetItemComponent, CubeWidgetFilterComponent, CubeAccumAnalysisWidget, CubeAnalysisWidget, CubeChartAnalysisWidget, ActionsWidget, RecentsWidget,
25077
25169
  AskDialog, AboutDialog, ActionDialog,
25078
25170
  ImpersonateDialog,
25079
- ConversationComponent, CubeMatrixPageComponent,
25171
+ ConversationComponent, CubeMatrixPopupComponent,
25080
25172
  VersionCompareComponent, ExploreDocumentComponent, TasksComponent,
25081
25173
  PendingResultsWidget, CompareDepartmentsWidget, CubeDocumentsComponent, CubeDocumentsWidget,
25082
25174
  PersonalScoreWidget, PersonalActivityWidget, PeersPerformanceWidget, UsagePivotComponent, UsageChartComponent, UsageReportArgs,
@@ -25213,7 +25305,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
25213
25305
  DashboardComponent, WidgetItemComponent, CubeWidgetFilterComponent, CubeAccumAnalysisWidget, CubeAnalysisWidget, CubeChartAnalysisWidget, ActionsWidget, RecentsWidget,
25214
25306
  AskDialog, AboutDialog, ActionDialog,
25215
25307
  ImpersonateDialog,
25216
- ConversationComponent, CubeMatrixPageComponent,
25308
+ ConversationComponent, CubeMatrixPopupComponent,
25217
25309
  VersionCompareComponent, ExploreDocumentComponent, TasksComponent,
25218
25310
  PendingResultsWidget, CompareDepartmentsWidget, CubeDocumentsComponent, CubeDocumentsWidget,
25219
25311
  PersonalScoreWidget, PersonalActivityWidget, PeersPerformanceWidget, UsagePivotComponent, UsageChartComponent, UsageReportArgs,