@bizdoc/core 1.15.7 → 1.16.2

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 (97) hide show
  1. package/assets/bizdoc-schema.json +14 -13
  2. package/esm2020/lib/admin/configuration-designer/designer-element.component.mjs +113 -44
  3. package/esm2020/lib/admin/configuration-designer/designer.base.mjs +43 -37
  4. package/esm2020/lib/admin/configuration-designer/designer.component.mjs +82 -64
  5. package/esm2020/lib/admin/configuration-designer/elements/action.component.mjs +8 -6
  6. package/esm2020/lib/admin/configuration-designer/elements/analysis-view.component.mjs +7 -7
  7. package/esm2020/lib/admin/configuration-designer/elements/analysis-widget.component.mjs +5 -7
  8. package/esm2020/lib/admin/configuration-designer/elements/box-form.component.mjs +3 -3
  9. package/esm2020/lib/admin/configuration-designer/elements/configuration-datasource.component.mjs +31 -26
  10. package/esm2020/lib/admin/configuration-designer/elements/cube-index-utility.component.mjs +32 -0
  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 +91 -55
  13. package/esm2020/lib/admin/configuration-designer/elements/documents-widget.component.mjs +2 -2
  14. package/esm2020/lib/admin/configuration-designer/elements/folder.component.mjs +13 -9
  15. package/esm2020/lib/admin/configuration-designer/elements/form.component.mjs +30 -39
  16. package/esm2020/lib/admin/configuration-designer/elements/guide.component.mjs +24 -17
  17. package/esm2020/lib/admin/configuration-designer/elements/matrix-view.component.mjs +13 -17
  18. package/esm2020/lib/admin/configuration-designer/elements/parallel-view.component.mjs +3 -3
  19. package/esm2020/lib/admin/configuration-designer/elements/pivot-view.component.mjs +2 -2
  20. package/esm2020/lib/admin/configuration-designer/elements/report.component.mjs +14 -6
  21. package/esm2020/lib/admin/configuration-designer/elements/return-to-role-action.component.mjs +11 -15
  22. package/esm2020/lib/admin/configuration-designer/elements/role.component.mjs +12 -8
  23. package/esm2020/lib/admin/configuration-designer/elements/rule.component.mjs +8 -3
  24. package/esm2020/lib/admin/configuration-designer/elements/state.component.mjs +11 -11
  25. package/esm2020/lib/admin/configuration-designer/elements/sum-view.component.mjs +5 -6
  26. package/esm2020/lib/admin/configuration-designer/elements/tasks-report.component.mjs +2 -2
  27. package/esm2020/lib/admin/configuration-designer/elements/type.component.mjs +11 -11
  28. package/esm2020/lib/admin/configuration-designer/elements/usage-report.component.mjs +4 -4
  29. package/esm2020/lib/admin/configuration-designer/elements/utility.component.mjs +14 -6
  30. package/esm2020/lib/admin/configuration-designer/elements/view.component.mjs +13 -11
  31. package/esm2020/lib/admin/configuration-designer/elements/widget.component.mjs +14 -4
  32. package/esm2020/lib/admin/configuration-designer/icon-picker.component.mjs +12 -6
  33. package/esm2020/lib/admin/configuration-designer/privileges.component.mjs +25 -15
  34. package/esm2020/lib/admin/form/designer/designer.component.mjs +15 -7
  35. package/esm2020/lib/admin/patterns/patterns.component.mjs +1 -1
  36. package/esm2020/lib/core/datasource.service.mjs +1 -1
  37. package/esm2020/lib/core/layout/layout.component.mjs +19 -31
  38. package/esm2020/lib/core/models.mjs +1 -1
  39. package/esm2020/lib/core/translations.mjs +6 -1
  40. package/esm2020/lib/cube/cube-info.service.mjs +1 -1
  41. package/esm2020/lib/cube/cube.service.mjs +1 -1
  42. package/esm2020/lib/cube/declarations.mjs +1 -1
  43. package/esm2020/lib/cube/matrix/matrix.base.mjs +2 -2
  44. package/esm2020/lib/cube/matrix/matrix.pane.component.mjs +1 -1
  45. package/esm2020/lib/cube/matrix/table.component.mjs +19 -19
  46. package/esm2020/lib/cube/sum/sum.component.mjs +1 -1
  47. package/esm2020/lib/reports/cube/usage-base.mjs +1 -1
  48. package/esm2020/lib/shared.module.mjs +3 -1
  49. package/esm2020/lib/system.module.mjs +11 -6
  50. package/esm2020/lib/views/cube/parallel.component.mjs +1 -1
  51. package/esm2020/public-api.mjs +3 -1
  52. package/fesm2015/bizdoc-core.mjs +6399 -6202
  53. package/fesm2015/bizdoc-core.mjs.map +1 -1
  54. package/fesm2020/bizdoc-core.mjs +5241 -5043
  55. package/fesm2020/bizdoc-core.mjs.map +1 -1
  56. package/lib/admin/configuration-designer/designer-element.component.d.ts +30 -10
  57. package/lib/admin/configuration-designer/designer.base.d.ts +75 -36
  58. package/lib/admin/configuration-designer/designer.component.d.ts +10 -7
  59. package/lib/admin/configuration-designer/elements/action.component.d.ts +2 -0
  60. package/lib/admin/configuration-designer/elements/analysis-view.component.d.ts +2 -1
  61. package/lib/admin/configuration-designer/elements/configuration-datasource.component.d.ts +9 -8
  62. package/lib/admin/configuration-designer/elements/cube-index-utility.component.d.ts +12 -0
  63. package/lib/admin/configuration-designer/elements/cube.component.d.ts +17 -7
  64. package/lib/admin/configuration-designer/elements/documents-widget.component.d.ts +2 -2
  65. package/lib/admin/configuration-designer/elements/folder.component.d.ts +3 -0
  66. package/lib/admin/configuration-designer/elements/form.component.d.ts +7 -2
  67. package/lib/admin/configuration-designer/elements/guide.component.d.ts +4 -2
  68. package/lib/admin/configuration-designer/elements/matrix-view.component.d.ts +0 -2
  69. package/lib/admin/configuration-designer/elements/pivot-view.component.d.ts +1 -1
  70. package/lib/admin/configuration-designer/elements/report.component.d.ts +3 -0
  71. package/lib/admin/configuration-designer/elements/return-to-role-action.component.d.ts +2 -4
  72. package/lib/admin/configuration-designer/elements/role.component.d.ts +5 -2
  73. package/lib/admin/configuration-designer/elements/rule.component.d.ts +2 -0
  74. package/lib/admin/configuration-designer/elements/state.component.d.ts +4 -1
  75. package/lib/admin/configuration-designer/elements/tasks-report.component.d.ts +2 -2
  76. package/lib/admin/configuration-designer/elements/type.component.d.ts +3 -1
  77. package/lib/admin/configuration-designer/elements/utility.component.d.ts +3 -0
  78. package/lib/admin/configuration-designer/elements/view.component.d.ts +4 -6
  79. package/lib/admin/configuration-designer/elements/widget.component.d.ts +2 -0
  80. package/lib/admin/configuration-designer/privileges.component.d.ts +6 -4
  81. package/lib/admin/patterns/patterns.component.d.ts +2 -2
  82. package/lib/core/datasource.service.d.ts +3 -3
  83. package/lib/core/layout/layout.component.d.ts +0 -3
  84. package/lib/core/models.d.ts +2 -2
  85. package/lib/core/translations.d.ts +5 -0
  86. package/lib/cube/cube-info.service.d.ts +3 -2
  87. package/lib/cube/cube.service.d.ts +8 -8
  88. package/lib/cube/declarations.d.ts +2 -0
  89. package/lib/cube/matrix/matrix.base.d.ts +4 -3
  90. package/lib/cube/matrix/matrix.pane.component.d.ts +3 -2
  91. package/lib/cube/matrix/table.component.d.ts +9 -5
  92. package/lib/reports/cube/usage-base.d.ts +2 -2
  93. package/lib/shared.module.d.ts +1 -1
  94. package/lib/system.module.d.ts +50 -48
  95. package/lib/views/cube/parallel.component.d.ts +1 -1
  96. package/package.json +1 -1
  97. package/public-api.d.ts +4 -2
@@ -5,25 +5,29 @@ import { DesignerTypeElementComponent } from "../designer.base";
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "@angular/common";
7
7
  import * as i2 from "@angular/forms";
8
- import * as i3 from "@angular/material/form-field";
9
- import * as i4 from "@angular/material/input";
10
- import * as i5 from "../icon-picker.component";
11
- import * as i6 from "../privileges.component";
12
- import * as i7 from "../../../core/pipes/translate.pipe";
8
+ import * as i3 from "../icon-picker.component";
9
+ import * as i4 from "../privileges.component";
13
10
  let FolderDesignComponent = class FolderDesignComponent extends DesignerTypeElementComponent {
11
+ constructor() {
12
+ super(...arguments);
13
+ this.form = this._fb.group({
14
+ icon: null
15
+ });
16
+ }
14
17
  ngOnInit() {
15
- this.form.addControl('icon', this._fb.control(this.model.icon), { emitEvent: false });
18
+ if (!this.model.privileges)
19
+ this.model.privileges = {};
16
20
  super.ngOnInit();
17
21
  }
18
22
  };
19
23
  FolderDesignComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: FolderDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
20
- FolderDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: FolderDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"editMode; else info\">\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field>\r\n <mat-label>{{'Name'|translate}}</mat-label>\r\n <input matInput formControlName=\"name\" required />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" required />\r\n </mat-form-field>\r\n <div>\r\n <!--<mat-label>{{'Icon'|translate}}</mat-label>-->\r\n <bizdoc-icon-picker formControlName=\"icon\" required></bizdoc-icon-picker>\r\n </div>\r\n </form>\r\n <bizdoc-privileges (change)=\"change.emit()\" [model]=\"model.privileges\"></bizdoc-privileges>\r\n</ng-container>\r\n<!---->\r\n<ng-template #info>\r\n <div>\r\n </div>\r\n</ng-template>\r\n", dependencies: [{ 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: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.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: i5.IconPickerComponent, selector: "bizdoc-icon-picker", inputs: ["value", "required", "disabled"], outputs: ["valueChanges"] }, { kind: "component", type: i6.PrivilegesDesignComponent, selector: "bizdoc-privileges", inputs: ["model"], outputs: ["change"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] });
24
+ FolderDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: FolderDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: " <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\" *ngIf=\"editMode; else info\">\r\n <bizdoc-icon-picker formControlName=\"icon\" required></bizdoc-icon-picker>\r\n <bizdoc-privileges (change)=\"setPrivilieges($event)\" [model]=\"model.privileges\"></bizdoc-privileges>\r\n</form>\r\n<!---->\r\n<ng-template #info>\r\n <div>\r\n </div>\r\n</ng-template>\r\n", dependencies: [{ 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.IconPickerComponent, selector: "bizdoc-icon-picker", inputs: ["value", "required", "disabled"], outputs: ["valueChanges"] }, { kind: "component", type: i4.PrivilegesDesignComponent, selector: "bizdoc-privileges", inputs: ["model"], outputs: ["change"] }] });
21
25
  FolderDesignComponent = __decorate([
22
26
  BizDoc({ selector: 'folder-designer' })
23
27
  ], FolderDesignComponent);
24
28
  export { FolderDesignComponent };
