@codetectonics/mantle 0.0.7 → 1.0.0

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 (128) hide show
  1. package/bundles/codetectonics-mantle.umd.js +7870 -6899
  2. package/bundles/codetectonics-mantle.umd.js.map +1 -1
  3. package/esm2015/lib/components/dashboard/containers/plain-dashboard-container/plain-dashboard-container.component.js +1 -1
  4. package/esm2015/lib/components/dashboard/dashboard-card/dashboard-card.component.js +3 -2
  5. package/esm2015/lib/components/dashboard/widgets/dashboard-info-card/dashboard-info-card.component.js +1 -1
  6. package/esm2015/lib/components/dashboard/widgets/dashboard-table/dashboard-table.component.js +6 -2
  7. package/esm2015/lib/components/dashboard/widgets/dynamic-chart/dynamic-chart.component.js +9 -2
  8. package/esm2015/lib/components/dashboard/widgets/dynamic-widget-display/dynamic-widget-display.component.js +2 -2
  9. package/esm2015/lib/components/details/dialog-details/dialog-details.component.js +11 -4
  10. package/esm2015/lib/components/details/dialog-nested-details/dialog-nested-details.component.js +3 -2
  11. package/esm2015/lib/components/details/fields/dynamic-attribute-display/dynamic-attribute-display.component.js +5 -4
  12. package/esm2015/lib/components/details/fields/icon-attribute-display/icon-attribute-display.component.js +22 -0
  13. package/esm2015/lib/components/details/sections/dynamic-details-section/dynamic-details-section.component.js +7 -3
  14. package/esm2015/lib/components/details/sections/grid-details-section/grid-details-section.component.js +17 -5
  15. package/esm2015/lib/components/details/sections/roster-shift-list-details-section/roster-shift-list-details-section.component.js +21 -0
  16. package/esm2015/lib/components/details/sections/table-details-section/table-details-section.component.js +7 -2
  17. package/esm2015/lib/components/form/dialog-form/dialog-form.component.js +18 -5
  18. package/esm2015/lib/components/form/dialog-nested-form/dialog-nested-form.component.js +13 -3
  19. package/esm2015/lib/components/form/dynamic-form/dynamic-form.component.js +6 -2
  20. package/esm2015/lib/components/form/fields/autocomplete-input/autocomplete-input.component.js +3 -2
  21. package/esm2015/lib/components/form/fields/chip-input/chip-input.component.js +3 -2
  22. package/esm2015/lib/components/form/fields/datepicker/datepicker.component.js +3 -2
  23. package/esm2015/lib/components/form/fields/datetimepicker/datetimepicker.component.js +3 -2
  24. package/esm2015/lib/components/form/fields/dropdown/dropdown.component.js +3 -2
  25. package/esm2015/lib/components/form/fields/dynamic-form-field/dynamic-form-field.component.js +15 -11
  26. package/esm2015/lib/components/form/fields/filepicker/filepicker.component.js +3 -2
  27. package/esm2015/lib/components/form/fields/image-cropper/image-cropper.component.js +3 -2
  28. package/esm2015/lib/components/form/fields/imagepicker/imagepicker.component.js +3 -2
  29. package/esm2015/lib/components/form/fields/markdown-input/markdown-input.component.js +3 -2
  30. package/esm2015/lib/components/form/fields/number-input/number-input.component.js +3 -2
  31. package/esm2015/lib/components/form/fields/password-input/password-input.component.js +3 -2
  32. package/esm2015/lib/components/form/fields/text-input/text-input.component.js +3 -2
  33. package/esm2015/lib/components/form/fields/textarea/textarea.component.js +3 -2
  34. package/esm2015/lib/components/form/fields/time-input/time-input.component.js +80 -0
  35. package/esm2015/lib/components/form/sections/dynamic-form-section/dynamic-form-section.component.js +15 -7
  36. package/esm2015/lib/components/form/sections/grid-form-section/grid-form-section.component.js +11 -2
  37. package/esm2015/lib/components/form/sections/roster-shift-list-form-section/roster-shift-list-form-section.component.js +69 -0
  38. package/esm2015/lib/components/form/sections/table-form-section/table-form-section.component.js +13 -3
  39. package/esm2015/lib/components/navigation/nav-tree/nav-tree.component.js +5 -4
  40. package/esm2015/lib/components/navigation/paginator/custom-paginator-intl.js +33 -0
  41. package/esm2015/lib/components/pages/dashboard-page/dashboard-page.component.js +4 -3
  42. package/esm2015/lib/components/pages/detail-page/detail-page.component.js +25 -19
  43. package/esm2015/lib/components/pages/documents-page/documents-page.component.js +4 -3
  44. package/esm2015/lib/components/pages/export-page/export-page.component.js +4 -3
  45. package/esm2015/lib/components/pages/form-page/form-page.component.js +7 -6
  46. package/esm2015/lib/components/pages/layout-editor-page/layout-editor-page.component.js +12 -8
  47. package/esm2015/lib/components/pages/list-page/list-page-datasource.js +2 -2
  48. package/esm2015/lib/components/pages/list-page/list-page.component.js +22 -11
  49. package/esm2015/lib/components/pages/roster-page/roster-gantt.data.js +50 -0
  50. package/esm2015/lib/components/pages/roster-page/roster-page.component.js +134 -0
  51. package/esm2015/lib/components/pages/tabbed-page/tabbed-page.component.js +3 -2
  52. package/esm2015/lib/components/titles/page-title/page-title.component.js +11 -9
  53. package/esm2015/lib/components/titles/section-title/section-title.component.js +3 -2
  54. package/esm2015/lib/components/widgets/delete-confirmation-dialog/delete-confirmation-dialog.component.js +3 -2
  55. package/esm2015/lib/components/widgets/draggable-table/draggable-table-datasource.js +31 -0
  56. package/esm2015/lib/components/widgets/draggable-table/draggable-table.component.js +79 -0
  57. package/esm2015/lib/components/widgets/dynamic-table/dynamic-table.component.js +4 -5
  58. package/esm2015/lib/components/widgets/file-preview-dialog/file-preview-dialog.component.js +3 -2
  59. package/esm2015/lib/components/widgets/qr-code-dialog/qr-code-dialog.component.js +37 -0
  60. package/esm2015/lib/components/widgets/save-confirmation-dialog/save-confirmation-dialog.component.js +4 -3
  61. package/esm2015/lib/components/widgets/search-panel/search-panel.component.js +3 -2
  62. package/esm2015/lib/components/widgets/snackbar/snackbar.component.js +3 -2
  63. package/esm2015/lib/data-structures/dynamic-layout.structure.js +1 -1
  64. package/esm2015/lib/guards/feature.guard.js +2 -2
  65. package/esm2015/lib/language-packs/en.data.js +62 -0
  66. package/esm2015/lib/language-packs/ms.data.js +62 -0
  67. package/esm2015/lib/mantle.module.js +49 -4
  68. package/esm2015/lib/material.module.js +12 -2
  69. package/esm2015/lib/services/confirmation.service.js +2 -2
  70. package/esm2015/lib/services/current-user.service.js +55 -21
  71. package/esm2015/lib/services/data-broadcast.service.js +18 -0
  72. package/esm2015/lib/services/dynamic-form.service.js +2 -1
  73. package/esm2015/lib/services/feature-config.service.js +34 -12
  74. package/esm2015/lib/services/interfaces/detail-page.service.js +1 -1
  75. package/esm2015/lib/services/interfaces/form-page.service.js +1 -1
  76. package/esm2015/lib/services/interfaces/list-page.service.js +1 -1
  77. package/esm2015/lib/services/interfaces/roster-page.service.js +2 -0
  78. package/esm2015/lib/services/interfaces/roster-schedule.service.js +2 -0
  79. package/esm2015/lib/services/locale.service.js +75 -0
  80. package/esm2015/lib/services/object.service.js +9 -1
  81. package/esm2015/lib/services/password-check.service.js +10 -8
  82. package/esm2015/public-api.js +15 -1
  83. package/fesm2015/codetectonics-mantle.js +1158 -255
  84. package/fesm2015/codetectonics-mantle.js.map +1 -1
  85. package/lib/components/dashboard/widgets/dashboard-table/dashboard-table.component.d.ts +2 -1
  86. package/lib/components/details/dialog-details/dialog-details.component.d.ts +1 -0
  87. package/lib/components/details/fields/icon-attribute-display/icon-attribute-display.component.d.ts +6 -0
  88. package/lib/components/details/sections/dynamic-details-section/dynamic-details-section.component.d.ts +2 -1
  89. package/lib/components/details/sections/roster-shift-list-details-section/roster-shift-list-details-section.component.d.ts +9 -0
  90. package/lib/components/details/sections/table-details-section/table-details-section.component.d.ts +3 -1
  91. package/lib/components/form/dialog-form/dialog-form.component.d.ts +5 -1
  92. package/lib/components/form/dialog-nested-form/dialog-nested-form.component.d.ts +3 -0
  93. package/lib/components/form/fields/time-input/time-input.component.d.ts +22 -0
  94. package/lib/components/form/sections/dynamic-form-section/dynamic-form-section.component.d.ts +4 -1
  95. package/lib/components/form/sections/roster-shift-list-form-section/roster-shift-list-form-section.component.d.ts +23 -0
  96. package/lib/components/form/sections/table-form-section/table-form-section.component.d.ts +3 -1
  97. package/lib/components/navigation/nav-tree/nav-tree.component.d.ts +2 -2
  98. package/lib/components/navigation/paginator/custom-paginator-intl.d.ts +12 -0
  99. package/lib/components/pages/detail-page/detail-page.component.d.ts +4 -3
  100. package/lib/components/pages/layout-editor-page/layout-editor-page.component.d.ts +2 -1
  101. package/lib/components/pages/list-page/list-page.component.d.ts +4 -1
  102. package/lib/components/pages/roster-page/roster-gantt.data.d.ts +1 -0
  103. package/lib/components/pages/roster-page/roster-page.component.d.ts +40 -0
  104. package/lib/components/titles/page-title/page-title.component.d.ts +3 -1
  105. package/lib/components/widgets/delete-confirmation-dialog/delete-confirmation-dialog.component.d.ts +1 -1
  106. package/lib/components/widgets/draggable-table/draggable-table-datasource.d.ts +23 -0
  107. package/lib/components/widgets/draggable-table/draggable-table.component.d.ts +24 -0
  108. package/lib/components/widgets/qr-code-dialog/qr-code-dialog.component.d.ts +18 -0
  109. package/lib/components/widgets/save-confirmation-dialog/save-confirmation-dialog.component.d.ts +0 -2
  110. package/lib/data-structures/dynamic-layout.structure.d.ts +13 -0
  111. package/lib/language-packs/en.data.d.ts +61 -0
  112. package/lib/language-packs/ms.data.d.ts +61 -0
  113. package/lib/mantle.module.d.ts +104 -94
  114. package/lib/material.module.d.ts +12 -11
  115. package/lib/services/current-user.service.d.ts +14 -7
  116. package/lib/services/data-broadcast.service.d.ts +8 -0
  117. package/lib/services/dynamic-form.service.d.ts +2 -0
  118. package/lib/services/feature-config.service.d.ts +15 -3
  119. package/lib/services/interfaces/detail-page.service.d.ts +4 -2
  120. package/lib/services/interfaces/form-page.service.d.ts +11 -3
  121. package/lib/services/interfaces/list-page.service.d.ts +14 -1
  122. package/lib/services/interfaces/roster-page.service.d.ts +20 -0
  123. package/lib/services/interfaces/roster-schedule.service.d.ts +22 -0
  124. package/lib/services/locale.service.d.ts +21 -0
  125. package/lib/services/object.service.d.ts +2 -0
  126. package/lib/services/password-check.service.d.ts +3 -1
  127. package/package.json +3 -1
  128. package/public-api.d.ts +14 -0
@@ -5,6 +5,7 @@ import * as i1 from "@angular/material/form-field";
5
5
  import * as i2 from "@angular/material/input";
6
6
  import * as i3 from "@angular/forms";
7
7
  import * as i4 from "@angular/common";
