@bizdoc/core 1.17.1 → 1.17.5

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 (115) hide show
  1. package/assets/themes/brown.min.css +1 -1
  2. package/assets/themes/dark.min.css +1 -1
  3. package/assets/themes/deep-purple-light-blue.min.css +1 -1
  4. package/assets/themes/deep-purple-teal.min.css +1 -1
  5. package/assets/themes/default.min.css +1 -1
  6. package/assets/themes/green.min.css +1 -1
  7. package/assets/themes/indigo.min.css +1 -1
  8. package/esm2020/lib/admin/architecture/cube-axes-filter.component.mjs +3 -3
  9. package/esm2020/lib/admin/architecture/declarations.mjs +11 -4
  10. package/esm2020/lib/admin/architecture/designer-element.component.mjs +3 -3
  11. package/esm2020/lib/admin/architecture/designer-privileges.component.mjs +12 -8
  12. package/esm2020/lib/admin/architecture/designer.base.mjs +2 -1
  13. package/esm2020/lib/admin/architecture/designer.component.mjs +12 -6
  14. package/esm2020/lib/admin/architecture/elements/action.component.mjs +2 -2
  15. package/esm2020/lib/admin/architecture/elements/analysis-view.component.mjs +5 -4
  16. package/esm2020/lib/admin/architecture/elements/analysis-widget.component.mjs +5 -4
  17. package/esm2020/lib/admin/architecture/elements/attribute.component.mjs +5 -4
  18. package/esm2020/lib/admin/architecture/elements/control.component.mjs +7 -5
  19. package/esm2020/lib/admin/architecture/elements/cube-index-utility.component.mjs +5 -4
  20. package/esm2020/lib/admin/architecture/elements/cube-view.component.mjs +5 -4
  21. package/esm2020/lib/admin/architecture/elements/cube.component.mjs +3 -3
  22. package/esm2020/lib/admin/architecture/elements/documents-report.component.mjs +5 -4
  23. package/esm2020/lib/admin/architecture/elements/documents-widget.component.mjs +5 -4
  24. package/esm2020/lib/admin/architecture/elements/explore-view.component.mjs +5 -4
  25. package/esm2020/lib/admin/architecture/elements/feedback-widget.component.mjs +7 -6
  26. package/esm2020/lib/admin/architecture/elements/folder.component.mjs +5 -4
  27. package/esm2020/lib/admin/architecture/elements/form-invite.dialog.mjs +44 -33
  28. package/esm2020/lib/admin/architecture/elements/form.component.mjs +10 -8
  29. package/esm2020/lib/admin/architecture/elements/matrix-view.component.mjs +5 -4
  30. package/esm2020/lib/admin/architecture/elements/parallel-view.component.mjs +5 -4
  31. package/esm2020/lib/admin/architecture/elements/performance-report.component.mjs +5 -4
  32. package/esm2020/lib/admin/architecture/elements/performance-widget.component.mjs +5 -4
  33. package/esm2020/lib/admin/architecture/elements/pivot-view.component.mjs +5 -4
  34. package/esm2020/lib/admin/architecture/elements/report.component.mjs +5 -4
  35. package/esm2020/lib/admin/architecture/elements/rule.component.mjs +1 -1
  36. package/esm2020/lib/admin/architecture/elements/state.component.mjs +2 -2
  37. package/esm2020/lib/admin/architecture/elements/sum-view.component.mjs +5 -4
  38. package/esm2020/lib/admin/architecture/elements/tasks-report.component.mjs +5 -4
  39. package/esm2020/lib/admin/architecture/elements/usage-report.component.mjs +5 -4
  40. package/esm2020/lib/admin/architecture/elements/widget.component.mjs +5 -4
  41. package/esm2020/lib/admin/core/localized-string.component.mjs +1 -1
  42. package/esm2020/lib/admin/form/designer/box-designer.component.mjs +4 -5
  43. package/esm2020/lib/admin/form/designer/properties.component.mjs +3 -2
  44. package/esm2020/lib/admin/form/designer/section.component.mjs +3 -3
  45. package/esm2020/lib/admin/patterns/patterns.component.mjs +3 -3
  46. package/esm2020/lib/admin/system.service.mjs +1 -1
  47. package/esm2020/lib/compose/box/box.component.mjs +5 -5
  48. package/esm2020/lib/core/fields/autocomplete.field.mjs +4 -4
  49. package/esm2020/lib/core/fields/checklist.designer.mjs +11 -11
  50. package/esm2020/lib/core/fields/checklist.field.mjs +17 -24
  51. package/esm2020/lib/core/fields/localized-string.field.mjs +21 -0
  52. package/esm2020/lib/core/fields/options.base.mjs +41 -0
  53. package/esm2020/lib/core/fields/options.component.mjs +3 -3
  54. package/esm2020/lib/core/fields/radio-button.designer.mjs +13 -10
  55. package/esm2020/lib/core/fields/radio-button.field.mjs +16 -23
  56. package/esm2020/lib/core/fields/select.designer.mjs +16 -15
  57. package/esm2020/lib/core/fields/select.field.mjs +18 -31
  58. package/esm2020/lib/core/fields/signature.designer.mjs +3 -1
  59. package/esm2020/lib/core/fields/signature.field.mjs +3 -3
  60. package/esm2020/lib/core/fields/yesno.designer.mjs +6 -5
  61. package/esm2020/lib/core/layout.component.mjs +5 -1
  62. package/esm2020/lib/core/models.mjs +2 -1
  63. package/esm2020/lib/core/slots/slots.component.mjs +3 -3
  64. package/esm2020/lib/core/translations.mjs +28 -108
  65. package/esm2020/lib/cube/filter/filter.component.mjs +3 -3
  66. package/esm2020/lib/dashboard/cube/cube-analysis.base.mjs +36 -13
  67. package/esm2020/lib/dashboard/cube/cube-analysis.widget.mjs +1 -1
  68. package/esm2020/lib/notifications/types/commented.notification.mjs +1 -1
  69. package/esm2020/lib/notifications/types/escalated.notification.mjs +1 -1
  70. package/esm2020/lib/notifications/types/invite.notification.mjs +11 -3
  71. package/esm2020/lib/notifications/types/liked.notification.mjs +1 -1
  72. package/esm2020/lib/notifications/types/long-running-task.notification.mjs +3 -3
  73. package/esm2020/lib/notifications/types/nudge.notification.mjs +1 -1
  74. package/esm2020/lib/notifications/types/state-changed.notification.mjs +2 -2
  75. package/esm2020/lib/notifications/types/tagged.notification.mjs +2 -2
  76. package/esm2020/lib/notifications/types/upcoming-event.notification.mjs +1 -1
  77. package/esm2020/lib/reports/arguments-component.mjs +1 -1
  78. package/esm2020/lib/reports/report-ref.mjs +4 -2
  79. package/esm2020/lib/reports/report-viewer.component.mjs +4 -2
  80. package/esm2020/lib/system.module.mjs +110 -9
  81. package/fesm2015/bizdoc-core.mjs +1133 -1016
  82. package/fesm2015/bizdoc-core.mjs.map +1 -1
  83. package/fesm2020/bizdoc-core.mjs +1127 -1010
  84. package/fesm2020/bizdoc-core.mjs.map +1 -1
  85. package/lib/admin/architecture/declarations.d.ts +4 -3
  86. package/lib/admin/architecture/designer.component.d.ts +1 -0
  87. package/lib/admin/architecture/elements/control.component.d.ts +1 -0
  88. package/lib/admin/architecture/elements/cube.component.d.ts +1 -1
  89. package/lib/admin/architecture/elements/form-invite.dialog.d.ts +6 -5
  90. package/lib/admin/architecture/elements/rule.component.d.ts +1 -2
  91. package/lib/admin/core/localized-string.component.d.ts +2 -2
  92. package/lib/admin/system.service.d.ts +7 -1
  93. package/lib/core/fields/checklist.designer.d.ts +7 -10
  94. package/lib/core/fields/checklist.field.d.ts +2 -13
  95. package/lib/core/fields/localized-string.field.d.ts +16 -0
  96. package/lib/core/fields/options.base.d.ts +28 -0
  97. package/lib/core/fields/radio-button.designer.d.ts +6 -6
  98. package/lib/core/fields/radio-button.field.d.ts +2 -13
  99. package/lib/core/fields/select.designer.d.ts +5 -6
  100. package/lib/core/fields/select.field.d.ts +2 -16
  101. package/lib/core/models.d.ts +4 -0
  102. package/lib/core/translations.d.ts +19 -99
  103. package/lib/dashboard/cube/cube-analysis.widget.d.ts +2 -1
  104. package/lib/notifications/types/commented.notification.d.ts +0 -1
  105. package/lib/notifications/types/escalated.notification.d.ts +0 -1
  106. package/lib/notifications/types/invite.notification.d.ts +4 -5
  107. package/lib/notifications/types/liked.notification.d.ts +0 -1
  108. package/lib/notifications/types/long-running-task.notification.d.ts +1 -1
  109. package/lib/notifications/types/nudge.notification.d.ts +0 -1
  110. package/lib/notifications/types/state-changed.notification.d.ts +0 -2
  111. package/lib/notifications/types/tagged.notification.d.ts +0 -2
  112. package/lib/notifications/types/upcoming-event.notification.d.ts +0 -1
  113. package/lib/reports/report-ref.d.ts +3 -1
  114. package/lib/system.module.d.ts +35 -34
  115. package/package.json +1 -1
@@ -1,44 +1,37 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { Component, Input, ViewChild } from '@angular/core';
3
- import { FormControl, Validators } from '@angular/forms';
3
+ import { FormControl } from '@angular/forms';
4
4
  import { MatSelectionList } from '@angular/material/list';
5
5
  import { BizDoc } from '../decorators';
6
+ import { OptionsControlField } from './options.base';
6
7
  import * as i0 from "@angular/core";
