@bizdoc/core 1.16.11 → 1.16.14

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 (73) hide show
  1. package/esm2020/lib/admin/configuration-designer/cube-axes-filter.component.mjs +12 -30
  2. package/esm2020/lib/admin/configuration-designer/declarations.mjs +10 -2
  3. package/esm2020/lib/admin/configuration-designer/designer-element.component.mjs +42 -45
  4. package/esm2020/lib/admin/configuration-designer/designer-privileges.component.mjs +93 -0
  5. package/esm2020/lib/admin/configuration-designer/designer.base.mjs +55 -45
  6. package/esm2020/lib/admin/configuration-designer/designer.component.mjs +8 -5
  7. package/esm2020/lib/admin/configuration-designer/elements/analysis-view.component.mjs +5 -5
  8. package/esm2020/lib/admin/configuration-designer/elements/analysis-widget.component.mjs +5 -5
  9. package/esm2020/lib/admin/configuration-designer/elements/anomaly-rule.component.mjs +1 -1
  10. package/esm2020/lib/admin/configuration-designer/elements/configuration-datasource.component.mjs +4 -4
  11. package/esm2020/lib/admin/configuration-designer/elements/cube-view.component.mjs +3 -3
  12. package/esm2020/lib/admin/configuration-designer/elements/cube.component.mjs +22 -42
  13. package/esm2020/lib/admin/configuration-designer/elements/documents-report.component.mjs +5 -4
  14. package/esm2020/lib/admin/configuration-designer/elements/documents-widget.component.mjs +15 -16
  15. package/esm2020/lib/admin/configuration-designer/elements/explore-view.component.mjs +7 -6
  16. package/esm2020/lib/admin/configuration-designer/elements/folder.component.mjs +3 -3
  17. package/esm2020/lib/admin/configuration-designer/elements/form.component.mjs +5 -5
  18. package/esm2020/lib/admin/configuration-designer/elements/guide.component.mjs +16 -18
  19. package/esm2020/lib/admin/configuration-designer/elements/matrix-view.component.mjs +27 -14
  20. package/esm2020/lib/admin/configuration-designer/elements/parallel-view.component.mjs +6 -8
  21. package/esm2020/lib/admin/configuration-designer/elements/performance-widget.component.mjs +5 -4
  22. package/esm2020/lib/admin/configuration-designer/elements/pivot-view.component.mjs +3 -3
  23. package/esm2020/lib/admin/configuration-designer/elements/report.component.mjs +3 -3
  24. package/esm2020/lib/admin/configuration-designer/elements/role.component.mjs +2 -2
  25. package/esm2020/lib/admin/configuration-designer/elements/sum-view.component.mjs +3 -3
  26. package/esm2020/lib/admin/configuration-designer/elements/tasks-report.component.mjs +5 -4
  27. package/esm2020/lib/admin/configuration-designer/elements/usage-report.component.mjs +3 -3
  28. package/esm2020/lib/admin/form/workflow/node.component.mjs +3 -3
  29. package/esm2020/lib/admin/indices/manage-cube-index.component.mjs +2 -2
  30. package/esm2020/lib/admin/patterns/patterns.component.mjs +2 -2
  31. package/esm2020/lib/compose/action/action.pane.dialog.exp.mjs +2 -1
  32. package/esm2020/lib/core/controls/combination-pool.mjs +2 -2
  33. package/esm2020/lib/core/layout/layout.component.mjs +10 -12
  34. package/esm2020/lib/core/models.mjs +1 -1
  35. package/esm2020/lib/core/translations.mjs +11 -1
  36. package/esm2020/lib/cube/explore/explore-items.component.mjs +2 -2
  37. package/esm2020/lib/cube/filter/filter.component.mjs +3 -3
  38. package/esm2020/lib/cube/view-base.mjs +1 -2
  39. package/esm2020/lib/dashboard/cube/filter/filter.component.mjs +2 -2
  40. package/esm2020/lib/dashboard/widget-item.component.mjs +3 -4
  41. package/esm2020/lib/home/sign/sign.component.mjs +6 -1
  42. package/esm2020/lib/notifications/types/cube-anomaly.notification.mjs +2 -2
  43. package/esm2020/lib/reports/arguments-component.mjs +3 -3
  44. package/esm2020/lib/reports/cube/usage-args.component.mjs +3 -3
  45. package/esm2020/lib/reports/cube/usage-base.mjs +2 -2
  46. package/esm2020/lib/reports/cube/usage-pivot.component.mjs +2 -2
  47. package/esm2020/lib/system.module.mjs +4 -3
  48. package/esm2020/lib/views/cube/view.component.mjs +2 -2
  49. package/fesm2015/bizdoc-core.mjs +435 -354
  50. package/fesm2015/bizdoc-core.mjs.map +1 -1
  51. package/fesm2020/bizdoc-core.mjs +431 -351
  52. package/fesm2020/bizdoc-core.mjs.map +1 -1
  53. package/lib/admin/configuration-designer/cube-axes-filter.component.d.ts +4 -8
  54. package/lib/admin/configuration-designer/declarations.d.ts +8 -0
  55. package/lib/admin/configuration-designer/designer-element.component.d.ts +10 -7
  56. package/lib/admin/configuration-designer/designer-privileges.component.d.ts +34 -0
  57. package/lib/admin/configuration-designer/designer.base.d.ts +17 -16
  58. package/lib/admin/configuration-designer/designer.component.d.ts +2 -1
  59. package/lib/admin/configuration-designer/elements/analysis-view.component.d.ts +1 -1
  60. package/lib/admin/configuration-designer/elements/analysis-widget.component.d.ts +2 -2
  61. package/lib/admin/configuration-designer/elements/anomaly-rule.component.d.ts +1 -4
  62. package/lib/admin/configuration-designer/elements/cube.component.d.ts +4 -14
  63. package/lib/admin/configuration-designer/elements/documents-widget.component.d.ts +2 -3
  64. package/lib/admin/configuration-designer/elements/explore-view.component.d.ts +2 -2
  65. package/lib/admin/configuration-designer/elements/form.component.d.ts +6 -6
  66. package/lib/admin/configuration-designer/elements/guide.component.d.ts +2 -3
  67. package/lib/admin/configuration-designer/elements/matrix-view.component.d.ts +5 -4
  68. package/lib/admin/configuration-designer/elements/parallel-view.component.d.ts +2 -2
  69. package/lib/core/layout/layout.component.d.ts +3 -3
  70. package/lib/core/models.d.ts +0 -1
  71. package/lib/core/translations.d.ts +10 -0
  72. package/lib/system.module.d.ts +65 -64
  73. package/package.json +1 -1
@@ -4,13 +4,15 @@ import * as i0 from "@angular/core";
4
4
  import * as i1 from "@angular/common";
5
5
  import * as i2 from "@angular/forms";
6
6
  import * as i3 from "@angular/cdk/drag-drop";
