@bizdoc/core 1.15.6 → 1.16.1

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 (109) hide show
  1. package/assets/bizdoc-schema.json +14 -13
  2. package/esm2020/lib/admin/admin-menu.component.mjs +3 -3
  3. package/esm2020/lib/admin/configuration-designer/designer-element.component.mjs +113 -44
  4. package/esm2020/lib/admin/configuration-designer/designer.base.mjs +43 -37
  5. package/esm2020/lib/admin/configuration-designer/designer.component.mjs +83 -84
  6. package/esm2020/lib/admin/configuration-designer/elements/action.component.mjs +8 -6
  7. package/esm2020/lib/admin/configuration-designer/elements/analysis-view.component.mjs +7 -7
  8. package/esm2020/lib/admin/configuration-designer/elements/analysis-widget.component.mjs +5 -7
  9. package/esm2020/lib/admin/configuration-designer/elements/box-form.component.mjs +3 -3
  10. package/esm2020/lib/admin/configuration-designer/elements/configuration-datasource.component.mjs +31 -26
  11. package/esm2020/lib/admin/configuration-designer/elements/cube-index-utility.component.mjs +32 -0
  12. package/esm2020/lib/admin/configuration-designer/elements/cube-view.component.mjs +3 -3
  13. package/esm2020/lib/admin/configuration-designer/elements/cube.component.mjs +91 -55
  14. package/esm2020/lib/admin/configuration-designer/elements/documents-widget.component.mjs +2 -2
  15. package/esm2020/lib/admin/configuration-designer/elements/folder.component.mjs +13 -9
  16. package/esm2020/lib/admin/configuration-designer/elements/form.component.mjs +30 -39
  17. package/esm2020/lib/admin/configuration-designer/elements/guide.component.mjs +24 -17
  18. package/esm2020/lib/admin/configuration-designer/elements/matrix-view.component.mjs +13 -17
  19. package/esm2020/lib/admin/configuration-designer/elements/parallel-view.component.mjs +3 -3
  20. package/esm2020/lib/admin/configuration-designer/elements/pivot-view.component.mjs +2 -2
  21. package/esm2020/lib/admin/configuration-designer/elements/report.component.mjs +14 -6
  22. package/esm2020/lib/admin/configuration-designer/elements/return-to-role-action.component.mjs +11 -15
  23. package/esm2020/lib/admin/configuration-designer/elements/role.component.mjs +12 -8
  24. package/esm2020/lib/admin/configuration-designer/elements/rule.component.mjs +8 -3
  25. package/esm2020/lib/admin/configuration-designer/elements/state.component.mjs +11 -10
  26. package/esm2020/lib/admin/configuration-designer/elements/sum-view.component.mjs +5 -6
  27. package/esm2020/lib/admin/configuration-designer/elements/tasks-report.component.mjs +2 -2
  28. package/esm2020/lib/admin/configuration-designer/elements/type.component.mjs +11 -11
  29. package/esm2020/lib/admin/configuration-designer/elements/usage-report.component.mjs +4 -4
  30. package/esm2020/lib/admin/configuration-designer/elements/utility.component.mjs +14 -6
  31. package/esm2020/lib/admin/configuration-designer/elements/view.component.mjs +13 -11
  32. package/esm2020/lib/admin/configuration-designer/elements/widget.component.mjs +14 -4
  33. package/esm2020/lib/admin/configuration-designer/icon-picker.component.mjs +12 -6
  34. package/esm2020/lib/admin/configuration-designer/privileges.component.mjs +25 -15
  35. package/esm2020/lib/admin/core/ace.input.mjs +14 -16
  36. package/esm2020/lib/admin/core/color-picker.input.mjs +2 -1
  37. package/esm2020/lib/admin/document-trace/document-trace.component.mjs +3 -3
  38. package/esm2020/lib/admin/form/designer/designer.component.mjs +96 -40
  39. package/esm2020/lib/admin/patterns/patterns.component.mjs +1 -1
  40. package/esm2020/lib/admin/system.service.mjs +4 -1
  41. package/esm2020/lib/compose/box/box.component.mjs +4 -3
  42. package/esm2020/lib/core/datasource.service.mjs +1 -1
  43. package/esm2020/lib/core/functions.mjs +10 -3
  44. package/esm2020/lib/core/layout/layout.component.mjs +18 -30
  45. package/esm2020/lib/core/mailbox.service.mjs +2 -2
  46. package/esm2020/lib/core/models.mjs +1 -1
  47. package/esm2020/lib/core/translations.mjs +6 -1
  48. package/esm2020/lib/cube/cube-info.service.mjs +1 -1
  49. package/esm2020/lib/cube/cube.service.mjs +1 -1
  50. package/esm2020/lib/cube/declarations.mjs +1 -1
  51. package/esm2020/lib/cube/matrix/matrix.base.mjs +2 -2
  52. package/esm2020/lib/cube/matrix/matrix.pane.component.mjs +1 -1
  53. package/esm2020/lib/cube/matrix/table.component.mjs +19 -19
  54. package/esm2020/lib/cube/sum/sum.component.mjs +1 -1
  55. package/esm2020/lib/reports/cube/usage-base.mjs +1 -1
  56. package/esm2020/lib/shared.module.mjs +5 -4
  57. package/esm2020/lib/system.module.mjs +14 -8
  58. package/esm2020/lib/views/cube/parallel.component.mjs +1 -1
  59. package/esm2020/public-api.mjs +3 -2
  60. package/fesm2015/bizdoc-core.mjs +5670 -5435
  61. package/fesm2015/bizdoc-core.mjs.map +1 -1
  62. package/fesm2020/bizdoc-core.mjs +5525 -5291
  63. package/fesm2020/bizdoc-core.mjs.map +1 -1
  64. package/lib/admin/configuration-designer/designer-element.component.d.ts +30 -10
  65. package/lib/admin/configuration-designer/designer.base.d.ts +75 -36
  66. package/lib/admin/configuration-designer/designer.component.d.ts +10 -7
  67. package/lib/admin/configuration-designer/elements/action.component.d.ts +2 -0
  68. package/lib/admin/configuration-designer/elements/analysis-view.component.d.ts +2 -1
  69. package/lib/admin/configuration-designer/elements/configuration-datasource.component.d.ts +9 -8
  70. package/lib/admin/configuration-designer/elements/cube-index-utility.component.d.ts +12 -0
  71. package/lib/admin/configuration-designer/elements/cube.component.d.ts +17 -7
  72. package/lib/admin/configuration-designer/elements/documents-widget.component.d.ts +2 -2
  73. package/lib/admin/configuration-designer/elements/folder.component.d.ts +3 -0
  74. package/lib/admin/configuration-designer/elements/form.component.d.ts +7 -2
  75. package/lib/admin/configuration-designer/elements/guide.component.d.ts +4 -2
  76. package/lib/admin/configuration-designer/elements/matrix-view.component.d.ts +0 -2
  77. package/lib/admin/configuration-designer/elements/pivot-view.component.d.ts +1 -1
  78. package/lib/admin/configuration-designer/elements/report.component.d.ts +3 -0
  79. package/lib/admin/configuration-designer/elements/return-to-role-action.component.d.ts +2 -4
  80. package/lib/admin/configuration-designer/elements/role.component.d.ts +5 -2
  81. package/lib/admin/configuration-designer/elements/rule.component.d.ts +2 -0
  82. package/lib/admin/configuration-designer/elements/state.component.d.ts +4 -1
  83. package/lib/admin/configuration-designer/elements/tasks-report.component.d.ts +2 -2
  84. package/lib/admin/configuration-designer/elements/type.component.d.ts +3 -1
  85. package/lib/admin/configuration-designer/elements/utility.component.d.ts +3 -0
  86. package/lib/admin/configuration-designer/elements/view.component.d.ts +4 -6
  87. package/lib/admin/configuration-designer/elements/widget.component.d.ts +2 -0
  88. package/lib/admin/configuration-designer/privileges.component.d.ts +6 -4
  89. package/lib/admin/core/ace.input.d.ts +4 -4
  90. package/lib/admin/core/color-picker.input.d.ts +1 -0
  91. package/lib/admin/form/designer/designer.component.d.ts +20 -12
  92. package/lib/admin/patterns/patterns.component.d.ts +2 -2
  93. package/lib/admin/system.service.d.ts +6 -0
  94. package/lib/core/datasource.service.d.ts +3 -3
  95. package/lib/core/layout/layout.component.d.ts +0 -2
  96. package/lib/core/models.d.ts +2 -2
  97. package/lib/core/translations.d.ts +5 -0
  98. package/lib/cube/cube-info.service.d.ts +3 -2
  99. package/lib/cube/cube.service.d.ts +8 -8
  100. package/lib/cube/declarations.d.ts +2 -0
  101. package/lib/cube/matrix/matrix.base.d.ts +4 -3
  102. package/lib/cube/matrix/matrix.pane.component.d.ts +3 -2
  103. package/lib/cube/matrix/table.component.d.ts +9 -5
  104. package/lib/reports/cube/usage-base.d.ts +2 -2
  105. package/lib/shared.module.d.ts +150 -151
  106. package/lib/system.module.d.ts +50 -47
  107. package/lib/views/cube/parallel.component.d.ts +1 -1
  108. package/package.json +1 -1
  109. package/public-api.d.ts +4 -3
@@ -1,4 +1,5 @@
1
- import { Component, EventEmitter, Inject, Input, Output } from "@angular/core";
1
+ import { Component, EventEmitter, Inject, Input, Output, ViewChild } from "@angular/core";
2
+ import { MatSelectionList } from "@angular/material/list";
2
3
  import { DesignerRef } from "./designer.base";
3
4
  import * as i0 from "@angular/core";
4
5
  import * as i1 from "@angular/forms";
@@ -10,9 +11,10 @@ import * as i6 from "../core/ace.input";
10
11
  import * as i7 from "../../core/pipes/translate.pipe";
11
12
  import * as i8 from "./designer.base";