25
29
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: FolderDesignComponent, decorators: [{
26
30
  type: Component,
27
- args: [{ template: "<ng-container *ngIf=\"editMode; else info\">\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field>\r\n <mat-label>{{'Name'|translate}}</mat-label>\r\n <input matInput formControlName=\"name\" required />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" required />\r\n </mat-form-field>\r\n <div>\r\n <!--<mat-label>{{'Icon'|translate}}</mat-label>-->\r\n <bizdoc-icon-picker formControlName=\"icon\" required></bizdoc-icon-picker>\r\n </div>\r\n </form>\r\n <bizdoc-privileges (change)=\"change.emit()\" [model]=\"model.privileges\"></bizdoc-privileges>\r\n</ng-container>\r\n<!---->\r\n<ng-template #info>\r\n <div>\r\n </div>\r\n</ng-template>\r\n" }]
31
+ args: [{ template: " <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\" *ngIf=\"editMode; else info\">\r\n <bizdoc-icon-picker formControlName=\"icon\" required></bizdoc-icon-picker>\r\n <bizdoc-privileges (change)=\"setPrivilieges($event)\" [model]=\"model.privileges\"></bizdoc-privileges>\r\n</form>\r\n<!---->\r\n<ng-template #info>\r\n <div>\r\n </div>\r\n</ng-template>\r\n" }]
28
32
  }] });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9sZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvYWRtaW4vY29uZmlndXJhdGlvbi1kZXNpZ25lci9lbGVtZW50cy9mb2xkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9jb25maWd1cmF0aW9uLWRlc2lnbmVyL2VsZW1lbnRzL2ZvbGRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDbEQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7Ozs7OztJQUluRCxxQkFBcUIsU0FBckIscUJBQXNCLFNBQVEsNEJBQTRCO0lBQ3JFLFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFhLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQzdGLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNuQixDQUFDO0NBQ0YsQ0FBQTtrSEFMWSxxQkFBcUI7c0dBQXJCLHFCQUFxQiwyRUNQbEMsK3pCQXNCQTtBRGZhLHFCQUFxQjtJQURqQyxNQUFNLENBQUMsRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQztHQUMzQixxQkFBcUIsQ0FLakM7U0FMWSxxQkFBcUI7MkZBQXJCLHFCQUFxQjtrQkFGakMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFZhbGlkYXRvcnMgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgQml6RG9jIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvZGVjb3JhdG9yc1wiO1xyXG5pbXBvcnQgeyBEZXNpZ25lclR5cGVFbGVtZW50Q29tcG9uZW50IH0gZnJvbSBcIi4uL2Rlc2lnbmVyLmJhc2VcIjtcclxuXHJcbkBDb21wb25lbnQoeyB0ZW1wbGF0ZVVybDogJ2ZvbGRlci5jb21wb25lbnQuaHRtbCcgfSlcclxuQEJpekRvYyh7IHNlbGVjdG9yOiAnZm9sZGVyLWRlc2lnbmVyJyB9KVxyXG5leHBvcnQgY2xhc3MgRm9sZGVyRGVzaWduQ29tcG9uZW50IGV4dGVuZHMgRGVzaWduZXJUeXBlRWxlbWVudENvbXBvbmVudCB7XHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmZvcm0uYWRkQ29udHJvbCgnaWNvbicgYXMgYW55LCB0aGlzLl9mYi5jb250cm9sKHRoaXMubW9kZWwuaWNvbiksIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgfVxyXG59XHJcbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJlZGl0TW9kZTsgZWxzZSBpbmZvXCI+XHJcbiAgPGZvcm0gYXV0b2NvbXBsZXRlPVwib2ZmXCIgW2Zvcm1Hcm91cF09XCJmb3JtXCIgY2xhc3M9XCJjb2x1bW5cIj5cclxuICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgPG1hdC1sYWJlbD57eydOYW1lJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwibmFtZVwiIHJlcXVpcmVkIC8+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8bWF0LWxhYmVsPnt7J1RpdGxlJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwidGl0bGVcIiByZXF1aXJlZCAvPlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDxkaXY+XHJcbiAgICAgIDwhLS08bWF0LWxhYmVsPnt7J0ljb24nfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+LS0+XHJcbiAgICAgIDxiaXpkb2MtaWNvbi1waWNrZXIgZm9ybUNvbnRyb2xOYW1lPVwiaWNvblwiIHJlcXVpcmVkPjwvYml6ZG9jLWljb24tcGlja2VyPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9mb3JtPlxyXG4gIDxiaXpkb2MtcHJpdmlsZWdlcyAoY2hhbmdlKT1cImNoYW5nZS5lbWl0KClcIiBbbW9kZWxdPVwibW9kZWwucHJpdmlsZWdlc1wiPjwvYml6ZG9jLXByaXZpbGVnZXM+XHJcbjwvbmctY29udGFpbmVyPlxyXG48IS0tLS0+XHJcbjxuZy10ZW1wbGF0ZSAjaW5mbz5cclxuICA8ZGl2PlxyXG4gIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9sZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvYWRtaW4vY29uZmlndXJhdGlvbi1kZXNpZ25lci9lbGVtZW50cy9mb2xkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9jb25maWd1cmF0aW9uLWRlc2lnbmVyL2VsZW1lbnRzL2ZvbGRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDbEQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7OztJQUluRCxxQkFBcUIsU0FBckIscUJBQXNCLFNBQVEsNEJBQTRCOzs7UUFDNUQsU0FBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO1lBQzdCLElBQUksRUFBRSxJQUFJO1NBQ1gsQ0FBQyxDQUFDO0tBS0o7SUFKQyxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVTtZQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUN2RCxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbkIsQ0FBQztDQUNGLENBQUE7a0hBUlkscUJBQXFCO3NHQUFyQixxQkFBcUIsMkVDUGxDLDRYQVNBO0FERmEscUJBQXFCO0lBRGpDLE1BQU0sQ0FBQyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxDQUFDO0dBQzNCLHFCQUFxQixDQVFqQztTQVJZLHFCQUFxQjsyRkFBckIscUJBQXFCO2tCQUZqQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgVmFsaWRhdG9ycyB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBCaXpEb2MgfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9kZWNvcmF0b3JzXCI7XHJcbmltcG9ydCB7IERlc2lnbmVyVHlwZUVsZW1lbnRDb21wb25lbnQgfSBmcm9tIFwiLi4vZGVzaWduZXIuYmFzZVwiO1xyXG5cclxuQENvbXBvbmVudCh7IHRlbXBsYXRlVXJsOiAnZm9sZGVyLmNvbXBvbmVudC5odG1sJyB9KVxyXG5AQml6RG9jKHsgc2VsZWN0b3I6ICdmb2xkZXItZGVzaWduZXInIH0pXHJcbmV4cG9ydCBjbGFzcyBGb2xkZXJEZXNpZ25Db21wb25lbnQgZXh0ZW5kcyBEZXNpZ25lclR5cGVFbGVtZW50Q29tcG9uZW50IHtcclxuICByZWFkb25seSBmb3JtID0gdGhpcy5fZmIuZ3JvdXAoe1xyXG4gICAgaWNvbjogbnVsbFxyXG4gIH0pO1xyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKCF0aGlzLm1vZGVsLnByaXZpbGVnZXMpIHRoaXMubW9kZWwucHJpdmlsZWdlcyA9IHt9O1xyXG4gICAgc3VwZXIubmdPbkluaXQoKTtcclxuICB9XHJcbn1cclxuIiwiICA8Zm9ybSBhdXRvY29tcGxldGU9XCJvZmZcIiBbZm9ybUdyb3VwXT1cImZvcm1cIiBjbGFzcz1cImNvbHVtblwiICpuZ0lmPVwiZWRpdE1vZGU7IGVsc2UgaW5mb1wiPlxyXG4gIDxiaXpkb2MtaWNvbi1waWNrZXIgZm9ybUNvbnRyb2xOYW1lPVwiaWNvblwiIHJlcXVpcmVkPjwvYml6ZG9jLWljb24tcGlja2VyPlxyXG4gIDxiaXpkb2MtcHJpdmlsZWdlcyAoY2hhbmdlKT1cInNldFByaXZpbGllZ2VzKCRldmVudClcIiBbbW9kZWxdPVwibW9kZWwucHJpdmlsZWdlc1wiPjwvYml6ZG9jLXByaXZpbGVnZXM+XHJcbjwvZm9ybT5cclxuPCEtLS0tPlxyXG48bmctdGVtcGxhdGUgI2luZm8+XHJcbiAgPGRpdj5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
@@ -1,5 +1,6 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { Component, Inject } from "@angular/core";
3
+ import { Validators } from "@angular/forms";
3
4
  import { Subject, takeUntil } from "rxjs";
4
5
  import { BizDoc } from "../../../core/decorators";
5
6
  import { DesignerTypeElementComponent, DesignerRef } from "../designer.base";
@@ -10,15 +11,14 @@ import * as i3 from "../../system.service";
10
11
  import * as i4 from "../../../core/session.service";
11
12
  import * as i5 from "@angular/common";
12
13
  import * as i6 from "@syncfusion/ej2-angular-charts";
13
- import * as i7 from "@angular/material/form-field";
14
- import * as i8 from "@angular/material/button";
15
- import * as i9 from "@angular/material/input";
16
- import * as i10 from "@angular/material/icon";
17
- import * as i11 from "../../../core/popup/tooltip.directive";
18
- import * as i12 from "../icon-picker.component";
19
- import * as i13 from "../privileges.component";
20
- import * as i14 from "../../../core/pipes/translate.pipe";
21
- import * as i15 from "../designer.base";
14
+ import * as i7 from "@angular/material/button";
15
+ import * as i8 from "@angular/material/icon";
16
+ import * as i9 from "../../../core/layout/layout.component";
17
+ import * as i10 from "../../../core/popup/tooltip.directive";
18
+ import * as i11 from "../icon-picker.component";
19
+ import * as i12 from "../privileges.component";
20
+ import * as i13 from "../../../core/pipes/translate.pipe";
21
+ import * as i14 from "../designer.base";
22
22
  let FormDesignComponent = class FormDesignComponent extends DesignerTypeElementComponent {
23
23
  constructor(fb, _router, _service, _session, ref) {
24
24
  super(fb, ref);
@@ -26,6 +26,10 @@ let FormDesignComponent = class FormDesignComponent extends DesignerTypeElementC
26
26
  this._service = _service;
27
27
  this._session = _session;
28
28
  this.rules = this._fb.array([]);
29
+ this.form = this._fb.group({
30
+ rules: this.rules,
31
+ icon: null
32
+ });
29
33
  this.theme = this._session.theme.dark ? 'MaterialDark' : 'Material';
30
34
  this.axisSettings = {
31
35
  lineSettings: {},
@@ -52,39 +56,26 @@ let FormDesignComponent = class FormDesignComponent extends DesignerTypeElementC
52
56
  });
53
57
  }
54
58
  ngOnInit() {
55
- this.form.addControl('rules', this._fb.control(null), { emitEvent: false });
56
- this.form.addControl('icon', this._fb.control(this.model.icon), { emitEvent: false });
57
- this.form.addControl('_rules', this.rules, { emitEvent: false });
58
59
  if (!this.model.privileges)
59
60
  this.model.privileges = {};
60
- this._service.range(this.model.name).subscribe(r => this.usage = r);
61
- this.model.rules && this.rules.setValue(Object.keys(this.model.rules).
62
- map(r => {
63
- const rule = this.model.rules[r];
64
- return {
65
- name: r,
66
- value: rule.roles || [],
67
- rule: rule.rule,
68
- title: rule.title
69
- };
70
- }));
71
- this.rules.valueChanges.pipe().subscribe(v => {
72
- const rules = {};
73
- v.forEach((r) => rules[r.name] = {
74
- title: r.title,
75
- roles: r.roles,
76
- rule: r.rule,
77
- });
78
- this.form.get('rules').setValue(rules);
79
- });
61
+ if (this.editMode)
62
+ this.model.rules?.
63
+ forEach(r => this.rules.push(this._formrule(r), { emitEvent: false }));
64
+ else
65
+ this._service.range(this.model.name).subscribe(r => this.usage = r);
80
66
  super.ngOnInit();
81
67
  }
82
- _formrule(name, permission) {
68
+ _formrule(rule) {
83
69
  return this._fb.group({
84
- name: null,
85
- title: null,
70
+ name: this._fb.control(rule?.name, Validators.required),
71
+ roles: rule?.roles,
72
+ rule: rule?.rule,
73
+ title: rule?.title
86
74
  });
87
75
  }
76
+ addrule() {
77
+ this.rules.push(this._formrule());
78
+ }
88
79
  diagram() {
89
80
  this._router.navigate(['admin/forms', this.model.name]);
90
81
  }
@@ -97,16 +88,16 @@ let FormDesignComponent = class FormDesignComponent extends DesignerTypeElementC
97
88
  }
98
89
  };
99
90
  FormDesignComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: FormDesignComponent, deps: [{ token: i1.FormBuilder }, { token: i2.PanesRouter }, { token: i3.SystemService }, { token: i4.SessionService }, { token: DesignerRef }], target: i0.ɵɵFactoryTarget.Component });
100
- FormDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: FormDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"editMode; else info\">\r\n <form autocomplete=\"off\" [formGroup]=\"form\">\r\n <mat-form-field>\r\n <mat-label>{{'Name'|translate}}</mat-label>\r\n <input matInput formControlName=\"name\" required />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" required />\r\n </mat-form-field>\r\n <div>\r\n <!--<mat-label>{{'Icon'|translate}}</mat-label>-->\r\n <bizdoc-icon-picker formControlName=\"icon\" required></bizdoc-icon-picker>\r\n </div>\r\n </form>\r\n <bizdoc-layout *ngIf=\"model.arguments\" [fields]=\"model.arguments\" [model]=\"args\" (modelChange)=\"assignargs($event)\"></bizdoc-layout>\r\n <bizdoc-privileges (change)=\"change.emit()\" [model]=\"model.privileges\"></bizdoc-privileges>\r\n</ng-container>\r\n<!---->\r\n<ng-template #info>\r\n <!--\r\n [theme]=\"theme\"\r\n [axisSettings]=\"axisSettings\"\r\n -->\r\n\r\n <ejs-sparkline *ngIf=\"usage\" width='250px' height='200px'\r\n type=\"Line\"\r\n [id]=\"model.name\"\r\n [fill]=\"primary\"\r\n [dataSource]=\"usage\"\r\n xName=\"date\"\r\n yName=\"count\"\r\n lineWidth=\"2\"\r\n valueType=\"DateTime\"\r\n [markerSettings]=\"markerSettings\"\r\n [tooltipSettings]=\"tooltipSettings\"\r\n [enableRtl]=\"enableRtl\">\r\n </ejs-sparkline>\r\n <div class=\"row\">\r\n <button mat-icon-button (click)=\"diagram()\" [bizdocTooltip]=\"'Workflow'|translate\" [disabled]=\"model.draft\"><mat-icon>schema</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"design()\" [bizdocTooltip]=\"'Designer'|translate\" [disabled]=\"model.draft\" *ngIf=\"model.type==='BizDoc.Configuration.Forms.Box'\"><mat-icon>design_services</mat-icon></button>\r\n </div>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i6.SparklineComponent, selector: "ejs-sparkline", inputs: ["axisSettings", "border", "containerArea", "dataLabelSettings", "dataSource", "enablePersistence", "enableRtl", "endPointColor", "fill", "format", "height", "highPointColor", "lineWidth", "locale", "lowPointColor", "markerSettings", "negativePointColor", "opacity", "padding", "palette", "query", "rangeBandSettings", "rangePadding", "startPointColor", "theme", "tiePointColor", "tooltipSettings", "type", "useGroupingSeparator", "valueType", "width", "xName", "yName"], outputs: ["axisRendering", "dataLabelRendering", "load", "loaded", "markerRendering", "pointRegionMouseClick", "pointRegionMouseMove", "pointRendering", "resize", "seriesRendering", "sparklineMouseClick", "sparklineMouseMove", "tooltipInitialize"] }, { kind: "component", type: i7.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i7.MatLabel, selector: "mat-label" }, { 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.IconPickerComponent, selector: "bizdoc-icon-picker", inputs: ["value", "required", "disabled"], outputs: ["valueChanges"] }, { kind: "component", type: i13.PrivilegesDesignComponent, selector: "bizdoc-privileges", inputs: ["model"], outputs: ["change"] }, { kind: "pipe", type: i14.TranslatePipe, name: "translate" }] });
91
+ FormDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: FormDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<form autocomplete=\"off\" [formGroup]=\"form\" *ngIf=\"editMode; else info\">\r\n <bizdoc-icon-picker formControlName=\"icon\" required></bizdoc-icon-picker>\r\n <bizdoc-layout *ngIf=\"model.arguments\" [fields]=\"model.arguments\" [model]=\"model.options\" (modelChange)=\"setOptions($event)\"></bizdoc-layout>\r\n <bizdoc-privileges (change)=\"setPrivilieges($event)\" [model]=\"model.privileges\"></bizdoc-privileges>\r\n</form>\r\n<!---->\r\n<ng-template #info>\r\n <!--\r\n [theme]=\"theme\"\r\n [axisSettings]=\"axisSettings\"\r\n -->\r\n\r\n <ejs-sparkline *ngIf=\"usage\" width='250px' height='200px'\r\n type=\"Line\"\r\n [id]=\"model.name\"\r\n [fill]=\"primary\"\r\n [dataSource]=\"usage\"\r\n xName=\"date\"\r\n yName=\"count\"\r\n lineWidth=\"2\"\r\n valueType=\"DateTime\"\r\n [markerSettings]=\"markerSettings\"\r\n [tooltipSettings]=\"tooltipSettings\"\r\n [enableRtl]=\"enableRtl\">\r\n </ejs-sparkline>\r\n <div class=\"row\">\r\n <button mat-icon-button (click)=\"diagram()\" [bizdocTooltip]=\"'Workflow'|translate\" [disabled]=\"model.draft\"><mat-icon>schema</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"design()\" [bizdocTooltip]=\"'Designer'|translate\" [disabled]=\"model.draft\" *ngIf=\"model.type==='BizDoc.Configuration.Forms.Box'\"><mat-icon>design_services</mat-icon></button>\r\n </div>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i6.SparklineComponent, selector: "ejs-sparkline", inputs: ["axisSettings", "border", "containerArea", "dataLabelSettings", "dataSource", "enablePersistence", "enableRtl", "endPointColor", "fill", "format", "height", "highPointColor", "lineWidth", "locale", "lowPointColor", "markerSettings", "negativePointColor", "opacity", "padding", "palette", "query", "rangeBandSettings", "rangePadding", "startPointColor", "theme", "tiePointColor", "tooltipSettings", "type", "useGroupingSeparator", "valueType", "width", "xName", "yName"], outputs: ["axisRendering", "dataLabelRendering", "load", "loaded", "markerRendering", "pointRegionMouseClick", "pointRegionMouseMove", "pointRendering", "resize", "seriesRendering", "sparklineMouseClick", "sparklineMouseMove", "tooltipInitialize"] }, { 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: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i9.LayoutComponent, selector: "bizdoc-layout", inputs: ["fields", "model", "dirty", "params", "valid"], outputs: ["modelChange", "dirtyChange", "validChange"] }, { kind: "directive", type: i10.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "component", type: i11.IconPickerComponent, selector: "bizdoc-icon-picker", inputs: ["value", "required", "disabled"], outputs: ["valueChanges"] }, { kind: "component", type: i12.PrivilegesDesignComponent, selector: "bizdoc-privileges", inputs: ["model"], outputs: ["change"] }, { kind: "pipe", type: i13.TranslatePipe, name: "translate" }] });
101
92
  FormDesignComponent = __decorate([
102
93
  BizDoc({ selector: 'form-designer' })
103
94
  ], FormDesignComponent);
