@bizdoc/core 2.3.29 → 2.3.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/assets/bizdoc-schema.json +31 -13
  2. package/assets/themes/deep-purple-light-blue.min.css +4 -4
  3. package/assets/themes/default.min.css +4 -4
  4. package/esm2022/lib/admin/architecture/declarations.mjs +18 -2
  5. package/esm2022/lib/admin/architecture/designer-element.component.mjs +2 -2
  6. package/esm2022/lib/admin/architecture/designer.component.mjs +41 -38
  7. package/esm2022/lib/admin/architecture/elements/analysis-view.component.mjs +3 -3
  8. package/esm2022/lib/admin/architecture/elements/analysis-widget.component.mjs +3 -3
  9. package/esm2022/lib/admin/architecture/elements/documents-report.component.mjs +3 -3
  10. package/esm2022/lib/admin/architecture/elements/parallel-view.component.mjs +3 -3
  11. package/esm2022/lib/admin/architecture/elements/sum-view.component.mjs +3 -3
  12. package/esm2022/lib/admin/architecture/elements/type.component.mjs +7 -4
  13. package/esm2022/lib/admin/architecture/icon-picker.component.mjs +3 -3
  14. package/esm2022/lib/admin/form/workflow/role-node.component.mjs +1 -1
  15. package/esm2022/lib/admin/form/workflow/workflow.component.mjs +3 -3
  16. package/esm2022/lib/compose/copy/copy.dialog.mjs +3 -3
  17. package/esm2022/lib/compose/trace/trace.component.mjs +12 -13
  18. package/esm2022/lib/core/avatar/avatar.component.mjs +5 -6
  19. package/esm2022/lib/core/fields/yesno.field.mjs +3 -3
  20. package/esm2022/lib/core/models.mjs +1 -1
  21. package/esm2022/lib/cube/spreadsheet/spreadsheet.container.mjs +1 -1
  22. package/esm2022/lib/scheduler/schedule.component.mjs +2 -2
  23. package/esm2022/lib/shared.module.mjs +2 -2
  24. package/esm2022/lib/views/timeline/{timeline.component.exp.mjs → timeline.component.mjs} +11 -13
  25. package/esm2022/public-api.mjs +3 -2
  26. package/fesm2022/bizdoc-core.mjs +99 -78
  27. package/fesm2022/bizdoc-core.mjs.map +1 -1
  28. package/lib/admin/architecture/declarations.d.ts +5 -3
  29. package/lib/admin/architecture/designer.base.d.ts +1 -1
  30. package/lib/admin/architecture/designer.component.d.ts +14 -0
  31. package/lib/admin/system.service.d.ts +1 -1
  32. package/lib/core/models.d.ts +6 -1
  33. package/lib/scheduler/schedule.component.d.ts +2 -1
  34. package/lib/shared.module.d.ts +1 -1
  35. package/lib/views/timeline/{timeline.component.exp.d.ts → timeline.component.d.ts} +2 -4
  36. package/package.json +11 -11
  37. package/public-api.d.ts +2 -1
@@ -156,6 +156,14 @@ import updateLocale from 'dayjs/plugin/updateLocale';
156
156
  import player from 'lottie-web/build/player/lottie';
157
157
  import { CircularGauge as CircularGauge$1 } from '@syncfusion/ej2-circulargauge';
158
158
 
159
+ class NodeRef {
160
+ constructor(_node) {
161
+ this._node = _node;
162
+ }
163
+ get name() { return this._node.name; }
164
+ get arguments() { return this._node.arguments; }
165
+ }
166
+
159
167
  const FONT_FAMILY = 'Roboto, monospace, sans-serif';
160
168
  //// colors from https://github.com/egoist/color-lib/blob/master/color.json
161
169
  const MATERIAL_PALETTES = {
@@ -5579,7 +5587,7 @@ const FAMILY_SVG = {
5579
5587
  'Google': 'google.svg',
5580
5588
  'Okta': 'okta.svg'
5581
5589
  };
5582
- const CAP_NAME_CHAR = /[A-Z]+/g, NON_NAME_CHAR = /[^\w\-_]+/g;
5590
+ const CAP_NAME_CHAR = /[A-Z]+/g, NON_NAME_CHAR = /[^\w\-_.]+/g;
5583
5591
  /** */
5584
5592
  class DesignerRef {
5585
5593
  constructor(_designer, _element, _collection, mode) {
@@ -5623,6 +5631,22 @@ function programName(name) {
5623
5631
  replace(' ', '-').
5624
5632
  replace(NON_NAME_CHAR, '');
5625
5633
  }
5634
+ function getMonthList(locales, format = "long") {
5635
+ const year = new Date().getFullYear(); // 2024
5636
+ const monthList = [...Array(12).keys()]; // [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
5637
+ const formatter = new Intl.DateTimeFormat(locales, {
5638
+ month: format
5639
+ });
5640
+ const getMonthName = (monthIndex) => formatter.format(new Date(year, monthIndex));
5641
+ return monthList.map(getMonthName);
5642
+ }
5643
+ function extractString(str) {
5644
+ if (isString(str))
5645
+ return str;
5646
+ else
5647
+ for (var p in str)
5648
+ return str[p];
5649
+ }
5626
5650
 
5627
5651
  /** filter component*/
5628
5652
  class DesignerCubeFilterComponent {
@@ -11997,11 +12021,11 @@ class AvatarComponent {
11997
12021
  this._destroy.complete();
11998
12022
  }
11999
12023
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: AvatarComponent, deps: [{ token: HubService }, { token: i0.ChangeDetectorRef }, { token: ChatInfo }], target: i0.ɵɵFactoryTarget.Component }); }
12000
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: AvatarComponent, selector: "bizdoc-avatar", inputs: { person: "person", interactive: "interactive", dense: "dense" }, host: { listeners: { "click": "chat()" } }, usesOnChanges: true, ngImport: i0, template: "<div class=\"avatar mat-elevation-z3\" [class.dense]=dense [class.interactive]=interactive\r\n [style.backgroundColor]='color' [style.borderColor]='borderColor' [style.backgroundImage]='image'>\r\n <div class=\"initials\">{{initials}}</div>\r\n <i class=\"material-icons filled mode\" [bizdocTooltip]=\"mode | translate\"\r\n [style.backgroundColor]='modeColor' *ngIf=modeIcon>{{modeIcon}}</i>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i9$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
12024
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: AvatarComponent, selector: "bizdoc-avatar", inputs: { person: "person", interactive: "interactive", dense: "dense" }, host: { listeners: { "click": "chat()" } }, usesOnChanges: true, ngImport: i0, template: "<div class=\"avatar mat-elevation-z3\" [class.dense]=dense [class.interactive]=interactive\r\n [style.backgroundColor]='color' [style.borderColor]='borderColor' [style.backgroundImage]='image'>\r\n <div class=\"initials\">{{initials}}</div>\r\n @if(modeIcon){<i class=\"material-icons filled mode\" [bizdocTooltip]=\"mode | translate\"\r\n [style.backgroundColor]='modeColor'>{{modeIcon}}</i>}\r\n</div>\r\n", dependencies: [{ kind: "directive", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
12001
12025
  }
12002
12026
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: AvatarComponent, decorators: [{
12003
12027
  type: Component,
12004
- args: [{ selector: 'bizdoc-avatar', template: "<div class=\"avatar mat-elevation-z3\" [class.dense]=dense [class.interactive]=interactive\r\n [style.backgroundColor]='color' [style.borderColor]='borderColor' [style.backgroundImage]='image'>\r\n <div class=\"initials\">{{initials}}</div>\r\n <i class=\"material-icons filled mode\" [bizdocTooltip]=\"mode | translate\"\r\n [style.backgroundColor]='modeColor' *ngIf=modeIcon>{{modeIcon}}</i>\r\n</div>\r\n" }]
12028
+ args: [{ selector: 'bizdoc-avatar', template: "<div class=\"avatar mat-elevation-z3\" [class.dense]=dense [class.interactive]=interactive\r\n [style.backgroundColor]='color' [style.borderColor]='borderColor' [style.backgroundImage]='image'>\r\n <div class=\"initials\">{{initials}}</div>\r\n @if(modeIcon){<i class=\"material-icons filled mode\" [bizdocTooltip]=\"mode | translate\"\r\n [style.backgroundColor]='modeColor'>{{modeIcon}}</i>}\r\n</div>\r\n" }]
12005
12029
  }], ctorParameters: () => [{ type: HubService }, { type: i0.ChangeDetectorRef }, { type: ChatInfo }], propDecorators: { person: [{
12006
12030
  type: Input
12007
12031
  }], interactive: [{
@@ -13690,14 +13714,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
13690
13714
  }, template: "<bizdoc-cube-item [template]=\"template\" [model]=\"model\"></bizdoc-cube-item>\r\n\r\n<!--<lottie name=\"4958-404-not-found\" *ngIf=\"problem\"></lottie>-->\r\n" }]
13691
13715
  }], ctorParameters: () => [{ type: PaneRef }] });
13692
13716
 
13693
- class NodeRef {
13694
- constructor(_node) {
13695
- this._node = _node;
13696
- }
13697
- get name() { return this._node.name; }
13698
- get arguments() { return this._node.arguments; }
13699
- }
13700
-
13701
13717
  class WorkflowNodeComponent {
13702
13718
  constructor(_session, _factoryResolver, _injector, _translate, _fb, _pane) {
13703
13719
  this._session = _session;
@@ -14383,13 +14399,13 @@ class WorkflowComponent {
14383
14399
  this._nodedestroy.complete();
14384
14400
  }
14385
14401
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: WorkflowComponent, deps: [{ token: PromptService }, { token: SystemService }, { token: PaneRef }, { token: PanesRouter }, { token: SessionService }, { token: TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
14386
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: WorkflowComponent, selector: "bizdoc-workflow", host: { listeners: { "document:keydown": "handleKeyboardEvent($event)" }, classAttribute: "pane" }, viewQueries: [{ propertyName: "symbolPaletteEl", first: true, predicate: ["symbolPaletteEl"], descendants: true, static: true }, { propertyName: "diagramEl", first: true, predicate: ["diagramEl"], descendants: true, static: true }], ngImport: i0, template: "<mat-toolbar>\n <button mat-icon-button (click)=\"tools = !tools\" [bizdocTooltip]=\"'Collapse' | translate\"><mat-icon>view_sidebar</mat-icon></button>\n <button mat-button (click)=\"save()\" color=\"primary\" [disabled]=\"!dirty || saving\">{{'SaveChanges' | translate}}</button>\n <button mat-icon-button (click)=\"pan()\" [bizdocTooltip]=\"'Pan' | translate\"><span class=\"e-icons sf-icon-pan\"></span></button>\n <button mat-icon-button (click)=\"cursor()\" [bizdocTooltip]=\"'Cursor' | translate\"><span class=\"e-icons sf-icon-cursor\"></span></button>\n <span class=\"tools-divider\"></span>\n <button mat-icon-button (click)=\"diagram.undo()\" [bizdocTooltip]=\"'Undo' | translate\" [disabled]=\"!diagram.historyManager?.canUndo\"><mat-icon>undo</mat-icon></button>\n <button mat-icon-button (click)=\"diagram.redo()\" [bizdocTooltip]=\"'Redo' | translate\" [disabled]=\"!diagram.historyManager?.canRedo\"><mat-icon>redo</mat-icon></button>\n <span class=\"tools-divider\"></span>\n <button mat-icon-button (click)=\"diagram.copy()\" [bizdocTooltip]=\"'Copy' | translate\" [disabled]=\"diagram.selectedItems?.connectors.length === 0 && diagram.selectedItems?.nodes.length === 0\"><mat-icon>copy</mat-icon></button>\n <button mat-icon-button (click)=\"diagram.paste()\" [bizdocTooltip]=\"'Paste' | translate\"><mat-icon>paste</mat-icon></button>\n <button mat-icon-button (click)=\"diagram.remove()\" [bizdocTooltip]=\"'Remove' | translate\" [disabled]=\"diagram.selectedItems?.connectors.length === 0 && diagram.selectedItems?.nodes.length === 0\"><mat-icon>delete</mat-icon></button>\n <span class=\"tools-divider\"></span>\n <button mat-button [matMenuTriggerFor]=\"lineMenu\" [disabled]=\"diagram.selectedItems?.connectors.length === 0\" [bizdocTooltip]=\"'ConnectorMode'|translate\">\n <span class=\"e-menu-icon\" [ngClass]=\"{'sf-icon-straight-line': connectorType === 'Straight',\n 'sf-icon-orthogonal-line': connectorType === 'Orthogonal',\n 'sf-icon-beizer-line': connectorType === 'Bezier'}\"></span>\n <mat-icon>arrow_drop_down</mat-icon>\n </button>\n <mat-menu #lineMenu overlayPanelClass=\"icon-menu-panel\">\n <button mat-menu-item (click)=\"connectorTypeChange('Straight')\">\n <span class=\"e-menu-icon sf-icon-straight-line\"></span>\n </button>\n <button mat-menu-item (click)=\"connectorTypeChange('Orthogonal')\">\n <span class=\"e-menu-icon sf-icon-orthogonal-line\"></span>\n </button>\n <button mat-menu-item (click)=\"connectorTypeChange('Bezier')\">\n <span class=\"e-menu-icon sf-icon-beizer-line\"></span>\n </button>\n <!--<ng-container *ngIf=\"connectors.length\">\n < bizdoc-color-picker (valueChanges)='strokeChange($event)' [label]=\"'Stroke'|translate\"></ bizdoc-color-picker>\n <ng-container *ngIf=\"nodes[0].annotations.length\">\n < bizdoc-color-picker (valueChanges)='colorChange($event)' [label]=\"'Color'|translate\"></ bizdoc-color-picker>\n </ng-container>\n < bizdoc-color-picker (valueChanges)='bgChange($event)' [label]=\"'Background'|translate\"></ bizdoc-color-picker>\n < bizdoc-color-picker (valueChanges)='strokeChange($event)' [label]=\"'Stroke'|translate\"></ bizdoc-color-picker>\n </ng-container>-->\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"diagram.fitToPage()\" [bizdocTooltip]=\"'FitToPage' | translate\"><mat-icon>fullscreen_exit</mat-icon></button>\n </mat-menu>\n &nbsp;\n <button mat-button [matMenuTriggerFor]=\"alignMenu\" [disabled]=\"diagram.selectedItems?.nodes.length === 0 && diagram.selectedItems?.connectors.length === 0\" [bizdocTooltip]=\"'Align'|translate\">\n <span class=\"e-icons\" [ngClass]=\"{'sf-icon-top': alignment === 'Top',\n 'sf-icon-left': alignment === 'Left',\n 'sf-icon-center': alignment === 'Center',\n 'sf-icon-bottom': alignment === 'Bottom',\n 'sf-icon-right': alignment === 'Right'}\"></span>\n <mat-icon>arrow_drop_down</mat-icon>\n </button>\n <mat-menu #alignMenu overlayPanelClass=\"icon-menu-panel\">\n <button mat-menu-item (click)=\"align('Top')\">\n <span class=\"e-icons sf-icon-top\"></span>\n </button>\n <button mat-menu-item (click)=\"align('Left')\">\n <span class=\"e-icons sf-icon-left\"></span>\n </button>\n <button mat-menu-item (click)=\"align('Center')\">\n <span class=\"e-icons sf-icon-center\"></span>\n </button>\n <button mat-menu-item (click)=\"align('Right')\">\n <span class=\"e-icons sf-icon-right\"></span>\n </button>\n <button mat-menu-item (click)=\"align('Bottom')\">\n <span class=\"e-icons sf-icon-bottom\"></span>\n </button>\n </mat-menu>\n <button mat-icon-button (click)=\"boldChange()\" [bizdocTooltip]=\"'Bold' | translate\" [disabled]=\"diagram.selectedItems?.connectors.length === 0 && diagram.selectedItems?.nodes.length === 0\"><mat-icon>format_bold</mat-icon></button>\n <button mat-icon-button (click)=\"italicChange()\" [bizdocTooltip]=\"'Italic' | translate\" [disabled]=\"diagram.selectedItems?.connectors.length === 0 && diagram.selectedItems?.nodes.length === 0\"><mat-icon>format_italic</mat-icon></button>\n <button mat-icon-button [matMenuTriggerFor]=\"sizeMenu\"\n [disabled]=\"diagram.selectedItems?.nodes.length === 0 && diagram.selectedItems?.connectors.length === 0\"\n [bizdocTooltip]=\"'FontSize'|translate\">\n <mat-icon>format_size</mat-icon>\n </button>\n <mat-menu #sizeMenu overlayPanelClass=\"icon-menu-panel\">\n @for (size of fontSizes; track size) {\n <button mat-menu-item (click)=\"fontSizeChange(size)\">\n {{size}}\n </button>\n }\n </mat-menu>\n <span class=\"divider\"></span>\n</mat-toolbar>\n<div class=\"row container\">\n <div id=\"symbolpalette\" [style.display]=\"tools?'':'none'\">\n <div dir=\"ltr\" #symbolPaletteEl>\n </div>\n </div>\n <div #diagramEl id=\"diagram\" class=\"flex\" dir=\"ltr\">\n </div>\n</div>\n", styles: [":host{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;flex-grow:1;height:100%}.container{-webkit-flex-grow:1;flex-grow:1;overflow-y:auto}#diagram{-webkit-flex-grow:1;flex-grow:1}#symbolpalette{width:210px}::ng-deep .e-rtl{direction:ltr}::ng-deep .mat-toolbar .mat-button-toggle{background:transparent!important}.e-menu-icon{font-family:diagram-icons!important;speak:none;font-size:18px;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::ng-deep .mat-mdc-menu-panel{min-width:0!important}.tools-divider:after{content:\"|\";opacity:.6;margin:0 2px}\n"], dependencies: [{ kind: "directive", type: i9$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { 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: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10.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.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10.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: TranslatePipe, name: "translate" }] }); }
14402
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: WorkflowComponent, selector: "bizdoc-workflow", host: { listeners: { "document:keydown": "handleKeyboardEvent($event)" }, classAttribute: "pane" }, viewQueries: [{ propertyName: "symbolPaletteEl", first: true, predicate: ["symbolPaletteEl"], descendants: true, static: true }, { propertyName: "diagramEl", first: true, predicate: ["diagramEl"], descendants: true, static: true }], ngImport: i0, template: "<mat-toolbar>\n <button mat-icon-button (click)=\"tools = !tools\" [bizdocTooltip]=\"'Collapse' | translate\"><mat-icon>view_sidebar</mat-icon></button>\n <button mat-button (click)=\"save()\" color=\"primary\" [disabled]=\"!dirty || saving\">{{'SaveChanges' | translate}}</button>\n <button mat-icon-button (click)=\"pan()\" [bizdocTooltip]=\"'Pan' | translate\"><span class=\"e-icons sf-icon-pan\"></span></button>\n <button mat-icon-button (click)=\"cursor()\" [bizdocTooltip]=\"'Cursor' | translate\"><span class=\"e-icons sf-icon-cursor\"></span></button>\n <span class=\"tools-divider\"></span>\n <button mat-icon-button (click)=\"diagram.undo()\" [bizdocTooltip]=\"'Undo' | translate\" [disabled]=\"!diagram.historyManager?.canUndo\"><mat-icon>undo</mat-icon></button>\n <button mat-icon-button (click)=\"diagram.redo()\" [bizdocTooltip]=\"'Redo' | translate\" [disabled]=\"!diagram.historyManager?.canRedo\"><mat-icon>redo</mat-icon></button>\n <span class=\"tools-divider\"></span>\n <button mat-icon-button (click)=\"diagram.copy()\" [bizdocTooltip]=\"'Copy' | translate\" [disabled]=\"diagram.selectedItems?.connectors.length === 0 && diagram.selectedItems?.nodes.length === 0\"><mat-icon>copy</mat-icon></button>\n <button mat-icon-button (click)=\"diagram.paste()\" [bizdocTooltip]=\"'Paste' | translate\"><mat-icon>paste</mat-icon></button>\n <button mat-icon-button (click)=\"diagram.remove()\" [bizdocTooltip]=\"'Remove' | translate\" [disabled]=\"diagram.selectedItems?.connectors.length === 0 && diagram.selectedItems?.nodes.length === 0\"><mat-icon>delete</mat-icon></button>\n <span class=\"tools-divider\"></span>\n <button mat-button [matMenuTriggerFor]=\"lineMenu\" [disabled]=\"diagram.selectedItems?.connectors.length === 0\" [bizdocTooltip]=\"'ConnectorMode'|translate\">\n <span class=\"e-menu-icon\" [ngClass]=\"{'sf-icon-straight-line': connectorType === 'Straight',\n 'sf-icon-orthogonal-line': connectorType === 'Orthogonal',\n 'sf-icon-beizer-line': connectorType === 'Bezier'}\"></span>\n <mat-icon>arrow_drop_down</mat-icon>\n </button>\n <mat-menu #lineMenu overlayPanelClass=\"icon-menu-panel\">\n <button mat-menu-item (click)=\"connectorTypeChange('Straight')\">\n <span class=\"e-menu-icon sf-icon-straight-line\"></span>\n </button>\n <button mat-menu-item (click)=\"connectorTypeChange('Orthogonal')\">\n <span class=\"e-menu-icon sf-icon-orthogonal-line\"></span>\n </button>\n <button mat-menu-item (click)=\"connectorTypeChange('Bezier')\">\n <span class=\"e-menu-icon sf-icon-beizer-line\"></span>\n </button>\n <!--@if(connectors.length){\n < bizdoc-color-picker (valueChanges)='strokeChange($event)' [label]=\"'Stroke'|translate\"></ bizdoc-color-picker>\n @if(nodes[0].annotations.length){\n < bizdoc-color-picker (valueChanges)='colorChange($event)' [label]=\"'Color'|translate\"></ bizdoc-color-picker>\n }\n < bizdoc-color-picker (valueChanges)='bgChange($event)' [label]=\"'Background'|translate\"></ bizdoc-color-picker>\n < bizdoc-color-picker (valueChanges)='strokeChange($event)' [label]=\"'Stroke'|translate\"></ bizdoc-color-picker>\n }-->\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"diagram.fitToPage()\" [bizdocTooltip]=\"'FitToPage' | translate\"><mat-icon>fullscreen_exit</mat-icon></button>\n </mat-menu>\n &nbsp;\n <button mat-button [matMenuTriggerFor]=\"alignMenu\" [disabled]=\"diagram.selectedItems?.nodes.length === 0 && diagram.selectedItems?.connectors.length === 0\" [bizdocTooltip]=\"'Align'|translate\">\n <span class=\"e-icons\" [ngClass]=\"{'sf-icon-top': alignment === 'Top',\n 'sf-icon-left': alignment === 'Left',\n 'sf-icon-center': alignment === 'Center',\n 'sf-icon-bottom': alignment === 'Bottom',\n 'sf-icon-right': alignment === 'Right'}\"></span>\n <mat-icon>arrow_drop_down</mat-icon>\n </button>\n <mat-menu #alignMenu overlayPanelClass=\"icon-menu-panel\">\n <button mat-menu-item (click)=\"align('Top')\">\n <span class=\"e-icons sf-icon-top\"></span>\n </button>\n <button mat-menu-item (click)=\"align('Left')\">\n <span class=\"e-icons sf-icon-left\"></span>\n </button>\n <button mat-menu-item (click)=\"align('Center')\">\n <span class=\"e-icons sf-icon-center\"></span>\n </button>\n <button mat-menu-item (click)=\"align('Right')\">\n <span class=\"e-icons sf-icon-right\"></span>\n </button>\n <button mat-menu-item (click)=\"align('Bottom')\">\n <span class=\"e-icons sf-icon-bottom\"></span>\n </button>\n </mat-menu>\n <button mat-icon-button (click)=\"boldChange()\" [bizdocTooltip]=\"'Bold' | translate\" [disabled]=\"diagram.selectedItems?.connectors.length === 0 && diagram.selectedItems?.nodes.length === 0\"><mat-icon>format_bold</mat-icon></button>\n <button mat-icon-button (click)=\"italicChange()\" [bizdocTooltip]=\"'Italic' | translate\" [disabled]=\"diagram.selectedItems?.connectors.length === 0 && diagram.selectedItems?.nodes.length === 0\"><mat-icon>format_italic</mat-icon></button>\n <button mat-icon-button [matMenuTriggerFor]=\"sizeMenu\"\n [disabled]=\"diagram.selectedItems?.nodes.length === 0 && diagram.selectedItems?.connectors.length === 0\"\n [bizdocTooltip]=\"'FontSize'|translate\">\n <mat-icon>format_size</mat-icon>\n </button>\n <mat-menu #sizeMenu overlayPanelClass=\"icon-menu-panel\">\n @for (size of fontSizes; track size) {\n <button mat-menu-item (click)=\"fontSizeChange(size)\">\n {{size}}\n </button>\n }\n </mat-menu>\n <span class=\"divider\"></span>\n</mat-toolbar>\n<div class=\"row container\">\n <div id=\"symbolpalette\" [style.display]=\"tools?'':'none'\">\n <div dir=\"ltr\" #symbolPaletteEl>\n </div>\n </div>\n <div #diagramEl id=\"diagram\" class=\"flex\" dir=\"ltr\">\n </div>\n</div>\n", styles: [":host{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;flex-grow:1;height:100%}.container{-webkit-flex-grow:1;flex-grow:1;overflow-y:auto}#diagram{-webkit-flex-grow:1;flex-grow:1}#symbolpalette{width:210px}::ng-deep .e-rtl{direction:ltr}::ng-deep .mat-toolbar .mat-button-toggle{background:transparent!important}.e-menu-icon{font-family:diagram-icons!important;speak:none;font-size:18px;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::ng-deep .mat-mdc-menu-panel{min-width:0!important}.tools-divider:after{content:\"|\";opacity:.6;margin:0 2px}\n"], dependencies: [{ kind: "directive", type: i9$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { 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: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10.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.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10.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: TranslatePipe, name: "translate" }] }); }
14387
14403
  }