12
13
  export class PrivilegesDesignComponent {
13
- constructor(_fb, _service, _ref) {
14
+ constructor(_fb, _service, _cd, _ref) {
14
15
  this._fb = _fb;
15
16
  this._service = _service;
17
+ this._cd = _cd;
16
18
  this._ref = _ref;
17
19
  this.change = new EventEmitter();
18
20
  this.form = this._fb.group({
@@ -21,30 +23,38 @@ export class PrivilegesDesignComponent {
21
23
  });
22
24
  }
23
25
  ngOnInit() {
24
- this._service.roles().subscribe(r => this.roles = r.
25
- concat(this._ref.model.roles.map(r => ({
26
- name: r.name,
27
- title: r.title,
28
- dataType: r.dataType
29
- }))));
26
+ this._service.roles().subscribe(r => {
27
+ this.roles = r.
28
+ concat(this._ref.designer.roles.map((r) => ({
29
+ name: r.name,
30
+ title: r.title,
31
+ dataType: r.dataType
32
+ })));
33
+ this._cd.detectChanges();
34
+ this.list.options.forEach(o => this.model.roles?.indexOf(o.value) > -1 &&
35
+ this.list.selectedOptions.select(o));
36
+ });
30
37
  this.form.patchValue(this.model);
31
- this.form.valueChanges.subscribe(v => Object.assign(this.model, v));
38
+ this.form.valueChanges.subscribe(v => this.change.emit(v));
32
39
  }
33
40
  rolesChange(evt) {
34
- this.form.get('roles').setValue(evt.options.map(o => o.value));
41
+ this.form.get('roles').setValue(this.list.selectedOptions.selected.map(o => o.value));
35
42
  }
36
43
  }
37
- PrivilegesDesignComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: PrivilegesDesignComponent, deps: [{ token: i1.FormBuilder }, { token: i2.SystemService }, { token: DesignerRef }], target: i0.ɵɵFactoryTarget.Component });
38
- PrivilegesDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: PrivilegesDesignComponent, selector: "bizdoc-privileges", inputs: { model: "model" }, outputs: { change: "change" }, ngImport: i0, template: "<form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <h2 class=\"mat-title\">{{'Privileges'|translate}}</h2>\r\n <mat-selection-list (selectionChange)=\"rolesChange($event)\" multiple *ngIf=\"roles\">\r\n <mat-list-option *ngFor=\"let r of roles\" [selected]=\"model?.roles?.indexOf(r.name) > -1\" [value]=\"r.name\">{{r.title}}</mat-list-option>\r\n <!--[disabled]=\"false\"-->\r\n </mat-selection-list>\r\n <!--<mat-form-field>\r\n <mat-label>{{'Roles'|translate}}</mat-label>\r\n <mat-select formControlName=\"roles\" multiple>\r\n <mat-option *ngFor=\"let r of roles\" [value]=\"r.name\">{{r.title}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>-->\r\n <mat-form-field>\r\n <bizdoc-ace-input [placeholder]=\"'Condition'|translate\" formControlName=\"rule\"></bizdoc-ace-input>\r\n <mat-hint> {{ 'ProgrammableExpression'|translate }}</mat-hint>\r\n </mat-form-field>\r\n</form>\r\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.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.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: i4.MatSelectionList, selector: "mat-selection-list", inputs: ["disableRipple", "color", "compareWith", "disabled", "multiple"], outputs: ["selectionChange"], exportAs: ["matSelectionList"] }, { kind: "component", type: i4.MatListOption, selector: "mat-list-option", inputs: ["disableRipple", "checkboxPosition", "color", "value", "disabled", "selected"], outputs: ["selectedChange"], exportAs: ["matListOption"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "component", type: i6.AceInput, selector: "bizdoc-ace-input", inputs: ["params", "placeholder", "required", "disabled", "value"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] });
44
+ PrivilegesDesignComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: PrivilegesDesignComponent, deps: [{ token: i1.FormBuilder }, { token: i2.SystemService }, { token: i0.ChangeDetectorRef }, { token: DesignerRef }], target: i0.ɵɵFactoryTarget.Component });
45
+ PrivilegesDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: PrivilegesDesignComponent, selector: "bizdoc-privileges", inputs: { model: "model" }, outputs: { change: "change" }, viewQueries: [{ propertyName: "list", first: true, predicate: MatSelectionList, descendants: true }], ngImport: i0, template: "<div autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <h2 class=\"mat-title\">{{'Privileges'|translate}}</h2>\r\n <mat-selection-list (selectionChange)=\"rolesChange($event)\" *ngIf=\"roles\">\r\n <mat-list-option *ngFor=\"let r of roles\" [value]=\"r.name\">{{r.title}}</mat-list-option>\r\n </mat-selection-list>\r\n <!--<mat-form-field>\r\n <mat-label>{{'Roles'|translate}}</mat-label>\r\n <mat-select formControlName=\"roles\" multiple>\r\n <mat-option *ngFor=\"let r of roles\" [value]=\"r.name\">{{r.title}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>-->\r\n <mat-form-field>\r\n <bizdoc-ace-input [placeholder]=\"'Condition'|translate\" formControlName=\"rule\"></bizdoc-ace-input>\r\n <mat-hint> {{ 'ProgrammableExpression'|translate }}</mat-hint>\r\n </mat-form-field>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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.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: i4.MatSelectionList, selector: "mat-selection-list", inputs: ["disableRipple", "color", "compareWith", "disabled", "multiple"], outputs: ["selectionChange"], exportAs: ["matSelectionList"] }, { kind: "component", type: i4.MatListOption, selector: "mat-list-option", inputs: ["disableRipple", "checkboxPosition", "color", "value", "disabled", "selected"], outputs: ["selectedChange"], exportAs: ["matListOption"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "component", type: i6.AceInput, selector: "bizdoc-ace-input", inputs: ["params", "placeholder", "required", "disabled", "value"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] });
39
46
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: PrivilegesDesignComponent, decorators: [{
40
47
  type: Component,
41
- args: [{ selector: 'bizdoc-privileges', template: "<form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <h2 class=\"mat-title\">{{'Privileges'|translate}}</h2>\r\n <mat-selection-list (selectionChange)=\"rolesChange($event)\" multiple *ngIf=\"roles\">\r\n <mat-list-option *ngFor=\"let r of roles\" [selected]=\"model?.roles?.indexOf(r.name) > -1\" [value]=\"r.name\">{{r.title}}</mat-list-option>\r\n <!--[disabled]=\"false\"-->\r\n </mat-selection-list>\r\n <!--<mat-form-field>\r\n <mat-label>{{'Roles'|translate}}</mat-label>\r\n <mat-select formControlName=\"roles\" multiple>\r\n <mat-option *ngFor=\"let r of roles\" [value]=\"r.name\">{{r.title}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>-->\r\n <mat-form-field>\r\n <bizdoc-ace-input [placeholder]=\"'Condition'|translate\" formControlName=\"rule\"></bizdoc-ace-input>\r\n <mat-hint> {{ 'ProgrammableExpression'|translate }}</mat-hint>\r\n </mat-form-field>\r\n</form>\r\n" }]
42
- }], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.SystemService }, { type: i8.DesignerRef, decorators: [{
48
+ args: [{ selector: 'bizdoc-privileges', template: "<div autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <h2 class=\"mat-title\">{{'Privileges'|translate}}</h2>\r\n <mat-selection-list (selectionChange)=\"rolesChange($event)\" *ngIf=\"roles\">\r\n <mat-list-option *ngFor=\"let r of roles\" [value]=\"r.name\">{{r.title}}</mat-list-option>\r\n </mat-selection-list>\r\n <!--<mat-form-field>\r\n <mat-label>{{'Roles'|translate}}</mat-label>\r\n <mat-select formControlName=\"roles\" multiple>\r\n <mat-option *ngFor=\"let r of roles\" [value]=\"r.name\">{{r.title}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>-->\r\n <mat-form-field>\r\n <bizdoc-ace-input [placeholder]=\"'Condition'|translate\" formControlName=\"rule\"></bizdoc-ace-input>\r\n <mat-hint> {{ 'ProgrammableExpression'|translate }}</mat-hint>\r\n </mat-form-field>\r\n</div>\r\n" }]
49
+ }], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.SystemService }, { type: i0.ChangeDetectorRef }, { type: i8.DesignerRef, decorators: [{
43
50
  type: Inject,
44
51
  args: [DesignerRef]
45
52
  }] }]; }, propDecorators: { model: [{
46
53
  type: Input
47
54
  }], change: [{
48
55
  type: Output
56
+ }], list: [{
57
+ type: ViewChild,
58
+ args: [MatSelectionList]
49
59
  }] } });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmlsZWdlcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL2NvbmZpZ3VyYXRpb24tZGVzaWduZXIvcHJpdmlsZWdlcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL2NvbmZpZ3VyYXRpb24tZGVzaWduZXIvcHJpdmlsZWdlcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUt2RixPQUFPLEVBQUUsV0FBVyxFQUFtQixNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7O0FBTS9ELE1BQU0sT0FBTyx5QkFBeUI7SUFRcEMsWUFBb0IsR0FBZ0IsRUFDMUIsUUFBdUIsRUFDRixJQUFpQjtRQUY1QixRQUFHLEdBQUgsR0FBRyxDQUFhO1FBQzFCLGFBQVEsR0FBUixRQUFRLENBQWU7UUFDRixTQUFJLEdBQUosSUFBSSxDQUFhO1FBUjdCLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQzVDLFNBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztZQUM3QixJQUFJLEVBQUUsSUFBSTtZQUNWLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBVyxFQUFFLENBQUM7U0FDdEMsQ0FBQyxDQUFDO0lBS0gsQ0FBQztJQUNELFFBQVE7UUFDTixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUNsQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUM7WUFDWixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDckMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJO1lBQ1osS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLO1lBQ2QsUUFBUSxFQUFFLENBQUMsQ0FBQyxRQUFRO1NBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQ1AsQ0FBQztRQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBQ0QsV0FBVyxDQUFDLEdBQTJCO1FBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7O3NIQTFCVSx5QkFBeUIsMEVBVTFCLFdBQVc7MEdBVlYseUJBQXlCLG9IQ1h0QywrNkJBaUJBOzJGRE5hLHlCQUF5QjtrQkFKckMsU0FBUzsrQkFDRSxtQkFBbUI7OzBCQWExQixNQUFNOzJCQUFDLFdBQVc7NENBVFosS0FBSztzQkFBYixLQUFLO2dCQUNhLE1BQU07c0JBQXhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgVmFsaWRhdG9ycyB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBNYXRTZWxlY3Rpb25MaXN0Q2hhbmdlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2xpc3RcIjtcclxuaW1wb3J0IHsgUm9sZSB9IGZyb20gXCIuLi8uLi9jb3JlL21vZGVsc1wiO1xyXG5pbXBvcnQgeyBTeXN0ZW1TZXJ2aWNlIH0gZnJvbSBcIi4uL3N5c3RlbS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IERlc2lnbmVyUmVmLCBQcml2aWxlZ2VzTW9kZWwgfSBmcm9tIFwiLi9kZXNpZ25lci5iYXNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2JpemRvYy1wcml2aWxlZ2VzJyxcclxuICB0ZW1wbGF0ZVVybDogJ3ByaXZpbGVnZXMuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQcml2aWxlZ2VzRGVzaWduQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBtb2RlbCE6IFByaXZpbGVnZXNNb2RlbDtcclxuICBAT3V0cHV0KCkgcmVhZG9ubHkgY2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG4gIHJlYWRvbmx5IGZvcm0gPSB0aGlzLl9mYi5ncm91cCh7XHJcbiAgICBydWxlOiBudWxsLFxyXG4gICAgcm9sZXM6IHRoaXMuX2ZiLmNvbnRyb2w8c3RyaW5nW10+KFtdKSxcclxuICB9KTtcclxuICByb2xlczogUm9sZVtdO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2ZiOiBGb3JtQnVpbGRlcixcclxuICAgIHByaXZhdGUgX3NlcnZpY2U6IFN5c3RlbVNlcnZpY2UsXHJcbiAgICBASW5qZWN0KERlc2lnbmVyUmVmKSBwcml2YXRlIF9yZWY6IERlc2lnbmVyUmVmKSB7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5fc2VydmljZS5yb2xlcygpLnN1YnNjcmliZShyID0+XHJcbiAgICAgIHRoaXMucm9sZXMgPSByLlxyXG4gICAgICAgIGNvbmNhdCh0aGlzLl9yZWYubW9kZWwucm9sZXMubWFwKHIgPT4gKHtcclxuICAgICAgICAgIG5hbWU6IHIubmFtZSxcclxuICAgICAgICAgIHRpdGxlOiByLnRpdGxlLFxyXG4gICAgICAgICAgZGF0YVR5cGU6IHIuZGF0YVR5cGVcclxuICAgICAgICB9KSkpXHJcbiAgICApO1xyXG4gICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUodGhpcy5tb2RlbCk7XHJcbiAgICB0aGlzLmZvcm0udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2ID0+IE9iamVjdC5hc3NpZ24odGhpcy5tb2RlbCwgdikpO1xyXG4gIH1cclxuICByb2xlc0NoYW5nZShldnQ6IE1hdFNlbGVjdGlvbkxpc3RDaGFuZ2UpIHtcclxuICAgIHRoaXMuZm9ybS5nZXQoJ3JvbGVzJykuc2V0VmFsdWUoZXZ0Lm9wdGlvbnMubWFwKG8gPT4gby52YWx1ZSkpO1xyXG4gIH1cclxufVxyXG4iLCI8Zm9ybSBhdXRvY29tcGxldGU9XCJvZmZcIiBbZm9ybUdyb3VwXT1cImZvcm1cIiBjbGFzcz1cImNvbHVtblwiPlxyXG4gIDxoMiBjbGFzcz1cIm1hdC10aXRsZVwiPnt7J1ByaXZpbGVnZXMnfHRyYW5zbGF0ZX19PC9oMj5cclxuICA8bWF0LXNlbGVjdGlvbi1saXN0IChzZWxlY3Rpb25DaGFuZ2UpPVwicm9sZXNDaGFuZ2UoJGV2ZW50KVwiIG11bHRpcGxlICpuZ0lmPVwicm9sZXNcIj5cclxuICAgIDxtYXQtbGlzdC1vcHRpb24gKm5nRm9yPVwibGV0IHIgb2Ygcm9sZXNcIiBbc2VsZWN0ZWRdPVwibW9kZWw/LnJvbGVzPy5pbmRleE9mKHIubmFtZSkgPiAtMVwiIFt2YWx1ZV09XCJyLm5hbWVcIj57e3IudGl0bGV9fTwvbWF0LWxpc3Qtb3B0aW9uPlxyXG4gICAgPCEtLVtkaXNhYmxlZF09XCJmYWxzZVwiLS0+XHJcbiAgPC9tYXQtc2VsZWN0aW9uLWxpc3Q+XHJcbiAgPCEtLTxtYXQtZm9ybS1maWVsZD5cclxuICAgIDxtYXQtbGFiZWw+e3snUm9sZXMnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJyb2xlc1wiIG11bHRpcGxlPlxyXG4gICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgciBvZiByb2xlc1wiIFt2YWx1ZV09XCJyLm5hbWVcIj57e3IudGl0bGV9fTwvbWF0LW9wdGlvbj5cclxuICAgIDwvbWF0LXNlbGVjdD5cclxuICA8L21hdC1mb3JtLWZpZWxkPi0tPlxyXG4gIDxtYXQtZm9ybS1maWVsZD5cclxuICAgIDxiaXpkb2MtYWNlLWlucHV0IFtwbGFjZWhvbGRlcl09XCInQ29uZGl0aW9uJ3x0cmFuc2xhdGVcIiBmb3JtQ29udHJvbE5hbWU9XCJydWxlXCI+PC9iaXpkb2MtYWNlLWlucHV0PlxyXG4gICAgPG1hdC1oaW50PiB7eyAnUHJvZ3JhbW1hYmxlRXhwcmVzc2lvbid8dHJhbnNsYXRlIH19PC9tYXQtaGludD5cclxuICA8L21hdC1mb3JtLWZpZWxkPlxyXG48L2Zvcm0+XHJcbiJdfQ==
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmlsZWdlcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL2NvbmZpZ3VyYXRpb24tZGVzaWduZXIvcHJpdmlsZWdlcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL2NvbmZpZ3VyYXRpb24tZGVzaWduZXIvcHJpdmlsZWdlcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXJILE9BQU8sRUFBRSxnQkFBZ0IsRUFBMEIsTUFBTSx3QkFBd0IsQ0FBQztBQUdsRixPQUFPLEVBQUUsV0FBVyxFQUFpQyxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7O0FBTTdFLE1BQU0sT0FBTyx5QkFBeUI7SUFTcEMsWUFBb0IsR0FBZ0IsRUFDMUIsUUFBdUIsRUFDdkIsR0FBc0IsRUFDRCxJQUFpQjtRQUg1QixRQUFHLEdBQUgsR0FBRyxDQUFhO1FBQzFCLGFBQVEsR0FBUixRQUFRLENBQWU7UUFDdkIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDRCxTQUFJLEdBQUosSUFBSSxDQUFhO1FBVjdCLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBbUIsQ0FBQztRQUV2RCxTQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7WUFDN0IsSUFBSSxFQUFFLElBQUk7WUFDVixLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQVcsRUFBRSxDQUFDO1NBQ3RDLENBQUMsQ0FBQztJQU1ILENBQUM7SUFDRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDbEMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDO2dCQUNaLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBZSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUN4RCxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUk7Z0JBQ1osS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLO2dCQUNkLFFBQVEsRUFBRSxDQUFDLENBQUMsUUFBUTthQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ1AsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FDNUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUNuQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFRLENBQUMsQ0FDM0IsQ0FBQztJQUNKLENBQUM7SUFDRCxXQUFXLENBQUMsR0FBMkI7UUFDckMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN4RixDQUFDOztzSEFsQ1UseUJBQXlCLDJHQVkxQixXQUFXOzBHQVpWLHlCQUF5QiwwSkFHekIsZ0JBQWdCLGdEQ2Q3QiwrMEJBZ0JBOzJGRExhLHlCQUF5QjtrQkFKckMsU0FBUzsrQkFDRSxtQkFBbUI7OzBCQWUxQixNQUFNOzJCQUFDLFdBQVc7NENBWFosS0FBSztzQkFBYixLQUFLO2dCQUNhLE1BQU07c0JBQXhCLE1BQU07Z0JBQ3NCLElBQUk7c0JBQWhDLFNBQVM7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIFZhbGlkYXRvcnMgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgTWF0U2VsZWN0aW9uTGlzdCwgTWF0U2VsZWN0aW9uTGlzdENoYW5nZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9saXN0XCI7XHJcbmltcG9ydCB7IFJvbGUgfSBmcm9tIFwiLi4vLi4vY29yZS9tb2RlbHNcIjtcclxuaW1wb3J0IHsgU3lzdGVtU2VydmljZSB9IGZyb20gXCIuLi9zeXN0ZW0uc2VydmljZVwiO1xyXG5pbXBvcnQgeyBEZXNpZ25lclJlZiwgRWxlbWVudE1vZGVsLCBQcml2aWxlZ2VzTW9kZWwgfSBmcm9tIFwiLi9kZXNpZ25lci5iYXNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2JpemRvYy1wcml2aWxlZ2VzJyxcclxuICB0ZW1wbGF0ZVVybDogJ3ByaXZpbGVnZXMuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQcml2aWxlZ2VzRGVzaWduQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBtb2RlbCE6IFByaXZpbGVnZXNNb2RlbDtcclxuICBAT3V0cHV0KCkgcmVhZG9ubHkgY2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxQcml2aWxlZ2VzTW9kZWw+KCk7XHJcbiAgQFZpZXdDaGlsZChNYXRTZWxlY3Rpb25MaXN0KSBsaXN0OiBNYXRTZWxlY3Rpb25MaXN0O1xyXG4gIHJlYWRvbmx5IGZvcm0gPSB0aGlzLl9mYi5ncm91cCh7XHJcbiAgICBydWxlOiBudWxsLFxyXG4gICAgcm9sZXM6IHRoaXMuX2ZiLmNvbnRyb2w8c3RyaW5nW10+KFtdKSxcclxuICB9KTtcclxuICByb2xlczogUm9sZVtdO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2ZiOiBGb3JtQnVpbGRlcixcclxuICAgIHByaXZhdGUgX3NlcnZpY2U6IFN5c3RlbVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9jZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBASW5qZWN0KERlc2lnbmVyUmVmKSBwcml2YXRlIF9yZWY6IERlc2lnbmVyUmVmKSB7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5fc2VydmljZS5yb2xlcygpLnN1YnNjcmliZShyID0+IHtcclxuICAgICAgdGhpcy5yb2xlcyA9IHIuXHJcbiAgICAgICAgY29uY2F0KHRoaXMuX3JlZi5kZXNpZ25lci5yb2xlcy5tYXAoKHI6IEVsZW1lbnRNb2RlbCkgPT4gKHtcclxuICAgICAgICAgIG5hbWU6IHIubmFtZSxcclxuICAgICAgICAgIHRpdGxlOiByLnRpdGxlLFxyXG4gICAgICAgICAgZGF0YVR5cGU6IHIuZGF0YVR5cGVcclxuICAgICAgICB9KSkpO1xyXG4gICAgICB0aGlzLl9jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIHRoaXMubGlzdC5vcHRpb25zLmZvckVhY2gobyA9PiBcclxuICAgICAgICB0aGlzLm1vZGVsLnJvbGVzPy5pbmRleE9mKG8udmFsdWUpID4gLTEgJiZcclxuICAgICAgICAgIHRoaXMubGlzdC5zZWxlY3RlZE9wdGlvbnMuc2VsZWN0KG8pKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUodGhpcy5tb2RlbCk7XHJcbiAgICB0aGlzLmZvcm0udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2ID0+XHJcbiAgICAgIHRoaXMuY2hhbmdlLmVtaXQodiBhcyBhbnkpXHJcbiAgICApO1xyXG4gIH1cclxuICByb2xlc0NoYW5nZShldnQ6IE1hdFNlbGVjdGlvbkxpc3RDaGFuZ2UpIHtcclxuICAgIHRoaXMuZm9ybS5nZXQoJ3JvbGVzJykuc2V0VmFsdWUodGhpcy5saXN0LnNlbGVjdGVkT3B0aW9ucy5zZWxlY3RlZC5tYXAobyA9PiBvLnZhbHVlKSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgYXV0b2NvbXBsZXRlPVwib2ZmXCIgW2Zvcm1Hcm91cF09XCJmb3JtXCIgY2xhc3M9XCJjb2x1bW5cIj5cclxuICA8aDIgY2xhc3M9XCJtYXQtdGl0bGVcIj57eydQcml2aWxlZ2VzJ3x0cmFuc2xhdGV9fTwvaDI+XHJcbiAgPG1hdC1zZWxlY3Rpb24tbGlzdCAoc2VsZWN0aW9uQ2hhbmdlKT1cInJvbGVzQ2hhbmdlKCRldmVudClcIiAqbmdJZj1cInJvbGVzXCI+XHJcbiAgICA8bWF0LWxpc3Qtb3B0aW9uICpuZ0Zvcj1cImxldCByIG9mIHJvbGVzXCIgW3ZhbHVlXT1cInIubmFtZVwiPnt7ci50aXRsZX19PC9tYXQtbGlzdC1vcHRpb24+XHJcbiAgPC9tYXQtc2VsZWN0aW9uLWxpc3Q+XHJcbiAgPCEtLTxtYXQtZm9ybS1maWVsZD5cclxuICAgIDxtYXQtbGFiZWw+e3snUm9sZXMnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJyb2xlc1wiIG11bHRpcGxlPlxyXG4gICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgciBvZiByb2xlc1wiIFt2YWx1ZV09XCJyLm5hbWVcIj57e3IudGl0bGV9fTwvbWF0LW9wdGlvbj5cclxuICAgIDwvbWF0LXNlbGVjdD5cclxuICA8L21hdC1mb3JtLWZpZWxkPi0tPlxyXG4gIDxtYXQtZm9ybS1maWVsZD5cclxuICAgIDxiaXpkb2MtYWNlLWlucHV0IFtwbGFjZWhvbGRlcl09XCInQ29uZGl0aW9uJ3x0cmFuc2xhdGVcIiBmb3JtQ29udHJvbE5hbWU9XCJydWxlXCI+PC9iaXpkb2MtYWNlLWlucHV0PlxyXG4gICAgPG1hdC1oaW50PiB7eyAnUHJvZ3JhbW1hYmxlRXhwcmVzc2lvbid8dHJhbnNsYXRlIH19PC9tYXQtaGludD5cclxuICA8L21hdC1mb3JtLWZpZWxkPlxyXG48L2Rpdj5cclxuIl19
@@ -1,5 +1,5 @@
1
1
  import { Component, Input, HostBinding, Optional, Self } from '@angular/core';