104
95
  export { FormDesignComponent };
105
96
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: FormDesignComponent, decorators: [{
106
97
  type: Component,
107
- args: [{ template: "<ng-container *ngIf=\"editMode; else info\">\r\n <form autocomplete=\"off\" [formGroup]=\"form\">\r\n <mat-form-field>\r\n <mat-label>{{'Name'|translate}}</mat-label>\r\n <input matInput formControlName=\"name\" required />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" required />\r\n </mat-form-field>\r\n <div>\r\n <!--<mat-label>{{'Icon'|translate}}</mat-label>-->\r\n <bizdoc-icon-picker formControlName=\"icon\" required></bizdoc-icon-picker>\r\n </div>\r\n </form>\r\n <bizdoc-layout *ngIf=\"model.arguments\" [fields]=\"model.arguments\" [model]=\"args\" (modelChange)=\"assignargs($event)\"></bizdoc-layout>\r\n <bizdoc-privileges (change)=\"change.emit()\" [model]=\"model.privileges\"></bizdoc-privileges>\r\n</ng-container>\r\n<!---->\r\n<ng-template #info>\r\n <!--\r\n [theme]=\"theme\"\r\n [axisSettings]=\"axisSettings\"\r\n -->\r\n\r\n <ejs-sparkline *ngIf=\"usage\" width='250px' height='200px'\r\n type=\"Line\"\r\n [id]=\"model.name\"\r\n [fill]=\"primary\"\r\n [dataSource]=\"usage\"\r\n xName=\"date\"\r\n yName=\"count\"\r\n lineWidth=\"2\"\r\n valueType=\"DateTime\"\r\n [markerSettings]=\"markerSettings\"\r\n [tooltipSettings]=\"tooltipSettings\"\r\n [enableRtl]=\"enableRtl\">\r\n </ejs-sparkline>\r\n <div class=\"row\">\r\n <button mat-icon-button (click)=\"diagram()\" [bizdocTooltip]=\"'Workflow'|translate\" [disabled]=\"model.draft\"><mat-icon>schema</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"design()\" [bizdocTooltip]=\"'Designer'|translate\" [disabled]=\"model.draft\" *ngIf=\"model.type==='BizDoc.Configuration.Forms.Box'\"><mat-icon>design_services</mat-icon></button>\r\n </div>\r\n</ng-template>\r\n" }]
108
- }], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.PanesRouter }, { type: i3.SystemService }, { type: i4.SessionService }, { type: i15.DesignerRef, decorators: [{
98
+ args: [{ template: "<form autocomplete=\"off\" [formGroup]=\"form\" *ngIf=\"editMode; else info\">\r\n <bizdoc-icon-picker formControlName=\"icon\" required></bizdoc-icon-picker>\r\n <bizdoc-layout *ngIf=\"model.arguments\" [fields]=\"model.arguments\" [model]=\"model.options\" (modelChange)=\"setOptions($event)\"></bizdoc-layout>\r\n <bizdoc-privileges (change)=\"setPrivilieges($event)\" [model]=\"model.privileges\"></bizdoc-privileges>\r\n</form>\r\n<!---->\r\n<ng-template #info>\r\n <!--\r\n [theme]=\"theme\"\r\n [axisSettings]=\"axisSettings\"\r\n -->\r\n\r\n <ejs-sparkline *ngIf=\"usage\" width='250px' height='200px'\r\n type=\"Line\"\r\n [id]=\"model.name\"\r\n [fill]=\"primary\"\r\n [dataSource]=\"usage\"\r\n xName=\"date\"\r\n yName=\"count\"\r\n lineWidth=\"2\"\r\n valueType=\"DateTime\"\r\n [markerSettings]=\"markerSettings\"\r\n [tooltipSettings]=\"tooltipSettings\"\r\n [enableRtl]=\"enableRtl\">\r\n </ejs-sparkline>\r\n <div class=\"row\">\r\n <button mat-icon-button (click)=\"diagram()\" [bizdocTooltip]=\"'Workflow'|translate\" [disabled]=\"model.draft\"><mat-icon>schema</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"design()\" [bizdocTooltip]=\"'Designer'|translate\" [disabled]=\"model.draft\" *ngIf=\"model.type==='BizDoc.Configuration.Forms.Box'\"><mat-icon>design_services</mat-icon></button>\r\n </div>\r\n</ng-template>\r\n" }]
99
+ }], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.PanesRouter }, { type: i3.SystemService }, { type: i4.SessionService }, { type: i14.DesignerRef, decorators: [{
109
100
  type: Inject,
110
101
  args: [DesignerRef]
111
102
  }] }]; } });
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL2NvbmZpZ3VyYXRpb24tZGVzaWduZXIvZWxlbWVudHMvZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL2NvbmZpZ3VyYXRpb24tZGVzaWduZXIvZWxlbWVudHMvZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFHMUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBS2xELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxXQUFXLEVBQW1CLE1BQU0sa0JBQWtCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBSWpGLG1CQUFtQixTQUFuQixtQkFBb0IsU0FBUSw0QkFBNEI7SUF1Qm5FLFlBQVksRUFBZSxFQUNqQixPQUFvQixFQUNwQixRQUF1QixFQUN2QixRQUF3QixFQUNYLEdBQWdCO1FBQ3JDLEtBQUssQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFKUCxZQUFPLEdBQVAsT0FBTyxDQUFhO1FBQ3BCLGFBQVEsR0FBUixRQUFRLENBQWU7UUFDdkIsYUFBUSxHQUFSLFFBQVEsQ0FBZ0I7UUF6QnpCLFVBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNwQyxVQUFLLEdBQWdDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7UUFDbkYs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L0JhLG1CQUFtQjtJQUQvQixNQUFNLENBQUMsRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUFFLENBQUM7R0FDekIsbUJBQW1CLENBK0UvQjtTQS9FWSxtQkFBbUI7MkZBQW5CLG1CQUFtQjtrQkFGL0IsU0FBUzs7OzBCQTZCTCxNQUFNOzJCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT25Jbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIFZhbGlkYXRvcnMgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgQXhpc1NldHRpbmdzTW9kZWwsIElQb2ludFJlZ2lvbkV2ZW50QXJncywgTGluZVNldHRpbmdzTW9kZWwsIFNwYXJrbGluZU1hcmtlclNldHRpbmdzTW9kZWwsIFNwYXJrbGluZVRvb2x0aXBTZXR0aW5nc01vZGVsLCBTcGFya2xpbmVUeXBlIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItY2hhcnRzJztcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgQml6RG9jIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvZGVjb3JhdG9yc1wiO1xyXG5pbXBvcnQgeyBSb3V0ZXJJbXBsIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvcm91dGVyXCI7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFBhbmVzUm91dGVyIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvc2xvdHMvcm91dGVyLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgU3lzdGVtU2VydmljZSwgUmFuZ2VJbmZvIH0gZnJvbSBcIi4uLy4uL3N5c3RlbS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IERlc2lnbmVyVHlwZUVsZW1lbnRDb21wb25lbnQsIERlc2lnbmVyUmVmLCBQZXJtaXNzaW9uTW9kZWwgfSBmcm9tIFwiLi4vZGVzaWduZXIuYmFzZVwiO1xyXG5cclxuQENvbXBvbmVudCh7IHRlbXBsYXRlVXJsOiAnZm9ybS5jb21wb25lbnQuaHRtbCcgfSlcclxuQEJpekRvYyh7IHNlbGVjdG9yOiAnZm9ybS1kZXNpZ25lcicgfSlcclxuZXhwb3J0IGNsYXNzIEZvcm1EZXNpZ25Db21wb25lbnQgZXh0ZW5kcyBEZXNpZ25lclR5cGVFbGVtZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICByZWFkb25seSBydWxlcyA9IHRoaXMuX2ZiLmFycmF5KFtdKTtcclxuICB0aGVtZTogJ01hdGVyaWFsJyB8ICdNYXRlcmlhbERhcmsnID0gdGhpcy5fc2Vzc2lvbi50aGVtZS5kYXJrID8gJ01hdGVyaWFsRGFyaycgOiAnTWF0ZXJpYWwnO1xyXG4gIHJlYWRvbmx5IGF4aXNTZXR0aW5ncyA9IHtcclxuICAgIGxpbmVTZXR0aW5nczoge1xyXG4gICAgfSBhcyBMaW5lU2V0dGluZ3NNb2RlbCxcclxuICB9IGFzIEF4aXNTZXR0aW5nc01vZGVsO1xyXG4gIHJlYWRvbmx5IG1hcmtlclNldHRpbmdzID0ge1xyXG4gICAgdmlzaWJsZTogWydBbGwnXSxcclxuICAgIHNpemU6IDEuNSxcclxuICAgIGZpbGw6IHRoaXMuX3Nlc3Npb24uZ2V0QWNjZW50KCksXHJcbiAgfSBhcyBTcGFya2xpbmVNYXJrZXJTZXR0aW5nc01vZGVsO1xyXG4gIHJlYWRvbmx5IHRvb2x0aXBTZXR0aW5ncyA9IHtcclxuICAgIHZpc2libGU6IHRydWUsXHJcbiAgICBmb3JtYXQ6ICcke2RhdGV9JyxcclxuICAgIHRyYWNrTGluZVNldHRpbmdzOiB7XHJcbiAgICAgIHZpc2libGU6IHRydWVcclxuICAgIH1cclxuICB9IGFzIFNwYXJrbGluZVRvb2x0aXBTZXR0aW5nc01vZGVsO1xyXG4gIHVzYWdlOiBSYW5nZUluZm9bXTtcclxuICBwcmltYXJ5ID0gdGhpcy5fc2Vzc2lvbi5nZXRQcmltZXJ5KCk7XHJcbiAgcmVhZG9ubHkgZW5hYmxlUnRsID0gdGhpcy5fc2Vzc2lvbi5pbnZlcnNlO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIGNvbnN0cnVjdG9yKGZiOiBGb3JtQnVpbGRlcixcclxuICAgIHByaXZhdGUgX3JvdXRlcjogUGFuZXNSb3V0ZXIsXHJcbiAgICBwcml2YXRlIF9zZXJ2aWNlOiBTeXN0ZW1TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UsXHJcbiAgICBASW5qZWN0KERlc2lnbmVyUmVmKSByZWY6IERlc2lnbmVyUmVmKSB7XHJcbiAgICBzdXBlcihmYiwgcmVmKTtcclxuICAgIHRoaXMuX3Nlc3Npb24udGhlbWVDaGFuZ2UucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLlxyXG4gICAgICBzdWJzY3JpYmUodCA9PiB7XHJcbiAgICAgICAgdGhpcy50aGVtZSA9IHQuZGFyayA/ICdNYXRlcmlhbERhcmsnIDogJ01hdGVyaWFsJztcclxuICAgICAgICB0aGlzLnByaW1hcnkgPSB0aGlzLl9zZXNzaW9uLmdldFByaW1lcnkoKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5mb3JtLmFkZENvbnRyb2woJ3J1bGVzJyBhcyBhbnksIHRoaXMuX2ZiLmNvbnRyb2wobnVsbCksIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuICAgIHRoaXMuZm9ybS5hZGRDb250cm9sKCdpY29uJyBhcyBhbnksIHRoaXMuX2ZiLmNvbnRyb2wodGhpcy5tb2RlbC5pY29uKSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG4gICAgdGhpcy5mb3JtLmFkZENvbnRyb2woJ19ydWxlcycgYXMgYW55LCB0aGlzLnJ1bGVzLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcbiAgICBpZiAoIXRoaXMubW9kZWwucHJpdmlsZWdlcykgdGhpcy5tb2RlbC5wcml2aWxlZ2VzID0ge307XHJcbiAgICB0aGlzLl9zZXJ2aWNlLnJhbmdlKHRoaXMubW9kZWwubmFtZSkuc3Vic2NyaWJlKHIgPT5cclxuICAgICAgdGhpcy51c2FnZSA9IHIpO1xyXG4gICAgdGhpcy5tb2RlbC5ydWxlcyAmJiB0aGlzLnJ1bGVzLnNldFZhbHVlKE9iamVjdC5rZXlzKHRoaXMubW9kZWwucnVsZXMpLlxyXG4gICAgICBtYXAociA9PiB7XHJcbiAgICAgICAgY29uc3QgcnVsZSA9IHRoaXMubW9kZWwucnVsZXNbcl07XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIG5hbWU6IHIsXHJcbiAgICAgICAgICB2YWx1ZTogcnVsZS5yb2xlcyB8fCBbXSxcclxuICAgICAgICAgIHJ1bGU6IHJ1bGUucnVsZSxcclxuICAgICAgICAgIHRpdGxlOiBydWxlLnRpdGxlXHJcbiAgICAgICAgfTtcclxuICAgICAgfSkpO1xyXG4gICAgdGhpcy5ydWxlcy52YWx1ZUNoYW5nZXMucGlwZSgpLnN1YnNjcmliZSh2ID0+IHtcclxuICAgICAgY29uc3QgcnVsZXMgPSB7fTtcclxuICAgICAgdi5mb3JFYWNoKChyOiBhbnkpID0+IHJ1bGVzW3IubmFtZV0gPSB7XHJcbiAgICAgICAgdGl0bGU6IHIudGl0bGUsXHJcbiAgICAgICAgcm9sZXM6IHIucm9sZXMsXHJcbiAgICAgICAgcnVsZTogci5ydWxlLFxyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5mb3JtLmdldDxhbnk+KCdydWxlcycpLnNldFZhbHVlKHJ1bGVzKTtcclxuICAgIH0pO1xyXG4gICAgc3VwZXIubmdPbkluaXQoKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfZm9ybXJ1bGUobmFtZTogc3RyaW5nLCBwZXJtaXNzaW9uOiBQZXJtaXNzaW9uTW9kZWwpIHtcclxuICAgIHJldHVybiB0aGlzLl9mYi5ncm91cCh7XHJcbiAgICAgIG5hbWU6IG51bGwsXHJcbiAgICAgIHRpdGxlOiBudWxsLFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGRpYWdyYW0oKSB7XHJcbiAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGUoWydhZG1pbi9mb3JtcycsIHRoaXMubW9kZWwubmFtZV0pO1xyXG4gIH1cclxuICBkZXNpZ24oKSB7XHJcbiAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGUoWydhZG1pbi91dGlsaXRpZXMvZm9ybS1kZXNpZ25lciddLCB7IHF1ZXJ5UGFyYW1zOiB7IGZvcm1JZDogdGhpcy5tb2RlbC5uYW1lIH0gfSk7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGVzdHJveS5uZXh0KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95LmNvbXBsZXRlKCk7XHJcbiAgfVxyXG59XHJcbmludGVyZmFjZSBNb2RlbCB7XHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImVkaXRNb2RlOyBlbHNlIGluZm9cIj5cclxuICA8Zm9ybSBhdXRvY29tcGxldGU9XCJvZmZcIiBbZm9ybUdyb3VwXT1cImZvcm1cIj5cclxuICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgPG1hdC1sYWJlbD57eydOYW1lJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwibmFtZVwiIHJlcXVpcmVkIC8+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8bWF0LWxhYmVsPnt7J1RpdGxlJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwidGl0bGVcIiByZXF1aXJlZCAvPlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDxkaXY+XHJcbiAgICAgIDwhLS08bWF0LWxhYmVsPnt7J0ljb24nfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+LS0+XHJcbiAgICAgIDxiaXpkb2MtaWNvbi1waWNrZXIgZm9ybUNvbnRyb2xOYW1lPVwiaWNvblwiIHJlcXVpcmVkPjwvYml6ZG9jLWljb24tcGlja2VyPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9mb3JtPlxyXG4gIDxiaXpkb2MtbGF5b3V0ICpuZ0lmPVwibW9kZWwuYXJndW1lbnRzXCIgW2ZpZWxkc109XCJtb2RlbC5hcmd1bWVudHNcIiBbbW9kZWxdPVwiYXJnc1wiIChtb2RlbENoYW5nZSk9XCJhc3NpZ25hcmdzKCRldmVudClcIj48L2JpemRvYy1sYXlvdXQ+XHJcbiAgPGJpemRvYy1wcml2aWxlZ2VzIChjaGFuZ2UpPVwiY2hhbmdlLmVtaXQoKVwiIFttb2RlbF09XCJtb2RlbC5wcml2aWxlZ2VzXCI+PC9iaXpkb2MtcHJpdmlsZWdlcz5cclxuPC9uZy1jb250YWluZXI+XHJcbjwhLS0tLT5cclxuPG5nLXRlbXBsYXRlICNpbmZvPlxyXG4gIDwhLS1cclxuICAgICAgICAgICAgICAgICBbdGhlbWVdPVwidGhlbWVcIlxyXG4gICAgICAgICAgICAgICAgIFtheGlzU2V0dGluZ3NdPVwiYXhpc1NldHRpbmdzXCJcclxuICAgIC0tPlxyXG5cclxuICA8ZWpzLXNwYXJrbGluZSAqbmdJZj1cInVzYWdlXCIgd2lkdGg9JzI1MHB4JyBoZWlnaHQ9JzIwMHB4J1xyXG4gICAgICAgICAgICAgICAgIHR5cGU9XCJMaW5lXCJcclxuICAgICAgICAgICAgICAgICBbaWRdPVwibW9kZWwubmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgW2ZpbGxdPVwicHJpbWFyeVwiXHJcbiAgICAgICAgICAgICAgICAgW2RhdGFTb3VyY2VdPVwidXNhZ2VcIlxyXG4gICAgICAgICAgICAgICAgIHhOYW1lPVwiZGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgeU5hbWU9XCJjb3VudFwiXHJcbiAgICAgICAgICAgICAgICAgbGluZVdpZHRoPVwiMlwiXHJcbiAgICAgICAgICAgICAgICAgdmFsdWVUeXBlPVwiRGF0ZVRpbWVcIlxyXG4gICAgICAgICAgICAgICAgIFttYXJrZXJTZXR0aW5nc109XCJtYXJrZXJTZXR0aW5nc1wiXHJcbiAgICAgICAgICAgICAgICAgW3Rvb2x0aXBTZXR0aW5nc109XCJ0b29sdGlwU2V0dGluZ3NcIlxyXG4gICAgICAgICAgICAgICAgIFtlbmFibGVSdGxdPVwiZW5hYmxlUnRsXCI+XHJcbiAgPC9lanMtc3BhcmtsaW5lPlxyXG4gIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJkaWFncmFtKClcIiBbYml6ZG9jVG9vbHRpcF09XCInV29ya2Zsb3cnfHRyYW5zbGF0ZVwiIFtkaXNhYmxlZF09XCJtb2RlbC5kcmFmdFwiPjxtYXQtaWNvbj5zY2hlbWE8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxyXG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImRlc2lnbigpXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ0Rlc2lnbmVyJ3x0cmFuc2xhdGVcIiBbZGlzYWJsZWRdPVwibW9kZWwuZHJhZnRcIiAqbmdJZj1cIm1vZGVsLnR5cGU9PT0nQml6RG9jLkNvbmZpZ3VyYXRpb24uRm9ybXMuQm94J1wiPjxtYXQtaWNvbj5kZXNpZ25fc2VydmljZXM8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL2NvbmZpZ3VyYXRpb24tZGVzaWduZXIvZWxlbWVudHMvZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL2NvbmZpZ3VyYXRpb24tZGVzaWduZXIvZWxlbWVudHMvZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFxQyxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUvRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFJbEQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLFdBQVcsRUFBbUIsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztJQUlqRixtQkFBbUIsU0FBbkIsbUJBQW9CLFNBQVEsNEJBQTRCO0lBMkJuRSxZQUFZLEVBQWUsRUFDakIsT0FBb0IsRUFDcEIsUUFBdUIsRUFDdkIsUUFBd0IsRUFDWCxHQUFnQjtRQUNyQyxLQUFLLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBSlAsWUFBTyxHQUFQLE9BQU8sQ0FBYTtRQUNwQixhQUFRLEdBQVIsUUFBUSxDQUFlO1FBQ3ZCLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBN0J6QixVQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDM0IsU0FBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO1lBQzdCLEtBQUssRUFB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Q0QsTUFBTTtRQUNKLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsK0JBQStCLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN6RyxDQUFDO0lBQ0QsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDO0NBQ0YsQ0FBQTtnSEF0RVksbUJBQW1CLG1JQStCcEIsV0FBVztvR0EvQlYsbUJBQW1CLDJFQ1poQyxrbERBK0JBO0FEbkJhLG1CQUFtQjtJQUQvQixNQUFNLENBQUMsRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUFFLENBQUM7R0FDekIsbUJBQW1CLENBc0UvQjtTQXRFWSxtQkFBbUI7MkZBQW5CLG1CQUFtQjtrQkFGL0IsU0FBUzs7OzBCQWlDTCxNQUFNOzJCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT25Jbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRm9ybUFycmF5LCBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IEF4aXNTZXR0aW5nc01vZGVsLCBJUG9pbnRSZWdpb25FdmVudEFyZ3MsIExpbmVTZXR0aW5nc01vZGVsLCBTcGFya2xpbmVNYXJrZXJTZXR0aW5nc01vZGVsLCBTcGFya2xpbmVUb29sdGlwU2V0dGluZ3NNb2RlbCwgU3BhcmtsaW5lVHlwZSB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLWNoYXJ0cyc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IEJpekRvYyB9IGZyb20gXCIuLi8uLi8uLi9jb3JlL2RlY29yYXRvcnNcIjtcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9zZXNzaW9uLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgUGFuZXNSb3V0ZXIgfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9zbG90cy9yb3V0ZXIuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBTeXN0ZW1TZXJ2aWNlLCBSYW5nZUluZm8gfSBmcm9tIFwiLi4vLi4vc3lzdGVtLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgRGVzaWduZXJUeXBlRWxlbWVudENvbXBvbmVudCwgRGVzaWduZXJSZWYsIFBlcm1pc3Npb25Nb2RlbCB9IGZyb20gXCIuLi9kZXNpZ25lci5iYXNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHsgdGVtcGxhdGVVcmw6ICdmb3JtLmNvbXBvbmVudC5odG1sJyB9KVxyXG5AQml6RG9jKHsgc2VsZWN0b3I6ICdmb3JtLWRlc2lnbmVyJyB9KVxyXG5leHBvcnQgY2xhc3MgRm9ybURlc2lnbkNvbXBvbmVudCBleHRlbmRzIERlc2lnbmVyVHlwZUVsZW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHJlYWRvbmx5IHJ1bGVzID0gdGhpcy5fZmIuYXJyYXkoW10pO1xyXG4gIHJlYWRvbmx5IGZvcm0gPSB0aGlzLl9mYi5ncm91cCh7XHJcbiAgICBydWxlczogdGhpcy5ydWxlcyxcclxuICAgIGljb246IG51bGxcclxuICB9KTtcclxuICB0aGVtZTogJ01hdGVyaWFsJyB8ICdNYXRlcmlhbERhcmsnID0gdGhpcy5fc2Vzc2lvbi50aGVtZS5kYXJrID8gJ01hdGVyaWFsRGFyaycgOiAnTWF0ZXJpYWwnO1xyXG4gIHJlYWRvbmx5IGF4aXNTZXR0aW5ncyA9IHtcclxuICAgIGxpbmVTZXR0aW5nczoge1xyXG4gICAgfSBhcyBMaW5lU2V0dGluZ3NNb2RlbCxcclxuICB9IGFzIEF4aXNTZXR0aW5nc01vZGVsO1xyXG4gIHJlYWRvbmx5IG1hcmtlclNldHRpbmdzID0ge1xyXG4gICAgdmlzaWJsZTogWydBbGwnXSxcclxuICAgIHNpemU6IDEuNSxcclxuICAgIGZpbGw6IHRoaXMuX3Nlc3Npb24uZ2V0QWNjZW50KCksXHJcbiAgfSBhcyBTcGFya2xpbmVNYXJrZXJTZXR0aW5nc01vZGVsO1xyXG4gIHJlYWRvbmx5IHRvb2x0aXBTZXR0aW5ncyA9IHtcclxuICAgIHZpc2libGU6IHRydWUsXHJcbiAgICBmb3JtYXQ6ICcke2RhdGV9JyxcclxuICAgIHRyYWNrTGluZVNldHRpbmdzOiB7XHJcbiAgICAgIHZpc2libGU6IHRydWVcclxuICAgIH1cclxuICB9IGFzIFNwYXJrbGluZVRvb2x0aXBTZXR0aW5nc01vZGVsO1xyXG4gIHVzYWdlOiBSYW5nZUluZm9bXTtcclxuICBwcmltYXJ5ID0gdGhpcy5fc2Vzc2lvbi5nZXRQcmltZXJ5KCk7XHJcbiAgcmVhZG9ubHkgZW5hYmxlUnRsID0gdGhpcy5fc2Vzc2lvbi5pbnZlcnNlO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIGNvbnN0cnVjdG9yKGZiOiBGb3JtQnVpbGRlcixcclxuICAgIHByaXZhdGUgX3JvdXRlcjogUGFuZXNSb3V0ZXIsXHJcbiAgICBwcml2YXRlIF9zZXJ2aWNlOiBTeXN0ZW1TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UsXHJcbiAgICBASW5qZWN0KERlc2lnbmVyUmVmKSByZWY6IERlc2lnbmVyUmVmKSB7XHJcbiAgICBzdXBlcihmYiwgcmVmKTtcclxuICAgIHRoaXMuX3Nlc3Npb24udGhlbWVDaGFuZ2UucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLlxyXG4gICAgICBzdWJzY3JpYmUodCA9PiB7XHJcbiAgICAgICAgdGhpcy50aGVtZSA9IHQuZGFyayA/ICdNYXRlcmlhbERhcmsnIDogJ01hdGVyaWFsJztcclxuICAgICAgICB0aGlzLnByaW1hcnkgPSB0aGlzLl9zZXNzaW9uLmdldFByaW1lcnkoKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgICBpZiAoIXRoaXMubW9kZWwucHJpdmlsZWdlcykgdGhpcy5tb2RlbC5wcml2aWxlZ2VzID0ge307XHJcbiAgICBpZiAodGhpcy5lZGl0TW9kZSlcclxuICAgICAgdGhpcy5tb2RlbC5ydWxlcz8uXHJcbiAgICAgICAgZm9yRWFjaChyID0+IHRoaXMucnVsZXMucHVzaCh0aGlzLl9mb3JtcnVsZShyKSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pKTtcclxuICAgIGVsc2VcclxuICAgICAgdGhpcy5fc2VydmljZS5yYW5nZSh0aGlzLm1vZGVsLm5hbWUpLnN1YnNjcmliZShyID0+XHJcbiAgICAgICAgdGhpcy51c2FnZSA9IHIpO1xyXG4gICAgc3VwZXIubmdPbkluaXQoKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfZm9ybXJ1bGUocnVsZT86IFBlcm1pc3Npb25Nb2RlbCk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZmIuZ3JvdXAoe1xyXG4gICAgICBuYW1lOiB0aGlzLl9mYi5jb250cm9sKHJ1bGU/Lm5hbWUsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG4gICAgICByb2xlczogcnVsZT8ucm9sZXMsXHJcbiAgICAgIHJ1bGU6IHJ1bGU/LnJ1bGUsXHJcbiAgICAgIHRpdGxlOiBydWxlPy50aXRsZVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGFkZHJ1bGUoKSB7XHJcbiAgICB0aGlzLnJ1bGVzLnB1c2godGhpcy5fZm9ybXJ1bGUoKSlcclxuICB9XHJcbiAgZGlhZ3JhbSgpIHtcclxuICAgIHRoaXMuX3JvdXRlci5uYXZpZ2F0ZShbJ2FkbWluL2Zvcm1zJywgdGhpcy5tb2RlbC5uYW1lXSk7XHJcbiAgfVxyXG4gIGRlc2lnbigpIHtcclxuICAgIHRoaXMuX3JvdXRlci5uYXZpZ2F0ZShbJ2FkbWluL3V0aWxpdGllcy9mb3JtLWRlc2lnbmVyJ10sIHsgcXVlcnlQYXJhbXM6IHsgZm9ybUlkOiB0aGlzLm1vZGVsLm5hbWUgfSB9KTtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kZXN0cm95Lm5leHQoKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kuY29tcGxldGUoKTtcclxuICB9XHJcbn1cclxuaW50ZXJmYWNlIE1vZGVsIHtcclxufVxyXG4iLCI8Zm9ybSBhdXRvY29tcGxldGU9XCJvZmZcIiBbZm9ybUdyb3VwXT1cImZvcm1cIiAqbmdJZj1cImVkaXRNb2RlOyBlbHNlIGluZm9cIj5cclxuICA8Yml6ZG9jLWljb24tcGlja2VyIGZvcm1Db250cm9sTmFtZT1cImljb25cIiByZXF1aXJlZD48L2JpemRvYy1pY29uLXBpY2tlcj5cclxuICA8Yml6ZG9jLWxheW91dCAqbmdJZj1cIm1vZGVsLmFyZ3VtZW50c1wiIFtmaWVsZHNdPVwibW9kZWwuYXJndW1lbnRzXCIgW21vZGVsXT1cIm1vZGVsLm9wdGlvbnNcIiAobW9kZWxDaGFuZ2UpPVwic2V0T3B0aW9ucygkZXZlbnQpXCI+PC9iaXpkb2MtbGF5b3V0PlxyXG4gIDxiaXpkb2MtcHJpdmlsZWdlcyAoY2hhbmdlKT1cInNldFByaXZpbGllZ2VzKCRldmVudClcIiBbbW9kZWxdPVwibW9kZWwucHJpdmlsZWdlc1wiPjwvYml6ZG9jLXByaXZpbGVnZXM+XHJcbjwvZm9ybT5cclxuPCEtLS0tPlxyXG48bmctdGVtcGxhdGUgI2luZm8+XHJcbiAgPCEtLVxyXG4gICAgICAgICAgICAgICAgIFt0aGVtZV09XCJ0aGVtZVwiXHJcbiAgICAgICAgICAgICAgICAgW2F4aXNTZXR0aW5nc109XCJheGlzU2V0dGluZ3NcIlxyXG4gICAgLS0+XHJcblxyXG4gIDxlanMtc3BhcmtsaW5lICpuZ0lmPVwidXNhZ2VcIiB3aWR0aD0nMjUwcHgnIGhlaWdodD0nMjAwcHgnXHJcbiAgICAgICAgICAgICAgICAgdHlwZT1cIkxpbmVcIlxyXG4gICAgICAgICAgICAgICAgIFtpZF09XCJtb2RlbC5uYW1lXCJcclxuICAgICAgICAgICAgICAgICBbZmlsbF09XCJwcmltYXJ5XCJcclxuICAgICAgICAgICAgICAgICBbZGF0YVNvdXJjZV09XCJ1c2FnZVwiXHJcbiAgICAgICAgICAgICAgICAgeE5hbWU9XCJkYXRlXCJcclxuICAgICAgICAgICAgICAgICB5TmFtZT1cImNvdW50XCJcclxuICAgICAgICAgICAgICAgICBsaW5lV2lkdGg9XCIyXCJcclxuICAgICAgICAgICAgICAgICB2YWx1ZVR5cGU9XCJEYXRlVGltZVwiXHJcbiAgICAgICAgICAgICAgICAgW21hcmtlclNldHRpbmdzXT1cIm1hcmtlclNldHRpbmdzXCJcclxuICAgICAgICAgICAgICAgICBbdG9vbHRpcFNldHRpbmdzXT1cInRvb2x0aXBTZXR0aW5nc1wiXHJcbiAgICAgICAgICAgICAgICAgW2VuYWJsZVJ0bF09XCJlbmFibGVSdGxcIj5cclxuICA8L2Vqcy1zcGFya2xpbmU+XHJcbiAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImRpYWdyYW0oKVwiIFtiaXpkb2NUb29sdGlwXT1cIidXb3JrZmxvdyd8dHJhbnNsYXRlXCIgW2Rpc2FibGVkXT1cIm1vZGVsLmRyYWZ0XCI+PG1hdC1pY29uPnNjaGVtYTwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XHJcbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiZGVzaWduKClcIiBbYml6ZG9jVG9vbHRpcF09XCInRGVzaWduZXInfHRyYW5zbGF0ZVwiIFtkaXNhYmxlZF09XCJtb2RlbC5kcmFmdFwiICpuZ0lmPVwibW9kZWwudHlwZT09PSdCaXpEb2MuQ29uZmlndXJhdGlvbi5Gb3Jtcy5Cb3gnXCI+PG1hdC1pY29uPmRlc2lnbl9zZXJ2aWNlczwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
@@ -1,51 +1,58 @@
1
1
  import { __decorate } from "tslib";