14388
14404
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: WorkflowComponent, decorators: [{
14389
14405
  type: Component,
14390
14406
  args: [{ selector: 'bizdoc-workflow', host: {
14391
14407
  class: 'pane'
14392
- }, template: "<mat-toolbar>\n <button mat-icon-button (click)=\"tools = !tools\" [bizdocTooltip]=\"'Collapse' | translate\"><mat-icon>view_sidebar</mat-icon></button>\n <button mat-button (click)=\"save()\" color=\"primary\" [disabled]=\"!dirty || saving\">{{'SaveChanges' | translate}}</button>\n <button mat-icon-button (click)=\"pan()\" [bizdocTooltip]=\"'Pan' | translate\"><span class=\"e-icons sf-icon-pan\"></span></button>\n <button mat-icon-button (click)=\"cursor()\" [bizdocTooltip]=\"'Cursor' | translate\"><span class=\"e-icons sf-icon-cursor\"></span></button>\n <span class=\"tools-divider\"></span>\n <button mat-icon-button (click)=\"diagram.undo()\" [bizdocTooltip]=\"'Undo' | translate\" [disabled]=\"!diagram.historyManager?.canUndo\"><mat-icon>undo</mat-icon></button>\n <button mat-icon-button (click)=\"diagram.redo()\" [bizdocTooltip]=\"'Redo' | translate\" [disabled]=\"!diagram.historyManager?.canRedo\"><mat-icon>redo</mat-icon></button>\n <span class=\"tools-divider\"></span>\n <button mat-icon-button (click)=\"diagram.copy()\" [bizdocTooltip]=\"'Copy' | translate\" [disabled]=\"diagram.selectedItems?.connectors.length === 0 && diagram.selectedItems?.nodes.length === 0\"><mat-icon>copy</mat-icon></button>\n <button mat-icon-button (click)=\"diagram.paste()\" [bizdocTooltip]=\"'Paste' | translate\"><mat-icon>paste</mat-icon></button>\n <button mat-icon-button (click)=\"diagram.remove()\" [bizdocTooltip]=\"'Remove' | translate\" [disabled]=\"diagram.selectedItems?.connectors.length === 0 && diagram.selectedItems?.nodes.length === 0\"><mat-icon>delete</mat-icon></button>\n <span class=\"tools-divider\"></span>\n <button mat-button [matMenuTriggerFor]=\"lineMenu\" [disabled]=\"diagram.selectedItems?.connectors.length === 0\" [bizdocTooltip]=\"'ConnectorMode'|translate\">\n <span class=\"e-menu-icon\" [ngClass]=\"{'sf-icon-straight-line': connectorType === 'Straight',\n 'sf-icon-orthogonal-line': connectorType === 'Orthogonal',\n 'sf-icon-beizer-line': connectorType === 'Bezier'}\"></span>\n <mat-icon>arrow_drop_down</mat-icon>\n </button>\n <mat-menu #lineMenu overlayPanelClass=\"icon-menu-panel\">\n <button mat-menu-item (click)=\"connectorTypeChange('Straight')\">\n <span class=\"e-menu-icon sf-icon-straight-line\"></span>\n </button>\n <button mat-menu-item (click)=\"connectorTypeChange('Orthogonal')\">\n <span class=\"e-menu-icon sf-icon-orthogonal-line\"></span>\n </button>\n <button mat-menu-item (click)=\"connectorTypeChange('Bezier')\">\n <span class=\"e-menu-icon sf-icon-beizer-line\"></span>\n </button>\n <!--<ng-container *ngIf=\"connectors.length\">\n < bizdoc-color-picker (valueChanges)='strokeChange($event)' [label]=\"'Stroke'|translate\"></ bizdoc-color-picker>\n <ng-container *ngIf=\"nodes[0].annotations.length\">\n < bizdoc-color-picker (valueChanges)='colorChange($event)' [label]=\"'Color'|translate\"></ bizdoc-color-picker>\n </ng-container>\n < bizdoc-color-picker (valueChanges)='bgChange($event)' [label]=\"'Background'|translate\"></ bizdoc-color-picker>\n < bizdoc-color-picker (valueChanges)='strokeChange($event)' [label]=\"'Stroke'|translate\"></ bizdoc-color-picker>\n </ng-container>-->\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"diagram.fitToPage()\" [bizdocTooltip]=\"'FitToPage' | translate\"><mat-icon>fullscreen_exit</mat-icon></button>\n </mat-menu>\n &nbsp;\n <button mat-button [matMenuTriggerFor]=\"alignMenu\" [disabled]=\"diagram.selectedItems?.nodes.length === 0 && diagram.selectedItems?.connectors.length === 0\" [bizdocTooltip]=\"'Align'|translate\">\n <span class=\"e-icons\" [ngClass]=\"{'sf-icon-top': alignment === 'Top',\n 'sf-icon-left': alignment === 'Left',\n 'sf-icon-center': alignment === 'Center',\n 'sf-icon-bottom': alignment === 'Bottom',\n 'sf-icon-right': alignment === 'Right'}\"></span>\n <mat-icon>arrow_drop_down</mat-icon>\n </button>\n <mat-menu #alignMenu overlayPanelClass=\"icon-menu-panel\">\n <button mat-menu-item (click)=\"align('Top')\">\n <span class=\"e-icons sf-icon-top\"></span>\n </button>\n <button mat-menu-item (click)=\"align('Left')\">\n <span class=\"e-icons sf-icon-left\"></span>\n </button>\n <button mat-menu-item (click)=\"align('Center')\">\n <span class=\"e-icons sf-icon-center\"></span>\n </button>\n <button mat-menu-item (click)=\"align('Right')\">\n <span class=\"e-icons sf-icon-right\"></span>\n </button>\n <button mat-menu-item (click)=\"align('Bottom')\">\n <span class=\"e-icons sf-icon-bottom\"></span>\n </button>\n </mat-menu>\n <button mat-icon-button (click)=\"boldChange()\" [bizdocTooltip]=\"'Bold' | translate\" [disabled]=\"diagram.selectedItems?.connectors.length === 0 && diagram.selectedItems?.nodes.length === 0\"><mat-icon>format_bold</mat-icon></button>\n <button mat-icon-button (click)=\"italicChange()\" [bizdocTooltip]=\"'Italic' | translate\" [disabled]=\"diagram.selectedItems?.connectors.length === 0 && diagram.selectedItems?.nodes.length === 0\"><mat-icon>format_italic</mat-icon></button>\n <button mat-icon-button [matMenuTriggerFor]=\"sizeMenu\"\n [disabled]=\"diagram.selectedItems?.nodes.length === 0 && diagram.selectedItems?.connectors.length === 0\"\n [bizdocTooltip]=\"'FontSize'|translate\">\n <mat-icon>format_size</mat-icon>\n </button>\n <mat-menu #sizeMenu overlayPanelClass=\"icon-menu-panel\">\n @for (size of fontSizes; track size) {\n <button mat-menu-item (click)=\"fontSizeChange(size)\">\n {{size}}\n </button>\n }\n </mat-menu>\n <span class=\"divider\"></span>\n</mat-toolbar>\n<div class=\"row container\">\n <div id=\"symbolpalette\" [style.display]=\"tools?'':'none'\">\n <div dir=\"ltr\" #symbolPaletteEl>\n </div>\n </div>\n <div #diagramEl id=\"diagram\" class=\"flex\" dir=\"ltr\">\n </div>\n</div>\n", styles: [":host{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;flex-grow:1;height:100%}.container{-webkit-flex-grow:1;flex-grow:1;overflow-y:auto}#diagram{-webkit-flex-grow:1;flex-grow:1}#symbolpalette{width:210px}::ng-deep .e-rtl{direction:ltr}::ng-deep .mat-toolbar .mat-button-toggle{background:transparent!important}.e-menu-icon{font-family:diagram-icons!important;speak:none;font-size:18px;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::ng-deep .mat-mdc-menu-panel{min-width:0!important}.tools-divider:after{content:\"|\";opacity:.6;margin:0 2px}\n"] }]
14408
+ }, template: "<mat-toolbar>\n <button mat-icon-button (click)=\"tools = !tools\" [bizdocTooltip]=\"'Collapse' | translate\"><mat-icon>view_sidebar</mat-icon></button>\n <button mat-button (click)=\"save()\" color=\"primary\" [disabled]=\"!dirty || saving\">{{'SaveChanges' | translate}}</button>\n <button mat-icon-button (click)=\"pan()\" [bizdocTooltip]=\"'Pan' | translate\"><span class=\"e-icons sf-icon-pan\"></span></button>\n <button mat-icon-button (click)=\"cursor()\" [bizdocTooltip]=\"'Cursor' | translate\"><span class=\"e-icons sf-icon-cursor\"></span></button>\n <span class=\"tools-divider\"></span>\n <button mat-icon-button (click)=\"diagram.undo()\" [bizdocTooltip]=\"'Undo' | translate\" [disabled]=\"!diagram.historyManager?.canUndo\"><mat-icon>undo</mat-icon></button>\n <button mat-icon-button (click)=\"diagram.redo()\" [bizdocTooltip]=\"'Redo' | translate\" [disabled]=\"!diagram.historyManager?.canRedo\"><mat-icon>redo</mat-icon></button>\n <span class=\"tools-divider\"></span>\n <button mat-icon-button (click)=\"diagram.copy()\" [bizdocTooltip]=\"'Copy' | translate\" [disabled]=\"diagram.selectedItems?.connectors.length === 0 && diagram.selectedItems?.nodes.length === 0\"><mat-icon>copy</mat-icon></button>\n <button mat-icon-button (click)=\"diagram.paste()\" [bizdocTooltip]=\"'Paste' | translate\"><mat-icon>paste</mat-icon></button>\n <button mat-icon-button (click)=\"diagram.remove()\" [bizdocTooltip]=\"'Remove' | translate\" [disabled]=\"diagram.selectedItems?.connectors.length === 0 && diagram.selectedItems?.nodes.length === 0\"><mat-icon>delete</mat-icon></button>\n <span class=\"tools-divider\"></span>\n <button mat-button [matMenuTriggerFor]=\"lineMenu\" [disabled]=\"diagram.selectedItems?.connectors.length === 0\" [bizdocTooltip]=\"'ConnectorMode'|translate\">\n <span class=\"e-menu-icon\" [ngClass]=\"{'sf-icon-straight-line': connectorType === 'Straight',\n 'sf-icon-orthogonal-line': connectorType === 'Orthogonal',\n 'sf-icon-beizer-line': connectorType === 'Bezier'}\"></span>\n <mat-icon>arrow_drop_down</mat-icon>\n </button>\n <mat-menu #lineMenu overlayPanelClass=\"icon-menu-panel\">\n <button mat-menu-item (click)=\"connectorTypeChange('Straight')\">\n <span class=\"e-menu-icon sf-icon-straight-line\"></span>\n </button>\n <button mat-menu-item (click)=\"connectorTypeChange('Orthogonal')\">\n <span class=\"e-menu-icon sf-icon-orthogonal-line\"></span>\n </button>\n <button mat-menu-item (click)=\"connectorTypeChange('Bezier')\">\n <span class=\"e-menu-icon sf-icon-beizer-line\"></span>\n </button>\n <!--@if(connectors.length){\n < bizdoc-color-picker (valueChanges)='strokeChange($event)' [label]=\"'Stroke'|translate\"></ bizdoc-color-picker>\n @if(nodes[0].annotations.length){\n < bizdoc-color-picker (valueChanges)='colorChange($event)' [label]=\"'Color'|translate\"></ bizdoc-color-picker>\n }\n < bizdoc-color-picker (valueChanges)='bgChange($event)' [label]=\"'Background'|translate\"></ bizdoc-color-picker>\n < bizdoc-color-picker (valueChanges)='strokeChange($event)' [label]=\"'Stroke'|translate\"></ bizdoc-color-picker>\n }-->\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"diagram.fitToPage()\" [bizdocTooltip]=\"'FitToPage' | translate\"><mat-icon>fullscreen_exit</mat-icon></button>\n </mat-menu>\n &nbsp;\n <button mat-button [matMenuTriggerFor]=\"alignMenu\" [disabled]=\"diagram.selectedItems?.nodes.length === 0 && diagram.selectedItems?.connectors.length === 0\" [bizdocTooltip]=\"'Align'|translate\">\n <span class=\"e-icons\" [ngClass]=\"{'sf-icon-top': alignment === 'Top',\n 'sf-icon-left': alignment === 'Left',\n 'sf-icon-center': alignment === 'Center',\n 'sf-icon-bottom': alignment === 'Bottom',\n 'sf-icon-right': alignment === 'Right'}\"></span>\n <mat-icon>arrow_drop_down</mat-icon>\n </button>\n <mat-menu #alignMenu overlayPanelClass=\"icon-menu-panel\">\n <button mat-menu-item (click)=\"align('Top')\">\n <span class=\"e-icons sf-icon-top\"></span>\n </button>\n <button mat-menu-item (click)=\"align('Left')\">\n <span class=\"e-icons sf-icon-left\"></span>\n </button>\n <button mat-menu-item (click)=\"align('Center')\">\n <span class=\"e-icons sf-icon-center\"></span>\n </button>\n <button mat-menu-item (click)=\"align('Right')\">\n <span class=\"e-icons sf-icon-right\"></span>\n </button>\n <button mat-menu-item (click)=\"align('Bottom')\">\n <span class=\"e-icons sf-icon-bottom\"></span>\n </button>\n </mat-menu>\n <button mat-icon-button (click)=\"boldChange()\" [bizdocTooltip]=\"'Bold' | translate\" [disabled]=\"diagram.selectedItems?.connectors.length === 0 && diagram.selectedItems?.nodes.length === 0\"><mat-icon>format_bold</mat-icon></button>\n <button mat-icon-button (click)=\"italicChange()\" [bizdocTooltip]=\"'Italic' | translate\" [disabled]=\"diagram.selectedItems?.connectors.length === 0 && diagram.selectedItems?.nodes.length === 0\"><mat-icon>format_italic</mat-icon></button>\n <button mat-icon-button [matMenuTriggerFor]=\"sizeMenu\"\n [disabled]=\"diagram.selectedItems?.nodes.length === 0 && diagram.selectedItems?.connectors.length === 0\"\n [bizdocTooltip]=\"'FontSize'|translate\">\n <mat-icon>format_size</mat-icon>\n </button>\n <mat-menu #sizeMenu overlayPanelClass=\"icon-menu-panel\">\n @for (size of fontSizes; track size) {\n <button mat-menu-item (click)=\"fontSizeChange(size)\">\n {{size}}\n </button>\n }\n </mat-menu>\n <span class=\"divider\"></span>\n</mat-toolbar>\n<div class=\"row container\">\n <div id=\"symbolpalette\" [style.display]=\"tools?'':'none'\">\n <div dir=\"ltr\" #symbolPaletteEl>\n </div>\n </div>\n <div #diagramEl id=\"diagram\" class=\"flex\" dir=\"ltr\">\n </div>\n</div>\n", styles: [":host{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;flex-grow:1;height:100%}.container{-webkit-flex-grow:1;flex-grow:1;overflow-y:auto}#diagram{-webkit-flex-grow:1;flex-grow:1}#symbolpalette{width:210px}::ng-deep .e-rtl{direction:ltr}::ng-deep .mat-toolbar .mat-button-toggle{background:transparent!important}.e-menu-icon{font-family:diagram-icons!important;speak:none;font-size:18px;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::ng-deep .mat-mdc-menu-panel{min-width:0!important}.tools-divider:after{content:\"|\";opacity:.6;margin:0 2px}\n"] }]
14393
14409
  }], ctorParameters: () => [{ type: PromptService }, { type: SystemService }, { type: PaneRef }, { type: PanesRouter }, { type: SessionService }, { type: TranslateService }], propDecorators: { symbolPaletteEl: [{
14394
14410
  type: ViewChild,
14395
14411
  args: ['symbolPaletteEl', { static: true }]
@@ -15600,11 +15616,11 @@ class TraceViewComponent extends TraceBase {
15600
15616
  this.versionSelected.emit(log.time);
15601
15617
  }
15602
15618
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: TraceViewComponent, deps: [{ token: SessionService }, { token: TranslateService }, { token: AccountService }, { token: ChatInfo }, { token: HubService }], target: i0.ɵɵFactoryTarget.Component }); }
15603
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: TraceViewComponent, selector: "bizdoc-trace", inputs: { model: "model" }, outputs: { versionSelected: "versionSelected" }, usesInheritance: true, ngImport: i0, template: "<div class=\"nav-toolbar row\">\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [matMenuTriggerFor]=\"menu\" [bizdocTooltip]=\"'ShowAll'|translate\"><mat-icon>filter_list</mat-icon></button>\r\n <mat-menu #menu> \r\n <button mat-menu-item (click)=\"showMode='route'\">\r\n <mat-icon>{{ showMode === 'route' ? 'check':'' }}</mat-icon>\r\n <span>{{'Route' | translate }}</span>\r\n </button>\r\n <button mat-menu-item (click)=\"showMode='active'\">\r\n <mat-icon>{{ showMode === 'active' ? 'check':'' }}</mat-icon>\r\n <span>{{'ActiveRoute' | translate }}</span>\r\n </button>\r\n <button mat-menu-item (click)=\"showMode='everything'\">\r\n <mat-icon>{{ showMode === 'everything' ? 'check':'' }}</mat-icon>\r\n <span>{{'Everything' | translate }}</span>\r\n </button>\r\n </mat-menu>\r\n</div>\r\n<table class=\"mat-mdc-table\" @list>\r\n <tbody role=\"rowgroup\">\r\n <tr class=\"mat-mdc-row\" *ngFor=\"let l of data\" @item>\r\n <td class=\"mat-mdc-cell\">\r\n <span [innerHTML]=\"l.name | sanitizeHtml\" (click)=\"chat($event)\"></span>\r\n <span *ngIf=l.role>{{'JoinComma'|translate}}{{l.role}}</span>\r\n </td>\r\n <td class=\"mat-mdc-cell\">\r\n <ng-container [ngSwitch]=\"l.type\">\r\n <ng-container *ngSwitchCase=\"'ActionTaken'\">\r\n <span [innerHTML]=\"l.action | sanitizeHtml\" (click)=\"chat($event)\" class=\"to\"></span>\r\n </ng-container>\r\n <span *ngSwitchCase=\"'Submit'\">{{'Issued' | translate}}</span>\r\n <span *ngSwitchCase=\"'Pending'\">{{'IsPending' | translate}}</span>\r\n <span *ngSwitchCase=\"'CheckOut'\">{{'CheckedIn' | translate : l.fileName}}</span>\r\n <span *ngSwitchCase=\"'CheckIn'\">{{'CheckedOut' | translate : l.fileName}}</span>\r\n <span *ngSwitchCase=\"'Estimate'\">{{'Estimate' | translate}}</span>\r\n <span *ngSwitchCase=\"'ModelChange'\">{{'Changed' | translate}}</span>\r\n </ng-container>\r\n <span *ngIf=\"l.fyi\">&nbsp;{{'FYI'|translate}}</span>\r\n </td>\r\n <td class=\"mat-mdc-cell\" [ngSwitch]=\"l.estimate\">\r\n <ng-container *ngSwitchCase=\"true\">\r\n <span *ngIf=\"l.durationMax && l.durationMax === l.durationMin\" [bizdocTooltip]=\"l.durationMax|amDurationFormat\">{{'EstimateTime'| translate : (l.durationMax | amDuration:'s')}}</span>\r\n <span *ngIf=\"l.durationMax && l.durationMax !== l.durationMin\"\r\n [bizdocTooltip]=\"l.durationMax|amDurationFormat\">{{'EstimateTimeRange'| translate : (l.durationMin | amDuration:'s') : (l.durationMax | amDuration:'s')}}</span>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <span>{{l.time | amCalendar : null : CALENDAR_SPEC }}</span>\r\n <span *ngIf=\"l.duration\" [bizdocTooltip]=\"l.duration|amDurationFormat\" class=\"duration\">&nbsp;({{l.duration | amDuration:'s'}})</span>\r\n </ng-container>\r\n </td>\r\n <td class=\"mat-mdc-cell\">\r\n <span *ngIf=\"l.note\">{{l.note}}</span>\r\n <button mat-icon-button *ngIf=\"l.type==='ModelChange'\" (click)=\"compare(l)\" [bizdocTooltip]=\"'Compare'|translate\" bizdocTooltipPosition=\"start\"><mat-icon>more_horiz</mat-icon></button>\r\n </td>\r\n </tr>\r\n </tbody>\r\n</table>\r\n", styles: [":host{width:100%}table{width:100%;background:transparent}table td{padding:0 4px}.duration{white-space:nowrap}\n"], dependencies: [{ kind: "directive", type: i9$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i9$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i9$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i9$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i9$1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10.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.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10.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: CalendarPipe, name: "amCalendar" }, { kind: "pipe", type: DurationPipe, name: "amDuration" }, { kind: "pipe", type: DurationFormatPipe, name: "amDurationFormat" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: SanitizeHtmlPipe, name: "sanitizeHtml" }], animations: [listAnimation, itemAnimation] }); }
15619
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: TraceViewComponent, selector: "bizdoc-trace", inputs: { model: "model" }, outputs: { versionSelected: "versionSelected" }, usesInheritance: true, ngImport: i0, template: "<div class=\"nav-toolbar row\">\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [matMenuTriggerFor]=\"menu\" [bizdocTooltip]=\"'ShowAll'|translate\"><mat-icon>filter_list</mat-icon></button>\r\n <mat-menu #menu> \r\n <button mat-menu-item (click)=\"showMode='route'\">\r\n <mat-icon>{{ showMode === 'route' ? 'check':'' }}</mat-icon>\r\n <span>{{'Route' | translate }}</span>\r\n </button>\r\n <button mat-menu-item (click)=\"showMode='active'\">\r\n <mat-icon>{{ showMode === 'active' ? 'check':'' }}</mat-icon>\r\n <span>{{'ActiveRoute' | translate }}</span>\r\n </button>\r\n <button mat-menu-item (click)=\"showMode='everything'\">\r\n <mat-icon>{{ showMode === 'everything' ? 'check':'' }}</mat-icon>\r\n <span>{{'Everything' | translate }}</span>\r\n </button>\r\n </mat-menu>\r\n</div>\r\n<table class=\"mat-mdc-table\" @list>\r\n <tbody role=\"rowgroup\">\r\n @for(l of data; track l){\r\n <tr class=\"mat-mdc-row\" @item>\r\n <td class=\"mat-mdc-cell\">\r\n <span [innerHTML]=\"l.name | sanitizeHtml\" (click)=\"chat($event)\"></span>\r\n @if(l.role) {<span>{{'JoinComma'|translate}}{{l.role}}</span>}\r\n </td>\r\n <td class=\"mat-mdc-cell\">\r\n @switch (l.type) {\r\n @case('ActionTaken') {\r\n <span [innerHTML]=\"l.action | sanitizeHtml\" (click)=\"chat($event)\" class=\"to\"></span>\r\n }\r\n @case('Submit') {\r\n <span>{{'Issued' | translate}}</span>\r\n }\r\n @case('Pending') {\r\n <span>{{'IsPending' | translate}}</span>\r\n }\r\n @case('CheckOut') {\r\n <span>{{'CheckedIn' | translate : l.fileName}}</span>\r\n }\r\n @case('CheckIn') {\r\n <span>{{'CheckedOut' | translate : l.fileName}}</span>\r\n }\r\n @case('Estimate') {\r\n <span>{{'Estimate' | translate}}</span>\r\n }\r\n @case('ModelChange') {\r\n <span>{{'Changed' | translate}}</span>\r\n }\r\n }\r\n @if(l.fyi) {\r\n <span>&nbsp;{{'FYI'|translate}}</span>\r\n }\r\n </td>\r\n <td class=\"mat-mdc-cell\">\r\n @if(l.estimate) {\r\n @if(l.durationMax && l.durationMax === l.durationMin)\r\n {<span [bizdocTooltip]=\"l.durationMax|amDurationFormat\">{{'EstimateTime'| translate : (l.durationMax | amDuration:'s')}}</span>\r\n }\r\n @if(l.durationMax && l.durationMax !== l.durationMin){<span [bizdocTooltip]=\"l.durationMax|amDurationFormat\">{{'EstimateTimeRange'| translate : (l.durationMin | amDuration:'s') : (l.durationMax | amDuration:'s')}}</span>}\r\n }\r\n @else {\r\n <span>{{l.time | amCalendar : null : CALENDAR_SPEC }}</span>\r\n @if(l.duration) {<span [bizdocTooltip]=\"l.duration|amDurationFormat\" class=\"duration\">&nbsp;({{l.duration | amDuration:'s'}})</span>}\r\n }\r\n </td>\r\n <td class=\"mat-mdc-cell\">\r\n @if (l.note) {<span>{{l.note}}</span> }\r\n @if (l.type==='ModelChange') {<button mat-icon-button (click)=\"compare(l)\" [bizdocTooltip]=\"'Compare'|translate\" bizdocTooltipPosition=\"start\"><mat-icon>more_horiz</mat-icon></button>}\r\n </td>\r\n </tr>}\r\n </tbody>\r\n</table>\r\n", styles: [":host{width:100%}table{width:100%;background:transparent}table td{padding:0 4px}.duration{white-space:nowrap}\n"], dependencies: [{ kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10.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.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10.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: CalendarPipe, name: "amCalendar" }, { kind: "pipe", type: DurationPipe, name: "amDuration" }, { kind: "pipe", type: DurationFormatPipe, name: "amDurationFormat" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: SanitizeHtmlPipe, name: "sanitizeHtml" }], animations: [listAnimation, itemAnimation] }); }
15604
15620
  }