2
- import { Subject } from 'rxjs';
2
+ import { shareReplay, Subject } from 'rxjs';
3
3
  import { MatFormFieldControl } from '@angular/material/form-field';
4
4
  import * as brace from 'brace';
5
5
  import 'brace/mode/javascript';
@@ -7,12 +7,12 @@ import 'brace/theme/github';
7
7
  import 'brace/ext/language_tools';
8
8
  import * as i0 from "@angular/core";
9
9
  import * as i1 from "@angular/forms";
10
- import * as i2 from "@angular/common/http";
10
+ import * as i2 from "../system.service";
11
11
  export class AceInput {
12
- constructor(ngControl, _el, _http) {
12
+ constructor(ngControl, _el, _service) {
13
13
  this.ngControl = ngControl;
14
14
  this._el = _el;
15
- this._http = _http;
15
+ this._service = _service;
16
16
  this._required = false;
17
17
  this._disabled = false;
18
18
  this.stateChanges = new Subject();
@@ -25,9 +25,6 @@ export class AceInput {
25
25
  this.ngControl.valueAccessor = this;
26
26
  }
27
27
  }
28
- focus() {
29
- this._editor.focus();
30
- }
31
28
  get placeholder() {
32
29
  return this._placeholder;
33
30
  }
@@ -85,11 +82,11 @@ export class AceInput {
85
82
  enableLiveAutocompletion: true
86
83
  });
87
84
  this._editor.setValue(this._value || '');
88
- const rules = this._http.get(`/api/form/rules`, { params: this.params });
85
+ const rules = this._service.rules(this.params).pipe(shareReplay());
89
86
  this._editor.addEventListener('change', () => {
90
87
  const val = this._editor.getValue();
91
- this._value = val;
92
- this._onChange(val);
88
+ this._value = val.length > 0 ? val : null;
89
+ this._onChange(this._value);
93
90
  });
94
91
  this._editor.addEventListener('focus', () => {
95
92
  this.focused = true;
@@ -98,18 +95,19 @@ export class AceInput {
98
95
  this._editor.addEventListener('blur', () => this.focused = false);
99
96
  brace.acequire("ace/ext/language_tools").addCompleter({
100
97
  getCompletions: (_editor, _session, _pos, _prefix, callback) => {
101
- rules.subscribe(r => callback(null, Object.keys(r).map(n => {
102
- return { name: n, value: n, score: 1, meta: 'BizDoc' };
103
- })));
98
+ rules.subscribe(r => callback(null, r.map(r => ({ name: r.title, value: r.name, score: 1, meta: 'BizDoc' }))));
104
99
  }
105
100
  });
106
101
  }
102
+ focus() {
103
+ this._editor.focus();
104
+ }
107
105
  ngOnDestroy() {
108
106
  this.stateChanges.complete();
109
107
  }
110
108
  }
111
109
  AceInput.nextId = 0;
112
- AceInput.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: AceInput, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: i0.ElementRef }, { token: i2.HttpClient }], target: i0.ɵɵFactoryTarget.Component });
110
+ AceInput.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: AceInput, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: i0.ElementRef }, { token: i2.SystemService }], target: i0.ɵɵFactoryTarget.Component });
113
111
  AceInput.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: AceInput, selector: "bizdoc-ace-input", inputs: { params: "params", placeholder: "placeholder", required: "required", disabled: "disabled", value: "value" }, host: { properties: { "id": "this.id", "class.floating": "this.shouldLabelFloat", "attr.aria-describedby": "this.describedBy" } }, providers: [{ provide: MatFormFieldControl, useExisting: AceInput }], ngImport: i0, template: `<div></div>`, isInline: true, styles: [":host ::ng-deep textarea{position:unset}\n", ":host ::ng-deep .ace_scrollbar.ace_scrollbar-h{height:5px!important}\n", ":host ::ng-deep .ace_editor{min-height:50px}\n"] });
114
112
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: AceInput, decorators: [{
115
113
  type: Component,
@@ -118,7 +116,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImpor
118
116
  type: Optional
119
117
  }, {
120
118
  type: Self
121
- }] }, { type: i0.ElementRef }, { type: i2.HttpClient }]; }, propDecorators: { id: [{
119
+ }] }, { type: i0.ElementRef }, { type: i2.SystemService }]; }, propDecorators: { id: [{
122
120
  type: HostBinding
123
121
  }], params: [{
124
122
  type: Input
@@ -137,4 +135,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImpor
137
135
  }], value: [{
138
136
  type: Input
139
137
  }] } });