7
- import * as i4 from "@angular/material/form-field";
8
- import * as i5 from "@angular/material/button";
9
- import * as i6 from "@angular/material/input";
10
- import * as i7 from "@angular/material/icon";
11
- import * as i8 from "../../../core/popup/tooltip.directive";
12
- import * as i9 from "../designer-element.component";
13
- import * as i10 from "../../../core/pipes/translate.pipe";
7
+ import * as i4 from "@angular/material/core";
8
+ import * as i5 from "@angular/material/form-field";
9
+ import * as i6 from "@angular/material/select";
10
+ import * as i7 from "@angular/material/button";
11
+ import * as i8 from "@angular/material/input";
12
+ import * as i9 from "@angular/material/icon";
13
+ import * as i10 from "../../../core/popup/tooltip.directive";
14
+ import * as i11 from "../designer-element.component";
15
+ import * as i12 from "../../../core/pipes/translate.pipe";
14
16
  export class GuideDesignComponent extends DesignerTypeElementComponent {
15
17
  constructor() {
16
18
  super(...arguments);
@@ -23,27 +25,23 @@ export class GuideDesignComponent extends DesignerTypeElementComponent {
23
25
  if (!this.model.steps)
24
26
  this.model.steps = [];
25
27
  else if (this.mode !== 'widget')
26
- this.model.steps.forEach(s => this.steps.push(this._stepform(s), { emitEvent: false }));
28
+ this.model.steps.forEach(s => this.steps.push(this.newStep(s), { emitEvent: false }));
27
29
  }
28
- add() {
29
- this.steps.push(this._stepform());
30
- }
31
- remove(index) {
32
- this.steps.removeAt(index);
33
- }
34
- _stepform(step) {
30
+ newStep(step) {
35
31
  return this._fb.group({
36
32
  content: step?.content,
37
33
  title: step?.title,
38
34
  selector: step?.selector,
39
35
  position: step?.position,
36
+ navigate: step?.navigate,
37
+ execute: step?.execute
40
38
  });
41
39
  }
42
40
  }
43
41
  GuideDesignComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: GuideDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
44
- GuideDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: GuideDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<bizdoc-designer-element [form]=\"form\">\r\n <ng-template bizdocContent>\r\n <!--<table class=\"mat-table\">\r\n <tr class=\"mat-row\" *ngFor=\"let s of model.steps\">\r\n <td class=\"mat-cell\">{{s.title}}</td>\r\n </tr>\r\n </table>-->\r\n </ng-template>\r\n <ng-template bizdocEditContent>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <h2 class=\"mat-title\">{{'Steps'|translate}}</h2>\r\n <div formArrayName=\"steps\" class=\"column\" cdkDropList (cdkDropListDropped)=\"drop($event, this.steps)\">\r\n <div class=\"row\" *ngFor=\"let s of steps.controls; index as index\" [formGroup]=\"s\" cdkDrag>\r\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" />\r\n </mat-form-field>\r\n &nbsp;\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Content'|translate}}</mat-label>\r\n <input matInput formControlName=\"content\" required />\r\n </mat-form-field>\r\n <button mat-icon-button (click)=\"remove(index)\" [bizdocTooltip]=\"'Remove'|translate\"><mat-icon>delete</mat-icon></button>\r\n </div>\r\n </div>\r\n <button mat-icon-button (click)=\"add()\" [bizdocTooltip]=\"'Add'|translate\"><mat-icon>add</mat-icon></button>\r\n </form>\r\n </ng-template>\r\n</bizdoc-designer-element>\r\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i2.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "directive", type: i3.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: i3.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: i3.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "component", type: i5.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i6.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: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i8.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "directive", type: i9.EditContentDirective, selector: "[bizdocEditContent]" }, { kind: "directive", type: i9.WidgetContentDirective, selector: "[bizdocContent]" }, { kind: "component", type: i9.DesignerItemComponent, selector: "bizdoc-designer-element", inputs: ["form"], outputs: ["continue", "save"] }, { kind: "pipe", type: i10.TranslatePipe, name: "translate" }] });
42
+ GuideDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: GuideDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<bizdoc-designer-element [form]=\"form\">\r\n <ng-template bizdocEditContent>\r\n <ng-container *ngIf=\"view; else main\">\r\n <h2 class=\"mat-title\">{{context.title|translate}}</h2>\r\n <div (document:keydown.escape)=\"closeView($event)\" #element class=\"column\">\r\n <ng-container *ngTemplateOutlet=\"view; context: context\"></ng-container>\r\n </div>\r\n <div class=\"row actions\">\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"closeView()\" type=\"button\" [bizdocTooltip]=\"'Back'|translate\"><mat-icon>keyboard_return</mat-icon></button>\r\n </div>\r\n </ng-container>\r\n </ng-template>\r\n</bizdoc-designer-element>\r\n<ng-template #main>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <h2 class=\"mat-title\">{{'Steps'|translate}}</h2>\r\n <table formArrayName=\"steps\" class=\"mat-table\" cdkDropList (cdkDropListDropped)=\"drop($event, this.steps)\">\r\n <tr class=\"mat-row\" *ngFor=\"let s of steps.controls; index as index\" [formGroup]=\"s\" cdkDrag>\r\n <td class=\"mat-cell\">\r\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\r\n </td>\r\n <td class=\"mat-cell\">\r\n {{s.get('title').value || s.get('content').value }}\r\n </td>\r\n <td class=\"mat-cell\">\r\n <button mat-icon-button (click)=\"edit(s, 'Step', stepform)\" [bizdocTooltip]=\"'Edit'|translate\"><mat-icon>edit</mat-icon></button>\r\n <button mat-icon-button (click)=\"steps.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\"><mat-icon>delete</mat-icon></button>\r\n </td>\r\n </tr>\r\n </table>\r\n <button mat-icon-button (click)=\"add(steps, newStep(), 'Steps', stepform)\" [bizdocTooltip]=\"'Add'|translate\"><mat-icon>add</mat-icon></button>\r\n </form>\r\n</ng-template>\r\n<ng-template #stepform let-form>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" />\r\n </mat-form-field>\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Content'|translate}}</mat-label>\r\n <input matInput formControlName=\"content\" required />\r\n <mat-error *ngIf=\"form.get('content').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Content'|translate)\"></mat-error>\r\n </mat-form-field>\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Selector'|translate}}</mat-label>\r\n <input matInput formControlName=\"selector\" />\r\n </mat-form-field>\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Position'|translate}}</mat-label>\r\n <mat-select formControlName=\"position\">\r\n <mat-option value=\"Above\">{{'Above'|translate}}</mat-option>\r\n <mat-option value=\"Start\">{{'Start'|translate}}</mat-option>\r\n <mat-option value=\"End\">{{'End'|translate}}</mat-option>\r\n <mat-option value=\"Below\">{{'Below'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-switch formControlName=\"execute\">{{'Execute'|translate}}</mat-switch>\r\n </form>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i2.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "directive", type: i3.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: i3.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: i3.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: i4.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i5.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "component", type: i6.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i7.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i8.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: "directive", type: i10.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "directive", type: i11.EditContentDirective, selector: "[bizdocEditContent]" }, { kind: "component", type: i11.DesignerItemComponent, selector: "bizdoc-designer-element", inputs: ["form"], outputs: ["continue", "save"] }, { kind: "pipe", type: i12.TranslatePipe, name: "translate" }] });
45
43
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: GuideDesignComponent, decorators: [{
46
44
  type: Component,
47
- args: [{ template: "<bizdoc-designer-element [form]=\"form\">\r\n <ng-template bizdocContent>\r\n <!--<table class=\"mat-table\">\r\n <tr class=\"mat-row\" *ngFor=\"let s of model.steps\">\r\n <td class=\"mat-cell\">{{s.title}}</td>\r\n </tr>\r\n </table>-->\r\n </ng-template>\r\n <ng-template bizdocEditContent>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <h2 class=\"mat-title\">{{'Steps'|translate}}</h2>\r\n <div formArrayName=\"steps\" class=\"column\" cdkDropList (cdkDropListDropped)=\"drop($event, this.steps)\">\r\n <div class=\"row\" *ngFor=\"let s of steps.controls; index as index\" [formGroup]=\"s\" cdkDrag>\r\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" />\r\n </mat-form-field>\r\n &nbsp;\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Content'|translate}}</mat-label>\r\n <input matInput formControlName=\"content\" required />\r\n </mat-form-field>\r\n <button mat-icon-button (click)=\"remove(index)\" [bizdocTooltip]=\"'Remove'|translate\"><mat-icon>delete</mat-icon></button>\r\n </div>\r\n </div>\r\n <button mat-icon-button (click)=\"add()\" [bizdocTooltip]=\"'Add'|translate\"><mat-icon>add</mat-icon></button>\r\n </form>\r\n </ng-template>\r\n</bizdoc-designer-element>\r\n" }]
45
+ args: [{ template: "<bizdoc-designer-element [form]=\"form\">\r\n <ng-template bizdocEditContent>\r\n <ng-container *ngIf=\"view; else main\">\r\n <h2 class=\"mat-title\">{{context.title|translate}}</h2>\r\n <div (document:keydown.escape)=\"closeView($event)\" #element class=\"column\">\r\n <ng-container *ngTemplateOutlet=\"view; context: context\"></ng-container>\r\n </div>\r\n <div class=\"row actions\">\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"closeView()\" type=\"button\" [bizdocTooltip]=\"'Back'|translate\"><mat-icon>keyboard_return</mat-icon></button>\r\n </div>\r\n </ng-container>\r\n </ng-template>\r\n</bizdoc-designer-element>\r\n<ng-template #main>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <h2 class=\"mat-title\">{{'Steps'|translate}}</h2>\r\n <table formArrayName=\"steps\" class=\"mat-table\" cdkDropList (cdkDropListDropped)=\"drop($event, this.steps)\">\r\n <tr class=\"mat-row\" *ngFor=\"let s of steps.controls; index as index\" [formGroup]=\"s\" cdkDrag>\r\n <td class=\"mat-cell\">\r\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\r\n </td>\r\n <td class=\"mat-cell\">\r\n {{s.get('title').value || s.get('content').value }}\r\n </td>\r\n <td class=\"mat-cell\">\r\n <button mat-icon-button (click)=\"edit(s, 'Step', stepform)\" [bizdocTooltip]=\"'Edit'|translate\"><mat-icon>edit</mat-icon></button>\r\n <button mat-icon-button (click)=\"steps.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\"><mat-icon>delete</mat-icon></button>\r\n </td>\r\n </tr>\r\n </table>\r\n <button mat-icon-button (click)=\"add(steps, newStep(), 'Steps', stepform)\" [bizdocTooltip]=\"'Add'|translate\"><mat-icon>add</mat-icon></button>\r\n </form>\r\n</ng-template>\r\n<ng-template #stepform let-form>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" />\r\n </mat-form-field>\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Content'|translate}}</mat-label>\r\n <input matInput formControlName=\"content\" required />\r\n <mat-error *ngIf=\"form.get('content').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Content'|translate)\"></mat-error>\r\n </mat-form-field>\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Selector'|translate}}</mat-label>\r\n <input matInput formControlName=\"selector\" />\r\n </mat-form-field>\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Position'|translate}}</mat-label>\r\n <mat-select formControlName=\"position\">\r\n <mat-option value=\"Above\">{{'Above'|translate}}</mat-option>\r\n <mat-option value=\"Start\">{{'Start'|translate}}</mat-option>\r\n <mat-option value=\"End\">{{'End'|translate}}</mat-option>\r\n <mat-option value=\"Below\">{{'Below'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-switch formControlName=\"execute\">{{'Execute'|translate}}</mat-switch>\r\n </form>\r\n</ng-template>\r\n" }]
48
46
  }] });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VpZGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9jb25maWd1cmF0aW9uLWRlc2lnbmVyL2VsZW1lbnRzL2d1aWRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvYWRtaW4vY29uZmlndXJhdGlvbi1kZXNpZ25lci9lbGVtZW50cy9ndWlkZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRWxELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7Ozs7Ozs7Ozs7QUFHaEUsTUFBTSxPQUFPLG9CQUFxQixTQUFRLDRCQUE0QjtJQUR0RTs7UUFFVyxVQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDM0IsU0FBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO1lBQzdCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztTQUNsQixDQUFDLENBQUM7S0FxQko7SUFwQkMsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUs7WUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7YUFFM0MsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFFBQVE7WUFDeEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDOUYsQ0FBQztJQUNELEdBQUc7UUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBQ0QsTUFBTSxDQUFDLEtBQUs7UUFDVixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBQ08sU0FBUyxDQUFDLElBQWdCO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7WUFDcEIsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPO1lBQ3RCLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSztZQUNsQixRQUFRLEVBQUUsSUFBSSxFQUFFLFFBQVE7WUFDeEIsUUFBUSxFQUFFLElBQUksRUFBRSxRQUFRO1NBQ3pCLENBQUMsQ0FBQTtJQUNKLENBQUM7O2lIQXhCVSxvQkFBb0I7cUdBQXBCLG9CQUFvQiwyRUNMakMsMi9DQThCQTsyRkR6QmEsb0JBQW9CO2tCQURoQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBHdWlkZVN0ZXAgfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9tb2RlbHNcIjtcclxuaW1wb3J0IHsgRGVzaWduZXJUeXBlRWxlbWVudENvbXBvbmVudCB9IGZyb20gXCIuLi9kZXNpZ25lci5iYXNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHsgdGVtcGxhdGVVcmw6ICdndWlkZS5jb21wb25lbnQuaHRtbCcgfSlcclxuZXhwb3J0IGNsYXNzIEd1aWRlRGVzaWduQ29tcG9uZW50IGV4dGVuZHMgRGVzaWduZXJUeXBlRWxlbWVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgcmVhZG9ubHkgc3RlcHMgPSB0aGlzLl9mYi5hcnJheShbXSk7XHJcbiAgcmVhZG9ubHkgZm9ybSA9IHRoaXMuX2ZiLmdyb3VwKHtcclxuICAgIHN0ZXBzOiB0aGlzLnN0ZXBzLFxyXG4gIH0pO1xyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKCF0aGlzLm1vZGVsLnN0ZXBzKSB0aGlzLm1vZGVsLnN0ZXBzID0gW107XHJcbiAgICBlbHNlXHJcbiAgICAgIGlmICh0aGlzLm1vZGUgIT09ICd3aWRnZXQnKVxyXG4gICAgICAgIHRoaXMubW9kZWwuc3RlcHMuZm9yRWFjaChzID0+IHRoaXMuc3RlcHMucHVzaCh0aGlzLl9zdGVwZm9ybShzKSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pKTtcclxuICB9XHJcbiAgYWRkKCkge1xyXG4gICAgdGhpcy5zdGVwcy5wdXNoKHRoaXMuX3N0ZXBmb3JtKCkpO1xyXG4gIH1cclxuICByZW1vdmUoaW5kZXgpIHtcclxuICAgIHRoaXMuc3RlcHMucmVtb3ZlQXQoaW5kZXgpO1xyXG4gIH1cclxuICBwcml2YXRlIF9zdGVwZm9ybShzdGVwPzogR3VpZGVTdGVwKTogYW55IHtcclxuICAgIHJldHVybiB0aGlzLl9mYi5ncm91cCh7XHJcbiAgICAgIGNvbnRlbnQ6IHN0ZXA/LmNvbnRlbnQsXHJcbiAgICAgIHRpdGxlOiBzdGVwPy50aXRsZSxcclxuICAgICAgc2VsZWN0b3I6IHN0ZXA/LnNlbGVjdG9yLFxyXG4gICAgICBwb3NpdGlvbjogc3RlcD8ucG9zaXRpb24sXHJcbiAgICB9KVxyXG4gIH1cclxufVxyXG4iLCI8Yml6ZG9jLWRlc2lnbmVyLWVsZW1lbnQgW2Zvcm1dPVwiZm9ybVwiPlxyXG4gIDxuZy10ZW1wbGF0ZSBiaXpkb2NDb250ZW50PlxyXG4gICAgPCEtLTx0YWJsZSBjbGFzcz1cIm1hdC10YWJsZVwiPlxyXG4gICAgICA8dHIgY2xhc3M9XCJtYXQtcm93XCIgKm5nRm9yPVwibGV0IHMgb2YgbW9kZWwuc3RlcHNcIj5cclxuICAgICAgICA8dGQgY2xhc3M9XCJtYXQtY2VsbFwiPnt7cy50aXRsZX19PC90ZD5cclxuICAgICAgPC90cj5cclxuICAgIDwvdGFibGU+LS0+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuICA8bmctdGVtcGxhdGUgYml6ZG9jRWRpdENvbnRlbnQ+XHJcbiAgICA8Zm9ybSBhdXRvY29tcGxldGU9XCJvZmZcIiBbZm9ybUdyb3VwXT1cImZvcm1cIiBjbGFzcz1cImNvbHVtblwiPlxyXG4gICAgICA8aDIgY2xhc3M9XCJtYXQtdGl0bGVcIj57eydTdGVwcyd8dHJhbnNsYXRlfX08L2gyPlxyXG4gICAgICA8ZGl2IGZvcm1BcnJheU5hbWU9XCJzdGVwc1wiIGNsYXNzPVwiY29sdW1uXCIgY2RrRHJvcExpc3QgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcm9wKCRldmVudCwgdGhpcy5zdGVwcylcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCIgKm5nRm9yPVwibGV0IHMgb2Ygc3RlcHMuY29udHJvbHM7IGluZGV4IGFzIGluZGV4XCIgW2Zvcm1Hcm91cF09XCJzXCIgY2RrRHJhZz5cclxuICAgICAgICAgIDxtYXQtaWNvbiBjZGtEcmFnSGFuZGxlPmRyYWdfaW5kaWNhdG9yPC9tYXQtaWNvbj5cclxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZsZXhcIj5cclxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eydUaXRsZSd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT1cInRpdGxlXCIgLz5cclxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAmbmJzcDtcclxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZsZXhcIj5cclxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eydDb250ZW50J3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwiY29udGVudFwiIHJlcXVpcmVkIC8+XHJcbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInJlbW92ZShpbmRleClcIiBbYml6ZG9jVG9vbHRpcF09XCInUmVtb3ZlJ3x0cmFuc2xhdGVcIj48bWF0LWljb24+ZGVsZXRlPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJhZGQoKVwiIFtiaXpkb2NUb29sdGlwXT1cIidBZGQnfHRyYW5zbGF0ZVwiPjxtYXQtaWNvbj5hZGQ8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgPC9mb3JtPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbjwvYml6ZG9jLWRlc2lnbmVyLWVsZW1lbnQ+XHJcbiJdfQ==
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VpZGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9jb25maWd1cmF0aW9uLWRlc2lnbmVyL2VsZW1lbnRzL2d1aWRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvYWRtaW4vY29uZmlndXJhdGlvbi1kZXNpZ25lci9lbGVtZW50cy9ndWlkZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRWxELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7Ozs7Ozs7Ozs7OztBQUdoRSxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsNEJBQTRCO0lBRHRFOztRQUVXLFVBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMzQixTQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7WUFDN0IsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1NBQ2xCLENBQUMsQ0FBQztLQWlCSjtJQWhCQyxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSztZQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQzthQUUzQyxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssUUFBUTtZQUN4QixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM1RixDQUFDO0lBQ0QsT0FBTyxDQUFDLElBQWdCO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7WUFDcEIsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPO1lBQ3RCLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSztZQUNsQixRQUFRLEVBQUUsSUFBSSxFQUFFLFFBQVE7WUFDeEIsUUFBUSxFQUFFLElBQUksRUFBRSxRQUFRO1lBQ3hCLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUTtZQUN4QixPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU87U0FDdkIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7aUhBcEJVLG9CQUFvQjtxR0FBcEIsb0JBQW9CLDJFQ0xqQyxrdEdBNkRBOzJGRHhEYSxvQkFBb0I7a0JBRGhDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEd1aWRlU3RlcCB9IGZyb20gXCIuLi8uLi8uLi9jb3JlL21vZGVsc1wiO1xyXG5pbXBvcnQgeyBEZXNpZ25lclR5cGVFbGVtZW50Q29tcG9uZW50IH0gZnJvbSBcIi4uL2Rlc2lnbmVyLmJhc2VcIjtcclxuXHJcbkBDb21wb25lbnQoeyB0ZW1wbGF0ZVVybDogJ2d1aWRlLmNvbXBvbmVudC5odG1sJyB9KVxyXG5leHBvcnQgY2xhc3MgR3VpZGVEZXNpZ25Db21wb25lbnQgZXh0ZW5kcyBEZXNpZ25lclR5cGVFbGVtZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICByZWFkb25seSBzdGVwcyA9IHRoaXMuX2ZiLmFycmF5KFtdKTtcclxuICByZWFkb25seSBmb3JtID0gdGhpcy5fZmIuZ3JvdXAoe1xyXG4gICAgc3RlcHM6IHRoaXMuc3RlcHMsXHJcbiAgfSk7XHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBpZiAoIXRoaXMubW9kZWwuc3RlcHMpIHRoaXMubW9kZWwuc3RlcHMgPSBbXTtcclxuICAgIGVsc2VcclxuICAgICAgaWYgKHRoaXMubW9kZSAhPT0gJ3dpZGdldCcpXHJcbiAgICAgICAgdGhpcy5tb2RlbC5zdGVwcy5mb3JFYWNoKHMgPT4gdGhpcy5zdGVwcy5wdXNoKHRoaXMubmV3U3RlcChzKSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pKTtcclxuICB9XHJcbiAgbmV3U3RlcChzdGVwPzogR3VpZGVTdGVwKTogYW55IHtcclxuICAgIHJldHVybiB0aGlzLl9mYi5ncm91cCh7XHJcbiAgICAgIGNvbnRlbnQ6IHN0ZXA/LmNvbnRlbnQsXHJcbiAgICAgIHRpdGxlOiBzdGVwPy50aXRsZSxcclxuICAgICAgc2VsZWN0b3I6IHN0ZXA/LnNlbGVjdG9yLFxyXG4gICAgICBwb3NpdGlvbjogc3RlcD8ucG9zaXRpb24sXHJcbiAgICAgIG5hdmlnYXRlOiBzdGVwPy5uYXZpZ2F0ZSxcclxuICAgICAgZXhlY3V0ZTogc3RlcD8uZXhlY3V0ZVxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxiaXpkb2MtZGVzaWduZXItZWxlbWVudCBbZm9ybV09XCJmb3JtXCI+XHJcbiAgPG5nLXRlbXBsYXRlIGJpemRvY0VkaXRDb250ZW50PlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInZpZXc7IGVsc2UgbWFpblwiPlxyXG4gICAgICA8aDIgY2xhc3M9XCJtYXQtdGl0bGVcIj57e2NvbnRleHQudGl0bGV8dHJhbnNsYXRlfX08L2gyPlxyXG4gICAgICA8ZGl2IChkb2N1bWVudDprZXlkb3duLmVzY2FwZSk9XCJjbG9zZVZpZXcoJGV2ZW50KVwiICNlbGVtZW50IGNsYXNzPVwiY29sdW1uXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInZpZXc7IGNvbnRleHQ6IGNvbnRleHRcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3cgYWN0aW9uc1wiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cclxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiY2xvc2VWaWV3KClcIiB0eXBlPVwiYnV0dG9uXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ0JhY2snfHRyYW5zbGF0ZVwiPjxtYXQtaWNvbj5rZXlib2FyZF9yZXR1cm48L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbjwvYml6ZG9jLWRlc2lnbmVyLWVsZW1lbnQ+XHJcbjxuZy10ZW1wbGF0ZSAjbWFpbj5cclxuICA8Zm9ybSBhdXRvY29tcGxldGU9XCJvZmZcIiBbZm9ybUdyb3VwXT1cImZvcm1cIiBjbGFzcz1cImNvbHVtblwiPlxyXG4gICAgPGgyIGNsYXNzPVwibWF0LXRpdGxlXCI+e3snU3RlcHMnfHRyYW5zbGF0ZX19PC9oMj5cclxuICAgIDx0YWJsZSBmb3JtQXJyYXlOYW1lPVwic3RlcHNcIiBjbGFzcz1cIm1hdC10YWJsZVwiIGNka0Ryb3BMaXN0IChjZGtEcm9wTGlzdERyb3BwZWQpPVwiZHJvcCgkZXZlbnQsIHRoaXMuc3RlcHMpXCI+XHJcbiAgICAgIDx0ciBjbGFzcz1cIm1hdC1yb3dcIiAqbmdGb3I9XCJsZXQgcyBvZiBzdGVwcy5jb250cm9sczsgaW5kZXggYXMgaW5kZXhcIiBbZm9ybUdyb3VwXT1cInNcIiBjZGtEcmFnPlxyXG4gICAgICAgIDx0ZCBjbGFzcz1cIm1hdC1jZWxsXCI+XHJcbiAgICAgICAgICA8bWF0LWljb24gY2RrRHJhZ0hhbmRsZT5kcmFnX2luZGljYXRvcjwvbWF0LWljb24+XHJcbiAgICAgICAgPC90ZD5cclxuICAgICAgICA8dGQgY2xhc3M9XCJtYXQtY2VsbFwiPlxyXG4gICAgICAgICAge3tzLmdldCgndGl0bGUnKS52YWx1ZSB8fCBzLmdldCgnY29udGVudCcpLnZhbHVlIH19XHJcbiAgICAgICAgPC90ZD5cclxuICAgICAgICA8dGQgY2xhc3M9XCJtYXQtY2VsbFwiPlxyXG4gICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImVkaXQocywgJ1N0ZXAnLCBzdGVwZm9ybSlcIiBbYml6ZG9jVG9vbHRpcF09XCInRWRpdCd8dHJhbnNsYXRlXCI+PG1hdC1pY29uPmVkaXQ8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInN0ZXBzLnJlbW92ZUF0KGluZGV4KVwiIFtiaXpkb2NUb29sdGlwXT1cIidSZW1vdmUnfHRyYW5zbGF0ZVwiPjxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgICAgIDwvdGQ+XHJcbiAgICAgIDwvdHI+XHJcbiAgICA8L3RhYmxlPlxyXG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImFkZChzdGVwcywgbmV3U3RlcCgpLCAnU3RlcHMnLCBzdGVwZm9ybSlcIiBbYml6ZG9jVG9vbHRpcF09XCInQWRkJ3x0cmFuc2xhdGVcIj48bWF0LWljb24+YWRkPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICA8L2Zvcm0+XHJcbjwvbmctdGVtcGxhdGU+XHJcbjxuZy10ZW1wbGF0ZSAjc3RlcGZvcm0gbGV0LWZvcm0+XHJcbiAgPGZvcm0gYXV0b2NvbXBsZXRlPVwib2ZmXCIgW2Zvcm1Hcm91cF09XCJmb3JtXCIgY2xhc3M9XCJjb2x1bW5cIj5cclxuICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZsZXhcIj5cclxuICAgICAgPG1hdC1sYWJlbD57eydUaXRsZSd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT1cInRpdGxlXCIgLz5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJmbGV4XCI+XHJcbiAgICAgIDxtYXQtbGFiZWw+e3snQ29udGVudCd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT1cImNvbnRlbnRcIiByZXF1aXJlZCAvPlxyXG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybS5nZXQoJ2NvbnRlbnQnKS5oYXNFcnJvcigncmVxdWlyZWQnKVwiIFtpbm5lckhUTUxdPVwiJ1JlcXVpcmVkRXJyJ3x0cmFuc2xhdGU6KCdDb250ZW50J3x0cmFuc2xhdGUpXCI+PC9tYXQtZXJyb3I+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZmxleFwiPlxyXG4gICAgICA8bWF0LWxhYmVsPnt7J1NlbGVjdG9yJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwic2VsZWN0b3JcIiAvPlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZsZXhcIj5cclxuICAgICAgPG1hdC1sYWJlbD57eydQb3NpdGlvbid8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwicG9zaXRpb25cIj5cclxuICAgICAgICA8bWF0LW9wdGlvbiB2YWx1ZT1cIkFib3ZlXCI+e3snQWJvdmUnfHRyYW5zbGF0ZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwiU3RhcnRcIj57eydTdGFydCd8dHJhbnNsYXRlfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgPG1hdC1vcHRpb24gdmFsdWU9XCJFbmRcIj57eydFbmQnfHRyYW5zbGF0ZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwiQmVsb3dcIj57eydCZWxvdyd8dHJhbnNsYXRlfX08L21hdC1vcHRpb24+XHJcbiAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8bWF0LXN3aXRjaCBmb3JtQ29udHJvbE5hbWU9XCJleGVjdXRlXCI+e3snRXhlY3V0ZSd8dHJhbnNsYXRlfX08L21hdC1zd2l0Y2g+XHJcbiAgPC9mb3JtPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
@@ -2,7 +2,7 @@ import { __decorate } from "tslib";
2
2
  import { Component } from "@angular/core";