8
+ import * as i5 from "@ngx-translate/core";
8
9
  export class TextInputComponent {
9
10
  constructor() {
10
11
  this.value = null;
@@ -28,7 +29,7 @@ TextInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
28
29
  useExisting: forwardRef(() => TextInputComponent),
29
30
  multi: true
30
31
  }
31
- ], ngImport: i0, template: "<mat-form-field [class.mat-form-field-invalid]=\"error\">\n <mat-label>{{ label }}</mat-label>\n <input matInput\n type=\"text\"\n [(ngModel)]=\"value\"\n (keyup)=\"onValueChanged($event)\"\n (change)=\"onValueChanged($event)\"\n [required]=\"required\"\n [disabled]=\"disable\"\n autocomplete=\"off\">\n\n <mat-hint *ngIf=\"error\" class=\"error-message\">{{ error }}</mat-hint>\n</mat-form-field>\n", styles: [""], components: [{ type: i1.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }], directives: [{ type: i1.MatLabel, selector: "mat-label" }, { type: i2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["id", "disabled", "required", "type", "value", "readonly", "placeholder", "errorStateMatcher", "aria-describedby"], exportAs: ["matInput"] }, { type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }] });
32
+ ], ngImport: i0, template: "<mat-form-field [class.mat-form-field-invalid]=\"error\">\n <mat-label>{{ label | translate }}</mat-label>\n <input matInput\n type=\"text\"\n [(ngModel)]=\"value\"\n (keyup)=\"onValueChanged($event)\"\n (change)=\"onValueChanged($event)\"\n [required]=\"required\"\n [disabled]=\"disable\"\n autocomplete=\"off\">\n\n <mat-hint *ngIf=\"error\" class=\"error-message\">{{ error }}</mat-hint>\n</mat-form-field>\n", styles: [""], components: [{ type: i1.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }], directives: [{ type: i1.MatLabel, selector: "mat-label" }, { type: i2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["id", "disabled", "required", "type", "value", "readonly", "placeholder", "errorStateMatcher", "aria-describedby"], exportAs: ["matInput"] }, { type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }], pipes: { "translate": i5.TranslatePipe } });
32
33
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: TextInputComponent, decorators: [{
33
34
  type: Component,
34
35
  args: [{
@@ -52,4 +53,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImpor
52
53
  }], error: [{
53
54
  type: Input
54
55
  }] } });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYW50bGUvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vZmllbGRzL3RleHQtaW5wdXQvdGV4dC1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYW50bGUvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vZmllbGRzL3RleHQtaW5wdXQvdGV4dC1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7QUFjekUsTUFBTSxPQUFPLGtCQUFrQjtJQVM3QjtRQUZPLFVBQUssR0FBUSxJQUFJLENBQUM7UUFJekIsYUFBUSxHQUFHLENBQUMsUUFBZ0IsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBR3JDLGNBQVMsR0FBRyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFMTixDQUFDO0lBR2pCLGdCQUFnQixDQUFDLEVBQThCLElBQVUsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRzlFLGlCQUFpQixDQUFDLEVBQWMsSUFBVSxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFaEUsVUFBVSxDQUFDLFFBQWE7UUFDdEIsSUFBSSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUM7UUFDdEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsY0FBYyxDQUFDLEtBQVU7UUFDdkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUIsQ0FBQzs7K0dBeEJVLGtCQUFrQjttR0FBbEIsa0JBQWtCLGtJQVJsQjtRQUNUO1lBQ0UsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGtCQUFrQixDQUFDO1lBQ2pELEtBQUssRUFBRSxJQUFJO1NBQ1o7S0FDRiwwQkNiSCx3YkFhQTsyRkRFYSxrQkFBa0I7a0JBWjlCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsV0FBVyxFQUFFLDZCQUE2QjtvQkFDMUMsU0FBUyxFQUFFLENBQUMsNkJBQTZCLENBQUM7b0JBQzFDLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxtQkFBbUIsQ0FBQzs0QkFDakQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7aUJBQ0Y7MEVBR1UsS0FBSztzQkFBYixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWFudGxlLXRleHQtaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGV4dC1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RleHQtaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUZXh0SW5wdXRDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgVGV4dElucHV0Q29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuXG4gIEBJbnB1dCgpIGxhYmVsITogc3RyaW5nO1xuICBASW5wdXQoKSBkaXNhYmxlITogYm9vbGVhbjtcbiAgQElucHV0KCkgcmVxdWlyZWQhOiBib29sZWFuO1xuICBASW5wdXQoKSBlcnJvcjogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyB2YWx1ZTogYW55ID0gbnVsbDtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIG9uQ2hhbmdlID0gKG5ld1ZhbHVlOiBzdHJpbmcpID0+IHsgfTtcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKG5ld1ZhbHVlOiBzdHJpbmcpID0+IHZvaWQpOiB2b2lkIHsgdGhpcy5vbkNoYW5nZSA9IGZuOyB9XG5cbiAgb25Ub3VjaGVkID0gKCkgPT4geyB9O1xuICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQgeyB0aGlzLm9uVG91Y2hlZCA9IGZuOyB9XG5cbiAgd3JpdGVWYWx1ZShuZXdWYWx1ZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IG5ld1ZhbHVlO1xuICAgIHRoaXMub25DaGFuZ2UobmV3VmFsdWUpO1xuICB9XG5cbiAgb25WYWx1ZUNoYW5nZWQoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XG4gIH1cbn1cbiIsIjxtYXQtZm9ybS1maWVsZCBbY2xhc3MubWF0LWZvcm0tZmllbGQtaW52YWxpZF09XCJlcnJvclwiPlxuICA8bWF0LWxhYmVsPnt7IGxhYmVsIH19PC9tYXQtbGFiZWw+XG4gIDxpbnB1dCBtYXRJbnB1dFxuICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXG4gICAgICAoa2V5dXApPVwib25WYWx1ZUNoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAoY2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2VkKCRldmVudClcIlxuICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlXCJcbiAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiPlxuXG4gIDxtYXQtaGludCAqbmdJZj1cImVycm9yXCIgY2xhc3M9XCJlcnJvci1tZXNzYWdlXCI+e3sgZXJyb3IgfX08L21hdC1oaW50PlxuPC9tYXQtZm9ybS1maWVsZD5cbiJdfQ==
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYW50bGUvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vZmllbGRzL3RleHQtaW5wdXQvdGV4dC1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYW50bGUvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vZmllbGRzL3RleHQtaW5wdXQvdGV4dC1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7O0FBY3pFLE1BQU0sT0FBTyxrQkFBa0I7SUFTN0I7UUFGTyxVQUFLLEdBQVEsSUFBSSxDQUFDO1FBSXpCLGFBQVEsR0FBRyxDQUFDLFFBQWdCLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUdyQyxjQUFTLEdBQUcsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBTE4sQ0FBQztJQUdqQixnQkFBZ0IsQ0FBQyxFQUE4QixJQUFVLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUc5RSxpQkFBaUIsQ0FBQyxFQUFjLElBQVUsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRWhFLFVBQVUsQ0FBQyxRQUFhO1FBQ3RCLElBQUksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFVO1FBQ3ZCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7OytHQXhCVSxrQkFBa0I7bUdBQWxCLGtCQUFrQixrSUFSbEI7UUFDVDtZQUNFLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztZQUNqRCxLQUFLLEVBQUUsSUFBSTtTQUNaO0tBQ0YsMEJDYkgsb2NBYUE7MkZERWEsa0JBQWtCO2tCQVo5QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFdBQVcsRUFBRSw2QkFBNkI7b0JBQzFDLFNBQVMsRUFBRSxDQUFDLDZCQUE2QixDQUFDO29CQUMxQyxTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsbUJBQW1CLENBQUM7NEJBQ2pELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO2lCQUNGOzBFQUdVLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21hbnRsZS10ZXh0LWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RleHQtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90ZXh0LWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVGV4dElucHV0Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFRleHRJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcblxuICBASW5wdXQoKSBsYWJlbCE6IHN0cmluZztcbiAgQElucHV0KCkgZGlzYWJsZSE6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHJlcXVpcmVkITogYm9vbGVhbjtcbiAgQElucHV0KCkgZXJyb3I6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgdmFsdWU6IGFueSA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBvbkNoYW5nZSA9IChuZXdWYWx1ZTogc3RyaW5nKSA9PiB7IH07XG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IChuZXdWYWx1ZTogc3RyaW5nKSA9PiB2b2lkKTogdm9pZCB7IHRoaXMub25DaGFuZ2UgPSBmbjsgfVxuXG4gIG9uVG91Y2hlZCA9ICgpID0+IHsgfTtcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHsgdGhpcy5vblRvdWNoZWQgPSBmbjsgfVxuXG4gIHdyaXRlVmFsdWUobmV3VmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSBuZXdWYWx1ZTtcbiAgICB0aGlzLm9uQ2hhbmdlKG5ld1ZhbHVlKTtcbiAgfVxuXG4gIG9uVmFsdWVDaGFuZ2VkKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xuICB9XG59XG4iLCI8bWF0LWZvcm0tZmllbGQgW2NsYXNzLm1hdC1mb3JtLWZpZWxkLWludmFsaWRdPVwiZXJyb3JcIj5cbiAgPG1hdC1sYWJlbD57eyBsYWJlbCB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICA8aW5wdXQgbWF0SW5wdXRcbiAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxuICAgICAgKGtleXVwKT1cIm9uVmFsdWVDaGFuZ2VkKCRldmVudClcIlxuICAgICAgKGNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZVwiXG4gICAgICBhdXRvY29tcGxldGU9XCJvZmZcIj5cblxuICA8bWF0LWhpbnQgKm5nSWY9XCJlcnJvclwiIGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiPnt7IGVycm9yIH19PC9tYXQtaGludD5cbjwvbWF0LWZvcm0tZmllbGQ+XG4iXX0=
@@ -5,6 +5,7 @@ import * as i1 from "@angular/material/form-field";
5
5
  import * as i2 from "@angular/material/input";
6
6
  import * as i3 from "@angular/forms";
7
7
  import * as i4 from "@angular/common";
8
+ import * as i5 from "@ngx-translate/core";
8
9
  export class TextareaComponent {
9
10
  constructor() {
10
11
  this.rows = 1;
@@ -29,7 +30,7 @@ TextareaComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", vers
29
30
  useExisting: forwardRef(() => TextareaComponent),
30
31
  multi: true
31
32
  }
32
- ], ngImport: i0, template: "<mat-form-field [class.mat-form-field-invalid]=\"error\">\n <mat-label>{{ label }}</mat-label>\n <textarea matInput\n [rows]=\"rows\"\n [(ngModel)]=\"value\"\n (keyup)=\"onValueChanged($event)\"\n (change)=\"onValueChanged($event)\"\n [required]=\"required\"\n [disabled]=\"disable\"\n autocomplete=\"off\">\n </textarea>\n\n <mat-hint *ngIf=\"error\" class=\"error-message\">{{ error }}</mat-hint>\n</mat-form-field>\n", styles: ["textarea{resize:none}\n"], components: [{ type: i1.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }], directives: [{ type: i1.MatLabel, selector: "mat-label" }, { type: i2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["id", "disabled", "required", "type", "value", "readonly", "placeholder", "errorStateMatcher", "aria-describedby"], exportAs: ["matInput"] }, { type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }] });
33
+ ], ngImport: i0, template: "<mat-form-field [class.mat-form-field-invalid]=\"error\">\n <mat-label>{{ label | translate }}</mat-label>\n <textarea matInput\n [rows]=\"rows\"\n [(ngModel)]=\"value\"\n (keyup)=\"onValueChanged($event)\"\n (change)=\"onValueChanged($event)\"\n [required]=\"required\"\n [disabled]=\"disable\"\n autocomplete=\"off\">\n </textarea>\n\n <mat-hint *ngIf=\"error\" class=\"error-message\">{{ error }}</mat-hint>\n</mat-form-field>\n", styles: ["textarea{resize:none}\n"], components: [{ type: i1.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }], directives: [{ type: i1.MatLabel, selector: "mat-label" }, { type: i2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["id", "disabled", "required", "type", "value", "readonly", "placeholder", "errorStateMatcher", "aria-describedby"], exportAs: ["matInput"] }, { type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }], pipes: { "translate": i5.TranslatePipe } });
33
34
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: TextareaComponent, decorators: [{
34
35
  type: Component,
35
36
  args: [{
@@ -55,4 +56,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImpor
55
56
  }], error: [{
56
57
  type: Input
57
58
  }] } });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFudGxlL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL2ZpZWxkcy90ZXh0YXJlYS90ZXh0YXJlYS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYW50bGUvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vZmllbGRzL3RleHRhcmVhL3RleHRhcmVhLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7OztBQWN6RSxNQUFNLE9BQU8saUJBQWlCO0lBVTVCO1FBUFMsU0FBSSxHQUFXLENBQUMsQ0FBQztRQUtuQixVQUFLLEdBQVEsSUFBSSxDQUFDO1FBSXpCLGFBQVEsR0FBRyxDQUFDLFFBQWdCLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUdyQyxjQUFTLEdBQUcsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBTE4sQ0FBQztJQUdqQixnQkFBZ0IsQ0FBQyxFQUE4QixJQUFVLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUc5RSxpQkFBaUIsQ0FBQyxFQUFjLElBQVUsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRWhFLFVBQVUsQ0FBQyxRQUFhO1FBQ3RCLElBQUksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFVO1FBQ3ZCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7OzhHQXpCVSxpQkFBaUI7a0dBQWpCLGlCQUFpQiw4SUFSakI7UUFDVDtZQUNFLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztZQUNoRCxLQUFLLEVBQUUsSUFBSTtTQUNaO0tBQ0YsMEJDYkgsNGNBY0E7MkZEQ2EsaUJBQWlCO2tCQVo3QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFdBQVcsRUFBRSwyQkFBMkI7b0JBQ3hDLFNBQVMsRUFBRSxDQUFDLDJCQUEyQixDQUFDO29CQUN4QyxTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsa0JBQWtCLENBQUM7NEJBQ2hELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO2lCQUNGOzBFQUdVLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgZm9yd2FyZFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtYW50bGUtdGV4dGFyZWEnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGV4dGFyZWEuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90ZXh0YXJlYS5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFRleHRhcmVhQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFRleHRhcmVhQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuXG4gIEBJbnB1dCgpIGxhYmVsITogc3RyaW5nO1xuICBASW5wdXQoKSByb3dzOiBudW1iZXIgPSAxO1xuICBASW5wdXQoKSBkaXNhYmxlITogYm9vbGVhbjtcbiAgQElucHV0KCkgcmVxdWlyZWQhOiBib29sZWFuO1xuICBASW5wdXQoKSBlcnJvcjogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyB2YWx1ZTogYW55ID0gbnVsbDtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIG9uQ2hhbmdlID0gKG5ld1ZhbHVlOiBzdHJpbmcpID0+IHsgfTtcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKG5ld1ZhbHVlOiBzdHJpbmcpID0+IHZvaWQpOiB2b2lkIHsgdGhpcy5vbkNoYW5nZSA9IGZuOyB9XG5cbiAgb25Ub3VjaGVkID0gKCkgPT4geyB9O1xuICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQgeyB0aGlzLm9uVG91Y2hlZCA9IGZuOyB9XG5cbiAgd3JpdGVWYWx1ZShuZXdWYWx1ZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IG5ld1ZhbHVlO1xuICAgIHRoaXMub25DaGFuZ2UobmV3VmFsdWUpO1xuICB9XG5cbiAgb25WYWx1ZUNoYW5nZWQoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XG4gIH1cbn1cbiIsIjxtYXQtZm9ybS1maWVsZCBbY2xhc3MubWF0LWZvcm0tZmllbGQtaW52YWxpZF09XCJlcnJvclwiPlxuICA8bWF0LWxhYmVsPnt7IGxhYmVsIH19PC9tYXQtbGFiZWw+XG4gIDx0ZXh0YXJlYSBtYXRJbnB1dFxuICAgICAgW3Jvd3NdPVwicm93c1wiXG4gICAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcbiAgICAgIChrZXl1cCk9XCJvblZhbHVlQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgIChjaGFuZ2UpPVwib25WYWx1ZUNoYW5nZWQoJGV2ZW50KVwiXG4gICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVcIlxuICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCI+XG4gIDwvdGV4dGFyZWE+XG5cbiAgPG1hdC1oaW50ICpuZ0lmPVwiZXJyb3JcIiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIj57eyBlcnJvciB9fTwvbWF0LWhpbnQ+XG48L21hdC1mb3JtLWZpZWxkPlxuIl19
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFudGxlL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL2ZpZWxkcy90ZXh0YXJlYS90ZXh0YXJlYS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYW50bGUvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vZmllbGRzL3RleHRhcmVhL3RleHRhcmVhLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7QUFjekUsTUFBTSxPQUFPLGlCQUFpQjtJQVU1QjtRQVBTLFNBQUksR0FBVyxDQUFDLENBQUM7UUFLbkIsVUFBSyxHQUFRLElBQUksQ0FBQztRQUl6QixhQUFRLEdBQUcsQ0FBQyxRQUFnQixFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFHckMsY0FBUyxHQUFHLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUxOLENBQUM7SUFHakIsZ0JBQWdCLENBQUMsRUFBOEIsSUFBVSxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFHOUUsaUJBQWlCLENBQUMsRUFBYyxJQUFVLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUVoRSxVQUFVLENBQUMsUUFBYTtRQUN0QixJQUFJLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQztRQUN0QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRCxjQUFjLENBQUMsS0FBVTtRQUN2QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDOzs4R0F6QlUsaUJBQWlCO2tHQUFqQixpQkFBaUIsOElBUmpCO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUM7WUFDaEQsS0FBSyxFQUFFLElBQUk7U0FDWjtLQUNGLDBCQ2JILHdkQWNBOzJGRENhLGlCQUFpQjtrQkFaN0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixXQUFXLEVBQUUsMkJBQTJCO29CQUN4QyxTQUFTLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQztvQkFDeEMsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGtCQUFrQixDQUFDOzRCQUNoRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtpQkFDRjswRUFHVSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWFudGxlLXRleHRhcmVhJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RleHRhcmVhLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGV4dGFyZWEuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUZXh0YXJlYUNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBUZXh0YXJlYUNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcblxuICBASW5wdXQoKSBsYWJlbCE6IHN0cmluZztcbiAgQElucHV0KCkgcm93czogbnVtYmVyID0gMTtcbiAgQElucHV0KCkgZGlzYWJsZSE6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHJlcXVpcmVkITogYm9vbGVhbjtcbiAgQElucHV0KCkgZXJyb3I6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgdmFsdWU6IGFueSA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBvbkNoYW5nZSA9IChuZXdWYWx1ZTogc3RyaW5nKSA9PiB7IH07XG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IChuZXdWYWx1ZTogc3RyaW5nKSA9PiB2b2lkKTogdm9pZCB7IHRoaXMub25DaGFuZ2UgPSBmbjsgfVxuXG4gIG9uVG91Y2hlZCA9ICgpID0+IHsgfTtcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHsgdGhpcy5vblRvdWNoZWQgPSBmbjsgfVxuXG4gIHdyaXRlVmFsdWUobmV3VmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSBuZXdWYWx1ZTtcbiAgICB0aGlzLm9uQ2hhbmdlKG5ld1ZhbHVlKTtcbiAgfVxuXG4gIG9uVmFsdWVDaGFuZ2VkKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xuICB9XG59XG4iLCI8bWF0LWZvcm0tZmllbGQgW2NsYXNzLm1hdC1mb3JtLWZpZWxkLWludmFsaWRdPVwiZXJyb3JcIj5cbiAgPG1hdC1sYWJlbD57eyBsYWJlbCB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICA8dGV4dGFyZWEgbWF0SW5wdXRcbiAgICAgIFtyb3dzXT1cInJvd3NcIlxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXG4gICAgICAoa2V5dXApPVwib25WYWx1ZUNoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAoY2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2VkKCRldmVudClcIlxuICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlXCJcbiAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiPlxuICA8L3RleHRhcmVhPlxuXG4gIDxtYXQtaGludCAqbmdJZj1cImVycm9yXCIgY2xhc3M9XCJlcnJvci1tZXNzYWdlXCI+e3sgZXJyb3IgfX08L21hdC1oaW50PlxuPC9tYXQtZm9ybS1maWVsZD5cbiJdfQ==
@@ -0,0 +1,80 @@
1
+ import { Component, Input, forwardRef } from '@angular/core';
2
+ import { NG_VALUE_ACCESSOR, NG_VALIDATORS } from '@angular/forms';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/material/form-field";
5
+ import * as i2 from "@angular/material/input";
6
+ import * as i3 from "@angular/forms";
7
+ import * as i4 from "@angular/common";
8
+ import * as i5 from "@ngx-translate/core";
9
+ export class TimeInputComponent {
10
+ constructor() {
11
+ this.value = null;
12
+ this.onChange = (newValue) => { };
13
+ this.onTouched = () => { };
14
+ }
15
+ registerOnChange(fn) { this.onChange = fn; }
16
+ registerOnTouched(fn) { this.onTouched = fn; }
17
+ ngOnChanges() { }
18
+ writeValue(newValue) {
19
+ this.value = newValue;
20
+ this.onChange(newValue);
21
+ }
22
+ onValueChanged(event) {
23
+ this.onChange(this.value);
24
+ }
25
+ validate(control) {
26
+ if (!control.value) {
27
+ this.errorMessage = this.error;
28
+ return null;
29
+ }
30
+ this.errorMessage = '';
31
+ if (control.value === null || control.value === '')
32
+ return null;
33
+ if (/^([0-1][0-9]|2[0-3]):[0-5][0-9]$/.test(control.value))
34
+ return null;
35
+ this.errorMessage = 'must have format HH:mm';
36
+ return [this.errorMessage];
37
+ }
38
+ }
39
+ TimeInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: TimeInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
40
+ TimeInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.5", type: TimeInputComponent, selector: "mantle-time-input", inputs: { label: "label", disable: "disable", required: "required", error: "error" }, providers: [
41
+ {
42
+ provide: NG_VALUE_ACCESSOR,
43
+ useExisting: forwardRef(() => TimeInputComponent),
44
+ multi: true
45
+ },
46
+ {
47
+ provide: NG_VALIDATORS,
48
+ useExisting: forwardRef(() => TimeInputComponent),
49
+ multi: true,
50
+ },
51
+ ], usesOnChanges: true, ngImport: i0, template: "<mat-form-field [class.mat-form-field-invalid]=\"errorMessage\">\n <mat-label>{{ label | translate }}</mat-label>\n <input matInput\n type=\"text\"\n [(ngModel)]=\"value\"\n (keyup)=\"onValueChanged($event)\"\n (change)=\"onValueChanged($event)\"\n [required]=\"required\"\n [disabled]=\"disable\"\n autocomplete=\"off\">\n\n <mat-hint *ngIf=\"errorMessage\" class=\"error-message\">{{ errorMessage }}</mat-hint>\n</mat-form-field>\n", styles: ["input{text-align:right}\n"], components: [{ type: i1.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }], directives: [{ type: i1.MatLabel, selector: "mat-label" }, { type: i2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["id", "disabled", "required", "type", "value", "readonly", "placeholder", "errorStateMatcher", "aria-describedby"], exportAs: ["matInput"] }, { type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }], pipes: { "translate": i5.TranslatePipe } });
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: TimeInputComponent, decorators: [{
53
+ type: Component,
54
+ args: [{
55
+ selector: 'mantle-time-input',
56
+ templateUrl: './time-input.component.html',
57
+ styleUrls: ['./time-input.component.scss'],
58
+ providers: [
59
+ {
60
+ provide: NG_VALUE_ACCESSOR,
61
+ useExisting: forwardRef(() => TimeInputComponent),
62
+ multi: true
63
+ },
64
+ {
65
+ provide: NG_VALIDATORS,
66
+ useExisting: forwardRef(() => TimeInputComponent),
67
+ multi: true,
68
+ },
69
+ ]
70
+ }]
71
+ }], ctorParameters: function () { return []; }, propDecorators: { label: [{
72
+ type: Input
73
+ }], disable: [{
74
+ type: Input
75
+ }], required: [{
76
+ type: Input
77
+ }], error: [{
78
+ type: Input
79
+ }] } });
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYW50bGUvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vZmllbGRzL3RpbWUtaW5wdXQvdGltZS1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYW50bGUvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vZmllbGRzL3RpbWUtaW5wdXQvdGltZS1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFhLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUFzRSxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7OztBQW1CdEksTUFBTSxPQUFPLGtCQUFrQjtJQVU3QjtRQUhPLFVBQUssR0FBUSxJQUFJLENBQUM7UUFLekIsYUFBUSxHQUFHLENBQUMsUUFBZ0IsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBR3JDLGNBQVMsR0FBRyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFMTixDQUFDO0lBR2pCLGdCQUFnQixDQUFDLEVBQThCLElBQVUsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRzlFLGlCQUFpQixDQUFDLEVBQWMsSUFBVSxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFaEUsV0FBVyxLQUFXLENBQUM7SUFFdkIsVUFBVSxDQUFDLFFBQWE7UUFDdEIsSUFBSSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUM7UUFDdEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsY0FBYyxDQUFDLEtBQVU7UUFDdkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELFFBQVEsQ0FBQyxPQUF3QjtRQUMvQixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRTtZQUNsQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDL0IsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO1FBRXZCLElBQUksT0FBTyxDQUFDLEtBQUssS0FBSyxJQUFJLElBQUksT0FBTyxDQUFDLEtBQUssS0FBSyxFQUFFO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDaEUsSUFBSSxrQ0FBa0MsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztZQUFFLE9BQU8sSUFBSSxDQUFDO1FBRXhFLElBQUksQ0FBQyxZQUFZLEdBQUcsd0JBQXdCLENBQUM7UUFDN0MsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUM3QixDQUFDOzsrR0ExQ1Usa0JBQWtCO21HQUFsQixrQkFBa0Isa0lBYmxCO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsa0JBQWtCLENBQUM7WUFDakQsS0FBSyxFQUFFLElBQUk7U0FDWjtRQUNEO1lBQ0UsT0FBTyxFQUFFLGFBQWE7WUFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztZQUNqRCxLQUFLLEVBQUUsSUFBSTtTQUNaO0tBQ0YsK0NDbEJILHlkQWFBOzJGRE9hLGtCQUFrQjtrQkFqQjlCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsV0FBVyxFQUFFLDZCQUE2QjtvQkFDMUMsU0FBUyxFQUFFLENBQUMsNkJBQTZCLENBQUM7b0JBQzFDLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxtQkFBbUIsQ0FBQzs0QkFDakQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLGFBQWE7NEJBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLG1CQUFtQixDQUFDOzRCQUNqRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtpQkFDRjswRUFHVSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkNoYW5nZXMsIElucHV0LCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0b3IsIFZhbGlkYXRpb25FcnJvcnMsIE5HX1ZBTFVFX0FDQ0VTU09SLCBOR19WQUxJREFUT1JTIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtYW50bGUtdGltZS1pbnB1dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90aW1lLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGltZS1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFRpbWVJbnB1dENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFRpbWVJbnB1dENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFRpbWVJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBWYWxpZGF0b3IsIE9uQ2hhbmdlcyB7XG5cbiAgQElucHV0KCkgbGFiZWwhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRpc2FibGUhOiBib29sZWFuO1xuICBASW5wdXQoKSByZXF1aXJlZCE6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGVycm9yOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIHZhbHVlOiBhbnkgPSBudWxsO1xuICBwdWJsaWMgZXJyb3JNZXNzYWdlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBvbkNoYW5nZSA9IChuZXdWYWx1ZTogc3RyaW5nKSA9PiB7IH07XG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IChuZXdWYWx1ZTogc3RyaW5nKSA9PiB2b2lkKTogdm9pZCB7IHRoaXMub25DaGFuZ2UgPSBmbjsgfVxuXG4gIG9uVG91Y2hlZCA9ICgpID0+IHsgfTtcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHsgdGhpcy5vblRvdWNoZWQgPSBmbjsgfVxuXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQgeyB9XG5cbiAgd3JpdGVWYWx1ZShuZXdWYWx1ZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IG5ld1ZhbHVlO1xuICAgIHRoaXMub25DaGFuZ2UobmV3VmFsdWUpO1xuICB9XG5cbiAgb25WYWx1ZUNoYW5nZWQoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XG4gIH1cblxuICB2YWxpZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgaWYgKCFjb250cm9sLnZhbHVlKSB7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IHRoaXMuZXJyb3I7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICB0aGlzLmVycm9yTWVzc2FnZSA9ICcnO1xuXG4gICAgaWYgKGNvbnRyb2wudmFsdWUgPT09IG51bGwgfHwgY29udHJvbC52YWx1ZSA9PT0gJycpIHJldHVybiBudWxsO1xuICAgIGlmICgvXihbMC0xXVswLTldfDJbMC0zXSk6WzAtNV1bMC05XSQvLnRlc3QoY29udHJvbC52YWx1ZSkpIHJldHVybiBudWxsO1xuXG4gICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnbXVzdCBoYXZlIGZvcm1hdCBISDptbSc7XG4gICAgcmV0dXJuIFt0aGlzLmVycm9yTWVzc2FnZV07XG4gIH1cblxufVxuIiwiPG1hdC1mb3JtLWZpZWxkIFtjbGFzcy5tYXQtZm9ybS1maWVsZC1pbnZhbGlkXT1cImVycm9yTWVzc2FnZVwiPlxuICA8bWF0LWxhYmVsPnt7IGxhYmVsIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gIDxpbnB1dCBtYXRJbnB1dFxuICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXG4gICAgICAoa2V5dXApPVwib25WYWx1ZUNoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAoY2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2VkKCRldmVudClcIlxuICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlXCJcbiAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiPlxuXG4gIDxtYXQtaGludCAqbmdJZj1cImVycm9yTWVzc2FnZVwiIGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiPnt7IGVycm9yTWVzc2FnZSB9fTwvbWF0LWhpbnQ+XG48L21hdC1mb3JtLWZpZWxkPlxuIl19
@@ -2,11 +2,13 @@ import { Component, Input } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "../grid-form-section/grid-form-section.component";
4
4
  import * as i2 from "../table-form-section/table-form-section.component";
