@bizdoc/core 2.4.11 → 2.4.13

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.
@@ -145,9 +145,9 @@ import * as i8$3 from '@syncfusion/ej2-angular-grids';
145
145
  import { GridModule, PagerModule, ExcelExportService, AggregateService, FreezeService, GroupService, PageService, ResizeService, SortService, SelectionService as SelectionService$1, ExcelExport, Sort, Group, Page, Freeze, Selection as Selection$1, Aggregate, Grid as Grid$1, GridComponent } from '@syncfusion/ej2-angular-grids';
146
146
  import * as i6$6 from '@syncfusion/ej2-angular-circulargauge';
147
147
  import { Annotations, GaugeTooltip, Legend as Legend$1, CircularGauge, CircularGaugeModule, AnnotationsService as AnnotationsService$1, GaugeTooltipService as GaugeTooltipService$1, LegendService as LegendService$1 } from '@syncfusion/ej2-angular-circulargauge';
148
- import { PivotViewModule, ExcelExportService as ExcelExportService$1, GroupingBarService, NumberFormattingService, GroupingService, PivotChartService, ConditionalFormattingService, GroupingBar, ExcelExport as ExcelExport$1, PivotChart, PivotView as PivotView$1, PivotViewComponent } from '@syncfusion/ej2-angular-pivotview';
148
+ import { PivotViewModule, ExcelExportService as ExcelExportService$1, GroupingBarService, NumberFormattingService, GroupingService, PivotChartService, ConditionalFormattingService, CalculatedFieldService, GroupingBar, ExcelExport as ExcelExport$1, PivotChart, CalculatedField, PivotView as PivotView$1, PivotViewComponent } from '@syncfusion/ej2-angular-pivotview';
149
149
  import * as i9$1 from '@syncfusion/ej2-angular-spreadsheet';
150
- import { SpreadsheetModule, SelectionService as SelectionService$2, BasicModuleService, ClipboardService, CellFormatService, KeyboardNavigationService, KeyboardShortcutService, NumberFormatService } from '@syncfusion/ej2-angular-spreadsheet';
150
+ import { SpreadsheetModule, SelectionService as SelectionService$2, ClipboardService, CellFormatService, KeyboardNavigationService, KeyboardShortcutService, NumberFormatService } from '@syncfusion/ej2-angular-spreadsheet';
151
151
  import * as i6$5 from '@syncfusion/ej2-angular-gantt';
152
152
  import { Toolbar as Toolbar$1, DayMarkers, Sort as Sort$1, RowDD, CriticalPath, Gantt, GanttModule, ExcelExportService as ExcelExportService$3, DayMarkersService, SelectionService as SelectionService$3 } from '@syncfusion/ej2-angular-gantt';
153
153
  import relativeTime from 'dayjs/plugin/relativeTime';
@@ -9545,8 +9545,6 @@ class ComposeFormComponent {
9545
9545
  const componentRef = this._container.createComponent(comp, { injector });
9546
9546
  this._instance = componentRef.instance;
9547
9547
  this._formRef._mode = this._instance.mode = this.mode;
9548
- this.page !== undefined &&
9549
- this._navPage(this.page);
9550
9548
  this._instance.form.statusChanges.pipe(takeUntil(this._destroy)).subscribe(() => {
9551
9549
  const { dirty, valid } = this._instance.form;
9552
9550
  this.dirty = dirty;
@@ -9560,6 +9558,8 @@ class ComposeFormComponent {
9560
9558
  debounceTime(AUTO_SAVE_DELAY)).subscribe(() => !this.working && this.dirty &&
9561
9559
  this.save(false).subscribe());
9562
9560
  this._instance.onBind(this.model);
9561
+ this.page !== undefined &&
9562
+ this._navPage(this.page);
9563
9563
  this._reset();
9564
9564
  }
9565
9565
  }
@@ -16556,7 +16556,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
16556
16556
  type: Directive
16557
16557
  }], ctorParameters: () => [{ type: CubeService }, { type: DatasourceService }, { type: SessionService }] });
16558
16558
 
16559
- const LOADING_GRACE = 200;
16559
+ const LOADING_INDICATOR_GRACE = 200;
16560
16560
  /** cube matrix component*/
16561
16561
  class CubeMatrixComponent {
16562
16562
  set sum(val) {
@@ -16665,7 +16665,7 @@ class CubeMatrixComponent {
16665
16665
  });
16666
16666
  }