15605
15621
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: TraceViewComponent, decorators: [{
15606
15622
  type: Component,
15607
- args: [{ selector: 'bizdoc-trace', animations: [listAnimation, itemAnimation], template: "<div class=\"nav-toolbar row\">\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [matMenuTriggerFor]=\"menu\" [bizdocTooltip]=\"'ShowAll'|translate\"><mat-icon>filter_list</mat-icon></button>\r\n <mat-menu #menu> \r\n <button mat-menu-item (click)=\"showMode='route'\">\r\n <mat-icon>{{ showMode === 'route' ? 'check':'' }}</mat-icon>\r\n <span>{{'Route' | translate }}</span>\r\n </button>\r\n <button mat-menu-item (click)=\"showMode='active'\">\r\n <mat-icon>{{ showMode === 'active' ? 'check':'' }}</mat-icon>\r\n <span>{{'ActiveRoute' | translate }}</span>\r\n </button>\r\n <button mat-menu-item (click)=\"showMode='everything'\">\r\n <mat-icon>{{ showMode === 'everything' ? 'check':'' }}</mat-icon>\r\n <span>{{'Everything' | translate }}</span>\r\n </button>\r\n </mat-menu>\r\n</div>\r\n<table class=\"mat-mdc-table\" @list>\r\n <tbody role=\"rowgroup\">\r\n <tr class=\"mat-mdc-row\" *ngFor=\"let l of data\" @item>\r\n <td class=\"mat-mdc-cell\">\r\n <span [innerHTML]=\"l.name | sanitizeHtml\" (click)=\"chat($event)\"></span>\r\n <span *ngIf=l.role>{{'JoinComma'|translate}}{{l.role}}</span>\r\n </td>\r\n <td class=\"mat-mdc-cell\">\r\n <ng-container [ngSwitch]=\"l.type\">\r\n <ng-container *ngSwitchCase=\"'ActionTaken'\">\r\n <span [innerHTML]=\"l.action | sanitizeHtml\" (click)=\"chat($event)\" class=\"to\"></span>\r\n </ng-container>\r\n <span *ngSwitchCase=\"'Submit'\">{{'Issued' | translate}}</span>\r\n <span *ngSwitchCase=\"'Pending'\">{{'IsPending' | translate}}</span>\r\n <span *ngSwitchCase=\"'CheckOut'\">{{'CheckedIn' | translate : l.fileName}}</span>\r\n <span *ngSwitchCase=\"'CheckIn'\">{{'CheckedOut' | translate : l.fileName}}</span>\r\n <span *ngSwitchCase=\"'Estimate'\">{{'Estimate' | translate}}</span>\r\n <span *ngSwitchCase=\"'ModelChange'\">{{'Changed' | translate}}</span>\r\n </ng-container>\r\n <span *ngIf=\"l.fyi\">&nbsp;{{'FYI'|translate}}</span>\r\n </td>\r\n <td class=\"mat-mdc-cell\" [ngSwitch]=\"l.estimate\">\r\n <ng-container *ngSwitchCase=\"true\">\r\n <span *ngIf=\"l.durationMax && l.durationMax === l.durationMin\" [bizdocTooltip]=\"l.durationMax|amDurationFormat\">{{'EstimateTime'| translate : (l.durationMax | amDuration:'s')}}</span>\r\n <span *ngIf=\"l.durationMax && l.durationMax !== l.durationMin\"\r\n [bizdocTooltip]=\"l.durationMax|amDurationFormat\">{{'EstimateTimeRange'| translate : (l.durationMin | amDuration:'s') : (l.durationMax | amDuration:'s')}}</span>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <span>{{l.time | amCalendar : null : CALENDAR_SPEC }}</span>\r\n <span *ngIf=\"l.duration\" [bizdocTooltip]=\"l.duration|amDurationFormat\" class=\"duration\">&nbsp;({{l.duration | amDuration:'s'}})</span>\r\n </ng-container>\r\n </td>\r\n <td class=\"mat-mdc-cell\">\r\n <span *ngIf=\"l.note\">{{l.note}}</span>\r\n <button mat-icon-button *ngIf=\"l.type==='ModelChange'\" (click)=\"compare(l)\" [bizdocTooltip]=\"'Compare'|translate\" bizdocTooltipPosition=\"start\"><mat-icon>more_horiz</mat-icon></button>\r\n </td>\r\n </tr>\r\n </tbody>\r\n</table>\r\n", styles: [":host{width:100%}table{width:100%;background:transparent}table td{padding:0 4px}.duration{white-space:nowrap}\n"] }]
15623
+ args: [{ selector: 'bizdoc-trace', animations: [listAnimation, itemAnimation], template: "<div class=\"nav-toolbar row\">\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [matMenuTriggerFor]=\"menu\" [bizdocTooltip]=\"'ShowAll'|translate\"><mat-icon>filter_list</mat-icon></button>\r\n <mat-menu #menu> \r\n <button mat-menu-item (click)=\"showMode='route'\">\r\n <mat-icon>{{ showMode === 'route' ? 'check':'' }}</mat-icon>\r\n <span>{{'Route' | translate }}</span>\r\n </button>\r\n <button mat-menu-item (click)=\"showMode='active'\">\r\n <mat-icon>{{ showMode === 'active' ? 'check':'' }}</mat-icon>\r\n <span>{{'ActiveRoute' | translate }}</span>\r\n </button>\r\n <button mat-menu-item (click)=\"showMode='everything'\">\r\n <mat-icon>{{ showMode === 'everything' ? 'check':'' }}</mat-icon>\r\n <span>{{'Everything' | translate }}</span>\r\n </button>\r\n </mat-menu>\r\n</div>\r\n<table class=\"mat-mdc-table\" @list>\r\n <tbody role=\"rowgroup\">\r\n @for(l of data; track l){\r\n <tr class=\"mat-mdc-row\" @item>\r\n <td class=\"mat-mdc-cell\">\r\n <span [innerHTML]=\"l.name | sanitizeHtml\" (click)=\"chat($event)\"></span>\r\n @if(l.role) {<span>{{'JoinComma'|translate}}{{l.role}}</span>}\r\n </td>\r\n <td class=\"mat-mdc-cell\">\r\n @switch (l.type) {\r\n @case('ActionTaken') {\r\n <span [innerHTML]=\"l.action | sanitizeHtml\" (click)=\"chat($event)\" class=\"to\"></span>\r\n }\r\n @case('Submit') {\r\n <span>{{'Issued' | translate}}</span>\r\n }\r\n @case('Pending') {\r\n <span>{{'IsPending' | translate}}</span>\r\n }\r\n @case('CheckOut') {\r\n <span>{{'CheckedIn' | translate : l.fileName}}</span>\r\n }\r\n @case('CheckIn') {\r\n <span>{{'CheckedOut' | translate : l.fileName}}</span>\r\n }\r\n @case('Estimate') {\r\n <span>{{'Estimate' | translate}}</span>\r\n }\r\n @case('ModelChange') {\r\n <span>{{'Changed' | translate}}</span>\r\n }\r\n }\r\n @if(l.fyi) {\r\n <span>&nbsp;{{'FYI'|translate}}</span>\r\n }\r\n </td>\r\n <td class=\"mat-mdc-cell\">\r\n @if(l.estimate) {\r\n @if(l.durationMax && l.durationMax === l.durationMin)\r\n {<span [bizdocTooltip]=\"l.durationMax|amDurationFormat\">{{'EstimateTime'| translate : (l.durationMax | amDuration:'s')}}</span>\r\n }\r\n @if(l.durationMax && l.durationMax !== l.durationMin){<span [bizdocTooltip]=\"l.durationMax|amDurationFormat\">{{'EstimateTimeRange'| translate : (l.durationMin | amDuration:'s') : (l.durationMax | amDuration:'s')}}</span>}\r\n }\r\n @else {\r\n <span>{{l.time | amCalendar : null : CALENDAR_SPEC }}</span>\r\n @if(l.duration) {<span [bizdocTooltip]=\"l.duration|amDurationFormat\" class=\"duration\">&nbsp;({{l.duration | amDuration:'s'}})</span>}\r\n }\r\n </td>\r\n <td class=\"mat-mdc-cell\">\r\n @if (l.note) {<span>{{l.note}}</span> }\r\n @if (l.type==='ModelChange') {<button mat-icon-button (click)=\"compare(l)\" [bizdocTooltip]=\"'Compare'|translate\" bizdocTooltipPosition=\"start\"><mat-icon>more_horiz</mat-icon></button>}\r\n </td>\r\n </tr>}\r\n </tbody>\r\n</table>\r\n", styles: [":host{width:100%}table{width:100%;background:transparent}table td{padding:0 4px}.duration{white-space:nowrap}\n"] }]
15608
15624
  }], ctorParameters: () => [{ type: SessionService }, { type: TranslateService }, { type: AccountService }, { type: ChatInfo }, { type: HubService }], propDecorators: { model: [{
15609
15625
  type: Input
15610
15626
  }], versionSelected: [{
@@ -15883,7 +15899,7 @@ class ScheduleViewComponent {
15883
15899
  };
15884
15900
  this._currentView = localStorage.getItem('scheduleView') || 'WorkWeek';
15885
15901
  this.holidays = session.profile.holidays &&
15886
- session.profile.holidays.map(h => ({ from: h.startDate, to: h.fromDate, label: h.title }));
15902
+ session.profile.holidays.map(h => ({ from: h.fromDate, to: h.toDate, label: h.title }));
15887
15903
  }
15888
15904
  ngOnChanges(_changes) {
15889
15905
  this._populate();
@@ -20788,11 +20804,11 @@ class CopyDialog {
20788
20804
  this._subscription.unsubscribe();
20789
20805
  }
20790
20806
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: CopyDialog, deps: [{ token: MailboxService }, { token: i2$6.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component }); }
20791
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: CopyDialog, selector: "bizdoc-copy", ngImport: i0, template: "<h2 mat-dialog-title>{{'Copy' | translate}}</h2>\n<mat-dialog-content>\n <form>\n <mat-form-field>\n <input matInput type=\"search\" [matAutocomplete]=\"index\" placeholder=\"{{'Number' | translate}}\" [formControl]=\"search\" required />\n <mat-icon matSuffix>search</mat-icon>\n <!--<button mat-button *ngIf=\"search.value\" matSuffix mat-icon-button aria-label=\"Clear\" (click)=\"search.setValue('')\">\n <mat-icon>close</mat-icon>\n </button>-->\n <mat-autocomplete #index=\"matAutocomplete\" [displayWith]=\"display\" [autoActiveFirstOption]=\"true\" (optionSelected)=\"select($event)\">\n @for (m of results$ | async; track m) {\n <mat-option [value]=\"m\">\n <span>{{m.number}} | {{m.subject}}</span>\n </mat-option>\n }\n </mat-autocomplete>\n </mat-form-field>\n</form>\n</mat-dialog-content>\n<mat-dialog-actions>\n <button mat-button type=\"submit\" [disabled]=\"!selectedItem\" [mat-dialog-close]=\"selectedItem\" color=\"primary\">{{'OK' | translate}}</button>\n <button mat-button mat-dialog-close>{{'Cancel' | translate}}</button>\n</mat-dialog-actions>\n", dependencies: [{ kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$6.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i2$6.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i2$6.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i2$6.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i4$1.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i2$3.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i4$1.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i3$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i9$1.AsyncPipe, name: "async" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
20807
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: CopyDialog, selector: "bizdoc-copy", ngImport: i0, template: "<h2 mat-dialog-title>{{'Copy' | translate}}</h2>\n<mat-dialog-content>\n <form>\n <mat-form-field>\n <input matInput type=\"search\" [matAutocomplete]=\"index\" placeholder=\"{{'Number' | translate}}\" [formControl]=\"search\" required />\n <mat-icon matSuffix>search</mat-icon>\n <!--@if(search.value){<button mat-button matSuffix mat-icon-button aria-label=\"Clear\" (click)=\"search.setValue('')\">\n <mat-icon>close</mat-icon>\n </button>}-->\n <mat-autocomplete #index=\"matAutocomplete\" [displayWith]=\"display\" [autoActiveFirstOption]=\"true\" (optionSelected)=\"select($event)\">\n @for (m of results$ | async; track m) {\n <mat-option [value]=\"m\">\n <span>{{m.number}} | {{m.subject}}</span>\n </mat-option>\n }\n </mat-autocomplete>\n </mat-form-field>\n</form>\n</mat-dialog-content>\n<mat-dialog-actions>\n <button mat-button type=\"submit\" [disabled]=\"!selectedItem\" [mat-dialog-close]=\"selectedItem\" color=\"primary\">{{'OK' | translate}}</button>\n <button mat-button mat-dialog-close>{{'Cancel' | translate}}</button>\n</mat-dialog-actions>\n", dependencies: [{ kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$6.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i2$6.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i2$6.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i2$6.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i4$1.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i2$3.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i4$1.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i3$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i9$1.AsyncPipe, name: "async" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
20792
20808
  }
20793
20809
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: CopyDialog, decorators: [{
20794
20810
  type: Component,
20795
- args: [{ selector: 'bizdoc-copy', template: "<h2 mat-dialog-title>{{'Copy' | translate}}</h2>\n<mat-dialog-content>\n <form>\n <mat-form-field>\n <input matInput type=\"search\" [matAutocomplete]=\"index\" placeholder=\"{{'Number' | translate}}\" [formControl]=\"search\" required />\n <mat-icon matSuffix>search</mat-icon>\n <!--<button mat-button *ngIf=\"search.value\" matSuffix mat-icon-button aria-label=\"Clear\" (click)=\"search.setValue('')\">\n <mat-icon>close</mat-icon>\n </button>-->\n <mat-autocomplete #index=\"matAutocomplete\" [displayWith]=\"display\" [autoActiveFirstOption]=\"true\" (optionSelected)=\"select($event)\">\n @for (m of results$ | async; track m) {\n <mat-option [value]=\"m\">\n <span>{{m.number}} | {{m.subject}}</span>\n </mat-option>\n }\n </mat-autocomplete>\n </mat-form-field>\n</form>\n</mat-dialog-content>\n<mat-dialog-actions>\n <button mat-button type=\"submit\" [disabled]=\"!selectedItem\" [mat-dialog-close]=\"selectedItem\" color=\"primary\">{{'OK' | translate}}</button>\n <button mat-button mat-dialog-close>{{'Cancel' | translate}}</button>\n</mat-dialog-actions>\n" }]
20811
+ args: [{ selector: 'bizdoc-copy', template: "<h2 mat-dialog-title>{{'Copy' | translate}}</h2>\n<mat-dialog-content>\n <form>\n <mat-form-field>\n <input matInput type=\"search\" [matAutocomplete]=\"index\" placeholder=\"{{'Number' | translate}}\" [formControl]=\"search\" required />\n <mat-icon matSuffix>search</mat-icon>\n <!--@if(search.value){<button mat-button matSuffix mat-icon-button aria-label=\"Clear\" (click)=\"search.setValue('')\">\n <mat-icon>close</mat-icon>\n </button>}-->\n <mat-autocomplete #index=\"matAutocomplete\" [displayWith]=\"display\" [autoActiveFirstOption]=\"true\" (optionSelected)=\"select($event)\">\n @for (m of results$ | async; track m) {\n <mat-option [value]=\"m\">\n <span>{{m.number}} | {{m.subject}}</span>\n </mat-option>\n }\n </mat-autocomplete>\n </mat-form-field>\n</form>\n</mat-dialog-content>\n<mat-dialog-actions>\n <button mat-button type=\"submit\" [disabled]=\"!selectedItem\" [mat-dialog-close]=\"selectedItem\" color=\"primary\">{{'OK' | translate}}</button>\n <button mat-button mat-dialog-close>{{'Cancel' | translate}}</button>\n</mat-dialog-actions>\n" }]
20796
20812
  }], ctorParameters: () => [{ type: MailboxService }, { type: i2$6.MatDialogRef }] });
20797
20813
 
20798
20814
  /** form selector component */
@@ -23180,14 +23196,14 @@ let YesNoField = class YesNoField {
23180
23196
  this.required && this.control.addValidators(Validators.requiredTrue);
23181
23197
  }
23182
23198
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: YesNoField, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
23183
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: YesNoField, selector: "ng-component", host: { classAttribute: "field" }, viewQueries: [{ propertyName: "input", first: true, predicate: MatRadioButton, descendants: true }], ngImport: i0, template: "@if (mode==='compose') {\n <div>\n <!-- <mat-label *ngIf=label>{{label|localizedString}}</mat-label>-->\n @if (hint) {\n <mat-hint> {{ hint |localizedString}}</mat-hint>\n }\n <mat-radio-group [formControl]=control>\n <mat-radio-button [value]=\"true\">{{'Yes'|translate}}</mat-radio-button>\n <mat-radio-button [value]=\"false\">{{'No'|translate}}</mat-radio-button>\n </mat-radio-group>\n @if (control.hasError('requiredTrue')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:(label|localizedString)\"></mat-error>\n }\n </div>\n} @else {\n {{(control.value?'Yes':'No')|translate}}\n}\n", dependencies: [{ kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$a.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i2$a.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "directive", type: i3.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "pipe", type: LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
23199
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: YesNoField, selector: "ng-component", host: { classAttribute: "field" }, viewQueries: [{ propertyName: "input", first: true, predicate: MatRadioButton, descendants: true }], ngImport: i0, template: "@if (mode==='compose') {\n <div>\n <!-- @if (label)<mat-label>{{label|localizedString}}</mat-label>}-->\n @if (hint) {\n <mat-hint> {{ hint |localizedString}}</mat-hint>\n }\n <mat-radio-group [formControl]=control>\n <mat-radio-button [value]=\"true\">{{'Yes'|translate}}</mat-radio-button>\n <mat-radio-button [value]=\"false\">{{'No'|translate}}</mat-radio-button>\n </mat-radio-group>\n @if (control.hasError('requiredTrue')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:(label|localizedString)\"></mat-error>\n }\n </div>\n} @else {\n {{(control.value?'Yes':'No')|translate}}\n}\n", dependencies: [{ kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$a.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i2$a.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "directive", type: i3.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "pipe", type: LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
23184
23200
  };
23185
23201
  YesNoField = __decorate([
23186
23202
  BizDoc({ selector: 'yesno-control' })
23187
23203
  ], YesNoField);
23188
23204
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: YesNoField, decorators: [{
23189
23205
  type: Component,
23190
- args: [{ host: { class: 'field' }, template: "@if (mode==='compose') {\n <div>\n <!-- <mat-label *ngIf=label>{{label|localizedString}}</mat-label>-->\n @if (hint) {\n <mat-hint> {{ hint |localizedString}}</mat-hint>\n }\n <mat-radio-group [formControl]=control>\n <mat-radio-button [value]=\"true\">{{'Yes'|translate}}</mat-radio-button>\n <mat-radio-button [value]=\"false\">{{'No'|translate}}</mat-radio-button>\n </mat-radio-group>\n @if (control.hasError('requiredTrue')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:(label|localizedString)\"></mat-error>\n }\n </div>\n} @else {\n {{(control.value?'Yes':'No')|translate}}\n}\n" }]
23206
+ args: [{ host: { class: 'field' }, template: "@if (mode==='compose') {\n <div>\n <!-- @if (label)<mat-label>{{label|localizedString}}</mat-label>}-->\n @if (hint) {\n <mat-hint> {{ hint |localizedString}}</mat-hint>\n }\n <mat-radio-group [formControl]=control>\n <mat-radio-button [value]=\"true\">{{'Yes'|translate}}</mat-radio-button>\n <mat-radio-button [value]=\"false\">{{'No'|translate}}</mat-radio-button>\n </mat-radio-group>\n @if (control.hasError('requiredTrue')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:(label|localizedString)\"></mat-error>\n }\n </div>\n} @else {\n {{(control.value?'Yes':'No')|translate}}\n}\n" }]
23191
23207
  }], propDecorators: { input: [{
23192
23208
  type: ViewChild,
23193
23209
  args: [MatRadioButton]
@@ -27876,8 +27892,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
27876
27892
 
27877
27893
  let TimelineViewComponent = class TimelineViewComponent {
27878
27894
  /** timeline-view ctor */
27879
- constructor(_ps, viewRef, config, _users, _session, _translate, _router, _element) {
27880
- this._ps = _ps;
27895
+ constructor(viewRef, config, _users, _session, _translate, _router, _element) {
27881
27896
  this._users = _users;
27882
27897
  this._session = _session;
27883
27898
  this._translate = _translate;
@@ -27926,7 +27941,7 @@ let TimelineViewComponent = class TimelineViewComponent {
27926
27941
  ];
27927
27942
  this.dateFormat = config && config.formats && config.formats.dateTime || 'MMMM d, yyyy hh:mm';
27928
27943
  this.holidays = _session.profile.holidays &&
27929
- _session.profile.holidays.map(h => ({ from: h.startDate, to: h.fromDate, label: h.title }));
27944
+ _session.profile.holidays.map(h => ({ from: h.fromDate, to: h.toDate, label: h.title }));
27930
27945
  viewRef.resize.subscribe(d => {
27931
27946
  this.width = d.width - 16;
27932
27947
  if (this.gantt) {
@@ -28170,7 +28185,7 @@ let TimelineViewComponent = class TimelineViewComponent {
28170
28185
  _compare(task) {
28171
28186
  this._router.navigate(['mailbox/d', this.model.documentId.encodeId(), 'version', task.time.valueOf().encodeId()], { state: { item: this.model } });
28172
28187
  }
28173
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: TimelineViewComponent, deps: [{ token: PromptService }, { token: DocumentViewRef }, { token: BIZDOC_CONFIG }, { token: AccountService }, { token: SessionService }, { token: TranslateService }, { token: RouterImpl }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
28188
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: TimelineViewComponent, deps: [{ token: DocumentViewRef }, { token: BIZDOC_CONFIG }, { token: AccountService }, { token: SessionService }, { token: TranslateService }, { token: RouterImpl }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
28174
28189
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: TimelineViewComponent, selector: "bizdoc-timeline", host: { attributes: { "id": "doc-timeline" }, properties: { "dir": "this.dir" }, classAttribute: "view" }, providers: [SelectionService$3, DayMarkersService], ngImport: i0, template: '', isInline: true, styles: [":host{padding:8px}:host ::ng-deep .e-split-bar{display:none!important}\n"] }); }
28175
28190
  };
28176
28191
  TimelineViewComponent = __decorate([
@@ -28183,7 +28198,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
28183
28198
  class: 'view',
28184
28199
  id: 'doc-timeline'
28185
28200
  }, providers: [SelectionService$3, DayMarkersService], styles: [":host{padding:8px}:host ::ng-deep .e-split-bar{display:none!important}\n"] }]
28186
- }], ctorParameters: () => [{ type: PromptService }, { type: DocumentViewRef }, { type: undefined, decorators: [{
28201
+ }], ctorParameters: () => [{ type: DocumentViewRef }, { type: undefined, decorators: [{
28187
28202
  type: Inject,
28188
28203
  args: [BIZDOC_CONFIG]
28189
28204
  }] }, { type: AccountService }, { type: SessionService }, { type: TranslateService }, { type: RouterImpl }, { type: i0.ElementRef }], propDecorators: { dir: [{
@@ -29688,7 +29703,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
29688
29703
 
29689
29704
  class SpContainer {
29690
29705
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: SpContainer, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
29691
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: SpContainer, isStandalone: true, selector: "bizdoc-sp-container", ngImport: i0, template: `<ejs-spreadsheet/>`, isInline: true, dependencies: [{ kind: "ngmodule", type: SyncfusionSpreadsheetModule }, { kind: "component", type: i9$3.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", "cellEditing", "cellSave", "contextMenuBeforeClose", "contextMenuBeforeOpen", "contextMenuItemSelect", "created", "dataBound", "dataSourceChanged", "dialogBeforeOpen", "fileMenuBeforeClose", "fileMenuBeforeOpen", "fileMenuItemSelect", "openComplete", "openFailure", "queryCellInfo", "saveComplete", "select", "sortComplete"] }] }); }
29706
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: SpContainer, isStandalone: true, selector: "bizdoc-sp-container", ngImport: i0, template: `<ejs-spreadsheet/>`, isInline: true, dependencies: [{ kind: "ngmodule", type: SyncfusionSpreadsheetModule }, { kind: "component", type: i9$3.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"] }] }); }
29692
29707
  }
29693
29708
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: SpContainer, decorators: [{
29694
29709
  type: Component,
@@ -32851,11 +32866,11 @@ class IconPickerComponent {
32851
32866
  this.close();
32852
32867
  }
32853
32868
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: IconPickerComponent, deps: [{ token: i1$1.NgControl, optional: true, self: true }, { token: i1$2.Overlay }, { token: i1.HttpClient }, { token: i0.ViewContainerRef }, { token: i0.ElementRef }, { token: i1$3.Directionality }], target: i0.ɵɵFactoryTarget.Component }); }
32854
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: IconPickerComponent, selector: "bizdoc-icon-picker", inputs: { value: "value", required: "required", disabled: "disabled" }, outputs: { valueChanges: "valueChanges" }, host: { properties: { "id": "this.id", "class.floating": "this.shouldLabelFloat", "attr.aria-describedby": "this.describedBy" } }, viewQueries: [{ propertyName: "panel", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: "<button mat-button (click)=\"open()\" [disabled]=\"disabled\" type=\"button\">\n <mat-icon>{{value}}</mat-icon>\n <mat-icon>arrow_drop_down</mat-icon>\n</button>\n<ng-template>\n <div class=\"icon-palette\">\n <input matInput [formControl]=\"filter\" (keydown.escape)=\"_clear()\" autocomplete=\"off\"/>\n <cdk-virtual-scroll-viewport itemSize=\"100\" class=\"categories\" templateCacheSize=\"0\">\n @for (i of items; track i) {\n <mat-icon (click)=\"_pick(i)\">{{i.name}}</mat-icon>\n }\n <!--; trackBy: _trackBy-->\n <!--<div *cdkVirtualFor=\"let c of categories; trackBy: _trackBy\">\n <mat-icon *ngFor=\"let i of c.items; trackBy: _trackBy\" (click)=\"_pick(i)\">{{i.name}}</mat-icon>\n </div>-->\n </cdk-virtual-scroll-viewport>\n</div>\n</ng-template>\n", styles: [".icon-palette{max-height:400px;overflow-y:auto;max-width:450px}.categories{height:300px;width:300px}\n"], dependencies: [{ kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i5$4.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "component", type: i5$4.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i3$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
32869
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: IconPickerComponent, selector: "bizdoc-icon-picker", inputs: { value: "value", required: "required", disabled: "disabled" }, outputs: { valueChanges: "valueChanges" }, host: { properties: { "id": "this.id", "class.floating": "this.shouldLabelFloat", "attr.aria-describedby": "this.describedBy" } }, viewQueries: [{ propertyName: "panel", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: "<button mat-button (click)=\"open()\" [disabled]=\"disabled\" type=\"button\">\n <mat-icon>{{value}}</mat-icon>\n <mat-icon>arrow_drop_down</mat-icon>\n</button>\n<ng-template>\n <div class=\"icon-palette\">\n <input matInput [formControl]=\"filter\" (keydown.escape)=\"_clear()\" autocomplete=\"off\"/>\n <cdk-virtual-scroll-viewport itemSize=\"100\" class=\"categories\" templateCacheSize=\"0\">\n @for (i of items; track i.name) {\n <mat-icon (click)=\"_pick(i)\">{{i.name}}</mat-icon>\n }\n <!--<div *cdkVirtualFor=\"let c of categories; track: _trackBy\">\n @for(i of c.items; track: _trackBy)){<mat-icon (click)=\"_pick(i)\">{{i.name}}</mat-icon>}\n </div>-->\n </cdk-virtual-scroll-viewport>\n</div>\n</ng-template>\n", styles: [".icon-palette{max-height:400px;overflow-y:auto;max-width:450px}.categories{height:300px;width:300px}\n"], dependencies: [{ kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i5$4.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "component", type: i5$4.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i3$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
32855
32870
  }
32856
32871
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: IconPickerComponent, decorators: [{
32857
32872
  type: Component,
32858
- args: [{ selector: 'bizdoc-icon-picker', template: "<button mat-button (click)=\"open()\" [disabled]=\"disabled\" type=\"button\">\n <mat-icon>{{value}}</mat-icon>\n <mat-icon>arrow_drop_down</mat-icon>\n</button>\n<ng-template>\n <div class=\"icon-palette\">\n <input matInput [formControl]=\"filter\" (keydown.escape)=\"_clear()\" autocomplete=\"off\"/>\n <cdk-virtual-scroll-viewport itemSize=\"100\" class=\"categories\" templateCacheSize=\"0\">\n @for (i of items; track i) {\n <mat-icon (click)=\"_pick(i)\">{{i.name}}</mat-icon>\n }\n <!--; trackBy: _trackBy-->\n <!--<div *cdkVirtualFor=\"let c of categories; trackBy: _trackBy\">\n <mat-icon *ngFor=\"let i of c.items; trackBy: _trackBy\" (click)=\"_pick(i)\">{{i.name}}</mat-icon>\n </div>-->\n </cdk-virtual-scroll-viewport>\n</div>\n</ng-template>\n", styles: [".icon-palette{max-height:400px;overflow-y:auto;max-width:450px}.categories{height:300px;width:300px}\n"] }]
32873
+ args: [{ selector: 'bizdoc-icon-picker', template: "<button mat-button (click)=\"open()\" [disabled]=\"disabled\" type=\"button\">\n <mat-icon>{{value}}</mat-icon>\n <mat-icon>arrow_drop_down</mat-icon>\n</button>\n<ng-template>\n <div class=\"icon-palette\">\n <input matInput [formControl]=\"filter\" (keydown.escape)=\"_clear()\" autocomplete=\"off\"/>\n <cdk-virtual-scroll-viewport itemSize=\"100\" class=\"categories\" templateCacheSize=\"0\">\n @for (i of items; track i.name) {\n <mat-icon (click)=\"_pick(i)\">{{i.name}}</mat-icon>\n }\n <!--<div *cdkVirtualFor=\"let c of categories; track: _trackBy\">\n @for(i of c.items; track: _trackBy)){<mat-icon (click)=\"_pick(i)\">{{i.name}}</mat-icon>}\n </div>-->\n </cdk-virtual-scroll-viewport>\n</div>\n</ng-template>\n", styles: [".icon-palette{max-height:400px;overflow-y:auto;max-width:450px}.categories{height:300px;width:300px}\n"] }]
32859
32874
  }], ctorParameters: () => [{ type: i1$1.NgControl, decorators: [{
32860
32875
  type: Optional
32861
32876
  }, {
@@ -33062,9 +33077,9 @@ class DesignerItemComponent {
33062
33077
  }
33063
33078
  handleViewKeyboardEvent(event) {
33064
33079
  if (event.ctrlKey && (event.key === 's' || event.key === 'S')) {
33080
+ this.context.form.valid && this.closeView(true);
33065
33081
  event.preventDefault();
33066
33082
  event.stopPropagation();
33067
- this.context.form.valid && this.closeView(true);
33068
33083
  }
33069
33084
  else if (event.key === 'Escape') {
33070
33085
  event.preventDefault();
@@ -33987,7 +34002,10 @@ class TypeDesignComponent extends DesignerTypeElementComponent {
33987
34002
  super.ngOnInit();
33988
34003
  }
33989
34004
  test() {
33990
- this._source.map(this.model.name).subscribe(() => this._ps.toast(this._translate.get('OK')), () => this._ps.error());
34005
+ this._source.map(this.model.name).subscribe({
34006
+ next: () => this._ps.toast(this._translate.get('OK')),
34007
+ error: () => this._ps.error()
34008
+ });
33991
34009
  }
33992
34010
  newPattern(model) {
33993
34011
  const name = this._fb.control(model?.name, Validators.required), title = this._fb.control(model?.title, Validators.required);
@@ -34008,11 +34026,11 @@ class TypeDesignComponent extends DesignerTypeElementComponent {
34008
34026
  });
34009
34027
  }
34010
34028
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: TypeDesignComponent, deps: [{ token: i1$1.FormBuilder }, { token: DatasourceService }, { token: TranslateService }, { token: PromptService }, { token: i0.ElementRef }, { token: DesignerRef }], target: i0.ɵɵFactoryTarget.Component }); }
34011
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: TypeDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<bizdoc-designer-element [form]=\"form\" [context]=\"context\">\n <ng-template bizdocContent>\n <div class=\"row\">\n <span class=\"divider\"></span>\n <button mat-icon-button [matMenuTriggerFor]=\"options\" [disabled]=\"model.draft\"><mat-icon>more_vert</mat-icon></button>\n <mat-menu #options>\n <button mat-menu-item (click)=\"test()\" type=\"button\">{{'TestType'|translate}}</button>\n </mat-menu>\n </div>\n </ng-template>\n <ng-template bizdocEditContent>\n <ng-container [formGroup]=\"form\">\n <h2 class=\"mat-h2 row\">\n {{'Groups'|translate}}\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"add(groups, newGroup(), 'Group', 'group')\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add_circle_outline</mat-icon></button>\n </h2>\n <table formArrayName=\"groups\" class=\"mat-mdc-table\" cdkDropList (cdkDropListDropped)=\"drop($event, groups)\">\n @for (g of groups.controls; track g; let index = $index) {\n <tr class=\"mat-mdc-row\" [formGroup]=\"g\" cdkDrag>\n <td class=\"mat-mdc-cell\">\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\n </td>\n <td class=\"mat-mdc-cell\" width=\"99%\">\n {{g.controls.title.value }}\n </td>\n <td class=\"mat-mdc-cell nowrap\">\n <button mat-icon-button (click)=\"edit(g, 'Group', 'group')\" [bizdocTooltip]=\"'Edit'|translate\" type=\"button\"><mat-icon>edit</mat-icon></button>\n <button mat-icon-button (click)=\"groups.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\n </td>\n </tr>\n }\n </table>\n <h2 class=\"mat-h2 row\">\n {{'Patterns'|translate}}\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"add(patterns, newPattern(), 'Pattern', 'pattern')\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add_circle_outline</mat-icon></button>\n </h2>\n <table formArrayName=\"tpatterns\" class=\"mat-mdc-table\" cdkDropList (cdkDropListDropped)=\"drop($event, patterns)\">\n @for (p of patterns.controls; track p; let index = $index) {\n <tr class=\"mat-mdc-row\" [formGroup]=\"p\" cdkDrag>\n <td class=\"mat-mdc-cell\">\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\n </td>\n <td class=\"mat-mdc-cell\" width=\"99%\">\n {{p.controls.title.value }}\n </td>\n <td class=\"mat-mdc-cell nowrap\">\n <button mat-icon-button (click)=\"edit(p, 'Pattern', 'pattern')\" [bizdocTooltip]=\"'Edit'|translate\" type=\"button\"><mat-icon>edit</mat-icon></button>\n <button mat-icon-button (click)=\"patterns.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\n </td>\n </tr>\n }\n </table>\n <mat-checkbox formControlName=\"assignable\">{{'Assignable'|translate}}</mat-checkbox>\n </ng-container>\n </ng-template>\n <ng-template bizdocAddContent>\n <ng-container [formGroup]=\"form\">\n </ng-container>\n </ng-template>\n <ng-template bizdocCustomContent=\"group\" let-form=\"form\">\n <ng-container [formGroup]=\"form\">\n <mat-form-field class=\"flex\">\n <mat-label>{{'Title'|translate}}</mat-label>\n <input matInput formControlName=\"title\" />\n </mat-form-field>\n <mat-form-field class=\"flex\">\n <mat-label>{{'Name'|translate}}</mat-label>\n <input matInput formControlName=\"name\" required />\n @if (form.controls.name.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Name'|translate)\"></mat-error>\n }\n </mat-form-field>\n <mat-form-field class=\"flex\">\n <mat-label>{{'Items'|translate}}</mat-label>\n <mat-select [placeholder]=\"'Items'|translate\" multiple formControlName=\"items\" required>\n\n <!--<mat-select-trigger>\n {{group.value.items ? group.value.items[0] : ''}}\n <span *ngIf=\"form.value.items?.length > 1\">\n (+{{form.value.items.length - 1}} {{(form.value.items?.length === 2 ? 'Other' : 'Others')|translate}})\n </span>\n </mat-select-trigger>-->\n <!--<mat-option *ngFor=\"let v of source\" [value]=\"v.key\">\n <span *ngIf=\"!type.columns\">{{v.value}}</span>\n <span *ngIf=\"type.columns\"><span *ngFor=\"let c of type.columns\">{{v.value[c.name]}}</span></span>\n </mat-option>-->\n @for (v of values; track v) {\n <mat-option [value]=\"v.key\">\n <span>{{v.value}}</span>\n </mat-option>\n }\n </mat-select>\n @if (form.controls.items.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Items'|translate)\"></mat-error>\n }\n </mat-form-field>\n </ng-container>\n </ng-template>\n <ng-template bizdocCustomContent=\"pattern\" let-form=\"form\">\n <ng-container [formGroup]=\"form\">\n <mat-form-field class=\"flex\">\n <mat-label>{{'Title'|translate}}</mat-label>\n <input matInput formControlName=\"title\" />\n </mat-form-field>\n <mat-form-field class=\"flex\">\n <mat-label>{{'Name'|translate}}</mat-label>\n <input matInput formControlName=\"name\" required />\n @if (form.controls.name.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Name'|translate)\"></mat-error>\n }\n </mat-form-field>\n <mat-form-field class=\"flex\">\n <mat-label>{{'Regex'|translate}}</mat-label>\n <input matInput formControlName=\"expression\" required />\n @if (form.controls.expression.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Expression'|translate)\"></mat-error>\n }\n <mat-hint><span [innerHTML]=\"'RegexHint' | translate : 'https://regex101.com/'| sanitizeHtml\"></span></mat-hint>\n </mat-form-field>\n </ng-container>\n </ng-template>\n</bizdoc-designer-element>\n", dependencies: [{ kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1$1.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "directive", type: i2$2.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i2$2.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i2$2.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: i2$3.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i2$4.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i3$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10.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.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10.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: "directive", type: AddContentDirective, selector: "[bizdocAddContent]" }, { kind: "directive", type: CustomContentDirective, selector: "[bizdocCustomContent]", inputs: ["bizdocCustomContent"] }, { kind: "directive", type: EditContentDirective, selector: "[bizdocEditContent]" }, { kind: "directive", type: WidgetContentDirective, selector: "[bizdocContent]" }, { kind: "component", type: DesignerItemComponent, selector: "bizdoc-designer-element", inputs: ["privileges", "icon", "form", "context"], outputs: ["save"] }, { kind: "pipe", type: SanitizeHtmlPipe, name: "sanitizeHtml" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
34029
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: TypeDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<bizdoc-designer-element [form]=\"form\" [context]=\"context\">\n <ng-template bizdocContent>\n <div class=\"row\">\n <span class=\"divider\"></span>\n <button mat-icon-button [matMenuTriggerFor]=\"options\" [disabled]=\"model.draft\"><mat-icon>more_vert</mat-icon></button>\n <mat-menu #options>\n <button mat-menu-item (click)=\"test()\" type=\"button\">{{'TestType'|translate}}</button>\n </mat-menu>\n </div>\n </ng-template>\n <ng-template bizdocEditContent>\n <ng-container [formGroup]=\"form\">\n <h2 class=\"mat-h2 row\">\n {{'Groups'|translate}}\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"add(groups, newGroup(), 'Group', 'group')\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add_circle_outline</mat-icon></button>\n </h2>\n <table formArrayName=\"groups\" class=\"mat-mdc-table\" cdkDropList (cdkDropListDropped)=\"drop($event, groups)\">\n @for (g of groups.controls; track g; let index = $index) {\n <tr class=\"mat-mdc-row\" [formGroup]=\"g\" cdkDrag>\n <td class=\"mat-mdc-cell\">\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\n </td>\n <td class=\"mat-mdc-cell\" width=\"99%\">\n {{g.controls.title.value }}\n </td>\n <td class=\"mat-mdc-cell nowrap\">\n <button mat-icon-button (click)=\"edit(g, 'Group', 'group')\" [bizdocTooltip]=\"'Edit'|translate\" type=\"button\"><mat-icon>edit</mat-icon></button>\n <button mat-icon-button (click)=\"groups.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\n </td>\n </tr>\n }\n </table>\n <h2 class=\"mat-h2 row\">\n {{'Patterns'|translate}}\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"add(patterns, newPattern(), 'Pattern', 'pattern')\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add_circle_outline</mat-icon></button>\n </h2>\n <table formArrayName=\"tpatterns\" class=\"mat-mdc-table\" cdkDropList (cdkDropListDropped)=\"drop($event, patterns)\">\n @for (p of patterns.controls; track p; let index = $index) {\n <tr class=\"mat-mdc-row\" [formGroup]=\"p\" cdkDrag>\n <td class=\"mat-mdc-cell\">\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\n </td>\n <td class=\"mat-mdc-cell\" width=\"99%\">\n {{p.controls.title.value }}\n </td>\n <td class=\"mat-mdc-cell nowrap\">\n <button mat-icon-button (click)=\"edit(p, 'Pattern', 'pattern')\" [bizdocTooltip]=\"'Edit'|translate\" type=\"button\"><mat-icon>edit</mat-icon></button>\n <button mat-icon-button (click)=\"patterns.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\n </td>\n </tr>\n }\n </table>\n <mat-checkbox formControlName=\"assignable\">{{'Assignable'|translate}}</mat-checkbox>\n </ng-container>\n </ng-template>\n <ng-template bizdocAddContent>\n <ng-container [formGroup]=\"form\">\n </ng-container>\n </ng-template>\n <ng-template bizdocCustomContent=\"group\" let-form=\"form\">\n <ng-container [formGroup]=\"form\">\n <mat-form-field class=\"flex\">\n <mat-label>{{'Title'|translate}}</mat-label>\n <input matInput formControlName=\"title\" />\n </mat-form-field>\n <mat-form-field class=\"flex\">\n <mat-label>{{'Name'|translate}}</mat-label>\n <input matInput formControlName=\"name\" required />\n @if (form.controls.name.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Name'|translate)\"></mat-error>\n }\n </mat-form-field>\n <mat-form-field class=\"flex\">\n <mat-label>{{'Items'|translate}}</mat-label>\n <mat-select [placeholder]=\"'Items'|translate\" multiple formControlName=\"items\" required>\n @for (v of values; track v) {\n <mat-option [value]=\"v.key\">\n <span>{{v.value}}</span>\n </mat-option>\n }\n </mat-select>\n @if (form.controls.items.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Items'|translate)\"></mat-error>\n }\n </mat-form-field>\n </ng-container>\n </ng-template>\n <ng-template bizdocCustomContent=\"pattern\" let-form=\"form\">\n <ng-container [formGroup]=\"form\">\n <mat-form-field class=\"flex\">\n <mat-label>{{'Title'|translate}}</mat-label>\n <input matInput formControlName=\"title\" />\n </mat-form-field>\n <mat-form-field class=\"flex\">\n <mat-label>{{'Name'|translate}}</mat-label>\n <input matInput formControlName=\"name\" required />\n @if (form.controls.name.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Name'|translate)\"></mat-error>\n }\n </mat-form-field>\n <mat-form-field class=\"flex\">\n <mat-label>{{'Regex'|translate}}</mat-label>\n <input matInput formControlName=\"expression\" required />\n @if (form.controls.expression.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Expression'|translate)\"></mat-error>\n }\n <mat-hint><span [innerHTML]=\"'RegexHint' | translate : 'https://regex101.com/'| sanitizeHtml\"></span></mat-hint>\n </mat-form-field>\n </ng-container>\n </ng-template>\n</bizdoc-designer-element>\n", dependencies: [{ kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1$1.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "directive", type: i2$2.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i2$2.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i2$2.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: i2$3.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i2$4.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i3$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10.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.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10.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: "directive", type: AddContentDirective, selector: "[bizdocAddContent]" }, { kind: "directive", type: CustomContentDirective, selector: "[bizdocCustomContent]", inputs: ["bizdocCustomContent"] }, { kind: "directive", type: EditContentDirective, selector: "[bizdocEditContent]" }, { kind: "directive", type: WidgetContentDirective, selector: "[bizdocContent]" }, { kind: "component", type: DesignerItemComponent, selector: "bizdoc-designer-element", inputs: ["privileges", "icon", "form", "context"], outputs: ["save"] }, { kind: "pipe", type: SanitizeHtmlPipe, name: "sanitizeHtml" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
34012
34030
  }
34013
34031
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: TypeDesignComponent, decorators: [{
34014
34032
  type: Component,
34015
- args: [{ template: "<bizdoc-designer-element [form]=\"form\" [context]=\"context\">\n <ng-template bizdocContent>\n <div class=\"row\">\n <span class=\"divider\"></span>\n <button mat-icon-button [matMenuTriggerFor]=\"options\" [disabled]=\"model.draft\"><mat-icon>more_vert</mat-icon></button>\n <mat-menu #options>\n <button mat-menu-item (click)=\"test()\" type=\"button\">{{'TestType'|translate}}</button>\n </mat-menu>\n </div>\n </ng-template>\n <ng-template bizdocEditContent>\n <ng-container [formGroup]=\"form\">\n <h2 class=\"mat-h2 row\">\n {{'Groups'|translate}}\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"add(groups, newGroup(), 'Group', 'group')\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add_circle_outline</mat-icon></button>\n </h2>\n <table formArrayName=\"groups\" class=\"mat-mdc-table\" cdkDropList (cdkDropListDropped)=\"drop($event, groups)\">\n @for (g of groups.controls; track g; let index = $index) {\n <tr class=\"mat-mdc-row\" [formGroup]=\"g\" cdkDrag>\n <td class=\"mat-mdc-cell\">\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\n </td>\n <td class=\"mat-mdc-cell\" width=\"99%\">\n {{g.controls.title.value }}\n </td>\n <td class=\"mat-mdc-cell nowrap\">\n <button mat-icon-button (click)=\"edit(g, 'Group', 'group')\" [bizdocTooltip]=\"'Edit'|translate\" type=\"button\"><mat-icon>edit</mat-icon></button>\n <button mat-icon-button (click)=\"groups.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\n </td>\n </tr>\n }\n </table>\n <h2 class=\"mat-h2 row\">\n {{'Patterns'|translate}}\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"add(patterns, newPattern(), 'Pattern', 'pattern')\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add_circle_outline</mat-icon></button>\n </h2>\n <table formArrayName=\"tpatterns\" class=\"mat-mdc-table\" cdkDropList (cdkDropListDropped)=\"drop($event, patterns)\">\n @for (p of patterns.controls; track p; let index = $index) {\n <tr class=\"mat-mdc-row\" [formGroup]=\"p\" cdkDrag>\n <td class=\"mat-mdc-cell\">\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\n </td>\n <td class=\"mat-mdc-cell\" width=\"99%\">\n {{p.controls.title.value }}\n </td>\n <td class=\"mat-mdc-cell nowrap\">\n <button mat-icon-button (click)=\"edit(p, 'Pattern', 'pattern')\" [bizdocTooltip]=\"'Edit'|translate\" type=\"button\"><mat-icon>edit</mat-icon></button>\n <button mat-icon-button (click)=\"patterns.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\n </td>\n </tr>\n }\n </table>\n <mat-checkbox formControlName=\"assignable\">{{'Assignable'|translate}}</mat-checkbox>\n </ng-container>\n </ng-template>\n <ng-template bizdocAddContent>\n <ng-container [formGroup]=\"form\">\n </ng-container>\n </ng-template>\n <ng-template bizdocCustomContent=\"group\" let-form=\"form\">\n <ng-container [formGroup]=\"form\">\n <mat-form-field class=\"flex\">\n <mat-label>{{'Title'|translate}}</mat-label>\n <input matInput formControlName=\"title\" />\n </mat-form-field>\n <mat-form-field class=\"flex\">\n <mat-label>{{'Name'|translate}}</mat-label>\n <input matInput formControlName=\"name\" required />\n @if (form.controls.name.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Name'|translate)\"></mat-error>\n }\n </mat-form-field>\n <mat-form-field class=\"flex\">\n <mat-label>{{'Items'|translate}}</mat-label>\n <mat-select [placeholder]=\"'Items'|translate\" multiple formControlName=\"items\" required>\n\n <!--<mat-select-trigger>\n {{group.value.items ? group.value.items[0] : ''}}\n <span *ngIf=\"form.value.items?.length > 1\">\n (+{{form.value.items.length - 1}} {{(form.value.items?.length === 2 ? 'Other' : 'Others')|translate}})\n </span>\n </mat-select-trigger>-->\n <!--<mat-option *ngFor=\"let v of source\" [value]=\"v.key\">\n <span *ngIf=\"!type.columns\">{{v.value}}</span>\n <span *ngIf=\"type.columns\"><span *ngFor=\"let c of type.columns\">{{v.value[c.name]}}</span></span>\n </mat-option>-->\n @for (v of values; track v) {\n <mat-option [value]=\"v.key\">\n <span>{{v.value}}</span>\n </mat-option>\n }\n </mat-select>\n @if (form.controls.items.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Items'|translate)\"></mat-error>\n }\n </mat-form-field>\n </ng-container>\n </ng-template>\n <ng-template bizdocCustomContent=\"pattern\" let-form=\"form\">\n <ng-container [formGroup]=\"form\">\n <mat-form-field class=\"flex\">\n <mat-label>{{'Title'|translate}}</mat-label>\n <input matInput formControlName=\"title\" />\n </mat-form-field>\n <mat-form-field class=\"flex\">\n <mat-label>{{'Name'|translate}}</mat-label>\n <input matInput formControlName=\"name\" required />\n @if (form.controls.name.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Name'|translate)\"></mat-error>\n }\n </mat-form-field>\n <mat-form-field class=\"flex\">\n <mat-label>{{'Regex'|translate}}</mat-label>\n <input matInput formControlName=\"expression\" required />\n @if (form.controls.expression.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Expression'|translate)\"></mat-error>\n }\n <mat-hint><span [innerHTML]=\"'RegexHint' | translate : 'https://regex101.com/'| sanitizeHtml\"></span></mat-hint>\n </mat-form-field>\n </ng-container>\n </ng-template>\n</bizdoc-designer-element>\n" }]
34033
+ args: [{ template: "<bizdoc-designer-element [form]=\"form\" [context]=\"context\">\n <ng-template bizdocContent>\n <div class=\"row\">\n <span class=\"divider\"></span>\n <button mat-icon-button [matMenuTriggerFor]=\"options\" [disabled]=\"model.draft\"><mat-icon>more_vert</mat-icon></button>\n <mat-menu #options>\n <button mat-menu-item (click)=\"test()\" type=\"button\">{{'TestType'|translate}}</button>\n </mat-menu>\n </div>\n </ng-template>\n <ng-template bizdocEditContent>\n <ng-container [formGroup]=\"form\">\n <h2 class=\"mat-h2 row\">\n {{'Groups'|translate}}\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"add(groups, newGroup(), 'Group', 'group')\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add_circle_outline</mat-icon></button>\n </h2>\n <table formArrayName=\"groups\" class=\"mat-mdc-table\" cdkDropList (cdkDropListDropped)=\"drop($event, groups)\">\n @for (g of groups.controls; track g; let index = $index) {\n <tr class=\"mat-mdc-row\" [formGroup]=\"g\" cdkDrag>\n <td class=\"mat-mdc-cell\">\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\n </td>\n <td class=\"mat-mdc-cell\" width=\"99%\">\n {{g.controls.title.value }}\n </td>\n <td class=\"mat-mdc-cell nowrap\">\n <button mat-icon-button (click)=\"edit(g, 'Group', 'group')\" [bizdocTooltip]=\"'Edit'|translate\" type=\"button\"><mat-icon>edit</mat-icon></button>\n <button mat-icon-button (click)=\"groups.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\n </td>\n </tr>\n }\n </table>\n <h2 class=\"mat-h2 row\">\n {{'Patterns'|translate}}\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"add(patterns, newPattern(), 'Pattern', 'pattern')\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add_circle_outline</mat-icon></button>\n </h2>\n <table formArrayName=\"tpatterns\" class=\"mat-mdc-table\" cdkDropList (cdkDropListDropped)=\"drop($event, patterns)\">\n @for (p of patterns.controls; track p; let index = $index) {\n <tr class=\"mat-mdc-row\" [formGroup]=\"p\" cdkDrag>\n <td class=\"mat-mdc-cell\">\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\n </td>\n <td class=\"mat-mdc-cell\" width=\"99%\">\n {{p.controls.title.value }}\n </td>\n <td class=\"mat-mdc-cell nowrap\">\n <button mat-icon-button (click)=\"edit(p, 'Pattern', 'pattern')\" [bizdocTooltip]=\"'Edit'|translate\" type=\"button\"><mat-icon>edit</mat-icon></button>\n <button mat-icon-button (click)=\"patterns.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\n </td>\n </tr>\n }\n </table>\n <mat-checkbox formControlName=\"assignable\">{{'Assignable'|translate}}</mat-checkbox>\n </ng-container>\n </ng-template>\n <ng-template bizdocAddContent>\n <ng-container [formGroup]=\"form\">\n </ng-container>\n </ng-template>\n <ng-template bizdocCustomContent=\"group\" let-form=\"form\">\n <ng-container [formGroup]=\"form\">\n <mat-form-field class=\"flex\">\n <mat-label>{{'Title'|translate}}</mat-label>\n <input matInput formControlName=\"title\" />\n </mat-form-field>\n <mat-form-field class=\"flex\">\n <mat-label>{{'Name'|translate}}</mat-label>\n <input matInput formControlName=\"name\" required />\n @if (form.controls.name.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Name'|translate)\"></mat-error>\n }\n </mat-form-field>\n <mat-form-field class=\"flex\">\n <mat-label>{{'Items'|translate}}</mat-label>\n <mat-select [placeholder]=\"'Items'|translate\" multiple formControlName=\"items\" required>\n @for (v of values; track v) {\n <mat-option [value]=\"v.key\">\n <span>{{v.value}}</span>\n </mat-option>\n }\n </mat-select>\n @if (form.controls.items.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Items'|translate)\"></mat-error>\n }\n </mat-form-field>\n </ng-container>\n </ng-template>\n <ng-template bizdocCustomContent=\"pattern\" let-form=\"form\">\n <ng-container [formGroup]=\"form\">\n <mat-form-field class=\"flex\">\n <mat-label>{{'Title'|translate}}</mat-label>\n <input matInput formControlName=\"title\" />\n </mat-form-field>\n <mat-form-field class=\"flex\">\n <mat-label>{{'Name'|translate}}</mat-label>\n <input matInput formControlName=\"name\" required />\n @if (form.controls.name.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Name'|translate)\"></mat-error>\n }\n </mat-form-field>\n <mat-form-field class=\"flex\">\n <mat-label>{{'Regex'|translate}}</mat-label>\n <input matInput formControlName=\"expression\" required />\n @if (form.controls.expression.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Expression'|translate)\"></mat-error>\n }\n <mat-hint><span [innerHTML]=\"'RegexHint' | translate : 'https://regex101.com/'| sanitizeHtml\"></span></mat-hint>\n </mat-form-field>\n </ng-container>\n </ng-template>\n</bizdoc-designer-element>\n" }]
34016
34034
  }], ctorParameters: () => [{ type: i1$1.FormBuilder }, { type: DatasourceService }, { type: TranslateService }, { type: PromptService }, { type: i0.ElementRef }, { type: DesignerRef, decorators: [{
34017
34035
  type: Inject,
34018
34036
  args: [DesignerRef]
@@ -34079,7 +34097,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
34079
34097
  args: [{ template: "<bizdoc-designer-element [form]=\"form\" [privileges]=\"true\">\r\n <!-- widget -->\r\n <ng-template bizdocContent>\r\n <dl>\r\n <dt></dt>\r\n <dd>{{model.regularExpression}}</dd>\r\n </dl>\r\n </ng-template>\r\n <!-- edit -->\r\n <ng-template bizdocEditContent>\r\n <ng-container [formGroup]=\"form\">\r\n <mat-form-field>\r\n <input matInput formControlName=\"regularExpression\" [placeholder]=\"'Regex'| translate\" required autocomplete=\"off\" />\r\n <mat-hint><span [innerHTML]=\"'RegexHint' | translate : 'https://regex101.com/'| sanitizeHtml\"></span></mat-hint>\r\n </mat-form-field>\r\n </ng-container>\r\n </ng-template>\r\n</bizdoc-designer-element>\r\n" }]
34080
34098
  }] });
34081
34099
 
34082
- const SEARCH_DEBOUNCE = 150;
34100
+ const SEARCH_DEBOUNCE = 200;
34083
34101
  /** */
34084
34102
  let ConfigurationDesignerComponent = class ConfigurationDesignerComponent {
34085
34103
  constructor(_panes, _fb, _translate, _ps, _session, _element, _injector, _popup, _ref) {
@@ -34108,24 +34126,24 @@ let ConfigurationDesignerComponent = class ConfigurationDesignerComponent {
34108
34126
  this.model = r;
34109
34127
  this.sections = [
34110
34128
  { elements: r.forms, type: 'Forms', comp: FormDesignComponent, templates: r.tForms },
34111
- { elements: r.actions, type: 'Actions', comp: ActionDesignerComponent, templates: r.tActions },
34112
- { elements: r.reports, type: 'Reports', comp: ReportDesignerComponent, templates: r.tReports },
34113
- { elements: r.widgets, type: 'Widgets', comp: WidgetDesignComponent, templates: r.tWidgets },
34114
34129
  { elements: r.views, type: 'Views', comp: ViewDesignComponent, templates: r.tViews },
34115
- { elements: r.guides, type: 'Guides', comp: GuideDesignComponent, templates: [{ title: this._translate.get('Guide') }] },
34130
+ { elements: r.widgets, type: 'Widgets', comp: WidgetDesignComponent, templates: r.tWidgets },
34131
+ { elements: r.reports, type: 'Reports', comp: ReportDesignerComponent, templates: r.tReports },
34132
+ { elements: r.utilities, type: 'Tools', comp: UtilityDesignComponent, templates: r.tUtilities },
34116
34133
  { elements: r.cubes, type: 'Cubes', comp: CubeDesignComponent, templates: r.tCubes },
34117
- //{ elements: r.jobs, type: 'Jobs', comp: JobDesignComponent },
34134
+ { elements: r.types, type: 'Types', comp: TypeDesignComponent, templates: r.tTypes },
34118
34135
  { elements: r.sources, type: 'Sources', comp: SourceDesignComponent },
34136
+ { elements: r.actions, type: 'Actions', comp: ActionDesignerComponent, templates: r.tActions },
34137
+ { elements: r.guides, type: 'Guides', comp: GuideDesignComponent, templates: [{ title: this._translate.get('Guide') }] },
34138
+ //{ elements: r.jobs, type: 'Jobs', comp: JobDesignComponent },
34119
34139
  { elements: r.folders, type: 'Folders', comp: FolderDesignComponent, templates: [{ title: this._translate.get('Folder') }] },
34120
34140
  { elements: r.roles, type: 'Roles', comp: RoleDesignComponent, templates: [{ title: this._translate.get('Role') }] },
34121
34141
  { elements: r.states, type: 'States', comp: StateDesignComponent, templates: [{ title: this._translate.get('State') }] },
34122
- { elements: r.utilities, type: 'Tools', comp: UtilityDesignComponent, templates: r.tUtilities },
34123
- { elements: r.types, type: 'Types', comp: TypeDesignComponent, templates: r.tTypes },
34124
34142
  { elements: r.nodes, type: 'Nodes', comp: NodeDesignerComponent, templates: r.tNodes },
34125
34143
  { elements: r.attributes, type: 'Attributes', comp: AttributeDesignComponent, templates: r.tAttributes },
34126
- { elements: r.policies, type: 'Policies', comp: PolicyDesignComponent, templates: r.tPolicies },
34127
- { elements: r.controls, type: 'Controls', comp: ControlDesignComponent },
34128
34144
  { elements: r.rules, type: 'Rules', comp: RuleDesignComponent, templates: r.tRules },
34145
+ { elements: r.controls, type: 'Controls', comp: ControlDesignComponent },
34146
+ { elements: r.policies, type: 'Policies', comp: PolicyDesignComponent, templates: r.tPolicies },
34129
34147
  ];
34130
34148
  const families = [];
34131
34149
  for (const s of this.sections) {
@@ -34182,10 +34200,10 @@ let ConfigurationDesignerComponent = class ConfigurationDesignerComponent {
34182
34200
  clearSearch() {
34183
34201
  clearTimeout(this._typingTimer);
34184
34202
  this.sections.forEach(s => {
34185
- s.hide = false;
34186
34203
  s.elements.forEach(e => e.hide = false);
34204
+ s.hide = false;
34187
34205
  });
34188
- this.form.setValue({}, { emitEvent: false });
34206
+ this.form.reset({}, { emitEvent: false });
34189
34207
  this.searchBy = 0;
34190
34208
  }
34191
34209
  /**
@@ -34262,11 +34280,17 @@ let ConfigurationDesignerComponent = class ConfigurationDesignerComponent {
34262
34280
  this._open(element, section, 'add').then(() => {
34263
34281
  // add to array
34264
34282
  section.elements.splice(position + 1, 0, element);
34265
- // force render on search more
34266
- if (this.searchBy)
34267
- this.searchBy += 1;
34283
+ // force render
34284
+ this.searchBy += 1;
34268
34285
  });
34269
34286
  }
34287
+ /**
34288
+ *
34289
+ * @param element
34290
+ * @param section
34291
+ * @param mode
34292
+ * @returns
34293
+ */
34270
34294
  _open(element, section, mode) {
34271
34295
  let eclone = { ...element };
34272
34296
  delete eclone.injector;
@@ -34278,20 +34302,24 @@ let ConfigurationDesignerComponent = class ConfigurationDesignerComponent {
34278
34302
  group: this._translate.get(section.title),
34279
34303
  //title,
34280
34304
  injector: injector
34281
- }).then(pane => {
34282
- pane.instance.designer.onSave.subscribe(el => {
34283
- if (el) {
34284
- Object.assign(element, el);
34285
- this.dirty = true;
34286
- resolve(el);
34287
- }
34288
- else
34289
- reject();
34290
- pane.close();
34291
- });
34292
- pane.closed().subscribe(() => this._element.nativeElement.focus());
34293
- }));
34305
+ }).then(pane => pane.instance.designer.onSave.subscribe(el => {
34306
+ if (el) {
34307
+ Object.assign(element, el);
34308
+ this.dirty = true;
34309
+ resolve(el);
34310
+ }
34311
+ else
34312
+ reject();
34313
+ pane.close();
34314
+ })));
34294
34315
  }
34316
+ /**
34317
+ *
34318
+ * @param element
34319
+ * @param collection
34320
+ * @param mode
34321
+ * @returns
34322
+ */
34295
34323
  _createInjector(element, collection, mode) {
34296
34324
  const ref = new DesignerRef(this.model, element, collection, mode);
34297
34325
  const injector = Injector.create({
@@ -34402,13 +34430,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
34402
34430
  type: HostListener,
34403
34431
  args: ['keydown', ['$event']]
34404
34432
  }] } });
34405
- function extractString(str) {
34406
- if (isString(str))
34407
- return str;
34408
- else
34409
- for (var p in str)
34410
- return str[p];
34411
- }
34412
34433
 
34413
34434
  const NAME_PATTERN = /^[A-Za-z]+\w*$/;
34414
34435
 
@@ -34842,14 +34863,14 @@ let ParallelViewDesignComponent = class ParallelViewDesignComponent extends Desi
34842
34863
  });
34843
34864
  }
34844
34865
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ParallelViewDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
34845
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: ParallelViewDesignComponent, selector: "ng-component", host: { classAttribute: "column" }, usesInheritance: true, ngImport: i0, template: "@if (mode !== 'widget') {\n<ng-container [formGroup]=\"form\">\n @if (cubes.length > 1) {\n <mat-form-field>\n <mat-label>{{'Cube'|translate}}</mat-label>\n <mat-select required formControlName=\"cube\" (selectionChange)=\"cubeSelected($event)\">\n @for (c of cubes; track c) {\n <mat-option [value]=\"c.name\">{{c.title|localizedString}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n <mat-form-field>\n <mat-label>{{'XAxis'|translate}}</mat-label>\n <mat-select formControlName=\"xAxis\" required multiple>\n @for (a of cube?.axes; track a) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n </mat-select>\n @if (form.controls.xAxis.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('XAxis'|translate)\"></mat-error>\n }\n </mat-form-field>\n <mat-form-field>\n <mat-label>{{'Series'|translate}}</mat-label>\n <mat-select formControlName=\"series\" required multiple>\n @for (a of cube?.axes; track a) {\n @if (form.controls.xAxis.value?.indexOf(a.name) < 0) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n }\n </mat-select>\n @if (form.controls.series.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Series'|translate)\"></mat-error>\n }\n </mat-form-field>\n @if (cube?.indices?.length) {\n <mat-form-field>\n <mat-label>{{'Indices'|translate}}</mat-label>\n <mat-select formControlName=\"indices\" multiple>\n @for (x of cube.indices; track x) {\n <mat-option [value]=\"x.name\">{{x.title || x.name}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n <mat-form-field>\n <mat-label>{{'ChartType'|translate}}</mat-label>\n <mat-select formControlName=\"chartType\">\n <mat-option value=\"Pie\">{{'Pie'|translate}}</mat-option>\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\n </mat-select>\n </mat-form-field>\n <mat-form-field>\n <mat-label>{{'Aggregate'|translate}}</mat-label>\n <mat-select formControlName=\"aggregate\" multiple>\n @for (a of cube?.axes; track a) {\n @if (form.controls.xAxis.value!==a.name && form.controls.series.value !== a.name && (!form.controls.filters.value || form.controls.filters.value?.indexOf(a.name) < 0)) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n }\n </mat-select>\n </mat-form-field>\n</ng-container>\n<!--<div>\n <bizdoc-cube-parallel *ngIf=\"options.xAxis\" [cube]=\"options.cube\"\n [xAxis]=\"options.xAxis\"\n [series]=\"options.series\"\n [indices]=\"options.indices\"\n [filters]=\"options.filters\"\n [chartType]=\"options.chartType\"\n [scope]=\"options.scope\"\n [size]=\"250\"></bizdoc-cube-parallel>\n</div>-->\n}\n", dependencies: [{ kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2$3.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "pipe", type: LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
34866
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: ParallelViewDesignComponent, selector: "ng-component", host: { classAttribute: "column" }, usesInheritance: true, ngImport: i0, template: "@if (mode !== 'widget') {\n<ng-container [formGroup]=\"form\">\n @if (cubes.length > 1) {\n <mat-form-field>\n <mat-label>{{'Cube'|translate}}</mat-label>\n <mat-select required formControlName=\"cube\" (selectionChange)=\"cubeSelected($event)\">\n @for (c of cubes; track c) {\n <mat-option [value]=\"c.name\">{{c.title|localizedString}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n <mat-form-field>\n <mat-label>{{'XAxis'|translate}}</mat-label>\n <mat-select formControlName=\"xAxis\" required multiple>\n @for (a of cube?.axes; track a) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n </mat-select>\n @if (form.controls.xAxis.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('XAxis'|translate)\"></mat-error>\n }\n </mat-form-field>\n <mat-form-field>\n <mat-label>{{'Series'|translate}}</mat-label>\n <mat-select formControlName=\"series\" required multiple>\n @for (a of cube?.axes; track a) {\n @if (form.controls.xAxis.value?.indexOf(a.name) < 0) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n }\n </mat-select>\n @if (form.controls.series.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Series'|translate)\"></mat-error>\n }\n </mat-form-field>\n @if (cube?.indices?.length) {\n <mat-form-field>\n <mat-label>{{'Indices'|translate}}</mat-label>\n <mat-select formControlName=\"indices\" multiple>\n @for (x of cube.indices; track x) {\n <mat-option [value]=\"x.name\">{{x.title || x.name}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n <mat-form-field>\n <mat-label>{{'ChartType'|translate}}</mat-label>\n <mat-select formControlName=\"chartType\">\n <mat-option value=\"Pie\">{{'Pie'|translate}}</mat-option>\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\n </mat-select>\n </mat-form-field>\n <mat-form-field>\n <mat-label>{{'Aggregate'|translate}}</mat-label>\n <mat-select formControlName=\"aggregate\" multiple>\n @for (a of cube?.axes; track a) {\n @if (form.controls.xAxis.value!==a.name && form.controls.series.value !== a.name && (!form.controls.filters.value || form.controls.filters.value?.indexOf(a.name) < 0)) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n }\n </mat-select>\n </mat-form-field>\n</ng-container>\n<!--@if(options.xAxis){<div>\n <bizdoc-cube-parallel [cube]=\"options.cube\"\n [xAxis]=\"options.xAxis\"\n [series]=\"options.series\"\n [indices]=\"options.indices\"\n [filters]=\"options.filters\"\n [chartType]=\"options.chartType\"\n [scope]=\"options.scope\"\n [size]=\"250\"></bizdoc-cube-parallel>\n</div>}-->\n}\n", dependencies: [{ kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2$3.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "pipe", type: LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
34846
34867
  };
34847
34868
  ParallelViewDesignComponent = __decorate([
34848
34869
  BizDoc({ selector: 'parallel-view-designer' })
34849
34870
  ], ParallelViewDesignComponent);
34850
34871
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ParallelViewDesignComponent, decorators: [{
34851
34872
  type: Component,
34852
- args: [{ host: { class: 'column' }, template: "@if (mode !== 'widget') {\n<ng-container [formGroup]=\"form\">\n @if (cubes.length > 1) {\n <mat-form-field>\n <mat-label>{{'Cube'|translate}}</mat-label>\n <mat-select required formControlName=\"cube\" (selectionChange)=\"cubeSelected($event)\">\n @for (c of cubes; track c) {\n <mat-option [value]=\"c.name\">{{c.title|localizedString}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n <mat-form-field>\n <mat-label>{{'XAxis'|translate}}</mat-label>\n <mat-select formControlName=\"xAxis\" required multiple>\n @for (a of cube?.axes; track a) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n </mat-select>\n @if (form.controls.xAxis.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('XAxis'|translate)\"></mat-error>\n }\n </mat-form-field>\n <mat-form-field>\n <mat-label>{{'Series'|translate}}</mat-label>\n <mat-select formControlName=\"series\" required multiple>\n @for (a of cube?.axes; track a) {\n @if (form.controls.xAxis.value?.indexOf(a.name) < 0) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n }\n </mat-select>\n @if (form.controls.series.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Series'|translate)\"></mat-error>\n }\n </mat-form-field>\n @if (cube?.indices?.length) {\n <mat-form-field>\n <mat-label>{{'Indices'|translate}}</mat-label>\n <mat-select formControlName=\"indices\" multiple>\n @for (x of cube.indices; track x) {\n <mat-option [value]=\"x.name\">{{x.title || x.name}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n <mat-form-field>\n <mat-label>{{'ChartType'|translate}}</mat-label>\n <mat-select formControlName=\"chartType\">\n <mat-option value=\"Pie\">{{'Pie'|translate}}</mat-option>\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\n </mat-select>\n </mat-form-field>\n <mat-form-field>\n <mat-label>{{'Aggregate'|translate}}</mat-label>\n <mat-select formControlName=\"aggregate\" multiple>\n @for (a of cube?.axes; track a) {\n @if (form.controls.xAxis.value!==a.name && form.controls.series.value !== a.name && (!form.controls.filters.value || form.controls.filters.value?.indexOf(a.name) < 0)) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n }\n </mat-select>\n </mat-form-field>\n</ng-container>\n<!--<div>\n <bizdoc-cube-parallel *ngIf=\"options.xAxis\" [cube]=\"options.cube\"\n [xAxis]=\"options.xAxis\"\n [series]=\"options.series\"\n [indices]=\"options.indices\"\n [filters]=\"options.filters\"\n [chartType]=\"options.chartType\"\n [scope]=\"options.scope\"\n [size]=\"250\"></bizdoc-cube-parallel>\n</div>-->\n}\n" }]
34873
+ args: [{ host: { class: 'column' }, template: "@if (mode !== 'widget') {\n<ng-container [formGroup]=\"form\">\n @if (cubes.length > 1) {\n <mat-form-field>\n <mat-label>{{'Cube'|translate}}</mat-label>\n <mat-select required formControlName=\"cube\" (selectionChange)=\"cubeSelected($event)\">\n @for (c of cubes; track c) {\n <mat-option [value]=\"c.name\">{{c.title|localizedString}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n <mat-form-field>\n <mat-label>{{'XAxis'|translate}}</mat-label>\n <mat-select formControlName=\"xAxis\" required multiple>\n @for (a of cube?.axes; track a) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n </mat-select>\n @if (form.controls.xAxis.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('XAxis'|translate)\"></mat-error>\n }\n </mat-form-field>\n <mat-form-field>\n <mat-label>{{'Series'|translate}}</mat-label>\n <mat-select formControlName=\"series\" required multiple>\n @for (a of cube?.axes; track a) {\n @if (form.controls.xAxis.value?.indexOf(a.name) < 0) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n }\n </mat-select>\n @if (form.controls.series.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Series'|translate)\"></mat-error>\n }\n </mat-form-field>\n @if (cube?.indices?.length) {\n <mat-form-field>\n <mat-label>{{'Indices'|translate}}</mat-label>\n <mat-select formControlName=\"indices\" multiple>\n @for (x of cube.indices; track x) {\n <mat-option [value]=\"x.name\">{{x.title || x.name}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n <mat-form-field>\n <mat-label>{{'ChartType'|translate}}</mat-label>\n <mat-select formControlName=\"chartType\">\n <mat-option value=\"Pie\">{{'Pie'|translate}}</mat-option>\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\n </mat-select>\n </mat-form-field>\n <mat-form-field>\n <mat-label>{{'Aggregate'|translate}}</mat-label>\n <mat-select formControlName=\"aggregate\" multiple>\n @for (a of cube?.axes; track a) {\n @if (form.controls.xAxis.value!==a.name && form.controls.series.value !== a.name && (!form.controls.filters.value || form.controls.filters.value?.indexOf(a.name) < 0)) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n }\n </mat-select>\n </mat-form-field>\n</ng-container>\n<!--@if(options.xAxis){<div>\n <bizdoc-cube-parallel [cube]=\"options.cube\"\n [xAxis]=\"options.xAxis\"\n [series]=\"options.series\"\n [indices]=\"options.indices\"\n [filters]=\"options.filters\"\n [chartType]=\"options.chartType\"\n [scope]=\"options.scope\"\n [size]=\"250\"></bizdoc-cube-parallel>\n</div>}-->\n}\n" }]
34853
34874
  }] });
34854
34875
 
34855
34876
  let SumViewDesignComponent = class SumViewDesignComponent extends DesignerCubeElementComponent {
@@ -34866,14 +34887,14 @@ let SumViewDesignComponent = class SumViewDesignComponent extends DesignerCubeEl
34866
34887
  });
34867
34888
  }
34868
34889
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: SumViewDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
34869
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: SumViewDesignComponent, selector: "ng-component", host: { classAttribute: "column" }, usesInheritance: true, ngImport: i0, template: "@if (mode !== 'widget') {\n<form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\n @if (cubes.length > 1) {\n <mat-form-field>\n <mat-label>{{'Cube'|translate}}</mat-label>\n <mat-select required formControlName=\"cube\" (selectionChange)=\"cubeSelected($event)\">\n @for (c of cubes; track c) {\n <mat-option [value]=\"c.name\">{{c.title|localizedString}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n <div class=\"row gap\">\n <mat-form-field class=\"flex\">\n <mat-label>{{'XAxis'|translate}}</mat-label>\n <mat-select formControlName=\"xAxis\" required>\n @for (a of cube?.axes; track a) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n </mat-select>\n @if (form.controls.xAxis.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('XAxis'|translate)\"></mat-error>\n }\n </mat-form-field>\n <mat-form-field class=\"flex\">\n <mat-label>{{'Series'|translate}}</mat-label>\n <mat-select formControlName=\"series\" required>\n @for (a of cube?.axes; track a) {\n @if (form.controls.xAxis.value !== a.name) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n }\n </mat-select>\n @if (form.controls.series.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Series'|translate)\"></mat-error>\n }\n </mat-form-field>\n </div>\n @if (cube?.indices?.length) {\n <mat-form-field>\n <mat-label>{{'Indices'|translate}}</mat-label>\n <mat-select formControlName=\"indices\" multiple>\n @for (x of cube.indices; track x) {\n <mat-option [value]=\"x.name\">{{x.title}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n <mat-form-field>\n <mat-label>{{'Aggregate'|translate}}</mat-label>\n <mat-select formControlName=\"aggregate\" multiple>\n @for (a of cube?.axes; track a) {\n @if (form.controls.xAxis.value !== a.name && form.controls.series.value !== a.name) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n }\n </mat-select>\n </mat-form-field>\n @if (cube) {\n <bizdoc-designer-cube-filter [cube]=\"cube\" [form]=\"form.controls.filters\"></bizdoc-designer-cube-filter>\n }\n</form>\n<div>\n <!--<bizdoc-cube-sum *ngIf=\"options.xAxis\" [xAxis]=\"options.xAxis\"\n [filters]=\"options.filters || {}\"\n [parentAxis]=\"options.series\"\n [scope]=\"options.scope\"\n [periodPolicy]=\"options.periodPolicy\"\n [indices]=\"options.indices\"\n [cube]=\"cube.name\"></bizdoc-cube-sum>-->\n</div>\n}\n", dependencies: [{ kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2$3.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: DesignerCubeFilterComponent, selector: "bizdoc-designer-cube-filter", inputs: ["cube", "form"] }, { kind: "pipe", type: LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
34890
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: SumViewDesignComponent, selector: "ng-component", host: { classAttribute: "column" }, usesInheritance: true, ngImport: i0, template: "@if (mode !== 'widget') {\n<form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\n @if (cubes.length > 1) {\n <mat-form-field>\n <mat-label>{{'Cube'|translate}}</mat-label>\n <mat-select required formControlName=\"cube\" (selectionChange)=\"cubeSelected($event)\">\n @for (c of cubes; track c) {\n <mat-option [value]=\"c.name\">{{c.title|localizedString}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n <div class=\"row gap\">\n <mat-form-field class=\"flex\">\n <mat-label>{{'XAxis'|translate}}</mat-label>\n <mat-select formControlName=\"xAxis\" required>\n @for (a of cube?.axes; track a) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n </mat-select>\n @if (form.controls.xAxis.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('XAxis'|translate)\"></mat-error>\n }\n </mat-form-field>\n <mat-form-field class=\"flex\">\n <mat-label>{{'Series'|translate}}</mat-label>\n <mat-select formControlName=\"series\" required>\n @for (a of cube?.axes; track a) {\n @if (form.controls.xAxis.value !== a.name) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n }\n </mat-select>\n @if (form.controls.series.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Series'|translate)\"></mat-error>\n }\n </mat-form-field>\n </div>\n @if (cube?.indices?.length) {\n <mat-form-field>\n <mat-label>{{'Indices'|translate}}</mat-label>\n <mat-select formControlName=\"indices\" multiple>\n @for (x of cube.indices; track x) {\n <mat-option [value]=\"x.name\">{{x.title}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n <mat-form-field>\n <mat-label>{{'Aggregate'|translate}}</mat-label>\n <mat-select formControlName=\"aggregate\" multiple>\n @for (a of cube?.axes; track a) {\n @if (form.controls.xAxis.value !== a.name && form.controls.series.value !== a.name) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n }\n </mat-select>\n </mat-form-field>\n @if (cube) {\n <bizdoc-designer-cube-filter [cube]=\"cube\" [form]=\"form.controls.filters\"></bizdoc-designer-cube-filter>\n }\n</form>\n<div>\n <!--@if(options.xAxis) <bizdoc-cube-sum [xAxis]=\"options.xAxis\"\n [filters]=\"options.filters || {}\"\n [parentAxis]=\"options.series\"\n [scope]=\"options.scope\"\n [periodPolicy]=\"options.periodPolicy\"\n [indices]=\"options.indices\"\n [cube]=\"cube.name\"></bizdoc-cube-sum>-->\n</div>\n}\n", dependencies: [{ kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2$3.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: DesignerCubeFilterComponent, selector: "bizdoc-designer-cube-filter", inputs: ["cube", "form"] }, { kind: "pipe", type: LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
34870
34891
  };
34871
34892
  SumViewDesignComponent = __decorate([
34872
34893
  BizDoc({ selector: 'period-view-designer' })
34873
34894
  ], SumViewDesignComponent);
34874
34895
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: SumViewDesignComponent, decorators: [{
34875
34896
  type: Component,
34876
- args: [{ host: { class: 'column' }, template: "@if (mode !== 'widget') {\n<form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\n @if (cubes.length > 1) {\n <mat-form-field>\n <mat-label>{{'Cube'|translate}}</mat-label>\n <mat-select required formControlName=\"cube\" (selectionChange)=\"cubeSelected($event)\">\n @for (c of cubes; track c) {\n <mat-option [value]=\"c.name\">{{c.title|localizedString}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n <div class=\"row gap\">\n <mat-form-field class=\"flex\">\n <mat-label>{{'XAxis'|translate}}</mat-label>\n <mat-select formControlName=\"xAxis\" required>\n @for (a of cube?.axes; track a) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n </mat-select>\n @if (form.controls.xAxis.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('XAxis'|translate)\"></mat-error>\n }\n </mat-form-field>\n <mat-form-field class=\"flex\">\n <mat-label>{{'Series'|translate}}</mat-label>\n <mat-select formControlName=\"series\" required>\n @for (a of cube?.axes; track a) {\n @if (form.controls.xAxis.value !== a.name) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n }\n </mat-select>\n @if (form.controls.series.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Series'|translate)\"></mat-error>\n }\n </mat-form-field>\n </div>\n @if (cube?.indices?.length) {\n <mat-form-field>\n <mat-label>{{'Indices'|translate}}</mat-label>\n <mat-select formControlName=\"indices\" multiple>\n @for (x of cube.indices; track x) {\n <mat-option [value]=\"x.name\">{{x.title}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n <mat-form-field>\n <mat-label>{{'Aggregate'|translate}}</mat-label>\n <mat-select formControlName=\"aggregate\" multiple>\n @for (a of cube?.axes; track a) {\n @if (form.controls.xAxis.value !== a.name && form.controls.series.value !== a.name) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n }\n </mat-select>\n </mat-form-field>\n @if (cube) {\n <bizdoc-designer-cube-filter [cube]=\"cube\" [form]=\"form.controls.filters\"></bizdoc-designer-cube-filter>\n }\n</form>\n<div>\n <!--<bizdoc-cube-sum *ngIf=\"options.xAxis\" [xAxis]=\"options.xAxis\"\n [filters]=\"options.filters || {}\"\n [parentAxis]=\"options.series\"\n [scope]=\"options.scope\"\n [periodPolicy]=\"options.periodPolicy\"\n [indices]=\"options.indices\"\n [cube]=\"cube.name\"></bizdoc-cube-sum>-->\n</div>\n}\n" }]
34897
+ args: [{ host: { class: 'column' }, template: "@if (mode !== 'widget') {\n<form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\n @if (cubes.length > 1) {\n <mat-form-field>\n <mat-label>{{'Cube'|translate}}</mat-label>\n <mat-select required formControlName=\"cube\" (selectionChange)=\"cubeSelected($event)\">\n @for (c of cubes; track c) {\n <mat-option [value]=\"c.name\">{{c.title|localizedString}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n <div class=\"row gap\">\n <mat-form-field class=\"flex\">\n <mat-label>{{'XAxis'|translate}}</mat-label>\n <mat-select formControlName=\"xAxis\" required>\n @for (a of cube?.axes; track a) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n </mat-select>\n @if (form.controls.xAxis.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('XAxis'|translate)\"></mat-error>\n }\n </mat-form-field>\n <mat-form-field class=\"flex\">\n <mat-label>{{'Series'|translate}}</mat-label>\n <mat-select formControlName=\"series\" required>\n @for (a of cube?.axes; track a) {\n @if (form.controls.xAxis.value !== a.name) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n }\n </mat-select>\n @if (form.controls.series.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('Series'|translate)\"></mat-error>\n }\n </mat-form-field>\n </div>\n @if (cube?.indices?.length) {\n <mat-form-field>\n <mat-label>{{'Indices'|translate}}</mat-label>\n <mat-select formControlName=\"indices\" multiple>\n @for (x of cube.indices; track x) {\n <mat-option [value]=\"x.name\">{{x.title}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n <mat-form-field>\n <mat-label>{{'Aggregate'|translate}}</mat-label>\n <mat-select formControlName=\"aggregate\" multiple>\n @for (a of cube?.axes; track a) {\n @if (form.controls.xAxis.value !== a.name && form.controls.series.value !== a.name) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n }\n </mat-select>\n </mat-form-field>\n @if (cube) {\n <bizdoc-designer-cube-filter [cube]=\"cube\" [form]=\"form.controls.filters\"></bizdoc-designer-cube-filter>\n }\n</form>\n<div>\n <!--@if(options.xAxis) <bizdoc-cube-sum [xAxis]=\"options.xAxis\"\n [filters]=\"options.filters || {}\"\n [parentAxis]=\"options.series\"\n [scope]=\"options.scope\"\n [periodPolicy]=\"options.periodPolicy\"\n [indices]=\"options.indices\"\n [cube]=\"cube.name\"></bizdoc-cube-sum>-->\n</div>\n}\n" }]
34877
34898
  }] });
34878
34899
 
34879
34900
  let MatrixViewDesignComponent = class MatrixViewDesignComponent extends DesignerCubeElementComponent {
@@ -34978,14 +34999,14 @@ let ChartViewDesignComponent = class ChartViewDesignComponent extends DesignerCu
34978
34999
  });
34979
35000
  }
34980
35001
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ChartViewDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
34981
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: ChartViewDesignComponent, selector: "ng-component", host: { classAttribute: "column" }, usesInheritance: true, ngImport: i0, template: "@if (mode !== 'widget') {\n<ng-container [formGroup]=\"form\">\n @if (cubes.length > 1) {\n <mat-form-field>\n <mat-label>{{'Cube'|translate}}</mat-label>\n <mat-select required formControlName=\"cube\" (selectionChange)=\"cubeSelected($event)\">\n @for (c of cubes; track c) {\n <mat-option [value]=\"c.name\">{{c.title|localizedString}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n <div class=\"row gap\">\n <mat-form-field class=\"flex\">\n <mat-label>{{'XAxis'|translate}}</mat-label>\n <mat-select formControlName=\"xAxis\" required multiple [sortComparator]=\"sortComparator\">\n @for (a of cube?.axes; track a) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n </mat-select>\n @if (form.controls.xAxis.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('XAxis'|translate)\"></mat-error>\n }\n </mat-form-field>\n <mat-form-field class=\"flex\">\n <mat-label>{{'Series'|translate}}</mat-label>\n <mat-select formControlName=\"series\" multiple [sortComparator]=\"sortComparator\">\n @for (a of cube?.axes; track a) {\n @if (form.controls.xAxis.value?.indexOf(a.name) < 0) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n }\n </mat-select>\n </mat-form-field>\n </div>\n @if (cube?.indices?.length) {\n <mat-form-field>\n <mat-label>{{'Indices'|translate}}</mat-label>\n <mat-select formControlName=\"indices\" multiple>\n @for (i of cube.indices; track i) {\n <mat-option [value]=\"i.name\">{{i.title}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n <div class=\"row\">\n <mat-form-field class=\"flex\">\n <mat-label>{{'ChartType'|translate}}</mat-label>\n <mat-select formControlName=\"chartType\">\n <mat-option value=\"Pie\" [disabled]=\"form.controls.series.value || form.controls.indices.value\">{{'Pie'|translate}}</mat-option>\n <mat-option value=\"Doughnut\" [disabled]=\"form.controls.series.value || form.controls.indices.value\">{{'Doughnut'|translate}}</mat-option>\n <mat-option value=\"HalfDoughnut\" [disabled]=\"form.controls.series.value || form.controls.indices.value\">{{'HalfDoughnut'|translate}}</mat-option>\n <mat-option value=\"Funnel\" [disabled]=\"form.controls.series.value || form.controls.indices.value\">{{'Funnel'|translate}}</mat-option>\n <mat-option value=\"Pyramid\" [disabled]=\"form.controls.series.value || form.controls.indices.value\">{{'Pyramid'|translate}}</mat-option>\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\n <mat-option value=\"Bubble\">{{'Bubble'|translate}}</mat-option>\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\n <mat-option value=\"Spline\">{{'Spline'|translate}}</mat-option>\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\n <mat-option value=\"Scatter\">{{'Scatter'|translate}}</mat-option>\n <mat-option value=\"Polar\">{{'Polar'|translate}}</mat-option>\n <mat-option value=\"Radar\">{{'Radar'|translate}}</mat-option>\n <mat-option value=\"StepLine\">{{'StepLine'|translate}}</mat-option>\n <mat-option value=\"StepArea\">{{'StepArea'|translate}}</mat-option>\n <mat-option value=\"SplineArea\">{{'SplineArea'|translate}}</mat-option>\n <mat-option value=\"StackingBar\" [disabled]=\"!form.controls.series.value\">{{'StackingBar'|translate}}</mat-option>\n <mat-option value=\"StackingBar100\" [disabled]=\"!form.controls.series.value\">{{'StackingBar100'|translate}}</mat-option>\n <mat-option value=\"StackingArea\" [disabled]=\"!form.controls.series.value\">{{'StackingArea'|translate}}</mat-option>\n <mat-option value=\"StackingArea100\" [disabled]=\"!form.controls.series.value\">{{'StackingArea100'|translate}}</mat-option>\n <mat-option value=\"StackingColumn\" [disabled]=\"!form.controls.series.value\">{{'StackingColumn'|translate}}</mat-option>\n <mat-option value=\"StackingColumn100\" [disabled]=\"!form.controls.series.value\">{{'StackingColumn100'|translate}}</mat-option>\n <mat-option value=\"StackingStepArea\" [disabled]=\"!form.controls.series.value\">{{'StackingStepArea'|translate}}</mat-option>\n <mat-option value=\"StackingLine\" [disabled]=\"!form.controls.series.value\">{{'StackingLine'|translate}}</mat-option>\n <mat-option value=\"StackingLine100\" [disabled]=\"!form.controls.series.value\">{{'StackingLine100'|translate}}</mat-option>\n </mat-select>\n </mat-form-field>\n &nbsp;\n @if (cube?.indices?.length) {\n <mat-form-field class=\"flex\">\n <mat-label>{{'IndicesChartType'|translate}}</mat-label>\n <mat-select formControlName=\"indicesChartType\">\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\n <mat-option value=\"Bubble\">{{'Bubble'|translate}}</mat-option>\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\n <mat-option value=\"Spline\">{{'Spline'|translate}}</mat-option>\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\n <mat-option value=\"SplineArea\">{{'SplineArea'|translate}}</mat-option>\n <mat-option value=\"Scatter\">{{'Scatter'|translate}}</mat-option>\n <mat-option value=\"Polar\">{{'Polar'|translate}}</mat-option>\n <mat-option value=\"Radar\">{{'Radar'|translate}}</mat-option>\n <mat-option value=\"StepLine\">{{'StepLine'|translate}}</mat-option>\n <mat-option value=\"StepArea\">{{'StepArea'|translate}}</mat-option>\n </mat-select>\n </mat-form-field>\n }\n </div>\n <mat-form-field>\n <mat-label>{{'Aggregate'|translate}}</mat-label>\n <mat-select formControlName=\"aggregate\" multiple>\n @for (a of cube?.axes; track a) {\n @if (form.controls.xAxis.value?.indexOf(a.name) < 0 && (!form.controls.series.value || form.controls.series.value.indexOf(a.name) < 0)) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n }\n </mat-select>\n <mat-hint></mat-hint>\n </mat-form-field>\n @if (cube) {\n <bizdoc-designer-cube-filter [cube]=\"cube\" [form]=\"form.controls.filters\"></bizdoc-designer-cube-filter>\n }\n</ng-container>\n<!--<button mat-stroked-button (click)=\"showPreview = true\">{{'Preview'|translate}}</button>-->\n<!--<div *ngIf=\"options.xAxis\">\n <ng-container [ngSwitch]=\"isAccum\">\n <bizdoc-cube-accum *ngSwitchCase=\"true\"\n [chartType]=\"options.chartType\"\n [width]=\"200\"\n [scope]=\"options.scope\"\n [cube]=\"selectedCube.name\"\n [filters]=\"options.filters\"\n [xAxis]=\"options.xAxis\"></bizdoc-cube-accum>\n <bizdoc-cube-chart *ngSwitchDefault\n [cube]=\"cube.name\"\n [xAxis]=\"options.xAxis\"\n [series]=\"options.series\"\n [indices]=\"options.indices\"\n [filters]=\"options.filters\"\n [chartType]=\"options.chartType\"\n [indicesChartType]=\"options.indicesChartType\"\n [width]=\"200\"\n [scope]=\"options.scope\"></bizdoc-cube-chart>\n </ng-container>\n</div>-->\n}\n", dependencies: [{ kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2$3.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: DesignerCubeFilterComponent, selector: "bizdoc-designer-cube-filter", inputs: ["cube", "form"] }, { kind: "pipe", type: LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
35002
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: ChartViewDesignComponent, selector: "ng-component", host: { classAttribute: "column" }, usesInheritance: true, ngImport: i0, template: "@if (mode !== 'widget') {\n<ng-container [formGroup]=\"form\">\n @if (cubes.length > 1) {\n <mat-form-field>\n <mat-label>{{'Cube'|translate}}</mat-label>\n <mat-select required formControlName=\"cube\" (selectionChange)=\"cubeSelected($event)\">\n @for (c of cubes; track c) {\n <mat-option [value]=\"c.name\">{{c.title|localizedString}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n <div class=\"row gap\">\n <mat-form-field class=\"flex\">\n <mat-label>{{'XAxis'|translate}}</mat-label>\n <mat-select formControlName=\"xAxis\" required multiple [sortComparator]=\"sortComparator\">\n @for (a of cube?.axes; track a) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n </mat-select>\n @if (form.controls.xAxis.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('XAxis'|translate)\"></mat-error>\n }\n </mat-form-field>\n <mat-form-field class=\"flex\">\n <mat-label>{{'Series'|translate}}</mat-label>\n <mat-select formControlName=\"series\" multiple [sortComparator]=\"sortComparator\">\n @for (a of cube?.axes; track a) {\n @if (form.controls.xAxis.value?.indexOf(a.name) < 0) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n }\n </mat-select>\n </mat-form-field>\n </div>\n @if (cube?.indices?.length) {\n <mat-form-field>\n <mat-label>{{'Indices'|translate}}</mat-label>\n <mat-select formControlName=\"indices\" multiple>\n @for (i of cube.indices; track i) {\n <mat-option [value]=\"i.name\">{{i.title}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n <div class=\"row\">\n <mat-form-field class=\"flex\">\n <mat-label>{{'ChartType'|translate}}</mat-label>\n <mat-select formControlName=\"chartType\">\n <mat-option value=\"Pie\" [disabled]=\"form.controls.series.value || form.controls.indices.value\">{{'Pie'|translate}}</mat-option>\n <mat-option value=\"Doughnut\" [disabled]=\"form.controls.series.value || form.controls.indices.value\">{{'Doughnut'|translate}}</mat-option>\n <mat-option value=\"HalfDoughnut\" [disabled]=\"form.controls.series.value || form.controls.indices.value\">{{'HalfDoughnut'|translate}}</mat-option>\n <mat-option value=\"Funnel\" [disabled]=\"form.controls.series.value || form.controls.indices.value\">{{'Funnel'|translate}}</mat-option>\n <mat-option value=\"Pyramid\" [disabled]=\"form.controls.series.value || form.controls.indices.value\">{{'Pyramid'|translate}}</mat-option>\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\n <mat-option value=\"Bubble\">{{'Bubble'|translate}}</mat-option>\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\n <mat-option value=\"Spline\">{{'Spline'|translate}}</mat-option>\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\n <mat-option value=\"Scatter\">{{'Scatter'|translate}}</mat-option>\n <mat-option value=\"Polar\">{{'Polar'|translate}}</mat-option>\n <mat-option value=\"Radar\">{{'Radar'|translate}}</mat-option>\n <mat-option value=\"StepLine\">{{'StepLine'|translate}}</mat-option>\n <mat-option value=\"StepArea\">{{'StepArea'|translate}}</mat-option>\n <mat-option value=\"SplineArea\">{{'SplineArea'|translate}}</mat-option>\n <mat-option value=\"StackingBar\" [disabled]=\"!form.controls.series.value\">{{'StackingBar'|translate}}</mat-option>\n <mat-option value=\"StackingBar100\" [disabled]=\"!form.controls.series.value\">{{'StackingBar100'|translate}}</mat-option>\n <mat-option value=\"StackingArea\" [disabled]=\"!form.controls.series.value\">{{'StackingArea'|translate}}</mat-option>\n <mat-option value=\"StackingArea100\" [disabled]=\"!form.controls.series.value\">{{'StackingArea100'|translate}}</mat-option>\n <mat-option value=\"StackingColumn\" [disabled]=\"!form.controls.series.value\">{{'StackingColumn'|translate}}</mat-option>\n <mat-option value=\"StackingColumn100\" [disabled]=\"!form.controls.series.value\">{{'StackingColumn100'|translate}}</mat-option>\n <mat-option value=\"StackingStepArea\" [disabled]=\"!form.controls.series.value\">{{'StackingStepArea'|translate}}</mat-option>\n <mat-option value=\"StackingLine\" [disabled]=\"!form.controls.series.value\">{{'StackingLine'|translate}}</mat-option>\n <mat-option value=\"StackingLine100\" [disabled]=\"!form.controls.series.value\">{{'StackingLine100'|translate}}</mat-option>\n </mat-select>\n </mat-form-field>\n &nbsp;\n @if (cube?.indices?.length) {\n <mat-form-field class=\"flex\">\n <mat-label>{{'IndicesChartType'|translate}}</mat-label>\n <mat-select formControlName=\"indicesChartType\">\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\n <mat-option value=\"Bubble\">{{'Bubble'|translate}}</mat-option>\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\n <mat-option value=\"Spline\">{{'Spline'|translate}}</mat-option>\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\n <mat-option value=\"SplineArea\">{{'SplineArea'|translate}}</mat-option>\n <mat-option value=\"Scatter\">{{'Scatter'|translate}}</mat-option>\n <mat-option value=\"Polar\">{{'Polar'|translate}}</mat-option>\n <mat-option value=\"Radar\">{{'Radar'|translate}}</mat-option>\n <mat-option value=\"StepLine\">{{'StepLine'|translate}}</mat-option>\n <mat-option value=\"StepArea\">{{'StepArea'|translate}}</mat-option>\n </mat-select>\n </mat-form-field>\n }\n </div>\n <mat-form-field>\n <mat-label>{{'Aggregate'|translate}}</mat-label>\n <mat-select formControlName=\"aggregate\" multiple>\n @for (a of cube?.axes; track a) {\n @if (form.controls.xAxis.value?.indexOf(a.name) < 0 && (!form.controls.series.value || form.controls.series.value.indexOf(a.name) < 0)) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n }\n </mat-select>\n <mat-hint></mat-hint>\n </mat-form-field>\n @if (cube) {\n <bizdoc-designer-cube-filter [cube]=\"cube\" [form]=\"form.controls.filters\"></bizdoc-designer-cube-filter>\n }\n</ng-container>\n}\n", dependencies: [{ kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2$3.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: DesignerCubeFilterComponent, selector: "bizdoc-designer-cube-filter", inputs: ["cube", "form"] }, { kind: "pipe", type: LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
34982
35003
  };
34983
35004
  ChartViewDesignComponent = __decorate([
34984
35005
  BizDoc({ selector: 'analysis-view-designer' })
34985
35006
  ], ChartViewDesignComponent);
34986
35007
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ChartViewDesignComponent, decorators: [{
34987
35008
  type: Component,
34988
- args: [{ host: { class: 'column' }, template: "@if (mode !== 'widget') {\n<ng-container [formGroup]=\"form\">\n @if (cubes.length > 1) {\n <mat-form-field>\n <mat-label>{{'Cube'|translate}}</mat-label>\n <mat-select required formControlName=\"cube\" (selectionChange)=\"cubeSelected($event)\">\n @for (c of cubes; track c) {\n <mat-option [value]=\"c.name\">{{c.title|localizedString}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n <div class=\"row gap\">\n <mat-form-field class=\"flex\">\n <mat-label>{{'XAxis'|translate}}</mat-label>\n <mat-select formControlName=\"xAxis\" required multiple [sortComparator]=\"sortComparator\">\n @for (a of cube?.axes; track a) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n </mat-select>\n @if (form.controls.xAxis.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('XAxis'|translate)\"></mat-error>\n }\n </mat-form-field>\n <mat-form-field class=\"flex\">\n <mat-label>{{'Series'|translate}}</mat-label>\n <mat-select formControlName=\"series\" multiple [sortComparator]=\"sortComparator\">\n @for (a of cube?.axes; track a) {\n @if (form.controls.xAxis.value?.indexOf(a.name) < 0) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n }\n </mat-select>\n </mat-form-field>\n </div>\n @if (cube?.indices?.length) {\n <mat-form-field>\n <mat-label>{{'Indices'|translate}}</mat-label>\n <mat-select formControlName=\"indices\" multiple>\n @for (i of cube.indices; track i) {\n <mat-option [value]=\"i.name\">{{i.title}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n <div class=\"row\">\n <mat-form-field class=\"flex\">\n <mat-label>{{'ChartType'|translate}}</mat-label>\n <mat-select formControlName=\"chartType\">\n <mat-option value=\"Pie\" [disabled]=\"form.controls.series.value || form.controls.indices.value\">{{'Pie'|translate}}</mat-option>\n <mat-option value=\"Doughnut\" [disabled]=\"form.controls.series.value || form.controls.indices.value\">{{'Doughnut'|translate}}</mat-option>\n <mat-option value=\"HalfDoughnut\" [disabled]=\"form.controls.series.value || form.controls.indices.value\">{{'HalfDoughnut'|translate}}</mat-option>\n <mat-option value=\"Funnel\" [disabled]=\"form.controls.series.value || form.controls.indices.value\">{{'Funnel'|translate}}</mat-option>\n <mat-option value=\"Pyramid\" [disabled]=\"form.controls.series.value || form.controls.indices.value\">{{'Pyramid'|translate}}</mat-option>\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\n <mat-option value=\"Bubble\">{{'Bubble'|translate}}</mat-option>\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\n <mat-option value=\"Spline\">{{'Spline'|translate}}</mat-option>\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\n <mat-option value=\"Scatter\">{{'Scatter'|translate}}</mat-option>\n <mat-option value=\"Polar\">{{'Polar'|translate}}</mat-option>\n <mat-option value=\"Radar\">{{'Radar'|translate}}</mat-option>\n <mat-option value=\"StepLine\">{{'StepLine'|translate}}</mat-option>\n <mat-option value=\"StepArea\">{{'StepArea'|translate}}</mat-option>\n <mat-option value=\"SplineArea\">{{'SplineArea'|translate}}</mat-option>\n <mat-option value=\"StackingBar\" [disabled]=\"!form.controls.series.value\">{{'StackingBar'|translate}}</mat-option>\n <mat-option value=\"StackingBar100\" [disabled]=\"!form.controls.series.value\">{{'StackingBar100'|translate}}</mat-option>\n <mat-option value=\"StackingArea\" [disabled]=\"!form.controls.series.value\">{{'StackingArea'|translate}}</mat-option>\n <mat-option value=\"StackingArea100\" [disabled]=\"!form.controls.series.value\">{{'StackingArea100'|translate}}</mat-option>\n <mat-option value=\"StackingColumn\" [disabled]=\"!form.controls.series.value\">{{'StackingColumn'|translate}}</mat-option>\n <mat-option value=\"StackingColumn100\" [disabled]=\"!form.controls.series.value\">{{'StackingColumn100'|translate}}</mat-option>\n <mat-option value=\"StackingStepArea\" [disabled]=\"!form.controls.series.value\">{{'StackingStepArea'|translate}}</mat-option>\n <mat-option value=\"StackingLine\" [disabled]=\"!form.controls.series.value\">{{'StackingLine'|translate}}</mat-option>\n <mat-option value=\"StackingLine100\" [disabled]=\"!form.controls.series.value\">{{'StackingLine100'|translate}}</mat-option>\n </mat-select>\n </mat-form-field>\n &nbsp;\n @if (cube?.indices?.length) {\n <mat-form-field class=\"flex\">\n <mat-label>{{'IndicesChartType'|translate}}</mat-label>\n <mat-select formControlName=\"indicesChartType\">\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\n <mat-option value=\"Bubble\">{{'Bubble'|translate}}</mat-option>\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\n <mat-option value=\"Spline\">{{'Spline'|translate}}</mat-option>\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\n <mat-option value=\"SplineArea\">{{'SplineArea'|translate}}</mat-option>\n <mat-option value=\"Scatter\">{{'Scatter'|translate}}</mat-option>\n <mat-option value=\"Polar\">{{'Polar'|translate}}</mat-option>\n <mat-option value=\"Radar\">{{'Radar'|translate}}</mat-option>\n <mat-option value=\"StepLine\">{{'StepLine'|translate}}</mat-option>\n <mat-option value=\"StepArea\">{{'StepArea'|translate}}</mat-option>\n </mat-select>\n </mat-form-field>\n }\n </div>\n <mat-form-field>\n <mat-label>{{'Aggregate'|translate}}</mat-label>\n <mat-select formControlName=\"aggregate\" multiple>\n @for (a of cube?.axes; track a) {\n @if (form.controls.xAxis.value?.indexOf(a.name) < 0 && (!form.controls.series.value || form.controls.series.value.indexOf(a.name) < 0)) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n }\n </mat-select>\n <mat-hint></mat-hint>\n </mat-form-field>\n @if (cube) {\n <bizdoc-designer-cube-filter [cube]=\"cube\" [form]=\"form.controls.filters\"></bizdoc-designer-cube-filter>\n }\n</ng-container>\n<!--<button mat-stroked-button (click)=\"showPreview = true\">{{'Preview'|translate}}</button>-->\n<!--<div *ngIf=\"options.xAxis\">\n <ng-container [ngSwitch]=\"isAccum\">\n <bizdoc-cube-accum *ngSwitchCase=\"true\"\n [chartType]=\"options.chartType\"\n [width]=\"200\"\n [scope]=\"options.scope\"\n [cube]=\"selectedCube.name\"\n [filters]=\"options.filters\"\n [xAxis]=\"options.xAxis\"></bizdoc-cube-accum>\n <bizdoc-cube-chart *ngSwitchDefault\n [cube]=\"cube.name\"\n [xAxis]=\"options.xAxis\"\n [series]=\"options.series\"\n [indices]=\"options.indices\"\n [filters]=\"options.filters\"\n [chartType]=\"options.chartType\"\n [indicesChartType]=\"options.indicesChartType\"\n [width]=\"200\"\n [scope]=\"options.scope\"></bizdoc-cube-chart>\n </ng-container>\n</div>-->\n}\n" }]
35009
+ args: [{ host: { class: 'column' }, template: "@if (mode !== 'widget') {\n<ng-container [formGroup]=\"form\">\n @if (cubes.length > 1) {\n <mat-form-field>\n <mat-label>{{'Cube'|translate}}</mat-label>\n <mat-select required formControlName=\"cube\" (selectionChange)=\"cubeSelected($event)\">\n @for (c of cubes; track c) {\n <mat-option [value]=\"c.name\">{{c.title|localizedString}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n <div class=\"row gap\">\n <mat-form-field class=\"flex\">\n <mat-label>{{'XAxis'|translate}}</mat-label>\n <mat-select formControlName=\"xAxis\" required multiple [sortComparator]=\"sortComparator\">\n @for (a of cube?.axes; track a) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n </mat-select>\n @if (form.controls.xAxis.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('XAxis'|translate)\"></mat-error>\n }\n </mat-form-field>\n <mat-form-field class=\"flex\">\n <mat-label>{{'Series'|translate}}</mat-label>\n <mat-select formControlName=\"series\" multiple [sortComparator]=\"sortComparator\">\n @for (a of cube?.axes; track a) {\n @if (form.controls.xAxis.value?.indexOf(a.name) < 0) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n }\n </mat-select>\n </mat-form-field>\n </div>\n @if (cube?.indices?.length) {\n <mat-form-field>\n <mat-label>{{'Indices'|translate}}</mat-label>\n <mat-select formControlName=\"indices\" multiple>\n @for (i of cube.indices; track i) {\n <mat-option [value]=\"i.name\">{{i.title}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n <div class=\"row\">\n <mat-form-field class=\"flex\">\n <mat-label>{{'ChartType'|translate}}</mat-label>\n <mat-select formControlName=\"chartType\">\n <mat-option value=\"Pie\" [disabled]=\"form.controls.series.value || form.controls.indices.value\">{{'Pie'|translate}}</mat-option>\n <mat-option value=\"Doughnut\" [disabled]=\"form.controls.series.value || form.controls.indices.value\">{{'Doughnut'|translate}}</mat-option>\n <mat-option value=\"HalfDoughnut\" [disabled]=\"form.controls.series.value || form.controls.indices.value\">{{'HalfDoughnut'|translate}}</mat-option>\n <mat-option value=\"Funnel\" [disabled]=\"form.controls.series.value || form.controls.indices.value\">{{'Funnel'|translate}}</mat-option>\n <mat-option value=\"Pyramid\" [disabled]=\"form.controls.series.value || form.controls.indices.value\">{{'Pyramid'|translate}}</mat-option>\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\n <mat-option value=\"Bubble\">{{'Bubble'|translate}}</mat-option>\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\n <mat-option value=\"Spline\">{{'Spline'|translate}}</mat-option>\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\n <mat-option value=\"Scatter\">{{'Scatter'|translate}}</mat-option>\n <mat-option value=\"Polar\">{{'Polar'|translate}}</mat-option>\n <mat-option value=\"Radar\">{{'Radar'|translate}}</mat-option>\n <mat-option value=\"StepLine\">{{'StepLine'|translate}}</mat-option>\n <mat-option value=\"StepArea\">{{'StepArea'|translate}}</mat-option>\n <mat-option value=\"SplineArea\">{{'SplineArea'|translate}}</mat-option>\n <mat-option value=\"StackingBar\" [disabled]=\"!form.controls.series.value\">{{'StackingBar'|translate}}</mat-option>\n <mat-option value=\"StackingBar100\" [disabled]=\"!form.controls.series.value\">{{'StackingBar100'|translate}}</mat-option>\n <mat-option value=\"StackingArea\" [disabled]=\"!form.controls.series.value\">{{'StackingArea'|translate}}</mat-option>\n <mat-option value=\"StackingArea100\" [disabled]=\"!form.controls.series.value\">{{'StackingArea100'|translate}}</mat-option>\n <mat-option value=\"StackingColumn\" [disabled]=\"!form.controls.series.value\">{{'StackingColumn'|translate}}</mat-option>\n <mat-option value=\"StackingColumn100\" [disabled]=\"!form.controls.series.value\">{{'StackingColumn100'|translate}}</mat-option>\n <mat-option value=\"StackingStepArea\" [disabled]=\"!form.controls.series.value\">{{'StackingStepArea'|translate}}</mat-option>\n <mat-option value=\"StackingLine\" [disabled]=\"!form.controls.series.value\">{{'StackingLine'|translate}}</mat-option>\n <mat-option value=\"StackingLine100\" [disabled]=\"!form.controls.series.value\">{{'StackingLine100'|translate}}</mat-option>\n </mat-select>\n </mat-form-field>\n &nbsp;\n @if (cube?.indices?.length) {\n <mat-form-field class=\"flex\">\n <mat-label>{{'IndicesChartType'|translate}}</mat-label>\n <mat-select formControlName=\"indicesChartType\">\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\n <mat-option value=\"Bubble\">{{'Bubble'|translate}}</mat-option>\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\n <mat-option value=\"Spline\">{{'Spline'|translate}}</mat-option>\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\n <mat-option value=\"SplineArea\">{{'SplineArea'|translate}}</mat-option>\n <mat-option value=\"Scatter\">{{'Scatter'|translate}}</mat-option>\n <mat-option value=\"Polar\">{{'Polar'|translate}}</mat-option>\n <mat-option value=\"Radar\">{{'Radar'|translate}}</mat-option>\n <mat-option value=\"StepLine\">{{'StepLine'|translate}}</mat-option>\n <mat-option value=\"StepArea\">{{'StepArea'|translate}}</mat-option>\n </mat-select>\n </mat-form-field>\n }\n </div>\n <mat-form-field>\n <mat-label>{{'Aggregate'|translate}}</mat-label>\n <mat-select formControlName=\"aggregate\" multiple>\n @for (a of cube?.axes; track a) {\n @if (form.controls.xAxis.value?.indexOf(a.name) < 0 && (!form.controls.series.value || form.controls.series.value.indexOf(a.name) < 0)) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n }\n </mat-select>\n <mat-hint></mat-hint>\n </mat-form-field>\n @if (cube) {\n <bizdoc-designer-cube-filter [cube]=\"cube\" [form]=\"form.controls.filters\"></bizdoc-designer-cube-filter>\n }\n</ng-container>\n}\n" }]
34989
35010
  }] });
34990
35011
 
34991
35012
  let AnalysisWidgetDesignComponent = class AnalysisWidgetDesignComponent extends DesignerCubeElementComponent {
@@ -35012,14 +35033,14 @@ let AnalysisWidgetDesignComponent = class AnalysisWidgetDesignComponent extends
35012
35033
  });
35013
35034
  }
35014
35035
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: AnalysisWidgetDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
35015
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: AnalysisWidgetDesignComponent, selector: "ng-component", host: { classAttribute: "column" }, usesInheritance: true, ngImport: i0, template: "@if (mode !== 'widget') {\n<ng-container [formGroup]=\"form\">\n @if (cubes.length > 1) {\n <mat-form-field>\n <mat-label>{{'Cube'|translate}}</mat-label>\n <mat-select required formControlName=\"cube\" (selectionChange)=\"cubeSelected($event)\">\n @for (c of cubes; track c) {\n <mat-option [value]=\"c.name\">{{c.title|localizedString}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n <div class=\"row\">\n <mat-form-field class=\"flex\">\n <mat-label>{{'XAxis'|translate}}</mat-label>\n <mat-select formControlName=\"xAxis\" required multiple [sortComparator]=\"sortComparator\">\n @for (a of cube?.axes; track a) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n </mat-select>\n @if (form.controls.xAxis.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('XAxis'|translate)\"></mat-error>\n }\n </mat-form-field>\n &nbsp;\n <mat-form-field class=\"flex\">\n <mat-label>{{'Series'|translate}}</mat-label>\n <mat-select formControlName=\"series\" multiple [sortComparator]=\"sortComparator\">\n @for (a of cube?.axes; track a) {\n @if (form.controls.xAxis.value && form.controls.xAxis.value.indexOf(a.name) < 0) {\n <mat-option [value]=\"a.name\">{{a.title}}</mat-option>\n }\n }\n </mat-select>\n </mat-form-field>\n </div>\n @if (cube?.indices?.length) {\n <mat-form-field>\n <mat-label>{{'Indices'|translate}}</mat-label>\n <mat-select formControlName=\"indices\" multiple>\n @for (i of cube?.indices; track i) {\n <mat-option [value]=\"i.name\">{{i.title }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n <div class=\"row\">\n <mat-form-field class=\"flex\">\n <mat-label>{{'ChartType'|translate}}</mat-label>\n <mat-select formControlName=\"chartType\">\n <mat-option>{{'Default'|translate}}</mat-option>\n <mat-option value=\"Pie\" [disabled]=\"form.controls.series.value || form.controls.indices.value\">{{'Pie'|translate}}</mat-option>\n <mat-option value=\"Doughnut\" [disabled]=\"form.controls.series.value || form.controls.indices.value\">{{'Doughnut'|translate}}</mat-option>\n <mat-option value=\"HalfDoughnut\" [disabled]=\"form.controls.series.value || form.controls.indices.value\">{{'HalfDoughnut'|translate}}</mat-option>\n <mat-option value=\"Funnel\" [disabled]=\"form.controls.series.value || form.controls.indices.value\">{{'Funnel'|translate}}</mat-option>\n <mat-option value=\"Pyramid\" [disabled]=\"form.controls.series.value || form.controls.indices.value\">{{'Pyramid'|translate}}</mat-option>\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\n <mat-option value=\"Bubble\">{{'Bubble'|translate}}</mat-option>\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\n <mat-option value=\"Spline\">{{'Spline'|translate}}</mat-option>\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\n <mat-option value=\"Scatter\">{{'Scatter'|translate}}</mat-option>\n <mat-option value=\"Polar\">{{'Polar'|translate}}</mat-option>\n <mat-option value=\"Radar\">{{'Radar'|translate}}</mat-option>\n <mat-option value=\"StepLine\">{{'StepLine'|translate}}</mat-option>\n <mat-option value=\"StepArea\">{{'StepArea'|translate}}</mat-option>\n <mat-option value=\"SplineArea\">{{'SplineArea'|translate}}</mat-option>\n <mat-option value=\"StackingBar\" [disabled]=\"!form.controls.series.value\">{{'StackingBar'|translate}}</mat-option>\n <mat-option value=\"StackingBar100\" [disabled]=\"!form.controls.series.value\">{{'StackingBar100'|translate}}</mat-option>\n <mat-option value=\"StackingArea\" [disabled]=\"!form.controls.series.value\">{{'StackingArea'|translate}}</mat-option>\n <mat-option value=\"StackingArea100\" [disabled]=\"!form.controls.series.value\">{{'StackingArea100'|translate}}</mat-option>\n <mat-option value=\"StackingColumn\" [disabled]=\"!form.controls.series.value\">{{'StackingColumn'|translate}}</mat-option>\n <mat-option value=\"StackingColumn100\" [disabled]=\"!form.controls.series.value\">{{'StackingColumn100'|translate}}</mat-option>\n <mat-option value=\"StackingStepArea\" [disabled]=\"!form.controls.series.value\">{{'StackingStepArea'|translate}}</mat-option>\n <mat-option value=\"StackingLine\" [disabled]=\"!form.controls.series.value\">{{'StackingLine'|translate}}</mat-option>\n <mat-option value=\"StackingLine100\" [disabled]=\"!form.controls.series.value\">{{'StackingLine100'|translate}}</mat-option>\n </mat-select>\n </mat-form-field>\n &nbsp;\n @if (cube?.indices?.length) {\n <mat-form-field class=\"flex\">\n <mat-label>{{'IndicesChartType'|translate}}</mat-label>\n <mat-select formControlName=\"indicesChartType\">\n <mat-option>{{'Default'|translate}}</mat-option>\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\n <mat-option value=\"Bubble\">{{'Bubble'|translate}}</mat-option>\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\n <mat-option value=\"Spline\">{{'Spline'|translate}}</mat-option>\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\n <mat-option value=\"SplineArea\">{{'SplineArea'|translate}}</mat-option>\n <mat-option value=\"Scatter\">{{'Scatter'|translate}}</mat-option>\n <mat-option value=\"Polar\">{{'Polar'|translate}}</mat-option>\n <mat-option value=\"Radar\">{{'Radar'|translate}}</mat-option>\n <mat-option value=\"StepLine\">{{'StepLine'|translate}}</mat-option>\n <mat-option value=\"StepArea\">{{'StepArea'|translate}}</mat-option>\n </mat-select>\n </mat-form-field>\n }\n </div>\n @if (cube) {\n <bizdoc-designer-cube-filter [cube]=\"cube\" [form]=\"form.controls.filters\"></bizdoc-designer-cube-filter>\n }\n</ng-container>\n<!--<div *ngIf=\"options.xAxis\">\n <ng-container [ngSwitch]=\"isAccum\">\n <bizdoc-cube-accum *ngSwitchCase=\"true\"\n [chartType]=\"options.chartType\"\n [width]=\"200\"\n [scope]=\"options.scope\"\n [cube]=\"cube.name\"\n [filters]=\"options.filters\"\n [xAxis]=\"options.xAxis\"></bizdoc-cube-accum>\n <bizdoc-cube-chart *ngSwitchDefault\n [cube]=\"cube.name\"\n [xAxis]=\"options.xAxis\"\n [series]=\"options.series\"\n [indices]=\"options.indices\"\n [filters]=\"options.filters\"\n [chartType]=\"options.chartType\"\n [indicesChartType]=\"options.indicesChartType\"\n [width]=\"200\"\n [scope]=\"options.scope\"></bizdoc-cube-chart>\n </ng-container>\n</div>-->\n}\n", dependencies: [{ kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2$3.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: DesignerCubeFilterComponent, selector: "bizdoc-designer-cube-filter", inputs: ["cube", "form"] }, { kind: "pipe", type: LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
35036
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: AnalysisWidgetDesignComponent, selector: "ng-component", host: { classAttribute: "column" }, usesInheritance: true, ngImport: i0, template: "@if (mode !== 'widget') {\n<ng-container [formGroup]=\"form\">\n @if (cubes.length > 1) {\n <mat-form-field>\n <mat-label>{{'Cube'|translate}}</mat-label>\n <mat-select required formControlName=\"cube\" (selectionChange)=\"cubeSelected($event)\">\n @for (c of cubes; track c) {\n <mat-option [value]=\"c.name\">{{c.title|localizedString}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n <div class=\"row\">\n <mat-form-field class=\"flex\">\n <mat-label>{{'XAxis'|translate}}</mat-label>\n <mat-select formControlName=\"xAxis\" required multiple [sortComparator]=\"sortComparator\">\n @for (a of cube?.axes; track a) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n </mat-select>\n @if (form.controls.xAxis.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('XAxis'|translate)\"></mat-error>\n }\n </mat-form-field>\n &nbsp;\n <mat-form-field class=\"flex\">\n <mat-label>{{'Series'|translate}}</mat-label>\n <mat-select formControlName=\"series\" multiple [sortComparator]=\"sortComparator\">\n @for (a of cube?.axes; track a) {\n @if (form.controls.xAxis.value && form.controls.xAxis.value.indexOf(a.name) < 0) {\n <mat-option [value]=\"a.name\">{{a.title}}</mat-option>\n }\n }\n </mat-select>\n </mat-form-field>\n </div>\n @if (cube?.indices?.length) {\n <mat-form-field>\n <mat-label>{{'Indices'|translate}}</mat-label>\n <mat-select formControlName=\"indices\" multiple>\n @for (i of cube?.indices; track i) {\n <mat-option [value]=\"i.name\">{{i.title }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n <div class=\"row\">\n <mat-form-field class=\"flex\">\n <mat-label>{{'ChartType'|translate}}</mat-label>\n <mat-select formControlName=\"chartType\">\n <mat-option>{{'Default'|translate}}</mat-option>\n <mat-option value=\"Pie\" [disabled]=\"form.controls.series.value || form.controls.indices.value\">{{'Pie'|translate}}</mat-option>\n <mat-option value=\"Doughnut\" [disabled]=\"form.controls.series.value || form.controls.indices.value\">{{'Doughnut'|translate}}</mat-option>\n <mat-option value=\"HalfDoughnut\" [disabled]=\"form.controls.series.value || form.controls.indices.value\">{{'HalfDoughnut'|translate}}</mat-option>\n <mat-option value=\"Funnel\" [disabled]=\"form.controls.series.value || form.controls.indices.value\">{{'Funnel'|translate}}</mat-option>\n <mat-option value=\"Pyramid\" [disabled]=\"form.controls.series.value || form.controls.indices.value\">{{'Pyramid'|translate}}</mat-option>\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\n <mat-option value=\"Bubble\">{{'Bubble'|translate}}</mat-option>\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\n <mat-option value=\"Spline\">{{'Spline'|translate}}</mat-option>\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\n <mat-option value=\"Scatter\">{{'Scatter'|translate}}</mat-option>\n <mat-option value=\"Polar\">{{'Polar'|translate}}</mat-option>\n <mat-option value=\"Radar\">{{'Radar'|translate}}</mat-option>\n <mat-option value=\"StepLine\">{{'StepLine'|translate}}</mat-option>\n <mat-option value=\"StepArea\">{{'StepArea'|translate}}</mat-option>\n <mat-option value=\"SplineArea\">{{'SplineArea'|translate}}</mat-option>\n <mat-option value=\"StackingBar\" [disabled]=\"!form.controls.series.value\">{{'StackingBar'|translate}}</mat-option>\n <mat-option value=\"StackingBar100\" [disabled]=\"!form.controls.series.value\">{{'StackingBar100'|translate}}</mat-option>\n <mat-option value=\"StackingArea\" [disabled]=\"!form.controls.series.value\">{{'StackingArea'|translate}}</mat-option>\n <mat-option value=\"StackingArea100\" [disabled]=\"!form.controls.series.value\">{{'StackingArea100'|translate}}</mat-option>\n <mat-option value=\"StackingColumn\" [disabled]=\"!form.controls.series.value\">{{'StackingColumn'|translate}}</mat-option>\n <mat-option value=\"StackingColumn100\" [disabled]=\"!form.controls.series.value\">{{'StackingColumn100'|translate}}</mat-option>\n <mat-option value=\"StackingStepArea\" [disabled]=\"!form.controls.series.value\">{{'StackingStepArea'|translate}}</mat-option>\n <mat-option value=\"StackingLine\" [disabled]=\"!form.controls.series.value\">{{'StackingLine'|translate}}</mat-option>\n <mat-option value=\"StackingLine100\" [disabled]=\"!form.controls.series.value\">{{'StackingLine100'|translate}}</mat-option>\n </mat-select>\n </mat-form-field>\n &nbsp;\n @if (cube?.indices?.length) {\n <mat-form-field class=\"flex\">\n <mat-label>{{'IndicesChartType'|translate}}</mat-label>\n <mat-select formControlName=\"indicesChartType\">\n <mat-option>{{'Default'|translate}}</mat-option>\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\n <mat-option value=\"Bubble\">{{'Bubble'|translate}}</mat-option>\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\n <mat-option value=\"Spline\">{{'Spline'|translate}}</mat-option>\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\n <mat-option value=\"SplineArea\">{{'SplineArea'|translate}}</mat-option>\n <mat-option value=\"Scatter\">{{'Scatter'|translate}}</mat-option>\n <mat-option value=\"Polar\">{{'Polar'|translate}}</mat-option>\n <mat-option value=\"Radar\">{{'Radar'|translate}}</mat-option>\n <mat-option value=\"StepLine\">{{'StepLine'|translate}}</mat-option>\n <mat-option value=\"StepArea\">{{'StepArea'|translate}}</mat-option>\n </mat-select>\n </mat-form-field>\n }\n </div>\n @if (cube) {\n <bizdoc-designer-cube-filter [cube]=\"cube\" [form]=\"form.controls.filters\"></bizdoc-designer-cube-filter>\n }\n</ng-container>\n}\n", dependencies: [{ kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2$3.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: DesignerCubeFilterComponent, selector: "bizdoc-designer-cube-filter", inputs: ["cube", "form"] }, { kind: "pipe", type: LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
35016
35037
  };
35017
35038
  AnalysisWidgetDesignComponent = __decorate([
35018
35039
  BizDoc({ selector: 'analysis-widget-designer' })
35019
35040
  ], AnalysisWidgetDesignComponent);
35020
35041
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: AnalysisWidgetDesignComponent, decorators: [{
35021
35042
  type: Component,
35022
- args: [{ host: { class: 'column' }, template: "@if (mode !== 'widget') {\n<ng-container [formGroup]=\"form\">\n @if (cubes.length > 1) {\n <mat-form-field>\n <mat-label>{{'Cube'|translate}}</mat-label>\n <mat-select required formControlName=\"cube\" (selectionChange)=\"cubeSelected($event)\">\n @for (c of cubes; track c) {\n <mat-option [value]=\"c.name\">{{c.title|localizedString}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n <div class=\"row\">\n <mat-form-field class=\"flex\">\n <mat-label>{{'XAxis'|translate}}</mat-label>\n <mat-select formControlName=\"xAxis\" required multiple [sortComparator]=\"sortComparator\">\n @for (a of cube?.axes; track a) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n </mat-select>\n @if (form.controls.xAxis.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('XAxis'|translate)\"></mat-error>\n }\n </mat-form-field>\n &nbsp;\n <mat-form-field class=\"flex\">\n <mat-label>{{'Series'|translate}}</mat-label>\n <mat-select formControlName=\"series\" multiple [sortComparator]=\"sortComparator\">\n @for (a of cube?.axes; track a) {\n @if (form.controls.xAxis.value && form.controls.xAxis.value.indexOf(a.name) < 0) {\n <mat-option [value]=\"a.name\">{{a.title}}</mat-option>\n }\n }\n </mat-select>\n </mat-form-field>\n </div>\n @if (cube?.indices?.length) {\n <mat-form-field>\n <mat-label>{{'Indices'|translate}}</mat-label>\n <mat-select formControlName=\"indices\" multiple>\n @for (i of cube?.indices; track i) {\n <mat-option [value]=\"i.name\">{{i.title }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n <div class=\"row\">\n <mat-form-field class=\"flex\">\n <mat-label>{{'ChartType'|translate}}</mat-label>\n <mat-select formControlName=\"chartType\">\n <mat-option>{{'Default'|translate}}</mat-option>\n <mat-option value=\"Pie\" [disabled]=\"form.controls.series.value || form.controls.indices.value\">{{'Pie'|translate}}</mat-option>\n <mat-option value=\"Doughnut\" [disabled]=\"form.controls.series.value || form.controls.indices.value\">{{'Doughnut'|translate}}</mat-option>\n <mat-option value=\"HalfDoughnut\" [disabled]=\"form.controls.series.value || form.controls.indices.value\">{{'HalfDoughnut'|translate}}</mat-option>\n <mat-option value=\"Funnel\" [disabled]=\"form.controls.series.value || form.controls.indices.value\">{{'Funnel'|translate}}</mat-option>\n <mat-option value=\"Pyramid\" [disabled]=\"form.controls.series.value || form.controls.indices.value\">{{'Pyramid'|translate}}</mat-option>\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\n <mat-option value=\"Bubble\">{{'Bubble'|translate}}</mat-option>\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\n <mat-option value=\"Spline\">{{'Spline'|translate}}</mat-option>\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\n <mat-option value=\"Scatter\">{{'Scatter'|translate}}</mat-option>\n <mat-option value=\"Polar\">{{'Polar'|translate}}</mat-option>\n <mat-option value=\"Radar\">{{'Radar'|translate}}</mat-option>\n <mat-option value=\"StepLine\">{{'StepLine'|translate}}</mat-option>\n <mat-option value=\"StepArea\">{{'StepArea'|translate}}</mat-option>\n <mat-option value=\"SplineArea\">{{'SplineArea'|translate}}</mat-option>\n <mat-option value=\"StackingBar\" [disabled]=\"!form.controls.series.value\">{{'StackingBar'|translate}}</mat-option>\n <mat-option value=\"StackingBar100\" [disabled]=\"!form.controls.series.value\">{{'StackingBar100'|translate}}</mat-option>\n <mat-option value=\"StackingArea\" [disabled]=\"!form.controls.series.value\">{{'StackingArea'|translate}}</mat-option>\n <mat-option value=\"StackingArea100\" [disabled]=\"!form.controls.series.value\">{{'StackingArea100'|translate}}</mat-option>\n <mat-option value=\"StackingColumn\" [disabled]=\"!form.controls.series.value\">{{'StackingColumn'|translate}}</mat-option>\n <mat-option value=\"StackingColumn100\" [disabled]=\"!form.controls.series.value\">{{'StackingColumn100'|translate}}</mat-option>\n <mat-option value=\"StackingStepArea\" [disabled]=\"!form.controls.series.value\">{{'StackingStepArea'|translate}}</mat-option>\n <mat-option value=\"StackingLine\" [disabled]=\"!form.controls.series.value\">{{'StackingLine'|translate}}</mat-option>\n <mat-option value=\"StackingLine100\" [disabled]=\"!form.controls.series.value\">{{'StackingLine100'|translate}}</mat-option>\n </mat-select>\n </mat-form-field>\n &nbsp;\n @if (cube?.indices?.length) {\n <mat-form-field class=\"flex\">\n <mat-label>{{'IndicesChartType'|translate}}</mat-label>\n <mat-select formControlName=\"indicesChartType\">\n <mat-option>{{'Default'|translate}}</mat-option>\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\n <mat-option value=\"Bubble\">{{'Bubble'|translate}}</mat-option>\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\n <mat-option value=\"Spline\">{{'Spline'|translate}}</mat-option>\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\n <mat-option value=\"SplineArea\">{{'SplineArea'|translate}}</mat-option>\n <mat-option value=\"Scatter\">{{'Scatter'|translate}}</mat-option>\n <mat-option value=\"Polar\">{{'Polar'|translate}}</mat-option>\n <mat-option value=\"Radar\">{{'Radar'|translate}}</mat-option>\n <mat-option value=\"StepLine\">{{'StepLine'|translate}}</mat-option>\n <mat-option value=\"StepArea\">{{'StepArea'|translate}}</mat-option>\n </mat-select>\n </mat-form-field>\n }\n </div>\n @if (cube) {\n <bizdoc-designer-cube-filter [cube]=\"cube\" [form]=\"form.controls.filters\"></bizdoc-designer-cube-filter>\n }\n</ng-container>\n<!--<div *ngIf=\"options.xAxis\">\n <ng-container [ngSwitch]=\"isAccum\">\n <bizdoc-cube-accum *ngSwitchCase=\"true\"\n [chartType]=\"options.chartType\"\n [width]=\"200\"\n [scope]=\"options.scope\"\n [cube]=\"cube.name\"\n [filters]=\"options.filters\"\n [xAxis]=\"options.xAxis\"></bizdoc-cube-accum>\n <bizdoc-cube-chart *ngSwitchDefault\n [cube]=\"cube.name\"\n [xAxis]=\"options.xAxis\"\n [series]=\"options.series\"\n [indices]=\"options.indices\"\n [filters]=\"options.filters\"\n [chartType]=\"options.chartType\"\n [indicesChartType]=\"options.indicesChartType\"\n [width]=\"200\"\n [scope]=\"options.scope\"></bizdoc-cube-chart>\n </ng-container>\n</div>-->\n}\n" }]
35043
+ args: [{ host: { class: 'column' }, template: "@if (mode !== 'widget') {\n<ng-container [formGroup]=\"form\">\n @if (cubes.length > 1) {\n <mat-form-field>\n <mat-label>{{'Cube'|translate}}</mat-label>\n <mat-select required formControlName=\"cube\" (selectionChange)=\"cubeSelected($event)\">\n @for (c of cubes; track c) {\n <mat-option [value]=\"c.name\">{{c.title|localizedString}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n <div class=\"row\">\n <mat-form-field class=\"flex\">\n <mat-label>{{'XAxis'|translate}}</mat-label>\n <mat-select formControlName=\"xAxis\" required multiple [sortComparator]=\"sortComparator\">\n @for (a of cube?.axes; track a) {\n <mat-option [value]=\"a.name\">{{a.title }}</mat-option>\n }\n </mat-select>\n @if (form.controls.xAxis.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:('XAxis'|translate)\"></mat-error>\n }\n </mat-form-field>\n &nbsp;\n <mat-form-field class=\"flex\">\n <mat-label>{{'Series'|translate}}</mat-label>\n <mat-select formControlName=\"series\" multiple [sortComparator]=\"sortComparator\">\n @for (a of cube?.axes; track a) {\n @if (form.controls.xAxis.value && form.controls.xAxis.value.indexOf(a.name) < 0) {\n <mat-option [value]=\"a.name\">{{a.title}}</mat-option>\n }\n }\n </mat-select>\n </mat-form-field>\n </div>\n @if (cube?.indices?.length) {\n <mat-form-field>\n <mat-label>{{'Indices'|translate}}</mat-label>\n <mat-select formControlName=\"indices\" multiple>\n @for (i of cube?.indices; track i) {\n <mat-option [value]=\"i.name\">{{i.title }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n <div class=\"row\">\n <mat-form-field class=\"flex\">\n <mat-label>{{'ChartType'|translate}}</mat-label>\n <mat-select formControlName=\"chartType\">\n <mat-option>{{'Default'|translate}}</mat-option>\n <mat-option value=\"Pie\" [disabled]=\"form.controls.series.value || form.controls.indices.value\">{{'Pie'|translate}}</mat-option>\n <mat-option value=\"Doughnut\" [disabled]=\"form.controls.series.value || form.controls.indices.value\">{{'Doughnut'|translate}}</mat-option>\n <mat-option value=\"HalfDoughnut\" [disabled]=\"form.controls.series.value || form.controls.indices.value\">{{'HalfDoughnut'|translate}}</mat-option>\n <mat-option value=\"Funnel\" [disabled]=\"form.controls.series.value || form.controls.indices.value\">{{'Funnel'|translate}}</mat-option>\n <mat-option value=\"Pyramid\" [disabled]=\"form.controls.series.value || form.controls.indices.value\">{{'Pyramid'|translate}}</mat-option>\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\n <mat-option value=\"Bubble\">{{'Bubble'|translate}}</mat-option>\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\n <mat-option value=\"Spline\">{{'Spline'|translate}}</mat-option>\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\n <mat-option value=\"Scatter\">{{'Scatter'|translate}}</mat-option>\n <mat-option value=\"Polar\">{{'Polar'|translate}}</mat-option>\n <mat-option value=\"Radar\">{{'Radar'|translate}}</mat-option>\n <mat-option value=\"StepLine\">{{'StepLine'|translate}}</mat-option>\n <mat-option value=\"StepArea\">{{'StepArea'|translate}}</mat-option>\n <mat-option value=\"SplineArea\">{{'SplineArea'|translate}}</mat-option>\n <mat-option value=\"StackingBar\" [disabled]=\"!form.controls.series.value\">{{'StackingBar'|translate}}</mat-option>\n <mat-option value=\"StackingBar100\" [disabled]=\"!form.controls.series.value\">{{'StackingBar100'|translate}}</mat-option>\n <mat-option value=\"StackingArea\" [disabled]=\"!form.controls.series.value\">{{'StackingArea'|translate}}</mat-option>\n <mat-option value=\"StackingArea100\" [disabled]=\"!form.controls.series.value\">{{'StackingArea100'|translate}}</mat-option>\n <mat-option value=\"StackingColumn\" [disabled]=\"!form.controls.series.value\">{{'StackingColumn'|translate}}</mat-option>\n <mat-option value=\"StackingColumn100\" [disabled]=\"!form.controls.series.value\">{{'StackingColumn100'|translate}}</mat-option>\n <mat-option value=\"StackingStepArea\" [disabled]=\"!form.controls.series.value\">{{'StackingStepArea'|translate}}</mat-option>\n <mat-option value=\"StackingLine\" [disabled]=\"!form.controls.series.value\">{{'StackingLine'|translate}}</mat-option>\n <mat-option value=\"StackingLine100\" [disabled]=\"!form.controls.series.value\">{{'StackingLine100'|translate}}</mat-option>\n </mat-select>\n </mat-form-field>\n &nbsp;\n @if (cube?.indices?.length) {\n <mat-form-field class=\"flex\">\n <mat-label>{{'IndicesChartType'|translate}}</mat-label>\n <mat-select formControlName=\"indicesChartType\">\n <mat-option>{{'Default'|translate}}</mat-option>\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\n <mat-option value=\"Bar\">{{'Bar'|translate}}</mat-option>\n <mat-option value=\"Bubble\">{{'Bubble'|translate}}</mat-option>\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\n <mat-option value=\"Spline\">{{'Spline'|translate}}</mat-option>\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\n <mat-option value=\"SplineArea\">{{'SplineArea'|translate}}</mat-option>\n <mat-option value=\"Scatter\">{{'Scatter'|translate}}</mat-option>\n <mat-option value=\"Polar\">{{'Polar'|translate}}</mat-option>\n <mat-option value=\"Radar\">{{'Radar'|translate}}</mat-option>\n <mat-option value=\"StepLine\">{{'StepLine'|translate}}</mat-option>\n <mat-option value=\"StepArea\">{{'StepArea'|translate}}</mat-option>\n </mat-select>\n </mat-form-field>\n }\n </div>\n @if (cube) {\n <bizdoc-designer-cube-filter [cube]=\"cube\" [form]=\"form.controls.filters\"></bizdoc-designer-cube-filter>\n }\n</ng-container>\n}\n" }]
35023
35044
  }] });
35024
35045
 
35025
35046
  let ExploreViewDesignComponent = class ExploreViewDesignComponent extends DesignerCubeElementComponent {
@@ -35081,14 +35102,14 @@ let DocumentsReportDesignComponent = class DocumentsReportDesignComponent extend
35081
35102
  });
35082
35103
  }
35083
35104
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: DocumentsReportDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
35084
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: DocumentsReportDesignComponent, selector: "ng-component", host: { classAttribute: "column" }, usesInheritance: true, ngImport: i0, template: "@if (mode !== 'widget') {\n <ng-container [formGroup]=\"form\">\n @if (cubes.length > 1) {\n <mat-form-field>\n <mat-label>{{'Cube'|translate}}</mat-label>\n <mat-select formControlName=\"cube\">\n @for (c of cubes; track c) {\n <mat-option [value]=\"c.name\">{{c.title|localizedString}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n <!--<mat-form-field *ngIf=\"cube\">\n <mat-label>{{'Group'|translate}}</mat-label>\n <mat-select formControlName=\"group\">\n <mat-option *ngFor=\"let a of cube.axes\" [value]=\"a\">{{a.title|localizedString}}</mat-option>\n </mat-select>\n </mat-form-field>-->\n @if (cube) {\n <bizdoc-designer-cube-filter [cube]=\"cube\" [form]=\"form.controls.filters\"></bizdoc-designer-cube-filter>\n }\n</ng-container>\n}\n", dependencies: [{ kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2$3.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: DesignerCubeFilterComponent, selector: "bizdoc-designer-cube-filter", inputs: ["cube", "form"] }, { kind: "pipe", type: LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
35105
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: DocumentsReportDesignComponent, selector: "ng-component", host: { classAttribute: "column" }, usesInheritance: true, ngImport: i0, template: "@if (mode !== 'widget') {\n<ng-container [formGroup]=\"form\">\n @if (cubes.length > 1) {\n <mat-form-field>\n <mat-label>{{'Cube'|translate}}</mat-label>\n <mat-select formControlName=\"cube\">\n @for (c of cubes; track c) {\n <mat-option [value]=\"c.name\">{{c.title|localizedString}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n @if (cube) {\n <bizdoc-designer-cube-filter [cube]=\"cube\" [form]=\"form.controls.filters\"></bizdoc-designer-cube-filter>\n }\n</ng-container>\n}\n", dependencies: [{ kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2$3.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: DesignerCubeFilterComponent, selector: "bizdoc-designer-cube-filter", inputs: ["cube", "form"] }, { kind: "pipe", type: LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
35085
35106
  };
35086
35107
  DocumentsReportDesignComponent = __decorate([
35087
35108
  BizDoc({ selector: 'documents-report-designer' })
35088
35109
  ], DocumentsReportDesignComponent);
35089
35110
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: DocumentsReportDesignComponent, decorators: [{
35090
35111
  type: Component,
35091
- args: [{ host: { class: 'column' }, template: "@if (mode !== 'widget') {\n <ng-container [formGroup]=\"form\">\n @if (cubes.length > 1) {\n <mat-form-field>\n <mat-label>{{'Cube'|translate}}</mat-label>\n <mat-select formControlName=\"cube\">\n @for (c of cubes; track c) {\n <mat-option [value]=\"c.name\">{{c.title|localizedString}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n <!--<mat-form-field *ngIf=\"cube\">\n <mat-label>{{'Group'|translate}}</mat-label>\n <mat-select formControlName=\"group\">\n <mat-option *ngFor=\"let a of cube.axes\" [value]=\"a\">{{a.title|localizedString}}</mat-option>\n </mat-select>\n </mat-form-field>-->\n @if (cube) {\n <bizdoc-designer-cube-filter [cube]=\"cube\" [form]=\"form.controls.filters\"></bizdoc-designer-cube-filter>\n }\n</ng-container>\n}\n" }]
35112
+ args: [{ host: { class: 'column' }, template: "@if (mode !== 'widget') {\n<ng-container [formGroup]=\"form\">\n @if (cubes.length > 1) {\n <mat-form-field>\n <mat-label>{{'Cube'|translate}}</mat-label>\n <mat-select formControlName=\"cube\">\n @for (c of cubes; track c) {\n <mat-option [value]=\"c.name\">{{c.title|localizedString}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n }\n @if (cube) {\n <bizdoc-designer-cube-filter [cube]=\"cube\" [form]=\"form.controls.filters\"></bizdoc-designer-cube-filter>\n }\n</ng-container>\n}\n" }]
35092
35113
  }] });
35093
35114
 
35094
35115
  let PerformanceWidgetDesignComponent = class PerformanceWidgetDesignComponent extends DesignerCubeElementComponent {
@@ -36231,5 +36252,5 @@ function withRoute(routes) {
36231
36252
  * Generated bundle index. Do not edit.
36232
36253
  */
36233
36254
 
36234
- export { AccountService, AceInput, ActionDialog, ActionPicker, ActionPipe, ActionRef, ActionsWidget, AddressControlDesigner, AddressInput, AgoPipe, ArraySortPipe, AssignActionComponent, AttachmentInfo, AttachmentPreview, AuthenticationImpl, AutocompleteControlDesigner, AvatarComponent, BIZDOC_CONFIG, BackNavigation, BizDoc, BizDocApp, BizDocComponentFactoryResolver, BizDocModule, BrokenPage, BrowseFilterComponent, BrowseItemsComponent, CalendarPipe, ChatInfo, CheckboxComponent, CheckboxControlDesigner, ChecklistControlDesigner, CollapseNavigation, ColorPicker, CombinationPicker, CombinationPickerBody, CombinationPool, CommentsComponent, CompareContextDirective, CompareGroupDirective, CompareGroupsWidget, CompareNameDirective, ComposeFormComponent, ContactsComponent, ConversationComponent, CubeAccumAnalysisWidget, CubeAccumulationChartComponent, CubeAnalysisWidget, CubeChartAnalysisWidget, CubeChartComponent, CubeDocumentsGridComponent, CubeDocumentsTableComponent, CubeDocumentsWidget, CubeFilterComponent, CubeGridComponent, CubeInfo, CubeItemResolveService, CubeMatrixComponent, CubeParallelComponent, CubePerformanceWidget, CubePivotComponent, CubeService, CubeSpreadsheetComponent, CubeSumComponent, CubeViewComponent, CubeWidgetFilterComponent, DEFAULT_POLICY, DRAFT, DashboardComponent, DatasourceService, DateControlDesigner, DateFormatPipe, DateRangeControlDesigner, DateRangePipe, DesignerCubeFilterComponent, DesignerModule, DesignerRef, DifferencePipe, DocumentInfo, DocumentInfoComponent, DocumentResolveService, DocumentViewRef, DocumentViewsComponent, DurationFormatPipe, DurationPipe, EnterExitLeft, EnterExitRight, EnterExitTop, ExploreDocumentComponent, ExploreItemImplComponent, ExploreItemsComponent, ExpressionFieldDesigner, FONT_FAMILY, FadeSlideInOut, FieldKind, FileControlDesigner, FileInput, FilterPipe, FilterTagsComponent, FlowViewComponent, FormPipe, FormRef, GuideRef, GuideService, HelpTipComponent, HtmlFieldDesigner, INBOX, IdentityName, InputFieldDesigner, JoinPipe, JsonPipe, L18nPipe, LayoutComponent, ListingRef, LocalizedStringComponent, LocalizedStringControlDesigner, LocalizedStringPipe, LottieAnimation, MailboxService, MapInfo, MatIconAnimate, MaterialModule, NavigationBase, NavigationClose, NavigationEnd, NavigationExpand, NavigationFocus, NavigationMode, NavigationPaneBase, NavigationResize, NavigationStart, NoneComponent, NotificationsTableComponent, NumberControlDesigner, OpenPolicy, POPUP_DATA, PaneRef, PanesRouter, ParamNavigation, PeersPerformanceWidget, PendingResultsWidget, PersonalActivityWidget, PersonalScoreWidget, Popup, PopupRef, PrivilegeDisabledDirective, PrivilegeHiddenDirective, PulseAnimation, QueryParamNavigation, QuickCommentComponent, RadioButtonControlDesigner, RecentsWidget, RecipientResolveService, ReportArgumentsComponent, ReportRef, ReportViewerComponent, ReturnActionComponent, RolePipe, RouterImpl, SanitizeHtmlPipe, SaveChangesDialog, ScheduleViewComponent, SearchInput, SelectControlDesigner, SessionService, ShakeAnimation, SharedModule, SignatureControlDesigner, SlotRouterDirective, SpContainer, StateDirective, StatePipe, StickyToolbar, SubstitutionComponent, SwapAnimation, TagsComponent, TagsControlDesigner, TasksComponent, TextAreaFieldDesigner, TimeAgoPipe, TimeControlDesigner, TimePicker, TimespanControlDesigner, TimespanInput, ToNowPipe, TooltipDirective, TraceViewComponent, TranslatePipe, TranslateService, TypeAutocomplete, TypeSelect, TypeValuePipe, UsageChartComponent, UsagePivotComponent, UsageReportArgs, UserNamePipe, UtilityRef, VersionCompareComponent, WidgetItemComponent, WidgetRef, YesNoControlDesigner, cleanup, isArray, isBoolean, isDate, isFunction, isImage, isMobile, isObject, isPrimitive, isPromise, isString, modelize, programName, registerComponents };
36255
+ export { AccountService, AceInput, ActionDialog, ActionPicker, ActionPipe, ActionRef, ActionsWidget, AddressControlDesigner, AddressInput, AgoPipe, ArraySortPipe, AssignActionComponent, AttachmentInfo, AttachmentPreview, AuthenticationImpl, AutocompleteControlDesigner, AvatarComponent, BIZDOC_CONFIG, BackNavigation, BizDoc, BizDocApp, BizDocComponentFactoryResolver, BizDocModule, BrokenPage, BrowseFilterComponent, BrowseItemsComponent, CalendarPipe, ChatInfo, CheckboxComponent, CheckboxControlDesigner, ChecklistControlDesigner, CollapseNavigation, ColorPicker, CombinationPicker, CombinationPickerBody, CombinationPool, CommentsComponent, CompareContextDirective, CompareGroupDirective, CompareGroupsWidget, CompareNameDirective, ComposeFormComponent, ContactsComponent, ConversationComponent, CubeAccumAnalysisWidget, CubeAccumulationChartComponent, CubeAnalysisWidget, CubeChartAnalysisWidget, CubeChartComponent, CubeDocumentsGridComponent, CubeDocumentsTableComponent, CubeDocumentsWidget, CubeFilterComponent, CubeGridComponent, CubeInfo, CubeItemResolveService, CubeMatrixComponent, CubeParallelComponent, CubePerformanceWidget, CubePivotComponent, CubeService, CubeSpreadsheetComponent, CubeSumComponent, CubeViewComponent, CubeWidgetFilterComponent, DEFAULT_POLICY, DRAFT, DashboardComponent, DatasourceService, DateControlDesigner, DateFormatPipe, DateRangeControlDesigner, DateRangePipe, DesignerCubeFilterComponent, DesignerModule, DesignerRef, DifferencePipe, DocumentInfo, DocumentInfoComponent, DocumentResolveService, DocumentViewRef, DocumentViewsComponent, DurationFormatPipe, DurationPipe, EnterExitLeft, EnterExitRight, EnterExitTop, ExploreDocumentComponent, ExploreItemImplComponent, ExploreItemsComponent, ExpressionFieldDesigner, FONT_FAMILY, FadeSlideInOut, FieldKind, FileControlDesigner, FileInput, FilterPipe, FilterTagsComponent, FlowViewComponent, FormPipe, FormRef, GuideRef, GuideService, HelpTipComponent, HtmlFieldDesigner, INBOX, IdentityName, InputFieldDesigner, JoinPipe, JsonPipe, L18nPipe, LayoutComponent, ListingRef, LocalizedStringComponent, LocalizedStringControlDesigner, LocalizedStringPipe, LottieAnimation, MailboxService, MapInfo, MatIconAnimate, MaterialModule, NavigationBase, NavigationClose, NavigationEnd, NavigationExpand, NavigationFocus, NavigationMode, NavigationPaneBase, NavigationResize, NavigationStart, NodeRef, NoneComponent, NotificationsTableComponent, NumberControlDesigner, OpenPolicy, POPUP_DATA, PaneRef, PanesRouter, ParamNavigation, PeersPerformanceWidget, PendingResultsWidget, PersonalActivityWidget, PersonalScoreWidget, Popup, PopupRef, PrivilegeDisabledDirective, PrivilegeHiddenDirective, PulseAnimation, QueryParamNavigation, QuickCommentComponent, RadioButtonControlDesigner, RecentsWidget, RecipientResolveService, ReportArgumentsComponent, ReportRef, ReportViewerComponent, ReturnActionComponent, RolePipe, RouterImpl, SanitizeHtmlPipe, SaveChangesDialog, ScheduleViewComponent, SearchInput, SelectControlDesigner, SessionService, ShakeAnimation, SharedModule, SignatureControlDesigner, SlotRouterDirective, SpContainer, StateDirective, StatePipe, StickyToolbar, SubstitutionComponent, SwapAnimation, TagsComponent, TagsControlDesigner, TasksComponent, TextAreaFieldDesigner, TimeAgoPipe, TimeControlDesigner, TimePicker, TimespanControlDesigner, TimespanInput, ToNowPipe, TooltipDirective, TraceViewComponent, TranslatePipe, TranslateService, TypeAutocomplete, TypeSelect, TypeValuePipe, UsageChartComponent, UsagePivotComponent, UsageReportArgs, UserNamePipe, UtilityRef, VersionCompareComponent, WidgetItemComponent, WidgetRef, YesNoControlDesigner, cleanup, getMonthList, isArray, isBoolean, isDate, isFunction, isImage, isMobile, isObject, isPrimitive, isPromise, isString, modelize, programName, registerComponents };
36235
36256
  //# sourceMappingURL=bizdoc-core.mjs.map