7
- import * as i1 from "../datasource.service";
8
- import * as i2 from "@angular/common";
9
- import * as i3 from "@angular/forms";
10
- import * as i4 from "@angular/material/list";
11
- import * as i5 from "@angular/material/form-field";
12
- import * as i6 from "../pipes/localized-string.pipe";
13
- import * as i7 from "../pipes/translate.pipe";
14
- let ChecklistField = class ChecklistField {
15
- constructor(_ds) {
16
- this._ds = _ds;
8
+ import * as i1 from "@angular/common";
9
+ import * as i2 from "@angular/forms";
10
+ import * as i3 from "@angular/material/list";
11
+ import * as i4 from "@angular/material/form-field";
12
+ import * as i5 from "../pipes/localized-string.pipe";
13
+ import * as i6 from "../pipes/translate.pipe";
14
+ let ChecklistField = class ChecklistField extends OptionsControlField {
15
+ constructor() {
16
+ super(...arguments);
17
17
  this.control = new FormControl();
18
- }
19
- ngOnInit() {
20
- this.required && this.control.addValidators(Validators.required);
21
- if (this.dataType)
22
- this._ds.all(this.dataType).subscribe(v => this.options = v);
18
+ this.multiple = true;
23
19
  }
24
20
  focus() { this.input.focus(); }
25
- optionOf(value) {
26
- this.options.find(o => o.key === value)?.value;
27
- }
28
21
  };
29
- ChecklistField.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: ChecklistField, deps: [{ token: i1.DatasourceService }], target: i0.ɵɵFactoryTarget.Component });
30
- ChecklistField.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: ChecklistField, selector: "ng-component", inputs: { params: "params" }, host: { classAttribute: "field" }, viewQueries: [{ propertyName: "input", first: true, predicate: MatSelectionList, descendants: true }], ngImport: i0, template: "<div *ngIf=\"mode==='compose';else view\">\r\n <mat-label *ngIf=\"label\">{{label |localizedString}}</mat-label>\r\n <mat-selection-list [formControl]=\"control\" multiple>\r\n <mat-list-option *ngFor=\"let o of options\" [value]=\"o.key\">{{o.value|localizedString}}</mat-list-option>\r\n </mat-selection-list>\r\n <mat-hint *ngIf=\"hint\"> {{ hint |localizedString}}</mat-hint>\r\n <mat-error *ngIf=\"control.hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:(label|localizedString)\"></mat-error>\r\n</div>\r\n<ng-template #view>\r\n <ng-container *ngIf=\"control.value\">\r\n <mat-tag *ngFor=\"let o of control.value\">{{optionOf(o)|localizedString}}</mat-tag>\r\n </ng-container>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { 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: "directive", type: i5.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "directive", type: i5.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "pipe", type: i6.LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] });
22
+ ChecklistField.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: ChecklistField, deps: null, target: i0.ɵɵFactoryTarget.Component });
23
+ ChecklistField.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: ChecklistField, selector: "ng-component", inputs: { params: "params" }, host: { classAttribute: "field" }, viewQueries: [{ propertyName: "input", first: true, predicate: MatSelectionList, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"mode==='compose';else view\">\r\n <mat-label *ngIf=\"label\">{{label |localizedString}}</mat-label>\r\n <mat-selection-list [formControl]=\"control\" [multiple]=\"multiple\">\r\n <mat-list-option *ngFor=\"let o of options\" [value]=\"o.key\">{{o.value|localizedString}}</mat-list-option>\r\n </mat-selection-list>\r\n <mat-hint *ngIf=\"hint\"> {{ hint |localizedString}}</mat-hint>\r\n <mat-error *ngIf=\"control.hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:(label|localizedString)\"></mat-error>\r\n</div>\r\n<ng-template #view>\r\n <ng-container *ngIf=\"control.value\">\r\n <ng-container *ngFor=\"let o of control.value; index as index\">\r\n {{optionOf(o)|localizedString}}\r\n <ng-container *ngIf=\"index>0\">,&nbsp;</ng-container>\r\n </ng-container>\r\n </ng-container>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.MatSelectionList, selector: "mat-selection-list", inputs: ["disableRipple", "color", "compareWith", "disabled", "multiple"], outputs: ["selectionChange"], exportAs: ["matSelectionList"] }, { kind: "component", type: i3.MatListOption, selector: "mat-list-option", inputs: ["disableRipple", "checkboxPosition", "color", "value", "disabled", "selected"], outputs: ["selectedChange"], exportAs: ["matListOption"] }, { kind: "directive", type: i4.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "directive", type: i4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "pipe", type: i5.LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
31
24
  ChecklistField = __decorate([
32
25
  BizDoc({ selector: 'checklist-control' })
33
26
  ], ChecklistField);
34
27
  export { ChecklistField };
35
28
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: ChecklistField, decorators: [{
36
29
  type: Component,
37
- args: [{ host: { class: 'field' }, template: "<div *ngIf=\"mode==='compose';else view\">\r\n <mat-label *ngIf=\"label\">{{label |localizedString}}</mat-label>\r\n <mat-selection-list [formControl]=\"control\" multiple>\r\n <mat-list-option *ngFor=\"let o of options\" [value]=\"o.key\">{{o.value|localizedString}}</mat-list-option>\r\n </mat-selection-list>\r\n <mat-hint *ngIf=\"hint\"> {{ hint |localizedString}}</mat-hint>\r\n <mat-error *ngIf=\"control.hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:(label|localizedString)\"></mat-error>\r\n</div>\r\n<ng-template #view>\r\n <ng-container *ngIf=\"control.value\">\r\n <mat-tag *ngFor=\"let o of control.value\">{{optionOf(o)|localizedString}}</mat-tag>\r\n </ng-container>\r\n</ng-template>\r\n" }]
38
- }], ctorParameters: function () { return [{ type: i1.DatasourceService }]; }, propDecorators: { params: [{
30
+ args: [{ host: { class: 'field' }, template: "<div *ngIf=\"mode==='compose';else view\">\r\n <mat-label *ngIf=\"label\">{{label |localizedString}}</mat-label>\r\n <mat-selection-list [formControl]=\"control\" [multiple]=\"multiple\">\r\n <mat-list-option *ngFor=\"let o of options\" [value]=\"o.key\">{{o.value|localizedString}}</mat-list-option>\r\n </mat-selection-list>\r\n <mat-hint *ngIf=\"hint\"> {{ hint |localizedString}}</mat-hint>\r\n <mat-error *ngIf=\"control.hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:(label|localizedString)\"></mat-error>\r\n</div>\r\n<ng-template #view>\r\n <ng-container *ngIf=\"control.value\">\r\n <ng-container *ngFor=\"let o of control.value; index as index\">\r\n {{optionOf(o)|localizedString}}\r\n <ng-container *ngIf=\"index>0\">,&nbsp;</ng-container>\r\n </ng-container>\r\n </ng-container>\r\n</ng-template>\r\n" }]
31
+ }], propDecorators: { params: [{
39
32
  type: Input
40
33
  }], input: [{
41
34
  type: ViewChild,
42
35
  args: [MatSelectionList]
43
36
  }] } });
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tsaXN0LmZpZWxkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb3JlL2ZpZWxkcy9jaGVja2xpc3QuZmllbGQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2NvcmUvZmllbGRzL2NoZWNrbGlzdC5maWVsZC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUcxRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7QUFRaEMsSUFBTSxjQUFjLEdBQXBCLE1BQU0sY0FBYztJQU16QixZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUhqQyxZQUFPLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztJQUlyQyxDQUFDO0lBT0QsUUFBUTtRQUNOLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2pFLElBQUksSUFBSSxDQUFDLFFBQVE7WUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNsRixDQUFDO0lBQ0QsS0FBSyxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQy9CLFFBQVEsQ0FBQyxLQUFLO1FBQ1osSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEtBQUssQ0FBQyxFQUFFLEtBQUssQ0FBQztJQUNqRCxDQUFDOzsyR0FyQlUsY0FBYzsrRkFBZCxjQUFjLDRKQUtkLGdCQUFnQixnRENuQjdCLDR0QkFhQTtBRENhLGNBQWM7SUFEMUIsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFLG1CQUFtQixFQUFFLENBQUM7R0FDN0IsY0FBYyxDQXNCMUI7U0F0QlksY0FBYzsyRkFBZCxjQUFjO2tCQUwxQixTQUFTOzJCQUVGLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRTt3R0FPZixNQUFNO3NCQUFkLEtBQUs7Z0JBQ3VCLEtBQUs7c0JBQWpDLFNBQVM7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZEFwcGVhcmFuY2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgTWF0U2VsZWN0aW9uTGlzdCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xyXG5pbXBvcnQgeyBDb250cm9sQ29tcG9uZW50LCBWaWV3TW9kZSB9IGZyb20gJy4uL2Jhc2UnO1xyXG5pbXBvcnQgeyBEYXRhc291cmNlU2VydmljZSB9IGZyb20gJy4uL2RhdGFzb3VyY2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IEJpekRvYyB9IGZyb20gJy4uL2RlY29yYXRvcnMnO1xyXG5pbXBvcnQgeyBMb2NhbGl6ZWRTdHJpbmcgfSBmcm9tICcuLi9tb2RlbHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGVVcmw6ICdjaGVja2xpc3QuZmllbGQuaHRtbCcsXHJcbiAgaG9zdDogeyBjbGFzczogJ2ZpZWxkJyB9XHJcbn0pXHJcbkBCaXpEb2MoeyBzZWxlY3RvcjogJ2NoZWNrbGlzdC1jb250cm9sJyB9KVxyXG5leHBvcnQgY2xhc3MgQ2hlY2tsaXN0RmllbGQgaW1wbGVtZW50cyBDb250cm9sQ29tcG9uZW50LCBPbkluaXQge1xyXG4gIGFwcGVhcmFuY2U6IE1hdEZvcm1GaWVsZEFwcGVhcmFuY2U7XHJcbiAgb3B0aW9ucz86IHsga2V5OiBzdHJpbmc7IHZhbHVlOiBMb2NhbGl6ZWRTdHJpbmcgfVtdO1xyXG4gIHJlYWRvbmx5IGNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woKTtcclxuICBASW5wdXQoKSBwYXJhbXM6IGFueTtcclxuICBAVmlld0NoaWxkKE1hdFNlbGVjdGlvbkxpc3QpIGlucHV0OiBNYXRTZWxlY3Rpb25MaXN0O1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2RzOiBEYXRhc291cmNlU2VydmljZSkge1xyXG4gIH1cclxuICBtb2RlOiBWaWV3TW9kZTtcclxuICBtdWx0aXBsZT86IGJvb2xlYW47XHJcbiAgZGF0YVR5cGUhOiBzdHJpbmc7XHJcbiAgaGludD86IHN0cmluZztcclxuICBsYWJlbDogc3RyaW5nO1xyXG4gIHJlcXVpcmVkPzogYm9vbGVhbjtcclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMucmVxdWlyZWQgJiYgdGhpcy5jb250cm9sLmFkZFZhbGlkYXRvcnMoVmFsaWRhdG9ycy5yZXF1aXJlZCk7XHJcbiAgICBpZiAodGhpcy5kYXRhVHlwZSkgdGhpcy5fZHMuYWxsKHRoaXMuZGF0YVR5cGUpLnN1YnNjcmliZSh2ID0+IHRoaXMub3B0aW9ucyA9IHYpO1xyXG4gIH1cclxuICBmb2N1cygpIHsgdGhpcy5pbnB1dC5mb2N1cygpOyB9XHJcbiAgb3B0aW9uT2YodmFsdWUpIHtcclxuICAgIHRoaXMub3B0aW9ucy5maW5kKG8gPT4gby5rZXkgPT09IHZhbHVlKT8udmFsdWU7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgKm5nSWY9XCJtb2RlPT09J2NvbXBvc2UnO2Vsc2Ugdmlld1wiPlxyXG4gIDxtYXQtbGFiZWwgKm5nSWY9XCJsYWJlbFwiPnt7bGFiZWwgfGxvY2FsaXplZFN0cmluZ319PC9tYXQtbGFiZWw+XHJcbiAgPG1hdC1zZWxlY3Rpb24tbGlzdCBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiIG11bHRpcGxlPlxyXG4gICAgPG1hdC1saXN0LW9wdGlvbiAqbmdGb3I9XCJsZXQgbyBvZiBvcHRpb25zXCIgW3ZhbHVlXT1cIm8ua2V5XCI+e3tvLnZhbHVlfGxvY2FsaXplZFN0cmluZ319PC9tYXQtbGlzdC1vcHRpb24+XHJcbiAgPC9tYXQtc2VsZWN0aW9uLWxpc3Q+XHJcbiAgPG1hdC1oaW50ICpuZ0lmPVwiaGludFwiPiB7eyBoaW50IHxsb2NhbGl6ZWRTdHJpbmd9fTwvbWF0LWhpbnQ+XHJcbiAgPG1hdC1lcnJvciAqbmdJZj1cImNvbnRyb2wuaGFzRXJyb3IoJ3JlcXVpcmVkJylcIiBbaW5uZXJIVE1MXT1cIidSZXF1aXJlZEVycid8dHJhbnNsYXRlOihsYWJlbHxsb2NhbGl6ZWRTdHJpbmcpXCI+PC9tYXQtZXJyb3I+XHJcbjwvZGl2PlxyXG48bmctdGVtcGxhdGUgI3ZpZXc+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbnRyb2wudmFsdWVcIj5cclxuICAgIDxtYXQtdGFnICpuZ0Zvcj1cImxldCBvIG9mIGNvbnRyb2wudmFsdWVcIj57e29wdGlvbk9mKG8pfGxvY2FsaXplZFN0cmluZ319PC9tYXQtdGFnPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tsaXN0LmZpZWxkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb3JlL2ZpZWxkcy9jaGVja2xpc3QuZmllbGQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2NvcmUvZmllbGRzL2NoZWNrbGlzdC5maWVsZC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTFELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7O0FBTzlDLElBQU0sY0FBYyxHQUFwQixNQUFNLGNBQWUsU0FBUSxtQkFBbUI7SUFBaEQ7O1FBRUksWUFBTyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7UUFJckMsYUFBUSxHQUFhLElBQUksQ0FBQztLQUkzQjtJQURDLEtBQUssS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQzs7MkdBVHBCLGNBQWM7K0ZBQWQsY0FBYyw0SkFJZCxnQkFBZ0IsdUVDakI3Qix1MUJBZ0JBO0FESGEsY0FBYztJQUQxQixNQUFNLENBQUMsRUFBRSxRQUFRLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQztHQUM3QixjQUFjLENBVTFCO1NBVlksY0FBYzsyRkFBZCxjQUFjO2tCQUwxQixTQUFTOzJCQUVGLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRTs4QkFNZixNQUFNO3NCQUFkLEtBQUs7Z0JBQ3VCLEtBQUs7c0JBQWpDLFNBQVM7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZEFwcGVhcmFuY2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgTWF0U2VsZWN0aW9uTGlzdCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xyXG5pbXBvcnQgeyBDb250cm9sQ29tcG9uZW50LCBWaWV3TW9kZSB9IGZyb20gJy4uL2Jhc2UnO1xyXG5pbXBvcnQgeyBCaXpEb2MgfSBmcm9tICcuLi9kZWNvcmF0b3JzJztcclxuaW1wb3J0IHsgT3B0aW9uc0NvbnRyb2xGaWVsZCB9IGZyb20gJy4vb3B0aW9ucy5iYXNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHRlbXBsYXRlVXJsOiAnY2hlY2tsaXN0LmZpZWxkLmh0bWwnLFxyXG4gIGhvc3Q6IHsgY2xhc3M6ICdmaWVsZCcgfVxyXG59KVxyXG5AQml6RG9jKHsgc2VsZWN0b3I6ICdjaGVja2xpc3QtY29udHJvbCcgfSlcclxuZXhwb3J0IGNsYXNzIENoZWNrbGlzdEZpZWxkIGV4dGVuZHMgT3B0aW9uc0NvbnRyb2xGaWVsZCBpbXBsZW1lbnRzIENvbnRyb2xDb21wb25lbnQsIE9uSW5pdCB7XHJcbiAgYXBwZWFyYW5jZTogTWF0Rm9ybUZpZWxkQXBwZWFyYW5jZTtcclxuICByZWFkb25seSBjb250cm9sID0gbmV3IEZvcm1Db250cm9sKCk7XHJcbiAgQElucHV0KCkgcGFyYW1zOiBhbnk7XHJcbiAgQFZpZXdDaGlsZChNYXRTZWxlY3Rpb25MaXN0KSBpbnB1dDogTWF0U2VsZWN0aW9uTGlzdDtcclxuICBtb2RlOiBWaWV3TW9kZTtcclxuICBtdWx0aXBsZT86IGJvb2xlYW4gPSB0cnVlO1xyXG4gIGhpbnQ/OiBzdHJpbmc7XHJcbiAgbGFiZWw6IHN0cmluZztcclxuICBmb2N1cygpIHsgdGhpcy5pbnB1dC5mb2N1cygpOyB9XHJcbn1cclxuIiwiPGRpdiAqbmdJZj1cIm1vZGU9PT0nY29tcG9zZSc7ZWxzZSB2aWV3XCI+XHJcbiAgPG1hdC1sYWJlbCAqbmdJZj1cImxhYmVsXCI+e3tsYWJlbCB8bG9jYWxpemVkU3RyaW5nfX08L21hdC1sYWJlbD5cclxuICA8bWF0LXNlbGVjdGlvbi1saXN0IFtmb3JtQ29udHJvbF09XCJjb250cm9sXCIgW211bHRpcGxlXT1cIm11bHRpcGxlXCI+XHJcbiAgICA8bWF0LWxpc3Qtb3B0aW9uICpuZ0Zvcj1cImxldCBvIG9mIG9wdGlvbnNcIiBbdmFsdWVdPVwiby5rZXlcIj57e28udmFsdWV8bG9jYWxpemVkU3RyaW5nfX08L21hdC1saXN0LW9wdGlvbj5cclxuICA8L21hdC1zZWxlY3Rpb24tbGlzdD5cclxuICA8bWF0LWhpbnQgKm5nSWY9XCJoaW50XCI+IHt7IGhpbnQgfGxvY2FsaXplZFN0cmluZ319PC9tYXQtaGludD5cclxuICA8bWF0LWVycm9yICpuZ0lmPVwiY29udHJvbC5oYXNFcnJvcigncmVxdWlyZWQnKVwiIFtpbm5lckhUTUxdPVwiJ1JlcXVpcmVkRXJyJ3x0cmFuc2xhdGU6KGxhYmVsfGxvY2FsaXplZFN0cmluZylcIj48L21hdC1lcnJvcj5cclxuPC9kaXY+XHJcbjxuZy10ZW1wbGF0ZSAjdmlldz5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29udHJvbC52YWx1ZVwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbyBvZiBjb250cm9sLnZhbHVlOyBpbmRleCBhcyBpbmRleFwiPlxyXG4gICAgICB7e29wdGlvbk9mKG8pfGxvY2FsaXplZFN0cmluZ319XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpbmRleD4wXCI+LCZuYnNwOzwvbmctY29udGFpbmVyPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
@@ -0,0 +1,21 @@
1
+ import { Component } from '@angular/core';
2
+ import { FormControl, Validators } from '@angular/forms';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/forms";
5
+ import * as i2 from "../../admin/core/localized-string.component";
6
+ export class LocalizedStringField {
7
+ constructor() {
8
+ this.control = new FormControl();
9
+ }
10
+ focus() { }
11
+ ngOnInit() {
12
+ this.required && this.control.addValidators(Validators.required);
13
+ }
14
+ }
15
+ LocalizedStringField.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: LocalizedStringField, deps: [], target: i0.ɵɵFactoryTarget.Component });
16
+ LocalizedStringField.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: LocalizedStringField, selector: "ng-component", host: { classAttribute: "field" }, ngImport: i0, template: "<bizdoc-localized-string [formControl]=\"control\" [placeholder]=\"placeholder\" [required]=\"required\" class=\"flex column\"></bizdoc-localized-string>\r\n", dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i2.LocalizedStringComponent, selector: "bizdoc-localized-string", inputs: ["class", "value", "placeholder", "required", "disabled", "maxlength"], outputs: ["valueChanges"] }] });
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: LocalizedStringField, decorators: [{
18
+ type: Component,
19
+ args: [{ host: { class: 'field' }, template: "<bizdoc-localized-string [formControl]=\"control\" [placeholder]=\"placeholder\" [required]=\"required\" class=\"flex column\"></bizdoc-localized-string>\r\n" }]
20
+ }] });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemVkLXN0cmluZy5maWVsZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY29yZS9maWVsZHMvbG9jYWxpemVkLXN0cmluZy5maWVsZC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY29yZS9maWVsZHMvbG9jYWxpemVkLXN0cmluZy5maWVsZC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFRekQsTUFBTSxPQUFPLG9CQUFvQjtJQUpqQztRQVNXLFlBQU8sR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO0tBS3RDO0lBSkMsS0FBSyxLQUFNLENBQUM7SUFDWixRQUFRO1FBQ04sSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbkUsQ0FBQzs7aUhBVFUsb0JBQW9CO3FHQUFwQixvQkFBb0IsdUZDVGpDLCtKQUNBOzJGRFFhLG9CQUFvQjtrQkFKaEMsU0FBUzsyQkFFRixFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRBcHBlYXJhbmNlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IENvbnRyb2xDb21wb25lbnQsIFZpZXdNb2RlIH0gZnJvbSAnLi4vYmFzZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZVVybDogJ2xvY2FsaXplZC1zdHJpbmcuZmllbGQuaHRtbCcsXHJcbiAgaG9zdDogeyBjbGFzczogJ2ZpZWxkJyB9XHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMb2NhbGl6ZWRTdHJpbmdGaWVsZCBpbXBsZW1lbnRzIENvbnRyb2xDb21wb25lbnQ8YW55PiwgT25Jbml0IHtcclxuICBhcHBlYXJhbmNlOiBNYXRGb3JtRmllbGRBcHBlYXJhbmNlO1xyXG4gIG1vZGU6IFZpZXdNb2RlO1xyXG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xyXG4gIHJlcXVpcmVkPzogYm9vbGVhbjtcclxuICByZWFkb25seSBjb250cm9sID0gbmV3IEZvcm1Db250cm9sKCk7XHJcbiAgZm9jdXMoKSB7ICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlcXVpcmVkICYmIHRoaXMuY29udHJvbC5hZGRWYWxpZGF0b3JzKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xyXG4gIH1cclxufVxyXG4iLCI8Yml6ZG9jLWxvY2FsaXplZC1zdHJpbmcgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIiBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIiBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIiBjbGFzcz1cImZsZXggY29sdW1uXCI+PC9iaXpkb2MtbG9jYWxpemVkLXN0cmluZz5cclxuIl19
@@ -0,0 +1,41 @@
1
+ import { Directive } from '@angular/core';
2
+ import { Validators } from '@angular/forms';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../datasource.service";
5
+ import * as i2 from "../session.service";
6
+ export class OptionsControlField {
7
+ constructor(_ds) {
8
+ this._ds = _ds;
9
+ }
10
+ ngOnInit() {
11
+ this.required && this.control.addValidators(Validators.required);
12
+ if (this.dataType)
13
+ this._ds.all(this.dataType).subscribe(v => this.options = v);
14
+ }
15
+ optionOf(value) {
16
+ return this.options?.find(o => o.key === value)?.value;
17
+ }
18
+ }
19
+ OptionsControlField.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: OptionsControlField, deps: [{ token: i1.DatasourceService }], target: i0.ɵɵFactoryTarget.Directive });
20
+ OptionsControlField.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.5", type: OptionsControlField, ngImport: i0 });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: OptionsControlField, decorators: [{
22
+ type: Directive
23
+ }], ctorParameters: function () { return [{ type: i1.DatasourceService }]; } });
24
+ export class OptionsControlDesigner {
25
+ constructor(_session) {
26
+ this._session = _session;
27
+ this._typeRequired = (control) => {
28
+ const options = control.parent?.get('options');
29
+ if (options && !options.length && !control.parent?.get('dataType').value)
30
+ return { required: true };
31
+ return null;
32
+ };
33
+ this.datatypes = this._session.profile.types;
34
+ }
35
+ }
36
+ OptionsControlDesigner.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: OptionsControlDesigner, deps: [{ token: i2.SessionService }], target: i0.ɵɵFactoryTarget.Directive });
37
+ OptionsControlDesigner.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.5", type: OptionsControlDesigner, ngImport: i0 });
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: OptionsControlDesigner, decorators: [{
39
+ type: Directive
40
+ }], ctorParameters: function () { return [{ type: i2.SessionService }]; } });
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb3JlL2ZpZWxkcy9vcHRpb25zLmJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQTZELFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBTXZHLE1BQU0sT0FBZ0IsbUJBQW1CO0lBS3ZDLFlBQW9CLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO0lBQzFDLENBQUM7SUFDRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDakUsSUFBSSxJQUFJLENBQUMsUUFBUTtZQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFDRCxRQUFRLENBQUMsS0FBSztRQUNaLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEtBQUssQ0FBQyxFQUFFLEtBQUssQ0FBQztJQUN6RCxDQUFDOztnSEFibUIsbUJBQW1CO29HQUFuQixtQkFBbUI7MkZBQW5CLG1CQUFtQjtrQkFEeEMsU0FBUzs7QUFpQlYsTUFBTSxPQUFnQixzQkFBc0I7SUFRMUMsWUFDVSxRQUF3QjtRQUF4QixhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQVJ6QixrQkFBYSxHQUFHLENBQUMsT0FBd0IsRUFBMkIsRUFBRTtZQUM3RSxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxTQUFTLENBQWMsQ0FBQztZQUM1RCxJQUFJLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxLQUFLO2dCQUN0RSxPQUFPLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDO1lBQzVCLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFDO1FBSUEsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDL0MsQ0FBQzs7bUhBWG1CLHNCQUFzQjt1R0FBdEIsc0JBQXNCOzJGQUF0QixzQkFBc0I7a0JBRDNDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQXJyYXksIEZvcm1Db250cm9sLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBEYXRhc291cmNlU2VydmljZSB9IGZyb20gJy4uL2RhdGFzb3VyY2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IExvY2FsaXplZFN0cmluZywgVHlwZSB9IGZyb20gJy4uL21vZGVscyc7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2Vzc2lvbi5zZXJ2aWNlJztcclxuXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgT3B0aW9uc0NvbnRyb2xGaWVsZCB7XHJcbiAgYWJzdHJhY3QgcmVhZG9ubHkgY29udHJvbDogRm9ybUNvbnRyb2w7XHJcbiAgZGF0YVR5cGU/OiBzdHJpbmc7XHJcbiAgcmVxdWlyZWQ/OiBib29sZWFuO1xyXG4gIG9wdGlvbnM/OiB7IGtleTogc3RyaW5nOyB2YWx1ZTogTG9jYWxpemVkU3RyaW5nIH1bXTtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9kczogRGF0YXNvdXJjZVNlcnZpY2UpIHtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlcXVpcmVkICYmIHRoaXMuY29udHJvbC5hZGRWYWxpZGF0b3JzKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xyXG4gICAgaWYgKHRoaXMuZGF0YVR5cGUpIHRoaXMuX2RzLmFsbCh0aGlzLmRhdGFUeXBlKS5zdWJzY3JpYmUodiA9PiB0aGlzLm9wdGlvbnMgPSB2KTtcclxuICB9XHJcbiAgb3B0aW9uT2YodmFsdWUpIHtcclxuICAgIHJldHVybiB0aGlzLm9wdGlvbnM/LmZpbmQobyA9PiBvLmtleSA9PT0gdmFsdWUpPy52YWx1ZTtcclxuICB9XHJcbn1cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBPcHRpb25zQ29udHJvbERlc2lnbmVyIHtcclxuICByZWFkb25seSBfdHlwZVJlcXVpcmVkID0gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcclxuICAgIGNvbnN0IG9wdGlvbnMgPSBjb250cm9sLnBhcmVudD8uZ2V0KCdvcHRpb25zJykgYXMgRm9ybUFycmF5O1xyXG4gICAgaWYgKG9wdGlvbnMgJiYgIW9wdGlvbnMubGVuZ3RoICYmICFjb250cm9sLnBhcmVudD8uZ2V0KCdkYXRhVHlwZScpLnZhbHVlKVxyXG4gICAgICByZXR1cm4geyByZXF1aXJlZDogdHJ1ZSB9O1xyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfTtcclxuICByZWFkb25seSBkYXRhdHlwZXM6IFR5cGVbXTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlKSB7XHJcbiAgICB0aGlzLmRhdGF0eXBlcyA9IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS50eXBlcztcclxuICB9XHJcbn1cclxuIl19
@@ -47,13 +47,13 @@ export class ControlOptionsComponent {
47
47
  }