3
3
  import { Validators } from "@angular/forms";
4
4
  import { BizDoc } from "../../../core/decorators";
5
- import { isArray } from "../../../core/functions";
5
+ import { isArray, isString } from "../../../core/functions";
6
6
  import { DesignerCubeElementComponent } from "../designer.base";
7
7
  import * as i0 from "@angular/core";
8
8
  import * as i1 from "@angular/common";
@@ -16,8 +16,7 @@ import * as i8 from "@angular/material/button";
16
16
  import * as i9 from "@angular/material/input";
17
17
  import * as i10 from "@angular/material/icon";
18
18
  import * as i11 from "../../../core/popup/tooltip.directive";
19
- import * as i12 from "../cube-axes-filter.component";
20
- import * as i13 from "../../../core/pipes/translate.pipe";
19
+ import * as i12 from "../../../core/pipes/translate.pipe";
21
20
  let MatrixViewDesignComponent = class MatrixViewDesignComponent extends DesignerCubeElementComponent {
22
21
  constructor() {
23
22
  super(...arguments);
@@ -33,16 +32,30 @@ let MatrixViewDesignComponent = class MatrixViewDesignComponent extends Designer
33
32
  });
34
33
  }
35
34
  ngOnInit() {
36
- if (this.options.sum) {
37
- if (isArray(this.options.sum))
38
- this.options.sum.forEach(s => this.add(s));
39
- else
40
- this.add(this.options.sum);
35
+ if (this.mode !== 'widget') {
36
+ if (isString(this.options.indices))
37
+ this.options.indices = [this.options.indices];
38
+ if (this.options.sum) {
39
+ if (isArray(this.options.sum))
40
+ this.options.sum.forEach(s => this.sum.push(this.newSum(s), { emitEvent: false }));
41
+ else
42
+ this.sum.push(this.newSum(this.options.sum), { emitEvent: false });
43
+ }
44
+ const { cube, xAxis, series, aggregate } = this.form.controls;
45
+ cube.valueChanges.subscribe(() => xAxis.enable({ emitEvent: false }));
46
+ // if (!this.options.xAxis)
47
+ // this.disable('series', 'aggregate');
48
+ // else if (!this.options.series)
49
+ // aggregate.disable({ emitEvent: false });
50
+ // xAxis.valueChanges.subscribe(() =>
51
+ // series.enable({ emitEvent: false }));
52
+ // series.valueChanges.subscribe(() =>
53
+ // aggregate.enable({ emitEvent: false }));
41
54
  }
42
55
  super.ngOnInit();
43
56
  }
44
- add(sum) {
45
- this.sum.push(this._fb.group({
57
+ newSum(sum) {
58
+ return this._fb.group({
46
59
  axis: sum?.axis || 'Series',
47
60
  title: this._fb.control(sum?.title, Validators.required),
48
61
  value: sum?.value || null,
@@ -50,17 +63,17 @@ let MatrixViewDesignComponent = class MatrixViewDesignComponent extends Designer
50
63
  precision: sum?.precision || null,
51
64
  explorable: sum?.explorable || null,
52
65
  calculate: sum?.calculate || 'Sum'
53
- }));
66
+ });
54
67
  }
55
68
  };
56
69
  MatrixViewDesignComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: MatrixViewDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
57
- MatrixViewDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: MatrixViewDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"mode === 'widget'; else edit\">\r\n</ng-container>\r\n<ng-template #edit>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field *ngIf=\"cubes.length>1\">\r\n <mat-label>{{'Cube'|translate}}</mat-label>\r\n <mat-select required (selectionChange)=\"cubeSelected($event)\">\r\n <mat-option *ngFor=\"let c of cubes\" [value]=\"c\">{{c.title || x.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <div class=\"row\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'XAxis'|translate}}</mat-label>\r\n <mat-select formControlName=\"xAxis\" required (selectionChange)=\"xAxisSelected($event)\">\r\n <mat-option *ngFor=\"let x of cube?.axes\" [value]=\"x.name\">{{x.title || x.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" required (selectionChange)=\"seriesSelected($event)\">\r\n <mat-option *ngFor=\"let x of secondaryAxes\" [value]=\"x.name\">{{x.title || x.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"row\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Filters'|translate}}</mat-label>\r\n <mat-select formControlName=\"filters\" multiple (selectionChange)=\"forthSelected($event)\" [disabled]=\"!thirdAxes?.length\">\r\n <mat-option *ngFor=\"let x of thirdAxes\" [value]=\"x.name\">{{x.title || x.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field *ngIf=\"cube?.indices?.length\" class=\"flex\">\r\n <mat-label>{{'Indices'|translate}}</mat-label>\r\n <mat-select formControlName=\"indices\" multiple>\r\n <mat-option *ngFor=\"let x of cube.indices\" [value]=\"x.name\">{{x.title || x.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div><mat-form-field>\r\n <mat-label>{{'Aggregate'|translate}}</mat-label>\r\n <mat-select formControlName=\"aggregate\" multiple [disabled]=\"!forthAxes || forthAxes?.length\">\r\n <mat-option *ngFor=\"let x of forthAxes\" [value]=\"x.name\">{{x.title || x.name}}</mat-option>\r\n </mat-select>\r\n <mat-hint></mat-hint>\r\n </mat-form-field>\r\n <h2 class=\"mat-title\">{{'Summary'|translate}}</h2>\r\n <div formArrayName=\"sum\" class=\"column\" cdkDropList (cdkDropListDropped)=\"drop($event, sum)\">\r\n <div class=\"row\" *ngFor=\"let s of sum.controls; index as index\" [formGroup]=\"s\" cdkDrag>\r\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" required />\r\n </mat-form-field>\r\n &nbsp;\r\n <mat-radio-group formControlName=\"axis\">\r\n <mat-radio-button value=\"XAxis\">{{'XAxis'|translate}}</mat-radio-button>\r\n <mat-radio-button value=\"Series\">{{'Series'|translate}}</mat-radio-button>\r\n </mat-radio-group>\r\n &nbsp;\r\n <mat-form-field>\r\n <mat-label>{{'Calculate'|translate}}</mat-label>\r\n <mat-select formControlName=\"calculate\">\r\n <mat-option>{{'None'|translate}}</mat-option>\r\n <mat-option value=\"Quarter\">{{'Quarter'|translate}}</mat-option>\r\n <mat-option value=\"Year\">{{'Year'|translate}}</mat-option>\r\n <mat-option value=\"Month\">{{'Month'|translate}}</mat-option>\r\n <mat-option value=\"Sum\">{{'Sum'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <button mat-icon-button (click)=\"sum.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\"><mat-icon>delete</mat-icon></button>\r\n </div>\r\n </div>\r\n <button mat-icon-button (click)=\"add()\" [bizdocTooltip]=\"'Add'|translate\"><mat-icon>add</mat-icon></button>\r\n <ng-container *ngIf=\"cube\">\r\n <h2 class=\"mat-title\">{{'Filters'|translate}}</h2>\r\n <bizdoc-designer-cube-filter [cube]=\"cube\" [form]=\"form.get('filters')\" [model]=\"options.filters\"></bizdoc-designer-cube-filter>\r\n </ng-container>\r\n\r\n </form>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i2.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "directive", type: i3.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: i3.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: i3.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "directive", type: i4.MatRadioGroup, selector: "mat-radio-group", exportAs: ["matRadioGroup"] }, { kind: "component", type: i4.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i6.MatLabel, selector: "mat-label" }, { kind: "component", type: i7.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i8.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i9.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: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i11.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "component", type: i12.DesignerCubeFilterComponent, selector: "bizdoc-designer-cube-filter", inputs: ["cube", "model", "form"] }, { kind: "pipe", type: i13.TranslatePipe, name: "translate" }] });
70
+ MatrixViewDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: MatrixViewDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"mode === 'widget'; else edit\">\r\n</ng-container>\r\n<ng-template #edit>\r\n <ng-container *ngIf=\"view; else main\">\r\n <h2 class=\"mat-title\">{{context.title|translate}}</h2>\r\n <div (document:keydown.escape)=\"closeView($event)\" #element class=\"column\">\r\n <ng-container *ngTemplateOutlet=\"view; context: context\"></ng-container>\r\n </div>\r\n <div class=\"row actions\">\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"closeView()\" type=\"button\" [bizdocTooltip]=\"'Back'|translate\"><mat-icon>keyboard_return</mat-icon></button>\r\n </div>\r\n </ng-container>\r\n</ng-template>\r\n<ng-template #main>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field *ngIf=\"cubes.length>1\">\r\n <mat-label>{{'Cube'|translate}}</mat-label>\r\n <mat-select required (selectionChange)=\"cubeSelected($event)\">\r\n <mat-option *ngFor=\"let c of cubes\" [value]=\"c\">{{c.title}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <div class=\"row\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'XAxis'|translate}}</mat-label>\r\n <mat-select formControlName=\"xAxis\" required>\r\n <mat-option *ngFor=\"let a of cube?.axes\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('xAxis').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('XAxis'|translate)\"></mat-error>\r\n </mat-form-field>\r\n &nbsp;\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" required>\r\n <ng-container *ngFor=\"let a of cube.axes\">\r\n <mat-option *ngIf=\"form.get('xAxis').value!==a.name\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('series').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Series'|translate)\"></mat-error>\r\n </mat-form-field>\r\n </div>\r\n <mat-form-field *ngIf=\"cube?.indices?.length\" class=\"flex\">\r\n <mat-label>{{'Indices'|translate}}</mat-label>\r\n <mat-select formControlName=\"indices\" multiple>\r\n <mat-option *ngFor=\"let i of cube.indices\" [value]=\"i.name\">{{i.title}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <div class=\"row\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Filters'|translate}}</mat-label>\r\n <mat-select formControlName=\"filters\" multiple>\r\n <ng-container *ngFor=\"let a of cube?.axes\">\r\n <mat-option *ngIf=\"form.get('xAxis').value !== a.name && form.get('series').value !== a.name\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n &nbsp;\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Aggregate'|translate}}</mat-label>\r\n <mat-select formControlName=\"aggregate\" multiple>\r\n <ng-container *ngFor=\"let a of cube?.axes\">\r\n <mat-option *ngIf=\"form.get('xAxis').value!==a.name && form.get('series').value !== a.name && form.get('filters').value?.indexOf(a.name) < 0\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n <mat-hint></mat-hint>\r\n </mat-form-field>\r\n </div>\r\n <h2 class=\"mat-title\">{{'Summary'|translate}}</h2>\r\n <table class=\"mat-table\" formArrayName=\"sum\" cdkDropList (cdkDropListDropped)=\"drop($event, sum)\">\r\n <tr class=\"mat-row\" *ngFor=\"let s of sum.controls; index as index\" [formGroup]=\"s\" cdkDrag>\r\n <td class=\"mat-cell\">\r\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\r\n </td>\r\n <td class=\"mat-cell\">{{s.get('title').value}}</td>\r\n <td class=\"mat-cell\">\r\n <button mat-icon-button (click)=\"edit(s, 'Summary', sumform)\" [bizdocTooltip]=\"'Edit'|translate\"><mat-icon>edit</mat-icon></button>\r\n <button mat-icon-button (click)=\"sum.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\"><mat-icon>delete</mat-icon></button>\r\n </td>\r\n </tr>\r\n </table>\r\n <button mat-icon-button (click)=\"add(sum, newSum(), 'Summary', sumform)\" [bizdocTooltip]=\"'Add'|translate\"><mat-icon>add</mat-icon></button>\r\n </form>\r\n</ng-template>\r\n<ng-template #sumform let-form>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" required />\r\n </mat-form-field>\r\n <mat-radio-group formControlName=\"axis\">\r\n <mat-radio-button value=\"XAxis\">{{'XAxis'|translate}}</mat-radio-button>\r\n <mat-radio-button value=\"Series\">{{'Series'|translate}}</mat-radio-button>\r\n </mat-radio-group>\r\n <mat-form-field>\r\n <mat-label>{{'Calculate'|translate}}</mat-label>\r\n <mat-select formControlName=\"calculate\">\r\n <mat-option>{{'None'|translate}}</mat-option>\r\n <mat-option value=\"Quarter\">{{'Quarter'|translate}}</mat-option>\r\n <mat-option value=\"Year\">{{'Year'|translate}}</mat-option>\r\n <mat-option value=\"Month\">{{'Month'|translate}}</mat-option>\r\n <mat-option value=\"Sum\">{{'Sum'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </form>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i2.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "directive", type: i3.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: i3.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: i3.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "directive", type: i4.MatRadioGroup, selector: "mat-radio-group", exportAs: ["matRadioGroup"] }, { kind: "component", type: i4.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i6.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i6.MatLabel, selector: "mat-label" }, { kind: "component", type: i7.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i8.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i9.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: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i11.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i12.TranslatePipe, name: "translate" }] });
58
71
  MatrixViewDesignComponent = __decorate([
59
72
  BizDoc({ selector: 'matrix-view-designer' })
60
73
  ], MatrixViewDesignComponent);
61
74
  export { MatrixViewDesignComponent };
62
75
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: MatrixViewDesignComponent, decorators: [{
63
76
  type: Component,
64
- args: [{ template: "<ng-container *ngIf=\"mode === 'widget'; else edit\">\r\n</ng-container>\r\n<ng-template #edit>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field *ngIf=\"cubes.length>1\">\r\n <mat-label>{{'Cube'|translate}}</mat-label>\r\n <mat-select required (selectionChange)=\"cubeSelected($event)\">\r\n <mat-option *ngFor=\"let c of cubes\" [value]=\"c\">{{c.title || x.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <div class=\"row\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'XAxis'|translate}}</mat-label>\r\n <mat-select formControlName=\"xAxis\" required (selectionChange)=\"xAxisSelected($event)\">\r\n <mat-option *ngFor=\"let x of cube?.axes\" [value]=\"x.name\">{{x.title || x.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" required (selectionChange)=\"seriesSelected($event)\">\r\n <mat-option *ngFor=\"let x of secondaryAxes\" [value]=\"x.name\">{{x.title || x.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"row\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Filters'|translate}}</mat-label>\r\n <mat-select formControlName=\"filters\" multiple (selectionChange)=\"forthSelected($event)\" [disabled]=\"!thirdAxes?.length\">\r\n <mat-option *ngFor=\"let x of thirdAxes\" [value]=\"x.name\">{{x.title || x.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field *ngIf=\"cube?.indices?.length\" class=\"flex\">\r\n <mat-label>{{'Indices'|translate}}</mat-label>\r\n <mat-select formControlName=\"indices\" multiple>\r\n <mat-option *ngFor=\"let x of cube.indices\" [value]=\"x.name\">{{x.title || x.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div><mat-form-field>\r\n <mat-label>{{'Aggregate'|translate}}</mat-label>\r\n <mat-select formControlName=\"aggregate\" multiple [disabled]=\"!forthAxes || forthAxes?.length\">\r\n <mat-option *ngFor=\"let x of forthAxes\" [value]=\"x.name\">{{x.title || x.name}}</mat-option>\r\n </mat-select>\r\n <mat-hint></mat-hint>\r\n </mat-form-field>\r\n <h2 class=\"mat-title\">{{'Summary'|translate}}</h2>\r\n <div formArrayName=\"sum\" class=\"column\" cdkDropList (cdkDropListDropped)=\"drop($event, sum)\">\r\n <div class=\"row\" *ngFor=\"let s of sum.controls; index as index\" [formGroup]=\"s\" cdkDrag>\r\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" required />\r\n </mat-form-field>\r\n &nbsp;\r\n <mat-radio-group formControlName=\"axis\">\r\n <mat-radio-button value=\"XAxis\">{{'XAxis'|translate}}</mat-radio-button>\r\n <mat-radio-button value=\"Series\">{{'Series'|translate}}</mat-radio-button>\r\n </mat-radio-group>\r\n &nbsp;\r\n <mat-form-field>\r\n <mat-label>{{'Calculate'|translate}}</mat-label>\r\n <mat-select formControlName=\"calculate\">\r\n <mat-option>{{'None'|translate}}</mat-option>\r\n <mat-option value=\"Quarter\">{{'Quarter'|translate}}</mat-option>\r\n <mat-option value=\"Year\">{{'Year'|translate}}</mat-option>\r\n <mat-option value=\"Month\">{{'Month'|translate}}</mat-option>\r\n <mat-option value=\"Sum\">{{'Sum'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <button mat-icon-button (click)=\"sum.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\"><mat-icon>delete</mat-icon></button>\r\n </div>\r\n </div>\r\n <button mat-icon-button (click)=\"add()\" [bizdocTooltip]=\"'Add'|translate\"><mat-icon>add</mat-icon></button>\r\n <ng-container *ngIf=\"cube\">\r\n <h2 class=\"mat-title\">{{'Filters'|translate}}</h2>\r\n <bizdoc-designer-cube-filter [cube]=\"cube\" [form]=\"form.get('filters')\" [model]=\"options.filters\"></bizdoc-designer-cube-filter>\r\n </ng-container>\r\n\r\n </form>\r\n</ng-template>\r\n" }]
77
+ args: [{ template: "<ng-container *ngIf=\"mode === 'widget'; else edit\">\r\n</ng-container>\r\n<ng-template #edit>\r\n <ng-container *ngIf=\"view; else main\">\r\n <h2 class=\"mat-title\">{{context.title|translate}}</h2>\r\n <div (document:keydown.escape)=\"closeView($event)\" #element class=\"column\">\r\n <ng-container *ngTemplateOutlet=\"view; context: context\"></ng-container>\r\n </div>\r\n <div class=\"row actions\">\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"closeView()\" type=\"button\" [bizdocTooltip]=\"'Back'|translate\"><mat-icon>keyboard_return</mat-icon></button>\r\n </div>\r\n </ng-container>\r\n</ng-template>\r\n<ng-template #main>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field *ngIf=\"cubes.length>1\">\r\n <mat-label>{{'Cube'|translate}}</mat-label>\r\n <mat-select required (selectionChange)=\"cubeSelected($event)\">\r\n <mat-option *ngFor=\"let c of cubes\" [value]=\"c\">{{c.title}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <div class=\"row\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'XAxis'|translate}}</mat-label>\r\n <mat-select formControlName=\"xAxis\" required>\r\n <mat-option *ngFor=\"let a of cube?.axes\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('xAxis').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('XAxis'|translate)\"></mat-error>\r\n </mat-form-field>\r\n &nbsp;\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" required>\r\n <ng-container *ngFor=\"let a of cube.axes\">\r\n <mat-option *ngIf=\"form.get('xAxis').value!==a.name\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('series').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Series'|translate)\"></mat-error>\r\n </mat-form-field>\r\n </div>\r\n <mat-form-field *ngIf=\"cube?.indices?.length\" class=\"flex\">\r\n <mat-label>{{'Indices'|translate}}</mat-label>\r\n <mat-select formControlName=\"indices\" multiple>\r\n <mat-option *ngFor=\"let i of cube.indices\" [value]=\"i.name\">{{i.title}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <div class=\"row\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Filters'|translate}}</mat-label>\r\n <mat-select formControlName=\"filters\" multiple>\r\n <ng-container *ngFor=\"let a of cube?.axes\">\r\n <mat-option *ngIf=\"form.get('xAxis').value !== a.name && form.get('series').value !== a.name\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n &nbsp;\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Aggregate'|translate}}</mat-label>\r\n <mat-select formControlName=\"aggregate\" multiple>\r\n <ng-container *ngFor=\"let a of cube?.axes\">\r\n <mat-option *ngIf=\"form.get('xAxis').value!==a.name && form.get('series').value !== a.name && form.get('filters').value?.indexOf(a.name) < 0\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n <mat-hint></mat-hint>\r\n </mat-form-field>\r\n </div>\r\n <h2 class=\"mat-title\">{{'Summary'|translate}}</h2>\r\n <table class=\"mat-table\" formArrayName=\"sum\" cdkDropList (cdkDropListDropped)=\"drop($event, sum)\">\r\n <tr class=\"mat-row\" *ngFor=\"let s of sum.controls; index as index\" [formGroup]=\"s\" cdkDrag>\r\n <td class=\"mat-cell\">\r\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\r\n </td>\r\n <td class=\"mat-cell\">{{s.get('title').value}}</td>\r\n <td class=\"mat-cell\">\r\n <button mat-icon-button (click)=\"edit(s, 'Summary', sumform)\" [bizdocTooltip]=\"'Edit'|translate\"><mat-icon>edit</mat-icon></button>\r\n <button mat-icon-button (click)=\"sum.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\"><mat-icon>delete</mat-icon></button>\r\n </td>\r\n </tr>\r\n </table>\r\n <button mat-icon-button (click)=\"add(sum, newSum(), 'Summary', sumform)\" [bizdocTooltip]=\"'Add'|translate\"><mat-icon>add</mat-icon></button>\r\n </form>\r\n</ng-template>\r\n<ng-template #sumform let-form>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" required />\r\n </mat-form-field>\r\n <mat-radio-group formControlName=\"axis\">\r\n <mat-radio-button value=\"XAxis\">{{'XAxis'|translate}}</mat-radio-button>\r\n <mat-radio-button value=\"Series\">{{'Series'|translate}}</mat-radio-button>\r\n </mat-radio-group>\r\n <mat-form-field>\r\n <mat-label>{{'Calculate'|translate}}</mat-label>\r\n <mat-select formControlName=\"calculate\">\r\n <mat-option>{{'None'|translate}}</mat-option>\r\n <mat-option value=\"Quarter\">{{'Quarter'|translate}}</mat-option>\r\n <mat-option value=\"Year\">{{'Year'|translate}}</mat-option>\r\n <mat-option value=\"Month\">{{'Month'|translate}}</mat-option>\r\n <mat-option value=\"Sum\">{{'Sum'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </form>\r\n</ng-template>\r\n" }]
65
78
  }] });
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0cml4LXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9jb25maWd1cmF0aW9uLWRlc2lnbmVyL2VsZW1lbnRzL21hdHJpeC12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvYWRtaW4vY29uZmlndXJhdGlvbi1kZXNpZ25lci9lbGVtZW50cy9tYXRyaXgtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUdsRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0lBSW5ELHlCQUF5QixTQUF6Qix5QkFBMEIsU0FBUSw0QkFBaUQ7OztRQUNyRixRQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDekIsU0FBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO1lBQzdCLElBQUksRUFBRSxJQUFJO1lBQ1YsS0FBSyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ2xELE1BQU0sRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUNuRCxPQUFPLEVBQUUsSUFBSTtZQUNiLFNBQVMsRUFBRSxJQUFJO1lBQ2YsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHO1lBQ2IsT0FBTyxFQUFFLElBQUk7U0FDZCxDQUFDLENBQUM7S0FxQko7SUFwQkMsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUU7WUFDcEIsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzs7Z0JBRTNDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUM5QjtRQUNELEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBQ0QsR0FBRyxDQUFDLEdBQWlCO1FBQ25CLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO1lBQzNCLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxJQUFJLFFBQVE7WUFDM0IsS0FBSyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUN4RCxLQUFLLEVBQUUsR0FBRyxFQUFFLEtBQUssSUFBSSxJQUFJO1lBQ3pCLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxJQUFJLFVBQVU7WUFDakMsU0FBUyxFQUFFLEdBQUcsRUFBRSxTQUFTLElBQUUsSUFBSTtZQUMvQixVQUFVLEVBQUUsR0FBRyxFQUFFLFVBQVUsSUFBSSxJQUFJO1lBQ25DLFNBQVMsRUFBRSxHQUFHLEVBQUUsU0FBUyxJQUFJLEtBQUs7U0FDbkMsQ0FBUSxDQUFDLENBQUM7SUFDYixDQUFDO0NBQ0YsQ0FBQTtzSEEvQlkseUJBQXlCOzBHQUF6Qix5QkFBeUIsMkVDVnRDLHMwSUErRUE7QURyRWEseUJBQXlCO0lBRHJDLE1BQU0sQ0FBQyxFQUFFLFFBQVEsRUFBRSxzQkFBc0IsRUFBRSxDQUFDO0dBQ2hDLHlCQUF5QixDQStCckM7U0EvQlkseUJBQXlCOzJGQUF6Qix5QkFBeUI7a0JBRnJDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFZhbGlkYXRvcnMgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgQml6RG9jIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvZGVjb3JhdG9yc1wiO1xyXG5pbXBvcnQgeyBpc0FycmF5IH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvZnVuY3Rpb25zXCI7XHJcbmltcG9ydCB7IFN1bVNldHRpbmdzIH0gZnJvbSBcIi4uLy4uLy4uL2N1YmUvbWF0cml4L3RhYmxlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBNYXRyaXhTZXR0aW5nc01vZGVsIH0gZnJvbSBcIi4uLy4uLy4uL3ZpZXdzL2N1YmUvbWF0cml4LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBEZXNpZ25lckN1YmVFbGVtZW50Q29tcG9uZW50IH0gZnJvbSBcIi4uL2Rlc2lnbmVyLmJhc2VcIjtcclxuXHJcbkBDb21wb25lbnQoeyB0ZW1wbGF0ZVVybDogJ21hdHJpeC12aWV3LmNvbXBvbmVudC5odG1sJyB9KVxyXG5AQml6RG9jKHsgc2VsZWN0b3I6ICdtYXRyaXgtdmlldy1kZXNpZ25lcicgfSlcclxuZXhwb3J0IGNsYXNzIE1hdHJpeFZpZXdEZXNpZ25Db21wb25lbnQgZXh0ZW5kcyBEZXNpZ25lckN1YmVFbGVtZW50Q29tcG9uZW50PE1hdHJpeFNldHRpbmdzTW9kZWw+IGltcGxlbWVudHMgT25Jbml0IHtcclxuICByZWFkb25seSBzdW0gPSB0aGlzLl9mYi5hcnJheShbXSk7XHJcbiAgcmVhZG9ubHkgZm9ybSA9IHRoaXMuX2ZiLmdyb3VwKHtcclxuICAgIGN1YmU6IG51bGwsXHJcbiAgICB4QXhpczogdGhpcy5fZmIuY29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcclxuICAgIHNlcmllczogdGhpcy5fZmIuY29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcclxuICAgIGluZGljZXM6IG51bGwsXHJcbiAgICBhZ2dyZWdhdGU6IG51bGwsXHJcbiAgICBzdW06IHRoaXMuc3VtLFxyXG4gICAgZmlsdGVyczogbnVsbCxcclxuICB9KTtcclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGlmICh0aGlzLm9wdGlvbnMuc3VtKSB7XHJcbiAgICAgIGlmIChpc0FycmF5KHRoaXMub3B0aW9ucy5zdW0pKVxyXG4gICAgICAgIHRoaXMub3B0aW9ucy5zdW0uZm9yRWFjaChzID0+IHRoaXMuYWRkKHMpKTtcclxuICAgICAgZWxzZVxyXG4gICAgICAgIHRoaXMuYWRkKHRoaXMub3B0aW9ucy5zdW0pO1xyXG4gICAgfVxyXG4gICAgc3VwZXIubmdPbkluaXQoKTtcclxuICB9XHJcbiAgYWRkKHN1bT86IFN1bVNldHRpbmdzKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1bS5wdXNoKHRoaXMuX2ZiLmdyb3VwKHtcclxuICAgICAgYXhpczogc3VtPy5heGlzIHx8ICdTZXJpZXMnLFxyXG4gICAgICB0aXRsZTogdGhpcy5fZmIuY29udHJvbChzdW0/LnRpdGxlLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcclxuICAgICAgdmFsdWU6IHN1bT8udmFsdWUgfHwgbnVsbCxcclxuICAgICAgZm9ybWF0OiBzdW0/LmZvcm1hdCB8fCAnQ3VycmVuY3knLFxyXG4gICAgICBwcmVjaXNpb246IHN1bT8ucHJlY2lzaW9ufHxudWxsLFxyXG4gICAgICBleHBsb3JhYmxlOiBzdW0/LmV4cGxvcmFibGUgfHwgbnVsbCxcclxuICAgICAgY2FsY3VsYXRlOiBzdW0/LmNhbGN1bGF0ZSB8fCAnU3VtJ1xyXG4gICAgfSkgYXMgYW55KTtcclxuICB9XHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1vZGUgPT09ICd3aWRnZXQnOyBlbHNlIGVkaXRcIj5cclxuPC9uZy1jb250YWluZXI+XHJcbjxuZy10ZW1wbGF0ZSAjZWRpdD5cclxuICA8Zm9ybSBhdXRvY29tcGxldGU9XCJvZmZcIiBbZm9ybUdyb3VwXT1cImZvcm1cIiBjbGFzcz1cImNvbHVtblwiPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkICpuZ0lmPVwiY3ViZXMubGVuZ3RoPjFcIj5cclxuICAgICAgPG1hdC1sYWJlbD57eydDdWJlJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICA8bWF0LXNlbGVjdCByZXF1aXJlZCAoc2VsZWN0aW9uQ2hhbmdlKT1cImN1YmVTZWxlY3RlZCgkZXZlbnQpXCI+XHJcbiAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGMgb2YgY3ViZXNcIiBbdmFsdWVdPVwiY1wiPnt7Yy50aXRsZSB8fCB4Lm5hbWV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZmxleFwiPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+e3snWEF4aXMnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwieEF4aXNcIiByZXF1aXJlZCAoc2VsZWN0aW9uQ2hhbmdlKT1cInhBeGlzU2VsZWN0ZWQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IHggb2YgY3ViZT8uYXhlc1wiIFt2YWx1ZV09XCJ4Lm5hbWVcIj57e3gudGl0bGUgfHwgeC5uYW1lfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJmbGV4XCI+XHJcbiAgICAgICAgPG1hdC1sYWJlbD57eydTZXJpZXMnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwic2VyaWVzXCIgcmVxdWlyZWQgKHNlbGVjdGlvbkNoYW5nZSk9XCJzZXJpZXNTZWxlY3RlZCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgeCBvZiBzZWNvbmRhcnlBeGVzXCIgW3ZhbHVlXT1cIngubmFtZVwiPnt7eC50aXRsZSB8fCB4Lm5hbWV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZmxleFwiPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+e3snRmlsdGVycyd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJmaWx0ZXJzXCIgbXVsdGlwbGUgKHNlbGVjdGlvbkNoYW5nZSk9XCJmb3J0aFNlbGVjdGVkKCRldmVudClcIiBbZGlzYWJsZWRdPVwiIXRoaXJkQXhlcz8ubGVuZ3RoXCI+XHJcbiAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgeCBvZiB0aGlyZEF4ZXNcIiBbdmFsdWVdPVwieC5uYW1lXCI+e3t4LnRpdGxlIHx8IHgubmFtZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkICpuZ0lmPVwiY3ViZT8uaW5kaWNlcz8ubGVuZ3RoXCIgY2xhc3M9XCJmbGV4XCI+XHJcbiAgICAgICAgPG1hdC1sYWJlbD57eydJbmRpY2VzJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cImluZGljZXNcIiBtdWx0aXBsZT5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCB4IG9mIGN1YmUuaW5kaWNlc1wiIFt2YWx1ZV09XCJ4Lm5hbWVcIj57e3gudGl0bGUgfHwgeC5uYW1lfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9kaXY+PG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8bWF0LWxhYmVsPnt7J0FnZ3JlZ2F0ZSd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwiYWdncmVnYXRlXCIgbXVsdGlwbGUgW2Rpc2FibGVkXT1cIiFmb3J0aEF4ZXMgfHwgZm9ydGhBeGVzPy5sZW5ndGhcIj5cclxuICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgeCBvZiBmb3J0aEF4ZXNcIiBbdmFsdWVdPVwieC5uYW1lXCI+e3t4LnRpdGxlIHx8IHgubmFtZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgIDxtYXQtaGludD48L21hdC1oaW50PlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDxoMiBjbGFzcz1cIm1hdC10aXRsZVwiPnt7J1N1bW1hcnknfHRyYW5zbGF0ZX19PC9oMj5cclxuICAgIDxkaXYgZm9ybUFycmF5TmFtZT1cInN1bVwiIGNsYXNzPVwiY29sdW1uXCIgY2RrRHJvcExpc3QgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcm9wKCRldmVudCwgc3VtKVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicm93XCIgKm5nRm9yPVwibGV0IHMgb2Ygc3VtLmNvbnRyb2xzOyBpbmRleCBhcyBpbmRleFwiIFtmb3JtR3JvdXBdPVwic1wiIGNka0RyYWc+XHJcbiAgICAgICAgPG1hdC1pY29uIGNka0RyYWdIYW5kbGU+ZHJhZ19pbmRpY2F0b3I8L21hdC1pY29uPlxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZsZXhcIj5cclxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sndGl0bGUnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwidGl0bGVcIiByZXF1aXJlZCAvPlxyXG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgJm5ic3A7XHJcbiAgICAgICAgPG1hdC1yYWRpby1ncm91cCBmb3JtQ29udHJvbE5hbWU9XCJheGlzXCI+XHJcbiAgICAgICAgICA8bWF0LXJhZGlvLWJ1dHRvbiB2YWx1ZT1cIlhBeGlzXCI+e3snWEF4aXMnfHRyYW5zbGF0ZX19PC9tYXQtcmFkaW8tYnV0dG9uPlxyXG4gICAgICAgICAgPG1hdC1yYWRpby1idXR0b24gdmFsdWU9XCJTZXJpZXNcIj57eydTZXJpZXMnfHRyYW5zbGF0ZX19PC9tYXQtcmFkaW8tYnV0dG9uPlxyXG4gICAgICAgIDwvbWF0LXJhZGlvLWdyb3VwPlxyXG4gICAgICAgICZuYnNwO1xyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgIDxtYXQtbGFiZWw+e3snQ2FsY3VsYXRlJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwiY2FsY3VsYXRlXCI+XHJcbiAgICAgICAgICAgIDxtYXQtb3B0aW9uPnt7J05vbmUnfHRyYW5zbGF0ZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgICA8bWF0LW9wdGlvbiB2YWx1ZT1cIlF1YXJ0ZXJcIj57eydRdWFydGVyJ3x0cmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgICAgPG1hdC1vcHRpb24gdmFsdWU9XCJZZWFyXCI+e3snWWVhcid8dHJhbnNsYXRlfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwiTW9udGhcIj57eydNb250aCd8dHJhbnNsYXRlfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwiU3VtXCI+e3snU3VtJ3x0cmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJzdW0ucmVtb3ZlQXQoaW5kZXgpXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ1JlbW92ZSd8dHJhbnNsYXRlXCI+PG1hdC1pY29uPmRlbGV0ZTwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiYWRkKClcIiBbYml6ZG9jVG9vbHRpcF09XCInQWRkJ3x0cmFuc2xhdGVcIj48bWF0LWljb24+YWRkPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjdWJlXCI+XHJcbiAgICAgIDxoMiBjbGFzcz1cIm1hdC10aXRsZVwiPnt7J0ZpbHRlcnMnfHRyYW5zbGF0ZX19PC9oMj5cclxuICAgICAgPGJpemRvYy1kZXNpZ25lci1jdWJlLWZpbHRlciBbY3ViZV09XCJjdWJlXCIgW2Zvcm1dPVwiZm9ybS5nZXQoJ2ZpbHRlcnMnKVwiIFttb2RlbF09XCJvcHRpb25zLmZpbHRlcnNcIj48L2JpemRvYy1kZXNpZ25lci1jdWJlLWZpbHRlcj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICA8L2Zvcm0+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0cml4LXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9jb25maWd1cmF0aW9uLWRlc2lnbmVyL2VsZW1lbnRzL21hdHJpeC12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvYWRtaW4vY29uZmlndXJhdGlvbi1kZXNpZ25lci9lbGVtZW50cy9tYXRyaXgtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBOEMsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUF3QixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUc1RCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7SUFJbkQseUJBQXlCLFNBQXpCLHlCQUEwQixTQUFRLDRCQUFpRDs7O1FBQ3JGLFFBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN6QixTQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7WUFDN0IsSUFBSSxFQUFFLElBQUk7WUFDVixLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDbEQsTUFBTSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ25ELE9BQU8sRUFBRSxJQUFJO1lBQ2IsU0FBUyxFQUFFLElBQUk7WUFDZixHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7WUFDYixPQUFPLEVBQUUsSUFBSTtTQUNkLENBQUMsQ0FBQztLQWtDSjtJQWpDQyxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRTtZQUMxQixJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztnQkFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbEYsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRTtnQkFDcEIsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7b0JBQzNCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDOztvQkFFbkYsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7YUFDdEU7WUFDRCxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDOUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDeEUsNkJBQTZCO1lBQzdCLDBDQUEwQztZQUMxQyxrQ0FBa0M7WUFDbEMsOENBQThDO1lBQzlDLHNDQUFzQztZQUN0QywyQ0FBMkM7WUFDM0MsdUNBQXVDO1lBQ3ZDLDhDQUE4QztTQUM3QztRQUNELEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBQ0QsTUFBTSxDQUFDLEdBQWdCO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7WUFDcEIsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLElBQUksUUFBUTtZQUMzQixLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ3hELEtBQUssRUFBRSxHQUFHLEVBQUUsS0FBSyxJQUFJLElBQUk7WUFDekIsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLElBQUksVUFBVTtZQUNqQyxTQUFTLEVBQUUsR0FBRyxFQUFFLFNBQVMsSUFBSSxJQUFJO1lBQ2pDLFVBQVUsRUFBRSxHQUFHLEVBQUUsVUFBVSxJQUFJLElBQUk7WUFDbkMsU0FBUyxFQUFFLEdBQUcsRUFBRSxTQUFTLElBQUksS0FBSztTQUNuQyxDQUFRLENBQUM7SUFDWixDQUFDO0NBQ0YsQ0FBQTtzSEE1Q1kseUJBQXlCOzBHQUF6Qix5QkFBeUIsMkVDVnRDLDBoTEF5R0E7QUQvRmEseUJBQXlCO0lBRHJDLE1BQU0sQ0FBQyxFQUFFLFFBQVEsRUFBRSxzQkFBc0IsRUFBRSxDQUFDO0dBQ2hDLHlCQUF5QixDQTRDckM7U0E1Q1kseUJBQXlCOzJGQUF6Qix5QkFBeUI7a0JBRnJDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uSW5pdCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZvcm1BcnJheSwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IEJpekRvYyB9IGZyb20gXCIuLi8uLi8uLi9jb3JlL2RlY29yYXRvcnNcIjtcclxuaW1wb3J0IHsgaXNBcnJheSwgaXNTdHJpbmcgfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9mdW5jdGlvbnNcIjtcclxuaW1wb3J0IHsgU3VtU2V0dGluZ3MgfSBmcm9tIFwiLi4vLi4vLi4vY3ViZS9tYXRyaXgvdGFibGUuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IE1hdHJpeFNldHRpbmdzTW9kZWwgfSBmcm9tIFwiLi4vLi4vLi4vdmlld3MvY3ViZS9tYXRyaXguY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IERlc2lnbmVyQ3ViZUVsZW1lbnRDb21wb25lbnQgfSBmcm9tIFwiLi4vZGVzaWduZXIuYmFzZVwiO1xyXG5cclxuQENvbXBvbmVudCh7IHRlbXBsYXRlVXJsOiAnbWF0cml4LXZpZXcuY29tcG9uZW50Lmh0bWwnIH0pXHJcbkBCaXpEb2MoeyBzZWxlY3RvcjogJ21hdHJpeC12aWV3LWRlc2lnbmVyJyB9KVxyXG5leHBvcnQgY2xhc3MgTWF0cml4Vmlld0Rlc2lnbkNvbXBvbmVudCBleHRlbmRzIERlc2lnbmVyQ3ViZUVsZW1lbnRDb21wb25lbnQ8TWF0cml4U2V0dGluZ3NNb2RlbD4gaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHJlYWRvbmx5IHN1bSA9IHRoaXMuX2ZiLmFycmF5KFtdKTtcclxuICByZWFkb25seSBmb3JtID0gdGhpcy5fZmIuZ3JvdXAoe1xyXG4gICAgY3ViZTogbnVsbCxcclxuICAgIHhBeGlzOiB0aGlzLl9mYi5jb250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG4gICAgc2VyaWVzOiB0aGlzLl9mYi5jb250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG4gICAgaW5kaWNlczogbnVsbCxcclxuICAgIGFnZ3JlZ2F0ZTogbnVsbCxcclxuICAgIHN1bTogdGhpcy5zdW0sXHJcbiAgICBmaWx0ZXJzOiBudWxsLFxyXG4gIH0pO1xyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKHRoaXMubW9kZSAhPT0gJ3dpZGdldCcpIHtcclxuICAgICAgaWYgKGlzU3RyaW5nKHRoaXMub3B0aW9ucy5pbmRpY2VzKSkgdGhpcy5vcHRpb25zLmluZGljZXMgPSBbdGhpcy5vcHRpb25zLmluZGljZXNdO1xyXG4gICAgICBpZiAodGhpcy5vcHRpb25zLnN1bSkge1xyXG4gICAgICAgIGlmIChpc0FycmF5KHRoaXMub3B0aW9ucy5zdW0pKVxyXG4gICAgICAgICAgdGhpcy5vcHRpb25zLnN1bS5mb3JFYWNoKHMgPT4gdGhpcy5zdW0ucHVzaCh0aGlzLm5ld1N1bShzKSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pKTtcclxuICAgICAgICBlbHNlXHJcbiAgICAgICAgICB0aGlzLnN1bS5wdXNoKHRoaXMubmV3U3VtKHRoaXMub3B0aW9ucy5zdW0pLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgeyBjdWJlLCB4QXhpcywgc2VyaWVzLCBhZ2dyZWdhdGUgfSA9IHRoaXMuZm9ybS5jb250cm9scztcclxuICAgICAgY3ViZS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHhBeGlzLmVuYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSkpO1xyXG4gICAgLy8gIGlmICghdGhpcy5vcHRpb25zLnhBeGlzKSBcclxuICAgIC8vICAgIHRoaXMuZGlzYWJsZSgnc2VyaWVzJywgJ2FnZ3JlZ2F0ZScpO1xyXG4gICAgLy8gIGVsc2UgaWYgKCF0aGlzLm9wdGlvbnMuc2VyaWVzKVxyXG4gICAgLy8gICAgYWdncmVnYXRlLmRpc2FibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG4gICAgLy8gIHhBeGlzLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT5cclxuICAgIC8vICAgIHNlcmllcy5lbmFibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pKTtcclxuICAgIC8vICBzZXJpZXMudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PlxyXG4gICAgLy8gICAgYWdncmVnYXRlLmVuYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSkpO1xyXG4gICAgfVxyXG4gICAgc3VwZXIubmdPbkluaXQoKTtcclxuICB9XHJcbiAgbmV3U3VtKHN1bTogU3VtU2V0dGluZ3MpIHtcclxuICAgIHJldHVybiB0aGlzLl9mYi5ncm91cCh7XHJcbiAgICAgIGF4aXM6IHN1bT8uYXhpcyB8fCAnU2VyaWVzJyxcclxuICAgICAgdGl0bGU6IHRoaXMuX2ZiLmNvbnRyb2woc3VtPy50aXRsZSwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXHJcbiAgICAgIHZhbHVlOiBzdW0/LnZhbHVlIHx8IG51bGwsXHJcbiAgICAgIGZvcm1hdDogc3VtPy5mb3JtYXQgfHwgJ0N1cnJlbmN5JyxcclxuICAgICAgcHJlY2lzaW9uOiBzdW0/LnByZWNpc2lvbiB8fCBudWxsLFxyXG4gICAgICBleHBsb3JhYmxlOiBzdW0/LmV4cGxvcmFibGUgfHwgbnVsbCxcclxuICAgICAgY2FsY3VsYXRlOiBzdW0/LmNhbGN1bGF0ZSB8fCAnU3VtJ1xyXG4gICAgfSkgYXMgYW55O1xyXG4gIH1cclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwibW9kZSA9PT0gJ3dpZGdldCc7IGVsc2UgZWRpdFwiPlxyXG48L25nLWNvbnRhaW5lcj5cclxuPG5nLXRlbXBsYXRlICNlZGl0PlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJ2aWV3OyBlbHNlIG1haW5cIj5cclxuICAgIDxoMiBjbGFzcz1cIm1hdC10aXRsZVwiPnt7Y29udGV4dC50aXRsZXx0cmFuc2xhdGV9fTwvaDI+XHJcbiAgICA8ZGl2IChkb2N1bWVudDprZXlkb3duLmVzY2FwZSk9XCJjbG9zZVZpZXcoJGV2ZW50KVwiICNlbGVtZW50IGNsYXNzPVwiY29sdW1uXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ2aWV3OyBjb250ZXh0OiBjb250ZXh0XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJyb3cgYWN0aW9uc1wiPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XHJcbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJjbG9zZVZpZXcoKVwiIHR5cGU9XCJidXR0b25cIiBbYml6ZG9jVG9vbHRpcF09XCInQmFjayd8dHJhbnNsYXRlXCI+PG1hdC1pY29uPmtleWJvYXJkX3JldHVybjwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuPG5nLXRlbXBsYXRlICNtYWluPlxyXG4gIDxmb3JtIGF1dG9jb21wbGV0ZT1cIm9mZlwiIFtmb3JtR3JvdXBdPVwiZm9ybVwiIGNsYXNzPVwiY29sdW1uXCI+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQgKm5nSWY9XCJjdWJlcy5sZW5ndGg+MVwiPlxyXG4gICAgICA8bWF0LWxhYmVsPnt7J0N1YmUnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgICAgIDxtYXQtc2VsZWN0IHJlcXVpcmVkIChzZWxlY3Rpb25DaGFuZ2UpPVwiY3ViZVNlbGVjdGVkKCRldmVudClcIj5cclxuICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgYyBvZiBjdWJlc1wiIFt2YWx1ZV09XCJjXCI+e3tjLnRpdGxlfX08L21hdC1vcHRpb24+XHJcbiAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZsZXhcIj5cclxuICAgICAgICA8bWF0LWxhYmVsPnt7J1hBeGlzJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cInhBeGlzXCIgcmVxdWlyZWQ+XHJcbiAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgYSBvZiBjdWJlPy5heGVzXCIgW3ZhbHVlXT1cImEubmFtZVwiPnt7YS50aXRsZSB9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm0uZ2V0KCd4QXhpcycpLmhhc0Vycm9yKCdyZXF1aXJlZCcpXCIgW2lubmVySFRNTF09XCInUmVxdWlyZWRFcnInfHRyYW5zbGF0ZTooJ1hBeGlzJ3x0cmFuc2xhdGUpXCI+PC9tYXQtZXJyb3I+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICZuYnNwO1xyXG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJmbGV4XCI+XHJcbiAgICAgICAgPG1hdC1sYWJlbD57eydTZXJpZXMnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwic2VyaWVzXCIgcmVxdWlyZWQ+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBhIG9mIGN1YmUuYXhlc1wiPlxyXG4gICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdJZj1cImZvcm0uZ2V0KCd4QXhpcycpLnZhbHVlIT09YS5uYW1lXCIgW3ZhbHVlXT1cImEubmFtZVwiPnt7YS50aXRsZSB9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybS5nZXQoJ3NlcmllcycpLmhhc0Vycm9yKCdyZXF1aXJlZCcpXCIgW2lubmVySFRNTF09XCInUmVxdWlyZWRFcnInfHRyYW5zbGF0ZTooJ1Nlcmllcyd8dHJhbnNsYXRlKVwiPjwvbWF0LWVycm9yPlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQgKm5nSWY9XCJjdWJlPy5pbmRpY2VzPy5sZW5ndGhcIiBjbGFzcz1cImZsZXhcIj5cclxuICAgICAgPG1hdC1sYWJlbD57eydJbmRpY2VzJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJpbmRpY2VzXCIgbXVsdGlwbGU+XHJcbiAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGkgb2YgY3ViZS5pbmRpY2VzXCIgW3ZhbHVlXT1cImkubmFtZVwiPnt7aS50aXRsZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJmbGV4XCI+XHJcbiAgICAgICAgPG1hdC1sYWJlbD57eydGaWx0ZXJzJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cImZpbHRlcnNcIiBtdWx0aXBsZT5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGEgb2YgY3ViZT8uYXhlc1wiPlxyXG4gICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdJZj1cImZvcm0uZ2V0KCd4QXhpcycpLnZhbHVlICE9PSBhLm5hbWUgJiYgZm9ybS5nZXQoJ3NlcmllcycpLnZhbHVlICE9PSBhLm5hbWVcIiBbdmFsdWVdPVwiYS5uYW1lXCI+e3thLnRpdGxlIH19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAmbmJzcDtcclxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZmxleFwiPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+e3snQWdncmVnYXRlJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cImFnZ3JlZ2F0ZVwiIG11bHRpcGxlPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYSBvZiBjdWJlPy5heGVzXCI+XHJcbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0lmPVwiZm9ybS5nZXQoJ3hBeGlzJykudmFsdWUhPT1hLm5hbWUgJiYgZm9ybS5nZXQoJ3NlcmllcycpLnZhbHVlICE9PSBhLm5hbWUgJiYgZm9ybS5nZXQoJ2ZpbHRlcnMnKS52YWx1ZT8uaW5kZXhPZihhLm5hbWUpIDwgMFwiIFt2YWx1ZV09XCJhLm5hbWVcIj57e2EudGl0bGUgfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgICAgPG1hdC1oaW50PjwvbWF0LWhpbnQ+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxoMiBjbGFzcz1cIm1hdC10aXRsZVwiPnt7J1N1bW1hcnknfHRyYW5zbGF0ZX19PC9oMj5cclxuICAgIDx0YWJsZSBjbGFzcz1cIm1hdC10YWJsZVwiIGZvcm1BcnJheU5hbWU9XCJzdW1cIiBjZGtEcm9wTGlzdCAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3AoJGV2ZW50LCBzdW0pXCI+XHJcbiAgICAgIDx0ciBjbGFzcz1cIm1hdC1yb3dcIiAqbmdGb3I9XCJsZXQgcyBvZiBzdW0uY29udHJvbHM7IGluZGV4IGFzIGluZGV4XCIgW2Zvcm1Hcm91cF09XCJzXCIgY2RrRHJhZz5cclxuICAgICAgICA8dGQgY2xhc3M9XCJtYXQtY2VsbFwiPlxyXG4gICAgICAgICAgPG1hdC1pY29uIGNka0RyYWdIYW5kbGU+ZHJhZ19pbmRpY2F0b3I8L21hdC1pY29uPlxyXG4gICAgICAgIDwvdGQ+XHJcbiAgICAgICAgPHRkIGNsYXNzPVwibWF0LWNlbGxcIj57e3MuZ2V0KCd0aXRsZScpLnZhbHVlfX08L3RkPlxyXG4gICAgICAgIDx0ZCBjbGFzcz1cIm1hdC1jZWxsXCI+XHJcbiAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiZWRpdChzLCAnU3VtbWFyeScsIHN1bWZvcm0pXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ0VkaXQnfHRyYW5zbGF0ZVwiPjxtYXQtaWNvbj5lZGl0PC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJzdW0ucmVtb3ZlQXQoaW5kZXgpXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ1JlbW92ZSd8dHJhbnNsYXRlXCI+PG1hdC1pY29uPmRlbGV0ZTwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICAgICAgPC90ZD5cclxuICAgICAgPC90cj5cclxuICAgIDwvdGFibGU+XHJcbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiYWRkKHN1bSwgbmV3U3VtKCksICdTdW1tYXJ5Jywgc3VtZm9ybSlcIiBbYml6ZG9jVG9vbHRpcF09XCInQWRkJ3x0cmFuc2xhdGVcIj48bWF0LWljb24+YWRkPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICA8L2Zvcm0+XHJcbjwvbmctdGVtcGxhdGU+XHJcbjxuZy10ZW1wbGF0ZSAjc3VtZm9ybSBsZXQtZm9ybT5cclxuICA8Zm9ybSBhdXRvY29tcGxldGU9XCJvZmZcIiBbZm9ybUdyb3VwXT1cImZvcm1cIiBjbGFzcz1cImNvbHVtblwiPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZmxleFwiPlxyXG4gICAgICA8bWF0LWxhYmVsPnt7J3RpdGxlJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwidGl0bGVcIiByZXF1aXJlZCAvPlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDxtYXQtcmFkaW8tZ3JvdXAgZm9ybUNvbnRyb2xOYW1lPVwiYXhpc1wiPlxyXG4gICAgICA8bWF0LXJhZGlvLWJ1dHRvbiB2YWx1ZT1cIlhBeGlzXCI+e3snWEF4aXMnfHRyYW5zbGF0ZX19PC9tYXQtcmFkaW8tYnV0dG9uPlxyXG4gICAgICA8bWF0LXJhZGlvLWJ1dHRvbiB2YWx1ZT1cIlNlcmllc1wiPnt7J1Nlcmllcyd8dHJhbnNsYXRlfX08L21hdC1yYWRpby1idXR0b24+XHJcbiAgICA8L21hdC1yYWRpby1ncm91cD5cclxuICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgPG1hdC1sYWJlbD57eydDYWxjdWxhdGUnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cImNhbGN1bGF0ZVwiPlxyXG4gICAgICAgIDxtYXQtb3B0aW9uPnt7J05vbmUnfHRyYW5zbGF0ZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwiUXVhcnRlclwiPnt7J1F1YXJ0ZXInfHRyYW5zbGF0ZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwiWWVhclwiPnt7J1llYXInfHRyYW5zbGF0ZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwiTW9udGhcIj57eydNb250aCd8dHJhbnNsYXRlfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgPG1hdC1vcHRpb24gdmFsdWU9XCJTdW1cIj57eydTdW0nfHRyYW5zbGF0ZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gIDwvZm9ybT5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
@@ -9,9 +9,7 @@ import * as i2 from "@angular/forms";
9
9
  import * as i3 from "@angular/material/core";
10
10
  import * as i4 from "@angular/material/form-field";
11
11
  import * as i5 from "@angular/material/select";
12
- import * as i6 from "../../../cube/parallel/parallel.component";
13
- import * as i7 from "../cube-axes-filter.component";
14
- import * as i8 from "../../../core/pipes/translate.pipe";
12
+ import * as i6 from "../../../core/pipes/translate.pipe";
15
13
  let ParallelViewDesignComponent = class ParallelViewDesignComponent extends DesignerCubeElementComponent {
16
14
  constructor() {
17
15
  super(...arguments);
@@ -20,21 +18,21 @@ let ParallelViewDesignComponent = class ParallelViewDesignComponent extends Desi
20
18
  xAxis: this._fb.control(null, Validators.required),
21
19
  series: this._fb.control(null, Validators.required),
22
20
  indices: null,
23
- filters: this._fb.group({}),
24
- chartType: null,
21
+ filters: null,
22
+ chartType: 'Pie',
25
23
  aggregate: null,
26
24
  scope: null
27
25
  });
28
26
  }