5
- import * as i3 from "../../../details/sections/grid-details-section/grid-details-section.component";
6
- import * as i4 from "../../../details/sections/table-details-section/table-details-section.component";
7
- import * as i5 from "../../../dashboard/sections/dashboard-section/dashboard-section.component";
8
- import * as i6 from "../../../details/sections/markdown-details-section/markdown-details-section.component";
9
- import * as i7 from "@angular/common";
5
+ import * as i3 from "../roster-shift-list-form-section/roster-shift-list-form-section.component";
6
+ import * as i4 from "../../../details/sections/grid-details-section/grid-details-section.component";
7
+ import * as i5 from "../../../details/sections/table-details-section/table-details-section.component";
8
+ import * as i6 from "../../../dashboard/sections/dashboard-section/dashboard-section.component";
9
+ import * as i7 from "../../../details/sections/markdown-details-section/markdown-details-section.component";
10
+ import * as i8 from "../../../details/sections/roster-shift-list-details-section/roster-shift-list-details-section.component";
11
+ import * as i9 from "@angular/common";
10
12
  export class DynamicFormSectionComponent {
11
13
  constructor() { }
12
14
  asDynamicLayoutGridSection(section) {
@@ -21,12 +23,18 @@ export class DynamicFormSectionComponent {
21
23
  asDynamicLayoutDashboardSection(section) {
22
24
  return section;
23
25
  }
26
+ asDynamicLayoutRosterShiftListSection(section) {
27
+ return section;
28
+ }
24
29
  asDashboardPageService(formPageService) {
25
30
  return formPageService;
26
31
  }
32
+ asDetailPageService(formPageService) {
33
+ return formPageService;
34
+ }
27
35
  }
28
36
  DynamicFormSectionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: DynamicFormSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
29
- DynamicFormSectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.5", type: DynamicFormSectionComponent, selector: "mantle-dynamic-form-section", inputs: { formPageService: "formPageService", section: "section", content: "content", form: "form" }, ngImport: i0, template: "<ng-container *ngIf=\"section.writable\">\n <ng-container *ngTemplateOutlet=\"dynamicFormContent; context: { form: form, section: section, content: content };\"></ng-container>\n</ng-container>\n<ng-container *ngIf=\"!section.writable\">\n <ng-container *ngTemplateOutlet=\"dynamicDetailsContent; context: { section: section, content: content };\"></ng-container>\n</ng-container>\n\n<ng-template #dynamicFormContent let-form=\"form\" let-content=\"content\" let-section=\"section\">\n <ng-container [ngSwitch]=\"section.layout\">\n\n <ng-container *ngSwitchCase=\"'grid'\">\n <mantle-grid-form-section\n [section]=\"asDynamicLayoutGridSection(section)\"\n [form]=\"form\"\n [errors]=\"content.errors || {}\">\n </mantle-grid-form-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'table'\">\n <mantle-table-form-section\n [section]=\"asDynamicLayoutTableSection(section)\"\n [form]=\"form\">\n </mantle-table-form-section>\n </ng-container>\n\n </ng-container>\n</ng-template>\n\n<ng-template #dynamicDetailsContent let-content=\"content\" let-section=\"section\">\n <ng-container [ngSwitch]=\"section.layout\">\n\n <ng-container *ngSwitchCase=\"'grid'\">\n <mantle-grid-details-section\n [section]=\"asDynamicLayoutGridSection(section)\"\n [data]=\"content.data\">\n </mantle-grid-details-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'table'\">\n <mantle-table-details-section\n [section]=\"asDynamicLayoutTableSection(section)\"\n [data]=\"content.data\">\n </mantle-table-details-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'dashboard'\">\n <mantle-dashboard-section\n [slug]=\"section.slug\"\n [section]=\"asDynamicLayoutDashboardSection(section)\"\n [data]=\"content.data\"\n [dashboardPageService]=\"asDashboardPageService(formPageService)\">\n </mantle-dashboard-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'markdown'\">\n <mantle-markdown-details-section\n [section]=\"asDynamicLayoutMarkdownSection(section)\">\n </mantle-markdown-details-section>\n </ng-container>\n\n </ng-container>\n</ng-template>\n", styles: [""], components: [{ type: i1.GridFormSectionComponent, selector: "mantle-grid-form-section", inputs: ["title", "section", "form", "errors", "defaultRowHeight"] }, { type: i2.TableFormSectionComponent, selector: "mantle-table-form-section", inputs: ["title", "section", "form"] }, { type: i3.GridDetailsSectionComponent, selector: "mantle-grid-details-section", inputs: ["data", "section", "defaultRowHeight"] }, { type: i4.TableDetailsSectionComponent, selector: "mantle-table-details-section", inputs: ["data", "section"] }, { type: i5.DashboardSectionComponent, selector: "mantle-dashboard-section", inputs: ["dashboardPageService", "slug", "data", "section"] }, { type: i6.MarkdownDetailsSectionComponent, selector: "mantle-markdown-details-section", inputs: ["section"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i7.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i7.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }] });
37
+ DynamicFormSectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.5", type: DynamicFormSectionComponent, selector: "mantle-dynamic-form-section", inputs: { formPageService: "formPageService", section: "section", content: "content", form: "form" }, ngImport: i0, template: "<ng-container *ngIf=\"section.writable\">\n <ng-container *ngTemplateOutlet=\"dynamicFormContent; context: { form: form, section: section, content: content };\"></ng-container>\n</ng-container>\n<ng-container *ngIf=\"!section.writable\">\n <ng-container *ngTemplateOutlet=\"dynamicDetailsContent; context: { section: section, content: content };\"></ng-container>\n</ng-container>\n\n<ng-template #dynamicFormContent let-form=\"form\" let-content=\"content\" let-section=\"section\">\n <ng-container [ngSwitch]=\"section.layout\">\n\n <ng-container *ngSwitchCase=\"'grid'\">\n <mantle-grid-form-section\n [section]=\"asDynamicLayoutGridSection(section)\"\n [form]=\"form\"\n [errors]=\"content.errors || {}\">\n </mantle-grid-form-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'table'\">\n <mantle-table-form-section\n [section]=\"asDynamicLayoutTableSection(section)\"\n [form]=\"form\"\n [formPageService]=\"formPageService\">\n </mantle-table-form-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'roster-shift-list'\">\n <mantle-roster-shift-list-form-section\n [section]=\"asDynamicLayoutRosterShiftListSection(section)\"\n [form]=\"form\">\n </mantle-roster-shift-list-form-section>\n </ng-container>\n\n </ng-container>\n</ng-template>\n\n<ng-template #dynamicDetailsContent let-content=\"content\" let-section=\"section\">\n <ng-container [ngSwitch]=\"section.layout\">\n\n <ng-container *ngSwitchCase=\"'grid'\">\n <mantle-grid-details-section\n [section]=\"asDynamicLayoutGridSection(section)\"\n [data]=\"content.data\">\n </mantle-grid-details-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'table'\">\n <mantle-table-details-section\n [section]=\"asDynamicLayoutTableSection(section)\"\n [data]=\"content.data\"\n [detailPageService]=\"asDetailPageService(formPageService)\">\n </mantle-table-details-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'dashboard'\">\n <mantle-dashboard-section\n [slug]=\"section.slug\"\n [section]=\"asDynamicLayoutDashboardSection(section)\"\n [data]=\"content.data\"\n [dashboardPageService]=\"asDashboardPageService(formPageService)\">\n </mantle-dashboard-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'markdown'\">\n <mantle-markdown-details-section\n [section]=\"asDynamicLayoutMarkdownSection(section)\">\n </mantle-markdown-details-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'roster-shift-list'\">\n <mantle-roster-shift-list-details-section\n [section]=\"asDynamicLayoutRosterShiftListSection(section)\"\n [data]=\"content.data\">\n </mantle-roster-shift-list-details-section>\n </ng-container>\n\n </ng-container>\n</ng-template>\n", styles: [""], components: [{ type: i1.GridFormSectionComponent, selector: "mantle-grid-form-section", inputs: ["title", "section", "form", "errors", "defaultRowHeight"] }, { type: i2.TableFormSectionComponent, selector: "mantle-table-form-section", inputs: ["title", "section", "form", "formPageService"] }, { type: i3.RosterShiftListFormSectionComponent, selector: "mantle-roster-shift-list-form-section", inputs: ["title", "section", "form"] }, { type: i4.GridDetailsSectionComponent, selector: "mantle-grid-details-section", inputs: ["data", "section", "defaultRowHeight"] }, { type: i5.TableDetailsSectionComponent, selector: "mantle-table-details-section", inputs: ["data", "section", "detailPageService"] }, { type: i6.DashboardSectionComponent, selector: "mantle-dashboard-section", inputs: ["dashboardPageService", "slug", "data", "section"] }, { type: i7.MarkdownDetailsSectionComponent, selector: "mantle-markdown-details-section", inputs: ["section"] }, { type: i8.RosterShiftListDetailsSectionComponent, selector: "mantle-roster-shift-list-details-section", inputs: ["data", "section"] }], directives: [{ type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i9.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i9.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }] });
30
38
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: DynamicFormSectionComponent, decorators: [{
31
39
  type: Component,
32
40
  args: [{
@@ -43,4 +51,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImpor
43
51
  }], form: [{
44
52
  type: Input
45
53
  }] } });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLXNlY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFudGxlL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL3NlY3Rpb25zL2R5bmFtaWMtZm9ybS1zZWN0aW9uL2R5bmFtaWMtZm9ybS1zZWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hbnRsZS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9zZWN0aW9ucy9keW5hbWljLWZvcm0tc2VjdGlvbi9keW5hbWljLWZvcm0tc2VjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7O0FBY2pELE1BQU0sT0FBTywyQkFBMkI7SUFPdEMsZ0JBQWdCLENBQUM7SUFFakIsMEJBQTBCLENBQUMsT0FBWTtRQUNyQyxPQUFPLE9BQW1DLENBQUM7SUFDN0MsQ0FBQztJQUVELDJCQUEyQixDQUFDLE9BQVk7UUFDdEMsT0FBTyxPQUFvQyxDQUFDO0lBQzlDLENBQUM7SUFFRCw4QkFBOEIsQ0FBQyxPQUFZO1FBQ3pDLE9BQU8sT0FBdUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsK0JBQStCLENBQUMsT0FBWTtRQUMxQyxPQUFPLE9BQXdDLENBQUM7SUFDbEQsQ0FBQztJQUVELHNCQUFzQixDQUFDLGVBQWdDO1FBQ3JELE9BQU8sZUFBa0QsQ0FBQztJQUM1RCxDQUFDOzt3SEEzQlUsMkJBQTJCOzRHQUEzQiwyQkFBMkIseUtDZHhDLGd3RUE4REE7MkZEaERhLDJCQUEyQjtrQkFMdkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsNkJBQTZCO29CQUN2QyxXQUFXLEVBQUUsdUNBQXVDO29CQUNwRCxTQUFTLEVBQUUsQ0FBQyx1Q0FBdUMsQ0FBQztpQkFDckQ7MEVBR1UsZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gIER5bmFtaWNGb3JtQ29udGVudCwgRHluYW1pY0xheW91dERhc2hib2FyZFNlY3Rpb24sIER5bmFtaWNMYXlvdXRHcmlkU2VjdGlvbixcbiAgRHluYW1pY0xheW91dE1hcmtkb3duU2VjdGlvbiwgRHluYW1pY0xheW91dFNlY3Rpb24sIER5bmFtaWNMYXlvdXRUYWJsZVNlY3Rpb25cbn0gZnJvbSAnLi4vLi4vLi4vLi4vZGF0YS1zdHJ1Y3R1cmVzL2R5bmFtaWMtbGF5b3V0LnN0cnVjdHVyZSc7XG5pbXBvcnQgeyBEYXNoYm9hcmRQYWdlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2ludGVyZmFjZXMvZGFzaGJvYXJkLXBhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBGb3JtUGFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9pbnRlcmZhY2VzL2Zvcm0tcGFnZS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWFudGxlLWR5bmFtaWMtZm9ybS1zZWN0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2R5bmFtaWMtZm9ybS1zZWN0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZHluYW1pYy1mb3JtLXNlY3Rpb24uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBEeW5hbWljRm9ybVNlY3Rpb25Db21wb25lbnQge1xuXG4gIEBJbnB1dCgpIGZvcm1QYWdlU2VydmljZSE6IEZvcm1QYWdlU2VydmljZTtcbiAgQElucHV0KCkgc2VjdGlvbiE6IER5bmFtaWNMYXlvdXRTZWN0aW9uO1xuICBASW5wdXQoKSBjb250ZW50ITogRHluYW1pY0Zvcm1Db250ZW50O1xuICBASW5wdXQoKSBmb3JtITogRm9ybUdyb3VwO1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgYXNEeW5hbWljTGF5b3V0R3JpZFNlY3Rpb24oc2VjdGlvbjogYW55KTogRHluYW1pY0xheW91dEdyaWRTZWN0aW9uIHtcbiAgICByZXR1cm4gc2VjdGlvbiBhcyBEeW5hbWljTGF5b3V0R3JpZFNlY3Rpb247XG4gIH1cblxuICBhc0R5bmFtaWNMYXlvdXRUYWJsZVNlY3Rpb24oc2VjdGlvbjogYW55KTogRHluYW1pY0xheW91dFRhYmxlU2VjdGlvbiB7XG4gICAgcmV0dXJuIHNlY3Rpb24gYXMgRHluYW1pY0xheW91dFRhYmxlU2VjdGlvbjtcbiAgfVxuXG4gIGFzRHluYW1pY0xheW91dE1hcmtkb3duU2VjdGlvbihzZWN0aW9uOiBhbnkpOiBEeW5hbWljTGF5b3V0TWFya2Rvd25TZWN0aW9uIHtcbiAgICByZXR1cm4gc2VjdGlvbiBhcyBEeW5hbWljTGF5b3V0TWFya2Rvd25TZWN0aW9uO1xuICB9XG5cbiAgYXNEeW5hbWljTGF5b3V0RGFzaGJvYXJkU2VjdGlvbihzZWN0aW9uOiBhbnkpOiBEeW5hbWljTGF5b3V0RGFzaGJvYXJkU2VjdGlvbiB7XG4gICAgcmV0dXJuIHNlY3Rpb24gYXMgRHluYW1pY0xheW91dERhc2hib2FyZFNlY3Rpb247XG4gIH1cblxuICBhc0Rhc2hib2FyZFBhZ2VTZXJ2aWNlKGZvcm1QYWdlU2VydmljZTogRm9ybVBhZ2VTZXJ2aWNlKTogRGFzaGJvYXJkUGFnZVNlcnZpY2Uge1xuICAgIHJldHVybiBmb3JtUGFnZVNlcnZpY2UgYXMgdW5rbm93biBhcyBEYXNoYm9hcmRQYWdlU2VydmljZTtcbiAgfVxuXG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwic2VjdGlvbi53cml0YWJsZVwiPlxuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZHluYW1pY0Zvcm1Db250ZW50OyBjb250ZXh0OiB7IGZvcm06IGZvcm0sIHNlY3Rpb246IHNlY3Rpb24sIGNvbnRlbnQ6IGNvbnRlbnQgfTtcIj48L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFzZWN0aW9uLndyaXRhYmxlXCI+XG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkeW5hbWljRGV0YWlsc0NvbnRlbnQ7IGNvbnRleHQ6IHsgc2VjdGlvbjogc2VjdGlvbiwgY29udGVudDogY29udGVudCB9O1wiPjwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjZHluYW1pY0Zvcm1Db250ZW50IGxldC1mb3JtPVwiZm9ybVwiIGxldC1jb250ZW50PVwiY29udGVudFwiIGxldC1zZWN0aW9uPVwic2VjdGlvblwiPlxuICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJzZWN0aW9uLmxheW91dFwiPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2dyaWQnXCI+XG4gICAgICA8bWFudGxlLWdyaWQtZm9ybS1zZWN0aW9uXG4gICAgICAgICAgW3NlY3Rpb25dPVwiYXNEeW5hbWljTGF5b3V0R3JpZFNlY3Rpb24oc2VjdGlvbilcIlxuICAgICAgICAgIFtmb3JtXT1cImZvcm1cIlxuICAgICAgICAgIFtlcnJvcnNdPVwiY29udGVudC5lcnJvcnMgfHwge31cIj5cbiAgICAgIDwvbWFudGxlLWdyaWQtZm9ybS1zZWN0aW9uPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3RhYmxlJ1wiPlxuICAgICAgPG1hbnRsZS10YWJsZS1mb3JtLXNlY3Rpb25cbiAgICAgICAgICBbc2VjdGlvbl09XCJhc0R5bmFtaWNMYXlvdXRUYWJsZVNlY3Rpb24oc2VjdGlvbilcIlxuICAgICAgICAgIFtmb3JtXT1cImZvcm1cIj5cbiAgICAgIDwvbWFudGxlLXRhYmxlLWZvcm0tc2VjdGlvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZHluYW1pY0RldGFpbHNDb250ZW50IGxldC1jb250ZW50PVwiY29udGVudFwiIGxldC1zZWN0aW9uPVwic2VjdGlvblwiPlxuICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJzZWN0aW9uLmxheW91dFwiPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2dyaWQnXCI+XG4gICAgICA8bWFudGxlLWdyaWQtZGV0YWlscy1zZWN0aW9uXG4gICAgICAgICAgW3NlY3Rpb25dPVwiYXNEeW5hbWljTGF5b3V0R3JpZFNlY3Rpb24oc2VjdGlvbilcIlxuICAgICAgICAgIFtkYXRhXT1cImNvbnRlbnQuZGF0YVwiPlxuICAgICAgPC9tYW50bGUtZ3JpZC1kZXRhaWxzLXNlY3Rpb24+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIndGFibGUnXCI+XG4gICAgICA8bWFudGxlLXRhYmxlLWRldGFpbHMtc2VjdGlvblxuICAgICAgICAgIFtzZWN0aW9uXT1cImFzRHluYW1pY0xheW91dFRhYmxlU2VjdGlvbihzZWN0aW9uKVwiXG4gICAgICAgICAgW2RhdGFdPVwiY29udGVudC5kYXRhXCI+XG4gICAgICA8L21hbnRsZS10YWJsZS1kZXRhaWxzLXNlY3Rpb24+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZGFzaGJvYXJkJ1wiPlxuICAgICAgPG1hbnRsZS1kYXNoYm9hcmQtc2VjdGlvblxuICAgICAgICAgIFtzbHVnXT1cInNlY3Rpb24uc2x1Z1wiXG4gICAgICAgICAgW3NlY3Rpb25dPVwiYXNEeW5hbWljTGF5b3V0RGFzaGJvYXJkU2VjdGlvbihzZWN0aW9uKVwiXG4gICAgICAgICAgW2RhdGFdPVwiY29udGVudC5kYXRhXCJcbiAgICAgICAgICBbZGFzaGJvYXJkUGFnZVNlcnZpY2VdPVwiYXNEYXNoYm9hcmRQYWdlU2VydmljZShmb3JtUGFnZVNlcnZpY2UpXCI+XG4gICAgICA8L21hbnRsZS1kYXNoYm9hcmQtc2VjdGlvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidtYXJrZG93bidcIj5cbiAgICAgIDxtYW50bGUtbWFya2Rvd24tZGV0YWlscy1zZWN0aW9uXG4gICAgICAgICAgW3NlY3Rpb25dPVwiYXNEeW5hbWljTGF5b3V0TWFya2Rvd25TZWN0aW9uKHNlY3Rpb24pXCI+XG4gICAgICA8L21hbnRsZS1tYXJrZG93bi1kZXRhaWxzLXNlY3Rpb24+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuIl19
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLXNlY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFudGxlL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL3NlY3Rpb25zL2R5bmFtaWMtZm9ybS1zZWN0aW9uL2R5bmFtaWMtZm9ybS1zZWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hbnRsZS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9zZWN0aW9ucy9keW5hbWljLWZvcm0tc2VjdGlvbi9keW5hbWljLWZvcm0tc2VjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7Ozs7QUFnQmpELE1BQU0sT0FBTywyQkFBMkI7SUFPdEMsZ0JBQWdCLENBQUM7SUFFakIsMEJBQTBCLENBQUMsT0FBWTtRQUNyQyxPQUFPLE9BQW1DLENBQUM7SUFDN0MsQ0FBQztJQUVELDJCQUEyQixDQUFDLE9BQVk7UUFDdEMsT0FBTyxPQUFvQyxDQUFDO0lBQzlDLENBQUM7SUFFRCw4QkFBOEIsQ0FBQyxPQUFZO1FBQ3pDLE9BQU8sT0FBdUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsK0JBQStCLENBQUMsT0FBWTtRQUMxQyxPQUFPLE9BQXdDLENBQUM7SUFDbEQsQ0FBQztJQUVELHFDQUFxQyxDQUFDLE9BQVk7UUFDaEQsT0FBTyxPQUE4QyxDQUFDO0lBQ3hELENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxlQUFnQztRQUNyRCxPQUFPLGVBQWtELENBQUM7SUFDNUQsQ0FBQztJQUVELG1CQUFtQixDQUFDLGVBQWdDO1FBQ2xELE9BQU8sZUFBK0MsQ0FBQztJQUN6RCxDQUFDOzt3SEFuQ1UsMkJBQTJCOzRHQUEzQiwyQkFBMkIseUtDaEJ4Qyw2NkZBOEVBOzJGRDlEYSwyQkFBMkI7a0JBTHZDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDZCQUE2QjtvQkFDdkMsV0FBVyxFQUFFLHVDQUF1QztvQkFDcEQsU0FBUyxFQUFFLENBQUMsdUNBQXVDLENBQUM7aUJBQ3JEOzBFQUdVLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICBEeW5hbWljRm9ybUNvbnRlbnQsIER5bmFtaWNMYXlvdXREYXNoYm9hcmRTZWN0aW9uLCBEeW5hbWljTGF5b3V0R3JpZFNlY3Rpb24sXG4gIER5bmFtaWNMYXlvdXRNYXJrZG93blNlY3Rpb24sIER5bmFtaWNMYXlvdXRSb3N0ZXJTaGlmdExpc3RTZWN0aW9uLCBEeW5hbWljTGF5b3V0U2VjdGlvbixcbiAgRHluYW1pY0xheW91dFRhYmxlU2VjdGlvblxufSBmcm9tICcuLi8uLi8uLi8uLi9kYXRhLXN0cnVjdHVyZXMvZHluYW1pYy1sYXlvdXQuc3RydWN0dXJlJztcbmltcG9ydCB7IERhc2hib2FyZFBhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvaW50ZXJmYWNlcy9kYXNoYm9hcmQtcGFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IERldGFpbFBhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvaW50ZXJmYWNlcy9kZXRhaWwtcGFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IEZvcm1QYWdlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2ludGVyZmFjZXMvZm9ybS1wYWdlLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtYW50bGUtZHluYW1pYy1mb3JtLXNlY3Rpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy1mb3JtLXNlY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9keW5hbWljLWZvcm0tc2VjdGlvbi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIER5bmFtaWNGb3JtU2VjdGlvbkNvbXBvbmVudCB7XG5cbiAgQElucHV0KCkgZm9ybVBhZ2VTZXJ2aWNlITogRm9ybVBhZ2VTZXJ2aWNlO1xuICBASW5wdXQoKSBzZWN0aW9uITogRHluYW1pY0xheW91dFNlY3Rpb247XG4gIEBJbnB1dCgpIGNvbnRlbnQhOiBEeW5hbWljRm9ybUNvbnRlbnQ7XG4gIEBJbnB1dCgpIGZvcm0hOiBGb3JtR3JvdXA7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBhc0R5bmFtaWNMYXlvdXRHcmlkU2VjdGlvbihzZWN0aW9uOiBhbnkpOiBEeW5hbWljTGF5b3V0R3JpZFNlY3Rpb24ge1xuICAgIHJldHVybiBzZWN0aW9uIGFzIER5bmFtaWNMYXlvdXRHcmlkU2VjdGlvbjtcbiAgfVxuXG4gIGFzRHluYW1pY0xheW91dFRhYmxlU2VjdGlvbihzZWN0aW9uOiBhbnkpOiBEeW5hbWljTGF5b3V0VGFibGVTZWN0aW9uIHtcbiAgICByZXR1cm4gc2VjdGlvbiBhcyBEeW5hbWljTGF5b3V0VGFibGVTZWN0aW9uO1xuICB9XG5cbiAgYXNEeW5hbWljTGF5b3V0TWFya2Rvd25TZWN0aW9uKHNlY3Rpb246IGFueSk6IER5bmFtaWNMYXlvdXRNYXJrZG93blNlY3Rpb24ge1xuICAgIHJldHVybiBzZWN0aW9uIGFzIER5bmFtaWNMYXlvdXRNYXJrZG93blNlY3Rpb247XG4gIH1cblxuICBhc0R5bmFtaWNMYXlvdXREYXNoYm9hcmRTZWN0aW9uKHNlY3Rpb246IGFueSk6IER5bmFtaWNMYXlvdXREYXNoYm9hcmRTZWN0aW9uIHtcbiAgICByZXR1cm4gc2VjdGlvbiBhcyBEeW5hbWljTGF5b3V0RGFzaGJvYXJkU2VjdGlvbjtcbiAgfVxuXG4gIGFzRHluYW1pY0xheW91dFJvc3RlclNoaWZ0TGlzdFNlY3Rpb24oc2VjdGlvbjogYW55KTogRHluYW1pY0xheW91dFJvc3RlclNoaWZ0TGlzdFNlY3Rpb24ge1xuICAgIHJldHVybiBzZWN0aW9uIGFzIER5bmFtaWNMYXlvdXRSb3N0ZXJTaGlmdExpc3RTZWN0aW9uO1xuICB9XG5cbiAgYXNEYXNoYm9hcmRQYWdlU2VydmljZShmb3JtUGFnZVNlcnZpY2U6IEZvcm1QYWdlU2VydmljZSk6IERhc2hib2FyZFBhZ2VTZXJ2aWNlIHtcbiAgICByZXR1cm4gZm9ybVBhZ2VTZXJ2aWNlIGFzIHVua25vd24gYXMgRGFzaGJvYXJkUGFnZVNlcnZpY2U7XG4gIH1cblxuICBhc0RldGFpbFBhZ2VTZXJ2aWNlKGZvcm1QYWdlU2VydmljZTogRm9ybVBhZ2VTZXJ2aWNlKTogRGV0YWlsUGFnZVNlcnZpY2Uge1xuICAgIHJldHVybiBmb3JtUGFnZVNlcnZpY2UgYXMgdW5rbm93biBhcyBEZXRhaWxQYWdlU2VydmljZTtcbiAgfVxuXG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwic2VjdGlvbi53cml0YWJsZVwiPlxuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZHluYW1pY0Zvcm1Db250ZW50OyBjb250ZXh0OiB7IGZvcm06IGZvcm0sIHNlY3Rpb246IHNlY3Rpb24sIGNvbnRlbnQ6IGNvbnRlbnQgfTtcIj48L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFzZWN0aW9uLndyaXRhYmxlXCI+XG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkeW5hbWljRGV0YWlsc0NvbnRlbnQ7IGNvbnRleHQ6IHsgc2VjdGlvbjogc2VjdGlvbiwgY29udGVudDogY29udGVudCB9O1wiPjwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjZHluYW1pY0Zvcm1Db250ZW50IGxldC1mb3JtPVwiZm9ybVwiIGxldC1jb250ZW50PVwiY29udGVudFwiIGxldC1zZWN0aW9uPVwic2VjdGlvblwiPlxuICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJzZWN0aW9uLmxheW91dFwiPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2dyaWQnXCI+XG4gICAgICA8bWFudGxlLWdyaWQtZm9ybS1zZWN0aW9uXG4gICAgICAgICAgW3NlY3Rpb25dPVwiYXNEeW5hbWljTGF5b3V0R3JpZFNlY3Rpb24oc2VjdGlvbilcIlxuICAgICAgICAgIFtmb3JtXT1cImZvcm1cIlxuICAgICAgICAgIFtlcnJvcnNdPVwiY29udGVudC5lcnJvcnMgfHwge31cIj5cbiAgICAgIDwvbWFudGxlLWdyaWQtZm9ybS1zZWN0aW9uPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3RhYmxlJ1wiPlxuICAgICAgPG1hbnRsZS10YWJsZS1mb3JtLXNlY3Rpb25cbiAgICAgICAgICBbc2VjdGlvbl09XCJhc0R5bmFtaWNMYXlvdXRUYWJsZVNlY3Rpb24oc2VjdGlvbilcIlxuICAgICAgICAgIFtmb3JtXT1cImZvcm1cIlxuICAgICAgICAgIFtmb3JtUGFnZVNlcnZpY2VdPVwiZm9ybVBhZ2VTZXJ2aWNlXCI+XG4gICAgICA8L21hbnRsZS10YWJsZS1mb3JtLXNlY3Rpb24+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIncm9zdGVyLXNoaWZ0LWxpc3QnXCI+XG4gICAgICA8bWFudGxlLXJvc3Rlci1zaGlmdC1saXN0LWZvcm0tc2VjdGlvblxuICAgICAgICAgIFtzZWN0aW9uXT1cImFzRHluYW1pY0xheW91dFJvc3RlclNoaWZ0TGlzdFNlY3Rpb24oc2VjdGlvbilcIlxuICAgICAgICAgIFtmb3JtXT1cImZvcm1cIj5cbiAgICAgIDwvbWFudGxlLXJvc3Rlci1zaGlmdC1saXN0LWZvcm0tc2VjdGlvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZHluYW1pY0RldGFpbHNDb250ZW50IGxldC1jb250ZW50PVwiY29udGVudFwiIGxldC1zZWN0aW9uPVwic2VjdGlvblwiPlxuICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJzZWN0aW9uLmxheW91dFwiPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2dyaWQnXCI+XG4gICAgICA8bWFudGxlLWdyaWQtZGV0YWlscy1zZWN0aW9uXG4gICAgICAgICAgW3NlY3Rpb25dPVwiYXNEeW5hbWljTGF5b3V0R3JpZFNlY3Rpb24oc2VjdGlvbilcIlxuICAgICAgICAgIFtkYXRhXT1cImNvbnRlbnQuZGF0YVwiPlxuICAgICAgPC9tYW50bGUtZ3JpZC1kZXRhaWxzLXNlY3Rpb24+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIndGFibGUnXCI+XG4gICAgICA8bWFudGxlLXRhYmxlLWRldGFpbHMtc2VjdGlvblxuICAgICAgICAgIFtzZWN0aW9uXT1cImFzRHluYW1pY0xheW91dFRhYmxlU2VjdGlvbihzZWN0aW9uKVwiXG4gICAgICAgICAgW2RhdGFdPVwiY29udGVudC5kYXRhXCJcbiAgICAgICAgICBbZGV0YWlsUGFnZVNlcnZpY2VdPVwiYXNEZXRhaWxQYWdlU2VydmljZShmb3JtUGFnZVNlcnZpY2UpXCI+XG4gICAgICA8L21hbnRsZS10YWJsZS1kZXRhaWxzLXNlY3Rpb24+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZGFzaGJvYXJkJ1wiPlxuICAgICAgPG1hbnRsZS1kYXNoYm9hcmQtc2VjdGlvblxuICAgICAgICAgIFtzbHVnXT1cInNlY3Rpb24uc2x1Z1wiXG4gICAgICAgICAgW3NlY3Rpb25dPVwiYXNEeW5hbWljTGF5b3V0RGFzaGJvYXJkU2VjdGlvbihzZWN0aW9uKVwiXG4gICAgICAgICAgW2RhdGFdPVwiY29udGVudC5kYXRhXCJcbiAgICAgICAgICBbZGFzaGJvYXJkUGFnZVNlcnZpY2VdPVwiYXNEYXNoYm9hcmRQYWdlU2VydmljZShmb3JtUGFnZVNlcnZpY2UpXCI+XG4gICAgICA8L21hbnRsZS1kYXNoYm9hcmQtc2VjdGlvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidtYXJrZG93bidcIj5cbiAgICAgIDxtYW50bGUtbWFya2Rvd24tZGV0YWlscy1zZWN0aW9uXG4gICAgICAgICAgW3NlY3Rpb25dPVwiYXNEeW5hbWljTGF5b3V0TWFya2Rvd25TZWN0aW9uKHNlY3Rpb24pXCI+XG4gICAgICA8L21hbnRsZS1tYXJrZG93bi1kZXRhaWxzLXNlY3Rpb24+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIncm9zdGVyLXNoaWZ0LWxpc3QnXCI+XG4gICAgICA8bWFudGxlLXJvc3Rlci1zaGlmdC1saXN0LWRldGFpbHMtc2VjdGlvblxuICAgICAgICAgIFtzZWN0aW9uXT1cImFzRHluYW1pY0xheW91dFJvc3RlclNoaWZ0TGlzdFNlY3Rpb24oc2VjdGlvbilcIlxuICAgICAgICAgIFtkYXRhXT1cImNvbnRlbnQuZGF0YVwiPlxuICAgICAgPC9tYW50bGUtcm9zdGVyLXNoaWZ0LWxpc3QtZGV0YWlscy1zZWN0aW9uPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -29,7 +29,16 @@ export class GridFormSectionComponent {
29
29
  });