2
- import { moveItemInArray } from "@angular/cdk/drag-drop";
3
2
  import { Component } from "@angular/core";
4
3
  import { BizDoc } from "../../../core/decorators";
5
4
  import { DesignerTypeElementComponent } from "../designer.base";
6
5
  import * as i0 from "@angular/core";
7
6
  import * as i1 from "@angular/common";
8
7
  import * as i2 from "@angular/forms";
9
- import * as i3 from "@angular/material/form-field";
10
- import * as i4 from "@angular/material/input";
11
- import * as i5 from "../privileges.component";
12
- import * as i6 from "../../../core/pipes/translate.pipe";
8
+ import * as i3 from "@angular/cdk/drag-drop";
9
+ import * as i4 from "@angular/material/form-field";
10
+ import * as i5 from "@angular/material/button";
11
+ import * as i6 from "@angular/material/input";
12
+ import * as i7 from "@angular/material/icon";
13
+ import * as i8 from "../../../core/popup/tooltip.directive";
14
+ import * as i9 from "../privileges.component";
15
+ import * as i10 from "../../../core/pipes/translate.pipe";
13
16
  let GuideDesignComponent = class GuideDesignComponent extends DesignerTypeElementComponent {
14
17
  constructor() {
15
18
  super(...arguments);
16
19
  this.steps = this._fb.array([]);
20
+ this.form = this._fb.group({
21
+ steps: this.steps,
22
+ });
17
23
  }
18
24
  ngOnInit() {
19
- super.ngOnInit();
20
- this.form.addControl('steps', this.steps);
21
25
  if (!this.model.privileges)
22
26
  this.model.privileges = {};
23
27
  if (!this.model.steps)
24
28
  this.model.steps = [];
25
- else
29
+ else if (this.editMode)
26
30
  this.model.steps.forEach(s => this.steps.push(this._stepform(s), { emitEvent: false }));
27
- }
28
- drop(event) {
29
- moveItemInArray(event.container.data, event.previousIndex, event.currentIndex);
31
+ super.ngOnInit();
30
32
  }
31
33
  add() {
32
- this.steps.push(this._stepform({}));
34
+ this.steps.push(this._stepform());
35
+ }
36
+ remove(index) {
37
+ this.steps.removeAt(index);
33
38
  }
34
39
  _stepform(step) {
35
40
  return this._fb.group({
36
- content: step.content,
37
- title: step.title,
41
+ content: step?.content,
42
+ title: step?.title,
43
+ selector: step?.selector,
44
+ position: step?.position,
38
45
  });
39
46
  }
40
47
  };