29
27
  };
30
28
  ParallelViewDesignComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: ParallelViewDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
31
- ParallelViewDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: ParallelViewDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"mode === 'widget'; else edit\">\r\n</ng-container>\r\n<ng-template #edit>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field *ngIf=\"cubes.length>1\">\r\n <mat-label>{{'Cube'|translate}}</mat-label>\r\n <mat-select required (selectionChange)=\"cubeSelected($event)\">\r\n <mat-option *ngFor=\"let c of cubes\" [value]=\"c\">{{c.title}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'XAxis'|translate}}</mat-label>\r\n <mat-select formControlName=\"xAxis\" required (selectionChange)=\"xAxisSelected($event)\">\r\n <mat-option *ngFor=\"let x of cube?.axes\" [value]=\"x.name\">{{x.title || x.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" required (selectionChange)=\"seriesSelected($event)\">\r\n <mat-option *ngFor=\"let x of secondaryAxes\" [value]=\"x.name\">{{x.title || x.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field *ngIf=\"cube.indices?.length\">\r\n <mat-label>{{'Indices'|translate}}</mat-label>\r\n <mat-select formControlName=\"indices\" multiple>\r\n <mat-option *ngFor=\"let x of cube.indices\" [value]=\"x.name\">{{x.title || x.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'ChartType'|translate}}</mat-label>\r\n <mat-select formControlName=\"chartType\">\r\n <mat-option value=\"Pie\">{{'Pie'|translate}}</mat-option>\r\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\r\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\r\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Aggregate'|translate}}</mat-label>\r\n <mat-select formControlName=\"aggregate\" multiple [disabled]=\"!thirdAxes || !thirdAxes.length\">\r\n <mat-option *ngFor=\"let x of thirdAxes\" [value]=\"x.name\">{{x.title || x.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <ng-container *ngIf=\"cube\">\r\n <h2 class=\"mat-title\">{{'Filters'|translate}}</h2>\r\n <bizdoc-designer-cube-filter [cube]=\"cube\" [form]=\"form.get('filters')\" [model]=\"options.filters\"></bizdoc-designer-cube-filter>\r\n </ng-container>\r\n </form>\r\n <div>\r\n <bizdoc-cube-parallel *ngIf=\"options.xAxis\" [cube]=\"options.cube\"\r\n [xAxis]=\"options.xAxis\"\r\n [series]=\"options.series\"\r\n [indices]=\"options.indices\"\r\n [filters]=\"options.filters\"\r\n [chartType]=\"options.chartType\"\r\n [scope]=\"options.scope\"\r\n [size]=\"250\"></bizdoc-cube-parallel>\r\n </div>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i3.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "component", type: i5.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i6.CubeParallelComponent, selector: "bizdoc-cube-parallel", inputs: ["filters", "xAxis", "series", "indices", "cube", "size", "chartType", "scope", "palettes"], outputs: ["explore"] }, { kind: "component", type: i7.DesignerCubeFilterComponent, selector: "bizdoc-designer-cube-filter", inputs: ["cube", "model", "form"] }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] });
29
+ ParallelViewDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: ParallelViewDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"mode === 'widget'; else edit\">\r\n</ng-container>\r\n<ng-template #edit>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field *ngIf=\"cubes.length>1\">\r\n <mat-label>{{'Cube'|translate}}</mat-label>\r\n <mat-select required (selectionChange)=\"cubeSelected($event)\">\r\n <mat-option *ngFor=\"let c of cubes\" [value]=\"c\">{{c.title}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'XAxis'|translate}}</mat-label>\r\n <mat-select formControlName=\"xAxis\" required>\r\n <mat-option *ngFor=\"let a of cube?.axes\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('xAxis').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('XAxis'|translate)\"></mat-error>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" required>\r\n <ng-container *ngFor=\"let a of cube.axes\">\r\n <mat-option *ngIf=\"form.get('xAxis').value!==a.name\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('series').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Series'|translate)\"></mat-error>\r\n </mat-form-field>\r\n <mat-form-field *ngIf=\"cube.indices?.length\">\r\n <mat-label>{{'Indices'|translate}}</mat-label>\r\n <mat-select formControlName=\"indices\" multiple>\r\n <mat-option *ngFor=\"let x of cube.indices\" [value]=\"x.name\">{{x.title || x.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'ChartType'|translate}}</mat-label>\r\n <mat-select formControlName=\"chartType\">\r\n <mat-option value=\"Pie\">{{'Pie'|translate}}</mat-option>\r\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\r\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\r\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Aggregate'|translate}}</mat-label>\r\n <mat-select formControlName=\"aggregate\" multiple>\r\n <ng-container *ngFor=\"let a of cube.axes\">\r\n <mat-option *ngIf=\"form.get('xAxis').value!==a.name && form.get('series').value !== a.name && form.get('filters').value?.indexOf(a.name) < 0\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n </form>\r\n <!--<div>\r\n <bizdoc-cube-parallel *ngIf=\"options.xAxis\" [cube]=\"options.cube\"\r\n [xAxis]=\"options.xAxis\"\r\n [series]=\"options.series\"\r\n [indices]=\"options.indices\"\r\n [filters]=\"options.filters\"\r\n [chartType]=\"options.chartType\"\r\n [scope]=\"options.scope\"\r\n [size]=\"250\"></bizdoc-cube-parallel>\r\n </div>-->\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i3.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i4.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "component", type: i5.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
32
30
  ParallelViewDesignComponent = __decorate([
33
31
  BizDoc({ selector: 'parallel-view-designer' })
34
32
  ], ParallelViewDesignComponent);