30
30
  }
31
31
  getColSpanForField(field) {
32
- return (field.type == 'text' || field.type == 'string-lg' || field.type == 'markdown') ? this.numColumns : 1;
32
+ if (this.numColumns == 1)
33
+ return 1;
34
+ else if (['text', 'markdown'].includes(field.type))
35
+ return this.numColumns;
36
+ else if (field.type.endsWith('-lg'))
37
+ return this.numColumns;
38
+ else if (field.type.endsWith('-md'))
39
+ return 2;
40
+ else
41
+ return 1;
33
42
  }
34
43
  getRowSpanForField(field) {
35
44
  return (field.type == 'text' || field.type == 'markdown') ? 2 : 1;
@@ -64,4 +73,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImpor
64
73
  }], defaultRowHeight: [{
65
74
  type: Input
66
75
  }] } });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1mb3JtLXNlY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFudGxlL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL3NlY3Rpb25zL2dyaWQtZm9ybS1zZWN0aW9uL2dyaWQtZm9ybS1zZWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hbnRsZS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9zZWN0aW9ucy9ncmlkLWZvcm0tc2VjdGlvbi9ncmlkLWZvcm0tc2VjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7QUFXakQsTUFBTSxPQUFPLHdCQUF3QjtJQWtCbkMsWUFBb0IsaUJBQW9DO1FBQXBDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFiL0MsV0FBTSxHQUFRLEVBQUUsQ0FBQztRQUNqQixxQkFBZ0IsR0FBVyxNQUFNLENBQUM7UUFFcEMsZUFBVSxHQUFXLENBQUMsQ0FBQztRQUV0QixzQkFBaUIsR0FBRyxJQUFJLEdBQUcsQ0FBQztZQUNsQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7WUFDVCxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7WUFDVCxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7WUFDVCxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7WUFDVCxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7U0FDVixDQUFDLENBQUM7UUFHRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFVBQWUsRUFBRSxFQUFFOztZQUM5RCxJQUFJLE1BQUEsSUFBSSxDQUFDLE9BQU8sMENBQUUsWUFBWSxFQUFFO2dCQUM5QixJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQztnQkFDcEIsT0FBTzthQUNSO1lBRUQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoRSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxLQUF1QjtRQUN4QyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxNQUFNLElBQUksS0FBSyxDQUFDLElBQUksSUFBSSxXQUFXLElBQUksS0FBSyxDQUFDLElBQUksSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQy9HLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxLQUF1QjtRQUN4QyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxNQUFNLElBQUksS0FBSyxDQUFDLElBQUksSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDekIsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDcEIsQ0FBQzs7cUhBL0NVLHdCQUF3Qjt5R0FBeEIsd0JBQXdCLHNMQ1hyQywwd0JBZ0JBOzJGRExhLHdCQUF3QjtrQkFMcEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsMEJBQTBCO29CQUNwQyxXQUFXLEVBQUUsb0NBQW9DO29CQUNqRCxTQUFTLEVBQUUsQ0FBQyxvQ0FBb0MsQ0FBQztpQkFDbEQ7d0dBR1UsS0FBSztzQkFBYixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IER5bmFtaWNMYXlvdXRHcmlkU2VjdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL2RhdGEtc3RydWN0dXJlcy9keW5hbWljLWxheW91dC5zdHJ1Y3R1cmUnO1xuaW1wb3J0IHsgRHluYW1pY0Zvcm1GaWVsZCB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2R5bmFtaWMtZm9ybS5zZXJ2aWNlJztcbmltcG9ydCB7IFNjcmVlblNpemVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvc2NyZWVuLXNpemUuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21hbnRsZS1ncmlkLWZvcm0tc2VjdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9ncmlkLWZvcm0tc2VjdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2dyaWQtZm9ybS1zZWN0aW9uLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgR3JpZEZvcm1TZWN0aW9uQ29tcG9uZW50IHtcblxuICBASW5wdXQoKSB0aXRsZT86IHN0cmluZztcbiAgQElucHV0KCkgc2VjdGlvbiE6IER5bmFtaWNMYXlvdXRHcmlkU2VjdGlvbjtcbiAgQElucHV0KCkgZm9ybSE6IEZvcm1Hcm91cDtcbiAgQElucHV0KCkgZXJyb3JzOiBhbnkgPSB7fTtcbiAgQElucHV0KCkgZGVmYXVsdFJvd0hlaWdodDogc3RyaW5nID0gJzc2cHgnO1xuXG4gIHB1YmxpYyBudW1Db2x1bW5zOiBudW1iZXIgPSAxO1xuXG4gIHByaXZhdGUgYnJlYWtwb2ludENvbHVtbnMgPSBuZXcgTWFwKFtcbiAgICBbJ3hzJywgMV0sXG4gICAgWydzbScsIDJdLFxuICAgIFsnbWQnLCAyXSxcbiAgICBbJ2xnJywgM10sXG4gICAgWyd4bCcsIDRdLFxuICBdKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNjcmVlblNpemVTZXJ2aWNlOiBTY3JlZW5TaXplU2VydmljZSkge1xuICAgIHRoaXMuc2NyZWVuU2l6ZVNlcnZpY2Uuc2NyZWVuU2l6ZS5zdWJzY3JpYmUoKHNjcmVlblNpemU6IGFueSkgPT4ge1xuICAgICAgaWYgKHRoaXMuc2VjdGlvbj8uc2luZ2xlQ29sdW1uKSB7XG4gICAgICAgIHRoaXMubnVtQ29sdW1ucyA9IDE7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy5udW1Db2x1bW5zID0gdGhpcy5icmVha3BvaW50Q29sdW1ucy5nZXQoc2NyZWVuU2l6ZSkgfHwgMTtcbiAgICB9KTtcbiAgfVxuXG4gIGdldENvbFNwYW5Gb3JGaWVsZChmaWVsZDogRHluYW1pY0Zvcm1GaWVsZCk6IG51bWJlciB7XG4gICAgcmV0dXJuIChmaWVsZC50eXBlID09ICd0ZXh0JyB8fCBmaWVsZC50eXBlID09ICdzdHJpbmctbGcnIHx8IGZpZWxkLnR5cGUgPT0gJ21hcmtkb3duJykgPyB0aGlzLm51bUNvbHVtbnMgOiAxO1xuICB9XG5cbiAgZ2V0Um93U3BhbkZvckZpZWxkKGZpZWxkOiBEeW5hbWljRm9ybUZpZWxkKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKGZpZWxkLnR5cGUgPT0gJ3RleHQnIHx8IGZpZWxkLnR5cGUgPT0gJ21hcmtkb3duJykgPyAyIDogMTtcbiAgfVxuXG4gIGdldCB2YWxpZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtLnZhbGlkO1xuICB9XG5cbiAgZ2V0IHZhbHVlKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybS5nZXRSYXdWYWx1ZSgpO1xuICB9XG5cbiAgcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtLnJlc2V0KCk7XG4gIH1cblxufVxuIiwiPG1hbnRsZS1zZWN0aW9uLXRpdGxlICpuZ0lmPVwidGl0bGVcIiBbdGl0bGVdPVwidGl0bGVcIj48L21hbnRsZS1zZWN0aW9uLXRpdGxlPlxuXG48Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIiBjbGFzcz1cImdyaWQtZm9ybS1sYXlvdXRcIj5cbiAgPG1hdC1ncmlkLWxpc3RcbiAgICAgIFtyb3dIZWlnaHRdPVwic2VjdGlvbi5yb3dIZWlnaHQgfHwgZGVmYXVsdFJvd0hlaWdodFwiXG4gICAgICBbY29sc109XCJzZWN0aW9uLnNpbmdsZUNvbHVtbiA/IDEgOiBudW1Db2x1bW5zXCJcbiAgICAgIFtjbGFzcy5tdWx0aS1jb2x1bW5dPVwic2VjdGlvbi5zaW5nbGVDb2x1bW4gPyBmYWxzZSA6IG51bUNvbHVtbnMgPiAxXCI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBmaWVsZCBvZiBzZWN0aW9uLmVsZW1lbnRzXCI+XG4gICAgICA8bWF0LWdyaWQtdGlsZSAqbmdJZj1cIiFmaWVsZC5oaWRkZW5cIiBbY29sc3Bhbl09XCJzZWN0aW9uLnNpbmdsZUNvbHVtbiA/IDEgOiBnZXRDb2xTcGFuRm9yRmllbGQoZmllbGQpXCIgW3Jvd3NwYW5dPVwiZ2V0Um93U3BhbkZvckZpZWxkKGZpZWxkKVwiPlxuICAgICAgICA8bWFudGxlLWR5bmFtaWMtZm9ybS1maWVsZCBbZmllbGRdPVwiZmllbGRcIiBbZm9ybV09XCJmb3JtXCIgW2Vycm9yXT1cImVycm9yc1tmaWVsZC5hdHRyXVwiPjwvbWFudGxlLWR5bmFtaWMtZm9ybS1maWVsZD5cbiAgICAgIDwvbWF0LWdyaWQtdGlsZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICA8L21hdC1ncmlkLWxpc3Q+XG48L2Zvcm0+XG4iXX0=
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1mb3JtLXNlY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFudGxlL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL3NlY3Rpb25zL2dyaWQtZm9ybS1zZWN0aW9uL2dyaWQtZm9ybS1zZWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hbnRsZS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9zZWN0aW9ucy9ncmlkLWZvcm0tc2VjdGlvbi9ncmlkLWZvcm0tc2VjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7QUFXakQsTUFBTSxPQUFPLHdCQUF3QjtJQWtCbkMsWUFBb0IsaUJBQW9DO1FBQXBDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFiL0MsV0FBTSxHQUFRLEVBQUUsQ0FBQztRQUNqQixxQkFBZ0IsR0FBVyxNQUFNLENBQUM7UUFFcEMsZUFBVSxHQUFXLENBQUMsQ0FBQztRQUV0QixzQkFBaUIsR0FBRyxJQUFJLEdBQUcsQ0FBQztZQUNsQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7WUFDVCxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7WUFDVCxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7WUFDVCxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7WUFDVCxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7U0FDVixDQUFDLENBQUM7UUFHRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFVBQWUsRUFBRSxFQUFFOztZQUM5RCxJQUFJLE1BQUEsSUFBSSxDQUFDLE9BQU8sMENBQUUsWUFBWSxFQUFFO2dCQUM5QixJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQztnQkFDcEIsT0FBTzthQUNSO1lBRUQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoRSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxLQUF1QjtRQUN4QyxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQztZQUFFLE9BQU8sQ0FBQyxDQUFDO2FBQzlCLElBQUksQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7WUFBRSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7YUFDdEUsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7WUFBRSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7YUFDdkQsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7WUFBRSxPQUFPLENBQUMsQ0FBQzs7WUFDekMsT0FBTyxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVELGtCQUFrQixDQUFDLEtBQXVCO1FBQ3hDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLE1BQU0sSUFBSSxLQUFLLENBQUMsSUFBSSxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNwQixDQUFDOztxSEFuRFUsd0JBQXdCO3lHQUF4Qix3QkFBd0Isc0xDWHJDLDB3QkFnQkE7MkZETGEsd0JBQXdCO2tCQUxwQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwwQkFBMEI7b0JBQ3BDLFdBQVcsRUFBRSxvQ0FBb0M7b0JBQ2pELFNBQVMsRUFBRSxDQUFDLG9DQUFvQyxDQUFDO2lCQUNsRDt3R0FHVSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRHluYW1pY0xheW91dEdyaWRTZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGF0YS1zdHJ1Y3R1cmVzL2R5bmFtaWMtbGF5b3V0LnN0cnVjdHVyZSc7XG5pbXBvcnQgeyBEeW5hbWljRm9ybUZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvZHluYW1pYy1mb3JtLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2NyZWVuU2l6ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9zY3JlZW4tc2l6ZS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWFudGxlLWdyaWQtZm9ybS1zZWN0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2dyaWQtZm9ybS1zZWN0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZ3JpZC1mb3JtLXNlY3Rpb24uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBHcmlkRm9ybVNlY3Rpb25Db21wb25lbnQge1xuXG4gIEBJbnB1dCgpIHRpdGxlPzogc3RyaW5nO1xuICBASW5wdXQoKSBzZWN0aW9uITogRHluYW1pY0xheW91dEdyaWRTZWN0aW9uO1xuICBASW5wdXQoKSBmb3JtITogRm9ybUdyb3VwO1xuICBASW5wdXQoKSBlcnJvcnM6IGFueSA9IHt9O1xuICBASW5wdXQoKSBkZWZhdWx0Um93SGVpZ2h0OiBzdHJpbmcgPSAnNzZweCc7XG5cbiAgcHVibGljIG51bUNvbHVtbnM6IG51bWJlciA9IDE7XG5cbiAgcHJpdmF0ZSBicmVha3BvaW50Q29sdW1ucyA9IG5ldyBNYXAoW1xuICAgIFsneHMnLCAxXSxcbiAgICBbJ3NtJywgMl0sXG4gICAgWydtZCcsIDJdLFxuICAgIFsnbGcnLCAzXSxcbiAgICBbJ3hsJywgNF0sXG4gIF0pO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2NyZWVuU2l6ZVNlcnZpY2U6IFNjcmVlblNpemVTZXJ2aWNlKSB7XG4gICAgdGhpcy5zY3JlZW5TaXplU2VydmljZS5zY3JlZW5TaXplLnN1YnNjcmliZSgoc2NyZWVuU2l6ZTogYW55KSA9PiB7XG4gICAgICBpZiAodGhpcy5zZWN0aW9uPy5zaW5nbGVDb2x1bW4pIHtcbiAgICAgICAgdGhpcy5udW1Db2x1bW5zID0gMTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0aGlzLm51bUNvbHVtbnMgPSB0aGlzLmJyZWFrcG9pbnRDb2x1bW5zLmdldChzY3JlZW5TaXplKSB8fCAxO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0Q29sU3BhbkZvckZpZWxkKGZpZWxkOiBEeW5hbWljRm9ybUZpZWxkKTogbnVtYmVyIHtcbiAgICBpZiAodGhpcy5udW1Db2x1bW5zID09IDEpIHJldHVybiAxO1xuICAgIGVsc2UgaWYgKFsndGV4dCcsICdtYXJrZG93biddLmluY2x1ZGVzKGZpZWxkLnR5cGUpKSByZXR1cm4gdGhpcy5udW1Db2x1bW5zO1xuICAgIGVsc2UgaWYgKGZpZWxkLnR5cGUuZW5kc1dpdGgoJy1sZycpKSByZXR1cm4gdGhpcy5udW1Db2x1bW5zO1xuICAgIGVsc2UgaWYgKGZpZWxkLnR5cGUuZW5kc1dpdGgoJy1tZCcpKSByZXR1cm4gMjtcbiAgICBlbHNlIHJldHVybiAxO1xuICB9XG5cbiAgZ2V0Um93U3BhbkZvckZpZWxkKGZpZWxkOiBEeW5hbWljRm9ybUZpZWxkKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKGZpZWxkLnR5cGUgPT0gJ3RleHQnIHx8IGZpZWxkLnR5cGUgPT0gJ21hcmtkb3duJykgPyAyIDogMTtcbiAgfVxuXG4gIGdldCB2YWxpZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtLnZhbGlkO1xuICB9XG5cbiAgZ2V0IHZhbHVlKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybS5nZXRSYXdWYWx1ZSgpO1xuICB9XG5cbiAgcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtLnJlc2V0KCk7XG4gIH1cblxufVxuIiwiPG1hbnRsZS1zZWN0aW9uLXRpdGxlICpuZ0lmPVwidGl0bGVcIiBbdGl0bGVdPVwidGl0bGVcIj48L21hbnRsZS1zZWN0aW9uLXRpdGxlPlxuXG48Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIiBjbGFzcz1cImdyaWQtZm9ybS1sYXlvdXRcIj5cbiAgPG1hdC1ncmlkLWxpc3RcbiAgICAgIFtyb3dIZWlnaHRdPVwic2VjdGlvbi5yb3dIZWlnaHQgfHwgZGVmYXVsdFJvd0hlaWdodFwiXG4gICAgICBbY29sc109XCJzZWN0aW9uLnNpbmdsZUNvbHVtbiA/IDEgOiBudW1Db2x1bW5zXCJcbiAgICAgIFtjbGFzcy5tdWx0aS1jb2x1bW5dPVwic2VjdGlvbi5zaW5nbGVDb2x1bW4gPyBmYWxzZSA6IG51bUNvbHVtbnMgPiAxXCI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBmaWVsZCBvZiBzZWN0aW9uLmVsZW1lbnRzXCI+XG4gICAgICA8bWF0LWdyaWQtdGlsZSAqbmdJZj1cIiFmaWVsZC5oaWRkZW5cIiBbY29sc3Bhbl09XCJzZWN0aW9uLnNpbmdsZUNvbHVtbiA/IDEgOiBnZXRDb2xTcGFuRm9yRmllbGQoZmllbGQpXCIgW3Jvd3NwYW5dPVwiZ2V0Um93U3BhbkZvckZpZWxkKGZpZWxkKVwiPlxuICAgICAgICA8bWFudGxlLWR5bmFtaWMtZm9ybS1maWVsZCBbZmllbGRdPVwiZmllbGRcIiBbZm9ybV09XCJmb3JtXCIgW2Vycm9yXT1cImVycm9yc1tmaWVsZC5hdHRyXVwiPjwvbWFudGxlLWR5bmFtaWMtZm9ybS1maWVsZD5cbiAgICAgIDwvbWF0LWdyaWQtdGlsZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICA8L21hdC1ncmlkLWxpc3Q+XG48L2Zvcm0+XG4iXX0=
@@ -0,0 +1,69 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../../../titles/section-title/section-title.component";
4
+ import * as i2 from "../../../widgets/draggable-table/draggable-table.component";
5
+ import * as i3 from "@angular/material/button";
6
+ import * as i4 from "@angular/material/menu";
7
+ import * as i5 from "@angular/common";
8
+ import * as i6 from "@ngx-translate/core";
9
+ export class RosterShiftListFormSectionComponent {
10
+ constructor() { }
11
+ ngOnInit() {
12
+ this.setDropdownValues();
13
+ }
14
+ canAddRecord() {
15
+ if (!this.section.config.can_add)
16
+ return false;
17
+ if (!this.section.options.max_record_count)
18
+ return true;
19
+ let recordCount = this.form.value[this.section.config.attr].filter((item) => {
20
+ return !item._destroy;
21
+ }).length;
22
+ return this.section.options.max_record_count > recordCount;
23
+ }
24
+ setDropdownValues() {
25
+ let primaryColumnIndex = this.section.elements.findIndex((element) => element.attr == this.section.options.draggable_attr);
26
+ if (primaryColumnIndex == -1)
27
+ return;
28
+ this.dropdownValues = this.section.elements[primaryColumnIndex].options.values.filter((option) => { return !option.hidden; });
29
+ ;
30
+ }
31
+ onAddClicked(value) {
32
+ let sortAttr = this.section.options.ordinal;
33
+ let attribute = this.section.options.draggable_attr;
34
+ let tableContent = [...this.form.getRawValue()[this.section.config.attr]];
35
+ let formData = {};
36
+ formData[sortAttr] = tableContent.filter(item => { return !item._destroy; }).length + 1;
37
+ formData[attribute] = value;
38
+ tableContent.push(formData);
39
+ this.form.patchValue({
40
+ [this.section.config.attr]: tableContent
41
+ });
42
+ }
43
+ get valid() {
44
+ return this.form.valid;
45
+ }
46
+ get value() {
47
+ return this.form.getRawValue();
48
+ }
49
+ reset() {
50
+ this.form.reset();
51
+ }
52
+ }
53
+ RosterShiftListFormSectionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: RosterShiftListFormSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
54
+ RosterShiftListFormSectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.5", type: RosterShiftListFormSectionComponent, selector: "mantle-roster-shift-list-form-section", inputs: { title: "title", section: "section", form: "form" }, ngImport: i0, template: "<mantle-section-title *ngIf=\"title\" [title]=\"title\"></mantle-section-title>\n\n<div class=\"roster-shift-list-content\">\n <mantle-draggable-table\n [columns]=\"section.elements\"\n [items]=\"form.value[section.config.attr]\"\n [sortAttr]=\"section.options.ordinal\"\n [writable]=\"true\">\n </mantle-draggable-table>\n\n <div class=\"dropdown-add-button-section\" *ngIf=\"canAddRecord()\">\n <button mat-raised-button color=\"primary\"\n type=\"button\" class=\"add-button\"\n [matMenuTriggerFor]=\"dropdownMenu\">\n + {{ 'mantle.buttons.add_item' | translate }} \n </button>\n <mat-menu #dropdownMenu=\"matMenu\">\n <button *ngFor=\"let dropdownValue of dropdownValues\"\n mat-menu-item\n (click)=\"onAddClicked(dropdownValue.value)\">\n {{ dropdownValue.label }}\n </button>\n </mat-menu>\n </div>\n</div>\n", styles: [".add-button{text-transform:uppercase;border-radius:0}.dropdown-add-button-section{padding-top:20px}\n"], components: [{ type: i1.SectionTitleComponent, selector: "mantle-section-title", inputs: ["title"] }, { type: i2.DraggableTableComponent, selector: "mantle-draggable-table", inputs: ["columns", "items", "sortAttr", "writable"] }, { type: i3.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"] }, { type: i4.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i6.TranslatePipe } });
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: RosterShiftListFormSectionComponent, decorators: [{
56
+ type: Component,
57
+ args: [{
58
+ selector: 'mantle-roster-shift-list-form-section',
59
+ templateUrl: './roster-shift-list-form-section.component.html',
60
+ styleUrls: ['./roster-shift-list-form-section.component.scss']
61
+ }]
62
+ }], ctorParameters: function () { return []; }, propDecorators: { title: [{
63
+ type: Input
64
+ }], section: [{
65
+ type: Input
66
+ }], form: [{
67
+ type: Input
68
+ }] } });
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9zdGVyLXNoaWZ0LWxpc3QtZm9ybS1zZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hbnRsZS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9zZWN0aW9ucy9yb3N0ZXItc2hpZnQtbGlzdC1mb3JtLXNlY3Rpb24vcm9zdGVyLXNoaWZ0LWxpc3QtZm9ybS1zZWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hbnRsZS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9zZWN0aW9ucy9yb3N0ZXItc2hpZnQtbGlzdC1mb3JtLXNlY3Rpb24vcm9zdGVyLXNoaWZ0LWxpc3QtZm9ybS1zZWN0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7Ozs7OztBQVN6RCxNQUFNLE9BQU8sbUNBQW1DO0lBUTlDLGdCQUFnQixDQUFDO0lBRWpCLFFBQVE7UUFDTixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDL0MsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLGdCQUFnQjtZQUFFLE9BQU8sSUFBSSxDQUFDO1FBRXhELElBQUksV0FBVyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFO1lBQy9FLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUVWLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEdBQUcsV0FBVyxDQUFDO0lBQzdELENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLGtCQUFrQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUMzSCxJQUFJLGtCQUFrQixJQUFJLENBQUMsQ0FBQztZQUFFLE9BQU87UUFFckMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBVyxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQUEsQ0FBQztJQUNySSxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQWE7UUFDeEIsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO1FBQzVDLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQztRQUNwRCxJQUFJLFlBQVksR0FBRyxDQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBRSxDQUFDO1FBRTVFLElBQUksUUFBUSxHQUFRLEVBQUUsQ0FBQztRQUN2QixRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUN2RixRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsS0FBSyxDQUFDO1FBQzVCLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDbkIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxZQUFZO1NBQ3pDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3BCLENBQUM7O2dJQXpEVSxtQ0FBbUM7b0hBQW5DLG1DQUFtQywySUNUaEQsdTRCQXlCQTsyRkRoQmEsbUNBQW1DO2tCQUwvQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx1Q0FBdUM7b0JBQ2pELFdBQVcsRUFBRSxpREFBaUQ7b0JBQzlELFNBQVMsRUFBRSxDQUFDLGlEQUFpRCxDQUFDO2lCQUMvRDswRUFHVSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRHluYW1pY0xheW91dFJvc3RlclNoaWZ0TGlzdFNlY3Rpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9kYXRhLXN0cnVjdHVyZXMvZHluYW1pYy1sYXlvdXQuc3RydWN0dXJlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWFudGxlLXJvc3Rlci1zaGlmdC1saXN0LWZvcm0tc2VjdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9yb3N0ZXItc2hpZnQtbGlzdC1mb3JtLXNlY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yb3N0ZXItc2hpZnQtbGlzdC1mb3JtLXNlY3Rpb24uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBSb3N0ZXJTaGlmdExpc3RGb3JtU2VjdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KCkgdGl0bGU/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNlY3Rpb24hOiBEeW5hbWljTGF5b3V0Um9zdGVyU2hpZnRMaXN0U2VjdGlvbjtcbiAgQElucHV0KCkgZm9ybSE6IEZvcm1Hcm91cDtcblxuICBwdWJsaWMgZHJvcGRvd25WYWx1ZXMhOiB7IGxhYmVsOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcgfVtdO1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXREcm9wZG93blZhbHVlcygpO1xuICB9XG5cbiAgY2FuQWRkUmVjb3JkKCkge1xuICAgIGlmICghdGhpcy5zZWN0aW9uLmNvbmZpZy5jYW5fYWRkKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKCF0aGlzLnNlY3Rpb24ub3B0aW9ucy5tYXhfcmVjb3JkX2NvdW50KSByZXR1cm4gdHJ1ZTtcblxuICAgIGxldCByZWNvcmRDb3VudCA9IHRoaXMuZm9ybS52YWx1ZVt0aGlzLnNlY3Rpb24uY29uZmlnLmF0dHJdLmZpbHRlcigoaXRlbTogYW55KSA9PiB7XG4gICAgICByZXR1cm4gIWl0ZW0uX2Rlc3Ryb3k7XG4gICAgfSkubGVuZ3RoO1xuXG4gICAgcmV0dXJuIHRoaXMuc2VjdGlvbi5vcHRpb25zLm1heF9yZWNvcmRfY291bnQgPiByZWNvcmRDb3VudDtcbiAgfVxuXG4gIHNldERyb3Bkb3duVmFsdWVzKCk6IHZvaWQge1xuICAgIGxldCBwcmltYXJ5Q29sdW1uSW5kZXggPSB0aGlzLnNlY3Rpb24uZWxlbWVudHMuZmluZEluZGV4KChlbGVtZW50KSA9PiBlbGVtZW50LmF0dHIgPT0gdGhpcy5zZWN0aW9uLm9wdGlvbnMuZHJhZ2dhYmxlX2F0dHIpO1xuICAgIGlmIChwcmltYXJ5Q29sdW1uSW5kZXggPT0gLTEpIHJldHVybjtcblxuICAgIHRoaXMuZHJvcGRvd25WYWx1ZXMgPSB0aGlzLnNlY3Rpb24uZWxlbWVudHNbcHJpbWFyeUNvbHVtbkluZGV4XS5vcHRpb25zLnZhbHVlcy5maWx0ZXIoKG9wdGlvbjogYW55KSA9PiB7IHJldHVybiAhb3B0aW9uLmhpZGRlbiB9KTs7XG4gIH1cblxuICBvbkFkZENsaWNrZWQodmFsdWU6IHN0cmluZykge1xuICAgIGxldCBzb3J0QXR0ciA9IHRoaXMuc2VjdGlvbi5vcHRpb25zLm9yZGluYWw7XG4gICAgbGV0IGF0dHJpYnV0ZSA9IHRoaXMuc2VjdGlvbi5vcHRpb25zLmRyYWdnYWJsZV9hdHRyO1xuICAgIGxldCB0YWJsZUNvbnRlbnQgPSBbIC4uLnRoaXMuZm9ybS5nZXRSYXdWYWx1ZSgpW3RoaXMuc2VjdGlvbi5jb25maWcuYXR0cl0gXTtcblxuICAgIGxldCBmb3JtRGF0YTogYW55ID0ge307XG4gICAgZm9ybURhdGFbc29ydEF0dHJdID0gdGFibGVDb250ZW50LmZpbHRlcihpdGVtID0+IHsgcmV0dXJuICFpdGVtLl9kZXN0cm95IH0pLmxlbmd0aCArIDE7XG4gICAgZm9ybURhdGFbYXR0cmlidXRlXSA9IHZhbHVlO1xuICAgIHRhYmxlQ29udGVudC5wdXNoKGZvcm1EYXRhKTtcblxuICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgIFt0aGlzLnNlY3Rpb24uY29uZmlnLmF0dHJdOiB0YWJsZUNvbnRlbnRcbiAgICB9KTtcbiAgfVxuXG4gIGdldCB2YWxpZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtLnZhbGlkO1xuICB9XG5cbiAgZ2V0IHZhbHVlKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybS5nZXRSYXdWYWx1ZSgpO1xuICB9XG5cbiAgcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtLnJlc2V0KCk7XG4gIH1cblxufVxuIiwiPG1hbnRsZS1zZWN0aW9uLXRpdGxlICpuZ0lmPVwidGl0bGVcIiAgW3RpdGxlXT1cInRpdGxlXCI+PC9tYW50bGUtc2VjdGlvbi10aXRsZT5cblxuPGRpdiBjbGFzcz1cInJvc3Rlci1zaGlmdC1saXN0LWNvbnRlbnRcIj5cbiAgPG1hbnRsZS1kcmFnZ2FibGUtdGFibGVcbiAgICAgIFtjb2x1bW5zXT1cInNlY3Rpb24uZWxlbWVudHNcIlxuICAgICAgW2l0ZW1zXT1cImZvcm0udmFsdWVbc2VjdGlvbi5jb25maWcuYXR0cl1cIlxuICAgICAgW3NvcnRBdHRyXT1cInNlY3Rpb24ub3B0aW9ucy5vcmRpbmFsXCJcbiAgICAgIFt3cml0YWJsZV09XCJ0cnVlXCI+XG4gIDwvbWFudGxlLWRyYWdnYWJsZS10YWJsZT5cblxuICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24tYWRkLWJ1dHRvbi1zZWN0aW9uXCIgKm5nSWY9XCJjYW5BZGRSZWNvcmQoKVwiPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYWRkLWJ1dHRvblwiXG4gICAgICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJkcm9wZG93bk1lbnVcIj5cbiAgICAgICsge3sgJ21hbnRsZS5idXR0b25zLmFkZF9pdGVtJyB8IHRyYW5zbGF0ZSB9fSBcbiAgICA8L2J1dHRvbj5cbiAgICA8bWF0LW1lbnUgI2Ryb3Bkb3duTWVudT1cIm1hdE1lbnVcIj5cbiAgICAgIDxidXR0b24gKm5nRm9yPVwibGV0IGRyb3Bkb3duVmFsdWUgb2YgZHJvcGRvd25WYWx1ZXNcIlxuICAgICAgICBtYXQtbWVudS1pdGVtXG4gICAgICAgIChjbGljayk9XCJvbkFkZENsaWNrZWQoZHJvcGRvd25WYWx1ZS52YWx1ZSlcIj5cbiAgICAgICAge3sgZHJvcGRvd25WYWx1ZS5sYWJlbCB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9tYXQtbWVudT5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -9,6 +9,7 @@ import * as i3 from "../../../titles/section-title/section-title.component";
9
9
  import * as i4 from "@angular/material/button";