41
48
  GuideDesignComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: GuideDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
42
- GuideDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: GuideDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"editMode; else info\">\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-form-field class=\"flex\">\r\n <mat-label>{{'Name'|translate}}</mat-label>\r\n <input matInput formControlName=\"name\" required />\r\n <h2 class=\"mat-title\">{{'Steps'|translate}}</h2>\r\n </mat-form-field>\r\n </form>\r\n <bizdoc-privileges (change)=\"change.emit()\" [model]=\"model.privileges\"></bizdoc-privileges>\r\n</ng-container>\r\n<!---->\r\n<ng-template #info>\r\n <dl>\r\n <dt></dt>\r\n <dd></dd>\r\n <dt></dt>\r\n <dd></dd>\r\n <dt></dt>\r\n <dd></dd>\r\n </dl>\r\n</ng-template>\r\n", dependencies: [{ 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: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.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: i5.PrivilegesDesignComponent, selector: "bizdoc-privileges", inputs: ["model"], outputs: ["change"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
49
+ GuideDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: GuideDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\" *ngIf=\"editMode; else info\">\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\r\n <bizdoc-privileges (change)=\"setPrivilieges($event)\" [model]=\"model.privileges\"></bizdoc-privileges>\r\n</form>\r\n<!---->\r\n<ng-template #info>\r\n <dl>\r\n <dt></dt>\r\n <dd></dd>\r\n <dt></dt>\r\n <dd></dd>\r\n <dt></dt>\r\n <dd></dd>\r\n </dl>\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: "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: "component", type: i9.PrivilegesDesignComponent, selector: "bizdoc-privileges", inputs: ["model"], outputs: ["change"] }, { kind: "pipe", type: i10.TranslatePipe, name: "translate" }] });
43
50
  GuideDesignComponent = __decorate([
44
51
  BizDoc({ selector: 'guide-designer' })
45
52
  ], GuideDesignComponent);
46
53
  export { GuideDesignComponent };