35
33
  export { ParallelViewDesignComponent };
36
34
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: ParallelViewDesignComponent, decorators: [{
37
35
  type: Component,
38
- args: [{ template: "<ng-container *ngIf=\"mode === 'widget'; else edit\">\r\n</ng-container>\r\n<ng-template #edit>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field *ngIf=\"cubes.length>1\">\r\n <mat-label>{{'Cube'|translate}}</mat-label>\r\n <mat-select required (selectionChange)=\"cubeSelected($event)\">\r\n <mat-option *ngFor=\"let c of cubes\" [value]=\"c\">{{c.title}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'XAxis'|translate}}</mat-label>\r\n <mat-select formControlName=\"xAxis\" required (selectionChange)=\"xAxisSelected($event)\">\r\n <mat-option *ngFor=\"let x of cube?.axes\" [value]=\"x.name\">{{x.title || x.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" required (selectionChange)=\"seriesSelected($event)\">\r\n <mat-option *ngFor=\"let x of secondaryAxes\" [value]=\"x.name\">{{x.title || x.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field *ngIf=\"cube.indices?.length\">\r\n <mat-label>{{'Indices'|translate}}</mat-label>\r\n <mat-select formControlName=\"indices\" multiple>\r\n <mat-option *ngFor=\"let x of cube.indices\" [value]=\"x.name\">{{x.title || x.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'ChartType'|translate}}</mat-label>\r\n <mat-select formControlName=\"chartType\">\r\n <mat-option value=\"Pie\">{{'Pie'|translate}}</mat-option>\r\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\r\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\r\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Aggregate'|translate}}</mat-label>\r\n <mat-select formControlName=\"aggregate\" multiple [disabled]=\"!thirdAxes || !thirdAxes.length\">\r\n <mat-option *ngFor=\"let x of thirdAxes\" [value]=\"x.name\">{{x.title || x.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <ng-container *ngIf=\"cube\">\r\n <h2 class=\"mat-title\">{{'Filters'|translate}}</h2>\r\n <bizdoc-designer-cube-filter [cube]=\"cube\" [form]=\"form.get('filters')\" [model]=\"options.filters\"></bizdoc-designer-cube-filter>\r\n </ng-container>\r\n </form>\r\n <div>\r\n <bizdoc-cube-parallel *ngIf=\"options.xAxis\" [cube]=\"options.cube\"\r\n [xAxis]=\"options.xAxis\"\r\n [series]=\"options.series\"\r\n [indices]=\"options.indices\"\r\n [filters]=\"options.filters\"\r\n [chartType]=\"options.chartType\"\r\n [scope]=\"options.scope\"\r\n [size]=\"250\"></bizdoc-cube-parallel>\r\n </div>\r\n</ng-template>\r\n" }]
36
+ args: [{ template: "<ng-container *ngIf=\"mode === 'widget'; else edit\">\r\n</ng-container>\r\n<ng-template #edit>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field *ngIf=\"cubes.length>1\">\r\n <mat-label>{{'Cube'|translate}}</mat-label>\r\n <mat-select required (selectionChange)=\"cubeSelected($event)\">\r\n <mat-option *ngFor=\"let c of cubes\" [value]=\"c\">{{c.title}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'XAxis'|translate}}</mat-label>\r\n <mat-select formControlName=\"xAxis\" required>\r\n <mat-option *ngFor=\"let a of cube?.axes\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('xAxis').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('XAxis'|translate)\"></mat-error>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" required>\r\n <ng-container *ngFor=\"let a of cube.axes\">\r\n <mat-option *ngIf=\"form.get('xAxis').value!==a.name\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('series').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Series'|translate)\"></mat-error>\r\n </mat-form-field>\r\n <mat-form-field *ngIf=\"cube.indices?.length\">\r\n <mat-label>{{'Indices'|translate}}</mat-label>\r\n <mat-select formControlName=\"indices\" multiple>\r\n <mat-option *ngFor=\"let x of cube.indices\" [value]=\"x.name\">{{x.title || x.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'ChartType'|translate}}</mat-label>\r\n <mat-select formControlName=\"chartType\">\r\n <mat-option value=\"Pie\">{{'Pie'|translate}}</mat-option>\r\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\r\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\r\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Aggregate'|translate}}</mat-label>\r\n <mat-select formControlName=\"aggregate\" multiple>\r\n <ng-container *ngFor=\"let a of cube.axes\">\r\n <mat-option *ngIf=\"form.get('xAxis').value!==a.name && form.get('series').value !== a.name && form.get('filters').value?.indexOf(a.name) < 0\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n </form>\r\n <!--<div>\r\n <bizdoc-cube-parallel *ngIf=\"options.xAxis\" [cube]=\"options.cube\"\r\n [xAxis]=\"options.xAxis\"\r\n [series]=\"options.series\"\r\n [indices]=\"options.indices\"\r\n [filters]=\"options.filters\"\r\n [chartType]=\"options.chartType\"\r\n [scope]=\"options.scope\"\r\n [size]=\"250\"></bizdoc-cube-parallel>\r\n </div>-->\r\n</ng-template>\r\n" }]
39
37
  }] });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYWxsZWwtdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL2NvbmZpZ3VyYXRpb24tZGVzaWduZXIvZWxlbWVudHMvcGFyYWxsZWwtdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL2NvbmZpZ3VyYXRpb24tZGVzaWduZXIvZWxlbWVudHMvcGFyYWxsZWwtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRWxELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7Ozs7Ozs7O0lBSW5ELDJCQUEyQixTQUEzQiwyQkFBNEIsU0FBUSw0QkFBbUQ7OztRQUN6RixTQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7WUFDN0IsSUFBSSxFQUFFLElBQUk7WUFDVixLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDbEQsTUFBTSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ25ELE9BQU8sRUFBRSxJQUFJO1lBQ2IsT0FBTyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMzQixTQUFTLEVBQUUsSUFBSTtZQUNmLFNBQVMsRUFBRSxJQUFJO1lBQ2YsS0FBSyxFQUFFLElBQUk7U0FDWixDQUFDLENBQUM7S0FDSjtDQUFBLENBQUE7d0hBWFksMkJBQTJCOzRHQUEzQiwyQkFBMkIsMkVDUnhDLDhpR0EyREE7QURuRGEsMkJBQTJCO0lBRHZDLE1BQU0sQ0FBQyxFQUFFLFFBQVEsRUFBRSx3QkFBd0IsRUFBRSxDQUFDO0dBQ2xDLDJCQUEyQixDQVd2QztTQVhZLDJCQUEyQjsyRkFBM0IsMkJBQTJCO2tCQUZ2QyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBWYWxpZGF0b3JzIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IEJpekRvYyB9IGZyb20gXCIuLi8uLi8uLi9jb3JlL2RlY29yYXRvcnNcIjtcclxuaW1wb3J0IHsgUGFyYWxsZWxTZXR0aW5nc01vZGVsIH0gZnJvbSBcIi4uLy4uLy4uL3ZpZXdzL2N1YmUvcGFyYWxsZWwuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IERlc2lnbmVyQ3ViZUVsZW1lbnRDb21wb25lbnQgfSBmcm9tIFwiLi4vZGVzaWduZXIuYmFzZVwiO1xyXG5cclxuQENvbXBvbmVudCh7IHRlbXBsYXRlVXJsOiAncGFyYWxsZWwtdmlldy5jb21wb25lbnQuaHRtbCcgfSlcclxuQEJpekRvYyh7IHNlbGVjdG9yOiAncGFyYWxsZWwtdmlldy1kZXNpZ25lcicgfSlcclxuZXhwb3J0IGNsYXNzIFBhcmFsbGVsVmlld0Rlc2lnbkNvbXBvbmVudCBleHRlbmRzIERlc2lnbmVyQ3ViZUVsZW1lbnRDb21wb25lbnQ8UGFyYWxsZWxTZXR0aW5nc01vZGVsPiBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgcmVhZG9ubHkgZm9ybSA9IHRoaXMuX2ZiLmdyb3VwKHtcclxuICAgIGN1YmU6IG51bGwsXHJcbiAgICB4QXhpczogdGhpcy5fZmIuY29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcclxuICAgIHNlcmllczogdGhpcy5fZmIuY29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcclxuICAgIGluZGljZXM6IG51bGwsXHJcbiAgICBmaWx0ZXJzOiB0aGlzLl9mYi5ncm91cCh7fSksXHJcbiAgICBjaGFydFR5cGU6IG51bGwsXHJcbiAgICBhZ2dyZWdhdGU6IG51bGwsXHJcbiAgICBzY29wZTogbnVsbFxyXG4gIH0pO1xyXG59XHJcbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJtb2RlID09PSAnd2lkZ2V0JzsgZWxzZSBlZGl0XCI+XHJcbjwvbmctY29udGFpbmVyPlxyXG48bmctdGVtcGxhdGUgI2VkaXQ+XHJcbiAgPGZvcm0gYXV0b2NvbXBsZXRlPVwib2ZmXCIgW2Zvcm1Hcm91cF09XCJmb3JtXCIgY2xhc3M9XCJjb2x1bW5cIj5cclxuICAgIDxtYXQtZm9ybS1maWVsZCAqbmdJZj1cImN1YmVzLmxlbmd0aD4xXCI+XHJcbiAgICAgIDxtYXQtbGFiZWw+e3snQ3ViZSd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgPG1hdC1zZWxlY3QgcmVxdWlyZWQgKHNlbGVjdGlvbkNoYW5nZSk9XCJjdWJlU2VsZWN0ZWQoJGV2ZW50KVwiPlxyXG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBjIG9mIGN1YmVzXCIgW3ZhbHVlXT1cImNcIj57e2MudGl0bGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgPG1hdC1sYWJlbD57eydYQXhpcyd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwieEF4aXNcIiByZXF1aXJlZCAoc2VsZWN0aW9uQ2hhbmdlKT1cInhBeGlzU2VsZWN0ZWQoJGV2ZW50KVwiPlxyXG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCB4IG9mIGN1YmU/LmF4ZXNcIiBbdmFsdWVdPVwieC5uYW1lXCI+e3t4LnRpdGxlIHx8IHgubmFtZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8bWF0LWxhYmVsPnt7J1Nlcmllcyd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwic2VyaWVzXCIgcmVxdWlyZWQgKHNlbGVjdGlvbkNoYW5nZSk9XCJzZXJpZXNTZWxlY3RlZCgkZXZlbnQpXCI+XHJcbiAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IHggb2Ygc2Vjb25kYXJ5QXhlc1wiIFt2YWx1ZV09XCJ4Lm5hbWVcIj57e3gudGl0bGUgfHwgeC5uYW1lfX08L21hdC1vcHRpb24+XHJcbiAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQgKm5nSWY9XCJjdWJlLmluZGljZXM/Lmxlbmd0aFwiPlxyXG4gICAgICA8bWF0LWxhYmVsPnt7J0luZGljZXMnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cImluZGljZXNcIiBtdWx0aXBsZT5cclxuICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgeCBvZiBjdWJlLmluZGljZXNcIiBbdmFsdWVdPVwieC5uYW1lXCI+e3t4LnRpdGxlIHx8IHgubmFtZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8bWF0LWxhYmVsPnt7J0NoYXJ0VHlwZSd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwiY2hhcnRUeXBlXCI+XHJcbiAgICAgICAgPG1hdC1vcHRpb24gdmFsdWU9XCJQaWVcIj57eydQaWUnfHRyYW5zbGF0ZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwiQ29sdW1uXCI+e3snQ29sdW1uJ3x0cmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICA8bWF0LW9wdGlvbiB2YWx1ZT1cIkxpbmVcIj57eydMaW5lJ3x0cmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICA8bWF0LW9wdGlvbiB2YWx1ZT1cIkFyZWFcIj57eydBcmVhJ3x0cmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgPG1hdC1sYWJlbD57eydBZ2dyZWdhdGUnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cImFnZ3JlZ2F0ZVwiIG11bHRpcGxlIFtkaXNhYmxlZF09XCIhdGhpcmRBeGVzIHx8ICF0aGlyZEF4ZXMubGVuZ3RoXCI+XHJcbiAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IHggb2YgdGhpcmRBeGVzXCIgW3ZhbHVlXT1cIngubmFtZVwiPnt7eC50aXRsZSB8fCB4Lm5hbWV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjdWJlXCI+XHJcbiAgICAgIDxoMiBjbGFzcz1cIm1hdC10aXRsZVwiPnt7J0ZpbHRlcnMnfHRyYW5zbGF0ZX19PC9oMj5cclxuICAgICAgPGJpemRvYy1kZXNpZ25lci1jdWJlLWZpbHRlciBbY3ViZV09XCJjdWJlXCIgW2Zvcm1dPVwiZm9ybS5nZXQoJ2ZpbHRlcnMnKVwiIFttb2RlbF09XCJvcHRpb25zLmZpbHRlcnNcIj48L2JpemRvYy1kZXNpZ25lci1jdWJlLWZpbHRlcj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvZm9ybT5cclxuICA8ZGl2PlxyXG4gICAgPGJpemRvYy1jdWJlLXBhcmFsbGVsICpuZ0lmPVwib3B0aW9ucy54QXhpc1wiIFtjdWJlXT1cIm9wdGlvbnMuY3ViZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3hBeGlzXT1cIm9wdGlvbnMueEF4aXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtzZXJpZXNdPVwib3B0aW9ucy5zZXJpZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtpbmRpY2VzXT1cIm9wdGlvbnMuaW5kaWNlc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZpbHRlcnNdPVwib3B0aW9ucy5maWx0ZXJzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbY2hhcnRUeXBlXT1cIm9wdGlvbnMuY2hhcnRUeXBlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbc2NvcGVdPVwib3B0aW9ucy5zY29wZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3NpemVdPVwiMjUwXCI+PC9iaXpkb2MtY3ViZS1wYXJhbGxlbD5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYWxsZWwtdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL2NvbmZpZ3VyYXRpb24tZGVzaWduZXIvZWxlbWVudHMvcGFyYWxsZWwtdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL2NvbmZpZ3VyYXRpb24tZGVzaWduZXIvZWxlbWVudHMvcGFyYWxsZWwtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRWxELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7Ozs7OztJQUluRCwyQkFBMkIsU0FBM0IsMkJBQTRCLFNBQVEsNEJBQW1EOzs7UUFDekYsU0FBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO1lBQzdCLElBQUksRUFBRSxJQUFJO1lBQ1YsS0FBSyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ2xELE1BQU0sRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUNuRCxPQUFPLEVBQUUsSUFBSTtZQUNiLE9BQU8sRUFBRSxJQUFJO1lBQ2IsU0FBUyxFQUFFLEtBQUs7WUFDaEIsU0FBUyxFQUFFLElBQUk7WUFDZixLQUFLLEVBQUUsSUFBSTtTQUNaLENBQUMsQ0FBQztLQUNKO0NBQUEsQ0FBQTt3SEFYWSwyQkFBMkI7NEdBQTNCLDJCQUEyQiwyRUNSeEMsK3JHQTZEQTtBRHJEYSwyQkFBMkI7SUFEdkMsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFLHdCQUF3QixFQUFFLENBQUM7R0FDbEMsMkJBQTJCLENBV3ZDO1NBWFksMkJBQTJCOzJGQUEzQiwyQkFBMkI7a0JBRnZDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFZhbGlkYXRvcnMgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgQml6RG9jIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvZGVjb3JhdG9yc1wiO1xyXG5pbXBvcnQgeyBQYXJhbGxlbFNldHRpbmdzTW9kZWwgfSBmcm9tIFwiLi4vLi4vLi4vdmlld3MvY3ViZS9wYXJhbGxlbC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgRGVzaWduZXJDdWJlRWxlbWVudENvbXBvbmVudCB9IGZyb20gXCIuLi9kZXNpZ25lci5iYXNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHsgdGVtcGxhdGVVcmw6ICdwYXJhbGxlbC12aWV3LmNvbXBvbmVudC5odG1sJyB9KVxyXG5AQml6RG9jKHsgc2VsZWN0b3I6ICdwYXJhbGxlbC12aWV3LWRlc2lnbmVyJyB9KVxyXG5leHBvcnQgY2xhc3MgUGFyYWxsZWxWaWV3RGVzaWduQ29tcG9uZW50IGV4dGVuZHMgRGVzaWduZXJDdWJlRWxlbWVudENvbXBvbmVudDxQYXJhbGxlbFNldHRpbmdzTW9kZWw+IGltcGxlbWVudHMgT25Jbml0IHtcclxuICByZWFkb25seSBmb3JtID0gdGhpcy5fZmIuZ3JvdXAoe1xyXG4gICAgY3ViZTogbnVsbCxcclxuICAgIHhBeGlzOiB0aGlzLl9mYi5jb250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG4gICAgc2VyaWVzOiB0aGlzLl9mYi5jb250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG4gICAgaW5kaWNlczogbnVsbCxcclxuICAgIGZpbHRlcnM6IG51bGwsXHJcbiAgICBjaGFydFR5cGU6ICdQaWUnLFxyXG4gICAgYWdncmVnYXRlOiBudWxsLFxyXG4gICAgc2NvcGU6IG51bGxcclxuICB9KTtcclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwibW9kZSA9PT0gJ3dpZGdldCc7IGVsc2UgZWRpdFwiPlxyXG48L25nLWNvbnRhaW5lcj5cclxuPG5nLXRlbXBsYXRlICNlZGl0PlxyXG4gIDxmb3JtIGF1dG9jb21wbGV0ZT1cIm9mZlwiIFtmb3JtR3JvdXBdPVwiZm9ybVwiIGNsYXNzPVwiY29sdW1uXCI+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQgKm5nSWY9XCJjdWJlcy5sZW5ndGg+MVwiPlxyXG4gICAgICA8bWF0LWxhYmVsPnt7J0N1YmUnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgICAgIDxtYXQtc2VsZWN0IHJlcXVpcmVkIChzZWxlY3Rpb25DaGFuZ2UpPVwiY3ViZVNlbGVjdGVkKCRldmVudClcIj5cclxuICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgYyBvZiBjdWJlc1wiIFt2YWx1ZV09XCJjXCI+e3tjLnRpdGxlfX08L21hdC1vcHRpb24+XHJcbiAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDxtYXQtbGFiZWw+e3snWEF4aXMnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cInhBeGlzXCIgcmVxdWlyZWQ+XHJcbiAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGEgb2YgY3ViZT8uYXhlc1wiIFt2YWx1ZV09XCJhLm5hbWVcIj57e2EudGl0bGUgfX08L21hdC1vcHRpb24+XHJcbiAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm0uZ2V0KCd4QXhpcycpLmhhc0Vycm9yKCdyZXF1aXJlZCcpXCIgW2lubmVySFRNTF09XCInUmVxdWlyZWRFcnInfHRyYW5zbGF0ZTooJ1hBeGlzJ3x0cmFuc2xhdGUpXCI+PC9tYXQtZXJyb3I+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8bWF0LWxhYmVsPnt7J1Nlcmllcyd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwic2VyaWVzXCIgcmVxdWlyZWQ+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYSBvZiBjdWJlLmF4ZXNcIj5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0lmPVwiZm9ybS5nZXQoJ3hBeGlzJykudmFsdWUhPT1hLm5hbWVcIiBbdmFsdWVdPVwiYS5uYW1lXCI+e3thLnRpdGxlIH19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtLmdldCgnc2VyaWVzJykuaGFzRXJyb3IoJ3JlcXVpcmVkJylcIiBbaW5uZXJIVE1MXT1cIidSZXF1aXJlZEVycid8dHJhbnNsYXRlOignU2VyaWVzJ3x0cmFuc2xhdGUpXCI+PC9tYXQtZXJyb3I+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkICpuZ0lmPVwiY3ViZS5pbmRpY2VzPy5sZW5ndGhcIj5cclxuICAgICAgPG1hdC1sYWJlbD57eydJbmRpY2VzJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJpbmRpY2VzXCIgbXVsdGlwbGU+XHJcbiAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IHggb2YgY3ViZS5pbmRpY2VzXCIgW3ZhbHVlXT1cIngubmFtZVwiPnt7eC50aXRsZSB8fCB4Lm5hbWV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgPG1hdC1sYWJlbD57eydDaGFydFR5cGUnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cImNoYXJ0VHlwZVwiPlxyXG4gICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwiUGllXCI+e3snUGllJ3x0cmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICA8bWF0LW9wdGlvbiB2YWx1ZT1cIkNvbHVtblwiPnt7J0NvbHVtbid8dHJhbnNsYXRlfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgPG1hdC1vcHRpb24gdmFsdWU9XCJMaW5lXCI+e3snTGluZSd8dHJhbnNsYXRlfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgPG1hdC1vcHRpb24gdmFsdWU9XCJBcmVhXCI+e3snQXJlYSd8dHJhbnNsYXRlfX08L21hdC1vcHRpb24+XHJcbiAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDxtYXQtbGFiZWw+e3snQWdncmVnYXRlJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJhZ2dyZWdhdGVcIiBtdWx0aXBsZT5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBhIG9mIGN1YmUuYXhlc1wiPlxyXG4gICAgICAgICAgPG1hdC1vcHRpb24gKm5nSWY9XCJmb3JtLmdldCgneEF4aXMnKS52YWx1ZSE9PWEubmFtZSAmJiBmb3JtLmdldCgnc2VyaWVzJykudmFsdWUgIT09IGEubmFtZSAmJiBmb3JtLmdldCgnZmlsdGVycycpLnZhbHVlPy5pbmRleE9mKGEubmFtZSkgPCAwXCIgW3ZhbHVlXT1cImEubmFtZVwiPnt7YS50aXRsZSB9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICA8L2Zvcm0+XHJcbiAgPCEtLTxkaXY+XHJcbiAgICA8Yml6ZG9jLWN1YmUtcGFyYWxsZWwgKm5nSWY9XCJvcHRpb25zLnhBeGlzXCIgW2N1YmVdPVwib3B0aW9ucy5jdWJlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbeEF4aXNdPVwib3B0aW9ucy54QXhpc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3Nlcmllc109XCJvcHRpb25zLnNlcmllc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2luZGljZXNdPVwib3B0aW9ucy5pbmRpY2VzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbZmlsdGVyc109XCJvcHRpb25zLmZpbHRlcnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtjaGFydFR5cGVdPVwib3B0aW9ucy5jaGFydFR5cGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtzY29wZV09XCJvcHRpb25zLnNjb3BlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbc2l6ZV09XCIyNTBcIj48L2JpemRvYy1jdWJlLXBhcmFsbGVsPlxyXG4gIDwvZGl2Pi0tPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