16667
16667
  refresh() {
16668
- const progressTask = setTimeout(() => this.loadingChange.next(this.loading = true), LOADING_GRACE);
16668
+ const progressTask = setTimeout(() => this.loadingChange.next(this.loading = true), LOADING_INDICATOR_GRACE);
16669
16669
  this._prepare.then(() => this._service.series(this.cube.name, this._xAxis, {
16670
16670
  series: this._series,
16671
16671
  indices: this._indices,
@@ -16897,34 +16897,34 @@ class CubeMatrixComponent {
16897
16897
  }
16898
16898
  /** */
16899
16899
  export() {
16900
- const numberFormat = this._service.numberFormat, columns = this.columns.filter(c => !c.sum), rows = [{
16901
- index: 1, cells: columns.map((c, j) => ({
16902
- index: j + 2,
16903
- value: c.value, style: { bold: true }
16904
- }))
16905
- }, ...this.rows.filter(r => !r.sum).map((r, i) => {
16906
- const data = this._rawdata[r.key];
16907
- return {
16908
- index: i + 2,
16909
- cells: [{ index: 1, value: r.value, style: { bold: true } },
16910
- ...columns.map((c, j) => ({
16911
- type: 'number',
16912
- index: j + 2,
16913
- value: data && data[c.key] !== undefined ? data[c.key] : 0,
16914
- style: {
16915
- numberFormat,
16916
- hAlign: 'right',
16917
- }
16918
- }))]
16919
- };
16920
- })];
16900
+ const numberFormat = this._service.numberFormat, columns = this.columns.filter(c => !c.sum);
16921
16901
  const book = new Workbook({
16922
16902
  worksheets: [
16923
16903
  {
16924
16904
  enableRtl: this._session.inverse,
16925
16905
  name: this._translate.get('SheetN', 1),
16926
16906
  columns: columns.map((_, i) => ({ index: i + 1, width: 150 })),
16927
- rows,
16907
+ rows: [{
16908
+ index: 1, cells: columns.map((c, j) => ({
16909
+ index: j + 2,
16910
+ value: c.value, style: { bold: true }
16911
+ }))
16912
+ }, ...this.rows.filter(r => !r.sum).map((r, i) => {
16913
+ const data = this._rawdata[r.key];
16914
+ return {
16915
+ index: i + 2,
16916
+ cells: [{ index: 1, value: r.value, style: { bold: true } },
16917
+ ...columns.map((c, j) => ({
16918
+ type: 'number',
16919
+ index: j + 2,
16920
+ value: data && data[c.key] !== undefined ? data[c.key] : 0,
16921
+ style: {
16922
+ numberFormat,
16923
+ hAlign: 'right',
16924
+ }
16925
+ }))]
16926
+ };
16927
+ })],
16928
16928
  }
16929
16929
  ]
16930
16930
  }, 'xlsx');
@@ -16965,11 +16965,11 @@ class CubeMatrixComponent {
16965
16965
  }
16966
16966
  }
16967
16967
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CubeMatrixComponent, deps: [{ token: PromptService }, { token: CubeService }, { token: SessionService }, { token: TranslateService }, { token: DatasourceService }], target: i0.ɵɵFactoryTarget.Component }); }
16968
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.0", type: CubeMatrixComponent, selector: "bizdoc-cube-matrix", inputs: { seriesTotalLabel: "seriesTotalLabel", xAxisTotalLabel: "xAxisTotalLabel", _cube: ["cube", "_cube"], _xAxis: ["xAxis", "_xAxis"], _series: ["series", "_series"], _indices: ["indices", "_indices"], indexAt: "indexAt", placeAt: "placeAt", 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: "@if (data) {\n <table #table class=\"mat-mdc-table cube-table\" (mouseleave)=\"_move(-1, -1)\">\n <thead>\n <!-- headers -->\n <tr class=\"mat-mdc-header-row\">\n <th></th>\n @for (column of columns; track column; let x = $index) {\n <th\n (mouseenter)=\"_move(x + 1, -2)\" class=\"mat-mdc-header-cell\">\n {{ column.value }}\n </th>\n }\n <th class=\"mat-mdc-header-cell\">{{xAxisTotalLabel}}</th>\n </tr>\n </thead>\n <tbody>\n <!-- rows -->\n @for (row of rows; track row; let y = $index) {\n <tr class=\"mat-mdc-row\"\n [class.cube-index]=\"row.index\">\n <th class=\"mat-mdc-header-cell\" (mouseenter)=\"_move(-2, y )\">{{ row.value }}</th>\n @for (column of columns; track column; let x = $index) {\n <td class=\"mat-mdc-cell figure\"\n (mouseenter)=\"_move(x + 1, y )\">\n @if (data[row.key][column.key] !== '0') {\n <span\n [class.explorable]=\"interactive && column.explorable !== false && row.explorable !== false\"\n (click)=\"explore(column, row)\">\n {{ data[row.key][column.key] }}\n </span>\n } @else {\n 0\n }\n </td>\n }\n <th class=\"mat-mdc-cell figure\" (mouseenter)=\"_move(-1, y )\">\n {{ data[row.key]['_total'] }}\n </th>\n </tr>\n }\n </tbody>\n <tfoot>\n <!-- footer -->\n <tr class=\"mat-mdc-footer-row\">\n <td class=\"mat-mdc-footer-cell\">{{seriesTotalLabel}}</td>\n @for (column of columns; track column; let x = $index) {\n <td class=\"mat-mdc-footer-cell figure\"\n (mouseenter)=\"_move(x + 1, -2)\"\n [class.negative-figure]=\"totals[column.key].startsWith('-')\">\n @if (totals[column.key] !== undefined) {\n {{ totals[column.key] }}\n }\n </td>\n }\n <th class=\"mat-mdc-footer-cell figure\">{{ totals['_grand'] }}</th>\n </tr>\n </tfoot>\n </table>\n}\n", styles: [".explorable{cursor:pointer}.cube-table{width:100%;table-layout:fixed}.cube-table th{cursor:default}.cube-table th.figure{font-weight:500}.cube-table td,.cube-table th{padding-right:8px}.cube-table tfoot tr td{border-bottom:none}\n"], animations: [matrixAnimation] }); }
16968
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.0", type: CubeMatrixComponent, selector: "bizdoc-cube-matrix", inputs: { seriesTotalLabel: "seriesTotalLabel", xAxisTotalLabel: "xAxisTotalLabel", _cube: ["cube", "_cube"], _xAxis: ["xAxis", "_xAxis"], _series: ["series", "_series"], _indices: ["indices", "_indices"], indexAt: "indexAt", placeAt: "placeAt", 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: "@if (data) {\n <table #table class=\"mat-mdc-table cube-table\" (mouseleave)=\"_move(-1, -1)\">\n <thead>\n <!-- headers -->\n <tr class=\"mat-mdc-header-row\">\n <th></th>\n @for (column of columns; track column; let x = $index) {\n <th\n (mouseenter)=\"_move(x + 1, -2)\" class=\"mat-mdc-header-cell\">\n {{ column.value }}\n </th>\n }\n <th class=\"mat-mdc-header-cell\">{{xAxisTotalLabel}}</th>\n </tr>\n </thead>\n <tbody>\n <!-- rows -->\n @for (row of rows; track row; let y = $index) {\n <tr class=\"mat-mdc-row\"\n [class.cube-index]=\"row.index\">\n <th class=\"mat-mdc-header-cell\" (mouseenter)=\"_move(-2, y )\">{{ row.value }}</th>\n @for (column of columns; track column; let x = $index) {\n <td class=\"mat-mdc-cell figure\"\n (mouseenter)=\"_move(x + 1, y )\">\n @if (data[row.key][column.key] !== '0') {\n <span\n [class.explorable]=\"interactive && column.explorable !== false && row.explorable !== false\"\n (click)=\"explore(column, row)\">\n {{ data[row.key][column.key] }}\n </span>\n } @else {\n 0\n }\n </td>\n }\n <th class=\"mat-mdc-cell figure\" (mouseenter)=\"_move(-1, y )\">\n {{ data[row.key]['_total'] }}\n </th>\n </tr>\n }\n </tbody>\n <tfoot>\n <!-- footer -->\n <tr class=\"mat-mdc-footer-row\">\n <td class=\"mat-mdc-footer-cell\">{{seriesTotalLabel}}</td>\n @for (column of columns; track column; let x = $index) {\n <td class=\"mat-mdc-footer-cell figure\"\n (mouseenter)=\"_move(x + 1, -2)\"\n [class.negative-figure]=\"totals[column.key].startsWith('-')\">\n @if (totals[column.key] !== undefined) {\n {{ totals[column.key] }}\n }\n </td>\n }\n <th class=\"mat-mdc-footer-cell figure\">{{ totals['_grand'] }}</th>\n </tr>\n </tfoot>\n </table>\n}\n", styles: [".cube-table{width:100%}.cube-table th{cursor:default}.cube-table th.figure{font-weight:500}.cube-table td,.cube-table th{padding-right:8px}.cube-table .explorable{cursor:pointer}.cube-table tfoot tr td{border-bottom:none}\n"], animations: [matrixAnimation] }); }
16969
16969
  }
16970
16970
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CubeMatrixComponent, decorators: [{
16971
16971
  type: Component,
16972
- args: [{ selector: 'bizdoc-cube-matrix', animations: [matrixAnimation], template: "@if (data) {\n <table #table class=\"mat-mdc-table cube-table\" (mouseleave)=\"_move(-1, -1)\">\n <thead>\n <!-- headers -->\n <tr class=\"mat-mdc-header-row\">\n <th></th>\n @for (column of columns; track column; let x = $index) {\n <th\n (mouseenter)=\"_move(x + 1, -2)\" class=\"mat-mdc-header-cell\">\n {{ column.value }}\n </th>\n }\n <th class=\"mat-mdc-header-cell\">{{xAxisTotalLabel}}</th>\n </tr>\n </thead>\n <tbody>\n <!-- rows -->\n @for (row of rows; track row; let y = $index) {\n <tr class=\"mat-mdc-row\"\n [class.cube-index]=\"row.index\">\n <th class=\"mat-mdc-header-cell\" (mouseenter)=\"_move(-2, y )\">{{ row.value }}</th>\n @for (column of columns; track column; let x = $index) {\n <td class=\"mat-mdc-cell figure\"\n (mouseenter)=\"_move(x + 1, y )\">\n @if (data[row.key][column.key] !== '0') {\n <span\n [class.explorable]=\"interactive && column.explorable !== false && row.explorable !== false\"\n (click)=\"explore(column, row)\">\n {{ data[row.key][column.key] }}\n </span>\n } @else {\n 0\n }\n </td>\n }\n <th class=\"mat-mdc-cell figure\" (mouseenter)=\"_move(-1, y )\">\n {{ data[row.key]['_total'] }}\n </th>\n </tr>\n }\n </tbody>\n <tfoot>\n <!-- footer -->\n <tr class=\"mat-mdc-footer-row\">\n <td class=\"mat-mdc-footer-cell\">{{seriesTotalLabel}}</td>\n @for (column of columns; track column; let x = $index) {\n <td class=\"mat-mdc-footer-cell figure\"\n (mouseenter)=\"_move(x + 1, -2)\"\n [class.negative-figure]=\"totals[column.key].startsWith('-')\">\n @if (totals[column.key] !== undefined) {\n {{ totals[column.key] }}\n }\n </td>\n }\n <th class=\"mat-mdc-footer-cell figure\">{{ totals['_grand'] }}</th>\n </tr>\n </tfoot>\n </table>\n}\n", styles: [".explorable{cursor:pointer}.cube-table{width:100%;table-layout:fixed}.cube-table th{cursor:default}.cube-table th.figure{font-weight:500}.cube-table td,.cube-table th{padding-right:8px}.cube-table tfoot tr td{border-bottom:none}\n"] }]
16972
+ args: [{ selector: 'bizdoc-cube-matrix', animations: [matrixAnimation], template: "@if (data) {\n <table #table class=\"mat-mdc-table cube-table\" (mouseleave)=\"_move(-1, -1)\">\n <thead>\n <!-- headers -->\n <tr class=\"mat-mdc-header-row\">\n <th></th>\n @for (column of columns; track column; let x = $index) {\n <th\n (mouseenter)=\"_move(x + 1, -2)\" class=\"mat-mdc-header-cell\">\n {{ column.value }}\n </th>\n }\n <th class=\"mat-mdc-header-cell\">{{xAxisTotalLabel}}</th>\n </tr>\n </thead>\n <tbody>\n <!-- rows -->\n @for (row of rows; track row; let y = $index) {\n <tr class=\"mat-mdc-row\"\n [class.cube-index]=\"row.index\">\n <th class=\"mat-mdc-header-cell\" (mouseenter)=\"_move(-2, y )\">{{ row.value }}</th>\n @for (column of columns; track column; let x = $index) {\n <td class=\"mat-mdc-cell figure\"\n (mouseenter)=\"_move(x + 1, y )\">\n @if (data[row.key][column.key] !== '0') {\n <span\n [class.explorable]=\"interactive && column.explorable !== false && row.explorable !== false\"\n (click)=\"explore(column, row)\">\n {{ data[row.key][column.key] }}\n </span>\n } @else {\n 0\n }\n </td>\n }\n <th class=\"mat-mdc-cell figure\" (mouseenter)=\"_move(-1, y )\">\n {{ data[row.key]['_total'] }}\n </th>\n </tr>\n }\n </tbody>\n <tfoot>\n <!-- footer -->\n <tr class=\"mat-mdc-footer-row\">\n <td class=\"mat-mdc-footer-cell\">{{seriesTotalLabel}}</td>\n @for (column of columns; track column; let x = $index) {\n <td class=\"mat-mdc-footer-cell figure\"\n (mouseenter)=\"_move(x + 1, -2)\"\n [class.negative-figure]=\"totals[column.key].startsWith('-')\">\n @if (totals[column.key] !== undefined) {\n {{ totals[column.key] }}\n }\n </td>\n }\n <th class=\"mat-mdc-footer-cell figure\">{{ totals['_grand'] }}</th>\n </tr>\n </tfoot>\n </table>\n}\n", styles: [".cube-table{width:100%}.cube-table th{cursor:default}.cube-table th.figure{font-weight:500}.cube-table td,.cube-table th{padding-right:8px}.cube-table .explorable{cursor:pointer}.cube-table tfoot tr td{border-bottom:none}\n"] }]
16973
16973
  }], ctorParameters: () => [{ type: PromptService }, { type: CubeService }, { type: SessionService }, { type: TranslateService }, { type: DatasourceService }], propDecorators: { tableElement: [{
16974
16974
  type: ViewChild,
16975
16975
  args: ['table']
@@ -17099,11 +17099,11 @@ class CubeMatrixPaneComponent extends CubeMatrixBase {
17099
17099
  });
17100
17100
  }
17101
17101
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CubeMatrixPaneComponent, deps: [{ token: PaneRef }, { token: PanesRouter }, { token: TranslateService }, { token: CubeService }, { token: DatasourceService }, { token: SessionService }], target: i0.ɵɵFactoryTarget.Component }); }
17102
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.0", type: CubeMatrixPaneComponent, selector: "ng-component", viewQueries: [{ propertyName: "table", first: true, predicate: CubeMatrixComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<mat-toolbar class=\"nav-toolbar\">\n <button mat-icon-button (click)=\"table.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\n <button mat-icon-button [bizdocTooltip]=\"'Download' | translate\"\n data-help=\"download\" (click)=\"matrix.export()\">\n <mat-icon>save_alt</mat-icon>\n </button>\n <span class=\"divider\"></span>\n @if (patterns && patterns.length) {\n <button mat-icon-button [matMenuTriggerFor]=\"options\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\n }\n <mat-menu #options xPosition=\"before\">\n <!-- patterns -->\n @for (p of patterns; track p) {\n <button mat-menu-item (click)=\"aggregate(p)\">{{p.title}}</button>\n }\n </mat-menu>\n <button mat-icon-button (click)=\"reset()\" [disabled]=\"!pattern\" [bizdocTooltip]=\"'Clear' | translate\">\n <mat-icon>clear_all</mat-icon>\n </button>\n <!-- filters -->\n @for (f of filters; track f) {\n <button mat-button [matMenuTriggerFor]=\"fmenu\">{{values[f.name]| typeValue : f.dataType | async}} <mat-icon>arrow_drop_down</mat-icon></button>\n <mat-menu #fmenu xPosition=\"before\">\n @for (kv of sources[f.name] | async; track kv) {\n <button mat-menu-item\n (click)=\"filter(f.name, kv.key, kv.value)\">\n {{kv.value}}\n </button>\n }\n </mat-menu>\n }\n</mat-toolbar>\n<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\n<bizdoc-cube-matrix [cube]=\"cube\" [xAxis]=\"xAxis\" [series]=\"series\" [indices]=\"indices\" [sum]=sum\n [filters]=\"axes\" #matrix\n [xAxisTotalLabel]=\"xAxisTotalLabel\"\n [seriesTotalLabel]=\"seriesTotalLabel\"\n [placeAt]=\"placeAt\"\n [indexAt]=\"indexAt\"\n(loadingChange)=\"loading = $event\" (explore)='explore($event)'></bizdoc-cube-matrix>\n", styles: [":host{min-width:450px}:host ::ng-deep .cube-table thead{position:sticky;top:0}\n"], dependencies: [{ kind: "component", type: i7$3.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i8$1.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10$1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i10$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: CubeMatrixComponent, selector: "bizdoc-cube-matrix", inputs: ["seriesTotalLabel", "xAxisTotalLabel", "cube", "xAxis", "series", "indices", "indexAt", "placeAt", "scope", "sum", "filters", "loading", "interactive"], outputs: ["explore", "loadingChange"] }, { kind: "directive", type: MatIconAnimate, selector: "[matAnimate]" }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }, { kind: "pipe", type: TypeValuePipe, name: "typeValue" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
17102
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.0", type: CubeMatrixPaneComponent, selector: "ng-component", viewQueries: [{ propertyName: "table", first: true, predicate: CubeMatrixComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<mat-toolbar class=\"nav-toolbar\">\n <button mat-icon-button (click)=\"table.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\n <button mat-icon-button [bizdocTooltip]=\"'Download' | translate\"\n data-help=\"download\" (click)=\"matrix.export()\">\n <mat-icon>save_alt</mat-icon>\n </button>\n <span class=\"divider\"></span>\n @if (patterns && patterns.length) {\n <button mat-icon-button [matMenuTriggerFor]=\"options\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\n }\n <mat-menu #options xPosition=\"before\">\n <!-- patterns -->\n @for (p of patterns; track p) {\n <button mat-menu-item (click)=\"aggregate(p)\">{{p.title}}</button>\n }\n </mat-menu>\n <button mat-icon-button (click)=\"reset()\" [disabled]=\"!pattern\" [bizdocTooltip]=\"'Clear' | translate\">\n <mat-icon>clear_all</mat-icon>\n </button>\n <!-- filters -->\n @for (f of filters; track f) {\n <button mat-button [matMenuTriggerFor]=\"fmenu\">{{values[f.name]| typeValue : f.dataType | async}} <mat-icon>arrow_drop_down</mat-icon></button>\n <mat-menu #fmenu xPosition=\"before\">\n @for (kv of sources[f.name] | async; track kv) {\n <button mat-menu-item\n (click)=\"filter(f.name, kv.key, kv.value)\">\n {{kv.value}}\n </button>\n }\n </mat-menu>\n }\n</mat-toolbar>\n<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\n<bizdoc-cube-matrix [cube]=\"cube\" [xAxis]=\"xAxis\" [series]=\"series\" [indices]=\"indices\" [sum]=sum\n [filters]=\"axes\" #matrix\n [xAxisTotalLabel]=\"xAxisTotalLabel\"\n [seriesTotalLabel]=\"seriesTotalLabel\"\n [placeAt]=\"placeAt\"\n [indexAt]=\"indexAt\"\n(loadingChange)=\"loading = $event\" (explore)='explore($event)'></bizdoc-cube-matrix>\n", styles: [":host{min-width:500px}:host ::ng-deep .cube-table thead{position:sticky;top:0}\n"], dependencies: [{ kind: "component", type: i7$3.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i8$1.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10$1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i10$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: CubeMatrixComponent, selector: "bizdoc-cube-matrix", inputs: ["seriesTotalLabel", "xAxisTotalLabel", "cube", "xAxis", "series", "indices", "indexAt", "placeAt", "scope", "sum", "filters", "loading", "interactive"], outputs: ["explore", "loadingChange"] }, { kind: "directive", type: MatIconAnimate, selector: "[matAnimate]" }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }, { kind: "pipe", type: TypeValuePipe, name: "typeValue" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
17103
17103
  }
17104
17104
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CubeMatrixPaneComponent, decorators: [{
17105
17105
  type: Component,
17106
- args: [{ template: "<mat-toolbar class=\"nav-toolbar\">\n <button mat-icon-button (click)=\"table.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\n <button mat-icon-button [bizdocTooltip]=\"'Download' | translate\"\n data-help=\"download\" (click)=\"matrix.export()\">\n <mat-icon>save_alt</mat-icon>\n </button>\n <span class=\"divider\"></span>\n @if (patterns && patterns.length) {\n <button mat-icon-button [matMenuTriggerFor]=\"options\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\n }\n <mat-menu #options xPosition=\"before\">\n <!-- patterns -->\n @for (p of patterns; track p) {\n <button mat-menu-item (click)=\"aggregate(p)\">{{p.title}}</button>\n }\n </mat-menu>\n <button mat-icon-button (click)=\"reset()\" [disabled]=\"!pattern\" [bizdocTooltip]=\"'Clear' | translate\">\n <mat-icon>clear_all</mat-icon>\n </button>\n <!-- filters -->\n @for (f of filters; track f) {\n <button mat-button [matMenuTriggerFor]=\"fmenu\">{{values[f.name]| typeValue : f.dataType | async}} <mat-icon>arrow_drop_down</mat-icon></button>\n <mat-menu #fmenu xPosition=\"before\">\n @for (kv of sources[f.name] | async; track kv) {\n <button mat-menu-item\n (click)=\"filter(f.name, kv.key, kv.value)\">\n {{kv.value}}\n </button>\n }\n </mat-menu>\n }\n</mat-toolbar>\n<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\n<bizdoc-cube-matrix [cube]=\"cube\" [xAxis]=\"xAxis\" [series]=\"series\" [indices]=\"indices\" [sum]=sum\n [filters]=\"axes\" #matrix\n [xAxisTotalLabel]=\"xAxisTotalLabel\"\n [seriesTotalLabel]=\"seriesTotalLabel\"\n [placeAt]=\"placeAt\"\n [indexAt]=\"indexAt\"\n(loadingChange)=\"loading = $event\" (explore)='explore($event)'></bizdoc-cube-matrix>\n", styles: [":host{min-width:450px}:host ::ng-deep .cube-table thead{position:sticky;top:0}\n"] }]
17106
+ args: [{ template: "<mat-toolbar class=\"nav-toolbar\">\n <button mat-icon-button (click)=\"table.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\n <button mat-icon-button [bizdocTooltip]=\"'Download' | translate\"\n data-help=\"download\" (click)=\"matrix.export()\">\n <mat-icon>save_alt</mat-icon>\n </button>\n <span class=\"divider\"></span>\n @if (patterns && patterns.length) {\n <button mat-icon-button [matMenuTriggerFor]=\"options\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\n }\n <mat-menu #options xPosition=\"before\">\n <!-- patterns -->\n @for (p of patterns; track p) {\n <button mat-menu-item (click)=\"aggregate(p)\">{{p.title}}</button>\n }\n </mat-menu>\n <button mat-icon-button (click)=\"reset()\" [disabled]=\"!pattern\" [bizdocTooltip]=\"'Clear' | translate\">\n <mat-icon>clear_all</mat-icon>\n </button>\n <!-- filters -->\n @for (f of filters; track f) {\n <button mat-button [matMenuTriggerFor]=\"fmenu\">{{values[f.name]| typeValue : f.dataType | async}} <mat-icon>arrow_drop_down</mat-icon></button>\n <mat-menu #fmenu xPosition=\"before\">\n @for (kv of sources[f.name] | async; track kv) {\n <button mat-menu-item\n (click)=\"filter(f.name, kv.key, kv.value)\">\n {{kv.value}}\n </button>\n }\n </mat-menu>\n }\n</mat-toolbar>\n<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\n<bizdoc-cube-matrix [cube]=\"cube\" [xAxis]=\"xAxis\" [series]=\"series\" [indices]=\"indices\" [sum]=sum\n [filters]=\"axes\" #matrix\n [xAxisTotalLabel]=\"xAxisTotalLabel\"\n [seriesTotalLabel]=\"seriesTotalLabel\"\n [placeAt]=\"placeAt\"\n [indexAt]=\"indexAt\"\n(loadingChange)=\"loading = $event\" (explore)='explore($event)'></bizdoc-cube-matrix>\n", styles: [":host{min-width:500px}:host ::ng-deep .cube-table thead{position:sticky;top:0}\n"] }]
17107
17107
  }], ctorParameters: () => [{ type: PaneRef }, { type: PanesRouter }, { type: TranslateService }, { type: CubeService }, { type: DatasourceService }, { type: SessionService }], propDecorators: { table: [{
17108
17108
  type: ViewChild,
17109
17109
  args: [CubeMatrixComponent, { static: true }]
@@ -17468,6 +17468,11 @@ class DocumentFactory {
17468
17468
  this._dir = _dir;
17469
17469
  this._router = _router;
17470
17470
  }
17471
+ /**
17472
+ *
17473
+ * @param formId
17474
+ * @returns
17475
+ */
17471
17476
  create(formId) {
17472
17477
  const form = this._session.profile.forms.find(f => f.name == formId);
17473
17478
  return new Observable(observe => {
@@ -17552,6 +17557,11 @@ class DocumentFactory {
17552
17557
  state: { item }
17553
17558
  });
17554
17559
  }
17560
+ /**
17561
+ *
17562
+ * @param documentId
17563
+ * @returns
17564
+ */
17555
17565
  copy(documentId) {
17556
17566
  return new Observable(observe => this._mailbox.copy(documentId).
17557
17567
  subscribe({
@@ -18954,11 +18964,11 @@ class QuickOptionsComponent {
18954
18964
  this._destroy.complete();
18955
18965
  }
18956
18966
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: QuickOptionsComponent, deps: [{ token: PromptService }, { token: i1$2.FormBuilder }, { token: GuideService }, { token: PopupRef, optional: true }, { token: HubService }, { token: SessionService }, { token: i2$2.MatDialog }, { token: BIZDOC_CONFIG }], target: i0.ɵɵFactoryTarget.Component }); }
18957
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.0", type: QuickOptionsComponent, selector: "bizdoc-quick-options", ngImport: i0, template: "<div class=\"column\">\n <div class=\"profile-name\">\n <span class=\"mat-headline-6\">\n @if (profile.byName) {\n {{profile.byName}} \\\n }\n {{profile.name}}\n </span>\n </div>\n <mat-divider />\n <bizdoc-options section=\"notifications\"></bizdoc-options>\n <mat-divider />\n <!--keys-->\n <div *ngTemplateOutlet=\"keysTmpl\"></div>\n <!--themes-->\n @if (themes.length > 1) {\n <div class=\"row center\">\n @for (t of themes; track t) {\n <button (click)=\"changeTheme(t)\" mat-icon-button class=\"theme\" [style.background]=\"t.color\" [class.active]=\"t.name === theme\" [class.dark]=\"t.dark\" [bizdocTooltip]=\"'Theme'|translate\"></button>\n }\n </div>\n }\n</div>\n<!--guide-->\n<mat-nav-list role=\"list\">\n <mat-divider></mat-divider>\n <h3 mat-subheader [matBadge]=\"guidesCount\" matBadgeColor=\"accent\" matBadgeOverlap=\"false\" matBadgeSize=\"small\">{{'Help'|translate}}</h3>\n @for (g of guides; track g) {\n <button mat-menu-item (click)=\"guide(g.name)\">{{g.title}}</button>\n }\n</mat-nav-list>\n<mat-divider></mat-divider>\n<!--footer-->\n<div class=\"row\">\n <button mat-button role=\"listitem\" [matMenuTriggerFor]=\"language\">\n {{currentLanguage | translate}}\n <mat-icon>arrow_drop_down</mat-icon>\n <!--'ChangeLanguage'-->\n </button>\n <mat-menu #language>\n @for (l of languages; track l) {\n <button mat-menu-item (click)=\"changeLanguage(l)\">{{l | translate}}</button>\n }\n </mat-menu>\n @if (online) {\n <button mat-button [matMenuTriggerFor]=\"availability\">\n {{'ShowAs' | translate : (available | translate | lowercase)}}\n <mat-icon>arrow_drop_down</mat-icon>\n </button>\n }\n <mat-menu #availability>\n @for (m of modes; track m) {\n <button mat-menu-item (click)=\"setAvailable(m)\">{{m | translate}}</button>\n }\n </mat-menu>\n <span class=\"divider\"></span>\n <button mat-button role=\"listitem\" (click)=\"about()\">{{ 'About' | translate}}</button>\n @if (!online) {\n <button mat-icon-button (click)=\"revive()\" [bizdocTooltip]=\"'Connect'|translate\">\n <mat-icon>wifi_off</mat-icon>\n </button>\n }\n</div>\n<!---->\n<ng-template #keysTmpl>\n <dl class=\"keys mat-body-2\">\n <dt>Alt+n</dt>\n <dd>{{'AltNHelp'|translate}}</dd>\n <dt>Ctrl+s</dt>\n <dd>{{'CtrlSHelp'|translate}}</dd>\n <dt>Alt+s</dt>\n <dd>{{'AltSHelp'|translate}}</dd>\n <dt>Alt+q</dt>\n <dd>{{'AltQHelp'|translate}}</dd>\n <dt>Alt+a</dt>\n <dd>{{'AltAHelp'|translate}}</dd>\n <dt>Alt+h</dt>\n <dd>{{'AltHHelp'|translate}}</dd>\n <dt>Ctrl+.</dt>\n <dd>{{'CtrlDotHelp'|translate}}</dd>\n </dl>\n</ng-template>\n", styles: [".profile-name{margin:8px}.theme{height:22px;width:22px;-moz-border-radius:13px 13px;-webkit-border-radius:13px 13px;border-radius:13px;margin:4px}.theme.active.dark{border:2px solid #f4f4f4}button{font-weight:300!important}.keys dt{width:72px;float:inline-start;clear:both;font-variant-caps:all-small-caps}.keys dd{float:inline-end;font-size:small;margin:0}\n"], dependencies: [{ kind: "directive", type: i9.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: OptionsComponent, selector: "bizdoc-options", inputs: ["section"] }, { kind: "directive", type: i5$2.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: i2$4.MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "directive", type: i2$4.MatListSubheaderCssMatStyler, selector: "[mat-subheader], [matSubheader]" }, { kind: "component", type: i6$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10$1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i10$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i9.LowerCasePipe, name: "lowercase" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
18967
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.0", type: QuickOptionsComponent, selector: "bizdoc-quick-options", ngImport: i0, template: "<div class=\"column\">\n <div class=\"profile-name\">\n <span class=\"mat-headline-6\">\n @if (profile.byName) {\n {{profile.byName}} \\\n }\n {{profile.name}}\n </span>\n </div>\n <mat-divider />\n <bizdoc-options section=\"notifications\"></bizdoc-options>\n <mat-divider />\n <!--keys-->\n <div *ngTemplateOutlet=\"keysTmpl\"></div>\n <!--themes-->\n @if (themes.length > 1) {\n <div class=\"row center\">\n @for (t of themes; track t) {\n <button (click)=\"changeTheme(t)\" mat-icon-button class=\"theme\" [style.background]=\"t.color\" [class.active]=\"t.name === theme\" [class.dark]=\"t.dark\" [bizdocTooltip]=\"'Theme'|translate\"></button>\n }\n </div>\n }\n</div>\n<!--guide-->\n<mat-nav-list role=\"list\">\n <mat-divider></mat-divider>\n <h3 mat-subheader [matBadge]=\"guidesCount\" matBadgeColor=\"accent\" matBadgeOverlap=\"false\" matBadgeSize=\"small\">{{'Help'|translate}}</h3>\n @for (g of guides; track g) {\n <button mat-menu-item (click)=\"guide(g.name)\">{{g.title}}</button>\n }\n</mat-nav-list>\n<mat-divider></mat-divider>\n<!--footer-->\n<div class=\"row\">\n <button mat-button role=\"listitem\" [matMenuTriggerFor]=\"language\">\n {{currentLanguage | translate}}\n <mat-icon>arrow_drop_down</mat-icon>\n <!--'ChangeLanguage'-->\n </button>\n <mat-menu #language>\n @for (l of languages; track l) {\n <button mat-menu-item (click)=\"changeLanguage(l)\">{{l | translate}}</button>\n }\n </mat-menu>\n @if (online) {\n <button mat-button [matMenuTriggerFor]=\"availability\">\n {{'ShowAs' | translate : (available | translate | lowercase)}}\n <mat-icon>arrow_drop_down</mat-icon>\n </button>\n }\n <mat-menu #availability>\n @for (m of modes; track m) {\n <button mat-menu-item (click)=\"setAvailable(m)\">{{m | translate}}</button>\n }\n </mat-menu>\n <span class=\"divider\"></span>\n <button mat-button role=\"listitem\" (click)=\"about()\">{{ 'About' | translate}}</button>\n @if (!online) {\n <button mat-icon-button (click)=\"revive()\" [bizdocTooltip]=\"'Connect'|translate\">\n <mat-icon>wifi_off</mat-icon>\n </button>\n }\n</div>\n<!---->\n<ng-template #keysTmpl>\n <dl class=\"keys mat-body-2\">\n <dt>Alt+n</dt>\n <dd>{{'AltNHelp'|translate}}</dd>\n <dt>Ctrl+s</dt>\n <dd>{{'CtrlSHelp'|translate}}</dd>\n <dt>Alt+s</dt>\n <dd>{{'AltSHelp'|translate}}</dd>\n <dt>Alt+q</dt>\n <dd>{{'AltQHelp'|translate}}</dd>\n <dt>Alt+a</dt>\n <dd>{{'AltAHelp'|translate}}</dd>\n <dt>Alt+h</dt>\n <dd>{{'AltHHelp'|translate}}</dd>\n <dt>Ctrl+.</dt>\n <dd>{{'CtrlDotHelp'|translate}}</dd>\n </dl>\n</ng-template>\n", styles: [".profile-name{margin:8px}.theme{height:22px!important;width:22px!important;-moz-border-radius:13px 13px!important;-webkit-border-radius:13px 13px!important;border-radius:13px!important;margin:4px!important}.theme.active.dark{border:2px solid #f4f4f4}button{font-weight:300!important}.keys dt{width:72px;float:inline-start;clear:both;font-variant-caps:all-small-caps}.keys dd{float:inline-end;font-size:small;margin:0}\n"], dependencies: [{ kind: "directive", type: i9.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: OptionsComponent, selector: "bizdoc-options", inputs: ["section"] }, { kind: "directive", type: i5$2.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: i2$4.MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "directive", type: i2$4.MatListSubheaderCssMatStyler, selector: "[mat-subheader], [matSubheader]" }, { kind: "component", type: i6$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10$1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i10$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i9.LowerCasePipe, name: "lowercase" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
18958
18968
  }
18959
18969
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: QuickOptionsComponent, decorators: [{
18960
18970
  type: Component,
18961
- args: [{ selector: 'bizdoc-quick-options', template: "<div class=\"column\">\n <div class=\"profile-name\">\n <span class=\"mat-headline-6\">\n @if (profile.byName) {\n {{profile.byName}} \\\n }\n {{profile.name}}\n </span>\n </div>\n <mat-divider />\n <bizdoc-options section=\"notifications\"></bizdoc-options>\n <mat-divider />\n <!--keys-->\n <div *ngTemplateOutlet=\"keysTmpl\"></div>\n <!--themes-->\n @if (themes.length > 1) {\n <div class=\"row center\">\n @for (t of themes; track t) {\n <button (click)=\"changeTheme(t)\" mat-icon-button class=\"theme\" [style.background]=\"t.color\" [class.active]=\"t.name === theme\" [class.dark]=\"t.dark\" [bizdocTooltip]=\"'Theme'|translate\"></button>\n }\n </div>\n }\n</div>\n<!--guide-->\n<mat-nav-list role=\"list\">\n <mat-divider></mat-divider>\n <h3 mat-subheader [matBadge]=\"guidesCount\" matBadgeColor=\"accent\" matBadgeOverlap=\"false\" matBadgeSize=\"small\">{{'Help'|translate}}</h3>\n @for (g of guides; track g) {\n <button mat-menu-item (click)=\"guide(g.name)\">{{g.title}}</button>\n }\n</mat-nav-list>\n<mat-divider></mat-divider>\n<!--footer-->\n<div class=\"row\">\n <button mat-button role=\"listitem\" [matMenuTriggerFor]=\"language\">\n {{currentLanguage | translate}}\n <mat-icon>arrow_drop_down</mat-icon>\n <!--'ChangeLanguage'-->\n </button>\n <mat-menu #language>\n @for (l of languages; track l) {\n <button mat-menu-item (click)=\"changeLanguage(l)\">{{l | translate}}</button>\n }\n </mat-menu>\n @if (online) {\n <button mat-button [matMenuTriggerFor]=\"availability\">\n {{'ShowAs' | translate : (available | translate | lowercase)}}\n <mat-icon>arrow_drop_down</mat-icon>\n </button>\n }\n <mat-menu #availability>\n @for (m of modes; track m) {\n <button mat-menu-item (click)=\"setAvailable(m)\">{{m | translate}}</button>\n }\n </mat-menu>\n <span class=\"divider\"></span>\n <button mat-button role=\"listitem\" (click)=\"about()\">{{ 'About' | translate}}</button>\n @if (!online) {\n <button mat-icon-button (click)=\"revive()\" [bizdocTooltip]=\"'Connect'|translate\">\n <mat-icon>wifi_off</mat-icon>\n </button>\n }\n</div>\n<!---->\n<ng-template #keysTmpl>\n <dl class=\"keys mat-body-2\">\n <dt>Alt+n</dt>\n <dd>{{'AltNHelp'|translate}}</dd>\n <dt>Ctrl+s</dt>\n <dd>{{'CtrlSHelp'|translate}}</dd>\n <dt>Alt+s</dt>\n <dd>{{'AltSHelp'|translate}}</dd>\n <dt>Alt+q</dt>\n <dd>{{'AltQHelp'|translate}}</dd>\n <dt>Alt+a</dt>\n <dd>{{'AltAHelp'|translate}}</dd>\n <dt>Alt+h</dt>\n <dd>{{'AltHHelp'|translate}}</dd>\n <dt>Ctrl+.</dt>\n <dd>{{'CtrlDotHelp'|translate}}</dd>\n </dl>\n</ng-template>\n", styles: [".profile-name{margin:8px}.theme{height:22px;width:22px;-moz-border-radius:13px 13px;-webkit-border-radius:13px 13px;border-radius:13px;margin:4px}.theme.active.dark{border:2px solid #f4f4f4}button{font-weight:300!important}.keys dt{width:72px;float:inline-start;clear:both;font-variant-caps:all-small-caps}.keys dd{float:inline-end;font-size:small;margin:0}\n"] }]
18971
+ args: [{ selector: 'bizdoc-quick-options', template: "<div class=\"column\">\n <div class=\"profile-name\">\n <span class=\"mat-headline-6\">\n @if (profile.byName) {\n {{profile.byName}} \\\n }\n {{profile.name}}\n </span>\n </div>\n <mat-divider />\n <bizdoc-options section=\"notifications\"></bizdoc-options>\n <mat-divider />\n <!--keys-->\n <div *ngTemplateOutlet=\"keysTmpl\"></div>\n <!--themes-->\n @if (themes.length > 1) {\n <div class=\"row center\">\n @for (t of themes; track t) {\n <button (click)=\"changeTheme(t)\" mat-icon-button class=\"theme\" [style.background]=\"t.color\" [class.active]=\"t.name === theme\" [class.dark]=\"t.dark\" [bizdocTooltip]=\"'Theme'|translate\"></button>\n }\n </div>\n }\n</div>\n<!--guide-->\n<mat-nav-list role=\"list\">\n <mat-divider></mat-divider>\n <h3 mat-subheader [matBadge]=\"guidesCount\" matBadgeColor=\"accent\" matBadgeOverlap=\"false\" matBadgeSize=\"small\">{{'Help'|translate}}</h3>\n @for (g of guides; track g) {\n <button mat-menu-item (click)=\"guide(g.name)\">{{g.title}}</button>\n }\n</mat-nav-list>\n<mat-divider></mat-divider>\n<!--footer-->\n<div class=\"row\">\n <button mat-button role=\"listitem\" [matMenuTriggerFor]=\"language\">\n {{currentLanguage | translate}}\n <mat-icon>arrow_drop_down</mat-icon>\n <!--'ChangeLanguage'-->\n </button>\n <mat-menu #language>\n @for (l of languages; track l) {\n <button mat-menu-item (click)=\"changeLanguage(l)\">{{l | translate}}</button>\n }\n </mat-menu>\n @if (online) {\n <button mat-button [matMenuTriggerFor]=\"availability\">\n {{'ShowAs' | translate : (available | translate | lowercase)}}\n <mat-icon>arrow_drop_down</mat-icon>\n </button>\n }\n <mat-menu #availability>\n @for (m of modes; track m) {\n <button mat-menu-item (click)=\"setAvailable(m)\">{{m | translate}}</button>\n }\n </mat-menu>\n <span class=\"divider\"></span>\n <button mat-button role=\"listitem\" (click)=\"about()\">{{ 'About' | translate}}</button>\n @if (!online) {\n <button mat-icon-button (click)=\"revive()\" [bizdocTooltip]=\"'Connect'|translate\">\n <mat-icon>wifi_off</mat-icon>\n </button>\n }\n</div>\n<!---->\n<ng-template #keysTmpl>\n <dl class=\"keys mat-body-2\">\n <dt>Alt+n</dt>\n <dd>{{'AltNHelp'|translate}}</dd>\n <dt>Ctrl+s</dt>\n <dd>{{'CtrlSHelp'|translate}}</dd>\n <dt>Alt+s</dt>\n <dd>{{'AltSHelp'|translate}}</dd>\n <dt>Alt+q</dt>\n <dd>{{'AltQHelp'|translate}}</dd>\n <dt>Alt+a</dt>\n <dd>{{'AltAHelp'|translate}}</dd>\n <dt>Alt+h</dt>\n <dd>{{'AltHHelp'|translate}}</dd>\n <dt>Ctrl+.</dt>\n <dd>{{'CtrlDotHelp'|translate}}</dd>\n </dl>\n</ng-template>\n", styles: [".profile-name{margin:8px}.theme{height:22px!important;width:22px!important;-moz-border-radius:13px 13px!important;-webkit-border-radius:13px 13px!important;border-radius:13px!important;margin:4px!important}.theme.active.dark{border:2px solid #f4f4f4}button{font-weight:300!important}.keys dt{width:72px;float:inline-start;clear:both;font-variant-caps:all-small-caps}.keys dd{float:inline-end;font-size:small;margin:0}\n"] }]
18962
18972
  }], ctorParameters: () => [{ type: PromptService }, { type: i1$2.FormBuilder }, { type: GuideService }, { type: PopupRef, decorators: [{
18963
18973
  type: Optional
18964
18974
  }] }, { type: HubService }, { type: SessionService }, { type: i2$2.MatDialog }, { type: undefined, decorators: [{
@@ -19878,11 +19888,12 @@ class SlotsComponent {
19878
19888
  }
19879
19889
  /** */
19880
19890
  _resize() {
19881
- if (this.panes.length > 1 && !this.panes[this.panes.length - 1].stretchable) {
19882
- const el = this._panesContainerRef.element.nativeElement, child = el.lastElementChild;
19883
- child.style.minWidth =
19884
- (el.parentElement.parentElement.clientWidth - el.parentElement.offsetLeft - child.offsetLeft - 2) + 'px';
19885
- }
19891
+ //if (this.panes.length > 1 && !this.panes[this.panes.length - 1].stretchable) {
19892
+ // const el = this._panesContainerRef.element.nativeElement as HTMLDivElement,
19893
+ // child = el.lastElementChild as HTMLDivElement;
19894
+ // child.style.minWidth =
19895
+ // (el.parentElement.parentElement.clientWidth - el.parentElement.offsetLeft - child.offsetLeft - 2) + 'px';
19896
+ //}
19886
19897
  this.tabs.concat(this.panes).forEach(p => p._events$.next(new NavigationResize({}, p)));
19887
19898
  }
19888
19899
  closeTab(position) {
@@ -20051,7 +20062,7 @@ class SlotsComponent {
20051
20062
  item && item.scrollIntoView({ behavior: 'smooth', inline: 'end', block: 'end' });
20052
20063
  }
20053
20064
  get _children() {
20054
- return this._panesContainerRef.element.nativeElement.querySelectorAll('.pane-content');
20065
+ return this._panesContainerRef.element.nativeElement.querySelectorAll('.pane');
20055
20066
  }
20056
20067
  done() {
20057
20068
  this.enableNavigationArrows();
@@ -20059,8 +20070,8 @@ class SlotsComponent {
20059
20070
  }
20060
20071
  enableNavigationArrows(_) {
20061
20072
  const container = this._panesContainerRef.element.nativeElement, scrollLeft = Math.floor(container.scrollLeft) + 1;
20062
- this.next = this._rtl ? container.clientWidth - scrollLeft < container.scrollWidth :
20063
- scrollLeft + container.clientWidth < container.scrollWidth;
20073
+ this.next = this._rtl ? container.clientWidth - scrollLeft < container.scrollWidth - 50 :
20074
+ scrollLeft + container.clientWidth < container.scrollWidth - 50;
20064
20075
  this.prev = this._rtl ? scrollLeft < 1 : scrollLeft > 1;
20065
20076
  }
20066
20077
  scrollBy(n) {
@@ -20123,7 +20134,7 @@ class SlotsComponent {
20123
20134
  this._destroy.complete();
20124
20135
  }
20125
20136
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: SlotsComponent, deps: [{ token: PANES_DATA }, { token: SessionService }, { token: i0.ChangeDetectorRef }, { token: PanesRouter }, { token: WindowTitleService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
20126
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.0", type: SlotsComponent, selector: "bizdoc-panes-outlet", outputs: { dialogChange: "dialogChange" }, host: { listeners: { "document:keydown": "handleKeydown($event)", "window:resize": "onResize()" } }, viewQueries: [{ propertyName: "_panesContainerRef", first: true, predicate: ["panesEl"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "_tabsElement", first: true, predicate: ["tabsEl"], descendants: true }, { propertyName: "_scrollable", first: true, predicate: CdkScrollable, descendants: true, static: true }], ngImport: i0, template: "<div #panesEl class=\"panes\"\n cdkScrollable\n @panes\n (scroll)=\"enableNavigationArrows($event)\">\n <!---->\n @if (prev) {\n <div class=\"scroll-arrow\" (click)=\"scrollBy(-400)\" matRipple [matRippleUnbounded]=\"true\" [matRippleCentered]=\"true\" [matRippleColor]=\"accent\">\n <i class=\"material-icons mat-icon-rtl-mirror\">\n arrow_back_ios\n </i>\n </div>\n }\n <!--panes-->\n @for (p of panes; track p; let i = $index) {\n <div (mouseenter)=\"selectedIndex !== i && !dragging && select(i)\"\n (click)=\"select(i)\"\n [class.active]=\"selectedIndex === i && panes.length > 1\" class=\"pane-content\" @pane>\n <ng-container [cdkPortalOutlet]=\"p._portal\" (attached)=\"p._instance = $event.instance\"></ng-container>\n </div>\n @if (i < panes.length - 1) {\n <div class=\"pane-separator\" (mousedown)=\"onPaneResize(p, $event)\"></div>\n }\n }\n <!--dialog-->\n @if (dialog) {\n <div class=\"backdrop\" (click)=\"closeTab(0)\"></div>\n }\n <!--next-->\n @if (next) {\n <div class=\"scroll-arrow forward\">\n <i class=\"material-icons mat-icon-rtl-mirror\" matRipple [matRippleUnbounded]=\"true\" [matRippleCentered]=\"true\" [matRippleRadius]=\"30\" [matRippleColor]=\"accent\"\n (click)=\"scrollBy(400)\">\n arrow_forward_ios\n </i>\n </div>\n }\n</div>\n<!--tabs-->\n@if (tabs.length) {\n<div class=\"tabs-separator\" (mousedown)=\"onTabResize($event)\"></div>\n<div class=\"tabs mat-elevation-z18\" #tabsEl [@tabs]=\"tabsAnimation\" (@tabs.done)=\"done()\">\n <!--title-->\n <div class=\"row tabs-title\">\n @if (swapTab) {\n <button mat-icon-button (click)=\"tabBack()\" [bizdocTooltip]=\"prevGroup || ('Back'|translate)\"><mat-icon class=\"mat-icon-rtl-mirror\">arrow_back</mat-icon></button>\n }\n <h2>{{group}}</h2>\n @if (!dialog) {\n <button mat-icon-button (click)=\"expandTab()\" [bizdocTooltip]=\"'Expand'| translate\"><mat-icon class=\"mat-icon-rtl-mirror\" style=\"font-size: 22px\">open_in_full</mat-icon></button>\n }\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"collapse()\" bizdocTooltip=\"Esc\"><mat-icon>close</mat-icon></button>\n </div>\n <nav mat-tab-nav-bar color=\"accent\" [disablePagination]=\"true\" [tabPanel]=\"tabPanel\">\n @for (t of tabs; track t; let i = $index) {\n <a mat-tab-link class=\"mat-tab-link\"\n (click)=\"selectedTabIndex = i\"\n [active]=\"selectedTabIndex === i\">\n <mat-icon [matBadge]=\"t.badge\" [matBadgeHidden]=\"!t.badge\" matBadgeSize=\"small\" matBadgeColor=\"accent\" aria-hidden=\"false\">{{t.icon}}</mat-icon>&nbsp;\n {{t.title}}\n @if (t.dismissable) {\n <mat-icon (click)=\"closeTab(i)\" class=\"tool\">close</mat-icon>\n }\n <!--inline=\"true\"-->\n </a>\n }\n </nav>\n <mat-tab-nav-panel #tabPanel class=\"flex\">\n @for (t of tabs; track t; let i = $index) {\n <div [style.display]=\"selectedTabIndex === i ? '': 'none'\" class=\"tab\" [@tab]=\"selectedTabIndex\">\n <ng-container [cdkPortalOutlet]=\"t._portal\" (attached)=\"t._instance = $event.instance\"></ng-container>\n </div>\n }\n </mat-tab-nav-panel>\n</div>\n}\n", styles: [":host{flex:1;overflow:hidden;display:flex}.scroll-arrow{position:sticky;cursor:pointer;align-self:center;top:50%;z-index:200}.scroll-arrow i{font-size:50px;opacity:.2}.scroll-arrow i:hover{opacity:.9}.scroll-arrow:first-child{left:0}.scroll-arrow:last-child{right:0}.panes{overflow-x:auto;flex:1;height:100%;display:flex;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row}.panes .pane-content{-webkit-flex-grow:1;flex-grow:1;min-width:420px;overflow-y:auto;overflow-x:clip}.panes .pane-content>*{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;overflow-x:hidden;flex-grow:1}.pane-separator,.tabs-separator{cursor:ew-resize;background-repeat:no-repeat;background-position:center;display:table;height:100%;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;user-select:none}.pane-separator{width:8px}.tabs-separator{width:12px}::ng-deep .mat-mdc-tab-link-container{overflow-x:auto;border-bottom:1px solid lightgray;-ms-overflow-style:none;scrollbar-width:none}::ng-deep .mat-mdc-tab-link-container::-webkit-scrollbar{display:none}::ng-deep .mat-mdc-tab-nav-panel{overflow-y:auto}.tabs{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;z-index:300;-webkit-flex-grow:0;flex-shrink:1;flex-basis:0;max-width:80vw}.tabs .tabs-title{align-items:center}.tabs .tabs-title h2{font-size:x-large;margin:9px;font-weight:100}.tabs .tabs-title:hover{opacity:1}.tabs .mat-mdc-tab-link .tool{opacity:0}.tabs .mat-mdc-tab-link:hover .tool{opacity:1}.tabs .tab{overflow-y:auto;overflow-x:hidden;display:flex;height:100%}\n"], dependencies: [{ kind: "directive", type: i5$5.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "directive", type: i5.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "directive", type: i2$5.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "component", type: i7$4.MatTabNav, selector: "[mat-tab-nav-bar]", inputs: ["fitInkBarToContent", "mat-stretch-tabs", "animationDuration", "backgroundColor", "disableRipple", "color", "tabPanel"], exportAs: ["matTabNavBar", "matTabNav"] }, { kind: "component", type: i7$4.MatTabNavPanel, selector: "mat-tab-nav-panel", inputs: ["id"], exportAs: ["matTabNavPanel"] }, { kind: "component", type: i7$4.MatTabLink, selector: "[mat-tab-link], [matTabLink]", inputs: ["active", "disabled", "disableRipple", "tabIndex", "id"], exportAs: ["matTabLink"] }, { kind: "directive", type: i5$2.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], animations: [
20137
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.0", type: SlotsComponent, selector: "bizdoc-panes-outlet", outputs: { dialogChange: "dialogChange" }, host: { listeners: { "document:keydown": "handleKeydown($event)", "window:resize": "onResize()" } }, viewQueries: [{ propertyName: "_panesContainerRef", first: true, predicate: ["panesEl"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "_tabsElement", first: true, predicate: ["tabsEl"], descendants: true }, { propertyName: "_scrollable", first: true, predicate: CdkScrollable, descendants: true, static: true }], ngImport: i0, template: "<div #panesEl class=\"panes\"\n cdkScrollable\n @panes\n (scroll)=\"enableNavigationArrows($event)\">\n <!---->\n @if (prev) {\n <div class=\"scroll-arrow\" (click)=\"scrollBy(-400)\" matRipple [matRippleUnbounded]=\"true\" [matRippleCentered]=\"true\" [matRippleColor]=\"accent\">\n <i class=\"material-icons mat-icon-rtl-mirror\">\n arrow_back_ios\n </i>\n </div>\n }\n <!--panes-->\n @for (p of panes; track p; let i = $index) {\n <div (mouseenter)=\"selectedIndex !== i && !dragging && select(i)\"\n (click)=\"select(i)\"\n [class.active]=\"selectedIndex === i && panes.length > 1\" class=\"pane\" @pane>\n <ng-container [cdkPortalOutlet]=\"p._portal\" (attached)=\"p._instance = $event.instance\"></ng-container>\n </div>\n @if (i < panes.length - 1) {\n <div class=\"pane-separator\" (mousedown)=\"onPaneResize(p, $event)\"></div>\n }\n }\n <!--dialog-->\n @if (dialog) {\n <div class=\"backdrop\" (click)=\"closeTab(0)\"></div>\n }\n <!--next-->\n @if (next) {\n <div class=\"scroll-arrow forward\">\n <i class=\"material-icons mat-icon-rtl-mirror\" matRipple [matRippleUnbounded]=\"true\" [matRippleCentered]=\"true\" [matRippleRadius]=\"30\" [matRippleColor]=\"accent\"\n (click)=\"scrollBy(400)\">\n arrow_forward_ios\n </i>\n </div>\n }\n</div>\n<!--tabs-->\n@if (tabs.length) {\n<div class=\"tabs-separator\" (mousedown)=\"onTabResize($event)\"></div>\n<div class=\"tabs mat-elevation-z18\" #tabsEl [@tabs]=\"tabsAnimation\" (@tabs.done)=\"done()\">\n <!--title-->\n <div class=\"row tabs-title\">\n @if (swapTab) {\n <button mat-icon-button (click)=\"tabBack()\" [bizdocTooltip]=\"prevGroup || ('Back'|translate)\"><mat-icon class=\"mat-icon-rtl-mirror\">arrow_back</mat-icon></button>\n }\n <h2>{{group}}</h2>\n @if (!dialog) {\n <button mat-icon-button (click)=\"expandTab()\" [bizdocTooltip]=\"'Expand'| translate\"><mat-icon class=\"mat-icon-rtl-mirror\" style=\"font-size: 22px\">open_in_full</mat-icon></button>\n }\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"collapse()\" bizdocTooltip=\"Esc\"><mat-icon>close</mat-icon></button>\n </div>\n <nav mat-tab-nav-bar color=\"accent\" [disablePagination]=\"true\" [tabPanel]=\"tabPanel\">\n @for (t of tabs; track t; let i = $index) {\n <a mat-tab-link class=\"mat-tab-link\"\n (click)=\"selectedTabIndex = i\"\n [active]=\"selectedTabIndex === i\">\n <mat-icon [matBadge]=\"t.badge\" [matBadgeHidden]=\"!t.badge\" matBadgeSize=\"small\" matBadgeColor=\"accent\" aria-hidden=\"false\">{{t.icon}}</mat-icon>&nbsp;\n {{t.title}}\n @if (t.dismissable) {\n <mat-icon (click)=\"closeTab(i)\" class=\"tool\">close</mat-icon>\n }\n <!--inline=\"true\"-->\n </a>\n }\n </nav>\n <mat-tab-nav-panel #tabPanel class=\"flex\">\n @for (t of tabs; track t; let i = $index) {\n <div [style.display]=\"selectedTabIndex === i ? '': 'none'\" class=\"tab\" [@tab]=\"selectedTabIndex\">\n <ng-container [cdkPortalOutlet]=\"t._portal\" (attached)=\"t._instance = $event.instance\"></ng-container>\n </div>\n }\n </mat-tab-nav-panel>\n</div>\n}\n", styles: [":host{flex:1;overflow:hidden;display:flex}.scroll-arrow{cursor:pointer;align-self:center;position:sticky;top:50%;z-index:200}.scroll-arrow i{font-size:50px;opacity:.2}.scroll-arrow i:hover{opacity:.9}.scroll-arrow:first-child{margin-inline-start:-50px;left:0}.scroll-arrow:last-child{right:0}.panes{overflow-x:auto;position:relative;flex:1;height:100%;display:flex;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row}.panes .pane{-webkit-flex-grow:1;flex-grow:1;min-width:420px;overflow-y:auto;overflow-x:clip}.panes .pane>*{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;overflow-x:hidden;flex-grow:1}.pane-separator,.tabs-separator{cursor:ew-resize;background-repeat:no-repeat;background-position:center;display:table;height:100%;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;user-select:none}.pane-separator{width:8px}.tabs-separator{width:12px}::ng-deep .mat-mdc-tab-link-container{overflow-x:auto;border-bottom:1px solid lightgray;-ms-overflow-style:none;scrollbar-width:none}::ng-deep .mat-mdc-tab-link-container::-webkit-scrollbar{display:none}::ng-deep .mat-mdc-tab-nav-panel{overflow-y:auto}.tabs{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;z-index:300;-webkit-flex-grow:0;flex-shrink:1;flex-basis:0;max-width:80vw}.tabs .tabs-title{align-items:center}.tabs .tabs-title h2{font-size:x-large;margin:9px;font-weight:100}.tabs .tabs-title:hover{opacity:1}.tabs .mat-mdc-tab-link .tool{opacity:0}.tabs .mat-mdc-tab-link:hover .tool{opacity:1}.tabs .tab{overflow-y:auto;overflow-x:hidden;display:flex;height:100%}\n"], dependencies: [{ kind: "directive", type: i5$5.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "directive", type: i5.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "directive", type: i2$5.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "component", type: i7$4.MatTabNav, selector: "[mat-tab-nav-bar]", inputs: ["fitInkBarToContent", "mat-stretch-tabs", "animationDuration", "backgroundColor", "disableRipple", "color", "tabPanel"], exportAs: ["matTabNavBar", "matTabNav"] }, { kind: "component", type: i7$4.MatTabNavPanel, selector: "mat-tab-nav-panel", inputs: ["id"], exportAs: ["matTabNavPanel"] }, { kind: "component", type: i7$4.MatTabLink, selector: "[mat-tab-link], [matTabLink]", inputs: ["active", "disabled", "disableRipple", "tabIndex", "id"], exportAs: ["matTabLink"] }, { kind: "directive", type: i5$2.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], animations: [
20127
20138
  panesAnimation,
20128
20139
  paneAnimation,
20129
20140
  paramAnimation,
@@ -20141,7 +20152,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
20141
20152
  queryAnimation,
20142
20153
  tabsAnimation,
20143
20154
  tabAnimation
20144
- ], template: "<div #panesEl class=\"panes\"\n cdkScrollable\n @panes\n (scroll)=\"enableNavigationArrows($event)\">\n <!---->\n @if (prev) {\n <div class=\"scroll-arrow\" (click)=\"scrollBy(-400)\" matRipple [matRippleUnbounded]=\"true\" [matRippleCentered]=\"true\" [matRippleColor]=\"accent\">\n <i class=\"material-icons mat-icon-rtl-mirror\">\n arrow_back_ios\n </i>\n </div>\n }\n <!--panes-->\n @for (p of panes; track p; let i = $index) {\n <div (mouseenter)=\"selectedIndex !== i && !dragging && select(i)\"\n (click)=\"select(i)\"\n [class.active]=\"selectedIndex === i && panes.length > 1\" class=\"pane-content\" @pane>\n <ng-container [cdkPortalOutlet]=\"p._portal\" (attached)=\"p._instance = $event.instance\"></ng-container>\n </div>\n @if (i < panes.length - 1) {\n <div class=\"pane-separator\" (mousedown)=\"onPaneResize(p, $event)\"></div>\n }\n }\n <!--dialog-->\n @if (dialog) {\n <div class=\"backdrop\" (click)=\"closeTab(0)\"></div>\n }\n <!--next-->\n @if (next) {\n <div class=\"scroll-arrow forward\">\n <i class=\"material-icons mat-icon-rtl-mirror\" matRipple [matRippleUnbounded]=\"true\" [matRippleCentered]=\"true\" [matRippleRadius]=\"30\" [matRippleColor]=\"accent\"\n (click)=\"scrollBy(400)\">\n arrow_forward_ios\n </i>\n </div>\n }\n</div>\n<!--tabs-->\n@if (tabs.length) {\n<div class=\"tabs-separator\" (mousedown)=\"onTabResize($event)\"></div>\n<div class=\"tabs mat-elevation-z18\" #tabsEl [@tabs]=\"tabsAnimation\" (@tabs.done)=\"done()\">\n <!--title-->\n <div class=\"row tabs-title\">\n @if (swapTab) {\n <button mat-icon-button (click)=\"tabBack()\" [bizdocTooltip]=\"prevGroup || ('Back'|translate)\"><mat-icon class=\"mat-icon-rtl-mirror\">arrow_back</mat-icon></button>\n }\n <h2>{{group}}</h2>\n @if (!dialog) {\n <button mat-icon-button (click)=\"expandTab()\" [bizdocTooltip]=\"'Expand'| translate\"><mat-icon class=\"mat-icon-rtl-mirror\" style=\"font-size: 22px\">open_in_full</mat-icon></button>\n }\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"collapse()\" bizdocTooltip=\"Esc\"><mat-icon>close</mat-icon></button>\n </div>\n <nav mat-tab-nav-bar color=\"accent\" [disablePagination]=\"true\" [tabPanel]=\"tabPanel\">\n @for (t of tabs; track t; let i = $index) {\n <a mat-tab-link class=\"mat-tab-link\"\n (click)=\"selectedTabIndex = i\"\n [active]=\"selectedTabIndex === i\">\n <mat-icon [matBadge]=\"t.badge\" [matBadgeHidden]=\"!t.badge\" matBadgeSize=\"small\" matBadgeColor=\"accent\" aria-hidden=\"false\">{{t.icon}}</mat-icon>&nbsp;\n {{t.title}}\n @if (t.dismissable) {\n <mat-icon (click)=\"closeTab(i)\" class=\"tool\">close</mat-icon>\n }\n <!--inline=\"true\"-->\n </a>\n }\n </nav>\n <mat-tab-nav-panel #tabPanel class=\"flex\">\n @for (t of tabs; track t; let i = $index) {\n <div [style.display]=\"selectedTabIndex === i ? '': 'none'\" class=\"tab\" [@tab]=\"selectedTabIndex\">\n <ng-container [cdkPortalOutlet]=\"t._portal\" (attached)=\"t._instance = $event.instance\"></ng-container>\n </div>\n }\n </mat-tab-nav-panel>\n</div>\n}\n", styles: [":host{flex:1;overflow:hidden;display:flex}.scroll-arrow{position:sticky;cursor:pointer;align-self:center;top:50%;z-index:200}.scroll-arrow i{font-size:50px;opacity:.2}.scroll-arrow i:hover{opacity:.9}.scroll-arrow:first-child{left:0}.scroll-arrow:last-child{right:0}.panes{overflow-x:auto;flex:1;height:100%;display:flex;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row}.panes .pane-content{-webkit-flex-grow:1;flex-grow:1;min-width:420px;overflow-y:auto;overflow-x:clip}.panes .pane-content>*{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;overflow-x:hidden;flex-grow:1}.pane-separator,.tabs-separator{cursor:ew-resize;background-repeat:no-repeat;background-position:center;display:table;height:100%;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;user-select:none}.pane-separator{width:8px}.tabs-separator{width:12px}::ng-deep .mat-mdc-tab-link-container{overflow-x:auto;border-bottom:1px solid lightgray;-ms-overflow-style:none;scrollbar-width:none}::ng-deep .mat-mdc-tab-link-container::-webkit-scrollbar{display:none}::ng-deep .mat-mdc-tab-nav-panel{overflow-y:auto}.tabs{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;z-index:300;-webkit-flex-grow:0;flex-shrink:1;flex-basis:0;max-width:80vw}.tabs .tabs-title{align-items:center}.tabs .tabs-title h2{font-size:x-large;margin:9px;font-weight:100}.tabs .tabs-title:hover{opacity:1}.tabs .mat-mdc-tab-link .tool{opacity:0}.tabs .mat-mdc-tab-link:hover .tool{opacity:1}.tabs .tab{overflow-y:auto;overflow-x:hidden;display:flex;height:100%}\n"] }]
20155
+ ], template: "<div #panesEl class=\"panes\"\n cdkScrollable\n @panes\n (scroll)=\"enableNavigationArrows($event)\">\n <!---->\n @if (prev) {\n <div class=\"scroll-arrow\" (click)=\"scrollBy(-400)\" matRipple [matRippleUnbounded]=\"true\" [matRippleCentered]=\"true\" [matRippleColor]=\"accent\">\n <i class=\"material-icons mat-icon-rtl-mirror\">\n arrow_back_ios\n </i>\n </div>\n }\n <!--panes-->\n @for (p of panes; track p; let i = $index) {\n <div (mouseenter)=\"selectedIndex !== i && !dragging && select(i)\"\n (click)=\"select(i)\"\n [class.active]=\"selectedIndex === i && panes.length > 1\" class=\"pane\" @pane>\n <ng-container [cdkPortalOutlet]=\"p._portal\" (attached)=\"p._instance = $event.instance\"></ng-container>\n </div>\n @if (i < panes.length - 1) {\n <div class=\"pane-separator\" (mousedown)=\"onPaneResize(p, $event)\"></div>\n }\n }\n <!--dialog-->\n @if (dialog) {\n <div class=\"backdrop\" (click)=\"closeTab(0)\"></div>\n }\n <!--next-->\n @if (next) {\n <div class=\"scroll-arrow forward\">\n <i class=\"material-icons mat-icon-rtl-mirror\" matRipple [matRippleUnbounded]=\"true\" [matRippleCentered]=\"true\" [matRippleRadius]=\"30\" [matRippleColor]=\"accent\"\n (click)=\"scrollBy(400)\">\n arrow_forward_ios\n </i>\n </div>\n }\n</div>\n<!--tabs-->\n@if (tabs.length) {\n<div class=\"tabs-separator\" (mousedown)=\"onTabResize($event)\"></div>\n<div class=\"tabs mat-elevation-z18\" #tabsEl [@tabs]=\"tabsAnimation\" (@tabs.done)=\"done()\">\n <!--title-->\n <div class=\"row tabs-title\">\n @if (swapTab) {\n <button mat-icon-button (click)=\"tabBack()\" [bizdocTooltip]=\"prevGroup || ('Back'|translate)\"><mat-icon class=\"mat-icon-rtl-mirror\">arrow_back</mat-icon></button>\n }\n <h2>{{group}}</h2>\n @if (!dialog) {\n <button mat-icon-button (click)=\"expandTab()\" [bizdocTooltip]=\"'Expand'| translate\"><mat-icon class=\"mat-icon-rtl-mirror\" style=\"font-size: 22px\">open_in_full</mat-icon></button>\n }\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"collapse()\" bizdocTooltip=\"Esc\"><mat-icon>close</mat-icon></button>\n </div>\n <nav mat-tab-nav-bar color=\"accent\" [disablePagination]=\"true\" [tabPanel]=\"tabPanel\">\n @for (t of tabs; track t; let i = $index) {\n <a mat-tab-link class=\"mat-tab-link\"\n (click)=\"selectedTabIndex = i\"\n [active]=\"selectedTabIndex === i\">\n <mat-icon [matBadge]=\"t.badge\" [matBadgeHidden]=\"!t.badge\" matBadgeSize=\"small\" matBadgeColor=\"accent\" aria-hidden=\"false\">{{t.icon}}</mat-icon>&nbsp;\n {{t.title}}\n @if (t.dismissable) {\n <mat-icon (click)=\"closeTab(i)\" class=\"tool\">close</mat-icon>\n }\n <!--inline=\"true\"-->\n </a>\n }\n </nav>\n <mat-tab-nav-panel #tabPanel class=\"flex\">\n @for (t of tabs; track t; let i = $index) {\n <div [style.display]=\"selectedTabIndex === i ? '': 'none'\" class=\"tab\" [@tab]=\"selectedTabIndex\">\n <ng-container [cdkPortalOutlet]=\"t._portal\" (attached)=\"t._instance = $event.instance\"></ng-container>\n </div>\n }\n </mat-tab-nav-panel>\n</div>\n}\n", styles: [":host{flex:1;overflow:hidden;display:flex}.scroll-arrow{cursor:pointer;align-self:center;position:sticky;top:50%;z-index:200}.scroll-arrow i{font-size:50px;opacity:.2}.scroll-arrow i:hover{opacity:.9}.scroll-arrow:first-child{margin-inline-start:-50px;left:0}.scroll-arrow:last-child{right:0}.panes{overflow-x:auto;position:relative;flex:1;height:100%;display:flex;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row}.panes .pane{-webkit-flex-grow:1;flex-grow:1;min-width:420px;overflow-y:auto;overflow-x:clip}.panes .pane>*{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;overflow-x:hidden;flex-grow:1}.pane-separator,.tabs-separator{cursor:ew-resize;background-repeat:no-repeat;background-position:center;display:table;height:100%;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;user-select:none}.pane-separator{width:8px}.tabs-separator{width:12px}::ng-deep .mat-mdc-tab-link-container{overflow-x:auto;border-bottom:1px solid lightgray;-ms-overflow-style:none;scrollbar-width:none}::ng-deep .mat-mdc-tab-link-container::-webkit-scrollbar{display:none}::ng-deep .mat-mdc-tab-nav-panel{overflow-y:auto}.tabs{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;z-index:300;-webkit-flex-grow:0;flex-shrink:1;flex-basis:0;max-width:80vw}.tabs .tabs-title{align-items:center}.tabs .tabs-title h2{font-size:x-large;margin:9px;font-weight:100}.tabs .tabs-title:hover{opacity:1}.tabs .mat-mdc-tab-link .tool{opacity:0}.tabs .mat-mdc-tab-link:hover .tool{opacity:1}.tabs .tab{overflow-y:auto;overflow-x:hidden;display:flex;height:100%}\n"] }]
20145
20156
  }], ctorParameters: () => [{ type: undefined, decorators: [{
20146
20157
  type: Inject,
20147
20158
  args: [PANES_DATA]
@@ -21932,11 +21943,11 @@ class CubeMatrixMobileComponent extends CubeMatrixBase {
21932
21943
  });
21933
21944
  }
21934
21945
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CubeMatrixMobileComponent, deps: [{ token: WindowTitleService }, { token: i1$3.ActivatedRoute }, { token: i1$3.Router }, { token: CubeService }, { token: DatasourceService }, { token: SessionService }], target: i0.ɵɵFactoryTarget.Component }); }
21935
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.0", type: CubeMatrixMobileComponent, selector: "ng-component", viewQueries: [{ propertyName: "table", first: true, predicate: CubeMatrixComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<mat-toolbar class=\"nav-toolbar\">\n <button mat-icon-button (click)=\"table.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\n <span class=\"divider\"></span>\n @if (patterns && patterns.length) {\n <button mat-icon-button [matMenuTriggerFor]=\"options\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\n }\n <mat-menu #options xPosition=\"before\">\n <!-- patterns -->\n @for (p of patterns; track p) {\n <button mat-menu-item (click)=\"aggregate(p)\">{{p.title}}</button>\n }\n </mat-menu>\n <button mat-icon-button (click)=\"reset()\" [disabled]=\"!pattern\" [bizdocTooltip]=\"'Clear' | translate\">\n <mat-icon>clear_all</mat-icon>\n </button>\n <!-- filters -->\n @for (f of filters; track f) {\n <button mat-button [matMenuTriggerFor]=\"fmenu\">{{values[f.name]| typeValue : f.dataType | async}} <mat-icon>arrow_drop_down</mat-icon></button>\n <mat-menu #fmenu xPosition=\"before\">\n @for (kv of sources[f.name] | async; track kv) {\n <button mat-menu-item\n (click)=\"filter(f.name, kv.key, kv.value)\">\n {{kv.value}}\n </button>\n }\n </mat-menu>\n }\n</mat-toolbar>\n<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\n<bizdoc-cube-matrix [cube]=\"cube\" [xAxis]=\"xAxis\" [series]=\"series\" [indices]=\"indices\" [sum]=sum\n [filters]=\"axes\"\n [xAxisTotalLabel]=\"xAxisTotalLabel\"\n [seriesTotalLabel]=\"seriesTotalLabel\"\n(loadingChange)=\"loading=$event\" (explore)='explore($event)'></bizdoc-cube-matrix>\n", styles: [":host{min-width:450px}:host ::ng-deep .cube-table thead{position:sticky;top:0}\n"], dependencies: [{ kind: "component", type: i7$3.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i8$1.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10$1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i10$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: CubeMatrixComponent, selector: "bizdoc-cube-matrix", inputs: ["seriesTotalLabel", "xAxisTotalLabel", "cube", "xAxis", "series", "indices", "indexAt", "placeAt", "scope", "sum", "filters", "loading", "interactive"], outputs: ["explore", "loadingChange"] }, { kind: "directive", type: MatIconAnimate, selector: "[matAnimate]" }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }, { kind: "pipe", type: TypeValuePipe, name: "typeValue" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
21946
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.0", type: CubeMatrixMobileComponent, selector: "ng-component", viewQueries: [{ propertyName: "table", first: true, predicate: CubeMatrixComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<mat-toolbar class=\"nav-toolbar\">\n <button mat-icon-button (click)=\"table.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\n <span class=\"divider\"></span>\n @if (patterns && patterns.length) {\n <button mat-icon-button [matMenuTriggerFor]=\"options\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\n }\n <mat-menu #options xPosition=\"before\">\n <!-- patterns -->\n @for (p of patterns; track p) {\n <button mat-menu-item (click)=\"aggregate(p)\">{{p.title}}</button>\n }\n </mat-menu>\n <button mat-icon-button (click)=\"reset()\" [disabled]=\"!pattern\" [bizdocTooltip]=\"'Clear' | translate\">\n <mat-icon>clear_all</mat-icon>\n </button>\n <!-- filters -->\n @for (f of filters; track f) {\n <button mat-button [matMenuTriggerFor]=\"fmenu\">{{values[f.name]| typeValue : f.dataType | async}} <mat-icon>arrow_drop_down</mat-icon></button>\n <mat-menu #fmenu xPosition=\"before\">\n @for (kv of sources[f.name] | async; track kv) {\n <button mat-menu-item\n (click)=\"filter(f.name, kv.key, kv.value)\">\n {{kv.value}}\n </button>\n }\n </mat-menu>\n }\n</mat-toolbar>\n<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\n<bizdoc-cube-matrix [cube]=\"cube\" [xAxis]=\"xAxis\" [series]=\"series\" [indices]=\"indices\" [sum]=sum\n [filters]=\"axes\"\n [xAxisTotalLabel]=\"xAxisTotalLabel\"\n [seriesTotalLabel]=\"seriesTotalLabel\"\n(loadingChange)=\"loading=$event\" (explore)='explore($event)'></bizdoc-cube-matrix>\n", styles: [":host{min-width:500px}:host ::ng-deep .cube-table thead{position:sticky;top:0}\n"], dependencies: [{ kind: "component", type: i7$3.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i8$1.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10$1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i10$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: CubeMatrixComponent, selector: "bizdoc-cube-matrix", inputs: ["seriesTotalLabel", "xAxisTotalLabel", "cube", "xAxis", "series", "indices", "indexAt", "placeAt", "scope", "sum", "filters", "loading", "interactive"], outputs: ["explore", "loadingChange"] }, { kind: "directive", type: MatIconAnimate, selector: "[matAnimate]" }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }, { kind: "pipe", type: TypeValuePipe, name: "typeValue" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
21936
21947
  }
21937
21948
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CubeMatrixMobileComponent, decorators: [{
21938
21949
  type: Component,
21939
- args: [{ template: "<mat-toolbar class=\"nav-toolbar\">\n <button mat-icon-button (click)=\"table.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\n <span class=\"divider\"></span>\n @if (patterns && patterns.length) {\n <button mat-icon-button [matMenuTriggerFor]=\"options\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\n }\n <mat-menu #options xPosition=\"before\">\n <!-- patterns -->\n @for (p of patterns; track p) {\n <button mat-menu-item (click)=\"aggregate(p)\">{{p.title}}</button>\n }\n </mat-menu>\n <button mat-icon-button (click)=\"reset()\" [disabled]=\"!pattern\" [bizdocTooltip]=\"'Clear' | translate\">\n <mat-icon>clear_all</mat-icon>\n </button>\n <!-- filters -->\n @for (f of filters; track f) {\n <button mat-button [matMenuTriggerFor]=\"fmenu\">{{values[f.name]| typeValue : f.dataType | async}} <mat-icon>arrow_drop_down</mat-icon></button>\n <mat-menu #fmenu xPosition=\"before\">\n @for (kv of sources[f.name] | async; track kv) {\n <button mat-menu-item\n (click)=\"filter(f.name, kv.key, kv.value)\">\n {{kv.value}}\n </button>\n }\n </mat-menu>\n }\n</mat-toolbar>\n<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\n<bizdoc-cube-matrix [cube]=\"cube\" [xAxis]=\"xAxis\" [series]=\"series\" [indices]=\"indices\" [sum]=sum\n [filters]=\"axes\"\n [xAxisTotalLabel]=\"xAxisTotalLabel\"\n [seriesTotalLabel]=\"seriesTotalLabel\"\n(loadingChange)=\"loading=$event\" (explore)='explore($event)'></bizdoc-cube-matrix>\n", styles: [":host{min-width:450px}:host ::ng-deep .cube-table thead{position:sticky;top:0}\n"] }]
21950
+ args: [{ template: "<mat-toolbar class=\"nav-toolbar\">\n <button mat-icon-button (click)=\"table.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\n <span class=\"divider\"></span>\n @if (patterns && patterns.length) {\n <button mat-icon-button [matMenuTriggerFor]=\"options\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\n }\n <mat-menu #options xPosition=\"before\">\n <!-- patterns -->\n @for (p of patterns; track p) {\n <button mat-menu-item (click)=\"aggregate(p)\">{{p.title}}</button>\n }\n </mat-menu>\n <button mat-icon-button (click)=\"reset()\" [disabled]=\"!pattern\" [bizdocTooltip]=\"'Clear' | translate\">\n <mat-icon>clear_all</mat-icon>\n </button>\n <!-- filters -->\n @for (f of filters; track f) {\n <button mat-button [matMenuTriggerFor]=\"fmenu\">{{values[f.name]| typeValue : f.dataType | async}} <mat-icon>arrow_drop_down</mat-icon></button>\n <mat-menu #fmenu xPosition=\"before\">\n @for (kv of sources[f.name] | async; track kv) {\n <button mat-menu-item\n (click)=\"filter(f.name, kv.key, kv.value)\">\n {{kv.value}}\n </button>\n }\n </mat-menu>\n }\n</mat-toolbar>\n<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\n<bizdoc-cube-matrix [cube]=\"cube\" [xAxis]=\"xAxis\" [series]=\"series\" [indices]=\"indices\" [sum]=sum\n [filters]=\"axes\"\n [xAxisTotalLabel]=\"xAxisTotalLabel\"\n [seriesTotalLabel]=\"seriesTotalLabel\"\n(loadingChange)=\"loading=$event\" (explore)='explore($event)'></bizdoc-cube-matrix>\n", styles: [":host{min-width:500px}:host ::ng-deep .cube-table thead{position:sticky;top:0}\n"] }]
21940
21951
  }], ctorParameters: () => [{ type: WindowTitleService }, { type: i1$3.ActivatedRoute }, { type: i1$3.Router }, { type: CubeService }, { type: DatasourceService }, { type: SessionService }], propDecorators: { table: [{
21941
21952
  type: ViewChild,
21942
21953
  args: [CubeMatrixComponent, { static: true }]
@@ -22178,7 +22189,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
22178
22189
  class SyncfusionPivotModule {
22179
22190
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: SyncfusionPivotModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
22180
22191
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.0", ngImport: i0, type: SyncfusionPivotModule, imports: [PivotViewModule], exports: [PivotViewModule] }); }
22181
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: SyncfusionPivotModule, providers: [ExcelExportService$1, GroupingBarService, NumberFormattingService, GroupingService, PivotChartService, ConditionalFormattingService], imports: [PivotViewModule, PivotViewModule] }); }
22192
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: SyncfusionPivotModule, providers: [ExcelExportService$1, GroupingBarService, NumberFormattingService, GroupingService, PivotChartService, ConditionalFormattingService, CalculatedFieldService], imports: [PivotViewModule, PivotViewModule] }); }
22182
22193
  }
22183
22194
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: SyncfusionPivotModule, decorators: [{
22184
22195
  type: NgModule,
@@ -22189,10 +22200,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
22189
22200
  imports: [
22190
22201
  PivotViewModule
22191
22202
  ],
22192
- providers: [ExcelExportService$1, GroupingBarService, NumberFormattingService, GroupingService, PivotChartService, ConditionalFormattingService]
22203
+ providers: [ExcelExportService$1, GroupingBarService, NumberFormattingService, GroupingService, PivotChartService, ConditionalFormattingService, CalculatedFieldService]
22193
22204
  }]
22194
22205
  }] });
22195
- PivotView$1.Inject(GroupingBar, ExcelExport$1, PivotChart);
22206
+ PivotView$1.Inject(GroupingBar, ExcelExport$1, PivotChart, CalculatedField);
22196
22207
 
22197
22208
  class SyncfusionScheduleModule {
22198
22209
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: SyncfusionScheduleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
@@ -22217,7 +22228,7 @@ class SyncfusionSpreadsheetModule {
22217
22228
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: SyncfusionSpreadsheetModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
22218
22229
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.0", ngImport: i0, type: SyncfusionSpreadsheetModule, imports: [SpreadsheetModule,
22219
22230
  CommonModule], exports: [SpreadsheetModule] }); }
22220
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: SyncfusionSpreadsheetModule, providers: [SelectionService$2, BasicModuleService, ClipboardService, CellFormatService, KeyboardNavigationService,
22231
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: SyncfusionSpreadsheetModule, providers: [SelectionService$2, ClipboardService, CellFormatService, KeyboardNavigationService,
22221
22232
  KeyboardShortcutService, NumberFormatService], imports: [SpreadsheetModule,
22222
22233
  CommonModule, SpreadsheetModule] }); }