48
48
  }
49
49
  ControlOptionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: ControlOptionsComponent, deps: [{ token: i1.TranslateService }, { token: i2.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
50
- ControlOptionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: ControlOptionsComponent, selector: "bizdoc-design-options", inputs: { form: "form", model: "model" }, ngImport: i0, template: "<h2 class=\"mat-title row\">\r\n {{'Options'|translate}}\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"add()\" [bizdocTooltip]=\"'Add'|translate\"><mat-icon>add_circle_outline</mat-icon></button>\r\n</h2>\r\n<div class=\"column\" cdkDropList (cdkDropListDropped)=\"drop($event)\">\r\n <div *ngFor=\"let c of options.controls; index as index\" class=\"row\" [formGroup]=\"c\" cdkDrag>\r\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\r\n <mat-form-field class=\"flex\">\r\n <input matInput formControlName=\"key\" required />\r\n </mat-form-field>\r\n <bizdoc-localized-string formControlName=\"value\" required class=\"row flex\" [placeholder]=\"'Label'|l18n\"></bizdoc-localized-string>\r\n <button mat-icon-button (click)=\"options.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\"><mat-icon>delete</mat-icon></button>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i4.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i4.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i4.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i6.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: i7.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: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i9.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "component", type: i10.LocalizedStringComponent, selector: "bizdoc-localized-string", inputs: ["class", "value", "placeholder", "required", "disabled", "maxlength"], outputs: ["valueChanges"] }, { kind: "pipe", type: i11.L18nPipe, name: "l18n" }, { kind: "pipe", type: i11.TranslatePipe, name: "translate" }] });
50
+ ControlOptionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: ControlOptionsComponent, selector: "bizdoc-design-options", inputs: { form: "form", model: "model" }, ngImport: i0, template: "<h2 class=\"mat-title row\">\r\n {{'Options'|translate}}\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"add()\" [bizdocTooltip]=\"'Add'|translate\"><mat-icon>add_circle_outline</mat-icon></button>\r\n</h2>\r\n<div class=\"column\" cdkDropList (cdkDropListDropped)=\"drop($event)\">\r\n <div *ngFor=\"let c of options.controls; index as index\" class=\"row\" [formGroup]=\"c\" cdkDrag>\r\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\r\n <mat-form-field class=\"flex\">\r\n <input matInput formControlName=\"key\" required />\r\n </mat-form-field>\r\n &nbsp;\r\n <bizdoc-localized-string formControlName=\"value\" required class=\"row flex\" [placeholder]=\"'Label'|l18n\"></bizdoc-localized-string>\r\n <button mat-icon-button (click)=\"options.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\"><mat-icon>delete</mat-icon></button>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i4.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i4.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i4.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i6.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: i7.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: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i9.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "component", type: i10.LocalizedStringComponent, selector: "bizdoc-localized-string", inputs: ["class", "value", "placeholder", "required", "disabled", "maxlength"], outputs: ["valueChanges"] }, { kind: "pipe", type: i11.L18nPipe, name: "l18n" }, { kind: "pipe", type: i11.TranslatePipe, name: "translate" }] });
51
51
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: ControlOptionsComponent, decorators: [{
52
52
  type: Component,
53
- args: [{ selector: 'bizdoc-design-options', template: "<h2 class=\"mat-title row\">\r\n {{'Options'|translate}}\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"add()\" [bizdocTooltip]=\"'Add'|translate\"><mat-icon>add_circle_outline</mat-icon></button>\r\n</h2>\r\n<div class=\"column\" cdkDropList (cdkDropListDropped)=\"drop($event)\">\r\n <div *ngFor=\"let c of options.controls; index as index\" class=\"row\" [formGroup]=\"c\" cdkDrag>\r\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\r\n <mat-form-field class=\"flex\">\r\n <input matInput formControlName=\"key\" required />\r\n </mat-form-field>\r\n <bizdoc-localized-string formControlName=\"value\" required class=\"row flex\" [placeholder]=\"'Label'|l18n\"></bizdoc-localized-string>\r\n <button mat-icon-button (click)=\"options.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\"><mat-icon>delete</mat-icon></button>\r\n </div>\r\n</div>\r\n" }]
53
+ args: [{ selector: 'bizdoc-design-options', template: "<h2 class=\"mat-title row\">\r\n {{'Options'|translate}}\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"add()\" [bizdocTooltip]=\"'Add'|translate\"><mat-icon>add_circle_outline</mat-icon></button>\r\n</h2>\r\n<div class=\"column\" cdkDropList (cdkDropListDropped)=\"drop($event)\">\r\n <div *ngFor=\"let c of options.controls; index as index\" class=\"row\" [formGroup]=\"c\" cdkDrag>\r\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\r\n <mat-form-field class=\"flex\">\r\n <input matInput formControlName=\"key\" required />\r\n </mat-form-field>\r\n &nbsp;\r\n <bizdoc-localized-string formControlName=\"value\" required class=\"row flex\" [placeholder]=\"'Label'|l18n\"></bizdoc-localized-string>\r\n <button mat-icon-button (click)=\"options.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\"><mat-icon>delete</mat-icon></button>\r\n </div>\r\n</div>\r\n" }]
54
54
  }], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: i2.FormBuilder }]; }, propDecorators: { form: [{
55
55
  type: Input
56
56
  }], model: [{
57
57
  type: Input
58
58
  }] } });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2NvcmUvZmllbGRzL29wdGlvbnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb3JlL2ZpZWxkcy9vcHRpb25zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBMEIsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFRcEUsTUFBTSxPQUFPLHVCQUF1QjtJQWNsQyxZQUNVLFVBQTRCLEVBQzVCLEdBQWdCO1FBRGhCLGVBQVUsR0FBVixVQUFVLENBQWtCO1FBQzVCLFFBQUcsR0FBSCxHQUFHLENBQWE7UUFYakIsWUFBTyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBV1IsQ0FBQztJQVYvQixRQUFRO1FBQ04sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQ25ELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO1lBQy9CLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDakQsS0FBSyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztTQUN0RCxDQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBZ0IsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUlELEdBQUc7UUFDRCxJQUFJLEdBQUcsRUFBRSxLQUFLLENBQUM7UUFDZixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDVixHQUFHO1lBQ0QsR0FBRyxHQUFHLFNBQVMsR0FBRyxDQUFDO2dCQUNqQixLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzVDLENBQUMsRUFBRSxDQUFDO1NBQ0wsUUFDTSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssS0FBSyxHQUFHLENBQUMsRUFBRTtRQUNwRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztZQUMvQixHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDL0MsS0FBSyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1NBQ3BELENBQVEsQ0FBQyxDQUFDO1FBQ1gsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBQ0QsSUFBSSxDQUFDLEtBQTZCO1FBQ2hDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNqRCxpRkFBaUY7SUFDbkYsQ0FBQzs7b0hBckNVLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLHVHQ1ZwQyxnNUJBZUE7MkZETGEsdUJBQXVCO2tCQUpuQyxTQUFTOytCQUNFLHVCQUF1QjtpSUFJeEIsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENka0RyYWdEcm9wIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBMb2NhbGl6ZWRTdHJpbmcgfSBmcm9tICcuLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vdHJhbnNsYXRlLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdiaXpkb2MtZGVzaWduLW9wdGlvbnMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnb3B0aW9ucy5jb21wb25lbnQuaHRtbCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb250cm9sT3B0aW9uc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgZm9ybTogRm9ybUdyb3VwO1xyXG4gIEBJbnB1dCgpIG1vZGVsOiB7XHJcbiAgICBvcHRpb25zPzogeyBrZXk6IHN0cmluZzsgdmFsdWU6IExvY2FsaXplZFN0cmluZyB9W107XHJcbiAgfTtcclxuICByZWFkb25seSBvcHRpb25zID0gdGhpcy5fZmIuYXJyYXkoW10pO1xyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5tb2RlbC5vcHRpb25zICYmIHRoaXMubW9kZWwub3B0aW9ucy5mb3JFYWNoKG8gPT5cclxuICAgICAgdGhpcy5vcHRpb25zLnB1c2godGhpcy5fZmIuZ3JvdXAoe1xyXG4gICAgICAgIGtleTogdGhpcy5fZmIuY29udHJvbChvLmtleSwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXHJcbiAgICAgICAgdmFsdWU6IHRoaXMuX2ZiLmNvbnRyb2woby52YWx1ZSwgVmFsaWRhdG9ycy5yZXF1aXJlZClcclxuICAgICAgfSkgYXMgYW55KSk7XHJcbiAgICB0aGlzLmZvcm0uYWRkQ29udHJvbCgnb3B0aW9ucycgYXMgYW55LCB0aGlzLm9wdGlvbnMpO1xyXG4gIH1cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3RyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgX2ZiOiBGb3JtQnVpbGRlcikgeyB9XHJcbiAgYWRkKCkge1xyXG4gICAgbGV0IGtleSwgdmFsdWU7XHJcbiAgICBsZXQgaSA9IDE7XHJcbiAgICBkbyB7XHJcbiAgICAgIGtleSA9ICdvcHRpb25fJyArIGksXHJcbiAgICAgICAgdmFsdWUgPSB0aGlzLl90cmFuc2xhdGUuZ2V0KCdPcHRpb25OJywgaSk7XHJcbiAgICAgIGkrKztcclxuICAgIH1cclxuICAgIHdoaWxlICh0aGlzLm9wdGlvbnMuY29udHJvbHMuZmluZChjID0+IGMuZ2V0KCdrZXknKS52YWx1ZSA9PT0ga2V5KSk7XHJcbiAgICB0aGlzLm9wdGlvbnMucHVzaCh0aGlzLl9mYi5ncm91cCh7XHJcbiAgICAgIGtleTogdGhpcy5fZmIuY29udHJvbChrZXksIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG4gICAgICB2YWx1ZTogdGhpcy5fZmIuY29udHJvbCh2YWx1ZSwgVmFsaWRhdG9ycy5yZXF1aXJlZClcclxuICAgIH0pIGFzIGFueSk7XHJcbiAgICB0aGlzLmZvcm0ubWFya0FzRGlydHkoKTtcclxuICB9XHJcbiAgZHJvcChldmVudDogQ2RrRHJhZ0Ryb3A8Rm9ybUdyb3VwPikge1xyXG4gICAgY29uc3QgZWxlbWVudCA9IHRoaXMub3B0aW9ucy5hdChldmVudC5wcmV2aW91c0luZGV4KTtcclxuICAgIHRoaXMub3B0aW9ucy5yZW1vdmVBdChldmVudC5wcmV2aW91c0luZGV4KTtcclxuICAgIHRoaXMub3B0aW9ucy5pbnNlcnQoZXZlbnQuY3VycmVudEluZGV4LCBlbGVtZW50KTtcclxuICAgIC8vbW92ZUl0ZW1JbkFycmF5KGV2ZW50LmNvbnRhaW5lci5kYXRhLCBldmVudC5wcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpO1xyXG4gIH1cclxufVxyXG4iLCI8aDIgY2xhc3M9XCJtYXQtdGl0bGUgcm93XCI+XHJcbiAge3snT3B0aW9ucyd8dHJhbnNsYXRlfX1cclxuICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XHJcbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImFkZCgpXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ0FkZCd8dHJhbnNsYXRlXCI+PG1hdC1pY29uPmFkZF9jaXJjbGVfb3V0bGluZTwvbWF0LWljb24+PC9idXR0b24+XHJcbjwvaDI+XHJcbjxkaXYgY2xhc3M9XCJjb2x1bW5cIiBjZGtEcm9wTGlzdCAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3AoJGV2ZW50KVwiPlxyXG4gIDxkaXYgKm5nRm9yPVwibGV0IGMgb2Ygb3B0aW9ucy5jb250cm9sczsgaW5kZXggYXMgaW5kZXhcIiBjbGFzcz1cInJvd1wiIFtmb3JtR3JvdXBdPVwiY1wiIGNka0RyYWc+XHJcbiAgICA8bWF0LWljb24gY2RrRHJhZ0hhbmRsZT5kcmFnX2luZGljYXRvcjwvbWF0LWljb24+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJmbGV4XCI+XHJcbiAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJrZXlcIiByZXF1aXJlZCAvPlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDxiaXpkb2MtbG9jYWxpemVkLXN0cmluZyBmb3JtQ29udHJvbE5hbWU9XCJ2YWx1ZVwiIHJlcXVpcmVkIGNsYXNzPVwicm93IGZsZXhcIiBbcGxhY2Vob2xkZXJdPVwiJ0xhYmVsJ3xsMThuXCI+PC9iaXpkb2MtbG9jYWxpemVkLXN0cmluZz5cclxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJvcHRpb25zLnJlbW92ZUF0KGluZGV4KVwiIFtiaXpkb2NUb29sdGlwXT1cIidSZW1vdmUnfHRyYW5zbGF0ZVwiPjxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2NvcmUvZmllbGRzL29wdGlvbnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb3JlL2ZpZWxkcy9vcHRpb25zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBMEIsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFRcEUsTUFBTSxPQUFPLHVCQUF1QjtJQWNsQyxZQUNVLFVBQTRCLEVBQzVCLEdBQWdCO1FBRGhCLGVBQVUsR0FBVixVQUFVLENBQWtCO1FBQzVCLFFBQUcsR0FBSCxHQUFHLENBQWE7UUFYakIsWUFBTyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBV1IsQ0FBQztJQVYvQixRQUFRO1FBQ04sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQ25ELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO1lBQy9CLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDakQsS0FBSyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztTQUN0RCxDQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBZ0IsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUlELEdBQUc7UUFDRCxJQUFJLEdBQUcsRUFBRSxLQUFLLENBQUM7UUFDZixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDVixHQUFHO1lBQ0QsR0FBRyxHQUFHLFNBQVMsR0FBRyxDQUFDO2dCQUNqQixLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzVDLENBQUMsRUFBRSxDQUFDO1NBQ0wsUUFDTSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssS0FBSyxHQUFHLENBQUMsRUFBRTtRQUNwRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztZQUMvQixHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDL0MsS0FBSyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1NBQ3BELENBQVEsQ0FBQyxDQUFDO1FBQ1gsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBQ0QsSUFBSSxDQUFDLEtBQTZCO1FBQ2hDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNqRCxpRkFBaUY7SUFDbkYsQ0FBQzs7b0hBckNVLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLHVHQ1ZwQyw4NUJBZ0JBOzJGRE5hLHVCQUF1QjtrQkFKbkMsU0FBUzsrQkFDRSx1QkFBdUI7aUlBSXhCLElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZGtEcmFnRHJvcCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTG9jYWxpemVkU3RyaW5nIH0gZnJvbSAnLi4vbW9kZWxzJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uL3RyYW5zbGF0ZS5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLWRlc2lnbi1vcHRpb25zJyxcclxuICB0ZW1wbGF0ZVVybDogJ29wdGlvbnMuY29tcG9uZW50Lmh0bWwnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29udHJvbE9wdGlvbnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIGZvcm06IEZvcm1Hcm91cDtcclxuICBASW5wdXQoKSBtb2RlbDoge1xyXG4gICAgb3B0aW9ucz86IHsga2V5OiBzdHJpbmc7IHZhbHVlOiBMb2NhbGl6ZWRTdHJpbmcgfVtdO1xyXG4gIH07XHJcbiAgcmVhZG9ubHkgb3B0aW9ucyA9IHRoaXMuX2ZiLmFycmF5KFtdKTtcclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMubW9kZWwub3B0aW9ucyAmJiB0aGlzLm1vZGVsLm9wdGlvbnMuZm9yRWFjaChvID0+XHJcbiAgICAgIHRoaXMub3B0aW9ucy5wdXNoKHRoaXMuX2ZiLmdyb3VwKHtcclxuICAgICAgICBrZXk6IHRoaXMuX2ZiLmNvbnRyb2woby5rZXksIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG4gICAgICAgIHZhbHVlOiB0aGlzLl9mYi5jb250cm9sKG8udmFsdWUsIFZhbGlkYXRvcnMucmVxdWlyZWQpXHJcbiAgICAgIH0pIGFzIGFueSkpO1xyXG4gICAgdGhpcy5mb3JtLmFkZENvbnRyb2woJ29wdGlvbnMnIGFzIGFueSwgdGhpcy5vcHRpb25zKTtcclxuICB9XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF90cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9mYjogRm9ybUJ1aWxkZXIpIHsgfVxyXG4gIGFkZCgpIHtcclxuICAgIGxldCBrZXksIHZhbHVlO1xyXG4gICAgbGV0IGkgPSAxO1xyXG4gICAgZG8ge1xyXG4gICAgICBrZXkgPSAnb3B0aW9uXycgKyBpLFxyXG4gICAgICAgIHZhbHVlID0gdGhpcy5fdHJhbnNsYXRlLmdldCgnT3B0aW9uTicsIGkpO1xyXG4gICAgICBpKys7XHJcbiAgICB9XHJcbiAgICB3aGlsZSAodGhpcy5vcHRpb25zLmNvbnRyb2xzLmZpbmQoYyA9PiBjLmdldCgna2V5JykudmFsdWUgPT09IGtleSkpO1xyXG4gICAgdGhpcy5vcHRpb25zLnB1c2godGhpcy5fZmIuZ3JvdXAoe1xyXG4gICAgICBrZXk6IHRoaXMuX2ZiLmNvbnRyb2woa2V5LCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcclxuICAgICAgdmFsdWU6IHRoaXMuX2ZiLmNvbnRyb2wodmFsdWUsIFZhbGlkYXRvcnMucmVxdWlyZWQpXHJcbiAgICB9KSBhcyBhbnkpO1xyXG4gICAgdGhpcy5mb3JtLm1hcmtBc0RpcnR5KCk7XHJcbiAgfVxyXG4gIGRyb3AoZXZlbnQ6IENka0RyYWdEcm9wPEZvcm1Hcm91cD4pIHtcclxuICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLm9wdGlvbnMuYXQoZXZlbnQucHJldmlvdXNJbmRleCk7XHJcbiAgICB0aGlzLm9wdGlvbnMucmVtb3ZlQXQoZXZlbnQucHJldmlvdXNJbmRleCk7XHJcbiAgICB0aGlzLm9wdGlvbnMuaW5zZXJ0KGV2ZW50LmN1cnJlbnRJbmRleCwgZWxlbWVudCk7XHJcbiAgICAvL21vdmVJdGVtSW5BcnJheShldmVudC5jb250YWluZXIuZGF0YSwgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcclxuICB9XHJcbn1cclxuIiwiPGgyIGNsYXNzPVwibWF0LXRpdGxlIHJvd1wiPlxyXG4gIHt7J09wdGlvbnMnfHRyYW5zbGF0ZX19XHJcbiAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxyXG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJhZGQoKVwiIFtiaXpkb2NUb29sdGlwXT1cIidBZGQnfHRyYW5zbGF0ZVwiPjxtYXQtaWNvbj5hZGRfY2lyY2xlX291dGxpbmU8L21hdC1pY29uPjwvYnV0dG9uPlxyXG48L2gyPlxyXG48ZGl2IGNsYXNzPVwiY29sdW1uXCIgY2RrRHJvcExpc3QgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcm9wKCRldmVudClcIj5cclxuICA8ZGl2ICpuZ0Zvcj1cImxldCBjIG9mIG9wdGlvbnMuY29udHJvbHM7IGluZGV4IGFzIGluZGV4XCIgY2xhc3M9XCJyb3dcIiBbZm9ybUdyb3VwXT1cImNcIiBjZGtEcmFnPlxyXG4gICAgPG1hdC1pY29uIGNka0RyYWdIYW5kbGU+ZHJhZ19pbmRpY2F0b3I8L21hdC1pY29uPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZmxleFwiPlxyXG4gICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwia2V5XCIgcmVxdWlyZWQgLz5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAmbmJzcDtcclxuICAgIDxiaXpkb2MtbG9jYWxpemVkLXN0cmluZyBmb3JtQ29udHJvbE5hbWU9XCJ2YWx1ZVwiIHJlcXVpcmVkIGNsYXNzPVwicm93IGZsZXhcIiBbcGxhY2Vob2xkZXJdPVwiJ0xhYmVsJ3xsMThuXCI+PC9iaXpkb2MtbG9jYWxpemVkLXN0cmluZz5cclxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJvcHRpb25zLnJlbW92ZUF0KGluZGV4KVwiIFtiaXpkb2NUb29sdGlwXT1cIidSZW1vdmUnfHRyYW5zbGF0ZVwiPjxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