10
10
  import * as i5 from "../../../widgets/dynamic-table/dynamic-table.component";
11
11
  import * as i6 from "@angular/common";
12
+ import * as i7 from "@ngx-translate/core";
12
13
  export class TableFormSectionComponent {
13
14
  constructor(dialog, arrayService) {
14
15
  this.dialog = dialog;
@@ -33,6 +34,9 @@ export class TableFormSectionComponent {
33
34
  showEditButton: this.section.config.can_edit
34
35
  };
35
36
  dialogConfig.width = '80%';
37
+ if (this.section.config.modal_section) {
38
+ dialogConfig.data.section = this.formPageService.formDialogLayoutChanges(this.section.config.modal_section, record);
39
+ }
36
40
  const dialogRef = this.dialog.open(DialogNestedDetailsComponent, dialogConfig);
37
41
  dialogRef.afterClosed().subscribe((dialogResponse) => {
38
42
  if (dialogResponse && dialogResponse.edit) {
@@ -46,9 +50,13 @@ export class TableFormSectionComponent {
46
50
  title: record ? 'Edit Item' : 'Add Item',
47
51
  section: this.section.config.modal_section,
48
52
  data: record,
49
- showDeleteButton: this.section.config.can_delete
53
+ showDeleteButton: this.section.config.can_delete,
54
+ formPageService: this.formPageService
50
55
  };
51
56
  dialogConfig.width = '80%';
57
+ if (this.section.config.modal_section) {
58
+ dialogConfig.data.section = this.formPageService.formDialogLayoutChanges(this.section.config.modal_section, record || null);
59
+ }
52
60
  const dialogRef = this.dialog.open(DialogNestedFormComponent, dialogConfig);
53
61
  dialogRef.afterClosed().subscribe((formData) => {
54
62
  if (formData) {
@@ -87,7 +95,7 @@ export class TableFormSectionComponent {
87
95
  }
88
96
  }
89
97
  TableFormSectionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: TableFormSectionComponent, deps: [{ token: i1.MatDialog }, { token: i2.ArrayService }], target: i0.ɵɵFactoryTarget.Component });
90
- TableFormSectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.5", type: TableFormSectionComponent, selector: "mantle-table-form-section", inputs: { title: "title", section: "section", form: "form" }, ngImport: i0, template: "<mantle-section-title *ngIf=\"title\" [title]=\"title\"></mantle-section-title>\n\n<div class=\"table-section-content\">\n <button *ngIf=\"canAddRecord()\" mat-raised-button color=\"primary\" type=\"button\" class=\"add-button\" (click)=\"openFormDialog()\">\n + Add Item\n </button>\n\n <mantle-dynamic-table\n [columns]=\"section.elements\"\n [items]=\"form.value[section.config.attr]\"\n [withClickableRows]=\"true\"\n (rowClicked)=\"openDetailsDialog($event)\">\n </mantle-dynamic-table>\n</div>\n", styles: [".add-button{text-transform:uppercase;border-radius:0}\n"], components: [{ type: i3.SectionTitleComponent, selector: "mantle-section-title", inputs: ["title"] }, { type: i4.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"] }, { type: i5.DynamicTableComponent, selector: "mantle-dynamic-table", inputs: ["columns", "items", "withClickableRows"], outputs: ["rowClicked"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
98
+ TableFormSectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.5", type: TableFormSectionComponent, selector: "mantle-table-form-section", inputs: { title: "title", section: "section", form: "form", formPageService: "formPageService" }, ngImport: i0, template: "<mantle-section-title *ngIf=\"title\" [title]=\"title\"></mantle-section-title>\n\n<div class=\"table-section-content\">\n <button *ngIf=\"canAddRecord()\" mat-raised-button color=\"primary\" type=\"button\" class=\"add-button\" (click)=\"openFormDialog()\">\n + {{ 'mantle.buttons.add_item' | translate }}\n </button>\n\n <mantle-dynamic-table\n [columns]=\"section.elements\"\n [items]=\"form.value[section.config.attr]\"\n [withClickableRows]=\"true\"\n (rowClicked)=\"openDetailsDialog($event)\">\n </mantle-dynamic-table>\n</div>\n", styles: [".add-button{text-transform:uppercase;border-radius:0}\n"], components: [{ type: i3.SectionTitleComponent, selector: "mantle-section-title", inputs: ["title"] }, { type: i4.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"] }, { type: i5.DynamicTableComponent, selector: "mantle-dynamic-table", inputs: ["columns", "items", "withClickableRows"], outputs: ["rowClicked"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i7.TranslatePipe } });
91
99
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: TableFormSectionComponent, decorators: [{
92
100
  type: Component,
93
101
  args: [{
@@ -101,5 +109,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImpor
101
109
  type: Input
102
110
  }], form: [{
103
111
  type: Input
112
+ }], formPageService: [{
113
+ type: Input
104
114
  }] } });
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtZm9ybS1zZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hbnRsZS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9zZWN0aW9ucy90YWJsZS1mb3JtLXNlY3Rpb24vdGFibGUtZm9ybS1zZWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hbnRsZS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9zZWN0aW9ucy90YWJsZS1mb3JtLXNlY3Rpb24vdGFibGUtZm9ybS1zZWN0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpELE9BQU8sRUFBYSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxzRkFBc0YsQ0FBQztBQUNwSSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2RUFBNkUsQ0FBQzs7Ozs7Ozs7QUFTeEgsTUFBTSxPQUFPLHlCQUF5QjtJQU1wQyxZQUFvQixNQUFpQixFQUFVLFlBQTBCO1FBQXJELFdBQU0sR0FBTixNQUFNLENBQVc7UUFBVSxpQkFBWSxHQUFaLFlBQVksQ0FBYztJQUFJLENBQUM7SUFFOUUsWUFBWTtRQUNWLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDL0MsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLGdCQUFnQjtZQUFFLE9BQU8sSUFBSSxDQUFDO1FBRXhELElBQUksV0FBVyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElB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QUFDLFFBQVEsQ0FBQyxDQUFDO1NBQzdCO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDbkIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxZQUFZO1NBQ3pDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3BCLENBQUM7O3NIQXJGVSx5QkFBeUI7MEdBQXpCLHlCQUF5QiwrSENidEMsbWhCQWNBOzJGRERhLHlCQUF5QjtrQkFMckMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxXQUFXLEVBQUUscUNBQXFDO29CQUNsRCxTQUFTLEVBQUUsQ0FBQyxxQ0FBcUMsQ0FBQztpQkFDbkQ7MkhBR1UsS0FBSztzQkFBYixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ0NvbmZpZyB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2dcIjtcbmltcG9ydCB7IERpYWxvZ05lc3RlZERldGFpbHNDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9jb21wb25lbnRzL2RldGFpbHMvZGlhbG9nLW5lc3RlZC1kZXRhaWxzL2RpYWxvZy1uZXN0ZWQtZGV0YWlscy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGlhbG9nTmVzdGVkRm9ybUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvZm9ybS9kaWFsb2ctbmVzdGVkLWZvcm0vZGlhbG9nLW5lc3RlZC1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEeW5hbWljTGF5b3V0VGFibGVTZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGF0YS1zdHJ1Y3R1cmVzL2R5bmFtaWMtbGF5b3V0LnN0cnVjdHVyZSc7XG5pbXBvcnQgeyBBcnJheVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9hcnJheS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWFudGxlLXRhYmxlLWZvcm0tc2VjdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS1mb3JtLXNlY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YWJsZS1mb3JtLXNlY3Rpb24uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZUZvcm1TZWN0aW9uQ29tcG9uZW50IHtcblxuICBASW5wdXQoKSB0aXRsZT86IHN0cmluZztcbiAgQElucHV0KCkgc2VjdGlvbiE6IER5bmFtaWNMYXlvdXRUYWJsZVNlY3Rpb247XG4gIEBJbnB1dCgpIGZvcm0hOiBGb3JtR3JvdXA7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZywgcHJpdmF0ZSBhcnJheVNlcnZpY2U6IEFycmF5U2VydmljZSkgeyB9XG5cbiAgY2FuQWRkUmVjb3JkKCkge1xuICAgIGlmICghdGhpcy5zZWN0aW9uLmNvbmZpZy5jYW5fYWRkKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKCF0aGlzLnNlY3Rpb24ub3B0aW9ucy5tYXhfcmVjb3JkX2NvdW50KSByZXR1cm4gdHJ1ZTtcblxuICAgIGxldCByZWNvcmRDb3VudCA9IHRoaXMuZm9ybS52YWx1ZVt0aGlzLnNlY3Rpb24uY29uZmlnLmF0dHJdLmZpbHRlcigoaXRlbTogYW55KSA9PiB7XG4gICAgICByZXR1cm4gIWl0ZW0uX2Rlc3Ryb3k7XG4gICAgfSkubGVuZ3RoO1xuXG4gICAgcmV0dXJuIHRoaXMuc2VjdGlvbi5vcHRpb25zLm1heF9yZWNvcmRfY291bnQgPiByZWNvcmRDb3VudDtcbiAgfVxuXG4gIG9wZW5EZXRhaWxzRGlhbG9nKHJlY29yZDogYW55KTogdm9pZCB7XG4gICAgY29uc3QgZGlhbG9nQ29uZmlnID0gbmV3IE1hdERpYWxvZ0NvbmZpZygpO1xuICAgIGRpYWxvZ0NvbmZpZy5kYXRhID0ge1xuICAgICAgdGl0bGU6ICdJdGVtJyxcbiAgICAgIHNlY3Rpb246IHRoaXMuc2VjdGlvbi5jb25maWcubW9kYWxfc2VjdGlvbixcbiAgICAgIGRhdGE6IHJlY29yZCxcbiAgICAgIHNob3dFZGl0QnV0dG9uOiB0aGlzLnNlY3Rpb24uY29uZmlnLmNhbl9lZGl0XG4gICAgfTtcbiAgICBkaWFsb2dDb25maWcud2lkdGggPSAnODAlJztcblxuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oRGlhbG9nTmVzdGVkRGV0YWlsc0NvbXBvbmVudCwgZGlhbG9nQ29uZmlnKTtcbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKGRpYWxvZ1Jlc3BvbnNlKSA9PiB7XG4gICAgICBpZiAoZGlhbG9nUmVzcG9uc2UgJiYgZGlhbG9nUmVzcG9uc2UuZWRpdCkge1xuICAgICAgICB0aGlzLm9wZW5Gb3JtRGlhbG9nKHJlY29yZCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBvcGVuRm9ybURpYWxvZyhyZWNvcmQ/OiBhbnkpOiB2b2lkIHtcbiAgICBjb25zdCBkaWFsb2dDb25maWcgPSBuZXcgTWF0RGlhbG9nQ29uZmlnKCk7XG4gICAgZGlhbG9nQ29uZmlnLmRhdGEgPSB7XG4gICAgICB0aXRsZTogcmVjb3JkID8gJ0VkaXQgSXRlbScgOiAnQWRkIEl0ZW0nLFxuICAgICAgc2VjdGlvbjogdGhpcy5zZWN0aW9uLmNvbmZpZy5tb2RhbF9zZWN0aW9uLFxuICAgICAgZGF0YTogcmVjb3JkLFxuICAgICAgc2hvd0RlbGV0ZUJ1dHRvbjogdGhpcy5zZWN0aW9uLmNvbmZpZy5jYW5fZGVsZXRlXG4gICAgfTtcbiAgICBkaWFsb2dDb25maWcud2lkdGggPSAnODAlJztcblxuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oRGlhbG9nTmVzdGVkRm9ybUNvbXBvbmVudCwgZGlhbG9nQ29uZmlnKTtcbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKGZvcm1EYXRhKSA9PiB7XG4gICAgICBpZiAoZm9ybURhdGEpIHtcbiAgICAgICAgdGhpcy5vbkRpYWxvZ0Zvcm1DbG9zZWQoZm9ybURhdGEsIHJlY29yZCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBvbkRpYWxvZ0Zvcm1DbG9zZWQoZm9ybURhdGE6IGFueSwgZXhpc3RpbmdSZWNvcmQ/OiBhbnkpOiB2b2lkIHtcbiAgICBsZXQgdGFibGVDb250ZW50ID0gWyAuLi50aGlzLmZvcm0uZ2V0UmF3VmFsdWUoKVt0aGlzLnNlY3Rpb24uY29uZmlnLmF0dHJdIF07XG5cbiAgICBpZiAoZm9ybURhdGEuaWQpIHtcbiAgICAgIHRoaXMuYXJyYXlTZXJ2aWNlLnJlcGxhY2VCeUlkKHRhYmxlQ29udGVudCwgZm9ybURhdGEuaWQsIGZvcm1EYXRhKTtcbiAgICB9XG4gICAgZWxzZSBpZiAoZXhpc3RpbmdSZWNvcmQpIHtcbiAgICAgIGlmIChmb3JtRGF0YS5fZGVzdHJveSkgdGhpcy5hcnJheVNlcnZpY2UucmVtb3ZlSXRlbSh0YWJsZUNvbnRlbnQsIGV4aXN0aW5nUmVjb3JkKTtcbiAgICAgIGVsc2UgdGhpcy5hcnJheVNlcnZpY2UucmVwbGFjZUl0ZW0odGFibGVDb250ZW50LCBleGlzdGluZ1JlY29yZCwgZm9ybURhdGEpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIGlmIChmb3JtRGF0YS5fZGVzdHJveSkgcmV0dXJuO1xuICAgICAgdGFibGVDb250ZW50LnB1c2goZm9ybURhdGEpO1xuICAgIH1cblxuICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgIFt0aGlzLnNlY3Rpb24uY29uZmlnLmF0dHJdOiB0YWJsZUNvbnRlbnRcbiAgICB9KTtcbiAgfVxuXG4gIGdldCB2YWxpZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtLnZhbGlkO1xuICB9XG5cbiAgZ2V0IHZhbHVlKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybS5nZXRSYXdWYWx1ZSgpO1xuICB9XG5cbiAgcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtLnJlc2V0KCk7XG4gIH1cblxufVxuIiwiPG1hbnRsZS1zZWN0aW9uLXRpdGxlICpuZ0lmPVwidGl0bGVcIiAgW3RpdGxlXT1cInRpdGxlXCI+PC9tYW50bGUtc2VjdGlvbi10aXRsZT5cblxuPGRpdiBjbGFzcz1cInRhYmxlLXNlY3Rpb24tY29udGVudFwiPlxuICA8YnV0dG9uICpuZ0lmPVwiY2FuQWRkUmVjb3JkKClcIiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJhZGQtYnV0dG9uXCIgKGNsaWNrKT1cIm9wZW5Gb3JtRGlhbG9nKClcIj5cbiAgICArIEFkZCBJdGVtXG4gIDwvYnV0dG9uPlxuXG4gIDxtYW50bGUtZHluYW1pYy10YWJsZVxuICAgICAgW2NvbHVtbnNdPVwic2VjdGlvbi5lbGVtZW50c1wiXG4gICAgICBbaXRlbXNdPVwiZm9ybS52YWx1ZVtzZWN0aW9uLmNvbmZpZy5hdHRyXVwiXG4gICAgICBbd2l0aENsaWNrYWJsZVJvd3NdPVwidHJ1ZVwiXG4gICAgICAocm93Q2xpY2tlZCk9XCJvcGVuRGV0YWlsc0RpYWxvZygkZXZlbnQpXCI+XG4gIDwvbWFudGxlLWR5bmFtaWMtdGFibGU+XG48L2Rpdj5cbiJdfQ==
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtZm9ybS1zZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hbnRsZS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9zZWN0aW9ucy90YWJsZS1mb3JtLXNlY3Rpb24vdGFibGUtZm9ybS1zZWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hbnRsZS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9zZWN0aW9ucy90YWJsZS1mb3JtLXNlY3Rpb24vdGFibGUtZm9ybS1zZWN0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpELE9BQU8sRUFBYSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxzRkFBc0YsQ0FBQztBQUNwSSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2RUFBNkUsQ0FBQzs7Ozs7Ozs7O0FBVXhILE1BQU0sT0FBTyx5QkFBeUI7SUFPcEMsWUFBb0IsTUFBaUIsRUFBVSxZQUEwQjtRQUFyRCxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQVUsaUJBQVksR0FBWixZQUFZLENBQWM7SUFBSSxDQUFDO0lBRTlFLFlBQVk7UUFDVixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQy9DLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0I7WUFBRSxPQUFPLElBQUksQ0FBQztRQUV4RCxJQUFJLFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJ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aUJBQ25EOzJIQUdVLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ0NvbmZpZyB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2dcIjtcbmltcG9ydCB7IERpYWxvZ05lc3RlZERldGFpbHNDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9jb21wb25lbnRzL2RldGFpbHMvZGlhbG9nLW5lc3RlZC1kZXRhaWxzL2RpYWxvZy1uZXN0ZWQtZGV0YWlscy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGlhbG9nTmVzdGVkRm9ybUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvZm9ybS9kaWFsb2ctbmVzdGVkLWZvcm0vZGlhbG9nLW5lc3RlZC1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEeW5hbWljTGF5b3V0VGFibGVTZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGF0YS1zdHJ1Y3R1cmVzL2R5bmFtaWMtbGF5b3V0LnN0cnVjdHVyZSc7XG5pbXBvcnQgeyBBcnJheVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9hcnJheS5zZXJ2aWNlJztcbmltcG9ydCB7IEZvcm1QYWdlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2ludGVyZmFjZXMvZm9ybS1wYWdlLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtYW50bGUtdGFibGUtZm9ybS1zZWN0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLWZvcm0tc2VjdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RhYmxlLWZvcm0tc2VjdGlvbi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlRm9ybVNlY3Rpb25Db21wb25lbnQge1xuXG4gIEBJbnB1dCgpIHRpdGxlPzogc3RyaW5nO1xuICBASW5wdXQoKSBzZWN0aW9uITogRHluYW1pY0xheW91dFRhYmxlU2VjdGlvbjtcbiAgQElucHV0KCkgZm9ybSE6IEZvcm1Hcm91cDtcbiAgQElucHV0KCkgZm9ybVBhZ2VTZXJ2aWNlITogRm9ybVBhZ2VTZXJ2aWNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2csIHByaXZhdGUgYXJyYXlTZXJ2aWNlOiBBcnJheVNlcnZpY2UpIHsgfVxuXG4gIGNhbkFkZFJlY29yZCgpIHtcbiAgICBpZiAoIXRoaXMuc2VjdGlvbi5jb25maWcuY2FuX2FkZCkgcmV0dXJuIGZhbHNlO1xuICAgIGlmICghdGhpcy5zZWN0aW9uLm9wdGlvbnMubWF4X3JlY29yZF9jb3VudCkgcmV0dXJuIHRydWU7XG5cbiAgICBsZXQgcmVjb3JkQ291bnQgPSB0aGlzLmZvcm0udmFsdWVbdGhpcy5zZWN0aW9uLmNvbmZpZy5hdHRyXS5maWx0ZXIoKGl0ZW06IGFueSkgPT4ge1xuICAgICAgcmV0dXJuICFpdGVtLl9kZXN0cm95O1xuICAgIH0pLmxlbmd0aDtcblxuICAgIHJldHVybiB0aGlzLnNlY3Rpb24ub3B0aW9ucy5tYXhfcmVjb3JkX2NvdW50ID4gcmVjb3JkQ291bnQ7XG4gIH1cblxuICBvcGVuRGV0YWlsc0RpYWxvZyhyZWNvcmQ6IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IGRpYWxvZ0NvbmZpZyA9IG5ldyBNYXREaWFsb2dDb25maWcoKTtcbiAgICBkaWFsb2dDb25maWcuZGF0YSA9IHtcbiAgICAgIHRpdGxlOiAnSXRlbScsXG4gICAgICBzZWN0aW9uOiB0aGlzLnNlY3Rpb24uY29uZmlnLm1vZGFsX3NlY3Rpb24sXG4gICAgICBkYXRhOiByZWNvcmQsXG4gICAgICBzaG93RWRpdEJ1dHRvbjogdGhpcy5zZWN0aW9uLmNvbmZpZy5jYW5fZWRpdFxuICAgIH07XG4gICAgZGlhbG9nQ29uZmlnLndpZHRoID0gJzgwJSc7XG5cbiAgICBpZiAodGhpcy5zZWN0aW9uLmNvbmZpZy5tb2RhbF9zZWN0aW9uKSB7XG4gICAgICBkaWFsb2dDb25maWcuZGF0YS5zZWN0aW9uID0gdGhpcy5mb3JtUGFnZVNlcnZpY2UuZm9ybURpYWxvZ0xheW91dENoYW5nZXModGhpcy5zZWN0aW9uLmNvbmZpZy5tb2RhbF9zZWN0aW9uLCByZWNvcmQpO1xuICAgIH1cblxuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oRGlhbG9nTmVzdGVkRGV0YWlsc0NvbXBvbmVudCwgZGlhbG9nQ29uZmlnKTtcbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKGRpYWxvZ1Jlc3BvbnNlKSA9PiB7XG4gICAgICBpZiAoZGlhbG9nUmVzcG9uc2UgJiYgZGlhbG9nUmVzcG9uc2UuZWRpdCkge1xuICAgICAgICB0aGlzLm9wZW5Gb3JtRGlhbG9nKHJlY29yZCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBvcGVuRm9ybURpYWxvZyhyZWNvcmQ/OiBhbnkpOiB2b2lkIHtcbiAgICBjb25zdCBkaWFsb2dDb25maWcgPSBuZXcgTWF0RGlhbG9nQ29uZmlnKCk7XG4gICAgZGlhbG9nQ29uZmlnLmRhdGEgPSB7XG4gICAgICB0aXRsZTogcmVjb3JkID8gJ0VkaXQgSXRlbScgOiAnQWRkIEl0ZW0nLFxuICAgICAgc2VjdGlvbjogdGhpcy5zZWN0aW9uLmNvbmZpZy5tb2RhbF9zZWN0aW9uLFxuICAgICAgZGF0YTogcmVjb3JkLFxuICAgICAgc2hvd0RlbGV0ZUJ1dHRvbjogdGhpcy5zZWN0aW9uLmNvbmZpZy5jYW5fZGVsZXRlLFxuICAgICAgZm9ybVBhZ2VTZXJ2aWNlOiB0aGlzLmZvcm1QYWdlU2VydmljZVxuICAgIH07XG4gICAgZGlhbG9nQ29uZmlnLndpZHRoID0gJzgwJSc7XG5cbiAgICBpZiAodGhpcy5zZWN0aW9uLmNvbmZpZy5tb2RhbF9zZWN0aW9uKSB7XG4gICAgICBkaWFsb2dDb25maWcuZGF0YS5zZWN0aW9uID0gdGhpcy5mb3JtUGFnZVNlcnZpY2UuZm9ybURpYWxvZ0xheW91dENoYW5nZXModGhpcy5zZWN0aW9uLmNvbmZpZy5tb2RhbF9zZWN0aW9uLCByZWNvcmQgfHwgbnVsbCk7XG4gICAgfVxuXG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihEaWFsb2dOZXN0ZWRGb3JtQ29tcG9uZW50LCBkaWFsb2dDb25maWcpO1xuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgoZm9ybURhdGEpID0+IHtcbiAgICAgIGlmIChmb3JtRGF0YSkge1xuICAgICAgICB0aGlzLm9uRGlhbG9nRm9ybUNsb3NlZChmb3JtRGF0YSwgcmVjb3JkKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG9uRGlhbG9nRm9ybUNsb3NlZChmb3JtRGF0YTogYW55LCBleGlzdGluZ1JlY29yZD86IGFueSk6IHZvaWQge1xuICAgIGxldCB0YWJsZUNvbnRlbnQgPSBbIC4uLnRoaXMuZm9ybS5nZXRSYXdWYWx1ZSgpW3RoaXMuc2VjdGlvbi5jb25maWcuYXR0cl0gXTtcblxuICAgIGlmIChmb3JtRGF0YS5pZCkge1xuICAgICAgdGhpcy5hcnJheVNlcnZpY2UucmVwbGFjZUJ5SWQodGFibGVDb250ZW50LCBmb3JtRGF0YS5pZCwgZm9ybURhdGEpO1xuICAgIH1cbiAgICBlbHNlIGlmIChleGlzdGluZ1JlY29yZCkge1xuICAgICAgaWYgKGZvcm1EYXRhLl9kZXN0cm95KSB0aGlzLmFycmF5U2VydmljZS5yZW1vdmVJdGVtKHRhYmxlQ29udGVudCwgZXhpc3RpbmdSZWNvcmQpO1xuICAgICAgZWxzZSB0aGlzLmFycmF5U2VydmljZS5yZXBsYWNlSXRlbSh0YWJsZUNvbnRlbnQsIGV4aXN0aW5nUmVjb3JkLCBmb3JtRGF0YSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgaWYgKGZvcm1EYXRhLl9kZXN0cm95KSByZXR1cm47XG4gICAgICB0YWJsZUNvbnRlbnQucHVzaChmb3JtRGF0YSk7XG4gICAgfVxuXG4gICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgW3RoaXMuc2VjdGlvbi5jb25maWcuYXR0cl06IHRhYmxlQ29udGVudFxuICAgIH0pO1xuICB9XG5cbiAgZ2V0IHZhbGlkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmZvcm0udmFsaWQ7XG4gIH1cblxuICBnZXQgdmFsdWUoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5mb3JtLmdldFJhd1ZhbHVlKCk7XG4gIH1cblxuICByZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm0ucmVzZXQoKTtcbiAgfVxuXG59XG4iLCI8bWFudGxlLXNlY3Rpb24tdGl0bGUgKm5nSWY9XCJ0aXRsZVwiICBbdGl0bGVdPVwidGl0bGVcIj48L21hbnRsZS1zZWN0aW9uLXRpdGxlPlxuXG48ZGl2IGNsYXNzPVwidGFibGUtc2VjdGlvbi1jb250ZW50XCI+XG4gIDxidXR0b24gKm5nSWY9XCJjYW5BZGRSZWNvcmQoKVwiIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImFkZC1idXR0b25cIiAoY2xpY2spPVwib3BlbkZvcm1EaWFsb2coKVwiPlxuICAgICsge3sgJ21hbnRsZS5idXR0b25zLmFkZF9pdGVtJyB8IHRyYW5zbGF0ZSB9fVxuICA8L2J1dHRvbj5cblxuICA8bWFudGxlLWR5bmFtaWMtdGFibGVcbiAgICAgIFtjb2x1bW5zXT1cInNlY3Rpb24uZWxlbWVudHNcIlxuICAgICAgW2l0ZW1zXT1cImZvcm0udmFsdWVbc2VjdGlvbi5jb25maWcuYXR0cl1cIlxuICAgICAgW3dpdGhDbGlja2FibGVSb3dzXT1cInRydWVcIlxuICAgICAgKHJvd0NsaWNrZWQpPVwib3BlbkRldGFpbHNEaWFsb2coJGV2ZW50KVwiPlxuICA8L21hbnRsZS1keW5hbWljLXRhYmxlPlxuPC9kaXY+XG4iXX0=