47
54
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: GuideDesignComponent, decorators: [{
48
55
  type: Component,
49
- args: [{ template: "<ng-container *ngIf=\"editMode; else info\">\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-form-field class=\"flex\">\r\n <mat-label>{{'Name'|translate}}</mat-label>\r\n <input matInput formControlName=\"name\" required />\r\n <h2 class=\"mat-title\">{{'Steps'|translate}}</h2>\r\n </mat-form-field>\r\n </form>\r\n <bizdoc-privileges (change)=\"change.emit()\" [model]=\"model.privileges\"></bizdoc-privileges>\r\n</ng-container>\r\n<!---->\r\n<ng-template #info>\r\n <dl>\r\n <dt></dt>\r\n <dd></dd>\r\n <dt></dt>\r\n <dd></dd>\r\n <dt></dt>\r\n <dd></dd>\r\n </dl>\r\n</ng-template>\r\n" }]
56
+ args: [{ template: "<form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\" *ngIf=\"editMode; else info\">\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\r\n <bizdoc-privileges (change)=\"setPrivilieges($event)\" [model]=\"model.privileges\"></bizdoc-privileges>\r\n</form>\r\n<!---->\r\n<ng-template #info>\r\n <dl>\r\n <dt></dt>\r\n <dd></dd>\r\n <dt></dt>\r\n <dd></dd>\r\n <dt></dt>\r\n <dd></dd>\r\n </dl>\r\n</ng-template>\r\n" }]
50
57
  }] });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VpZGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9jb25maWd1cmF0aW9uLWRlc2lnbmVyL2VsZW1lbnRzL2d1aWRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvYWRtaW4vY29uZmlndXJhdGlvbi1kZXNpZ25lci9lbGVtZW50cy9ndWlkZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFlLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRWxELE9BQU8sRUFBRSw0QkFBNEIsRUFBZ0IsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7Ozs7SUFJakUsb0JBQW9CLFNBQXBCLG9CQUFxQixTQUFRLDRCQUE0Qjs7O1FBQzNELFVBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztLQW9CckM7SUFuQkMsUUFBUTtRQUNOLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFjLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVU7WUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDdkQsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSztZQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQzs7WUFDeEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDL0YsQ0FBQztJQUNELElBQUksQ0FBQyxLQUE0QjtRQUMvQixlQUFlLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDakYsQ0FBQztJQUNELEdBQUc7UUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQVMsQ0FBQyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUNPLFNBQVMsQ0FBQyxJQUFlO1FBQy9CLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7WUFDcEIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztTQUNsQixDQUFDLENBQUE7SUFDSixDQUFDO0NBQ0YsQ0FBQTtpSEFyQlksb0JBQW9CO3FHQUFwQixvQkFBb0IsMkVDVGpDLGkxQkF5QkE7QURoQmEsb0JBQW9CO0lBRGhDLE1BQU0sQ0FBQyxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDO0dBQzFCLG9CQUFvQixDQXFCaEM7U0FyQlksb0JBQW9COzJGQUFwQixvQkFBb0I7a0JBRmhDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZGtEcmFnRHJvcCwgbW92ZUl0ZW1JbkFycmF5IH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9kcmFnLWRyb3BcIjtcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBWYWxpZGF0b3JzIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IEJpekRvYyB9IGZyb20gXCIuLi8uLi8uLi9jb3JlL2RlY29yYXRvcnNcIjtcclxuaW1wb3J0IHsgR3VpZGVTdGVwIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvbW9kZWxzXCI7XHJcbmltcG9ydCB7IERlc2lnbmVyVHlwZUVsZW1lbnRDb21wb25lbnQsIEVsZW1lbnRNb2RlbCB9IGZyb20gXCIuLi9kZXNpZ25lci5iYXNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHsgdGVtcGxhdGVVcmw6ICdndWlkZS5jb21wb25lbnQuaHRtbCcgfSlcclxuQEJpekRvYyh7IHNlbGVjdG9yOiAnZ3VpZGUtZGVzaWduZXInIH0pXHJcbmV4cG9ydCBjbGFzcyBHdWlkZURlc2lnbkNvbXBvbmVudCBleHRlbmRzIERlc2lnbmVyVHlwZUVsZW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHJlYWRvbmx5IHN0ZXBzID0gdGhpcy5fZmIuYXJyYXkoW10pO1xyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgIHRoaXMuZm9ybS5hZGRDb250cm9sKCdzdGVwcycgYXMgYW55LCB0aGlzLnN0ZXBzKTtcclxuICAgIGlmICghdGhpcy5tb2RlbC5wcml2aWxlZ2VzKSB0aGlzLm1vZGVsLnByaXZpbGVnZXMgPSB7fTtcclxuICAgIGlmICghdGhpcy5tb2RlbC5zdGVwcykgdGhpcy5tb2RlbC5zdGVwcyA9IFtdO1xyXG4gICAgZWxzZSB0aGlzLm1vZGVsLnN0ZXBzLmZvckVhY2gocyA9PiB0aGlzLnN0ZXBzLnB1c2godGhpcy5fc3RlcGZvcm0ocyksIHsgZW1pdEV2ZW50OiBmYWxzZSB9KSk7XHJcbiAgfVxyXG4gIGRyb3AoZXZlbnQ6IENka0RyYWdEcm9wPHN0cmluZ1tdPikge1xyXG4gICAgbW92ZUl0ZW1JbkFycmF5KGV2ZW50LmNvbnRhaW5lci5kYXRhLCBldmVudC5wcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpO1xyXG4gIH1cclxuICBhZGQoKSB7XHJcbiAgICB0aGlzLnN0ZXBzLnB1c2godGhpcy5fc3RlcGZvcm0oe30gYXMgYW55KSk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX3N0ZXBmb3JtKHN0ZXA6IEd1aWRlU3RlcCk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZmIuZ3JvdXAoe1xyXG4gICAgICBjb250ZW50OiBzdGVwLmNvbnRlbnQsXHJcbiAgICAgIHRpdGxlOiBzdGVwLnRpdGxlLFxyXG4gICAgfSlcclxuICB9XHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImVkaXRNb2RlOyBlbHNlIGluZm9cIj5cclxuICA8Zm9ybSBhdXRvY29tcGxldGU9XCJvZmZcIiBbZm9ybUdyb3VwXT1cImZvcm1cIiBjbGFzcz1cImNvbHVtblwiPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZmxleFwiPlxyXG4gICAgICA8bWF0LWxhYmVsPnt7J1RpdGxlJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwidGl0bGVcIiByZXF1aXJlZCAvPlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZsZXhcIj5cclxuICAgICAgPG1hdC1sYWJlbD57eydOYW1lJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwibmFtZVwiIHJlcXVpcmVkIC8+XHJcbiAgICAgIDxoMiBjbGFzcz1cIm1hdC10aXRsZVwiPnt7J1N0ZXBzJ3x0cmFuc2xhdGV9fTwvaDI+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gIDwvZm9ybT5cclxuICA8Yml6ZG9jLXByaXZpbGVnZXMgKGNoYW5nZSk9XCJjaGFuZ2UuZW1pdCgpXCIgW21vZGVsXT1cIm1vZGVsLnByaXZpbGVnZXNcIj48L2JpemRvYy1wcml2aWxlZ2VzPlxyXG48L25nLWNvbnRhaW5lcj5cclxuPCEtLS0tPlxyXG48bmctdGVtcGxhdGUgI2luZm8+XHJcbiAgPGRsPlxyXG4gICAgPGR0PjwvZHQ+XHJcbiAgICA8ZGQ+PC9kZD5cclxuICAgIDxkdD48L2R0PlxyXG4gICAgPGRkPjwvZGQ+XHJcbiAgICA8ZHQ+PC9kdD5cclxuICAgIDxkZD48L2RkPlxyXG4gIDwvZGw+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VpZGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9jb25maWd1cmF0aW9uLWRlc2lnbmVyL2VsZW1lbnRzL2d1aWRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvYWRtaW4vY29uZmlndXJhdGlvbi1kZXNpZ25lci9lbGVtZW50cy9ndWlkZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFbEQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7Ozs7Ozs7OztJQUluRCxvQkFBb0IsU0FBcEIsb0JBQXFCLFNBQVEsNEJBQTRCOzs7UUFDNUQsVUFBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzFCLFNBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztZQUM3QixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7U0FDbEIsQ0FBQyxDQUFDO0tBdUJKO0lBdEJDLFFBQVE7UUFDSixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVO1lBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ3pELElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUs7WUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7YUFFN0MsSUFBSSxJQUFJLENBQUMsUUFBUTtZQUNiLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzVGLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBQ0QsR0FBRztRQUNELElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFDRCxNQUFNLENBQUMsS0FBSztRQUNWLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFDTyxTQUFTLENBQUMsSUFBZ0I7UUFDaEMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztZQUNwQixPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU87WUFDdEIsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLO1lBQ2xCLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUTtZQUN4QixRQUFRLEVBQUUsSUFBSSxFQUFFLFFBQVE7U0FDekIsQ0FBQyxDQUFBO0lBQ0osQ0FBQztDQUNGLENBQUE7aUhBM0JZLG9CQUFvQjtxR0FBcEIsb0JBQW9CLDJFQ1BqQyx5M0NBZ0NBO0FEekJhLG9CQUFvQjtJQURoQyxNQUFNLENBQUMsRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQztHQUMxQixvQkFBb0IsQ0EyQmhDO1NBM0JZLG9CQUFvQjsyRkFBcEIsb0JBQW9CO2tCQUZoQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBCaXpEb2MgfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9kZWNvcmF0b3JzXCI7XHJcbmltcG9ydCB7IEd1aWRlU3RlcCB9IGZyb20gXCIuLi8uLi8uLi9jb3JlL21vZGVsc1wiO1xyXG5pbXBvcnQgeyBEZXNpZ25lclR5cGVFbGVtZW50Q29tcG9uZW50IH0gZnJvbSBcIi4uL2Rlc2lnbmVyLmJhc2VcIjtcclxuXHJcbkBDb21wb25lbnQoeyB0ZW1wbGF0ZVVybDogJ2d1aWRlLmNvbXBvbmVudC5odG1sJyB9KVxyXG5AQml6RG9jKHsgc2VsZWN0b3I6ICdndWlkZS1kZXNpZ25lcicgfSlcclxuZXhwb3J0IGNsYXNzIEd1aWRlRGVzaWduQ29tcG9uZW50IGV4dGVuZHMgRGVzaWduZXJUeXBlRWxlbWVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiByZWFkb25seSBzdGVwcyA9IHRoaXMuX2ZiLmFycmF5KFtdKTtcclxuICByZWFkb25seSBmb3JtID0gdGhpcy5fZmIuZ3JvdXAoe1xyXG4gICAgc3RlcHM6IHRoaXMuc3RlcHMsXHJcbiAgfSk7XHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICAgIGlmICghdGhpcy5tb2RlbC5wcml2aWxlZ2VzKSB0aGlzLm1vZGVsLnByaXZpbGVnZXMgPSB7fTtcclxuICAgIGlmICghdGhpcy5tb2RlbC5zdGVwcykgdGhpcy5tb2RlbC5zdGVwcyA9IFtdO1xyXG4gICAgZWxzZVxyXG4gICAgaWYgKHRoaXMuZWRpdE1vZGUpXHJcbiAgICAgICAgdGhpcy5tb2RlbC5zdGVwcy5mb3JFYWNoKHMgPT4gdGhpcy5zdGVwcy5wdXNoKHRoaXMuX3N0ZXBmb3JtKHMpLCB7IGVtaXRFdmVudDogZmFsc2UgfSkpO1xyXG4gICAgc3VwZXIubmdPbkluaXQoKTtcclxuICB9XHJcbiAgYWRkKCkge1xyXG4gICAgdGhpcy5zdGVwcy5wdXNoKHRoaXMuX3N0ZXBmb3JtKCkpO1xyXG4gIH1cclxuICByZW1vdmUoaW5kZXgpIHtcclxuICAgIHRoaXMuc3RlcHMucmVtb3ZlQXQoaW5kZXgpO1xyXG4gIH1cclxuICBwcml2YXRlIF9zdGVwZm9ybShzdGVwPzogR3VpZGVTdGVwKTogYW55IHtcclxuICAgIHJldHVybiB0aGlzLl9mYi5ncm91cCh7XHJcbiAgICAgIGNvbnRlbnQ6IHN0ZXA/LmNvbnRlbnQsXHJcbiAgICAgIHRpdGxlOiBzdGVwPy50aXRsZSxcclxuICAgICAgc2VsZWN0b3I6IHN0ZXA/LnNlbGVjdG9yLFxyXG4gICAgICBwb3NpdGlvbjogc3RlcD8ucG9zaXRpb24sXHJcbiAgICB9KVxyXG4gIH1cclxufVxyXG4iLCI8Zm9ybSBhdXRvY29tcGxldGU9XCJvZmZcIiBbZm9ybUdyb3VwXT1cImZvcm1cIiBjbGFzcz1cImNvbHVtblwiICpuZ0lmPVwiZWRpdE1vZGU7IGVsc2UgaW5mb1wiPlxyXG4gIDxoMiBjbGFzcz1cIm1hdC10aXRsZVwiPnt7J1N0ZXBzJ3x0cmFuc2xhdGV9fTwvaDI+XHJcbiAgPGRpdiBmb3JtQXJyYXlOYW1lPVwic3RlcHNcIiBjbGFzcz1cImNvbHVtblwiIGNka0Ryb3BMaXN0IChjZGtEcm9wTGlzdERyb3BwZWQpPVwiZHJvcCgkZXZlbnQsIHRoaXMuc3RlcHMpXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93XCIgKm5nRm9yPVwibGV0IHMgb2Ygc3RlcHMuY29udHJvbHM7IGluZGV4IGFzIGluZGV4XCIgW2Zvcm1Hcm91cF09XCJzXCIgY2RrRHJhZz5cclxuICAgICAgPG1hdC1pY29uIGNka0RyYWdIYW5kbGU+ZHJhZ19pbmRpY2F0b3I8L21hdC1pY29uPlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJmbGV4XCI+XHJcbiAgICAgICAgPG1hdC1sYWJlbD57eydUaXRsZSd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwidGl0bGVcIiAvPlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAmbmJzcDtcclxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZmxleFwiPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+e3snQ29udGVudCd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwiY29udGVudFwiIHJlcXVpcmVkIC8+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJyZW1vdmUoaW5kZXgpXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ1JlbW92ZSd8dHJhbnNsYXRlXCI+PG1hdC1pY29uPmRlbGV0ZTwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiYWRkKClcIiBbYml6ZG9jVG9vbHRpcF09XCInQWRkJ3x0cmFuc2xhdGVcIj48bWF0LWljb24+YWRkPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuXHJcbiAgPGJpemRvYy1wcml2aWxlZ2VzIChjaGFuZ2UpPVwic2V0UHJpdmlsaWVnZXMoJGV2ZW50KVwiIFttb2RlbF09XCJtb2RlbC5wcml2aWxlZ2VzXCI+PC9iaXpkb2MtcHJpdmlsZWdlcz5cclxuPC9mb3JtPlxyXG48IS0tLS0+XHJcbjxuZy10ZW1wbGF0ZSAjaW5mbz5cclxuICA8ZGw+XHJcbiAgICA8ZHQ+PC9kdD5cclxuICAgIDxkZD48L2RkPlxyXG4gICAgPGR0PjwvZHQ+XHJcbiAgICA8ZGQ+PC9kZD5cclxuICAgIDxkdD48L2R0PlxyXG4gICAgPGRkPjwvZGQ+XHJcbiAgPC9kbD5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
@@ -1,5 +1,4 @@
1
1
  import { __decorate } from "tslib";
2
- import { moveItemInArray } from "@angular/cdk/drag-drop";
3
2
  import { Component } from "@angular/core";
4
3
  import { Validators } from "@angular/forms";
5
4
  import { BizDoc } from "../../../core/decorators";
@@ -33,37 +32,34 @@ let MatrixViewDesignComponent = class MatrixViewDesignComponent extends Designer
33
32
  });
34
33
  }
35
34
  ngOnInit() {
36
- if (this.args.sum) {
37
- if (isArray(this.args.sum))
38
- this.args.sum.forEach(s => this.add(s));
35
+ if (this.options.sum) {
36
+ if (isArray(this.options.sum))
37
+ this.options.sum.forEach(s => this.add(s));
39
38
  else
40
- this.add(this.args.sum);
39
+ this.add(this.options.sum);
41
40
  }
42
41
  super.ngOnInit();
43
42
  }
44
43
  add(sum) {
45
44
  this.sum.push(this._fb.group({
46
- axis: sum?.axis || 'series',
45
+ axis: sum?.axis || 'Series',
47
46
  title: this._fb.control(sum?.title, Validators.required),
48
- value: sum?.value,
49
- format: sum?.format,
50
- precision: sum?.precision,
51
- explorable: sum?.explorable,
52
- calculate: sum?.calculate
47
+ value: sum?.value || null,
48
+ format: sum?.format || 'Currency',
49
+ precision: sum?.precision || null,
50
+ explorable: sum?.explorable || null,
51
+ calculate: sum?.calculate || 'Sum'
53
52
  }));
54
53
  }
55
- drop(event) {
56
- moveItemInArray(this.model.axes, event.previousIndex, event.currentIndex);
57
- }
58
54
  };
59
55
  MatrixViewDesignComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: MatrixViewDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
60
- MatrixViewDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: MatrixViewDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"editMode; else info\">\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 <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>\r\n <mat-label>{{'Filters'|translate}}</mat-label>\r\n <mat-select formControlName=\"filters\" multiple (selectionChange)=\"forthSelected($event)\">\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\">\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>{{'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)\">\r\n <div class=\"row\" *ngFor=\"let s of sum.controls; index as index\" [formGroup]=\"s\" cdkDrag cdkDragRootElement=\".drag\">\r\n <mat-icon class=\"drag\">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-label>{{'Axis'|translate}}</mat-label>\r\n <mat-radio-group formControlName=\"axis\">\r\n <mat-radio-button value=\"xAxis\">{{'X'|translate}}</mat-radio-button>\r\n <mat-radio-button value=\"series\">{{'Y'|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=\"accumulate\">{{'Accumulate'|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 </form>\r\n <!--<ng-container *ngIf=\"cube\">\r\n <h2 class=\"mat-title\">{{'Filters'|translate}}</h2>\r\n <bizdoc-cube-filter [cube]=\"cube.name\" [(axes)]=\"form.controls.filters.value\"></bizdoc-cube-filter>\r\n </ng-container>\r\n --> \r\n</ng-container>\r\n<ng-template #info></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: 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: "pipe", type: i12.TranslatePipe, name: "translate" }] });
56
+ MatrixViewDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: MatrixViewDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"editMode; else info\">\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 </form>\r\n <!--<ng-container *ngIf=\"cube\">\r\n <h2 class=\"mat-title\">{{'Filters'|translate}}</h2>\r\n <bizdoc-cube-filter [cube]=\"cube.name\" [(axes)]=\"form.controls.filters.value\"></bizdoc-cube-filter>\r\n </ng-container>\r\n -->\r\n</ng-container>\r\n<ng-template #info></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: "pipe", type: i12.TranslatePipe, name: "translate" }] });
61
57
  MatrixViewDesignComponent = __decorate([
62
58
  BizDoc({ selector: 'matrix-view-designer' })
63
59
  ], MatrixViewDesignComponent);
64
60
  export { MatrixViewDesignComponent };