@@ -1,6 +1,7 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { Component } from "@angular/core";
3
3
  import { BizDoc } from "../decorators";
4
+ import { OptionsControlDesigner } from "./options.base";
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "../session.service";
6
7
  import * as i2 from "@angular/forms";
@@ -8,30 +9,32 @@ import * as i3 from "@angular/common";
8
9
  import * as i4 from "@angular/material/core";
9
10
  import * as i5 from "@angular/material/form-field";
10
11
  import * as i6 from "@angular/material/select";
11
- import * as i7 from "./options.component";
12
- import * as i8 from "../pipes/translate.pipe";
13
- let RadioButtonControlDesigner = class RadioButtonControlDesigner {
14
- constructor(_session, _fb) {
15
- this._session = _session;
12
+ import * as i7 from "../../admin/core/localized-string.component";
13
+ import * as i8 from "./options.component";
14
+ import * as i9 from "../pipes/localized-string.pipe";
15
+ import * as i10 from "../pipes/translate.pipe";
16
+ let RadioButtonControlDesigner = class RadioButtonControlDesigner extends OptionsControlDesigner {
17
+ constructor(session, _fb) {
18
+ super(session);
16
19
  this._fb = _fb;
17
20
  this.form = this._fb.group({
18
21
  label: null,
19
- dataType: null,
22
+ dataType: this._fb.control(null, this._typeRequired),
23
+ hint: null,
20
24
  });
21
- this.datatypes = this._session.profile.types;
22
25
  }
23
26
  onBind(model) {
24
27
  this.model = model;
25
28
  }
26
29
  };
27
30
  RadioButtonControlDesigner.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: RadioButtonControlDesigner, deps: [{ token: i1.SessionService }, { token: i2.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
28
- RadioButtonControlDesigner.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: RadioButtonControlDesigner, selector: "ng-component", ngImport: i0, template: "<form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field>\r\n <mat-label>{{'DataType'|translate}}</mat-label>\r\n <mat-select formControlName=\"dataType\">\r\n <mat-option *ngFor=\"let t of datatypes\" [value]=\"t.name\">{{t.title}}</mat-option>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('dataType').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:'DataType'\"></mat-error>\r\n </mat-form-field>\r\n <bizdoc-design-options [form]=\"form\" [model]=\"model\"></bizdoc-design-options>\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: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i5.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "component", type: i6.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i7.ControlOptionsComponent, selector: "bizdoc-design-options", inputs: ["form", "model"] }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] });
31
+ RadioButtonControlDesigner.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: RadioButtonControlDesigner, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <bizdoc-localized-string [placeholder]=\"'Label'|translate\" formControlName=\"label\"></bizdoc-localized-string>\r\n <mat-form-field>\r\n <mat-label>{{'DataType'|translate}}</mat-label>\r\n <mat-select formControlName=\"dataType\">\r\n <mat-option *ngFor=\"let t of datatypes\" [value]=\"t.name\">{{t.title|localizedString}}</mat-option>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('dataType').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('DataType'|translate)\"></mat-error>\r\n </mat-form-field>\r\n <bizdoc-design-options [form]=\"form\" [model]=\"model\"></bizdoc-design-options>\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: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i5.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "component", type: i6.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i7.LocalizedStringComponent, selector: "bizdoc-localized-string", inputs: ["class", "value", "placeholder", "required", "disabled", "maxlength"], outputs: ["valueChanges"] }, { kind: "component", type: i8.ControlOptionsComponent, selector: "bizdoc-design-options", inputs: ["form", "model"] }, { kind: "pipe", type: i9.LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: i10.TranslatePipe, name: "translate" }] });
29
32
  RadioButtonControlDesigner = __decorate([
30
33
  BizDoc({ selector: 'radio-button-control-designer' })
31
34
  ], RadioButtonControlDesigner);
32
35
  export { RadioButtonControlDesigner };
33
36
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: RadioButtonControlDesigner, decorators: [{
34
37
  type: Component,
35
- args: [{ template: "<form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field>\r\n <mat-label>{{'DataType'|translate}}</mat-label>\r\n <mat-select formControlName=\"dataType\">\r\n <mat-option *ngFor=\"let t of datatypes\" [value]=\"t.name\">{{t.title}}</mat-option>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('dataType').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:'DataType'\"></mat-error>\r\n </mat-form-field>\r\n <bizdoc-design-options [form]=\"form\" [model]=\"model\"></bizdoc-design-options>\r\n</form>\r\n" }]
38
+ args: [{ template: "<form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <bizdoc-localized-string [placeholder]=\"'Label'|translate\" formControlName=\"label\"></bizdoc-localized-string>\r\n <mat-form-field>\r\n <mat-label>{{'DataType'|translate}}</mat-label>\r\n <mat-select formControlName=\"dataType\">\r\n <mat-option *ngFor=\"let t of datatypes\" [value]=\"t.name\">{{t.title|localizedString}}</mat-option>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('dataType').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('DataType'|translate)\"></mat-error>\r\n </mat-form-field>\r\n <bizdoc-design-options [form]=\"form\" [model]=\"model\"></bizdoc-design-options>\r\n</form>\r\n" }]
36
39
  }], ctorParameters: function () { return [{ type: i1.SessionService }, { type: i2.FormBuilder }]; } });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tYnV0dG9uLmRlc2lnbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb3JlL2ZpZWxkcy9yYWRpby1idXR0b24uZGVzaWduZXIudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2NvcmUvZmllbGRzL3JhZGlvLWJ1dHRvbi5kZXNpZ25lci5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7QUFRaEMsSUFBTSwwQkFBMEIsR0FBaEMsTUFBTSwwQkFBMEI7SUFPckMsWUFDVSxRQUF3QixFQUN4QixHQUFnQjtRQURoQixhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQUN4QixRQUFHLEdBQUgsR0FBRyxDQUFhO1FBUGpCLFNBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztZQUM3QixLQUFLLEVBQUUsSUFBSTtZQUNYLFFBQVEsRUFBRSxJQUFJO1NBQ2YsQ0FBQyxDQUFDO1FBS0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDL0MsQ0FBQztJQUNELE1BQU0sQ0FBQyxLQUF1QjtRQUM1QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDOzt1SEFkVSwwQkFBMEI7MkdBQTFCLDBCQUEwQixvRENYdkMsd2pCQVVBO0FEQ2EsMEJBQTBCO0lBRHRDLE1BQU0sQ0FBQyxFQUFFLFFBQVEsRUFBRSwrQkFBK0IsRUFBRSxDQUFDO0dBQ3pDLDBCQUEwQixDQWV0QztTQWZZLDBCQUEwQjsyRkFBMUIsMEJBQTBCO2tCQUp0QyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgQ29udHJvbERlc2lnbmVyIH0gZnJvbSBcIi4uL2Jhc2VcIjtcclxuaW1wb3J0IHsgQml6RG9jIH0gZnJvbSBcIi4uL2RlY29yYXRvcnNcIjtcclxuaW1wb3J0IHsgTG9jYWxpemVkU3RyaW5nLCBUeXBlIH0gZnJvbSBcIi4uL21vZGVsc1wiO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gXCIuLi9zZXNzaW9uLnNlcnZpY2VcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHRlbXBsYXRlVXJsOiAncmFkaW8tYnV0dG9uLmRlc2lnbmVyLmh0bWwnXHJcbn0pXHJcbkBCaXpEb2MoeyBzZWxlY3RvcjogJ3JhZGlvLWJ1dHRvbi1jb250cm9sLWRlc2lnbmVyJyB9KVxyXG5leHBvcnQgY2xhc3MgUmFkaW9CdXR0b25Db250cm9sRGVzaWduZXIgaW1wbGVtZW50cyBDb250cm9sRGVzaWduZXI8UmFkaW9CdXR0b25Nb2RlbD4ge1xyXG4gIHJlYWRvbmx5IGRhdGF0eXBlczogVHlwZVtdO1xyXG4gIHJlYWRvbmx5IGZvcm0gPSB0aGlzLl9mYi5ncm91cCh7XHJcbiAgICBsYWJlbDogbnVsbCxcclxuICAgIGRhdGFUeXBlOiBudWxsLFxyXG4gIH0pO1xyXG4gIG1vZGVsOiBSYWRpb0J1dHRvbk1vZGVsO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9mYjogRm9ybUJ1aWxkZXIpIHtcclxuICAgIHRoaXMuZGF0YXR5cGVzID0gdGhpcy5fc2Vzc2lvbi5wcm9maWxlLnR5cGVzO1xyXG4gIH1cclxuICBvbkJpbmQobW9kZWw6IFJhZGlvQnV0dG9uTW9kZWwpIHtcclxuICAgIHRoaXMubW9kZWwgPSBtb2RlbDtcclxuICB9XHJcbn1cclxuaW50ZXJmYWNlIFJhZGlvQnV0dG9uTW9kZWwge1xyXG4gIGxhYmVsPzogc3RyaW5nO1xyXG4gIGhpbnQ/OiBzdHJpbmc7XHJcbiAgb3B0aW9ucz86IHsga2V5OiBzdHJpbmc7IHZhbHVlOiBMb2NhbGl6ZWRTdHJpbmcgfVtdO1xyXG4gIGRhdGFUeXBlPzogc3RyaW5nO1xyXG4gIHJlcXVpcmVkPzogYm9vbGVhbjtcclxufVxyXG4iLCI8Zm9ybSBhdXRvY29tcGxldGU9XCJvZmZcIiBbZm9ybUdyb3VwXT1cImZvcm1cIiBjbGFzcz1cImNvbHVtblwiPlxyXG4gIDxtYXQtZm9ybS1maWVsZD5cclxuICAgIDxtYXQtbGFiZWw+e3snRGF0YVR5cGUnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJkYXRhVHlwZVwiPlxyXG4gICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgdCBvZiBkYXRhdHlwZXNcIiBbdmFsdWVdPVwidC5uYW1lXCI+e3t0LnRpdGxlfX08L21hdC1vcHRpb24+XHJcbiAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybS5nZXQoJ2RhdGFUeXBlJykuaGFzRXJyb3IoJ3JlcXVpcmVkJylcIiBbaW5uZXJIVE1MXT1cIidSZXF1aXJlZEVycid8dHJhbnNsYXRlOidEYXRhVHlwZSdcIj48L21hdC1lcnJvcj5cclxuICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gIDxiaXpkb2MtZGVzaWduLW9wdGlvbnMgW2Zvcm1dPVwiZm9ybVwiIFttb2RlbF09XCJtb2RlbFwiPjwvYml6ZG9jLWRlc2lnbi1vcHRpb25zPlxyXG48L2Zvcm0+XHJcbiJdfQ==
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tYnV0dG9uLmRlc2lnbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb3JlL2ZpZWxkcy9yYWRpby1idXR0b24uZGVzaWduZXIudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2NvcmUvZmllbGRzL3JhZGlvLWJ1dHRvbi5kZXNpZ25lci5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHdkMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7OztBQU1qRCxJQUFNLDBCQUEwQixHQUFoQyxNQUFNLDBCQUEyQixTQUFRLHNCQUFzQjtJQU9wRSxZQUNFLE9BQXVCLEVBQ2YsR0FBZ0I7UUFDeEIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRFAsUUFBRyxHQUFILEdBQUcsQ0FBYTtRQVJqQixTQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7WUFDN0IsS0FBSyxFQUFFLElBQUk7WUFDWCxRQUFRLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUM7WUFDcEQsSUFBSSxFQUFFLElBQUk7U0FDWCxDQUFDLENBQUM7SUFNSCxDQUFDO0lBQ0QsTUFBTSxDQUFDLEtBQXVCO1FBQzVCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7O3VIQWRVLDBCQUEwQjsyR0FBMUIsMEJBQTBCLDJFQ1p2Qywyc0JBV0E7QURDYSwwQkFBMEI7SUFEdEMsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFLCtCQUErQixFQUFFLENBQUM7R0FDekMsMEJBQTBCLENBZXRDO1NBZlksMEJBQTBCOzJGQUExQiwwQkFBMEI7a0JBSnRDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBDb250cm9sRGVzaWduZXIgfSBmcm9tIFwiLi4vYmFzZVwiO1xyXG5pbXBvcnQgeyBCaXpEb2MgfSBmcm9tIFwiLi4vZGVjb3JhdG9yc1wiO1xyXG5pbXBvcnQgeyBMb2NhbGl6ZWRTdHJpbmcgfSBmcm9tIFwiLi4vbW9kZWxzXCI7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSBcIi4uL3Nlc3Npb24uc2VydmljZVwiO1xyXG5pbXBvcnQgeyBPcHRpb25zQ29udHJvbERlc2lnbmVyIH0gZnJvbSBcIi4vb3B0aW9ucy5iYXNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZVVybDogJ3JhZGlvLWJ1dHRvbi5kZXNpZ25lci5odG1sJ1xyXG59KVxyXG5AQml6RG9jKHsgc2VsZWN0b3I6ICdyYWRpby1idXR0b24tY29udHJvbC1kZXNpZ25lcicgfSlcclxuZXhwb3J0IGNsYXNzIFJhZGlvQnV0dG9uQ29udHJvbERlc2lnbmVyIGV4dGVuZHMgT3B0aW9uc0NvbnRyb2xEZXNpZ25lciBpbXBsZW1lbnRzIENvbnRyb2xEZXNpZ25lcjxSYWRpb0J1dHRvbk1vZGVsPiB7XHJcbiAgcmVhZG9ubHkgZm9ybSA9IHRoaXMuX2ZiLmdyb3VwKHtcclxuICAgIGxhYmVsOiBudWxsLFxyXG4gICAgZGF0YVR5cGU6IHRoaXMuX2ZiLmNvbnRyb2wobnVsbCwgdGhpcy5fdHlwZVJlcXVpcmVkKSxcclxuICAgIGhpbnQ6IG51bGwsXHJcbiAgfSk7XHJcbiAgbW9kZWw6IFJhZGlvQnV0dG9uTW9kZWw7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBzZXNzaW9uOiBTZXNzaW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgX2ZiOiBGb3JtQnVpbGRlcikge1xyXG4gICAgc3VwZXIoc2Vzc2lvbik7XHJcbiAgfVxyXG4gIG9uQmluZChtb2RlbDogUmFkaW9CdXR0b25Nb2RlbCkge1xyXG4gICAgdGhpcy5tb2RlbCA9IG1vZGVsO1xyXG4gIH1cclxufVxyXG5pbnRlcmZhY2UgUmFkaW9CdXR0b25Nb2RlbCB7XHJcbiAgbGFiZWw/OiBzdHJpbmc7XHJcbiAgaGludD86IHN0cmluZztcclxuICBvcHRpb25zPzogeyBrZXk6IHN0cmluZzsgdmFsdWU6IExvY2FsaXplZFN0cmluZyB9W107XHJcbiAgZGF0YVR5cGU/OiBzdHJpbmc7XHJcbiAgcmVxdWlyZWQ/OiBib29sZWFuO1xyXG59XHJcbiIsIjxmb3JtIGF1dG9jb21wbGV0ZT1cIm9mZlwiIFtmb3JtR3JvdXBdPVwiZm9ybVwiIGNsYXNzPVwiY29sdW1uXCI+XHJcbiAgPGJpemRvYy1sb2NhbGl6ZWQtc3RyaW5nIFtwbGFjZWhvbGRlcl09XCInTGFiZWwnfHRyYW5zbGF0ZVwiIGZvcm1Db250cm9sTmFtZT1cImxhYmVsXCI+PC9iaXpkb2MtbG9jYWxpemVkLXN0cmluZz5cclxuICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8bWF0LWxhYmVsPnt7J0RhdGFUeXBlJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwiZGF0YVR5cGVcIj5cclxuICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IHQgb2YgZGF0YXR5cGVzXCIgW3ZhbHVlXT1cInQubmFtZVwiPnt7dC50aXRsZXxsb2NhbGl6ZWRTdHJpbmd9fTwvbWF0LW9wdGlvbj5cclxuICAgIDwvbWF0LXNlbGVjdD5cclxuICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtLmdldCgnZGF0YVR5cGUnKS5oYXNFcnJvcigncmVxdWlyZWQnKVwiIFtpbm5lckhUTUxdPVwiJ1JlcXVpcmVkRXJyJ3x0cmFuc2xhdGU6KCdEYXRhVHlwZSd8dHJhbnNsYXRlKVwiPjwvbWF0LWVycm9yPlxyXG4gIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgPGJpemRvYy1kZXNpZ24tb3B0aW9ucyBbZm9ybV09XCJmb3JtXCIgW21vZGVsXT1cIm1vZGVsXCI+PC9iaXpkb2MtZGVzaWduLW9wdGlvbnM+XHJcbjwvZm9ybT5cclxuIl19
@@ -1,41 +1,34 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { Component, ViewChild } from '@angular/core';
3
- import { FormControl, Validators } from '@angular/forms';
3
+ import { FormControl } from '@angular/forms';
4
4
  import { MatRadioButton } from '@angular/material/radio';
5
5
  import { BizDoc } from '../decorators';
6
+ import { OptionsControlField } from './options.base';
6
7
  import * as i0 from "@angular/core";
7
- import * as i1 from "../datasource.service";
8
- import * as i2 from "@angular/common";
9
- import * as i3 from "@angular/forms";
10
- import * as i4 from "@angular/material/radio";
11
- import * as i5 from "@angular/material/form-field";
12
- import * as i6 from "../pipes/localized-string.pipe";
13
- import * as i7 from "../pipes/translate.pipe";
14
- let RadioButtonField = class RadioButtonField {
15
- constructor(_ds) {
16
- this._ds = _ds;
8
+ import * as i1 from "@angular/common";
9
+ import * as i2 from "@angular/forms";
10
+ import * as i3 from "@angular/material/radio";
11
+ import * as i4 from "@angular/material/form-field";
12
+ import * as i5 from "../pipes/localized-string.pipe";
13
+ import * as i6 from "../pipes/translate.pipe";
14
+ let RadioButtonField = class RadioButtonField extends OptionsControlField {
15
+ constructor() {
16
+ super(...arguments);
17
17
  this.control = new FormControl(false);
18
18
  }
19
19
  focus() { this.input.focus(); }
20
- ngOnInit() {
21
- this.required && this.control.addValidators(Validators.required);
22
- this.dataType && this._ds.all(this.dataType).subscribe(v => this.options = v);
23
- }
24
- optionOf(value) {
25
- this.options.find(o => o.key === value)?.value;
26
- }
27
20
  };
28
- RadioButtonField.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: RadioButtonField, deps: [{ token: i1.DatasourceService }], target: i0.ɵɵFactoryTarget.Component });
29
- RadioButtonField.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: RadioButtonField, selector: "ng-component", host: { classAttribute: "field" }, viewQueries: [{ propertyName: "input", first: true, predicate: MatRadioButton, descendants: true }], ngImport: i0, template: "<div *ngIf=\"mode === 'compose'; else view\">\r\n <mat-hint *ngIf=\"hint\"> {{ hint|localizedString }}</mat-hint>\r\n <mat-label>{{label|localizedString}}</mat-label>\r\n <mat-radio-group [formControl]=control>\r\n <mat-radio-button *ngFor=\"let o of options\" [value]=\"o.key\">\r\n {{o.value|localizedString}}\r\n </mat-radio-button>\r\n </mat-radio-group>\r\n <mat-error *ngIf=\"control.hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:(label||name)\"></mat-error>\r\n</div>\r\n<ng-template #view>\r\n <span>\r\n {{optionOf(control.value)|localizedString}}\r\n </span>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.MatRadioGroup, selector: "mat-radio-group", exportAs: ["matRadioGroup"] }, { kind: "component", type: i4.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }, { kind: "directive", type: i5.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "directive", type: i5.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "pipe", type: i6.LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] });
21
+ RadioButtonField.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: RadioButtonField, deps: null, target: i0.ɵɵFactoryTarget.Component });
22
+ RadioButtonField.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: RadioButtonField, selector: "ng-component", host: { classAttribute: "field" }, viewQueries: [{ propertyName: "input", first: true, predicate: MatRadioButton, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"mode === 'compose'; else view\">\r\n <mat-hint *ngIf=\"hint\"> {{ hint|localizedString }}</mat-hint>\r\n <mat-label>{{label|localizedString}}</mat-label>\r\n <mat-radio-group [formControl]=control>\r\n <mat-radio-button *ngFor=\"let o of options\" [value]=\"o.key\">\r\n {{o.value|localizedString}}\r\n </mat-radio-button>\r\n </mat-radio-group>\r\n <mat-error *ngIf=\"control.hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:(label||name)\"></mat-error>\r\n</div>\r\n<ng-template #view>\r\n <span *ngIf=\"control.value\">\r\n {{optionOf(control.value)|localizedString}}\r\n </span>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.MatRadioGroup, selector: "mat-radio-group", exportAs: ["matRadioGroup"] }, { kind: "component", type: i3.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }, { kind: "directive", type: i4.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "directive", type: i4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "pipe", type: i5.LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
30
23
  RadioButtonField = __decorate([
31
24
  BizDoc({ selector: 'radio-button-control' })
32
25
  ], RadioButtonField);
33
26
  export { RadioButtonField };
34
27
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: RadioButtonField, decorators: [{
35
28
  type: Component,
36
- args: [{ host: { class: 'field' }, template: "<div *ngIf=\"mode === 'compose'; else view\">\r\n <mat-hint *ngIf=\"hint\"> {{ hint|localizedString }}</mat-hint>\r\n <mat-label>{{label|localizedString}}</mat-label>\r\n <mat-radio-group [formControl]=control>\r\n <mat-radio-button *ngFor=\"let o of options\" [value]=\"o.key\">\r\n {{o.value|localizedString}}\r\n </mat-radio-button>\r\n </mat-radio-group>\r\n <mat-error *ngIf=\"control.hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:(label||name)\"></mat-error>\r\n</div>\r\n<ng-template #view>\r\n <span>\r\n {{optionOf(control.value)|localizedString}}\r\n </span>\r\n</ng-template>\r\n" }]
37
- }], ctorParameters: function () { return [{ type: i1.DatasourceService }]; }, propDecorators: { input: [{
29
+ args: [{ host: { class: 'field' }, template: "<div *ngIf=\"mode === 'compose'; else view\">\r\n <mat-hint *ngIf=\"hint\"> {{ hint|localizedString }}</mat-hint>\r\n <mat-label>{{label|localizedString}}</mat-label>\r\n <mat-radio-group [formControl]=control>\r\n <mat-radio-button *ngFor=\"let o of options\" [value]=\"o.key\">\r\n {{o.value|localizedString}}\r\n </mat-radio-button>\r\n </mat-radio-group>\r\n <mat-error *ngIf=\"control.hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:(label||name)\"></mat-error>\r\n</div>\r\n<ng-template #view>\r\n <span *ngIf=\"control.value\">\r\n {{optionOf(control.value)|localizedString}}\r\n </span>\r\n</ng-template>\r\n" }]
30
+ }], propDecorators: { input: [{
38
31
  type: ViewChild,
39
32
  args: [MatRadioButton]
40
33
  }] } });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tYnV0dG9uLmZpZWxkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb3JlL2ZpZWxkcy9yYWRpby1idXR0b24uZmllbGQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2NvcmUvZmllbGRzL3JhZGlvLWJ1dHRvbi5maWVsZC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUd6RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7QUFRaEMsSUFBTSxnQkFBZ0IsR0FBdEIsTUFBTSxnQkFBZ0I7SUFpQjNCLFlBQW9CLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBVGpDLFlBQU8sR0FBRyxJQUFJLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQVUxQyxDQUFDO0lBVEQsS0FBSyxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQy9CLFFBQVE7UUFDTixJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNqRSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFDRCxRQUFRLENBQUMsS0FBSztRQUNaLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxLQUFLLENBQUMsRUFBRSxLQUFLLENBQUM7SUFDakQsQ0FBQzs7NkdBaEJVLGdCQUFnQjtpR0FBaEIsZ0JBQWdCLDhIQU9oQixjQUFjLGdEQ3BCM0Isb25CQWVBO0FERmEsZ0JBQWdCO0lBRDVCLE1BQU0sQ0FBQyxFQUFFLFFBQVEsRUFBRSxzQkFBc0IsRUFBRSxDQUFDO0dBQ2hDLGdCQUFnQixDQW1CNUI7U0FuQlksZ0JBQWdCOzJGQUFoQixnQkFBZ0I7a0JBTDVCLFNBQVM7MkJBRUYsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFO3dHQVVHLEtBQUs7c0JBQS9CLFNBQVM7dUJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdFJhZGlvQnV0dG9uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW8nO1xyXG5pbXBvcnQgeyBDb250cm9sQ29tcG9uZW50LCBWaWV3TW9kZSB9IGZyb20gJy4uL2Jhc2UnO1xyXG5pbXBvcnQgeyBEYXRhc291cmNlU2VydmljZSB9IGZyb20gJy4uL2RhdGFzb3VyY2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IEJpekRvYyB9IGZyb20gJy4uL2RlY29yYXRvcnMnO1xyXG5pbXBvcnQgeyBMb2NhbGl6ZWRTdHJpbmcgfSBmcm9tICcuLi9tb2RlbHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGVVcmw6ICdyYWRpby1idXR0b24uZmllbGQuaHRtbCcsXHJcbiAgaG9zdDogeyBjbGFzczogJ2ZpZWxkJyB9XHJcbn0pXHJcbkBCaXpEb2MoeyBzZWxlY3RvcjogJ3JhZGlvLWJ1dHRvbi1jb250cm9sJyB9KVxyXG5leHBvcnQgY2xhc3MgUmFkaW9CdXR0b25GaWVsZCBpbXBsZW1lbnRzIENvbnRyb2xDb21wb25lbnQsIE9uSW5pdCB7XHJcbiAgbW9kZTogVmlld01vZGU7XHJcbiAgaGludD86IHN0cmluZztcclxuICBsYWJlbD86IHN0cmluZztcclxuICBvcHRpb25zPzogeyBrZXk6IHN0cmluZzsgdmFsdWU6IExvY2FsaXplZFN0cmluZyB9W107XHJcbiAgZGF0YVR5cGU/OiBzdHJpbmc7XHJcbiAgcmVxdWlyZWQ/OiBib29sZWFuO1xyXG4gIEBWaWV3Q2hpbGQoTWF0UmFkaW9CdXR0b24pIGlucHV0OiBNYXRSYWRpb0J1dHRvbjtcclxuICByZWFkb25seSBjb250cm9sID0gbmV3IEZvcm1Db250cm9sKGZhbHNlKTtcclxuICBmb2N1cygpIHsgdGhpcy5pbnB1dC5mb2N1cygpOyB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlcXVpcmVkICYmIHRoaXMuY29udHJvbC5hZGRWYWxpZGF0b3JzKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xyXG4gICAgdGhpcy5kYXRhVHlwZSAmJiB0aGlzLl9kcy5hbGwodGhpcy5kYXRhVHlwZSkuc3Vic2NyaWJlKHYgPT4gdGhpcy5vcHRpb25zID0gdik7XHJcbiAgfVxyXG4gIG9wdGlvbk9mKHZhbHVlKSB7XHJcbiAgICB0aGlzLm9wdGlvbnMuZmluZChvID0+IG8ua2V5ID09PSB2YWx1ZSk/LnZhbHVlO1xyXG4gIH1cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9kczogRGF0YXNvdXJjZVNlcnZpY2UpIHtcclxuICB9XHJcbn1cclxuIiwiPGRpdiAqbmdJZj1cIm1vZGUgPT09ICdjb21wb3NlJzsgZWxzZSB2aWV3XCI+XHJcbiAgPG1hdC1oaW50ICpuZ0lmPVwiaGludFwiPiB7eyBoaW50fGxvY2FsaXplZFN0cmluZyB9fTwvbWF0LWhpbnQ+XHJcbiAgPG1hdC1sYWJlbD57e2xhYmVsfGxvY2FsaXplZFN0cmluZ319PC9tYXQtbGFiZWw+XHJcbiAgPG1hdC1yYWRpby1ncm91cCBbZm9ybUNvbnRyb2xdPWNvbnRyb2w+XHJcbiAgICA8bWF0LXJhZGlvLWJ1dHRvbiAqbmdGb3I9XCJsZXQgbyBvZiBvcHRpb25zXCIgW3ZhbHVlXT1cIm8ua2V5XCI+XHJcbiAgICAgIHt7by52YWx1ZXxsb2NhbGl6ZWRTdHJpbmd9fVxyXG4gICAgPC9tYXQtcmFkaW8tYnV0dG9uPlxyXG4gIDwvbWF0LXJhZGlvLWdyb3VwPlxyXG4gIDxtYXQtZXJyb3IgKm5nSWY9XCJjb250cm9sLmhhc0Vycm9yKCdyZXF1aXJlZCcpXCIgW2lubmVySFRNTF09XCInUmVxdWlyZWRFcnInfHRyYW5zbGF0ZToobGFiZWx8fG5hbWUpXCI+PC9tYXQtZXJyb3I+XHJcbjwvZGl2PlxyXG48bmctdGVtcGxhdGUgI3ZpZXc+XHJcbiAgPHNwYW4+XHJcbiAgICB7e29wdGlvbk9mKGNvbnRyb2wudmFsdWUpfGxvY2FsaXplZFN0cmluZ319XHJcbiAgPC9zcGFuPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tYnV0dG9uLmZpZWxkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb3JlL2ZpZWxkcy9yYWRpby1idXR0b24uZmllbGQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2NvcmUvZmllbGRzL3JhZGlvLWJ1dHRvbi5maWVsZC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXpELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7O0FBTzlDLElBQU0sZ0JBQWdCLEdBQXRCLE1BQU0sZ0JBQWlCLFNBQVEsbUJBQW1CO0lBQWxEOztRQUtJLFlBQU8sR0FBRyxJQUFJLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUUzQztJQURDLEtBQUssS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQzs7NkdBTnBCLGdCQUFnQjtpR0FBaEIsZ0JBQWdCLDhIQUloQixjQUFjLHVFQ2hCM0IsNG9CQWVBO0FESGEsZ0JBQWdCO0lBRDVCLE1BQU0sQ0FBQyxFQUFFLFFBQVEsRUFBRSxzQkFBc0IsRUFBRSxDQUFDO0dBQ2hDLGdCQUFnQixDQU81QjtTQVBZLGdCQUFnQjsyRkFBaEIsZ0JBQWdCO2tCQUw1QixTQUFTOzJCQUVGLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRTs4QkFPRyxLQUFLO3NCQUEvQixTQUFTO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRSYWRpb0J1dHRvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3JhZGlvJztcclxuaW1wb3J0IHsgQ29udHJvbENvbXBvbmVudCwgVmlld01vZGUgfSBmcm9tICcuLi9iYXNlJztcclxuaW1wb3J0IHsgQml6RG9jIH0gZnJvbSAnLi4vZGVjb3JhdG9ycyc7XHJcbmltcG9ydCB7IE9wdGlvbnNDb250cm9sRmllbGQgfSBmcm9tICcuL29wdGlvbnMuYmFzZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZVVybDogJ3JhZGlvLWJ1dHRvbi5maWVsZC5odG1sJyxcclxuICBob3N0OiB7IGNsYXNzOiAnZmllbGQnIH1cclxufSlcclxuQEJpekRvYyh7IHNlbGVjdG9yOiAncmFkaW8tYnV0dG9uLWNvbnRyb2wnIH0pXHJcbmV4cG9ydCBjbGFzcyBSYWRpb0J1dHRvbkZpZWxkIGV4dGVuZHMgT3B0aW9uc0NvbnRyb2xGaWVsZCBpbXBsZW1lbnRzIENvbnRyb2xDb21wb25lbnQsIE9uSW5pdCB7XHJcbiAgbW9kZTogVmlld01vZGU7XHJcbiAgaGludD86IHN0cmluZztcclxuICBsYWJlbD86IHN0cmluZztcclxuICBAVmlld0NoaWxkKE1hdFJhZGlvQnV0dG9uKSBpbnB1dDogTWF0UmFkaW9CdXR0b247XHJcbiAgcmVhZG9ubHkgY29udHJvbCA9IG5ldyBGb3JtQ29udHJvbChmYWxzZSk7XHJcbiAgZm9jdXMoKSB7IHRoaXMuaW5wdXQuZm9jdXMoKTsgfVxyXG59XHJcbiIsIjxkaXYgKm5nSWY9XCJtb2RlID09PSAnY29tcG9zZSc7IGVsc2Ugdmlld1wiPlxyXG4gIDxtYXQtaGludCAqbmdJZj1cImhpbnRcIj4ge3sgaGludHxsb2NhbGl6ZWRTdHJpbmcgfX08L21hdC1oaW50PlxyXG4gIDxtYXQtbGFiZWw+e3tsYWJlbHxsb2NhbGl6ZWRTdHJpbmd9fTwvbWF0LWxhYmVsPlxyXG4gIDxtYXQtcmFkaW8tZ3JvdXAgW2Zvcm1Db250cm9sXT1jb250cm9sPlxyXG4gICAgPG1hdC1yYWRpby1idXR0b24gKm5nRm9yPVwibGV0IG8gb2Ygb3B0aW9uc1wiIFt2YWx1ZV09XCJvLmtleVwiPlxyXG4gICAgICB7e28udmFsdWV8bG9jYWxpemVkU3RyaW5nfX1cclxuICAgIDwvbWF0LXJhZGlvLWJ1dHRvbj5cclxuICA8L21hdC1yYWRpby1ncm91cD5cclxuICA8bWF0LWVycm9yICpuZ0lmPVwiY29udHJvbC5oYXNFcnJvcigncmVxdWlyZWQnKVwiIFtpbm5lckhUTUxdPVwiJ1JlcXVpcmVkRXJyJ3x0cmFuc2xhdGU6KGxhYmVsfHxuYW1lKVwiPjwvbWF0LWVycm9yPlxyXG48L2Rpdj5cclxuPG5nLXRlbXBsYXRlICN2aWV3PlxyXG4gIDxzcGFuICpuZ0lmPVwiY29udHJvbC52YWx1ZVwiPlxyXG4gICAge3tvcHRpb25PZihjb250cm9sLnZhbHVlKXxsb2NhbGl6ZWRTdHJpbmd9fVxyXG4gIDwvc3Bhbj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
@@ -1,6 +1,7 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { Component } from '@angular/core';
3
3
  import { BizDoc } from '../decorators';
4
+ import { OptionsControlDesigner } from './options.base';
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "../session.service";
6
7
  import * as i2 from "@angular/forms";
@@ -11,38 +12,38 @@ import * as i6 from "@angular/material/select";
11
12
  import * as i7 from "@angular/material/checkbox";
12
13
  import * as i8 from "../../admin/core/localized-string.component";
13
14
  import * as i9 from "./options.component";
14
- import * as i10 from "../pipes/translate.pipe";
15
- let SelectControlDesigner = class SelectControlDesigner {
16
- constructor(_session, _fb) {
17
- this._session = _session;
15
+ import * as i10 from "../pipes/localized-string.pipe";
16
+ import * as i11 from "../pipes/translate.pipe";
17
+ let SelectControlDesigner = class SelectControlDesigner extends OptionsControlDesigner {
18
+ constructor(session, _fb) {
19
+ super(session);
18
20
  this._fb = _fb;
19
21
  this.form = this._fb.group({
20
22
  label: null,
21
23
  placeholder: null,
22
24
  autocomplete: null,
23
25
  multiple: null,
24
- dataType: null,
26
+ dataType: this._fb.control(null, this._typeRequired),
25
27
  });
26
- this.datatypes = this._session.profile.types;
27
28
  }
28
29
  onBind(model) {
29
30
  this.model = model;
30
31
  }
31
32
  };
32
33
  SelectControlDesigner.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: SelectControlDesigner, deps: [{ token: i1.SessionService }, { token: i2.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
33
- SelectControlDesigner.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: SelectControlDesigner, selector: "ng-component", ngImport: i0, template: `
34
+ SelectControlDesigner.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: SelectControlDesigner, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
34
35
  <form autocomplete="off" [formGroup]="form" class="column">
35
36
  <bizdoc-localized-string [placeholder]="'Label'|translate" formControlName="label"></bizdoc-localized-string>
36
37
  <mat-form-field>
37
38
  <mat-label>{{'DataType'|translate}}</mat-label>
38
- <mat-select formControlName="dataType" required>
39
- <mat-option *ngFor="let t of datatypes" [value]="t.name">{{t.title}}</mat-option>
39
+ <mat-select formControlName="dataType">
40
+ <mat-option *ngFor="let t of datatypes" [value]="t.name">{{t.title|localizedString}}</mat-option>
40
41
  </mat-select>
41
- <mat-error *ngIf="form.get('dataType').hasError('required')" [innerHTML]="'RequiredErr'|translate:'DataType'"></mat-error>
42
+ <mat-error *ngIf="form.get('dataType').hasError('required')" [innerHTML]="'RequiredErr'|translate:('DataType'|translate)"></mat-error>
42
43
  </mat-form-field>
43
44
  <bizdoc-design-options [form]="form" [model]="model"></bizdoc-design-options>
44
45
  <mat-checkbox formControlName="multiple">{{'Multiple'|translate}}</mat-checkbox>
45
- </form>`, isInline: true, 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: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i5.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "component", type: i6.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i7.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i8.LocalizedStringComponent, selector: "bizdoc-localized-string", inputs: ["class", "value", "placeholder", "required", "disabled", "maxlength"], outputs: ["valueChanges"] }, { kind: "component", type: i9.ControlOptionsComponent, selector: "bizdoc-design-options", inputs: ["form", "model"] }, { kind: "pipe", type: i10.TranslatePipe, name: "translate" }] });
46
+ </form>`, isInline: true, 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: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i5.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "component", type: i6.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i7.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i8.LocalizedStringComponent, selector: "bizdoc-localized-string", inputs: ["class", "value", "placeholder", "required", "disabled", "maxlength"], outputs: ["valueChanges"] }, { kind: "component", type: i9.ControlOptionsComponent, selector: "bizdoc-design-options", inputs: ["form", "model"] }, { kind: "pipe", type: i10.LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: i11.TranslatePipe, name: "translate" }] });
46
47
  SelectControlDesigner = __decorate([
47
48
  BizDoc({ selector: 'select-control-designer' })
48
49
  ], SelectControlDesigner);
@@ -55,14 +56,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImpor
55
56
  <bizdoc-localized-string [placeholder]="'Label'|translate" formControlName="label"></bizdoc-localized-string>
56
57
  <mat-form-field>
57
58
  <mat-label>{{'DataType'|translate}}</mat-label>
58
- <mat-select formControlName="dataType" required>
59
- <mat-option *ngFor="let t of datatypes" [value]="t.name">{{t.title}}</mat-option>
59
+ <mat-select formControlName="dataType">
60
+ <mat-option *ngFor="let t of datatypes" [value]="t.name">{{t.title|localizedString}}</mat-option>
60
61
  </mat-select>
61
- <mat-error *ngIf="form.get('dataType').hasError('required')" [innerHTML]="'RequiredErr'|translate:'DataType'"></mat-error>
62
+ <mat-error *ngIf="form.get('dataType').hasError('required')" [innerHTML]="'RequiredErr'|translate:('DataType'|translate)"></mat-error>
62
63
  </mat-form-field>
63
64
  <bizdoc-design-options [form]="form" [model]="model"></bizdoc-design-options>
64
65
  <mat-checkbox formControlName="multiple">{{'Multiple'|translate}}</mat-checkbox>
65
66
  </form>`
66
67
  }]