@@ -8,7 +8,8 @@ import * as i2 from "@angular/forms";
8
8
  import * as i3 from "@angular/material/core";
9
9
  import * as i4 from "@angular/material/form-field";
10
10
  import * as i5 from "@angular/material/select";
11
- import * as i6 from "../../../core/pipes/translate.pipe";
11
+ import * as i6 from "../cube-axes-filter.component";
12
+ import * as i7 from "../../../core/pipes/translate.pipe";
12
13
  let PerformanceWidgetDesignComponent = class PerformanceWidgetDesignComponent extends DesignerCubeElementComponent {
13
14
  constructor() {
14
15
  super(...arguments);
@@ -21,13 +22,13 @@ let PerformanceWidgetDesignComponent = class PerformanceWidgetDesignComponent ex
21
22
  }
22
23
  };
23
24
  PerformanceWidgetDesignComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: PerformanceWidgetDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
24
- PerformanceWidgetDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: PerformanceWidgetDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"mode === 'widget'; else edit\">\r\n</ng-container>\r\n<ng-template #edit>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field *ngIf=\"cubes.length>1\">\r\n <mat-label>{{'Cube'|translate}}</mat-label>\r\n <mat-select required (selectionChange)=\"cubeSelected($event)\">\r\n <mat-option *ngFor=\"let c of cubes\" [value]=\"c\">{{c.title}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" required>\r\n <mat-option *ngFor=\"let x of cube?.axes\" [value]=\"x.name\">{{x.title||x.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </form>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i3.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "component", type: i5.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
25
+ PerformanceWidgetDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: PerformanceWidgetDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"mode === 'widget'; else edit\">\r\n</ng-container>\r\n<ng-template #edit>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field *ngIf=\"cubes.length>1\">\r\n <mat-label>{{'Cube'|translate}}</mat-label>\r\n <mat-select required (selectionChange)=\"cubeSelected($event)\">\r\n <mat-option *ngFor=\"let c of cubes\" [value]=\"c\">{{c.title}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" required>\r\n <mat-option *ngFor=\"let x of cube?.axes\" [value]=\"x.name\">{{x.title||x.name}}</mat-option>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('series').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Series'|translate)\"></mat-error>\r\n </mat-form-field>\r\n <bizdoc-designer-cube-filter *ngIf=\"cube\" [cube]=\"cube\" [form]=\"form.get('filters')\"></bizdoc-designer-cube-filter>\r\n </form>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i3.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i4.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "component", type: i5.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i6.DesignerCubeFilterComponent, selector: "bizdoc-designer-cube-filter", inputs: ["cube", "form"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] });
25
26
  PerformanceWidgetDesignComponent = __decorate([
26
27
  BizDoc({ selector: 'performance-widget-designer' })
27
28
  ], PerformanceWidgetDesignComponent);