65
61
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: MatrixViewDesignComponent, decorators: [{
66
62
  type: Component,
67
- args: [{ template: "<ng-container *ngIf=\"editMode; else info\">\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 <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>\r\n <mat-label>{{'Filters'|translate}}</mat-label>\r\n <mat-select formControlName=\"filters\" multiple (selectionChange)=\"forthSelected($event)\">\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\">\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>{{'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)\">\r\n <div class=\"row\" *ngFor=\"let s of sum.controls; index as index\" [formGroup]=\"s\" cdkDrag cdkDragRootElement=\".drag\">\r\n <mat-icon class=\"drag\">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-label>{{'Axis'|translate}}</mat-label>\r\n <mat-radio-group formControlName=\"axis\">\r\n <mat-radio-button value=\"xAxis\">{{'X'|translate}}</mat-radio-button>\r\n <mat-radio-button value=\"series\">{{'Y'|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=\"accumulate\">{{'Accumulate'|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 </form>\r\n <!--<ng-container *ngIf=\"cube\">\r\n <h2 class=\"mat-title\">{{'Filters'|translate}}</h2>\r\n <bizdoc-cube-filter [cube]=\"cube.name\" [(axes)]=\"form.controls.filters.value\"></bizdoc-cube-filter>\r\n </ng-container>\r\n --> \r\n</ng-container>\r\n<ng-template #info></ng-template>\r\n" }]
63
+ args: [{ template: "<ng-container *ngIf=\"editMode; else info\">\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 </form>\r\n <!--<ng-container *ngIf=\"cube\">\r\n <h2 class=\"mat-title\">{{'Filters'|translate}}</h2>\r\n <bizdoc-cube-filter [cube]=\"cube.name\" [(axes)]=\"form.controls.filters.value\"></bizdoc-cube-filter>\r\n </ng-container>\r\n -->\r\n</ng-container>\r\n<ng-template #info></ng-template>\r\n" }]
68
64
  }] });
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0cml4LXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9jb25maWd1cmF0aW9uLWRlc2lnbmVyL2VsZW1lbnRzL21hdHJpeC12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvYWRtaW4vY29uZmlndXJhdGlvbi1kZXNpZ25lci9lbGVtZW50cy9tYXRyaXgtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFlLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHbEQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7Ozs7Ozs7Ozs7O0lBSW5ELHlCQUF5QixTQUF6Qix5QkFBMEIsU0FBUSw0QkFBaUQ7OztRQUNyRixRQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDekIsU0FBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO1lBQzdCLElBQUksRUFBRSxJQUFJO1lBQ1YsS0FBSyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ2xELE1BQU0sRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUNuRCxPQUFPLEVBQUUsSUFBSTtZQUNiLFNBQVMsRUFBRSxJQUFJO1lBQ2YsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHO1lBQ2IsT0FBTyxFQUFFLElBQUk7U0FDZCxDQUFDLENBQUM7S0F3Qko7SUF2QkMsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDakIsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzs7Z0JBRXhDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUMzQjtRQUNELEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBQ0QsR0FBRyxDQUFDLEdBQWlCO1FBQ25CLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO1lBQzNCLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxJQUFJLFFBQVE7WUFDM0IsS0FBSyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUN4RCxLQUFLLEVBQUUsR0FBRyxFQUFFLEtBQUs7WUFDakIsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNO1lBQ25CLFNBQVMsRUFBRSxHQUFHLEVBQUUsU0FBUztZQUN6QixVQUFVLEVBQUUsR0FBRyxFQUFFLFVBQVU7WUFDM0IsU0FBUyxFQUFFLEdBQUcsRUFBRSxTQUFTO1NBQzFCLENBQVEsQ0FBQyxDQUFDO0lBQ2IsQ0FBQztJQUNELElBQUksQ0FBQyxLQUFpQztRQUNwQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDNUUsQ0FBQztDQUNGLENBQUE7c0hBbENZLHlCQUF5QjswR0FBekIseUJBQXlCLDJFQ1h0Qyw0cElBNEVBO0FEakVhLHlCQUF5QjtJQURyQyxNQUFNLENBQUMsRUFBRSxRQUFRLEVBQUUsc0JBQXNCLEVBQUUsQ0FBQztHQUNoQyx5QkFBeUIsQ0FrQ3JDO1NBbENZLHlCQUF5QjsyRkFBekIseUJBQXlCO2tCQUZyQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrRHJhZ0Ryb3AsIG1vdmVJdGVtSW5BcnJheSB9IGZyb20gXCJAYW5ndWxhci9jZGsvZHJhZy1kcm9wXCI7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgVmFsaWRhdG9ycyB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBCaXpEb2MgfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9kZWNvcmF0b3JzXCI7XHJcbmltcG9ydCB7IGlzQXJyYXkgfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9mdW5jdGlvbnNcIjtcclxuaW1wb3J0IHsgU3VtU2V0dGluZ3MgfSBmcm9tIFwiLi4vLi4vLi4vY3ViZS9tYXRyaXgvdGFibGUuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IE1hdHJpeFNldHRpbmdzTW9kZWwgfSBmcm9tIFwiLi4vLi4vLi4vdmlld3MvY3ViZS9tYXRyaXguY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IERlc2lnbmVyQ3ViZUVsZW1lbnRDb21wb25lbnQgfSBmcm9tIFwiLi4vZGVzaWduZXIuYmFzZVwiO1xyXG5cclxuQENvbXBvbmVudCh7IHRlbXBsYXRlVXJsOiAnbWF0cml4LXZpZXcuY29tcG9uZW50Lmh0bWwnIH0pXHJcbkBCaXpEb2MoeyBzZWxlY3RvcjogJ21hdHJpeC12aWV3LWRlc2lnbmVyJyB9KVxyXG5leHBvcnQgY2xhc3MgTWF0cml4Vmlld0Rlc2lnbkNvbXBvbmVudCBleHRlbmRzIERlc2lnbmVyQ3ViZUVsZW1lbnRDb21wb25lbnQ8TWF0cml4U2V0dGluZ3NNb2RlbD4gaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHJlYWRvbmx5IHN1bSA9IHRoaXMuX2ZiLmFycmF5KFtdKTtcclxuICByZWFkb25seSBmb3JtID0gdGhpcy5fZmIuZ3JvdXAoe1xyXG4gICAgY3ViZTogbnVsbCxcclxuICAgIHhBeGlzOiB0aGlzLl9mYi5jb250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG4gICAgc2VyaWVzOiB0aGlzLl9mYi5jb250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG4gICAgaW5kaWNlczogbnVsbCxcclxuICAgIGFnZ3JlZ2F0ZTogbnVsbCxcclxuICAgIHN1bTogdGhpcy5zdW0sXHJcbiAgICBmaWx0ZXJzOiBudWxsLFxyXG4gIH0pO1xyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKHRoaXMuYXJncy5zdW0pIHtcclxuICAgICAgaWYgKGlzQXJyYXkodGhpcy5hcmdzLnN1bSkpXHJcbiAgICAgICAgdGhpcy5hcmdzLnN1bS5mb3JFYWNoKHMgPT4gdGhpcy5hZGQocykpO1xyXG4gICAgICBlbHNlXHJcbiAgICAgICAgdGhpcy5hZGQodGhpcy5hcmdzLnN1bSk7XHJcbiAgICB9XHJcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gIH1cclxuICBhZGQoc3VtPzogU3VtU2V0dGluZ3MpOiB2b2lkIHtcclxuICAgIHRoaXMuc3VtLnB1c2godGhpcy5fZmIuZ3JvdXAoe1xyXG4gICAgICBheGlzOiBzdW0/LmF4aXMgfHwgJ3NlcmllcycsXHJcbiAgICAgIHRpdGxlOiB0aGlzLl9mYi5jb250cm9sKHN1bT8udGl0bGUsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG4gICAgICB2YWx1ZTogc3VtPy52YWx1ZSxcclxuICAgICAgZm9ybWF0OiBzdW0/LmZvcm1hdCxcclxuICAgICAgcHJlY2lzaW9uOiBzdW0/LnByZWNpc2lvbixcclxuICAgICAgZXhwbG9yYWJsZTogc3VtPy5leHBsb3JhYmxlLFxyXG4gICAgICBjYWxjdWxhdGU6IHN1bT8uY2FsY3VsYXRlXHJcbiAgICB9KSBhcyBhbnkpO1xyXG4gIH1cclxuICBkcm9wKGV2ZW50OiBDZGtEcmFnRHJvcDxTdW1TZXR0aW5nc1tdPikge1xyXG4gICAgbW92ZUl0ZW1JbkFycmF5KHRoaXMubW9kZWwuYXhlcywgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcclxuICB9XHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImVkaXRNb2RlOyBlbHNlIGluZm9cIj5cclxuICA8Zm9ybSBhdXRvY29tcGxldGU9XCJvZmZcIiBbZm9ybUdyb3VwXT1cImZvcm1cIiBjbGFzcz1cImNvbHVtblwiPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkICpuZ0lmPVwiY3ViZXMubGVuZ3RoPjFcIj5cclxuICAgICAgPG1hdC1sYWJlbD57eydDdWJlJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICA8bWF0LXNlbGVjdCByZXF1aXJlZCAoc2VsZWN0aW9uQ2hhbmdlKT1cImN1YmVTZWxlY3RlZCgkZXZlbnQpXCI+XHJcbiAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGMgb2YgY3ViZXNcIiBbdmFsdWVdPVwiY1wiPnt7Yy50aXRsZSB8fCB4Lm5hbWV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgPG1hdC1sYWJlbD57eydYQXhpcyd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwieEF4aXNcIiByZXF1aXJlZCAoc2VsZWN0aW9uQ2hhbmdlKT1cInhBeGlzU2VsZWN0ZWQoJGV2ZW50KVwiPlxyXG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCB4IG9mIGN1YmU/LmF4ZXNcIiBbdmFsdWVdPVwieC5uYW1lXCI+e3t4LnRpdGxlIHx8IHgubmFtZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8bWF0LWxhYmVsPnt7J1Nlcmllcyd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwic2VyaWVzXCIgcmVxdWlyZWQgKHNlbGVjdGlvbkNoYW5nZSk9XCJzZXJpZXNTZWxlY3RlZCgkZXZlbnQpXCI+XHJcbiAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IHggb2Ygc2Vjb25kYXJ5QXhlc1wiIFt2YWx1ZV09XCJ4Lm5hbWVcIj57e3gudGl0bGUgfHwgeC5uYW1lfX08L21hdC1vcHRpb24+XHJcbiAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDxtYXQtbGFiZWw+e3snRmlsdGVycyd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwiZmlsdGVyc1wiIG11bHRpcGxlIChzZWxlY3Rpb25DaGFuZ2UpPVwiZm9ydGhTZWxlY3RlZCgkZXZlbnQpXCI+XHJcbiAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IHggb2YgdGhpcmRBeGVzXCIgW3ZhbHVlXT1cIngubmFtZVwiPnt7eC50aXRsZSB8fCB4Lm5hbWV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDxtYXQtZm9ybS1maWVsZCAqbmdJZj1cImN1YmU/LmluZGljZXM/Lmxlbmd0aFwiPlxyXG4gICAgICA8bWF0LWxhYmVsPnt7J0luZGljZXMnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cImluZGljZXNcIiBtdWx0aXBsZT5cclxuICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgeCBvZiBjdWJlPy5pbmRpY2VzXCIgW3ZhbHVlXT1cIngubmFtZVwiPnt7eC50aXRsZSB8fCB4Lm5hbWV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgPG1hdC1sYWJlbD57eydBZ2dyZWdhdGUnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cImFnZ3JlZ2F0ZVwiIG11bHRpcGxlIFtkaXNhYmxlZF09XCIhZm9ydGhBeGVzIHx8IGZvcnRoQXhlcz8ubGVuZ3RoXCI+XHJcbiAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IHggb2YgZm9ydGhBeGVzXCIgW3ZhbHVlXT1cIngubmFtZVwiPnt7eC50aXRsZSB8fCB4Lm5hbWV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICA8bWF0LWhpbnQ+PC9tYXQtaGludD5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8aDIgY2xhc3M9XCJtYXQtdGl0bGVcIj57eydTdW1tYXJ5J3x0cmFuc2xhdGV9fTwvaDI+XHJcbiAgICA8ZGl2IGZvcm1BcnJheU5hbWU9XCJzdW1cIiBjbGFzcz1cImNvbHVtblwiIGNka0Ryb3BMaXN0IChjZGtEcm9wTGlzdERyb3BwZWQpPVwiZHJvcCgkZXZlbnQpXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIiAqbmdGb3I9XCJsZXQgcyBvZiBzdW0uY29udHJvbHM7IGluZGV4IGFzIGluZGV4XCIgW2Zvcm1Hcm91cF09XCJzXCIgY2RrRHJhZyBjZGtEcmFnUm9vdEVsZW1lbnQ9XCIuZHJhZ1wiPlxyXG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImRyYWdcIj5kcmFnX2luZGljYXRvcjwvbWF0LWljb24+XHJcbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZmxleFwiPlxyXG4gICAgICAgICAgPG1hdC1sYWJlbD57eyd0aXRsZSd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJ0aXRsZVwiIHJlcXVpcmVkIC8+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAmbmJzcDtcclxuICAgICAgICA8bWF0LWxhYmVsPnt7J0F4aXMnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPG1hdC1yYWRpby1ncm91cCBmb3JtQ29udHJvbE5hbWU9XCJheGlzXCI+XHJcbiAgICAgICAgICA8bWF0LXJhZGlvLWJ1dHRvbiB2YWx1ZT1cInhBeGlzXCI+e3snWCd8dHJhbnNsYXRlfX08L21hdC1yYWRpby1idXR0b24+XHJcbiAgICAgICAgICA8bWF0LXJhZGlvLWJ1dHRvbiB2YWx1ZT1cInNlcmllc1wiPnt7J1knfHRyYW5zbGF0ZX19PC9tYXQtcmFkaW8tYnV0dG9uPlxyXG4gICAgICAgIDwvbWF0LXJhZGlvLWdyb3VwPlxyXG4gICAgICAgICZuYnNwO1xyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgIDxtYXQtbGFiZWw+e3snQ2FsY3VsYXRlJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwiY2FsY3VsYXRlXCI+XHJcbiAgICAgICAgICAgIDxtYXQtb3B0aW9uPnt7J05vbmUnfHRyYW5zbGF0ZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgICA8bWF0LW9wdGlvbiB2YWx1ZT1cInF1YXJ0ZXJcIj57eydRdWFydGVyJ3x0cmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgICAgPG1hdC1vcHRpb24gdmFsdWU9XCJ5ZWFyXCI+e3snWWVhcid8dHJhbnNsYXRlfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwibW9udGhcIj57eydNb250aCd8dHJhbnNsYXRlfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwiYWNjdW11bGF0ZVwiPnt7J0FjY3VtdWxhdGUnfHRyYW5zbGF0ZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInN1bS5yZW1vdmVBdChpbmRleClcIiBbYml6ZG9jVG9vbHRpcF09XCInUmVtb3ZlJ3x0cmFuc2xhdGVcIj48bWF0LWljb24+ZGVsZXRlPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJhZGQoKVwiIFtiaXpkb2NUb29sdGlwXT1cIidBZGQnfHRyYW5zbGF0ZVwiPjxtYXQtaWNvbj5hZGQ8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gIDwvZm9ybT5cclxuICA8IS0tPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1YmVcIj5cclxuICAgIDxoMiBjbGFzcz1cIm1hdC10aXRsZVwiPnt7J0ZpbHRlcnMnfHRyYW5zbGF0ZX19PC9oMj5cclxuICAgIDxiaXpkb2MtY3ViZS1maWx0ZXIgW2N1YmVdPVwiY3ViZS5uYW1lXCIgWyhheGVzKV09XCJmb3JtLmNvbnRyb2xzLmZpbHRlcnMudmFsdWVcIj48L2JpemRvYy1jdWJlLWZpbHRlcj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICAgIC0tPiBcclxuPC9uZy1jb250YWluZXI+XHJcbjxuZy10ZW1wbGF0ZSAjaW5mbz48L25nLXRlbXBsYXRlPlxyXG4iXX0=
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0cml4LXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9jb25maWd1cmF0aW9uLWRlc2lnbmVyL2VsZW1lbnRzL21hdHJpeC12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvYWRtaW4vY29uZmlndXJhdGlvbi1kZXNpZ25lci9lbGVtZW50cy9tYXRyaXgtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUdsRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7SUFJbkQseUJBQXlCLFNBQXpCLHlCQUEwQixTQUFRLDRCQUFpRDs7O1FBQ3JGLFFBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN6QixTQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7WUFDN0IsSUFBSSxFQUFFLElBQUk7WUFDVixLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDbEQsTUFBTSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ25ELE9BQU8sRUFBRSxJQUFJO1lBQ2IsU0FBUyxFQUFFLElBQUk7WUFDZixHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7WUFDYixPQUFPLEVBQUUsSUFBSTtTQUNkLENBQUMsQ0FBQztLQXFCSjtJQXBCQyxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRTtZQUNwQixJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztnQkFDM0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDOztnQkFFM0MsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQzlCO1FBQ0QsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFDRCxHQUFHLENBQUMsR0FBaUI7UUFDbkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7WUFDM0IsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLElBQUksUUFBUTtZQUMzQixLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ3hELEtBQUssRUFBRSxHQUFHLEVBQUUsS0FBSyxJQUFJLElBQUk7WUFDekIsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLElBQUksVUFBVTtZQUNqQyxTQUFTLEVBQUUsR0FBRyxFQUFFLFNBQVMsSUFBRSxJQUFJO1lBQy9CLFVBQVUsRUFBRSxHQUFHLEVBQUUsVUFBVSxJQUFJLElBQUk7WUFDbkMsU0FBUyxFQUFFLEdBQUcsRUFBRSxTQUFTLElBQUksS0FBSztTQUNuQyxDQUFRLENBQUMsQ0FBQztJQUNiLENBQUM7Q0FDRixDQUFBO3NIQS9CWSx5QkFBeUI7MEdBQXpCLHlCQUF5QiwyRUNWdEMsOHhJQThFQTtBRHBFYSx5QkFBeUI7SUFEckMsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFLHNCQUFzQixFQUFFLENBQUM7R0FDaEMseUJBQXlCLENBK0JyQztTQS9CWSx5QkFBeUI7MkZBQXpCLHlCQUF5QjtrQkFGckMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgVmFsaWRhdG9ycyB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBCaXpEb2MgfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9kZWNvcmF0b3JzXCI7XHJcbmltcG9ydCB7IGlzQXJyYXkgfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9mdW5jdGlvbnNcIjtcclxuaW1wb3J0IHsgU3VtU2V0dGluZ3MgfSBmcm9tIFwiLi4vLi4vLi4vY3ViZS9tYXRyaXgvdGFibGUuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IE1hdHJpeFNldHRpbmdzTW9kZWwgfSBmcm9tIFwiLi4vLi4vLi4vdmlld3MvY3ViZS9tYXRyaXguY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IERlc2lnbmVyQ3ViZUVsZW1lbnRDb21wb25lbnQgfSBmcm9tIFwiLi4vZGVzaWduZXIuYmFzZVwiO1xyXG5cclxuQENvbXBvbmVudCh7IHRlbXBsYXRlVXJsOiAnbWF0cml4LXZpZXcuY29tcG9uZW50Lmh0bWwnIH0pXHJcbkBCaXpEb2MoeyBzZWxlY3RvcjogJ21hdHJpeC12aWV3LWRlc2lnbmVyJyB9KVxyXG5leHBvcnQgY2xhc3MgTWF0cml4Vmlld0Rlc2lnbkNvbXBvbmVudCBleHRlbmRzIERlc2lnbmVyQ3ViZUVsZW1lbnRDb21wb25lbnQ8TWF0cml4U2V0dGluZ3NNb2RlbD4gaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHJlYWRvbmx5IHN1bSA9IHRoaXMuX2ZiLmFycmF5KFtdKTtcclxuICByZWFkb25seSBmb3JtID0gdGhpcy5fZmIuZ3JvdXAoe1xyXG4gICAgY3ViZTogbnVsbCxcclxuICAgIHhBeGlzOiB0aGlzLl9mYi5jb250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG4gICAgc2VyaWVzOiB0aGlzLl9mYi5jb250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG4gICAgaW5kaWNlczogbnVsbCxcclxuICAgIGFnZ3JlZ2F0ZTogbnVsbCxcclxuICAgIHN1bTogdGhpcy5zdW0sXHJcbiAgICBmaWx0ZXJzOiBudWxsLFxyXG4gIH0pO1xyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKHRoaXMub3B0aW9ucy5zdW0pIHtcclxuICAgICAgaWYgKGlzQXJyYXkodGhpcy5vcHRpb25zLnN1bSkpXHJcbiAgICAgICAgdGhpcy5vcHRpb25zLnN1bS5mb3JFYWNoKHMgPT4gdGhpcy5hZGQocykpO1xyXG4gICAgICBlbHNlXHJcbiAgICAgICAgdGhpcy5hZGQodGhpcy5vcHRpb25zLnN1bSk7XHJcbiAgICB9XHJcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gIH1cclxuICBhZGQoc3VtPzogU3VtU2V0dGluZ3MpOiB2b2lkIHtcclxuICAgIHRoaXMuc3VtLnB1c2godGhpcy5fZmIuZ3JvdXAoe1xyXG4gICAgICBheGlzOiBzdW0/LmF4aXMgfHwgJ1NlcmllcycsXHJcbiAgICAgIHRpdGxlOiB0aGlzLl9mYi5jb250cm9sKHN1bT8udGl0bGUsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG4gICAgICB2YWx1ZTogc3VtPy52YWx1ZSB8fCBudWxsLFxyXG4gICAgICBmb3JtYXQ6IHN1bT8uZm9ybWF0IHx8ICdDdXJyZW5jeScsXHJcbiAgICAgIHByZWNpc2lvbjogc3VtPy5wcmVjaXNpb258fG51bGwsXHJcbiAgICAgIGV4cGxvcmFibGU6IHN1bT8uZXhwbG9yYWJsZSB8fCBudWxsLFxyXG4gICAgICBjYWxjdWxhdGU6IHN1bT8uY2FsY3VsYXRlIHx8ICdTdW0nXHJcbiAgICB9KSBhcyBhbnkpO1xyXG4gIH1cclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiZWRpdE1vZGU7IGVsc2UgaW5mb1wiPlxyXG4gIDxmb3JtIGF1dG9jb21wbGV0ZT1cIm9mZlwiIFtmb3JtR3JvdXBdPVwiZm9ybVwiIGNsYXNzPVwiY29sdW1uXCI+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQgKm5nSWY9XCJjdWJlcy5sZW5ndGg+MVwiPlxyXG4gICAgICA8bWF0LWxhYmVsPnt7J0N1YmUnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgICAgIDxtYXQtc2VsZWN0IHJlcXVpcmVkIChzZWxlY3Rpb25DaGFuZ2UpPVwiY3ViZVNlbGVjdGVkKCRldmVudClcIj5cclxuICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgYyBvZiBjdWJlc1wiIFt2YWx1ZV09XCJjXCI+e3tjLnRpdGxlIHx8IHgubmFtZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJmbGV4XCI+XHJcbiAgICAgICAgPG1hdC1sYWJlbD57eydYQXhpcyd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJ4QXhpc1wiIHJlcXVpcmVkIChzZWxlY3Rpb25DaGFuZ2UpPVwieEF4aXNTZWxlY3RlZCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgeCBvZiBjdWJlPy5heGVzXCIgW3ZhbHVlXT1cIngubmFtZVwiPnt7eC50aXRsZSB8fCB4Lm5hbWV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZsZXhcIj5cclxuICAgICAgICA8bWF0LWxhYmVsPnt7J1Nlcmllcyd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJzZXJpZXNcIiByZXF1aXJlZCAoc2VsZWN0aW9uQ2hhbmdlKT1cInNlcmllc1NlbGVjdGVkKCRldmVudClcIj5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCB4IG9mIHNlY29uZGFyeUF4ZXNcIiBbdmFsdWVdPVwieC5uYW1lXCI+e3t4LnRpdGxlIHx8IHgubmFtZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJmbGV4XCI+XHJcbiAgICAgICAgPG1hdC1sYWJlbD57eydGaWx0ZXJzJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cImZpbHRlcnNcIiBtdWx0aXBsZSAoc2VsZWN0aW9uQ2hhbmdlKT1cImZvcnRoU2VsZWN0ZWQoJGV2ZW50KVwiIFtkaXNhYmxlZF09XCIhdGhpcmRBeGVzPy5sZW5ndGhcIj5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCB4IG9mIHRoaXJkQXhlc1wiIFt2YWx1ZV09XCJ4Lm5hbWVcIj57e3gudGl0bGUgfHwgeC5uYW1lfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQgKm5nSWY9XCJjdWJlPy5pbmRpY2VzPy5sZW5ndGhcIiBjbGFzcz1cImZsZXhcIj5cclxuICAgICAgICA8bWF0LWxhYmVsPnt7J0luZGljZXMnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwiaW5kaWNlc1wiIG11bHRpcGxlPlxyXG4gICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IHggb2YgY3ViZT8uaW5kaWNlc1wiIFt2YWx1ZV09XCJ4Lm5hbWVcIj57e3gudGl0bGUgfHwgeC5uYW1lfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9kaXY+PG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8bWF0LWxhYmVsPnt7J0FnZ3JlZ2F0ZSd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwiYWdncmVnYXRlXCIgbXVsdGlwbGUgW2Rpc2FibGVkXT1cIiFmb3J0aEF4ZXMgfHwgZm9ydGhBeGVzPy5sZW5ndGhcIj5cclxuICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgeCBvZiBmb3J0aEF4ZXNcIiBbdmFsdWVdPVwieC5uYW1lXCI+e3t4LnRpdGxlIHx8IHgubmFtZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgIDxtYXQtaGludD48L21hdC1oaW50PlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDxoMiBjbGFzcz1cIm1hdC10aXRsZVwiPnt7J1N1bW1hcnknfHRyYW5zbGF0ZX19PC9oMj5cclxuICAgIDxkaXYgZm9ybUFycmF5TmFtZT1cInN1bVwiIGNsYXNzPVwiY29sdW1uXCIgY2RrRHJvcExpc3QgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcm9wKCRldmVudCwgc3VtKVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicm93XCIgKm5nRm9yPVwibGV0IHMgb2Ygc3VtLmNvbnRyb2xzOyBpbmRleCBhcyBpbmRleFwiIFtmb3JtR3JvdXBdPVwic1wiIGNka0RyYWc+XHJcbiAgICAgICAgPG1hdC1pY29uIGNka0RyYWdIYW5kbGU+ZHJhZ19pbmRpY2F0b3I8L21hdC1pY29uPlxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZsZXhcIj5cclxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sndGl0bGUnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwidGl0bGVcIiByZXF1aXJlZCAvPlxyXG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgJm5ic3A7XHJcbiAgICAgICAgPG1hdC1yYWRpby1ncm91cCBmb3JtQ29udHJvbE5hbWU9XCJheGlzXCI+XHJcbiAgICAgICAgICA8bWF0LXJhZGlvLWJ1dHRvbiB2YWx1ZT1cIlhBeGlzXCI+e3snWEF4aXMnfHRyYW5zbGF0ZX19PC9tYXQtcmFkaW8tYnV0dG9uPlxyXG4gICAgICAgICAgPG1hdC1yYWRpby1idXR0b24gdmFsdWU9XCJTZXJpZXNcIj57eydTZXJpZXMnfHRyYW5zbGF0ZX19PC9tYXQtcmFkaW8tYnV0dG9uPlxyXG4gICAgICAgIDwvbWF0LXJhZGlvLWdyb3VwPlxyXG4gICAgICAgICZuYnNwO1xyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgIDxtYXQtbGFiZWw+e3snQ2FsY3VsYXRlJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwiY2FsY3VsYXRlXCI+XHJcbiAgICAgICAgICAgIDxtYXQtb3B0aW9uPnt7J05vbmUnfHRyYW5zbGF0ZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgICA8bWF0LW9wdGlvbiB2YWx1ZT1cIlF1YXJ0ZXJcIj57eydRdWFydGVyJ3x0cmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgICAgPG1hdC1vcHRpb24gdmFsdWU9XCJZZWFyXCI+e3snWWVhcid8dHJhbnNsYXRlfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwiTW9udGhcIj57eydNb250aCd8dHJhbnNsYXRlfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwiU3VtXCI+e3snU3VtJ3x0cmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJzdW0ucmVtb3ZlQXQoaW5kZXgpXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ1JlbW92ZSd8dHJhbnNsYXRlXCI+PG1hdC1pY29uPmRlbGV0ZTwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiYWRkKClcIiBbYml6ZG9jVG9vbHRpcF09XCInQWRkJ3x0cmFuc2xhdGVcIj48bWF0LWljb24+YWRkPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICA8L2Zvcm0+XHJcbiAgPCEtLTxuZy1jb250YWluZXIgKm5nSWY9XCJjdWJlXCI+XHJcbiAgICA8aDIgY2xhc3M9XCJtYXQtdGl0bGVcIj57eydGaWx0ZXJzJ3x0cmFuc2xhdGV9fTwvaDI+XHJcbiAgICA8Yml6ZG9jLWN1YmUtZmlsdGVyIFtjdWJlXT1cImN1YmUubmFtZVwiIFsoYXhlcyldPVwiZm9ybS5jb250cm9scy5maWx0ZXJzLnZhbHVlXCI+PC9iaXpkb2MtY3ViZS1maWx0ZXI+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgICAtLT5cclxuPC9uZy1jb250YWluZXI+XHJcbjxuZy10ZW1wbGF0ZSAjaW5mbz48L25nLXRlbXBsYXRlPlxyXG4iXX0=