140
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNlLmlucHV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9jb3JlL2FjZS5pbnB1dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBYSxXQUFXLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBc0IsTUFBTSxlQUFlLENBQUM7QUFFN0csT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNuRSxPQUFPLEtBQUssS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMvQixPQUFPLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sb0JBQW9CLENBQUM7QUFDNUIsT0FBTywwQkFBMEIsQ0FBQzs7OztBQVNsQyxNQUFNLE9BQ0UsUUFBUTtJQXlFZCxZQUF1QyxTQUFvQixFQUFVLEdBQWUsRUFDMUUsS0FBaUI7UUFEWSxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBWTtRQUMxRSxVQUFLLEdBQUwsS0FBSyxDQUFZO1FBbkVuQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFLakIsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQzdCLE9BQUUsR0FBRyxhQUFhLFFBQVEsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO1FBU3JELFlBQU8sR0FBRyxLQUFLLENBQUM7UUFvQmhCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbkIsZ0JBQVcsR0FBWSxrQkFBa0IsQ0FBQztRQUVKLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBNkJyRCxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxFQUFFO1lBQzFCLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxHQUFHLElBQUksQ0FB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LENBQUM7SUFDRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMvQixDQUFDOztBQXpHYyxlQUFNLEdBQUcsQ0FBRSxDQUFBO3FHQUxwQixRQUFRO3lGQUFSLFFBQVEsb1NBUEgsQ0FBQyxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLENBQUMsMEJBQzFELGFBQWE7MkZBTWpCLFFBQVE7a0JBVGYsU0FBUzsrQkFDRSxrQkFBa0IsYUFDakIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLFVBQVUsRUFBRSxDQUFDLFlBQzFELGFBQWE7OzBCQStFVixRQUFROzswQkFBSSxJQUFJOzhGQTNEZCxFQUFFO3NCQUFoQixXQUFXO2dCQUNILE1BQU07c0JBQWQsS0FBSztnQkFDTyxXQUFXO3NCQUF2QixLQUFLO2dCQVVGLGdCQUFnQjtzQkFEbkIsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBS3pCLFFBQVE7c0JBRFgsS0FBSztnQkFTRixRQUFRO3NCQURYLEtBQUs7Z0JBU2dDLFdBQVc7c0JBQWhELFdBQVc7dUJBQUMsdUJBQXVCO2dCQW9CdkIsS0FBSztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgSG9zdEJpbmRpbmcsIE9wdGlvbmFsLCBTZWxmLCBPbkluaXQsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmdDb250cm9sLCBDb250cm9sVmFsdWVBY2Nlc3NvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCAqIGFzIGJyYWNlIGZyb20gJ2JyYWNlJztcclxuaW1wb3J0ICdicmFjZS9tb2RlL2phdmFzY3JpcHQnO1xyXG5pbXBvcnQgJ2JyYWNlL3RoZW1lL2dpdGh1Yic7XHJcbmltcG9ydCAnYnJhY2UvZXh0L2xhbmd1YWdlX3Rvb2xzJztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdiaXpkb2MtYWNlLWlucHV0JyxcclxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IE1hdEZvcm1GaWVsZENvbnRyb2wsIHVzZUV4aXN0aW5nOiBBY2VJbnB1dCB9XSxcclxuICB0ZW1wbGF0ZTogYDxkaXY+PC9kaXY+YCxcclxuICBzdHlsZXM6IFsnOmhvc3QgOjpuZy1kZWVwIHRleHRhcmVhIHtwb3NpdGlvbjogdW5zZXR9JyxcclxuICAgICc6aG9zdCA6Om5nLWRlZXAgLmFjZV9zY3JvbGxiYXIuYWNlX3Njcm9sbGJhci1oIHtoZWlnaHQ6IDVweCAhaW1wb3J0YW50fScsXHJcbiAgICAnOmhvc3QgOjpuZy1kZWVwIC5hY2VfZWRpdG9yIHttaW4taGVpZ2h0OiA1MHB4O30nXVxyXG59KVxyXG5leHBvcnRcclxuICBjbGFzcyBBY2VJbnB1dCBpbXBsZW1lbnRzIE1hdEZvcm1GaWVsZENvbnRyb2w8c3RyaW5nPiwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uRGVzdHJveSwgT25Jbml0IHtcclxuICBmb2N1cygpIHtcclxuICB0aGlzLl9lZGl0b3IuZm9jdXMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3RhdGljIG5leHRJZCA9IDA7XHJcbiAgcHJpdmF0ZSBfcGxhY2Vob2xkZXI6IHN0cmluZztcclxuICBwcml2YXRlIF9yZXF1aXJlZCA9IGZhbHNlO1xyXG4gIHByaXZhdGUgX2Rpc2FibGVkID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfdmFsdWU/OiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBfb25DaGFuZ2U6IGFueTtcclxuICBwcml2YXRlIF9vblRvdWNoZWQ6IGFueTtcclxuICBwcml2YXRlIF9lZGl0b3I6IGJyYWNlLkVkaXRvcjtcclxuICByZWFkb25seSBzdGF0ZUNoYW5nZXMgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIEBIb3N0QmluZGluZygpIGlkID0gYGFjZS1pbnB1dC0ke0FjZUlucHV0Lm5leHRJZCsrfWA7XHJcbiAgQElucHV0KCkgcGFyYW1zOiBhbnk7XHJcbiAgQElucHV0KCkgZ2V0IHBsYWNlaG9sZGVyKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3BsYWNlaG9sZGVyO1xyXG4gIH1cclxuICBzZXQgcGxhY2Vob2xkZXIocGxoKSB7XHJcbiAgICB0aGlzLl9wbGFjZWhvbGRlciA9IHBsaDtcclxuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcclxuICB9XHJcbiAgZm9jdXNlZCA9IGZhbHNlO1xyXG4gIGdldCBlbXB0eSgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuX3ZhbHVlID09PSAnJzsgfVxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZmxvYXRpbmcnKVxyXG4gIGdldCBzaG91bGRMYWJlbEZsb2F0KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9jdXNlZCB8fCAhdGhpcy5lbXB0eTtcclxuICB9XHJcbiAgQElucHV0KClcclxuICBnZXQgcmVxdWlyZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fcmVxdWlyZWQ7XHJcbiAgfVxyXG4gIHNldCByZXF1aXJlZChyZXEpIHtcclxuICAgIHRoaXMuX3JlcXVpcmVkID0gcmVxO1xyXG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xyXG4gIH1cclxuICBASW5wdXQoKVxyXG4gIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuX2Rpc2FibGVkOyB9XHJcbiAgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9kaXNhYmxlZCA9IHZhbHVlO1xyXG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xyXG4gIH1cclxuICBlcnJvclN0YXRlID0gZmFsc2U7XHJcbiAgY29udHJvbFR5cGU/OiBzdHJpbmcgPSAnYml6ZG9jLWFjZS1pbnB1dCc7XHJcbiAgYXV0b2ZpbGxlZD86IGJvb2xlYW47XHJcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtZGVzY3JpYmVkYnknKSBkZXNjcmliZWRCeSA9ICcnO1xyXG5cclxuICBzZXREZXNjcmliZWRCeUlkcyhpZHM6IHN0cmluZ1tdKSB7XHJcbiAgICB0aGlzLmRlc2NyaWJlZEJ5ID0gaWRzLmpvaW4oJyAnKTtcclxuICB9XHJcbiAgb25Db250YWluZXJDbGljaygpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9jdXMoKTtcclxuICB9XHJcbiAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy52YWx1ZSA9IG9iajtcclxuICB9XHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLl9vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLl9vblRvdWNoZWQgPSBmbjtcclxuICB9XHJcbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XHJcbiAgfVxyXG4gIEBJbnB1dCgpIGdldCB2YWx1ZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xyXG4gIH1cclxuICBzZXQgdmFsdWUodmFsOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX3ZhbHVlID0gdmFsO1xyXG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xyXG4gIH1cclxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBAU2VsZigpIHB1YmxpYyBuZ0NvbnRyb2w6IE5nQ29udHJvbCwgcHJpdmF0ZSBfZWw6IEVsZW1lbnRSZWYsXHJcbiAgICBwcml2YXRlIF9odHRwOiBIdHRwQ2xpZW50KSB7XHJcbiAgICBpZiAodGhpcy5uZ0NvbnRyb2wgIT0gbnVsbCkge1xyXG4gICAgICB0aGlzLm5nQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcclxuICAgIH1cclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9lZGl0b3IgPSBicmFjZS5lZGl0KHRoaXMuX2VsLm5hdGl2ZUVsZW1lbnQuZmlyc3RDaGlsZCk7XHJcbiAgICB0aGlzLl9lZGl0b3IuZ2V0U2Vzc2lvbigpLnNldE1vZGUoJ2FjZS9tb2RlL2phdmFzY3JpcHQnKTtcclxuICAgIHRoaXMuX2VkaXRvci5zZXRUaGVtZSgnYWNlL3RoZW1lL2dpdGh1YicpO1xyXG4gICAgdGhpcy5fZWRpdG9yLnNldE9wdGlvbnMoe1xyXG4gICAgICBlbmFibGVCYXNpY0F1dG9jb21wbGV0aW9uOiB0cnVlLFxyXG4gICAgICBlbmFibGVMaXZlQXV0b2NvbXBsZXRpb246IHRydWVcclxuICAgIH0pO1xyXG4gICAgdGhpcy5fZWRpdG9yLnNldFZhbHVlKHRoaXMuX3ZhbHVlIHx8ICcnKTtcclxuICAgIGNvbnN0IHJ1bGVzID0gdGhpcy5faHR0cC5nZXQ8eyBbbmFtZTogc3RyaW5nXTogUnVsZSB9PihgL2FwaS9mb3JtL3J1bGVzYCwgeyBwYXJhbXM6IHRoaXMucGFyYW1zIH0pO1xyXG4gICAgdGhpcy5fZWRpdG9yLmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsICgpID0+IHtcclxuICAgICAgY29uc3QgdmFsID0gdGhpcy5fZWRpdG9yLmdldFZhbHVlKCk7XHJcbiAgICAgIHRoaXMuX3ZhbHVlID0gdmFsO1xyXG4gICAgICB0aGlzLl9vbkNoYW5nZSh2YWwpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLl9lZGl0b3IuYWRkRXZlbnRMaXN0ZW5lcignZm9jdXMnLCAoKSA9PiB7XHJcbiAgICAgIHRoaXMuZm9jdXNlZCA9IHRydWU7XHJcbiAgICAgIHRoaXMuX29uVG91Y2hlZCgpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLl9lZGl0b3IuYWRkRXZlbnRMaXN0ZW5lcignYmx1cicsICgpID0+IHRoaXMuZm9jdXNlZCA9IGZhbHNlKTtcclxuICAgIGJyYWNlLmFjZXF1aXJlKFwiYWNlL2V4dC9sYW5ndWFnZV90b29sc1wiKS5hZGRDb21wbGV0ZXIoe1xyXG4gICAgICBnZXRDb21wbGV0aW9uczogKF9lZGl0b3IsIF9zZXNzaW9uLCBfcG9zLCBfcHJlZml4LCBjYWxsYmFjaykgPT4ge1xyXG4gICAgICAgIHJ1bGVzLnN1YnNjcmliZShyID0+XHJcbiAgICAgICAgICBjYWxsYmFjayhudWxsLCBPYmplY3Qua2V5cyhyKS5tYXAobiA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiB7IG5hbWU6IG4sIHZhbHVlOiBuLCBzY29yZTogMSwgbWV0YTogJ0JpekRvYycgfTtcclxuICAgICAgICAgIH0pKSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG59XHJcbmludGVyZmFjZSBSdWxlIHtcclxuICB0aXRsZTogc3RyaW5nO1xyXG59XHJcbiJdfQ==
138
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNlLmlucHV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9jb3JlL2FjZS5pbnB1dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBYSxXQUFXLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBc0IsTUFBTSxlQUFlLENBQUM7QUFFN0csT0FBTyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxLQUFLLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDL0IsT0FBTyx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sMEJBQTBCLENBQUM7Ozs7QUFVbEMsTUFBTSxPQUNFLFFBQVE7SUFxRWQsWUFBdUMsU0FBb0IsRUFBVSxHQUFlLEVBQzFFLFFBQXVCO1FBRE0sY0FBUyxHQUFULFNBQVMsQ0FBVztRQUFVLFFBQUcsR0FBSCxHQUFHLENBQVk7UUFDMUUsYUFBUSxHQUFSLFFBQVEsQ0FBZTtRQW5FekIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBS2pCLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUM3QixPQUFFLEdBQUcsYUFBYSxRQUFRLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztRQVNyRCxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBb0JoQixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGdCQUFXLEdBQVksa0JBQWtCLENBQUM7UUFFSixnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQTZCckQsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksRUFBRTtZQUMxQixJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsR0FB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QUFDO0lBQ0QsS0FBSztRQUNILElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQy9CLENBQUM7O0FBM0djLGVBQU0sR0FBRyxDQUFFLENBQUE7cUdBRHBCLFFBQVE7eUZBQVIsUUFBUSxvU0FQSCxDQUFDLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsQ0FBQywwQkFDMUQsYUFBYTsyRkFNakIsUUFBUTtrQkFUZixTQUFTOytCQUNFLGtCQUFrQixhQUNqQixDQUFDLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsVUFBVSxFQUFFLENBQUMsWUFDMUQsYUFBYTs7MEJBMkVWLFFBQVE7OzBCQUFJLElBQUk7aUdBM0RkLEVBQUU7c0JBQWhCLFdBQVc7Z0JBQ0gsTUFBTTtzQkFBZCxLQUFLO2dCQUNPLFdBQVc7c0JBQXZCLEtBQUs7Z0JBVUYsZ0JBQWdCO3NCQURuQixXQUFXO3VCQUFDLGdCQUFnQjtnQkFLekIsUUFBUTtzQkFEWCxLQUFLO2dCQVNGLFFBQVE7c0JBRFgsS0FBSztnQkFTZ0MsV0FBVztzQkFBaEQsV0FBVzt1QkFBQyx1QkFBdUI7Z0JBb0J2QixLQUFLO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBIb3N0QmluZGluZywgT3B0aW9uYWwsIFNlbGYsIE9uSW5pdCwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOZ0NvbnRyb2wsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBzaGFyZVJlcGxheSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCAqIGFzIGJyYWNlIGZyb20gJ2JyYWNlJztcclxuaW1wb3J0ICdicmFjZS9tb2RlL2phdmFzY3JpcHQnO1xyXG5pbXBvcnQgJ2JyYWNlL3RoZW1lL2dpdGh1Yic7XHJcbmltcG9ydCAnYnJhY2UvZXh0L2xhbmd1YWdlX3Rvb2xzJztcclxuaW1wb3J0IHsgU3lzdGVtU2VydmljZSB9IGZyb20gJy4uL3N5c3RlbS5zZXJ2aWNlJztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdiaXpkb2MtYWNlLWlucHV0JyxcclxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IE1hdEZvcm1GaWVsZENvbnRyb2wsIHVzZUV4aXN0aW5nOiBBY2VJbnB1dCB9XSxcclxuICB0ZW1wbGF0ZTogYDxkaXY+PC9kaXY+YCxcclxuICBzdHlsZXM6IFsnOmhvc3QgOjpuZy1kZWVwIHRleHRhcmVhIHtwb3NpdGlvbjogdW5zZXR9JyxcclxuICAgICc6aG9zdCA6Om5nLWRlZXAgLmFjZV9zY3JvbGxiYXIuYWNlX3Njcm9sbGJhci1oIHtoZWlnaHQ6IDVweCAhaW1wb3J0YW50fScsXHJcbiAgICAnOmhvc3QgOjpuZy1kZWVwIC5hY2VfZWRpdG9yIHttaW4taGVpZ2h0OiA1MHB4O30nXVxyXG59KVxyXG5leHBvcnRcclxuICBjbGFzcyBBY2VJbnB1dCBpbXBsZW1lbnRzIE1hdEZvcm1GaWVsZENvbnRyb2w8c3RyaW5nPiwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uRGVzdHJveSwgT25Jbml0IHtcclxuICBwcml2YXRlIHN0YXRpYyBuZXh0SWQgPSAwO1xyXG4gIHByaXZhdGUgX3BsYWNlaG9sZGVyOiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBfcmVxdWlyZWQgPSBmYWxzZTtcclxuICBwcml2YXRlIF9kaXNhYmxlZCA9IGZhbHNlO1xyXG4gIHByaXZhdGUgX3ZhbHVlPzogc3RyaW5nO1xyXG4gIHByaXZhdGUgX29uQ2hhbmdlOiBhbnk7XHJcbiAgcHJpdmF0ZSBfb25Ub3VjaGVkOiBhbnk7XHJcbiAgcHJpdmF0ZSBfZWRpdG9yOiBicmFjZS5FZGl0b3I7XHJcbiAgcmVhZG9ubHkgc3RhdGVDaGFuZ2VzID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBASG9zdEJpbmRpbmcoKSBpZCA9IGBhY2UtaW5wdXQtJHtBY2VJbnB1dC5uZXh0SWQrK31gO1xyXG4gIEBJbnB1dCgpIHBhcmFtczogYW55O1xyXG4gIEBJbnB1dCgpIGdldCBwbGFjZWhvbGRlcigpIHtcclxuICAgIHJldHVybiB0aGlzLl9wbGFjZWhvbGRlcjtcclxuICB9XHJcbiAgc2V0IHBsYWNlaG9sZGVyKHBsaCkge1xyXG4gICAgdGhpcy5fcGxhY2Vob2xkZXIgPSBwbGg7XHJcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XHJcbiAgfVxyXG4gIGZvY3VzZWQgPSBmYWxzZTtcclxuICBnZXQgZW1wdHkoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl92YWx1ZSA9PT0gJyc7IH1cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZsb2F0aW5nJylcclxuICBnZXQgc2hvdWxkTGFiZWxGbG9hdCgpIHtcclxuICAgIHJldHVybiB0aGlzLmZvY3VzZWQgfHwgIXRoaXMuZW1wdHk7XHJcbiAgfVxyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IHJlcXVpcmVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3JlcXVpcmVkO1xyXG4gIH1cclxuICBzZXQgcmVxdWlyZWQocmVxKSB7XHJcbiAgICB0aGlzLl9yZXF1aXJlZCA9IHJlcTtcclxuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcclxuICB9XHJcbiAgQElucHV0KClcclxuICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9kaXNhYmxlZDsgfVxyXG4gIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fZGlzYWJsZWQgPSB2YWx1ZTtcclxuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcclxuICB9XHJcbiAgZXJyb3JTdGF0ZSA9IGZhbHNlO1xyXG4gIGNvbnRyb2xUeXBlPzogc3RyaW5nID0gJ2JpemRvYy1hY2UtaW5wdXQnO1xyXG4gIGF1dG9maWxsZWQ/OiBib29sZWFuO1xyXG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWRlc2NyaWJlZGJ5JykgZGVzY3JpYmVkQnkgPSAnJztcclxuXHJcbiAgc2V0RGVzY3JpYmVkQnlJZHMoaWRzOiBzdHJpbmdbXSkge1xyXG4gICAgdGhpcy5kZXNjcmliZWRCeSA9IGlkcy5qb2luKCcgJyk7XHJcbiAgfVxyXG4gIG9uQ29udGFpbmVyQ2xpY2soKTogdm9pZCB7XHJcbiAgICB0aGlzLmZvY3VzKCk7XHJcbiAgfVxyXG4gIHdyaXRlVmFsdWUob2JqOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMudmFsdWUgPSBvYmo7XHJcbiAgfVxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5fb25DaGFuZ2UgPSBmbjtcclxuICB9XHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5fb25Ub3VjaGVkID0gZm47XHJcbiAgfVxyXG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gIH1cclxuICBASW5wdXQoKSBnZXQgdmFsdWUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcclxuICB9XHJcbiAgc2V0IHZhbHVlKHZhbDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl92YWx1ZSA9IHZhbDtcclxuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcclxuICB9XHJcbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQFNlbGYoKSBwdWJsaWMgbmdDb250cm9sOiBOZ0NvbnRyb2wsIHByaXZhdGUgX2VsOiBFbGVtZW50UmVmLFxyXG4gICAgcHJpdmF0ZSBfc2VydmljZTogU3lzdGVtU2VydmljZSkge1xyXG4gICAgaWYgKHRoaXMubmdDb250cm9sICE9IG51bGwpIHtcclxuICAgICAgdGhpcy5uZ0NvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XHJcbiAgICB9XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZWRpdG9yID0gYnJhY2UuZWRpdCh0aGlzLl9lbC5uYXRpdmVFbGVtZW50LmZpcnN0Q2hpbGQpO1xyXG4gICAgdGhpcy5fZWRpdG9yLmdldFNlc3Npb24oKS5zZXRNb2RlKCdhY2UvbW9kZS9qYXZhc2NyaXB0Jyk7XHJcbiAgICB0aGlzLl9lZGl0b3Iuc2V0VGhlbWUoJ2FjZS90aGVtZS9naXRodWInKTtcclxuICAgIHRoaXMuX2VkaXRvci5zZXRPcHRpb25zKHtcclxuICAgICAgZW5hYmxlQmFzaWNBdXRvY29tcGxldGlvbjogdHJ1ZSxcclxuICAgICAgZW5hYmxlTGl2ZUF1dG9jb21wbGV0aW9uOiB0cnVlXHJcbiAgICB9KTtcclxuICAgIHRoaXMuX2VkaXRvci5zZXRWYWx1ZSh0aGlzLl92YWx1ZSB8fCAnJyk7XHJcbiAgICBjb25zdCBydWxlcyA9IHRoaXMuX3NlcnZpY2UucnVsZXModGhpcy5wYXJhbXMpLnBpcGUoc2hhcmVSZXBsYXkoKSk7XHJcbiAgICB0aGlzLl9lZGl0b3IuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgKCkgPT4ge1xyXG4gICAgICBjb25zdCB2YWwgPSB0aGlzLl9lZGl0b3IuZ2V0VmFsdWUoKTtcclxuICAgICAgdGhpcy5fdmFsdWUgPSB2YWwubGVuZ3RoID4gMCA/IHZhbCA6IG51bGw7XHJcbiAgICAgIHRoaXMuX29uQ2hhbmdlKHRoaXMuX3ZhbHVlKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5fZWRpdG9yLmFkZEV2ZW50TGlzdGVuZXIoJ2ZvY3VzJywgKCkgPT4ge1xyXG4gICAgICB0aGlzLmZvY3VzZWQgPSB0cnVlO1xyXG4gICAgICB0aGlzLl9vblRvdWNoZWQoKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5fZWRpdG9yLmFkZEV2ZW50TGlzdGVuZXIoJ2JsdXInLCAoKSA9PiB0aGlzLmZvY3VzZWQgPSBmYWxzZSk7XHJcbiAgICBicmFjZS5hY2VxdWlyZShcImFjZS9leHQvbGFuZ3VhZ2VfdG9vbHNcIikuYWRkQ29tcGxldGVyKHtcclxuICAgICAgZ2V0Q29tcGxldGlvbnM6IChfZWRpdG9yLCBfc2Vzc2lvbiwgX3BvcywgX3ByZWZpeCwgY2FsbGJhY2spID0+IHtcclxuICAgICAgICBydWxlcy5zdWJzY3JpYmUociA9PlxyXG4gICAgICAgICAgY2FsbGJhY2sobnVsbCwgci5tYXAociA9PiAoeyBuYW1lOiByLnRpdGxlLCB2YWx1ZTogci5uYW1lLCBzY29yZTogMSwgbWV0YTogJ0JpekRvYycgfSkpKSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuICBmb2N1cygpIHtcclxuICAgIHRoaXMuX2VkaXRvci5mb2N1cygpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5jb21wbGV0ZSgpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -20,6 +20,7 @@ export class ColorPicker {
20
20
  this._vc = _vc;
21
21
  this._element = _element;
22
22
  this._dir = _dir;
23
+ this.controlType = 'bizdoc-color-picker';
23
24
  this._palettes = MATERIAL_PALETTES;
24
25
  this.scales = ["50",
25
26
  "100",
@@ -181,4 +182,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImpor
181
182
  type: ViewChild,
182
183
  args: [TemplateRef, { static: true }]
183
184
  }] } });
184
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItcGlja2VyLmlucHV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9jb3JlL2NvbG9yLXBpY2tlci5pbnB1dC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvYWRtaW4vY29yZS9jb2xvci1waWNrZXIuaW5wdXQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUErQixXQUFXLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQWMsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkosT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFHbkUsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7Ozs7O0FBRXRELGtDQUFrQztBQVlsQyxNQUFNLE9BQU8sV0FBVztJQXNHdEIsWUFDNkIsU0FBb0IsRUFDdkMsUUFBaUIsRUFDakIsR0FBcUIsRUFDckIsUUFBb0IsRUFDcEIsSUFBb0I7UUFKRCxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ3ZDLGFBQVEsR0FBUixRQUFRLENBQVM7UUFDakIsUUFBRyxHQUFILEdBQUcsQ0FBa0I7UUFDckIsYUFBUSxHQUFSLFFBQVEsQ0FBWTtRQUNwQixTQUFJLEdBQUosSUFBSSxDQUFnQjtRQXpHckIsY0FBUyxHQUFHLGlCQUFpQixDQUFDO1FB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WUFBWTtzQkFEcEIsTUFBTTtnQkFFUSxFQUFFO3NCQUFoQixXQUFXO2dCQU9SLGdCQUFnQjtzQkFEbkIsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBS3pCLFFBQVE7c0JBRFgsS0FBSztnQkFTRixRQUFRO3NCQURYLEtBQUs7Z0JBT2dDLFdBQVc7c0JBQWhELFdBQVc7dUJBQUMsdUJBQXVCO2dCQVFNLGFBQWE7c0JBQXRELFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95LCBWaWV3Q29udGFpbmVyUmVmLCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkLCBTZWxmLCBPcHRpb25hbCwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIElucHV0LCBPdXRwdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRDb250cm9sIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGRcIjtcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5nQ29udHJvbCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBPdmVybGF5UmVmLCBPdmVybGF5IH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9vdmVybGF5XCI7XHJcbmltcG9ydCB7IG1lcmdlLCBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcbmltcG9ydCB7IEVTQ0FQRSB9IGZyb20gXCJAYW5ndWxhci9jZGsva2V5Y29kZXNcIjtcclxuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL3BvcnRhbFwiO1xyXG5pbXBvcnQgeyBNQVRFUklBTF9QQUxFVFRFUyB9IGZyb20gXCIuLi8uLi9jb3JlL2NvbG9yc1wiO1xyXG5pbXBvcnQgeyBEaXJlY3Rpb25hbGl0eSB9IGZyb20gXCJAYW5ndWxhci9jZGsvYmlkaVwiO1xyXG4vL1tzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT0ndmFsdWUnXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLWNvbG9yLXBpY2tlcicsXHJcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBNYXRGb3JtRmllbGRDb250cm9sLCB1c2VFeGlzdGluZzogQ29sb3JQaWNrZXIgfV0sXHJcbiAgdGVtcGxhdGVVcmw6IGAuL2NvbG9yLXBpY2tlci5pbnB1dC5odG1sYCxcclxuICBzdHlsZVVybHM6IFsnLi9jb2xvci1waWNrZXIuaW5wdXQuc2NzcyddLFxyXG4gIGhvc3Q6IHtcclxuICAgICdbY2xhc3MuZmxvYXRpbmddJzogJ3Nob3VsZExhYmVsRmxvYXQnLFxyXG4gICAgJ1tpZF0nOiAnaWQnLFxyXG4gICAgJ1thdHRyLmFyaWEtZGVzY3JpYmVkYnldJzogJ2Rlc2NyaWJlZEJ5J1xyXG4gIH1cclxufSlcclxuZXhwb3J0IGNsYXNzIENvbG9yUGlja2VyIGltcGxlbWVudHMgTWF0Rm9ybUZpZWxkQ29udHJvbDxzdHJpbmc+LCBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25EZXN0cm95IHtcclxuICBwcml2YXRlIHN0YXRpYyBuZXh0SWQgPSAwO1xyXG4gIHJlYWRvbmx5IF9wYWxldHRlcyA9IE1BVEVSSUFMX1BBTEVUVEVTO1xyXG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XHJcbiAgcmVhZG9ubHkgc2NhbGVzID0gW1wiNTBcIixcclxuICAgIFwiMTAwXCIsXHJcbiAgICBcIjIwMFwiLFxyXG4gICAgXCIzMDBcIixcclxuICAgIFwiNDAwXCIsXHJcbiAgICBcIjUwMFwiLFxyXG4gICAgXCI2MDBcIixcclxuICAgIFwiNzAwXCIsXHJcbiAgICBcIjgwMFwiLFxyXG4gICAgXCI5MDBcIl07XHJcbiAgcmVhZG9ubHkgY29sb3JzID0gW1wicmVkXCIsXHJcbiAgICBcInBpbmtcIixcclxuICAgIFwicHVycGxlXCIsXHJcbiAgICBcImRlZXBQdXJwbGVcIixcclxuICAgIFwiaW5kaWdvXCIsXHJcbiAgICBcImJsdWVcIixcclxuICAgIFwibGlnaHRCbHVlXCIsXHJcbiAgICBcImN5YW5cIixcclxuICAgIFwidGVhbFwiLFxyXG4gICAgXCJncmVlblwiLFxyXG4gICAgXCJsaWdodEdyZWVuXCIsXHJcbiAgICBcImxpbWVcIixcclxuICAgIFwieWVsbG93XCIsXHJcbiAgICBcImFtYmVyXCIsXHJcbiAgICBcIm9yYW5nZVwiLFxyXG4gICAgXCJicm93blwiLFxyXG4gICAgXCJncmV5XCIsXHJcbiAgICBcImJsdWVHcmV5XCJdO1xyXG5cclxuICByZWFkb25seSBPYmplY3QgPSBPYmplY3Q7XHJcbiAgcHJpdmF0ZSBfb25DaGFuZ2U6IGFueTtcclxuICBwcml2YXRlIF9vblRvdWNoZWQ6IGFueTtcclxuICBwcml2YXRlIF9yZXF1aXJlZCA9IGZhbHNlO1xyXG4gIHByaXZhdGUgX2Rpc2FibGVkID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfdmFsdWU6IHN0cmluZztcclxuICB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLl92YWx1ZSA9IG9iajtcclxuICB9XHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLl9vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLl9vblRvdWNoZWQgPSBmbjtcclxuICB9XHJcbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XHJcbiAgfVxyXG4gIGdldCB2YWx1ZSgpOiBzdHJpbmcgeyByZXR1cm4gdGhpcy5fdmFsdWU7IH1cclxuICBASW5wdXQoKVxyXG4gIHNldCB2YWx1ZSh2YWw6IHN0cmluZykge1xyXG4gICAgdGhpcy5fdmFsdWUgPSB2YWw7XHJcbiAgICB0aGlzLl9vbkNoYW5nZSAmJiB0aGlzLl9vbkNoYW5nZSh2YWwpO1xyXG4gICAgdGhpcy52YWx1ZUNoYW5nZXMubmV4dCh2YWwpO1xyXG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xyXG4gIH1cclxuICByZWFkb25seSBzdGF0ZUNoYW5nZXMgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIEBPdXRwdXQoKVxyXG4gIHJlYWRvbmx5IHZhbHVlQ2hhbmdlcyA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcclxuICBASG9zdEJpbmRpbmcoKSBpZCA9IGBjb2xvci1waWNrZXItJHtDb2xvclBpY2tlci5uZXh0SWQrK31gO1xyXG4gIHBsYWNlaG9sZGVyOiBzdHJpbmc7XHJcbiAgZm9jdXNlZCA9IGZhbHNlO1xyXG4gIGdldCBlbXB0eSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl92YWx1ZSA9PT0gbnVsbDtcclxuICB9XHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mbG9hdGluZycpXHJcbiAgZ2V0IHNob3VsZExhYmVsRmxvYXQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb2N1c2VkIHx8ICF0aGlzLmVtcHR5O1xyXG4gIH1cclxuICBASW5wdXQoKVxyXG4gIGdldCByZXF1aXJlZCgpIHtcclxuICAgIHJldHVybiB0aGlzLl9yZXF1aXJlZDtcclxuICB9XHJcbiAgc2V0IHJlcXVpcmVkKHJlcSkge1xyXG4gICAgdGhpcy5fcmVxdWlyZWQgPSByZXE7XHJcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XHJcbiAgfVxyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7IH1cclxuICBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuX2Rpc2FibGVkID0gdmFsdWU7XHJcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XHJcbiAgfVxyXG4gIGVycm9yU3RhdGUgPSBmYWxzZTtcclxuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1kZXNjcmliZWRieScpIGRlc2NyaWJlZEJ5ID0gJyc7XHJcbiAgc2V0RGVzY3JpYmVkQnlJZHMoaWRzOiBzdHJpbmdbXSk6IHZvaWQge1xyXG4gICAgdGhpcy5kZXNjcmliZWRCeSA9IGlkcy5qb2luKCcgJyk7XHJcbiAgfVxyXG4gIG9uQ29udGFpbmVyQ2xpY2soX2V2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICB0aGlzLl9vblRvdWNoZWQgJiYgdGhpcy5fb25Ub3VjaGVkKCk7XHJcbiAgICB0aGlzLm9wZW4oKTtcclxuICB9XHJcbiAgQFZpZXdDaGlsZChUZW1wbGF0ZVJlZiwgeyBzdGF0aWM6IHRydWUgfSkgX2NvbG9yUGFsZXR0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2Rlc3Ryb3kubmV4dCgpO1xyXG4gICAgdGhpcy5fZGVzdHJveS5jb21wbGV0ZSgpO1xyXG4gIH1cclxuICBwcml2YXRlIF9vdmVybGF5UmVmOiBPdmVybGF5UmVmO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQE9wdGlvbmFsKCkgQFNlbGYoKSBwdWJsaWMgbmdDb250cm9sOiBOZ0NvbnRyb2wsXHJcbiAgICBwcml2YXRlIF9vdmVybGF5OiBPdmVybGF5LFxyXG4gICAgcHJpdmF0ZSBfdmM6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICBwcml2YXRlIF9lbGVtZW50OiBFbGVtZW50UmVmLFxyXG4gICAgcHJpdmF0ZSBfZGlyOiBEaXJlY3Rpb25hbGl0eSkge1xyXG4gICAgaWYgKHRoaXMubmdDb250cm9sICE9IG51bGwpIHtcclxuICAgICAgdGhpcy5uZ0NvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XHJcbiAgICB9XHJcbiAgfVxyXG4gIG9wZW4oKSB7XHJcbiAgICBpZiAoIXRoaXMuX292ZXJsYXlSZWYpIHRoaXMuX292ZXJsYXlSZWYgPSB0aGlzLl9jcmVhdGVPdmVybGF5KCk7XHJcbiAgICBjb25zdCBwb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWwodGhpcy5fY29sb3JQYWxldHRlLCB0aGlzLl92Yyk7XHJcbiAgICB0aGlzLl9vdmVybGF5UmVmLmF0dGFjaChwb3J0YWwpO1xyXG4gIH1cclxuICBjbG9zZSgpIHtcclxuICAgIHRoaXMuX292ZXJsYXlSZWYuZGV0YWNoKCk7XHJcbiAgfVxyXG4gIF9waWNrKGNvbG9yOiBzdHJpbmcpIHtcclxuICAgIHRoaXMudmFsdWUgPSBjb2xvcjtcclxuICAgIHRoaXMuY2xvc2UoKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfY3JlYXRlT3ZlcmxheSgpOiBPdmVybGF5UmVmIHtcclxuICAgIGNvbnN0IHJlZiA9IHRoaXMuX292ZXJsYXkuY3JlYXRlKHtcclxuICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5fb3ZlcmxheS5wb3NpdGlvbigpLmZsZXhpYmxlQ29ubmVjdGVkVG8odGhpcy5fZWxlbWVudCkud2l0aFBvc2l0aW9ucyhbe1xyXG4gICAgICAgIG9yaWdpblg6ICdzdGFydCcsXHJcbiAgICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXHJcbiAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXHJcbiAgICAgICAgb3ZlcmxheVk6ICd0b3AnXHJcbiAgICAgIH0sIHtcclxuICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxyXG4gICAgICAgIG9yaWdpblk6ICd0b3AnLFxyXG4gICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxyXG4gICAgICAgIG92ZXJsYXlZOiAnYm90dG9tJ1xyXG4gICAgICB9XSksXHJcbiAgICAgIGRpcmVjdGlvbjogdGhpcy5fZGlyLnZhbHVlLFxyXG4gICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcclxuICAgICAgYmFja2Ryb3BDbGFzczogJ2Nkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wJ1xyXG4gICAgfSk7XHJcbiAgICBtZXJnZShyZWYuYmFja2Ryb3BDbGljaygpLCByZWYua2V5ZG93bkV2ZW50cygpLnBpcGUoZmlsdGVyKGsgPT4gay5rZXlDb2RlID09PSBFU0NBUEUpKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2xvc2UoKSk7XHJcbiAgICByZXR1cm4gcmVmO1xyXG4gIH1cclxufVxyXG4iLCI8YnV0dG9uIG1hdC1idXR0b24gKGNsaWNrKT0nb3BlbigpJyBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cclxuICA8c3Bhbj57e2xhYmVsfX08L3NwYW4+XHJcbiAgPG1hdC1pY29uPmFycm93X2Ryb3BfZG93bjwvbWF0LWljb24+XHJcbjwvYnV0dG9uPlxyXG48bmctdGVtcGxhdGU+XHJcbiAgPGRpdiBjbGFzcz1cImNvbG9yLXBhbGV0dGVcIj5cclxuICAgIDxkaXYgKm5nRm9yPSdsZXQgcCBvZiBPYmplY3Qua2V5cyhfcGFsZXR0ZXMpJyBjbGFzcz1cImNvbG9yLWNvbnRhaW5lclwiPlxyXG4gICAgICA8c3BhbiAqbmdGb3I9J2xldCBjIG9mIE9iamVjdC5rZXlzKF9wYWxldHRlc1twXSknIChjbGljayk9J19waWNrKF9wYWxldHRlc1twXVtjXSknIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT0nX3BhbGV0dGVzW3BdW2NdJyBjbGFzcz1cImNvbG9yLWl0ZW1cIj48L3NwYW4+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
185
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItcGlja2VyLmlucHV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9jb3JlL2NvbG9yLXBpY2tlci5pbnB1dC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvYWRtaW4vY29yZS9jb2xvci1waWNrZXIuaW5wdXQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUErQixXQUFXLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQWMsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkosT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFHbkUsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7Ozs7O0FBRXRELGtDQUFrQztBQVlsQyxNQUFNLE9BQU8sV0FBVztJQXVHdEIsWUFDNkIsU0FBb0IsRUFDdkMsUUFBaUIsRUFDakIsR0FBcUIsRUFDckIsUUFBb0IsRUFDcEIsSUFBb0I7UUFKRCxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ3ZDLGFBQVEsR0FBUixRQUFRLENBQVM7UUFDakIsUUFBRyxHQUFILEdBQUcsQ0FBa0I7UUFDckIsYUFBUSxHQUFSLFFBQVEsQ0FBWTtRQUNwQixTQUFJLEdBQUosSUFBSSxDQUFnQjtRQTNHOUIsZ0JBQVcsR0FBWSxxQkFBcUIsQ0FBQztR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Z0JBa0RGLEtBQUs7c0JBRFIsS0FBSztnQkFTRyxZQUFZO3NCQURwQixNQUFNO2dCQUVRLEVBQUU7c0JBQWhCLFdBQVc7Z0JBT1IsZ0JBQWdCO3NCQURuQixXQUFXO3VCQUFDLGdCQUFnQjtnQkFLekIsUUFBUTtzQkFEWCxLQUFLO2dCQVNGLFFBQVE7c0JBRFgsS0FBSztnQkFPZ0MsV0FBVztzQkFBaEQsV0FBVzt1QkFBQyx1QkFBdUI7Z0JBUU0sYUFBYTtzQkFBdEQsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIFZpZXdDb250YWluZXJSZWYsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQsIFNlbGYsIE9wdGlvbmFsLCBFbGVtZW50UmVmLCBIb3N0QmluZGluZywgSW5wdXQsIE91dHB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZENvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZFwiO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTmdDb250cm9sIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IE92ZXJsYXlSZWYsIE92ZXJsYXkgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL292ZXJsYXlcIjtcclxuaW1wb3J0IHsgbWVyZ2UsIFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcclxuaW1wb3J0IHsgRVNDQVBFIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9rZXljb2Rlc1wiO1xyXG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gXCJAYW5ndWxhci9jZGsvcG9ydGFsXCI7XHJcbmltcG9ydCB7IE1BVEVSSUFMX1BBTEVUVEVTIH0gZnJvbSBcIi4uLy4uL2NvcmUvY29sb3JzXCI7XHJcbmltcG9ydCB7IERpcmVjdGlvbmFsaXR5IH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9iaWRpXCI7XHJcbi8vW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPSd2YWx1ZSdcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdiaXpkb2MtY29sb3ItcGlja2VyJyxcclxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IE1hdEZvcm1GaWVsZENvbnRyb2wsIHVzZUV4aXN0aW5nOiBDb2xvclBpY2tlciB9XSxcclxuICB0ZW1wbGF0ZVVybDogYC4vY29sb3ItcGlja2VyLmlucHV0Lmh0bWxgLFxyXG4gIHN0eWxlVXJsczogWycuL2NvbG9yLXBpY2tlci5pbnB1dC5zY3NzJ10sXHJcbiAgaG9zdDoge1xyXG4gICAgJ1tjbGFzcy5mbG9hdGluZ10nOiAnc2hvdWxkTGFiZWxGbG9hdCcsXHJcbiAgICAnW2lkXSc6ICdpZCcsXHJcbiAgICAnW2F0dHIuYXJpYS1kZXNjcmliZWRieV0nOiAnZGVzY3JpYmVkQnknXHJcbiAgfVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29sb3JQaWNrZXIgaW1wbGVtZW50cyBNYXRGb3JtRmllbGRDb250cm9sPHN0cmluZz4sIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkRlc3Ryb3kge1xyXG4gIGNvbnRyb2xUeXBlPzogc3RyaW5nID0gJ2JpemRvYy1jb2xvci1waWNrZXInO1xyXG4gIHByaXZhdGUgc3RhdGljIG5leHRJZCA9IDA7XHJcbiAgcmVhZG9ubHkgX3BhbGV0dGVzID0gTUFURVJJQUxfUEFMRVRURVM7XHJcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcclxuICByZWFkb25seSBzY2FsZXMgPSBbXCI1MFwiLFxyXG4gICAgXCIxMDBcIixcclxuICAgIFwiMjAwXCIsXHJcbiAgICBcIjMwMFwiLFxyXG4gICAgXCI0MDBcIixcclxuICAgIFwiNTAwXCIsXHJcbiAgICBcIjYwMFwiLFxyXG4gICAgXCI3MDBcIixcclxuICAgIFwiODAwXCIsXHJcbiAgICBcIjkwMFwiXTtcclxuICByZWFkb25seSBjb2xvcnMgPSBbXCJyZWRcIixcclxuICAgIFwicGlua1wiLFxyXG4gICAgXCJwdXJwbGVcIixcclxuICAgIFwiZGVlcFB1cnBsZVwiLFxyXG4gICAgXCJpbmRpZ29cIixcclxuICAgIFwiYmx1ZVwiLFxyXG4gICAgXCJsaWdodEJsdWVcIixcclxuICAgIFwiY3lhblwiLFxyXG4gICAgXCJ0ZWFsXCIsXHJcbiAgICBcImdyZWVuXCIsXHJcbiAgICBcImxpZ2h0R3JlZW5cIixcclxuICAgIFwibGltZVwiLFxyXG4gICAgXCJ5ZWxsb3dcIixcclxuICAgIFwiYW1iZXJcIixcclxuICAgIFwib3JhbmdlXCIsXHJcbiAgICBcImJyb3duXCIsXHJcbiAgICBcImdyZXlcIixcclxuICAgIFwiYmx1ZUdyZXlcIl07XHJcblxyXG4gIHJlYWRvbmx5IE9iamVjdCA9IE9iamVjdDtcclxuICBwcml2YXRlIF9vbkNoYW5nZTogYW55O1xyXG4gIHByaXZhdGUgX29uVG91Y2hlZDogYW55O1xyXG4gIHByaXZhdGUgX3JlcXVpcmVkID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfZGlzYWJsZWQgPSBmYWxzZTtcclxuICBwcml2YXRlIF92YWx1ZTogc3RyaW5nO1xyXG4gIHdyaXRlVmFsdWUob2JqOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMuX3ZhbHVlID0gb2JqO1xyXG4gIH1cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMuX29uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMuX29uVG91Y2hlZCA9IGZuO1xyXG4gIH1cclxuICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcclxuICB9XHJcbiAgZ2V0IHZhbHVlKCk6IHN0cmluZyB7IHJldHVybiB0aGlzLl92YWx1ZTsgfVxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHZhbHVlKHZhbDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl92YWx1ZSA9IHZhbDtcclxuICAgIHRoaXMuX29uQ2hhbmdlICYmIHRoaXMuX29uQ2hhbmdlKHZhbCk7XHJcbiAgICB0aGlzLnZhbHVlQ2hhbmdlcy5uZXh0KHZhbCk7XHJcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XHJcbiAgfVxyXG4gIHJlYWRvbmx5IHN0YXRlQ2hhbmdlcyA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgQE91dHB1dCgpXHJcbiAgcmVhZG9ubHkgdmFsdWVDaGFuZ2VzID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xyXG4gIEBIb3N0QmluZGluZygpIGlkID0gYGNvbG9yLXBpY2tlci0ke0NvbG9yUGlja2VyLm5leHRJZCsrfWA7XHJcbiAgcGxhY2Vob2xkZXI6IHN0cmluZztcclxuICBmb2N1c2VkID0gZmFsc2U7XHJcbiAgZ2V0IGVtcHR5KCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlID09PSBudWxsO1xyXG4gIH1cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZsb2F0aW5nJylcclxuICBnZXQgc2hvdWxkTGFiZWxGbG9hdCgpIHtcclxuICAgIHJldHVybiB0aGlzLmZvY3VzZWQgfHwgIXRoaXMuZW1wdHk7XHJcbiAgfVxyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IHJlcXVpcmVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3JlcXVpcmVkO1xyXG4gIH1cclxuICBzZXQgcmVxdWlyZWQocmVxKSB7XHJcbiAgICB0aGlzLl9yZXF1aXJlZCA9IHJlcTtcclxuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcclxuICB9XHJcbiAgQElucHV0KClcclxuICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9kaXNhYmxlZDsgfVxyXG4gIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fZGlzYWJsZWQgPSB2YWx1ZTtcclxuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcclxuICB9XHJcbiAgZXJyb3JTdGF0ZSA9IGZhbHNlO1xyXG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWRlc2NyaWJlZGJ5JykgZGVzY3JpYmVkQnkgPSAnJztcclxuICBzZXREZXNjcmliZWRCeUlkcyhpZHM6IHN0cmluZ1tdKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc2NyaWJlZEJ5ID0gaWRzLmpvaW4oJyAnKTtcclxuICB9XHJcbiAgb25Db250YWluZXJDbGljayhfZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMuX29uVG91Y2hlZCAmJiB0aGlzLl9vblRvdWNoZWQoKTtcclxuICAgIHRoaXMub3BlbigpO1xyXG4gIH1cclxuICBAVmlld0NoaWxkKFRlbXBsYXRlUmVmLCB7IHN0YXRpYzogdHJ1ZSB9KSBfY29sb3JQYWxldHRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGVzdHJveS5uZXh0KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95LmNvbXBsZXRlKCk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX292ZXJsYXlSZWY6IE92ZXJsYXlSZWY7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBAT3B0aW9uYWwoKSBAU2VsZigpIHB1YmxpYyBuZ0NvbnRyb2w6IE5nQ29udHJvbCxcclxuICAgIHByaXZhdGUgX292ZXJsYXk6IE92ZXJsYXksXHJcbiAgICBwcml2YXRlIF92YzogVmlld0NvbnRhaW5lclJlZixcclxuICAgIHByaXZhdGUgX2VsZW1lbnQ6IEVsZW1lbnRSZWYsXHJcbiAgICBwcml2YXRlIF9kaXI6IERpcmVjdGlvbmFsaXR5KSB7XHJcbiAgICBpZiAodGhpcy5uZ0NvbnRyb2wgIT0gbnVsbCkge1xyXG4gICAgICB0aGlzLm5nQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcclxuICAgIH1cclxuICB9XHJcbiAgb3BlbigpIHtcclxuICAgIGlmICghdGhpcy5fb3ZlcmxheVJlZikgdGhpcy5fb3ZlcmxheVJlZiA9IHRoaXMuX2NyZWF0ZU92ZXJsYXkoKTtcclxuICAgIGNvbnN0IHBvcnRhbCA9IG5ldyBUZW1wbGF0ZVBvcnRhbCh0aGlzLl9jb2xvclBhbGV0dGUsIHRoaXMuX3ZjKTtcclxuICAgIHRoaXMuX292ZXJsYXlSZWYuYXR0YWNoKHBvcnRhbCk7XHJcbiAgfVxyXG4gIGNsb3NlKCkge1xyXG4gICAgdGhpcy5fb3ZlcmxheVJlZi5kZXRhY2goKTtcclxuICB9XHJcbiAgX3BpY2soY29sb3I6IHN0cmluZykge1xyXG4gICAgdGhpcy52YWx1ZSA9IGNvbG9yO1xyXG4gICAgdGhpcy5jbG9zZSgpO1xyXG4gIH1cclxuICBwcml2YXRlIF9jcmVhdGVPdmVybGF5KCk6IE92ZXJsYXlSZWYge1xyXG4gICAgY29uc3QgcmVmID0gdGhpcy5fb3ZlcmxheS5jcmVhdGUoe1xyXG4gICAgICBwb3NpdGlvblN0cmF0ZWd5OiB0aGlzLl9vdmVybGF5LnBvc2l0aW9uKCkuZmxleGlibGVDb25uZWN0ZWRUbyh0aGlzLl9lbGVtZW50KS53aXRoUG9zaXRpb25zKFt7XHJcbiAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcclxuICAgICAgICBvcmlnaW5ZOiAnYm90dG9tJyxcclxuICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcclxuICAgICAgICBvdmVybGF5WTogJ3RvcCdcclxuICAgICAgfSwge1xyXG4gICAgICAgIG9yaWdpblg6ICdzdGFydCcsXHJcbiAgICAgICAgb3JpZ2luWTogJ3RvcCcsXHJcbiAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXHJcbiAgICAgICAgb3ZlcmxheVk6ICdib3R0b20nXHJcbiAgICAgIH1dKSxcclxuICAgICAgZGlyZWN0aW9uOiB0aGlzLl9kaXIudmFsdWUsXHJcbiAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxyXG4gICAgICBiYWNrZHJvcENsYXNzOiAnY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AnXHJcbiAgICB9KTtcclxuICAgIG1lcmdlKHJlZi5iYWNrZHJvcENsaWNrKCksIHJlZi5rZXlkb3duRXZlbnRzKCkucGlwZShmaWx0ZXIoayA9PiBrLmtleUNvZGUgPT09IEVTQ0FQRSkpKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jbG9zZSgpKTtcclxuICAgIHJldHVybiByZWY7XHJcbiAgfVxyXG59XHJcbiIsIjxidXR0b24gbWF0LWJ1dHRvbiAoY2xpY2spPSdvcGVuKCknIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxyXG4gIDxzcGFuPnt7bGFiZWx9fTwvc3Bhbj5cclxuICA8bWF0LWljb24+YXJyb3dfZHJvcF9kb3duPC9tYXQtaWNvbj5cclxuPC9idXR0b24+XHJcbjxuZy10ZW1wbGF0ZT5cclxuICA8ZGl2IGNsYXNzPVwiY29sb3ItcGFsZXR0ZVwiPlxyXG4gICAgPGRpdiAqbmdGb3I9J2xldCBwIG9mIE9iamVjdC5rZXlzKF9wYWxldHRlcyknIGNsYXNzPVwiY29sb3ItY29udGFpbmVyXCI+XHJcbiAgICAgIDxzcGFuICpuZ0Zvcj0nbGV0IGMgb2YgT2JqZWN0LmtleXMoX3BhbGV0dGVzW3BdKScgKGNsaWNrKT0nX3BpY2soX3BhbGV0dGVzW3BdW2NdKScgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPSdfcGFsZXR0ZXNbcF1bY10nIGNsYXNzPVwiY29sb3ItaXRlbVwiPjwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
@@ -26,8 +26,8 @@ import * as i8 from "../../core/guide/guide.service";
26
26
  import * as i9 from "@angular/forms";
27
27
  import * as i10 from "@angular/common";
28
28
  import * as i11 from "@angular/flex-layout/flex";
29
- import * as i12 from "@syncfusion/ej2-angular-charts";
30
- import * as i13 from "@angular/cdk/bidi";
29
+ import * as i12 from "@angular/cdk/bidi";
30
+ import * as i13 from "@syncfusion/ej2-angular-charts";
31
31
  import * as i14 from "@angular/material/core";
32
32
  import * as i15 from "@angular/material/table";
33
33
  import * as i16 from "@angular/material/sort";
@@ -496,7 +496,7 @@ let DocumentTraceComponent = class DocumentTraceComponent {
496
496
  }
497
497
  };
498
498
  DocumentTraceComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: DocumentTraceComponent, deps: [{ token: UtilityRef }, { token: i1.SystemService }, { token: i2.SessionService }, { token: i3.PaneRef }, { token: i4.PanesRouter }, { token: i5.PromptService }, { token: i6.TranslateService }, { token: i7.Popup }, { token: i8.GuideService }, { token: i0.ChangeDetectorRef }, { token: i9.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
499
- DocumentTraceComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: DocumentTraceComponent, selector: "ng-component", host: { listeners: { "window:keydown.f1": "guide($event)" }, classAttribute: "pane" }, viewQueries: [{ propertyName: "diagramElement", first: true, predicate: ["diagram"], descendants: true }, { propertyName: "filterArgs", first: true, predicate: ["args"], descendants: true }, { propertyName: "searchInput", first: true, predicate: ["search"], descendants: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true }, { propertyName: "rangeNavigator", first: true, predicate: RangeNavigator, descendants: true }], ngImport: i0, template: "<ng-container [ngSwitch]=\"mode\">\r\n <!-- diagram -->\r\n <div *ngSwitchCase=\"'diagram'\" class=\"column\" fxFlex>\r\n <mat-toolbar>\r\n <button mat-icon-button (click)=\"browse()\" [bizdocTooltip]=\"'Back' | translate\"><mat-icon class=\"mat-icon-rtl-mirror\">arrow_back</mat-icon></button>\r\n |\r\n <button mat-icon-button (click)=\"pan()\" [bizdocTooltip]=\"'Pan' | translate\"><span class=\"e-icons sf-icon-pan\"></span></button>\r\n <button mat-icon-button (click)=\"cursor()\" [bizdocTooltip]=\"'Cursor' | translate\"><span class=\"e-icons sf-icon-cursor\"></span></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"guide()\" [bizdocTooltip]=\"'Help' | translate\"><mat-icon>help_outline</mat-icon></button>\r\n </mat-toolbar>\r\n <div class=\"row\" fxFlex>\r\n <!-- timeline -->\r\n <div class=\"timeline\" *ngIf=\"timeline?.items.length > 1\" data-help=\"timeline\">\r\n <div *ngFor=\"let date of timeline.items; let last = last\" class=\"item\"\r\n [class.active]=\"date.time === timeline.date\"\r\n (click)=\"highlightTime(date.time)\" matRipple>\r\n <div class=\"title\">\r\n <ng-container *ngIf=\"!last || !timeline.estimate; else estimate\">\r\n <span class=\"who\" *ngIf=\"userId\">\r\n {{date.userId | userName | async }}\r\n </span>\r\n <br />\r\n <span class=\"time\">\r\n {{date.time | amDateFormat: 'MMM Do H:mm' }}\r\n </span>\r\n </ng-container>\r\n </div>\r\n <div class=\"indicator-container\">\r\n <div class=\"indicator\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n <div fxFlex #diagram dir=\"ltr\">\r\n </div>\r\n </div>\r\n </div>\r\n <!-- browse -->\r\n <div *ngSwitchDefault fxFlex fxLayout=\"column\" fxFlexFill>\r\n <mat-toolbar fxLayout=\"row\">\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"openFilter($event)\" [bizdocTooltip]=\"'Filter'|translate\"><mat-icon>filter_list</mat-icon></button>\r\n </mat-toolbar>\r\n <mat-progress-bar [mode]=\"loading\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\r\n <!-- table -->\r\n <mat-table fxFlex [dataSource]=\"dataSource\" matSort>\r\n <!-- Number column -->\r\n <ng-container matColumnDef=\"number\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Number' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.number}} </mat-cell>\r\n </ng-container>\r\n\r\n <!-- Subject column -->\r\n <ng-container matColumnDef=\"subject\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Subject' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.subject}} </mat-cell>\r\n </ng-container>\r\n <!-- StateId column -->\r\n <ng-container matColumnDef=\"stateId\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header=\"stateId\">{{'Status' | translate }}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\">\r\n <bizdoc-status [stateId]=\"item.stateId\"></bizdoc-status>\r\n </mat-cell>\r\n </ng-container>\r\n <mat-header-row *matHeaderRowDef=\"displayedColumns; sticky: true\"></mat-header-row>\r\n <mat-row *matRowDef=\"let item; columns: displayedColumns;\"\r\n (click)=\"open(item)\">\r\n </mat-row>\r\n </mat-table>\r\n <!-- range -->\r\n <ejs-rangenavigator valueType='DateTime' [value]=range labelFormat='MMM-dd' background=\"transparent\"\r\n [theme]=\"theme\" labelIntersectAction='Hide' enableGrouping=\"false\"\r\n groupBy=\"Years\" intervalType='Days'\r\n (changed)='rangeChanged($event)'>\r\n <e-rangenavigator-series-collection>\r\n <e-rangenavigator-series [dataSource]='rangeData' [fill]=\"accent\" type='Area' xName='date' yName='count' width=2>\r\n </e-rangenavigator-series>\r\n </e-rangenavigator-series-collection>\r\n </ejs-rangenavigator>\r\n </div>\r\n</ng-container>\r\n<!-- args -->\r\n<ng-template #args>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" fxLayout=\"column\">\r\n <mat-form-field>\r\n <input matInput type=\"search\" #search formControlName=\"search\" data-help=\"search\" [placeholder]=\"'Number'|translate\" />\r\n <mat-icon matSuffix class=\"mat-icon-rtl-mirror\">search</mat-icon>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <bizdoc-select type=\"forms\" [placeholder]=\"'Form'|translate\" formControlName=\"formId\"></bizdoc-select>\r\n </mat-form-field>\r\n </form>\r\n</ng-template>\r\n<ng-template #estimate>\r\n {{'Estimate' | translate}}\r\n</ng-template>\r\n", styles: [":host{display:flex;flex-direction:column;flex-grow:1;height:100%}:host ::ng-deep .mat-row{cursor:pointer}form{margin:8px}\n"], dependencies: [{ kind: "directive", type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i10.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i10.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i10.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i9.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i9.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: i9.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i9.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i9.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i9.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i11.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i11.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "directive", type: i11.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i12.RangeNavigatorComponent, selector: "ejs-rangenavigator", inputs: ["allowIntervalData", "allowSnapping", "animationDuration", "background", "dataSource", "disableRangeSelector", "enableDeferredUpdate", "enableGrouping", "enablePersistence", "enableRtl", "groupBy", "height", "interval", "intervalType", "labelFormat", "labelIntersectAction", "labelPosition", "labelStyle", "locale", "logBase", "majorGridLines", "majorTickLines", "margin", "maximum", "minimum", "navigatorBorder", "navigatorStyleSettings", "periodSelectorSettings", "query", "secondaryLabelAlignment", "series", "skeleton", "skeletonType", "theme", "tickPosition", "tooltip", "useGroupingSeparator", "value", "valueType", "width", "xName", "yName"], outputs: ["beforePrint", "beforeResize", "changed", "labelRender", "load", "loaded", "resized", "selectorRender", "tooltipRender", "dataSourceChange"] }, { kind: "directive", type: i12.RangenavigatorSeriesDirective, selector: "e-rangenavigator-series-collection>e-rangenavigator-series", inputs: ["animation", "border", "dashArray", "dataSource", "fill", "opacity", "query", "type", "width", "xName", "yName"] }, { kind: "directive", type: i12.RangenavigatorSeriesCollectionDirective, selector: "ej-rangenavigator>e-rangenavigator-series-collection" }, { kind: "directive", type: i13.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "directive", type: i14.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "component", type: i15.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i15.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i15.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i15.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i15.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i15.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i15.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i15.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i15.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i15.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i16.MatSort, selector: "[matSort]", inputs: ["matSortDisabled", "matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i16.MatSortHeader, selector: "[mat-sort-header]", inputs: ["disabled", "mat-sort-header", "arrowPosition", "start", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i17.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i18.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i19.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i19.MatSuffix, selector: "[matSuffix]" }, { kind: "component", type: i20.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: i21.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: i22.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i23.StateDirective, selector: "bizdoc-status", inputs: ["stateId"] }, { kind: "directive", type: i24.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "component", type: i25.TypeSelect, selector: "bizdoc-select", inputs: ["type", "scope", "multiple", "placeholder", "required", "disabled", "text", "value"], outputs: ["selectionChange", "textChange"] }, { kind: "pipe", type: i10.AsyncPipe, name: "async" }, { kind: "pipe", type: i26.DateFormatPipe, name: "amDateFormat" }, { kind: "pipe", type: i27.UserNamePipe, name: "userName" }, { kind: "pipe", type: i28.TranslatePipe, name: "translate" }], animations: [trigger('element', EnterExitRight)] });
499
+ DocumentTraceComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: DocumentTraceComponent, selector: "ng-component", host: { listeners: { "window:keydown.f1": "guide($event)" }, classAttribute: "pane" }, viewQueries: [{ propertyName: "diagramElement", first: true, predicate: ["diagram"], descendants: true }, { propertyName: "filterArgs", first: true, predicate: ["args"], descendants: true }, { propertyName: "searchInput", first: true, predicate: ["search"], descendants: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true }, { propertyName: "rangeNavigator", first: true, predicate: RangeNavigator, descendants: true }], ngImport: i0, template: "<ng-container [ngSwitch]=\"mode\">\r\n <!-- diagram -->\r\n <div *ngSwitchCase=\"'diagram'\" class=\"column\" fxFlex>\r\n <mat-toolbar>\r\n <button mat-icon-button (click)=\"browse()\" [bizdocTooltip]=\"'Back' | translate\"><mat-icon class=\"mat-icon-rtl-mirror\">arrow_back</mat-icon></button>\r\n |\r\n <button mat-icon-button (click)=\"pan()\" [bizdocTooltip]=\"'Pan' | translate\"><span class=\"e-icons sf-icon-pan\"></span></button>\r\n <button mat-icon-button (click)=\"cursor()\" [bizdocTooltip]=\"'Cursor' | translate\"><span class=\"e-icons sf-icon-cursor\"></span></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"guide()\" [bizdocTooltip]=\"'Help' | translate\"><mat-icon>help_outline</mat-icon></button>\r\n </mat-toolbar>\r\n <div class=\"row\" fxFlex>\r\n <!-- timeline -->\r\n <div class=\"timeline\" *ngIf=\"timeline?.items.length > 1\" data-help=\"timeline\">\r\n <div *ngFor=\"let date of timeline.items; let last = last\" class=\"item\"\r\n [class.active]=\"date.time === timeline.date\"\r\n (click)=\"highlightTime(date.time)\" matRipple>\r\n <div class=\"title\">\r\n <ng-container *ngIf=\"!last || !timeline.estimate; else estimate\">\r\n <span class=\"who\" *ngIf=\"userId\">\r\n {{date.userId | userName | async }}\r\n </span>\r\n <br />\r\n <span class=\"time\">\r\n {{date.time | amDateFormat: 'MMM Do H:mm' }}\r\n </span>\r\n </ng-container>\r\n </div>\r\n <div class=\"indicator-container\">\r\n <div class=\"indicator\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n <div fxFlex #diagram dir=\"ltr\">\r\n </div>\r\n </div>\r\n </div>\r\n <!-- browse -->\r\n <div *ngSwitchDefault fxFlex fxLayout=\"column\" fxFlexFill>\r\n <mat-toolbar fxLayout=\"row\">\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"openFilter($event)\" [bizdocTooltip]=\"'Filter'|translate\"><mat-icon>filter_list</mat-icon></button>\r\n </mat-toolbar>\r\n <mat-progress-bar [mode]=\"loading\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\r\n <!-- table -->\r\n <mat-table fxFlex [dataSource]=\"dataSource\" matSort>\r\n <!-- Number column -->\r\n <ng-container matColumnDef=\"number\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Number' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.number}} </mat-cell>\r\n </ng-container>\r\n\r\n <!-- Subject column -->\r\n <ng-container matColumnDef=\"subject\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Subject' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.subject}} </mat-cell>\r\n </ng-container>\r\n <!-- StateId column -->\r\n <ng-container matColumnDef=\"stateId\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header=\"stateId\">{{'Status' | translate }}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\">\r\n <bizdoc-status [stateId]=\"item.stateId\"></bizdoc-status>\r\n </mat-cell>\r\n </ng-container>\r\n <mat-header-row *matHeaderRowDef=\"displayedColumns; sticky: true\"></mat-header-row>\r\n <mat-row *matRowDef=\"let item; columns: displayedColumns;\"\r\n (click)=\"open(item)\">\r\n </mat-row>\r\n </mat-table>\r\n <!-- range -->\r\n <ejs-rangenavigator valueType='DateTime' [value]=range labelFormat='MMM-dd' background=\"transparent\"\r\n [theme]=\"theme\" labelIntersectAction='Hide' enableGrouping=\"false\"\r\n groupBy=\"Years\" intervalType='Days'\r\n (changed)='rangeChanged($event)'>\r\n <e-rangenavigator-series-collection>\r\n <e-rangenavigator-series [dataSource]='rangeData' [fill]=\"accent\" type='Area' xName='date' yName='count' width=2>\r\n </e-rangenavigator-series>\r\n </e-rangenavigator-series-collection>\r\n </ejs-rangenavigator>\r\n </div>\r\n</ng-container>\r\n<!-- args -->\r\n<ng-template #args>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" fxLayout=\"column\">\r\n <mat-form-field>\r\n <input matInput type=\"search\" #search formControlName=\"search\" data-help=\"search\" [placeholder]=\"'Number'|translate\" />\r\n <mat-icon matSuffix class=\"mat-icon-rtl-mirror\">search</mat-icon>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <bizdoc-select type=\"forms\" [placeholder]=\"'Form'|translate\" formControlName=\"formId\"></bizdoc-select>\r\n </mat-form-field>\r\n </form>\r\n</ng-template>\r\n<ng-template #estimate>\r\n {{'Estimate' | translate}}\r\n</ng-template>\r\n", styles: [":host{display:flex;flex-direction:column;flex-grow:1;height:100%}:host ::ng-deep .mat-row{cursor:pointer}form{margin:8px}\n"], dependencies: [{ kind: "directive", type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i10.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i10.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i10.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i9.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i9.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: i9.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i9.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i9.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i9.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i11.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i11.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "directive", type: i11.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i12.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "component", type: i13.RangeNavigatorComponent, selector: "ejs-rangenavigator", inputs: ["allowIntervalData", "allowSnapping", "animationDuration", "background", "dataSource", "disableRangeSelector", "enableDeferredUpdate", "enableGrouping", "enablePersistence", "enableRtl", "groupBy", "height", "interval", "intervalType", "labelFormat", "labelIntersectAction", "labelPosition", "labelStyle", "locale", "logBase", "majorGridLines", "majorTickLines", "margin", "maximum", "minimum", "navigatorBorder", "navigatorStyleSettings", "periodSelectorSettings", "query", "secondaryLabelAlignment", "series", "skeleton", "skeletonType", "theme", "tickPosition", "tooltip", "useGroupingSeparator", "value", "valueType", "width", "xName", "yName"], outputs: ["beforePrint", "beforeResize", "changed", "labelRender", "load", "loaded", "resized", "selectorRender", "tooltipRender", "dataSourceChange"] }, { kind: "directive", type: i13.RangenavigatorSeriesDirective, selector: "e-rangenavigator-series-collection>e-rangenavigator-series", inputs: ["animation", "border", "dashArray", "dataSource", "fill", "opacity", "query", "type", "width", "xName", "yName"] }, { kind: "directive", type: i13.RangenavigatorSeriesCollectionDirective, selector: "ej-rangenavigator>e-rangenavigator-series-collection" }, { kind: "directive", type: i14.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "component", type: i15.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i15.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i15.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i15.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i15.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i15.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i15.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i15.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i15.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i15.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i16.MatSort, selector: "[matSort]", inputs: ["matSortDisabled", "matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i16.MatSortHeader, selector: "[mat-sort-header]", inputs: ["disabled", "mat-sort-header", "arrowPosition", "start", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i17.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i18.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i19.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i19.MatSuffix, selector: "[matSuffix]" }, { kind: "component", type: i20.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: i21.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: i22.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i23.StateDirective, selector: "bizdoc-status", inputs: ["stateId"] }, { kind: "directive", type: i24.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "component", type: i25.TypeSelect, selector: "bizdoc-select", inputs: ["type", "scope", "multiple", "placeholder", "required", "disabled", "text", "value"], outputs: ["selectionChange", "textChange"] }, { kind: "pipe", type: i10.AsyncPipe, name: "async" }, { kind: "pipe", type: i26.DateFormatPipe, name: "amDateFormat" }, { kind: "pipe", type: i27.UserNamePipe, name: "userName" }, { kind: "pipe", type: i28.TranslatePipe, name: "translate" }], animations: [trigger('element', EnterExitRight)] });
500
500
  DocumentTraceComponent = __decorate([
501
501
  BizDoc({ selector: 'bizdoc-trace-utility' })
502
502
  /** workflow component*/