28
29
  export { PerformanceWidgetDesignComponent };
29
30
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: PerformanceWidgetDesignComponent, decorators: [{
30
31
  type: Component,
31
- args: [{ template: "<ng-container *ngIf=\"mode === 'widget'; else edit\">\r\n</ng-container>\r\n<ng-template #edit>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field *ngIf=\"cubes.length>1\">\r\n <mat-label>{{'Cube'|translate}}</mat-label>\r\n <mat-select required (selectionChange)=\"cubeSelected($event)\">\r\n <mat-option *ngFor=\"let c of cubes\" [value]=\"c\">{{c.title}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" required>\r\n <mat-option *ngFor=\"let x of cube?.axes\" [value]=\"x.name\">{{x.title||x.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </form>\r\n</ng-template>\r\n" }]
32
+ args: [{ template: "<ng-container *ngIf=\"mode === 'widget'; else edit\">\r\n</ng-container>\r\n<ng-template #edit>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field *ngIf=\"cubes.length>1\">\r\n <mat-label>{{'Cube'|translate}}</mat-label>\r\n <mat-select required (selectionChange)=\"cubeSelected($event)\">\r\n <mat-option *ngFor=\"let c of cubes\" [value]=\"c\">{{c.title}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" required>\r\n <mat-option *ngFor=\"let x of cube?.axes\" [value]=\"x.name\">{{x.title||x.name}}</mat-option>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('series').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Series'|translate)\"></mat-error>\r\n </mat-form-field>\r\n <bizdoc-designer-cube-filter *ngIf=\"cube\" [cube]=\"cube\" [form]=\"form.get('filters')\"></bizdoc-designer-cube-filter>\r\n </form>\r\n</ng-template>\r\n" }]
32
33
  }] });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyZm9ybWFuY2Utd2lkZ2V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvYWRtaW4vY29uZmlndXJhdGlvbi1kZXNpZ25lci9lbGVtZW50cy9wZXJmb3JtYW5jZS13aWRnZXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9jb25maWd1cmF0aW9uLWRlc2lnbmVyL2VsZW1lbnRzL3BlcmZvcm1hbmNlLXdpZGdldC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFbEQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7Ozs7O0lBSW5ELGdDQUFnQyxTQUFoQyxnQ0FBaUMsU0FBUSw0QkFBc0Q7OztRQUNqRyxTQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7WUFDN0IsSUFBSSxFQUFFLElBQUk7WUFDVixNQUFNLEVBQUUsSUFBSTtZQUNaLE9BQU8sRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDM0IsS0FBSyxFQUFFLElBQUk7U0FDWixDQUFDLENBQUM7S0FDSjtDQUFBLENBQUE7NkhBUFksZ0NBQWdDO2lIQUFoQyxnQ0FBZ0MsMkVDUDdDLHN5QkFrQkE7QURYYSxnQ0FBZ0M7SUFENUMsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFLDZCQUE2QixFQUFFLENBQUM7R0FDdkMsZ0NBQWdDLENBTzVDO1NBUFksZ0NBQWdDOzJGQUFoQyxnQ0FBZ0M7a0JBRjVDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEJpekRvYyB9IGZyb20gXCIuLi8uLi8uLi9jb3JlL2RlY29yYXRvcnNcIjtcclxuaW1wb3J0IHsgUGVyZm9ybWFuY2VTZXR0aW5nc01vZGVsIH0gZnJvbSBcIi4uLy4uLy4uL2Rhc2hib2FyZC9jdWJlL2NvbXBhcmUud2lkZ2V0XCI7XHJcbmltcG9ydCB7IERlc2lnbmVyQ3ViZUVsZW1lbnRDb21wb25lbnQgfSBmcm9tIFwiLi4vZGVzaWduZXIuYmFzZVwiO1xyXG5cclxuQENvbXBvbmVudCh7IHRlbXBsYXRlVXJsOiAncGVyZm9ybWFuY2Utd2lkZ2V0LmNvbXBvbmVudC5odG1sJyB9KVxyXG5AQml6RG9jKHsgc2VsZWN0b3I6ICdwZXJmb3JtYW5jZS13aWRnZXQtZGVzaWduZXInIH0pXHJcbmV4cG9ydCBjbGFzcyBQZXJmb3JtYW5jZVdpZGdldERlc2lnbkNvbXBvbmVudCBleHRlbmRzIERlc2lnbmVyQ3ViZUVsZW1lbnRDb21wb25lbnQ8UGVyZm9ybWFuY2VTZXR0aW5nc01vZGVsPiBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgcmVhZG9ubHkgZm9ybSA9IHRoaXMuX2ZiLmdyb3VwKHtcclxuICAgIGN1YmU6IG51bGwsXHJcbiAgICBzZXJpZXM6IG51bGwsXHJcbiAgICBmaWx0ZXJzOiB0aGlzLl9mYi5ncm91cCh7fSksXHJcbiAgICBzY29wZTogbnVsbFxyXG4gIH0pO1xyXG59XHJcbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJtb2RlID09PSAnd2lkZ2V0JzsgZWxzZSBlZGl0XCI+XHJcbjwvbmctY29udGFpbmVyPlxyXG48bmctdGVtcGxhdGUgI2VkaXQ+XHJcbiAgPGZvcm0gYXV0b2NvbXBsZXRlPVwib2ZmXCIgW2Zvcm1Hcm91cF09XCJmb3JtXCIgY2xhc3M9XCJjb2x1bW5cIj5cclxuICAgIDxtYXQtZm9ybS1maWVsZCAqbmdJZj1cImN1YmVzLmxlbmd0aD4xXCI+XHJcbiAgICAgIDxtYXQtbGFiZWw+e3snQ3ViZSd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgPG1hdC1zZWxlY3QgcmVxdWlyZWQgKHNlbGVjdGlvbkNoYW5nZSk9XCJjdWJlU2VsZWN0ZWQoJGV2ZW50KVwiPlxyXG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBjIG9mIGN1YmVzXCIgW3ZhbHVlXT1cImNcIj57e2MudGl0bGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgPG1hdC1sYWJlbD57eydTZXJpZXMnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cInNlcmllc1wiIHJlcXVpcmVkPlxyXG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCB4IG9mIGN1YmU/LmF4ZXNcIiBbdmFsdWVdPVwieC5uYW1lXCI+e3t4LnRpdGxlfHx4Lm5hbWV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICA8L2Zvcm0+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyZm9ybWFuY2Utd2lkZ2V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvYWRtaW4vY29uZmlndXJhdGlvbi1kZXNpZ25lci9lbGVtZW50cy9wZXJmb3JtYW5jZS13aWRnZXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9jb25maWd1cmF0aW9uLWRlc2lnbmVyL2VsZW1lbnRzL3BlcmZvcm1hbmNlLXdpZGdldC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFbEQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7Ozs7OztJQUluRCxnQ0FBZ0MsU0FBaEMsZ0NBQWlDLFNBQVEsNEJBQXNEOzs7UUFDakcsU0FBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO1lBQzdCLElBQUksRUFBRSxJQUFJO1lBQ1YsTUFBTSxFQUFFLElBQUk7WUFDWixPQUFPLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzNCLEtBQUssRUFBRSxJQUFJO1NBQ1osQ0FBQyxDQUFDO0tBQ0o7Q0FBQSxDQUFBOzZIQVBZLGdDQUFnQztpSEFBaEMsZ0NBQWdDLDJFQ1A3Qyx1akNBb0JBO0FEYmEsZ0NBQWdDO0lBRDVDLE1BQU0sQ0FBQyxFQUFFLFFBQVEsRUFBRSw2QkFBNkIsRUFBRSxDQUFDO0dBQ3ZDLGdDQUFnQyxDQU81QztTQVBZLGdDQUFnQzsyRkFBaEMsZ0NBQWdDO2tCQUY1QyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBCaXpEb2MgfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9kZWNvcmF0b3JzXCI7XHJcbmltcG9ydCB7IFBlcmZvcm1hbmNlU2V0dGluZ3NNb2RlbCB9IGZyb20gXCIuLi8uLi8uLi9kYXNoYm9hcmQvY3ViZS9jb21wYXJlLndpZGdldFwiO1xyXG5pbXBvcnQgeyBEZXNpZ25lckN1YmVFbGVtZW50Q29tcG9uZW50IH0gZnJvbSBcIi4uL2Rlc2lnbmVyLmJhc2VcIjtcclxuXHJcbkBDb21wb25lbnQoeyB0ZW1wbGF0ZVVybDogJ3BlcmZvcm1hbmNlLXdpZGdldC5jb21wb25lbnQuaHRtbCcgfSlcclxuQEJpekRvYyh7IHNlbGVjdG9yOiAncGVyZm9ybWFuY2Utd2lkZ2V0LWRlc2lnbmVyJyB9KVxyXG5leHBvcnQgY2xhc3MgUGVyZm9ybWFuY2VXaWRnZXREZXNpZ25Db21wb25lbnQgZXh0ZW5kcyBEZXNpZ25lckN1YmVFbGVtZW50Q29tcG9uZW50PFBlcmZvcm1hbmNlU2V0dGluZ3NNb2RlbD4gaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHJlYWRvbmx5IGZvcm0gPSB0aGlzLl9mYi5ncm91cCh7XHJcbiAgICBjdWJlOiBudWxsLFxyXG4gICAgc2VyaWVzOiBudWxsLFxyXG4gICAgZmlsdGVyczogdGhpcy5fZmIuZ3JvdXAoe30pLFxyXG4gICAgc2NvcGU6IG51bGxcclxuICB9KTtcclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwibW9kZSA9PT0gJ3dpZGdldCc7IGVsc2UgZWRpdFwiPlxyXG48L25nLWNvbnRhaW5lcj5cclxuPG5nLXRlbXBsYXRlICNlZGl0PlxyXG4gIDxmb3JtIGF1dG9jb21wbGV0ZT1cIm9mZlwiIFtmb3JtR3JvdXBdPVwiZm9ybVwiIGNsYXNzPVwiY29sdW1uXCI+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQgKm5nSWY9XCJjdWJlcy5sZW5ndGg+MVwiPlxyXG4gICAgICA8bWF0LWxhYmVsPnt7J0N1YmUnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgICAgIDxtYXQtc2VsZWN0IHJlcXVpcmVkIChzZWxlY3Rpb25DaGFuZ2UpPVwiY3ViZVNlbGVjdGVkKCRldmVudClcIj5cclxuICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgYyBvZiBjdWJlc1wiIFt2YWx1ZV09XCJjXCI+e3tjLnRpdGxlfX08L21hdC1vcHRpb24+XHJcbiAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDxtYXQtbGFiZWw+e3snU2VyaWVzJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJzZXJpZXNcIiByZXF1aXJlZD5cclxuICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgeCBvZiBjdWJlPy5heGVzXCIgW3ZhbHVlXT1cIngubmFtZVwiPnt7eC50aXRsZXx8eC5uYW1lfX08L21hdC1vcHRpb24+XHJcbiAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm0uZ2V0KCdzZXJpZXMnKS5oYXNFcnJvcigncmVxdWlyZWQnKVwiIFtpbm5lckhUTUxdPVwiJ1JlcXVpcmVkRXJyJ3x0cmFuc2xhdGU6KCdTZXJpZXMnfHRyYW5zbGF0ZSlcIj48L21hdC1lcnJvcj5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8Yml6ZG9jLWRlc2lnbmVyLWN1YmUtZmlsdGVyICpuZ0lmPVwiY3ViZVwiIFtjdWJlXT1cImN1YmVcIiBbZm9ybV09XCJmb3JtLmdldCgnZmlsdGVycycpXCI+PC9iaXpkb2MtZGVzaWduZXItY3ViZS1maWx0ZXI+XHJcbiAgPC9mb3JtPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=