22223
22234
  }
@@ -22232,7 +22243,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
22232
22243
  SpreadsheetModule,
22233
22244
  CommonModule
22234
22245
  ],
22235
- providers: [SelectionService$2, BasicModuleService, ClipboardService, CellFormatService, KeyboardNavigationService,
22246
+ providers: [SelectionService$2, ClipboardService, CellFormatService, KeyboardNavigationService,
22236
22247
  KeyboardShortcutService, NumberFormatService]
22237
22248
  }]
22238
22249
  }] });
@@ -27418,40 +27429,41 @@ class CompareGroupDirective extends CompareDirectiveBase {
27418
27429
  if (!this._comparision)
27419
27430
  return;
27420
27431
  if (this._context) {
27421
- this._structure = this._context.structure.controls.find(e => e.name === this.name);
27422
- this._base = this._context.base;
27423
- this._version = this._context.version;
27432
+ const { base, structure, version } = this._context;
27433
+ this._structure = structure.controls.find(e => e.name === this.name);
27434
+ this._base = base;
27435
+ this._version = version;
27424
27436
  }
27425
27437
  else if (this._parent) {
27426
- this._structure = this._parent.structure.controls.find(e => e.name === this.name);
27427
- this._base = this._parent.base;
27428
- this._version = this._parent.version;
27438
+ const { base, structure, version } = this._parent;
27439
+ this._structure = structure.controls.find(e => e.name === this.name);
27440
+ this._base = base;
27441
+ this._version = version;
27429
27442
  }
27430
27443
  else {
27431
- this._structure = this._comparision.form.fields.find(e => e.name === this.name);
27432
- const { currentVersion, baseVersion } = this._comparision;
27444
+ const { form, currentVersion, baseVersion } = this._comparision;
27445
+ this._structure = form.fields.find(e => e.name === this.name);
27433
27446
  this._base = baseVersion;
27434
27447
  this._version = currentVersion;
27435
27448
  }
27436
27449
  if (!this._structure)
27437
27450
  throw `No form field with name ${this.name}`;
27438
27451
  if (this._structure.flags?.indexOf('IsObject') < 0)
27439
- throw `bizdocCompareGroup ${this.name}`;
27440
- this.structure.flags?.indexOf('IsArray') > -1 && this._normalize();
27441
- }
27442
- _normalize() {
27443
- this._keys = this.structure.controls.filter(c => c.flags?.indexOf('Key') > -1).map(k => k.name);
27444
- this.base.forEach((b, i) => !this.version.find(v => this._keys.every(k => v[k] === b[k])) /* doesn't have a version */ &&
27445
- this.version.splice(i, 0, Object.assign({ _compare: CompareState.Removed }, b)));
27446
- this.version.forEach(v => {
27447
- if (v['_compare'] === undefined) {
27448
- const base = this.base.find(b => this._keys.every(k => b[k] === v[k]));
27449
- if (!base)
27450
- v['_compare'] = CompareState.Added;
27451
- else if (JSON.stringify(v) !== JSON.stringify(base))
27452
- v['_compare'] = CompareState.Modified;
27453
- }
27454
- });
27452
+ throw `bizdocCompareGroup ${this.name} not an object.`;
27453
+ if (this.structure.flags?.indexOf('IsArray') > -1) {
27454
+ this._keys = this.structure.controls.filter(c => c.flags?.indexOf('Key') > -1).map(k => k.name);
27455
+ this.base.forEach((b, i) => !this.version.find(v => this._keys.every(k => v[k] === b[k])) /* doesn't have a version */ &&
27456
+ this.version.splice(i, 0, Object.assign({ _compare: CompareState.Removed }, b)));
27457
+ this.version.forEach(v => {
27458
+ if (v['_compare'] === undefined) {
27459
+ const base = this.base.find(b => this._keys.every(k => b[k] === v[k]));
27460
+ if (!base)
27461
+ v['_compare'] = CompareState.Added;
27462
+ else if (JSON.stringify(v) !== JSON.stringify(base))
27463
+ v['_compare'] = CompareState.Modified;
27464
+ }
27465
+ });
27466
+ }
27455
27467
  }