67
68
  }], ctorParameters: function () { return [{ type: i1.SessionService }, { type: i2.FormBuilder }]; } });
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmRlc2lnbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb3JlL2ZpZWxkcy9zZWxlY3QuZGVzaWduZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHMUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7Ozs7O0FBcUJoQyxJQUFNLHFCQUFxQixHQUEzQixNQUFNLHFCQUFxQjtJQVVoQyxZQUNVLFFBQXdCLEVBQ3hCLEdBQWdCO1FBRGhCLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBQ3hCLFFBQUcsR0FBSCxHQUFHLENBQWE7UUFYakIsU0FBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO1lBQzdCLEtBQUssRUFBRSxJQUFJO1lBQ1gsV0FBVyxFQUFFLElBQUk7WUFDakIsWUFBWSxFQUFFLElBQUk7WUFDbEIsUUFBUSxFQUFFLElBQUk7WUFDZCxRQUFRLEVBQUUsSUFBSTtTQUNmLENBQUMsQ0FBQztRQU1ELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQy9DLENBQUM7SUFDRCxNQUFNLENBQUUsS0FBa0I7UUFDeEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQzs7a0hBakJVLHFCQUFxQjtzR0FBckIscUJBQXFCLG9EQWhCdEI7Ozs7Ozs7Ozs7OztRQVlKO0FBSUsscUJBQXFCO0lBRGpDLE1BQU0sQ0FBQyxFQUFFLFFBQVEsRUFBRSx5QkFBeUIsRUFBRSxDQUFDO0dBQ25DLHFCQUFxQixDQWtCakM7U0FsQlkscUJBQXFCOzJGQUFyQixxQkFBcUI7a0JBakJqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7O1FBWUo7aUJBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IENvbnRyb2xEZXNpZ25lciB9IGZyb20gJy4uL2Jhc2UnO1xyXG5pbXBvcnQgeyBCaXpEb2MgfSBmcm9tICcuLi9kZWNvcmF0b3JzJztcclxuaW1wb3J0IHsgTG9jYWxpemVkU3RyaW5nLCBUeXBlIH0gZnJvbSAnLi4vbW9kZWxzJztcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuLi9zZXNzaW9uLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGU6IGBcclxuICAgPGZvcm0gYXV0b2NvbXBsZXRlPVwib2ZmXCIgW2Zvcm1Hcm91cF09XCJmb3JtXCIgY2xhc3M9XCJjb2x1bW5cIj5cclxuICAgICAgPGJpemRvYy1sb2NhbGl6ZWQtc3RyaW5nIFtwbGFjZWhvbGRlcl09XCInTGFiZWwnfHRyYW5zbGF0ZVwiIGZvcm1Db250cm9sTmFtZT1cImxhYmVsXCI+PC9iaXpkb2MtbG9jYWxpemVkLXN0cmluZz5cclxuICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgPG1hdC1sYWJlbD57eydEYXRhVHlwZSd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwiZGF0YVR5cGVcIiByZXF1aXJlZD5cclxuICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgdCBvZiBkYXRhdHlwZXNcIiBbdmFsdWVdPVwidC5uYW1lXCI+e3t0LnRpdGxlfX08L21hdC1vcHRpb24+XHJcbiAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm0uZ2V0KCdkYXRhVHlwZScpLmhhc0Vycm9yKCdyZXF1aXJlZCcpXCIgW2lubmVySFRNTF09XCInUmVxdWlyZWRFcnInfHRyYW5zbGF0ZTonRGF0YVR5cGUnXCI+PC9tYXQtZXJyb3I+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gIDxiaXpkb2MtZGVzaWduLW9wdGlvbnMgW2Zvcm1dPVwiZm9ybVwiIFttb2RlbF09XCJtb2RlbFwiPjwvYml6ZG9jLWRlc2lnbi1vcHRpb25zPlxyXG4gICAgICA8bWF0LWNoZWNrYm94IGZvcm1Db250cm9sTmFtZT1cIm11bHRpcGxlXCI+e3snTXVsdGlwbGUnfHRyYW5zbGF0ZX19PC9tYXQtY2hlY2tib3g+XHJcbjwvZm9ybT5gIH0pXHJcbi8vICAgICAgPG1hdC1jaGVja2JveCBmb3JtQ29udHJvbE5hbWU9XCJhdXRvY29tcGxldGVcIj57eydBdXRvY29tcGxldGUnfHRyYW5zbGF0ZX19PC9tYXQtY2hlY2tib3g+XHJcblxyXG5AQml6RG9jKHsgc2VsZWN0b3I6ICdzZWxlY3QtY29udHJvbC1kZXNpZ25lcicgfSlcclxuZXhwb3J0IGNsYXNzIFNlbGVjdENvbnRyb2xEZXNpZ25lciBpbXBsZW1lbnRzIENvbnRyb2xEZXNpZ25lcjxTZWxlY3RNb2RlbD4ge1xyXG4gIHJlYWRvbmx5IGZvcm0gPSB0aGlzLl9mYi5ncm91cCh7XHJcbiAgICBsYWJlbDogbnVsbCxcclxuICAgIHBsYWNlaG9sZGVyOiBudWxsLFxyXG4gICAgYXV0b2NvbXBsZXRlOiBudWxsLFxyXG4gICAgbXVsdGlwbGU6IG51bGwsXHJcbiAgICBkYXRhVHlwZTogbnVsbCxcclxuICB9KTtcclxuICByZWFkb25seSBkYXRhdHlwZXM6IFR5cGVbXTtcclxuICAgIG1vZGVsOiBTZWxlY3RNb2RlbDtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfZmI6IEZvcm1CdWlsZGVyKSB7XHJcbiAgICB0aGlzLmRhdGF0eXBlcyA9IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS50eXBlcztcclxuICB9XHJcbiAgb25CaW5kPyhtb2RlbDogU2VsZWN0TW9kZWwpIHtcclxuICAgIHRoaXMubW9kZWwgPSBtb2RlbDtcclxuICB9XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBTZWxlY3RNb2RlbCB7XHJcbiAgcmVxdWlyZWQ/OiBib29sZWFuO1xyXG4gIG11bHRpcGxlPzogYm9vbGVhbjtcclxuICBhdXRvY29tcGxldGU/OiBib29sZWFuO1xyXG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xyXG4gIGRhdGFUeXBlPzogc3RyaW5nO1xyXG4gIGxhYmVsPzogc3RyaW5nO1xyXG4gIG9wdGlvbnM/OiB7IGtleTogc3RyaW5nOyB2YWx1ZTogTG9jYWxpemVkU3RyaW5nIH1bXTtcclxufVxyXG4iXX0=
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmRlc2lnbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb3JlL2ZpZWxkcy9zZWxlY3QuZGVzaWduZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHMUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd2QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7OztBQW1CakQsSUFBTSxxQkFBcUIsR0FBM0IsTUFBTSxxQkFBc0IsU0FBUSxzQkFBc0I7SUFTL0QsWUFDRSxPQUF1QixFQUNmLEdBQWdCO1FBQ3hCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQURQLFFBQUcsR0FBSCxHQUFHLENBQWE7UUFWakIsU0FBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO1lBQzdCLEtBQUssRUFBRSxJQUFJO1lBQ1gsV0FBVyxFQUFFLElBQUk7WUFDakIsWUFBWSxFQUFFLElBQUk7WUFDbEIsUUFBUSxFQUFFLElBQUk7WUFDZCxRQUFRLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUM7U0FDckQsQ0FBQyxDQUFDO0lBTUgsQ0FBQztJQUNELE1BQU0sQ0FBRSxLQUFrQjtRQUN4QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDOztrSEFoQlUscUJBQXFCO3NHQUFyQixxQkFBcUIsMkVBaEJ0Qjs7Ozs7Ozs7Ozs7O1FBWUo7QUFJSyxxQkFBcUI7SUFEakMsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFLHlCQUF5QixFQUFFLENBQUM7R0FDbkMscUJBQXFCLENBaUJqQztTQWpCWSxxQkFBcUI7MkZBQXJCLHFCQUFxQjtrQkFqQmpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7UUFZSjtpQkFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQ29udHJvbERlc2lnbmVyIH0gZnJvbSAnLi4vYmFzZSc7XHJcbmltcG9ydCB7IEJpekRvYyB9IGZyb20gJy4uL2RlY29yYXRvcnMnO1xyXG5pbXBvcnQgeyBMb2NhbGl6ZWRTdHJpbmcgfSBmcm9tICcuLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uL3Nlc3Npb24uc2VydmljZSc7XHJcbmltcG9ydCB7IE9wdGlvbnNDb250cm9sRGVzaWduZXIgfSBmcm9tICcuL29wdGlvbnMuYmFzZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZTogYFxyXG4gICA8Zm9ybSBhdXRvY29tcGxldGU9XCJvZmZcIiBbZm9ybUdyb3VwXT1cImZvcm1cIiBjbGFzcz1cImNvbHVtblwiPlxyXG4gICAgICA8Yml6ZG9jLWxvY2FsaXplZC1zdHJpbmcgW3BsYWNlaG9sZGVyXT1cIidMYWJlbCd8dHJhbnNsYXRlXCIgZm9ybUNvbnRyb2xOYW1lPVwibGFiZWxcIj48L2JpemRvYy1sb2NhbGl6ZWQtc3RyaW5nPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8bWF0LWxhYmVsPnt7J0RhdGFUeXBlJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJkYXRhVHlwZVwiPlxyXG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCB0IG9mIGRhdGF0eXBlc1wiIFt2YWx1ZV09XCJ0Lm5hbWVcIj57e3QudGl0bGV8bG9jYWxpemVkU3RyaW5nfX08L21hdC1vcHRpb24+XHJcbiAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm0uZ2V0KCdkYXRhVHlwZScpLmhhc0Vycm9yKCdyZXF1aXJlZCcpXCIgW2lubmVySFRNTF09XCInUmVxdWlyZWRFcnInfHRyYW5zbGF0ZTooJ0RhdGFUeXBlJ3x0cmFuc2xhdGUpXCI+PC9tYXQtZXJyb3I+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gIDxiaXpkb2MtZGVzaWduLW9wdGlvbnMgW2Zvcm1dPVwiZm9ybVwiIFttb2RlbF09XCJtb2RlbFwiPjwvYml6ZG9jLWRlc2lnbi1vcHRpb25zPlxyXG4gICAgICA8bWF0LWNoZWNrYm94IGZvcm1Db250cm9sTmFtZT1cIm11bHRpcGxlXCI+e3snTXVsdGlwbGUnfHRyYW5zbGF0ZX19PC9tYXQtY2hlY2tib3g+XHJcbjwvZm9ybT5gIH0pXHJcbi8vICAgICAgPG1hdC1jaGVja2JveCBmb3JtQ29udHJvbE5hbWU9XCJhdXRvY29tcGxldGVcIj57eydBdXRvY29tcGxldGUnfHRyYW5zbGF0ZX19PC9tYXQtY2hlY2tib3g+XHJcblxyXG5AQml6RG9jKHsgc2VsZWN0b3I6ICdzZWxlY3QtY29udHJvbC1kZXNpZ25lcicgfSlcclxuZXhwb3J0IGNsYXNzIFNlbGVjdENvbnRyb2xEZXNpZ25lciBleHRlbmRzIE9wdGlvbnNDb250cm9sRGVzaWduZXIgaW1wbGVtZW50cyBDb250cm9sRGVzaWduZXI8U2VsZWN0TW9kZWw+IHtcclxuICByZWFkb25seSBmb3JtID0gdGhpcy5fZmIuZ3JvdXAoe1xyXG4gICAgbGFiZWw6IG51bGwsXHJcbiAgICBwbGFjZWhvbGRlcjogbnVsbCxcclxuICAgIGF1dG9jb21wbGV0ZTogbnVsbCxcclxuICAgIG11bHRpcGxlOiBudWxsLFxyXG4gICAgZGF0YVR5cGU6IHRoaXMuX2ZiLmNvbnRyb2wobnVsbCwgdGhpcy5fdHlwZVJlcXVpcmVkKSxcclxuICB9KTtcclxuICBtb2RlbDogU2VsZWN0TW9kZWw7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBzZXNzaW9uOiBTZXNzaW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgX2ZiOiBGb3JtQnVpbGRlcikge1xyXG4gICAgc3VwZXIoc2Vzc2lvbik7XHJcbiAgfVxyXG4gIG9uQmluZD8obW9kZWw6IFNlbGVjdE1vZGVsKSB7XHJcbiAgICB0aGlzLm1vZGVsID0gbW9kZWw7XHJcbiAgfVxyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgU2VsZWN0TW9kZWwge1xyXG4gIHJlcXVpcmVkPzogYm9vbGVhbjtcclxuICBtdWx0aXBsZT86IGJvb2xlYW47XHJcbiAgYXV0b2NvbXBsZXRlPzogYm9vbGVhbjtcclxuICBwbGFjZWhvbGRlcj86IHN0cmluZztcclxuICBkYXRhVHlwZT86IHN0cmluZztcclxuICBsYWJlbD86IHN0cmluZztcclxuICBvcHRpb25zPzogeyBrZXk6IHN0cmluZzsgdmFsdWU6IExvY2FsaXplZFN0cmluZyB9W107XHJcbn1cclxuIl19