27456
27468
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CompareGroupDirective, deps: [{ token: VersionCompareComponent, optional: true }, { token: CompareContextDirective, host: true, optional: true }, { token: CompareGroupDirective, host: true, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Directive }); }
27457
27469
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.0", type: CompareGroupDirective, selector: "[bizdocCompareGroup],[bizdocCompareArray]", inputs: { name: ["bizdocCompareGroup", "name"] }, usesInheritance: true, ngImport: i0 }); }
@@ -30123,7 +30135,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
30123
30135
 
30124
30136
  class SpContainer {
30125
30137
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: SpContainer, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
30126
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: SpContainer, isStandalone: true, selector: "bizdoc-sp-container", ngImport: i0, template: `<ejs-spreadsheet/>`, isInline: true, dependencies: [{ kind: "ngmodule", type: SyncfusionSpreadsheetModule }, { kind: "component", type: i9$1.SpreadsheetComponent, selector: "ejs-spreadsheet", inputs: ["activeSheetIndex", "allowAutoFill", "allowCellFormatting", "allowChart", "allowConditionalFormat", "allowDataValidation", "allowDelete", "allowEditing", "allowFiltering", "allowFindAndReplace", "allowFreezePane", "allowHyperlink", "allowImage", "allowInsert", "allowMerge", "allowNumberFormatting", "allowOpen", "allowResizing", "allowSave", "allowScrolling", "allowSorting", "allowUndoRedo", "allowWrap", "autoFillSettings", "cellStyle", "cssClass", "currencyCode", "definedNames", "enableClipboard", "enableContextMenu", "enableKeyboardNavigation", "enableKeyboardShortcut", "enablePersistence", "enableRtl", "height", "isProtected", "locale", "openUrl", "password", "saveUrl", "scrollSettings", "selectionSettings", "sheets", "showAggregate", "showFormulaBar", "showRibbon", "showSheetTabs", "width"], outputs: ["actionBegin", "actionComplete", "afterHyperlinkClick", "afterHyperlinkCreate", "beforeCellFormat", "beforeCellRender", "beforeCellSave", "beforeCellUpdate", "beforeConditionalFormat", "beforeDataBound", "beforeHyperlinkClick", "beforeHyperlinkCreate", "beforeOpen", "beforeSave", "beforeSelect", "beforeSort", "cellEdit", "cellEdited", "cellEditing", "cellSave", "contextMenuBeforeClose", "contextMenuBeforeOpen", "contextMenuItemSelect", "created", "dataBound", "dataSourceChanged", "dialogBeforeOpen", "fileMenuBeforeClose", "fileMenuBeforeOpen", "fileMenuItemSelect", "openComplete", "openFailure", "queryCellInfo", "saveComplete", "select", "sortComplete"] }] }); }
30138
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: SpContainer, isStandalone: true, selector: "bizdoc-sp-container", ngImport: i0, template: `<ejs-spreadsheet/>`, isInline: true, dependencies: [{ kind: "ngmodule", type: SyncfusionSpreadsheetModule }, { kind: "component", type: i9$1.SpreadsheetComponent, selector: "ejs-spreadsheet", inputs: ["activeSheetIndex", "allowAutoFill", "allowCellFormatting", "allowChart", "allowConditionalFormat", "allowDataValidation", "allowDelete", "allowEditing", "allowFiltering", "allowFindAndReplace", "allowFreezePane", "allowHyperlink", "allowImage", "allowInsert", "allowMerge", "allowNumberFormatting", "allowOpen", "allowResizing", "allowSave", "allowScrolling", "allowSorting", "allowUndoRedo", "allowWrap", "autoFillSettings", "cellStyle", "cssClass", "currencyCode", "definedNames", "enableClipboard", "enableContextMenu", "enableKeyboardNavigation", "enableKeyboardShortcut", "enablePersistence", "enableRtl", "height", "isProtected", "listSeparator", "locale", "openUrl", "password", "saveUrl", "scrollSettings", "selectionSettings", "sheets", "showAggregate", "showFormulaBar", "showRibbon", "showSheetTabs", "width"], outputs: ["actionBegin", "actionComplete", "afterHyperlinkClick", "afterHyperlinkCreate", "beforeCellFormat", "beforeCellRender", "beforeCellSave", "beforeCellUpdate", "beforeConditionalFormat", "beforeDataBound", "beforeHyperlinkClick", "beforeHyperlinkCreate", "beforeOpen", "beforeSave", "beforeSelect", "beforeSort", "cellEdit", "cellEdited", "cellEditing", "cellSave", "contextMenuBeforeClose", "contextMenuBeforeOpen", "contextMenuItemSelect", "created", "dataBound", "dataSourceChanged", "dialogBeforeOpen", "fileMenuBeforeClose", "fileMenuBeforeOpen", "fileMenuItemSelect", "openComplete", "openFailure", "queryCellInfo", "saveComplete", "select", "sortComplete"] }] }); }
30127
30139
  }
30128
30140
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: SpContainer, decorators: [{
30129
30141
  type: Component,
@@ -30822,7 +30834,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
30822
30834
  }]
30823
30835
  }] });
30824
30836
  /* Syncfusion */
30825
- registerLicense('ORg4AjUWIQA/Gnt2UVhhQlVFfV5AQmBIYVp/TGpJfl96cVxMZVVBJAtUQF1hSn9Rd0xiXnpecnJVR2Ja');
30837
+ registerLicense('ORg4AjUWIQA/Gnt2UFhhQlJBfV5AQmBIYVp/TGpJfl96cVxMZVVBJAtUQF1hTX5QdEdjUH9WcnRXT2Fe');
30826
30838
 
30827
30839
  class MobileModule {
30828
30840
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: MobileModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }