@codetectonics/mantle 0.0.6 → 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.
- package/bundles/codetectonics-mantle.umd.js +7870 -6899
- package/bundles/codetectonics-mantle.umd.js.map +1 -1
- package/esm2015/lib/components/dashboard/containers/dynamic-dashboard-container/dynamic-dashboard-container.component.js +4 -4
- package/esm2015/lib/components/dashboard/containers/plain-dashboard-container/plain-dashboard-container.component.js +4 -4
- package/esm2015/lib/components/dashboard/dashboard-card/dashboard-card.component.js +5 -6
- package/esm2015/lib/components/dashboard/dashboard-card-search-menu/dashboard-card-search-menu.component.js +5 -6
- package/esm2015/lib/components/dashboard/dynamic-dashboard/dynamic-dashboard.component.js +4 -4
- package/esm2015/lib/components/dashboard/sections/dashboard-section/dashboard-section.component.js +4 -6
- package/esm2015/lib/components/dashboard/widgets/dashboard-info-card/dashboard-info-card.component.js +4 -4
- package/esm2015/lib/components/dashboard/widgets/dashboard-table/dashboard-table.component.js +8 -5
- package/esm2015/lib/components/dashboard/widgets/dynamic-chart/dynamic-chart.component.js +11 -5
- package/esm2015/lib/components/dashboard/widgets/dynamic-widget-display/dynamic-widget-display.component.js +4 -4
- package/esm2015/lib/components/details/containers/accordion-details-container/accordion-details-container.component.js +4 -4
- package/esm2015/lib/components/details/containers/dynamic-details-container/dynamic-details-container.component.js +4 -4
- package/esm2015/lib/components/details/containers/plain-details-container/plain-details-container.component.js +4 -4
- package/esm2015/lib/components/details/dialog-details/dialog-details.component.js +15 -9
- package/esm2015/lib/components/details/dialog-nested-details/dialog-nested-details.component.js +6 -5
- package/esm2015/lib/components/details/dynamic-details/dynamic-details.component.js +4 -4
- package/esm2015/lib/components/details/fields/actions-attribute-display/actions-attribute-display.component.js +4 -4
- package/esm2015/lib/components/details/fields/chip-attribute-display/chip-attribute-display.component.js +4 -4
- package/esm2015/lib/components/details/fields/dynamic-attribute-display/dynamic-attribute-display.component.js +7 -7
- package/esm2015/lib/components/details/fields/file-attribute-display/file-attribute-display.component.js +5 -5
- package/esm2015/lib/components/details/fields/icon-attribute-display/icon-attribute-display.component.js +22 -0
- package/esm2015/lib/components/details/fields/image-attribute-display/image-attribute-display.component.js +5 -5
- package/esm2015/lib/components/details/fields/link-attribute-display/link-attribute-display.component.js +4 -5
- package/esm2015/lib/components/details/fields/markdown-attribute-display/markdown-attribute-display.component.js +4 -4
- package/esm2015/lib/components/details/fields/thumbnail-display/thumbnail-display.component.js +4 -4
- package/esm2015/lib/components/details/sections/dynamic-details-section/dynamic-details-section.component.js +9 -5
- package/esm2015/lib/components/details/sections/grid-details-section/grid-details-section.component.js +19 -8
- package/esm2015/lib/components/details/sections/markdown-details-section/markdown-details-section.component.js +4 -4
- package/esm2015/lib/components/details/sections/roster-shift-list-details-section/roster-shift-list-details-section.component.js +21 -0
- package/esm2015/lib/components/details/sections/table-details-section/table-details-section.component.js +10 -5
- package/esm2015/lib/components/form/containers/accordion-form-container/accordion-form-container.component.js +4 -5
- package/esm2015/lib/components/form/containers/dynamic-form-container/dynamic-form-container.component.js +4 -5
- package/esm2015/lib/components/form/containers/plain-form-container/plain-form-container.component.js +4 -5
- package/esm2015/lib/components/form/dialog-form/dialog-form.component.js +22 -11
- package/esm2015/lib/components/form/dialog-nested-form/dialog-nested-form.component.js +17 -8
- package/esm2015/lib/components/form/dynamic-form/dynamic-form.component.js +10 -7
- package/esm2015/lib/components/form/fields/autocomplete-input/autocomplete-input.component.js +6 -5
- package/esm2015/lib/components/form/fields/chip-input/chip-input.component.js +6 -5
- package/esm2015/lib/components/form/fields/datepicker/datepicker.component.js +6 -5
- package/esm2015/lib/components/form/fields/datetimepicker/datetimepicker.component.js +6 -5
- package/esm2015/lib/components/form/fields/dropdown/dropdown.component.js +6 -5
- package/esm2015/lib/components/form/fields/dynamic-form-field/dynamic-form-field.component.js +17 -15
- package/esm2015/lib/components/form/fields/filepicker/filepicker.component.js +7 -7
- package/esm2015/lib/components/form/fields/image-cropper/image-cropper.component.js +6 -5
- package/esm2015/lib/components/form/fields/imagepicker/imagepicker.component.js +7 -8
- package/esm2015/lib/components/form/fields/markdown-input/markdown-input.component.js +6 -5
- package/esm2015/lib/components/form/fields/number-input/number-input.component.js +6 -5
- package/esm2015/lib/components/form/fields/password-input/password-input.component.js +6 -5
- package/esm2015/lib/components/form/fields/text-input/text-input.component.js +6 -5
- package/esm2015/lib/components/form/fields/textarea/textarea.component.js +6 -5
- package/esm2015/lib/components/form/fields/time-input/time-input.component.js +80 -0
- package/esm2015/lib/components/form/sections/dynamic-form-section/dynamic-form-section.component.js +17 -10
- package/esm2015/lib/components/form/sections/grid-form-section/grid-form-section.component.js +14 -7
- package/esm2015/lib/components/form/sections/roster-shift-list-form-section/roster-shift-list-form-section.component.js +69 -0
- package/esm2015/lib/components/form/sections/table-form-section/table-form-section.component.js +16 -8
- package/esm2015/lib/components/layout-editor/containers/accordion-layout-editor-container/accordion-layout-editor-container.component.js +4 -4
- package/esm2015/lib/components/layout-editor/containers/dynamic-layout-editor-container/dynamic-layout-editor-container.component.js +4 -4
- package/esm2015/lib/components/layout-editor/containers/plain-layout-editor-container/plain-layout-editor-container.component.js +4 -4
- package/esm2015/lib/components/layout-editor/dynamic-layout-editor/dynamic-layout-editor.component.js +4 -4
- package/esm2015/lib/components/layout-editor/elements/dynamic-layout-editor-element/dynamic-layout-editor-element.component.js +4 -4
- package/esm2015/lib/components/layout-editor/elements/layout-editor-field-element/layout-editor-field-element.component.js +5 -5
- package/esm2015/lib/components/layout-editor/elements/layout-editor-table-column-element/layout-editor-table-column-element.component.js +5 -5
- package/esm2015/lib/components/layout-editor/elements/layout-editor-widget-element/layout-editor-widget-element.component.js +4 -4
- package/esm2015/lib/components/layout-editor/sections/dashboard-layout-editor-section/dashboard-layout-editor-section.component.js +4 -4
- package/esm2015/lib/components/layout-editor/sections/dynamic-layout-editor-section/dynamic-layout-editor-section.component.js +4 -4
- package/esm2015/lib/components/layout-editor/sections/grid-layout-editor-section/grid-layout-editor-section.component.js +5 -7
- package/esm2015/lib/components/layout-editor/sections/markdown-layout-editor-section/markdown-layout-editor-section.component.js +4 -4
- package/esm2015/lib/components/layout-editor/sections/table-layout-editor-section/table-layout-editor-section.component.js +5 -6
- package/esm2015/lib/components/navigation/nav-tree/nav-tree.component.js +7 -6
- package/esm2015/lib/components/navigation/paginator/custom-paginator-intl.js +33 -0
- package/esm2015/lib/components/navigation/reroute/reroute.component.js +5 -6
- package/esm2015/lib/components/pages/dashboard-page/dashboard-page.component.js +7 -7
- package/esm2015/lib/components/pages/detail-page/detail-page.component.js +28 -24
- package/esm2015/lib/components/pages/documents-page/documents-page.component.js +7 -10
- package/esm2015/lib/components/pages/export-page/export-page.component.js +7 -9
- package/esm2015/lib/components/pages/form-page/form-page.component.js +10 -12
- package/esm2015/lib/components/pages/layout-editor-page/layout-editor-page.component.js +15 -13
- package/esm2015/lib/components/pages/list-page/list-page-datasource.js +2 -2
- package/esm2015/lib/components/pages/list-page/list-page.component.js +25 -17
- package/esm2015/lib/components/pages/roster-page/roster-gantt.data.js +50 -0
- package/esm2015/lib/components/pages/roster-page/roster-page.component.js +134 -0
- package/esm2015/lib/components/pages/tabbed-page/tabbed-page.component.js +6 -6
- package/esm2015/lib/components/titles/content-title/content-title.component.js +4 -4
- package/esm2015/lib/components/titles/page-title/page-title.component.js +12 -11
- package/esm2015/lib/components/titles/section-title/section-title.component.js +5 -4
- package/esm2015/lib/components/widgets/delete-confirmation-dialog/delete-confirmation-dialog.component.js +6 -5
- package/esm2015/lib/components/widgets/draggable-table/draggable-table-datasource.js +31 -0
- package/esm2015/lib/components/widgets/draggable-table/draggable-table.component.js +79 -0
- package/esm2015/lib/components/widgets/dynamic-table/dynamic-table-datasource.js +1 -1
- package/esm2015/lib/components/widgets/dynamic-table/dynamic-table.component.js +6 -8
- package/esm2015/lib/components/widgets/file-preview-dialog/file-preview-dialog.component.js +6 -6
- package/esm2015/lib/components/widgets/loader/loader.component.js +4 -4
- package/esm2015/lib/components/widgets/qr-code-dialog/qr-code-dialog.component.js +37 -0
- package/esm2015/lib/components/widgets/save-confirmation-dialog/save-confirmation-dialog.component.js +7 -6
- package/esm2015/lib/components/widgets/search-panel/search-panel.component.js +5 -6
- package/esm2015/lib/components/widgets/snackbar/snackbar.component.js +6 -5
- package/esm2015/lib/data-structures/dynamic-layout.structure.js +1 -1
- package/esm2015/lib/directives/click-stop-propagation.directive.js +4 -4
- package/esm2015/lib/directives/file-dropzone.directive.js +4 -4
- package/esm2015/lib/guards/feature.guard.js +6 -9
- package/esm2015/lib/guards/password-check.guard.js +4 -5
- package/esm2015/lib/guards/session.guard.js +4 -5
- package/esm2015/lib/language-packs/en.data.js +62 -0
- package/esm2015/lib/language-packs/ms.data.js +62 -0
- package/esm2015/lib/mantle.module.js +53 -8
- package/esm2015/lib/material.module.js +16 -6
- package/esm2015/lib/pipes/dynamic.pipe.js +4 -4
- package/esm2015/lib/pipes/secure-image.pipe.js +4 -5
- package/esm2015/lib/services/announcement.service.js +4 -5
- package/esm2015/lib/services/array.service.js +4 -5
- package/esm2015/lib/services/chart.service.js +4 -5
- package/esm2015/lib/services/confirmation.service.js +6 -6
- package/esm2015/lib/services/current-user.service.js +57 -26
- package/esm2015/lib/services/data-broadcast.service.js +18 -0
- package/esm2015/lib/services/dynamic-form.service.js +5 -4
- package/esm2015/lib/services/feature-config.service.js +34 -12
- package/esm2015/lib/services/interfaces/detail-page.service.js +1 -1
- package/esm2015/lib/services/interfaces/form-page.service.js +1 -1
- package/esm2015/lib/services/interfaces/list-page.service.js +1 -1
- package/esm2015/lib/services/interfaces/roster-page.service.js +2 -0
- package/esm2015/lib/services/interfaces/roster-schedule.service.js +2 -0
- package/esm2015/lib/services/locale.service.js +75 -0
- package/esm2015/lib/services/object.service.js +12 -4
- package/esm2015/lib/services/password-check.service.js +13 -14
- package/esm2015/lib/services/screen-size.service.js +5 -5
- package/esm2015/lib/services/web-api.service.js +4 -6
- package/esm2015/lib/services/websocket.service.js +4 -5
- package/esm2015/public-api.js +15 -1
- package/fesm2015/codetectonics-mantle.js +1412 -509
- package/fesm2015/codetectonics-mantle.js.map +1 -1
- package/lib/components/dashboard/widgets/dashboard-table/dashboard-table.component.d.ts +2 -1
- package/lib/components/details/dialog-details/dialog-details.component.d.ts +1 -0
- package/lib/components/details/fields/dynamic-attribute-display/dynamic-attribute-display.component.d.ts +1 -1
- package/lib/components/details/fields/icon-attribute-display/icon-attribute-display.component.d.ts +6 -0
- package/lib/components/details/sections/dynamic-details-section/dynamic-details-section.component.d.ts +2 -1
- package/lib/components/details/sections/roster-shift-list-details-section/roster-shift-list-details-section.component.d.ts +9 -0
- package/lib/components/details/sections/table-details-section/table-details-section.component.d.ts +3 -1
- package/lib/components/form/dialog-form/dialog-form.component.d.ts +5 -1
- package/lib/components/form/dialog-nested-form/dialog-nested-form.component.d.ts +3 -0
- package/lib/components/form/fields/time-input/time-input.component.d.ts +22 -0
- package/lib/components/form/sections/dynamic-form-section/dynamic-form-section.component.d.ts +4 -1
- package/lib/components/form/sections/roster-shift-list-form-section/roster-shift-list-form-section.component.d.ts +23 -0
- package/lib/components/form/sections/table-form-section/table-form-section.component.d.ts +3 -1
- package/lib/components/navigation/nav-tree/nav-tree.component.d.ts +2 -2
- package/lib/components/navigation/paginator/custom-paginator-intl.d.ts +12 -0
- package/lib/components/pages/detail-page/detail-page.component.d.ts +4 -3
- package/lib/components/pages/layout-editor-page/layout-editor-page.component.d.ts +2 -1
- package/lib/components/pages/list-page/list-page.component.d.ts +4 -1
- package/lib/components/pages/roster-page/roster-gantt.data.d.ts +1 -0
- package/lib/components/pages/roster-page/roster-page.component.d.ts +40 -0
- package/lib/components/titles/page-title/page-title.component.d.ts +3 -1
- package/lib/components/widgets/delete-confirmation-dialog/delete-confirmation-dialog.component.d.ts +6 -5
- package/lib/components/widgets/draggable-table/draggable-table-datasource.d.ts +23 -0
- package/lib/components/widgets/draggable-table/draggable-table.component.d.ts +24 -0
- package/lib/components/widgets/dynamic-table/dynamic-table-datasource.d.ts +1 -1
- package/lib/components/widgets/dynamic-table/dynamic-table.component.d.ts +1 -6
- package/lib/components/widgets/qr-code-dialog/qr-code-dialog.component.d.ts +18 -0
- package/lib/components/widgets/save-confirmation-dialog/save-confirmation-dialog.component.d.ts +4 -5
- package/lib/data-structures/dynamic-layout.structure.d.ts +19 -1
- package/lib/language-packs/en.data.d.ts +61 -0
- package/lib/language-packs/ms.data.d.ts +61 -0
- package/lib/mantle.module.d.ts +104 -94
- package/lib/material.module.d.ts +12 -11
- package/lib/services/current-user.service.d.ts +14 -7
- package/lib/services/data-broadcast.service.d.ts +8 -0
- package/lib/services/dynamic-form.service.d.ts +2 -0
- package/lib/services/feature-config.service.d.ts +15 -3
- package/lib/services/interfaces/detail-page.service.d.ts +4 -2
- package/lib/services/interfaces/form-page.service.d.ts +11 -3
- package/lib/services/interfaces/list-page.service.d.ts +14 -1
- package/lib/services/interfaces/roster-page.service.d.ts +20 -0
- package/lib/services/interfaces/roster-schedule.service.d.ts +22 -0
- package/lib/services/locale.service.d.ts +21 -0
- package/lib/services/object.service.d.ts +2 -0
- package/lib/services/password-check.service.d.ts +3 -1
- package/package.json +5 -5
- package/public-api.d.ts +14 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Component, Input } from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { MatDialogConfig } from "@angular/material/dialog";
|
|
3
3
|
import { DialogNestedDetailsComponent } from '../../../../components/details/dialog-nested-details/dialog-nested-details.component';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import * as i1 from "@angular/material/dialog";
|
|
@@ -17,12 +17,15 @@ export class TableDetailsSectionComponent {
|
|
|
17
17
|
showEditButton: false
|
|
18
18
|
};
|
|
19
19
|
dialogConfig.width = '80%';
|
|
20
|
+
if (this.section.config.modal_section) {
|
|
21
|
+
dialogConfig.data.section = this.detailPageService.detailDialogLayoutChanges(this.section.config.modal_section, record);
|
|
22
|
+
}
|
|
20
23
|
this.dialog.open(DialogNestedDetailsComponent, dialogConfig);
|
|
21
24
|
}
|
|
22
25
|
}
|
|
23
|
-
TableDetailsSectionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.
|
|
24
|
-
TableDetailsSectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.
|
|
25
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.
|
|
26
|
+
TableDetailsSectionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: TableDetailsSectionComponent, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
|
|
27
|
+
TableDetailsSectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.5", type: TableDetailsSectionComponent, selector: "mantle-table-details-section", inputs: { data: "data", section: "section", detailPageService: "detailPageService" }, ngImport: i0, template: "<div class=\"table-section-content\">\n <mantle-dynamic-table\n [columns]=\"section.elements\"\n [items]=\"data[section.config.attr]\"\n [withClickableRows]=\"true\"\n (rowClicked)=\"openDetailsDialog($event)\">\n </mantle-dynamic-table>\n</div>\n", styles: [""], components: [{ type: i2.DynamicTableComponent, selector: "mantle-dynamic-table", inputs: ["columns", "items", "withClickableRows"], outputs: ["rowClicked"] }] });
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: TableDetailsSectionComponent, decorators: [{
|
|
26
29
|
type: Component,
|
|
27
30
|
args: [{
|
|
28
31
|
selector: 'mantle-table-details-section',
|
|
@@ -33,5 +36,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
33
36
|
type: Input
|
|
34
37
|
}], section: [{
|
|
35
38
|
type: Input
|
|
39
|
+
}], detailPageService: [{
|
|
40
|
+
type: Input
|
|
36
41
|
}] } });
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtZGV0YWlscy1zZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hbnRsZS9zcmMvbGliL2NvbXBvbmVudHMvZGV0YWlscy9zZWN0aW9ucy90YWJsZS1kZXRhaWxzLXNlY3Rpb24vdGFibGUtZGV0YWlscy1zZWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hbnRsZS9zcmMvbGliL2NvbXBvbmVudHMvZGV0YWlscy9zZWN0aW9ucy90YWJsZS1kZXRhaWxzLXNlY3Rpb24vdGFibGUtZGV0YWlscy1zZWN0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBYSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV0RSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxzRkFBc0YsQ0FBQzs7OztBQVFwSSxNQUFNLE9BQU8sNEJBQTRCO0lBTXZDLFlBQW9CLE1BQWlCO1FBQWpCLFdBQU0sR0FBTixNQUFNLENBQVc7SUFBSSxDQUFDO0lBRTFDLGlCQUFpQixDQUFDLE1BQVc7UUFDM0IsTUFBTSxZQUFZLEdBQUcsSUFBSSxlQUFlLEVBQUUsQ0FBQztRQUMzQyxZQUFZLENBQUMsSUFBSSxHQUFHO1lBQ2xCLEtBQUssRUFBRSxNQUFNO1lBQ2IsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLGFBQWE7WUFDMUMsSUFBSSxFQUFFLE1BQU07WUFDWixjQUFjLEVBQUUsS0FBSztTQUN0QixDQUFDO1FBQ0YsWUFBWSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFFM0IsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUU7WUFDckMsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUMsQ0FBQztTQUN6SDtRQUVELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLDRCQUE0QixFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQy9ELENBQUM7O3lIQXZCVSw0QkFBNEI7NkdBQTVCLDRCQUE0QiwwSkNYekMsK1FBUUE7MkZER2EsNEJBQTRCO2tCQUx4QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw4QkFBOEI7b0JBQ3hDLFdBQVcsRUFBRSx3Q0FBd0M7b0JBQ3JELFNBQVMsRUFBRSxDQUFDLHdDQUF3QyxDQUFDO2lCQUN0RDtnR0FHVSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nQ29uZmlnIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2RpYWxvZ1wiO1xuaW1wb3J0IHsgRHluYW1pY0xheW91dFRhYmxlU2VjdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL2RhdGEtc3RydWN0dXJlcy9keW5hbWljLWxheW91dC5zdHJ1Y3R1cmUnO1xuaW1wb3J0IHsgRGlhbG9nTmVzdGVkRGV0YWlsc0NvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvZGV0YWlscy9kaWFsb2ctbmVzdGVkLWRldGFpbHMvZGlhbG9nLW5lc3RlZC1kZXRhaWxzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEZXRhaWxQYWdlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2ludGVyZmFjZXMvZGV0YWlsLXBhZ2Uuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21hbnRsZS10YWJsZS1kZXRhaWxzLXNlY3Rpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUtZGV0YWlscy1zZWN0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFibGUtZGV0YWlscy1zZWN0aW9uLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgVGFibGVEZXRhaWxzU2VjdGlvbkNvbXBvbmVudCB7XG5cbiAgQElucHV0KCkgZGF0YSE6IGFueTtcbiAgQElucHV0KCkgc2VjdGlvbiE6IER5bmFtaWNMYXlvdXRUYWJsZVNlY3Rpb247XG4gIEBJbnB1dCgpIGRldGFpbFBhZ2VTZXJ2aWNlITogRGV0YWlsUGFnZVNlcnZpY2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZykgeyB9XG5cbiAgb3BlbkRldGFpbHNEaWFsb2cocmVjb3JkOiBhbnkpOiB2b2lkIHtcbiAgICBjb25zdCBkaWFsb2dDb25maWcgPSBuZXcgTWF0RGlhbG9nQ29uZmlnKCk7XG4gICAgZGlhbG9nQ29uZmlnLmRhdGEgPSB7XG4gICAgICB0aXRsZTogJ0l0ZW0nLFxuICAgICAgc2VjdGlvbjogdGhpcy5zZWN0aW9uLmNvbmZpZy5tb2RhbF9zZWN0aW9uLFxuICAgICAgZGF0YTogcmVjb3JkLFxuICAgICAgc2hvd0VkaXRCdXR0b246IGZhbHNlXG4gICAgfTtcbiAgICBkaWFsb2dDb25maWcud2lkdGggPSAnODAlJztcblxuICAgIGlmICh0aGlzLnNlY3Rpb24uY29uZmlnLm1vZGFsX3NlY3Rpb24pIHtcbiAgICAgIGRpYWxvZ0NvbmZpZy5kYXRhLnNlY3Rpb24gPSB0aGlzLmRldGFpbFBhZ2VTZXJ2aWNlLmRldGFpbERpYWxvZ0xheW91dENoYW5nZXModGhpcy5zZWN0aW9uLmNvbmZpZy5tb2RhbF9zZWN0aW9uLCByZWNvcmQpO1xuICAgIH1cblxuICAgIHRoaXMuZGlhbG9nLm9wZW4oRGlhbG9nTmVzdGVkRGV0YWlsc0NvbXBvbmVudCwgZGlhbG9nQ29uZmlnKTtcbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwidGFibGUtc2VjdGlvbi1jb250ZW50XCI+XG4gIDxtYW50bGUtZHluYW1pYy10YWJsZVxuICAgICAgW2NvbHVtbnNdPVwic2VjdGlvbi5lbGVtZW50c1wiXG4gICAgICBbaXRlbXNdPVwiZGF0YVtzZWN0aW9uLmNvbmZpZy5hdHRyXVwiXG4gICAgICBbd2l0aENsaWNrYWJsZVJvd3NdPVwidHJ1ZVwiXG4gICAgICAocm93Q2xpY2tlZCk9XCJvcGVuRGV0YWlsc0RpYWxvZygkZXZlbnQpXCI+XG4gIDwvbWFudGxlLWR5bmFtaWMtdGFibGU+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Component, Input } from '@angular/core';
|
|
2
|
-
import { FormGroup } from '@angular/forms';
|
|
3
2
|
import * as i0 from "@angular/core";
|
|
4
3
|
import * as i1 from "@angular/material/expansion";
|
|
5
4
|
import * as i2 from "@angular/material/divider";
|
|
@@ -8,9 +7,9 @@ import * as i4 from "@angular/common";
|
|
|
8
7
|
export class AccordionFormContainerComponent {
|
|
9
8
|
constructor() { }
|
|
10
9
|
}
|
|
11
|
-
AccordionFormContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.
|
|
12
|
-
AccordionFormContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.
|
|
10
|
+
AccordionFormContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: AccordionFormContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
11
|
+
AccordionFormContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.5", type: AccordionFormContainerComponent, selector: "mantle-accordion-form-container", inputs: { formPageService: "formPageService", content: "content", container: "container", form: "form" }, ngImport: i0, template: "<mat-accordion multi class=\"dynamic-form accordion\">\n <ng-container *ngFor=\"let section of container.sections\">\n <mat-expansion-panel *ngIf=\"!section.hidden\" [expanded]=\"!section.collapsed\" class=\"dynamic-form-section\">\n <mat-expansion-panel-header>\n <mat-panel-title *ngIf=\"section.title\">\n <div class=\"title-wrapper\">\n <h4>{{ section.title }}</h4>\n <mat-divider></mat-divider>\n </div>\n </mat-panel-title>\n </mat-expansion-panel-header>\n <mantle-dynamic-form-section [formPageService]=\"formPageService\" [section]=\"section\" [content]=\"content\" [form]=\"form\">\n </mantle-dynamic-form-section>\n </mat-expansion-panel>\n </ng-container>\n</mat-accordion>\n", styles: [""], components: [{ type: i1.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["disabled", "expanded", "hideToggle", "togglePosition"], outputs: ["opened", "closed", "expandedChange", "afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { type: i1.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["tabIndex", "expandedHeight", "collapsedHeight"] }, { type: i2.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { type: i3.DynamicFormSectionComponent, selector: "mantle-dynamic-form-section", inputs: ["formPageService", "section", "content", "form"] }], directives: [{ type: i1.MatAccordion, selector: "mat-accordion", inputs: ["multi", "displayMode", "togglePosition", "hideToggle"], exportAs: ["matAccordion"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.MatExpansionPanelTitle, selector: "mat-panel-title" }] });
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: AccordionFormContainerComponent, decorators: [{
|
|
14
13
|
type: Component,
|
|
15
14
|
args: [{
|
|
16
15
|
selector: 'mantle-accordion-form-container',
|
|
@@ -26,4 +25,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
26
25
|
}], form: [{
|
|
27
26
|
type: Input
|
|
28
27
|
}] } });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLWZvcm0tY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hbnRsZS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9jb250YWluZXJzL2FjY29yZGlvbi1mb3JtLWNvbnRhaW5lci9hY2NvcmRpb24tZm9ybS1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFudGxlL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL2NvbnRhaW5lcnMvYWNjb3JkaW9uLWZvcm0tY29udGFpbmVyL2FjY29yZGlvbi1mb3JtLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBVWpELE1BQU0sT0FBTywrQkFBK0I7SUFPMUMsZ0JBQWdCLENBQUM7OzRIQVBOLCtCQUErQjtnSEFBL0IsK0JBQStCLGlMQ1Y1Qyxtd0JBZ0JBOzJGRE5hLCtCQUErQjtrQkFMM0MsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsaUNBQWlDO29CQUMzQyxXQUFXLEVBQUUsMkNBQTJDO29CQUN4RCxTQUFTLEVBQUUsQ0FBQywyQ0FBMkMsQ0FBQztpQkFDekQ7MEVBR1UsZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBEeW5hbWljTGF5b3V0Q29udGFpbmVyLCBEeW5hbWljRm9ybUNvbnRlbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9kYXRhLXN0cnVjdHVyZXMvZHluYW1pYy1sYXlvdXQuc3RydWN0dXJlJztcbmltcG9ydCB7IEZvcm1QYWdlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2ludGVyZmFjZXMvZm9ybS1wYWdlLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtYW50bGUtYWNjb3JkaW9uLWZvcm0tY29udGFpbmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FjY29yZGlvbi1mb3JtLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FjY29yZGlvbi1mb3JtLWNvbnRhaW5lci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEFjY29yZGlvbkZvcm1Db250YWluZXJDb21wb25lbnQge1xuXG4gIEBJbnB1dCgpIGZvcm1QYWdlU2VydmljZSE6IEZvcm1QYWdlU2VydmljZTtcbiAgQElucHV0KCkgY29udGVudCE6IER5bmFtaWNGb3JtQ29udGVudDtcbiAgQElucHV0KCkgY29udGFpbmVyITogRHluYW1pY0xheW91dENvbnRhaW5lcjtcbiAgQElucHV0KCkgZm9ybSE6IEZvcm1Hcm91cDtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG59XG4iLCI8bWF0LWFjY29yZGlvbiBtdWx0aSBjbGFzcz1cImR5bmFtaWMtZm9ybSBhY2NvcmRpb25cIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgc2VjdGlvbiBvZiBjb250YWluZXIuc2VjdGlvbnNcIj5cbiAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbCAqbmdJZj1cIiFzZWN0aW9uLmhpZGRlblwiIFtleHBhbmRlZF09XCIhc2VjdGlvbi5jb2xsYXBzZWRcIiBjbGFzcz1cImR5bmFtaWMtZm9ybS1zZWN0aW9uXCI+XG4gICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgIDxtYXQtcGFuZWwtdGl0bGUgKm5nSWY9XCJzZWN0aW9uLnRpdGxlXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRpdGxlLXdyYXBwZXJcIj5cbiAgICAgICAgICAgIDxoND57eyBzZWN0aW9uLnRpdGxlIH19PC9oND5cbiAgICAgICAgICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICA8bWFudGxlLWR5bmFtaWMtZm9ybS1zZWN0aW9uIFtmb3JtUGFnZVNlcnZpY2VdPVwiZm9ybVBhZ2VTZXJ2aWNlXCIgW3NlY3Rpb25dPVwic2VjdGlvblwiIFtjb250ZW50XT1cImNvbnRlbnRcIiBbZm9ybV09XCJmb3JtXCI+XG4gICAgICA8L21hbnRsZS1keW5hbWljLWZvcm0tc2VjdGlvbj5cbiAgICA8L21hdC1leHBhbnNpb24tcGFuZWw+XG4gIDwvbmctY29udGFpbmVyPlxuPC9tYXQtYWNjb3JkaW9uPlxuIl19
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Component, Input } from '@angular/core';
|
|
2
|
-
import { FormGroup } from '@angular/forms';
|
|
3
2
|
import * as i0 from "@angular/core";
|
|
4
3
|
import * as i1 from "../plain-form-container/plain-form-container.component";
|
|
5
4
|
import * as i2 from "../accordion-form-container/accordion-form-container.component";
|
|
@@ -7,9 +6,9 @@ import * as i3 from "@angular/common";
|
|
|
7
6
|
export class DynamicFormContainerComponent {
|
|
8
7
|
constructor() { }
|
|
9
8
|
}
|
|
10
|
-
DynamicFormContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.
|
|
11
|
-
DynamicFormContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.
|
|
9
|
+
DynamicFormContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: DynamicFormContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
10
|
+
DynamicFormContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.5", type: DynamicFormContainerComponent, selector: "mantle-dynamic-form-container", inputs: { formPageService: "formPageService", content: "content", container: "container", form: "form" }, ngImport: i0, template: "<ng-container [ngSwitch]=\"container.container_style\">\n\n <ng-container *ngSwitchCase=\"'plain'\">\n <mantle-plain-form-container [formPageService]=\"formPageService\" [container]=\"container\" [content]=\"content\" [form]=\"form\">\n </mantle-plain-form-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'accordion'\">\n <mantle-accordion-form-container [formPageService]=\"formPageService\" [container]=\"container\" [content]=\"content\" [form]=\"form\">\n </mantle-accordion-form-container>\n </ng-container>\n\n</ng-container>\n", styles: [""], components: [{ type: i1.PlainFormContainerComponent, selector: "mantle-plain-form-container", inputs: ["formPageService", "content", "container", "form"] }, { type: i2.AccordionFormContainerComponent, selector: "mantle-accordion-form-container", inputs: ["formPageService", "content", "container", "form"] }], directives: [{ type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }] });
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: DynamicFormContainerComponent, decorators: [{
|
|
13
12
|
type: Component,
|
|
14
13
|
args: [{
|
|
15
14
|
selector: 'mantle-dynamic-form-container',
|
|
@@ -25,4 +24,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
25
24
|
}], form: [{
|
|
26
25
|
type: Input
|
|
27
26
|
}] } });
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYW50bGUvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vY29udGFpbmVycy9keW5hbWljLWZvcm0tY29udGFpbmVyL2R5bmFtaWMtZm9ybS1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFudGxlL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL2NvbnRhaW5lcnMvZHluYW1pYy1mb3JtLWNvbnRhaW5lci9keW5hbWljLWZvcm0tY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQVVqRCxNQUFNLE9BQU8sNkJBQTZCO0lBT3hDLGdCQUFnQixDQUFDOzswSEFQTiw2QkFBNkI7OEdBQTdCLDZCQUE2QiwrS0NWMUMsc2pCQWFBOzJGREhhLDZCQUE2QjtrQkFMekMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsK0JBQStCO29CQUN6QyxXQUFXLEVBQUUseUNBQXlDO29CQUN0RCxTQUFTLEVBQUUsQ0FBQyx5Q0FBeUMsQ0FBQztpQkFDdkQ7MEVBR1UsZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBEeW5hbWljTGF5b3V0Q29udGFpbmVyLCBEeW5hbWljRm9ybUNvbnRlbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9kYXRhLXN0cnVjdHVyZXMvZHluYW1pYy1sYXlvdXQuc3RydWN0dXJlJztcbmltcG9ydCB7IEZvcm1QYWdlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2ludGVyZmFjZXMvZm9ybS1wYWdlLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtYW50bGUtZHluYW1pYy1mb3JtLWNvbnRhaW5lcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9keW5hbWljLWZvcm0tY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZHluYW1pYy1mb3JtLWNvbnRhaW5lci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIER5bmFtaWNGb3JtQ29udGFpbmVyQ29tcG9uZW50IHtcblxuICBASW5wdXQoKSBmb3JtUGFnZVNlcnZpY2UhOiBGb3JtUGFnZVNlcnZpY2U7XG4gIEBJbnB1dCgpIGNvbnRlbnQhOiBEeW5hbWljRm9ybUNvbnRlbnQ7XG4gIEBJbnB1dCgpIGNvbnRhaW5lciE6IER5bmFtaWNMYXlvdXRDb250YWluZXI7XG4gIEBJbnB1dCgpIGZvcm0hOiBGb3JtR3JvdXA7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxufVxuIiwiPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiY29udGFpbmVyLmNvbnRhaW5lcl9zdHlsZVwiPlxuXG4gIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidwbGFpbidcIj5cbiAgICA8bWFudGxlLXBsYWluLWZvcm0tY29udGFpbmVyIFtmb3JtUGFnZVNlcnZpY2VdPVwiZm9ybVBhZ2VTZXJ2aWNlXCIgW2NvbnRhaW5lcl09XCJjb250YWluZXJcIiBbY29udGVudF09XCJjb250ZW50XCIgW2Zvcm1dPVwiZm9ybVwiPlxuICAgIDwvbWFudGxlLXBsYWluLWZvcm0tY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInYWNjb3JkaW9uJ1wiPlxuICAgIDxtYW50bGUtYWNjb3JkaW9uLWZvcm0tY29udGFpbmVyIFtmb3JtUGFnZVNlcnZpY2VdPVwiZm9ybVBhZ2VTZXJ2aWNlXCIgW2NvbnRhaW5lcl09XCJjb250YWluZXJcIiBbY29udGVudF09XCJjb250ZW50XCIgW2Zvcm1dPVwiZm9ybVwiPlxuICAgIDwvbWFudGxlLWFjY29yZGlvbi1mb3JtLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG5cbjwvbmctY29udGFpbmVyPlxuIl19
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Component, Input } from '@angular/core';
|
|
2
|
-
import { FormGroup } from '@angular/forms';
|
|
3
2
|
import * as i0 from "@angular/core";
|
|
4
3
|
import * as i1 from "../../../titles/section-title/section-title.component";
|
|
5
4
|
import * as i2 from "../../sections/dynamic-form-section/dynamic-form-section.component";
|
|
@@ -7,9 +6,9 @@ import * as i3 from "@angular/common";
|
|
|
7
6
|
export class PlainFormContainerComponent {
|
|
8
7
|
constructor() { }
|
|
9
8
|
}
|
|
10
|
-
PlainFormContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.
|
|
11
|
-
PlainFormContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.
|
|
9
|
+
PlainFormContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: PlainFormContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
10
|
+
PlainFormContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.5", type: PlainFormContainerComponent, selector: "mantle-plain-form-container", inputs: { formPageService: "formPageService", content: "content", container: "container", form: "form" }, ngImport: i0, template: "<div class=\"dynamic-form plain\">\n <ng-container *ngFor=\"let section of container.sections\">\n <div *ngIf=\"!section.hidden\" class=\"dynamic-form-section\">\n <mantle-section-title *ngIf=\"section.title\" [title]=\"section.title\"></mantle-section-title>\n <mantle-dynamic-form-section [formPageService]=\"formPageService\" [section]=\"section\" [content]=\"content\" [form]=\"form\">\n </mantle-dynamic-form-section>\n </div>\n </ng-container>\n</div>\n", styles: [""], components: [{ type: i1.SectionTitleComponent, selector: "mantle-section-title", inputs: ["title"] }, { type: i2.DynamicFormSectionComponent, selector: "mantle-dynamic-form-section", inputs: ["formPageService", "section", "content", "form"] }], directives: [{ type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: PlainFormContainerComponent, decorators: [{
|
|
13
12
|
type: Component,
|
|
14
13
|
args: [{
|
|
15
14
|
selector: 'mantle-plain-form-container',
|
|
@@ -25,4 +24,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
25
24
|
}], form: [{
|
|
26
25
|
type: Input
|
|
27
26
|
}] } });
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhaW4tZm9ybS1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFudGxlL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL2NvbnRhaW5lcnMvcGxhaW4tZm9ybS1jb250YWluZXIvcGxhaW4tZm9ybS1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFudGxlL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL2NvbnRhaW5lcnMvcGxhaW4tZm9ybS1jb250YWluZXIvcGxhaW4tZm9ybS1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBVWpELE1BQU0sT0FBTywyQkFBMkI7SUFPdEMsZ0JBQWdCLENBQUM7O3dIQVBOLDJCQUEyQjs0R0FBM0IsMkJBQTJCLDZLQ1Z4QyxvZUFTQTsyRkRDYSwyQkFBMkI7a0JBTHZDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDZCQUE2QjtvQkFDdkMsV0FBVyxFQUFFLHVDQUF1QztvQkFDcEQsU0FBUyxFQUFFLENBQUMsdUNBQXVDLENBQUM7aUJBQ3JEOzBFQUdVLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRHluYW1pY0xheW91dENvbnRhaW5lciwgRHluYW1pY0Zvcm1Db250ZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vZGF0YS1zdHJ1Y3R1cmVzL2R5bmFtaWMtbGF5b3V0LnN0cnVjdHVyZSc7XG5pbXBvcnQgeyBGb3JtUGFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9pbnRlcmZhY2VzL2Zvcm0tcGFnZS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWFudGxlLXBsYWluLWZvcm0tY29udGFpbmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BsYWluLWZvcm0tY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcGxhaW4tZm9ybS1jb250YWluZXIuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBQbGFpbkZvcm1Db250YWluZXJDb21wb25lbnQge1xuXG4gIEBJbnB1dCgpIGZvcm1QYWdlU2VydmljZSE6IEZvcm1QYWdlU2VydmljZTtcbiAgQElucHV0KCkgY29udGVudCE6IER5bmFtaWNGb3JtQ29udGVudDtcbiAgQElucHV0KCkgY29udGFpbmVyITogRHluYW1pY0xheW91dENvbnRhaW5lcjtcbiAgQElucHV0KCkgZm9ybSE6IEZvcm1Hcm91cDtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwiZHluYW1pYy1mb3JtIHBsYWluXCI+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHNlY3Rpb24gb2YgY29udGFpbmVyLnNlY3Rpb25zXCI+XG4gICAgPGRpdiAqbmdJZj1cIiFzZWN0aW9uLmhpZGRlblwiIGNsYXNzPVwiZHluYW1pYy1mb3JtLXNlY3Rpb25cIj5cbiAgICAgIDxtYW50bGUtc2VjdGlvbi10aXRsZSAqbmdJZj1cInNlY3Rpb24udGl0bGVcIiBbdGl0bGVdPVwic2VjdGlvbi50aXRsZVwiPjwvbWFudGxlLXNlY3Rpb24tdGl0bGU+XG4gICAgICA8bWFudGxlLWR5bmFtaWMtZm9ybS1zZWN0aW9uIFtmb3JtUGFnZVNlcnZpY2VdPVwiZm9ybVBhZ2VTZXJ2aWNlXCIgW3NlY3Rpb25dPVwic2VjdGlvblwiIFtjb250ZW50XT1cImNvbnRlbnRcIiBbZm9ybV09XCJmb3JtXCI+XG4gICAgICA8L21hbnRsZS1keW5hbWljLWZvcm0tc2VjdGlvbj5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { MAT_DIALOG_DATA
|
|
1
|
+
import { Component, Inject, ViewChild } from '@angular/core';
|
|
2
|
+
import { MAT_DIALOG_DATA } from "@angular/material/dialog";
|
|
3
3
|
import { of as observableOf } from 'rxjs';
|
|
4
4
|
import { map } from 'rxjs/operators';
|
|
5
5
|
import { DynamicFormComponent } from '../../../components/form/dynamic-form/dynamic-form.component';
|
|
6
|
-
import { AnnouncementService } from '../../../services/announcement.service';
|
|
7
|
-
import { ObjectService } from '../../../services/object.service';
|
|
8
6
|
import * as i0 from "@angular/core";
|
|
9
7
|
import * as i1 from "@angular/material/dialog";
|
|
10
8
|
import * as i2 from "../../../services/announcement.service";
|
|
@@ -17,6 +15,7 @@ import * as i8 from "@angular/material/progress-spinner";
|
|
|
17
15
|
import * as i9 from "@angular/flex-layout/flex";
|
|
18
16
|
import * as i10 from "@angular/common";
|
|
19
17
|
import * as i11 from "@angular/material/form-field";
|
|
18
|
+
import * as i12 from "@ngx-translate/core";
|
|
20
19
|
export class DialogFormComponent {
|
|
21
20
|
constructor(dialogRef, dialogFormParams, changeDetectorRef, announcementService, objectService) {
|
|
22
21
|
this.dialogRef = dialogRef;
|
|
@@ -27,7 +26,7 @@ export class DialogFormComponent {
|
|
|
27
26
|
this.formPageService = this.dialogFormParams.formPageService;
|
|
28
27
|
this.id = this.dialogFormParams.id;
|
|
29
28
|
this.title = this.dialogFormParams.title;
|
|
30
|
-
let responseObservable = this.id ? this.formPageService.getEdit(this.id) : this.formPageService.getNew();
|
|
29
|
+
let responseObservable = this.id ? this.formPageService.getEdit(this.id) : this.formPageService.getNew(this.dialogFormParams.initData);
|
|
31
30
|
this.content$ = responseObservable.pipe(map((res) => {
|
|
32
31
|
if (this.dialogFormParams.initData) {
|
|
33
32
|
res.content.data = this.objectService.deepMerge(res.content.data, this.dialogFormParams.initData);
|
|
@@ -50,7 +49,7 @@ export class DialogFormComponent {
|
|
|
50
49
|
onSaveSuccess(res) {
|
|
51
50
|
this.id = res.id;
|
|
52
51
|
this.content$ = observableOf(res.content);
|
|
53
|
-
this.announcementService.success('
|
|
52
|
+
this.announcementService.success('mantle.messages.save_successful');
|
|
54
53
|
this.close(res.content.data);
|
|
55
54
|
this.isSaveInProgress = false;
|
|
56
55
|
}
|
|
@@ -62,19 +61,31 @@ export class DialogFormComponent {
|
|
|
62
61
|
else {
|
|
63
62
|
this.close();
|
|
64
63
|
}
|
|
65
|
-
this.announcementService.error('
|
|
64
|
+
this.announcementService.error('mantle.messages.save_failed');
|
|
66
65
|
if (!!((_a = res.error.alert) === null || _a === void 0 ? void 0 : _a.message)) {
|
|
67
66
|
this.announcementService.error(res.error.alert.message);
|
|
68
67
|
}
|
|
69
68
|
this.isSaveInProgress = false;
|
|
70
69
|
}
|
|
70
|
+
onDeleteClicked() {
|
|
71
|
+
this.formPageService.delete(this.id, () => { this.isDeleteInProgress = true; }, (res) => { this.onDeleteSuccess(res); }, (res) => { this.onDeleteFailure(res); });
|
|
72
|
+
}
|
|
73
|
+
onDeleteSuccess(res) {
|
|
74
|
+
this.announcementService.success('mantle.messages.delete_successful');
|
|
75
|
+
this.close({ id: this.id, _destroy: true });
|
|
76
|
+
this.isDeleteInProgress = false;
|
|
77
|
+
}
|
|
78
|
+
onDeleteFailure(res) {
|
|
79
|
+
this.announcementService.error('mantle.messages.delete_failed');
|
|
80
|
+
this.isDeleteInProgress = false;
|
|
81
|
+
}
|
|
71
82
|
close(result = false) {
|
|
72
83
|
this.dialogRef.close(result);
|
|
73
84
|
}
|
|
74
85
|
}
|
|
75
|
-
DialogFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.
|
|
76
|
-
DialogFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.
|
|
77
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.
|
|
86
|
+
DialogFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: DialogFormComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i0.ChangeDetectorRef }, { token: i2.AnnouncementService }, { token: i3.ObjectService }], target: i0.ɵɵFactoryTarget.Component });
|
|
87
|
+
DialogFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.5", type: DialogFormComponent, selector: "mantle-dialog-form", viewQueries: [{ propertyName: "dynamicForm", first: true, predicate: DynamicFormComponent, descendants: true }], ngImport: i0, template: "<div mat-dialog-title fxLayout=\"row\" fxLayoutAlign=\"start\" fxLayoutGap=\"8px\" class=\"dialog-title-section\">\n <mantle-section-title fxFlex=\"1 0 1px\" [title]=\"title\"></mantle-section-title>\n <button fxFlex=\"0 0 auto\" mat-icon-button tabindex=\"-1\" (click)=\"onCancelClicked()\">\n <mat-icon>cancel</mat-icon>\n </button>\n</div>\n\n<mat-dialog-content>\n <mantle-dynamic-form #dynamicForm [content]=\"content$ | async\"></mantle-dynamic-form>\n</mat-dialog-content>\n\n<mat-dialog-actions fxLayout=\"row\" class=\"actions-section\">\n <div fxFlex=\"0 0 auto\" *ngIf=\"!!id && formPageService.showDeleteButtonInForm\">\n <button mat-button\n *ngIf=\"!isDeleteInProgress\"\n color=\"warn\"\n type=\"button\"\n class=\"delete-button\"\n (click)=\"onDeleteClicked()\">\n {{ 'mantle.buttons.delete' | translate }}\n </button>\n\n <button mat-raised-button\n *ngIf=\"isDeleteInProgress\"\n color=\"warn\"\n type=\"button\"\n class=\"deleting-button\"\n [disabled]=\"true\">\n {{ 'mantle.buttons.deleting' | translate }}\n <mat-spinner matSuffix [diameter]=\"16\"></mat-spinner>\n </button>\n </div>\n\n <div fxFlex=\"1 1 auto\"></div>\n\n <div fxFlex=\"0 0 auto\">\n <button mat-raised-button\n *ngIf=\"!isSaveInProgress\"\n color=\"primary\"\n type=\"button\"\n class=\"save-button\"\n (click)=\"onSaveClicked()\"\n [disabled]=\"!dynamicForm?.valid\">\n {{ 'mantle.buttons.save' | translate }}\n </button>\n\n <button mat-raised-button\n *ngIf=\"isSaveInProgress\"\n color=\"primary\"\n type=\"button\"\n class=\"saving-button\"\n (click)=\"onSaveClicked()\"\n [disabled]=\"true\">\n {{ 'mantle.buttons.saving' | translate }}\n <mat-spinner matSuffix [diameter]=\"16\"></mat-spinner>\n </button>\n </div>\n</mat-dialog-actions>\n", styles: [".save-button,.saving-button{width:140px}.saving-button .mat-spinner{position:absolute;top:10px;right:12px}\n"], components: [{ type: i4.SectionTitleComponent, selector: "mantle-section-title", inputs: ["title"] }, { type: i5.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i7.DynamicFormComponent, selector: "mantle-dynamic-form", inputs: ["formPageService", "content"] }, { type: i8.MatSpinner, selector: "mat-spinner", inputs: ["color"] }], directives: [{ type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i9.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i9.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i9.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { type: i9.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i11.MatSuffix, selector: "[matSuffix]" }], pipes: { "async": i10.AsyncPipe, "translate": i12.TranslatePipe } });
|
|
88
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: DialogFormComponent, decorators: [{
|
|
78
89
|
type: Component,
|
|
79
90
|
args: [{
|
|
80
91
|
selector: 'mantle-dialog-form',
|
|
@@ -88,4 +99,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
88
99
|
type: ViewChild,
|
|
89
100
|
args: [DynamicFormComponent]
|
|
90
101
|
}] } });
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFudGxlL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL2RpYWxvZy1mb3JtL2RpYWxvZy1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hbnRsZS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9kaWFsb2ctZm9ybS9kaWFsb2ctZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9CLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekUsT0FBTyxFQUFjLEVBQUUsSUFBSSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7Ozs7Ozs7OztBQWVqRSxNQUFNLE9BQU8sbUJBQW1CO0lBVTlCLFlBQW9CLFNBQTRDLEVBQ25CLGdCQUFrQyxFQUMzRCxpQkFBb0MsRUFDcEMsbUJBQXdDLEVBQVUsYUFBNEI7UUFIOUUsY0FBUyxHQUFULFNBQVMsQ0FBbUM7UUFDbkIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUMzRCxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFBVSxrQkFBYSxHQUFiLGFBQWEs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S0FBSywwQ0FBRSxPQUFPLENBQUEsRUFBRTtZQUM5QixJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3pEO1FBRUQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztJQUNoQyxDQUFDO0lBRUQsS0FBSyxDQUFDLFNBQWMsS0FBSztRQUN2QixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMvQixDQUFDOztpSEE5RVUsbUJBQW1CLDhDQVdWLGVBQWU7cUdBWHhCLG1CQUFtQix1R0FFbkIsb0JBQW9CLGdEQ3hCakMsNnNDQXFDQTs0RkRmYSxtQkFBbUI7a0JBTC9CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsV0FBVyxFQUFFLDhCQUE4QjtvQkFDM0MsU0FBUyxFQUFFLENBQUMsOEJBQThCLENBQUM7aUJBQzVDOzswQkFZYyxNQUFNOzJCQUFDLGVBQWU7MElBVEYsV0FBVztzQkFBM0MsU0FBUzt1QkFBQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdDaGVja2VkLCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbmplY3QsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nXCI7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiBhcyBvYnNlcnZhYmxlT2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFdlYkFwaUZvcm1SZXNwb25zZSwgV2ViQXBpU2F2ZVJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYWRhcHRlcnMvd2ViLWFwaS1jcnVkLmFkYXB0ZXInO1xuaW1wb3J0IHsgRHluYW1pY0Zvcm1Db21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2Zvcm0vZHluYW1pYy1mb3JtL2R5bmFtaWMtZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQW5ub3VuY2VtZW50U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2Fubm91bmNlbWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IE9iamVjdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9vYmplY3Quc2VydmljZSc7XG5pbXBvcnQgeyBGb3JtUGFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pbnRlcmZhY2VzL2Zvcm0tcGFnZS5zZXJ2aWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBEaWFsb2dGb3JtUGFyYW1zIHtcbiAgZm9ybVBhZ2VTZXJ2aWNlOiBGb3JtUGFnZVNlcnZpY2U7XG4gIGlkOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIGluaXREYXRhOiBhbnk7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21hbnRsZS1kaWFsb2ctZm9ybScsXG4gIHRlbXBsYXRlVXJsOiAnLi9kaWFsb2ctZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RpYWxvZy1mb3JtLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRGlhbG9nRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0NoZWNrZWQge1xuXG4gIEBWaWV3Q2hpbGQoRHluYW1pY0Zvcm1Db21wb25lbnQpIGR5bmFtaWNGb3JtITogRHluYW1pY0Zvcm1Db21wb25lbnQ7XG5cbiAgcHVibGljIGZvcm1QYWdlU2VydmljZTogRm9ybVBhZ2VTZXJ2aWNlO1xuICBwdWJsaWMgaWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgcHVibGljIHRpdGxlOiBzdHJpbmc7XG4gIHB1YmxpYyBjb250ZW50JCE6IE9ic2VydmFibGU8YW55PjtcbiAgcHVibGljIGlzU2F2ZUluUHJvZ3Jlc3MhOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8RGlhbG9nRm9ybUNvbXBvbmVudD4sXG4gICAgICAgICAgICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwcml2YXRlIGRpYWxvZ0Zvcm1QYXJhbXM6IERpYWxvZ0Zvcm1QYXJhbXMsXG4gICAgICAgICAgICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICAgICAgICBwcml2YXRlIGFubm91bmNlbWVudFNlcnZpY2U6IEFubm91bmNlbWVudFNlcnZpY2UsIHByaXZhdGUgb2JqZWN0U2VydmljZTogT2JqZWN0U2VydmljZSkge1xuICAgIHRoaXMuZm9ybVBhZ2VTZXJ2aWNlID0gdGhpcy5kaWFsb2dGb3JtUGFyYW1zLmZvcm1QYWdlU2VydmljZTtcbiAgICB0aGlzLmlkID0gdGhpcy5kaWFsb2dGb3JtUGFyYW1zLmlkO1xuICAgIHRoaXMudGl0bGUgPSB0aGlzLmRpYWxvZ0Zvcm1QYXJhbXMudGl0bGU7XG5cbiAgICBsZXQgcmVzcG9uc2VPYnNlcnZhYmxlID0gdGhpcy5pZCA/IHRoaXMuZm9ybVBhZ2VTZXJ2aWNlLmdldEVkaXQodGhpcy5pZCkgOiB0aGlzLmZvcm1QYWdlU2VydmljZS5nZXROZXcoKTtcblxuICAgIHRoaXMuY29udGVudCQgPSByZXNwb25zZU9ic2VydmFibGUucGlwZShcbiAgICAgIG1hcCgocmVzOiBXZWJBcGlGb3JtUmVzcG9uc2UpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuZGlhbG9nRm9ybVBhcmFtcy5pbml0RGF0YSkge1xuICAgICAgICAgIHJlcy5jb250ZW50LmRhdGEgPSB0aGlzLm9iamVjdFNlcnZpY2UuZGVlcE1lcmdlKHJlcy5jb250ZW50LmRhdGEsIHRoaXMuZGlhbG9nRm9ybVBhcmFtcy5pbml0RGF0YSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlcy5jb250ZW50O1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgbmdBZnRlclZpZXdDaGVja2VkKCk6IHZvaWQge1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgb25DYW5jZWxDbGlja2VkKCkge1xuICAgIHRoaXMuY2xvc2UoKTtcbiAgfVxuXG4gIG9uU2F2ZUNsaWNrZWQoKSB7XG4gICAgdGhpcy5pc1NhdmVJblByb2dyZXNzID0gdHJ1ZTtcblxuICAgIGxldCByZXNwb25zZU9ic2VydmFibGUgPSB0aGlzLmlkID8gdGhpcy5mb3JtUGFnZVNlcnZpY2UudXBkYXRlKHRoaXMuaWQsIHRoaXMuZHluYW1pY0Zvcm0udmFsdWUpIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybVBhZ2VTZXJ2aWNlLmNyZWF0ZSh0aGlzLmR5bmFtaWNGb3JtLnZhbHVlKTtcblxuICAgIHJlc3BvbnNlT2JzZXJ2YWJsZS5zdWJzY3JpYmUoXG4gICAgICByZXMgPT4geyB0aGlzLm9uU2F2ZVN1Y2Nlc3MocmVzKTsgfSxcbiAgICAgIHJlcyA9PiB7IHRoaXMub25TYXZlRmFpbHVyZShyZXMpOyB9XG4gICAgKTtcbiAgfVxuXG4gIG9uU2F2ZVN1Y2Nlc3MocmVzOiBXZWJBcGlTYXZlUmVzcG9uc2UpOiB2b2lkIHtcbiAgICB0aGlzLmlkID0gcmVzLmlkO1xuICAgIHRoaXMuY29udGVudCQgPSBvYnNlcnZhYmxlT2YocmVzLmNvbnRlbnQpO1xuICAgIHRoaXMuYW5ub3VuY2VtZW50U2VydmljZS5zdWNjZXNzKCdTYXZlIHN1Y2Nlc3NmdWwhJyk7XG4gICAgdGhpcy5jbG9zZShyZXMuY29udGVudC5kYXRhKTtcblxuICAgIHRoaXMuaXNTYXZlSW5Qcm9ncmVzcyA9IGZhbHNlO1xuICB9XG5cbiAgb25TYXZlRmFpbHVyZShyZXM6IHsgZXJyb3I6IFdlYkFwaVNhdmVSZXNwb25zZSB9KTogdm9pZCB7XG4gICAgaWYgKHJlcy5lcnJvci5jb250ZW50KSB7XG4gICAgICB0aGlzLmNvbnRlbnQkID0gb2JzZXJ2YWJsZU9mKHJlcy5lcnJvci5jb250ZW50KTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgdGhpcy5hbm5vdW5jZW1lbnRTZXJ2aWNlLmVycm9yKCdTYXZlIGZhaWxlZCEnKTtcblxuICAgIGlmICghIXJlcy5lcnJvci5hbGVydD8ubWVzc2FnZSkge1xuICAgICAgdGhpcy5hbm5vdW5jZW1lbnRTZXJ2aWNlLmVycm9yKHJlcy5lcnJvci5hbGVydC5tZXNzYWdlKTtcbiAgICB9XG5cbiAgICB0aGlzLmlzU2F2ZUluUHJvZ3Jlc3MgPSBmYWxzZTtcbiAgfVxuXG4gIGNsb3NlKHJlc3VsdDogYW55ID0gZmFsc2UpIHtcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShyZXN1bHQpO1xuICB9XG5cbn1cbiIsIjxkaXYgbWF0LWRpYWxvZy10aXRsZSBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJzdGFydFwiIGZ4TGF5b3V0R2FwPVwiOHB4XCIgY2xhc3M9XCJkaWFsb2ctdGl0bGUtc2VjdGlvblwiPlxuICA8bWFudGxlLXNlY3Rpb24tdGl0bGUgZnhGbGV4PVwiMSAwIDFweFwiIFt0aXRsZV09XCJ0aXRsZVwiPjwvbWFudGxlLXNlY3Rpb24tdGl0bGU+XG4gIDxidXR0b24gZnhGbGV4PVwiMCAwIGF1dG9cIiBtYXQtaWNvbi1idXR0b24gdGFiaW5kZXg9XCItMVwiIChjbGljayk9XCJvbkNhbmNlbENsaWNrZWQoKVwiPlxuICAgIDxtYXQtaWNvbj5jYW5jZWw8L21hdC1pY29uPlxuICA8L2J1dHRvbj5cbjwvZGl2PlxuXG48bWF0LWRpYWxvZy1jb250ZW50PlxuICA8bWFudGxlLWR5bmFtaWMtZm9ybSAjZHluYW1pY0Zvcm0gW2NvbnRlbnRdPVwiY29udGVudCQgfCBhc3luY1wiPjwvbWFudGxlLWR5bmFtaWMtZm9ybT5cbjwvbWF0LWRpYWxvZy1jb250ZW50PlxuXG48bWF0LWRpYWxvZy1hY3Rpb25zIGZ4TGF5b3V0PVwicm93XCIgY2xhc3M9XCJhY3Rpb25zLXNlY3Rpb25cIj5cbiAgPGRpdiBmeEZsZXg9XCIxIDEgYXV0b1wiPjwvZGl2PlxuXG4gIDxkaXYgZnhGbGV4PVwiMCAwIGF1dG9cIj5cbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICAgICpuZ0lmPVwiIWlzU2F2ZUluUHJvZ3Jlc3NcIlxuICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIChjbGljayk9XCJvblNhdmVDbGlja2VkKClcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiIWR5bmFtaWNGb3JtPy52YWxpZFwiPlxuICAgICAgU2F2ZVxuICAgIDwvYnV0dG9uPlxuXG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgICAqbmdJZj1cImlzU2F2ZUluUHJvZ3Jlc3NcIlxuICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJzYXZpbmctYnV0dG9uXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uU2F2ZUNsaWNrZWQoKVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJ0cnVlXCI+XG4gICAgICBTYXZpbmdcbiAgICAgIDxtYXQtc3Bpbm5lciBtYXRTdWZmaXggW2RpYW1ldGVyXT1cIjE2XCI+PC9tYXQtc3Bpbm5lcj5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L21hdC1kaWFsb2ctYWN0aW9ucz5cbiJdfQ==
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFudGxlL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL2RpYWxvZy1mb3JtL2RpYWxvZy1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hbnRsZS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9kaWFsb2ctZm9ybS9kaWFsb2ctZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVDLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxlQUFlLEVBQWdCLE1BQU0sMEJBQTBCLENBQUM7QUFDekUsT0FBTyxFQUFjLEVBQUUsSUFBSSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhEQUE4RCxDQUFDOzs7Ozs7Ozs7Ozs7OztBQWlCcEcsTUFBTSxPQUFPLG1CQUFtQjtJQVc5QixZQUFvQixTQUE0QyxFQUNuQixnQkFBa0MsRUFDM0QsaUJBQW9DLEVBQ3BDLG1CQUF3QyxFQUFVLGFBQTRCO1FBSDlFLGNBQVMsR0FBVCxTQUFTLENBQW1DO1FBQ25CLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDM0Qsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQVUsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDaEcsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDO1FBQzdELElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixD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a0JBTC9CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsV0FBVyxFQUFFLDhCQUE4QjtvQkFDM0MsU0FBUyxFQUFFLENBQUMsOEJBQThCLENBQUM7aUJBQzVDOzswQkFhYyxNQUFNOzJCQUFDLGVBQWU7MElBVkYsV0FBVztzQkFBM0MsU0FBUzt1QkFBQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdDaGVja2VkLCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbmplY3QsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nXCI7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiBhcyBvYnNlcnZhYmxlT2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFdlYkFwaURlbGV0ZVJlc3BvbnNlLCBXZWJBcGlGb3JtUmVzcG9uc2UsIFdlYkFwaVNhdmVSZXNwb25zZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2FkYXB0ZXJzL3dlYi1hcGktY3J1ZC5hZGFwdGVyJztcbmltcG9ydCB7IER5bmFtaWNGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9mb3JtL2R5bmFtaWMtZm9ybS9keW5hbWljLWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IEFubm91bmNlbWVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hbm5vdW5jZW1lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBPYmplY3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvb2JqZWN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgRm9ybVBhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaW50ZXJmYWNlcy9mb3JtLXBhZ2Uuc2VydmljZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlhbG9nRm9ybVBhcmFtcyB7XG4gIGZvcm1QYWdlU2VydmljZTogRm9ybVBhZ2VTZXJ2aWNlO1xuICBpZDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICB0aXRsZTogc3RyaW5nO1xuICBpbml0RGF0YTogYW55O1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtYW50bGUtZGlhbG9nLWZvcm0nLFxuICB0ZW1wbGF0ZVVybDogJy4vZGlhbG9nLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kaWFsb2ctZm9ybS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIERpYWxvZ0Zvcm1Db21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdDaGVja2VkIHtcblxuICBAVmlld0NoaWxkKER5bmFtaWNGb3JtQ29tcG9uZW50KSBkeW5hbWljRm9ybSE6IER5bmFtaWNGb3JtQ29tcG9uZW50O1xuXG4gIHB1YmxpYyBmb3JtUGFnZVNlcnZpY2U6IEZvcm1QYWdlU2VydmljZTtcbiAgcHVibGljIGlkOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIHB1YmxpYyB0aXRsZTogc3RyaW5nO1xuICBwdWJsaWMgY29udGVudCQhOiBPYnNlcnZhYmxlPGFueT47XG4gIHB1YmxpYyBpc1NhdmVJblByb2dyZXNzITogYm9vbGVhbjtcbiAgcHVibGljIGlzRGVsZXRlSW5Qcm9ncmVzcyE6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxEaWFsb2dGb3JtQ29tcG9uZW50PixcbiAgICAgICAgICAgICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHByaXZhdGUgZGlhbG9nRm9ybVBhcmFtczogRGlhbG9nRm9ybVBhcmFtcyxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgICAgICAgIHByaXZhdGUgYW5ub3VuY2VtZW50U2VydmljZTogQW5ub3VuY2VtZW50U2VydmljZSwgcHJpdmF0ZSBvYmplY3RTZXJ2aWNlOiBPYmplY3RTZXJ2aWNlKSB7XG4gICAgdGhpcy5mb3JtUGFnZVNlcnZpY2UgPSB0aGlzLmRpYWxvZ0Zvcm1QYXJhbXMuZm9ybVBhZ2VTZXJ2aWNlO1xuICAgIHRoaXMuaWQgPSB0aGlzLmRpYWxvZ0Zvcm1QYXJhbXMuaWQ7XG4gICAgdGhpcy50aXRsZSA9IHRoaXMuZGlhbG9nRm9ybVBhcmFtcy50aXRsZTtcblxuICAgIGxldCByZXNwb25zZU9ic2VydmFibGUgPSB0aGlzLmlkID8gdGhpcy5mb3JtUGFnZVNlcnZpY2UuZ2V0RWRpdCh0aGlzLmlkKSA6IHRoaXMuZm9ybVBhZ2VTZXJ2aWNlLmdldE5ldyh0aGlzLmRpYWxvZ0Zvcm1QYXJhbXMuaW5pdERhdGEpO1xuXG4gICAgdGhpcy5jb250ZW50JCA9IHJlc3BvbnNlT2JzZXJ2YWJsZS5waXBlKFxuICAgICAgbWFwKChyZXM6IFdlYkFwaUZvcm1SZXNwb25zZSkgPT4ge1xuICAgICAgICBpZiAodGhpcy5kaWFsb2dGb3JtUGFyYW1zLmluaXREYXRhKSB7XG4gICAgICAgICAgcmVzLmNvbnRlbnQuZGF0YSA9IHRoaXMub2JqZWN0U2VydmljZS5kZWVwTWVyZ2UocmVzLmNvbnRlbnQuZGF0YSwgdGhpcy5kaWFsb2dGb3JtUGFyYW1zLmluaXREYXRhKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzLmNvbnRlbnQ7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0NoZWNrZWQoKTogdm9pZCB7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBvbkNhbmNlbENsaWNrZWQoKSB7XG4gICAgdGhpcy5jbG9zZSgpO1xuICB9XG5cbiAgb25TYXZlQ2xpY2tlZCgpIHtcbiAgICB0aGlzLmlzU2F2ZUluUHJvZ3Jlc3MgPSB0cnVlO1xuXG4gICAgbGV0IHJlc3BvbnNlT2JzZXJ2YWJsZSA9IHRoaXMuaWQgPyB0aGlzLmZvcm1QYWdlU2VydmljZS51cGRhdGUodGhpcy5pZCwgdGhpcy5keW5hbWljRm9ybS52YWx1ZSkgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtUGFnZVNlcnZpY2UuY3JlYXRlKHRoaXMuZHluYW1pY0Zvcm0udmFsdWUpO1xuXG4gICAgcmVzcG9uc2VPYnNlcnZhYmxlLnN1YnNjcmliZShcbiAgICAgIHJlcyA9PiB7IHRoaXMub25TYXZlU3VjY2VzcyhyZXMpOyB9LFxuICAgICAgcmVzID0+IHsgdGhpcy5vblNhdmVGYWlsdXJlKHJlcyk7IH1cbiAgICApO1xuICB9XG5cbiAgb25TYXZlU3VjY2VzcyhyZXM6IFdlYkFwaVNhdmVSZXNwb25zZSk6IHZvaWQge1xuICAgIHRoaXMuaWQgPSByZXMuaWQ7XG4gICAgdGhpcy5jb250ZW50JCA9IG9ic2VydmFibGVPZihyZXMuY29udGVudCk7XG4gICAgdGhpcy5hbm5vdW5jZW1lbnRTZXJ2aWNlLnN1Y2Nlc3MoJ21hbnRsZS5tZXNzYWdlcy5zYXZlX3N1Y2Nlc3NmdWwnKTtcbiAgICB0aGlzLmNsb3NlKHJlcy5jb250ZW50LmRhdGEpO1xuXG4gICAgdGhpcy5pc1NhdmVJblByb2dyZXNzID0gZmFsc2U7XG4gIH1cblxuICBvblNhdmVGYWlsdXJlKHJlczogeyBlcnJvcjogV2ViQXBpU2F2ZVJlc3BvbnNlIH0pOiB2b2lkIHtcbiAgICBpZiAocmVzLmVycm9yLmNvbnRlbnQpIHtcbiAgICAgIHRoaXMuY29udGVudCQgPSBvYnNlcnZhYmxlT2YocmVzLmVycm9yLmNvbnRlbnQpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG5cbiAgICB0aGlzLmFubm91bmNlbWVudFNlcnZpY2UuZXJyb3IoJ21hbnRsZS5tZXNzYWdlcy5zYXZlX2ZhaWxlZCcpO1xuXG4gICAgaWYgKCEhcmVzLmVycm9yLmFsZXJ0Py5tZXNzYWdlKSB7XG4gICAgICB0aGlzLmFubm91bmNlbWVudFNlcnZpY2UuZXJyb3IocmVzLmVycm9yLmFsZXJ0Lm1lc3NhZ2UpO1xuICAgIH1cblxuICAgIHRoaXMuaXNTYXZlSW5Qcm9ncmVzcyA9IGZhbHNlO1xuICB9XG5cbiAgb25EZWxldGVDbGlja2VkKCkge1xuICAgIHRoaXMuZm9ybVBhZ2VTZXJ2aWNlLmRlbGV0ZShcbiAgICAgIHRoaXMuaWQhLFxuICAgICAgKCkgPT4geyB0aGlzLmlzRGVsZXRlSW5Qcm9ncmVzcyA9IHRydWU7IH0sXG4gICAgICAocmVzOiBXZWJBcGlEZWxldGVSZXNwb25zZSkgPT4geyB0aGlzLm9uRGVsZXRlU3VjY2VzcyhyZXMpOyB9LFxuICAgICAgKHJlczogV2ViQXBpRGVsZXRlUmVzcG9uc2UpID0+IHsgdGhpcy5vbkRlbGV0ZUZhaWx1cmUocmVzKTsgfVxuICAgICk7XG4gIH1cblxuICBvbkRlbGV0ZVN1Y2Nlc3MocmVzOiBXZWJBcGlEZWxldGVSZXNwb25zZSk6IHZvaWQge1xuICAgIHRoaXMuYW5ub3VuY2VtZW50U2VydmljZS5zdWNjZXNzKCdtYW50bGUubWVzc2FnZXMuZGVsZXRlX3N1Y2Nlc3NmdWwnKTtcbiAgICB0aGlzLmNsb3NlKHsgaWQ6IHRoaXMuaWQsIF9kZXN0cm95OiB0cnVlIH0pO1xuICBcbiAgICB0aGlzLmlzRGVsZXRlSW5Qcm9ncmVzcyA9IGZhbHNlO1xuICB9XG5cbiAgb25EZWxldGVGYWlsdXJlKHJlczogV2ViQXBpRGVsZXRlUmVzcG9uc2UpOiB2b2lkIHtcbiAgICB0aGlzLmFubm91bmNlbWVudFNlcnZpY2UuZXJyb3IoJ21hbnRsZS5tZXNzYWdlcy5kZWxldGVfZmFpbGVkJyk7XG4gIFxuICAgIHRoaXMuaXNEZWxldGVJblByb2dyZXNzID0gZmFsc2U7XG4gIH1cblxuICBjbG9zZShyZXN1bHQ6IGFueSA9IGZhbHNlKSB7XG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UocmVzdWx0KTtcbiAgfVxuXG59XG4iLCI8ZGl2IG1hdC1kaWFsb2ctdGl0bGUgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwic3RhcnRcIiBmeExheW91dEdhcD1cIjhweFwiIGNsYXNzPVwiZGlhbG9nLXRpdGxlLXNlY3Rpb25cIj5cbiAgPG1hbnRsZS1zZWN0aW9uLXRpdGxlIGZ4RmxleD1cIjEgMCAxcHhcIiBbdGl0bGVdPVwidGl0bGVcIj48L21hbnRsZS1zZWN0aW9uLXRpdGxlPlxuICA8YnV0dG9uIGZ4RmxleD1cIjAgMCBhdXRvXCIgbWF0LWljb24tYnV0dG9uIHRhYmluZGV4PVwiLTFcIiAoY2xpY2spPVwib25DYW5jZWxDbGlja2VkKClcIj5cbiAgICA8bWF0LWljb24+Y2FuY2VsPC9tYXQtaWNvbj5cbiAgPC9idXR0b24+XG48L2Rpdj5cblxuPG1hdC1kaWFsb2ctY29udGVudD5cbiAgPG1hbnRsZS1keW5hbWljLWZvcm0gI2R5bmFtaWNGb3JtIFtjb250ZW50XT1cImNvbnRlbnQkIHwgYXN5bmNcIj48L21hbnRsZS1keW5hbWljLWZvcm0+XG48L21hdC1kaWFsb2ctY29udGVudD5cblxuPG1hdC1kaWFsb2ctYWN0aW9ucyBmeExheW91dD1cInJvd1wiIGNsYXNzPVwiYWN0aW9ucy1zZWN0aW9uXCI+XG4gIDxkaXYgZnhGbGV4PVwiMCAwIGF1dG9cIiAqbmdJZj1cIiEhaWQgJiYgZm9ybVBhZ2VTZXJ2aWNlLnNob3dEZWxldGVCdXR0b25JbkZvcm1cIj5cbiAgICA8YnV0dG9uIG1hdC1idXR0b25cbiAgICAgICAgKm5nSWY9XCIhaXNEZWxldGVJblByb2dyZXNzXCJcbiAgICAgICAgY29sb3I9XCJ3YXJuXCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwiZGVsZXRlLWJ1dHRvblwiXG4gICAgICAgIChjbGljayk9XCJvbkRlbGV0ZUNsaWNrZWQoKVwiPlxuICAgICAge3sgJ21hbnRsZS5idXR0b25zLmRlbGV0ZScgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cblxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgKm5nSWY9XCJpc0RlbGV0ZUluUHJvZ3Jlc3NcIlxuICAgICAgICBjb2xvcj1cIndhcm5cIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJkZWxldGluZy1idXR0b25cIlxuICAgICAgICBbZGlzYWJsZWRdPVwidHJ1ZVwiPlxuICAgICAge3sgJ21hbnRsZS5idXR0b25zLmRlbGV0aW5nJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPG1hdC1zcGlubmVyIG1hdFN1ZmZpeCBbZGlhbWV0ZXJdPVwiMTZcIj48L21hdC1zcGlubmVyPlxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cblxuICA8ZGl2IGZ4RmxleD1cIjEgMSBhdXRvXCI+PC9kaXY+XG5cbiAgPGRpdiBmeEZsZXg9XCIwIDAgYXV0b1wiPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgKm5nSWY9XCIhaXNTYXZlSW5Qcm9ncmVzc1wiXG4gICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cInNhdmUtYnV0dG9uXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uU2F2ZUNsaWNrZWQoKVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCIhZHluYW1pY0Zvcm0/LnZhbGlkXCI+XG4gICAgICB7eyAnbWFudGxlLmJ1dHRvbnMuc2F2ZScgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cblxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgKm5nSWY9XCJpc1NhdmVJblByb2dyZXNzXCJcbiAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwic2F2aW5nLWJ1dHRvblwiXG4gICAgICAgIChjbGljayk9XCJvblNhdmVDbGlja2VkKClcIlxuICAgICAgICBbZGlzYWJsZWRdPVwidHJ1ZVwiPlxuICAgICAge3sgJ21hbnRsZS5idXR0b25zLnNhdmluZycgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDxtYXQtc3Bpbm5lciBtYXRTdWZmaXggW2RpYW1ldGVyXT1cIjE2XCI+PC9tYXQtc3Bpbm5lcj5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L21hdC1kaWFsb2ctYWN0aW9ucz5cbiJdfQ==
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { Component,
|
|
2
|
-
import { MAT_DIALOG_DATA
|
|
3
|
-
import { DynamicFormService } from '../../../services/dynamic-form.service';
|
|
1
|
+
import { Component, Inject } from '@angular/core';
|
|
2
|
+
import { MAT_DIALOG_DATA } from "@angular/material/dialog";
|
|
4
3
|
import * as i0 from "@angular/core";
|
|
5
4
|
import * as i1 from "@angular/material/dialog";
|
|
6
5
|
import * as i2 from "../../../services/dynamic-form.service";
|
|
@@ -10,6 +9,7 @@ import * as i5 from "@angular/material/icon";
|
|
|
10
9
|
import * as i6 from "../sections/grid-form-section/grid-form-section.component";
|
|
11
10
|
import * as i7 from "@angular/flex-layout/flex";
|
|
12
11
|
import * as i8 from "@angular/common";
|
|
12
|
+
import * as i9 from "@ngx-translate/core";
|
|
13
13
|
export class DialogNestedFormComponent {
|
|
14
14
|
constructor(changeDetectorRef, dialogRef, dialogNestedFormParams, dynamicFormService) {
|
|
15
15
|
this.changeDetectorRef = changeDetectorRef;
|
|
@@ -19,11 +19,20 @@ export class DialogNestedFormComponent {
|
|
|
19
19
|
this.title = this.dialogNestedFormParams.title;
|
|
20
20
|
this.section = this.dialogNestedFormParams.section;
|
|
21
21
|
this.showDeleteButton = this.dialogNestedFormParams.showDeleteButton;
|
|
22
|
+
this.formPageService = this.dialogNestedFormParams.formPageService;
|
|
22
23
|
if (!this.dialogNestedFormParams.data) {
|
|
23
24
|
this.dialogNestedFormParams.data = this.dynamicFormService.generateFormInitData(this.dialogNestedFormParams.section.elements);
|
|
24
25
|
}
|
|
25
|
-
this.saveButtonText = this.dialogNestedFormParams.saveButtonText || '
|
|
26
|
+
this.saveButtonText = this.dialogNestedFormParams.saveButtonText || 'mantle.buttons.save';
|
|
26
27
|
this.form = this.dynamicFormService.toFormGroup(this.dialogNestedFormParams.data);
|
|
28
|
+
if (this.formPageService) {
|
|
29
|
+
this.formPageService.onDialogFormContentLoaded(this.dialogNestedFormParams);
|
|
30
|
+
this.form.valueChanges.subscribe(val => {
|
|
31
|
+
let changes = this.formPageService.onDialogFormValueChanged(this.dialogNestedFormParams, this.form.getRawValue());
|
|
32
|
+
if (changes)
|
|
33
|
+
this.form.patchValue(changes);
|
|
34
|
+
});
|
|
35
|
+
}
|
|
27
36
|
}
|
|
28
37
|
ngAfterViewChecked() {
|
|
29
38
|
this.changeDetectorRef.detectChanges();
|
|
@@ -41,9 +50,9 @@ export class DialogNestedFormComponent {
|
|
|
41
50
|
this.dialogRef.close();
|
|
42
51
|
}
|
|
43
52
|
}
|
|
44
|
-
DialogNestedFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.
|
|
45
|
-
DialogNestedFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.
|
|
46
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.
|
|
53
|
+
DialogNestedFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: DialogNestedFormComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i2.DynamicFormService }], target: i0.ɵɵFactoryTarget.Component });
|
|
54
|
+
DialogNestedFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.5", type: DialogNestedFormComponent, selector: "mantle-dialog-nested-form", ngImport: i0, template: "<div mat-dialog-title fxLayout=\"row\" fxLayoutAlign=\"start\" fxLayoutGap=\"8px\" class=\"dialog-title-section\">\n <mantle-section-title fxFlex=\"1 0 1px\" [title]=\"title\"></mantle-section-title>\n <button fxFlex=\"0 0 auto\" mat-icon-button tabindex=\"-1\" (click)=\"onCancel()\">\n <mat-icon>cancel</mat-icon>\n </button>\n</div>\n\n<mat-dialog-content>\n\n <mantle-grid-form-section\n [section]=\"section\"\n [form]=\"form\">\n </mantle-grid-form-section>\n\n</mat-dialog-content>\n\n<mat-dialog-actions fxLayout=\"row\" class=\"actions-section\">\n <button fxFlex=\"0 0 auto\" *ngIf=\"showDeleteButton\" mat-button (click)=\"onDelete()\" color=\"warn\">{{ 'mantle.buttons.delete' | translate }}</button>\n <div fxFlex=\"1 1 auto\"></div>\n <button fxFlex=\"0 0 auto\" mat-button (click)=\"onSave()\" [disabled]=\"!form.valid\">{{ saveButtonText | translate }}</button>\n</mat-dialog-actions>\n", styles: [""], 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.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i6.GridFormSectionComponent, selector: "mantle-grid-form-section", inputs: ["title", "section", "form", "errors", "defaultRowHeight"] }], directives: [{ type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i7.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i7.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i7.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { type: i7.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i9.TranslatePipe } });
|
|
55
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: DialogNestedFormComponent, decorators: [{
|
|
47
56
|
type: Component,
|
|
48
57
|
args: [{
|
|
49
58
|
selector: 'mantle-dialog-nested-form',
|
|
@@ -54,4 +63,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
54
63
|
type: Inject,
|
|
55
64
|
args: [MAT_DIALOG_DATA]
|
|
56
65
|
}] }, { type: i2.DynamicFormService }]; } });
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLW5lc3RlZC1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hbnRsZS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9kaWFsb2ctbmVzdGVkLWZvcm0vZGlhbG9nLW5lc3RlZC1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hbnRsZS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9kaWFsb2ctbmVzdGVkLWZvcm0vZGlhbG9nLW5lc3RlZC1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXVDLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2RixPQUFPLEVBQUUsZUFBZSxFQUFnQixNQUFNLDBCQUEwQixDQUFDOzs7Ozs7Ozs7OztBQW1CekUsTUFBTSxPQUFPLHlCQUF5QjtJQVNwQyxZQUFvQixpQkFBb0MsRUFBVSxTQUFrRCxFQUN2RSxzQkFBOEMsRUFDdkUsa0JBQXNDO1FBRnRDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFBVSxjQUFTLEdBQVQsU0FBUyxDQUF5QztRQUN2RSwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQ3ZFLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDeEQsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDO1FBQy9DLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE9BQU8sQ0FBQztRQUNuRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGdCQUFnQixDQUFDO1FBQ3JFLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGVBQWUsQ0FBQztRQUVuRSxJQUFJLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksRUFBRTtZQUNyQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQy9IO1FBRUQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsY0FBYyxJQUFJLHFCQUFxQixDQUFDO1FBRTFGLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEYsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxlQUFlLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUM7WUFDNUUsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUNyQyxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7Z0JBQ2xILElBQUksT0FBTztvQkFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM3QyxDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN2QyxRQUFRLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDekIsQ0FBQzs7c0hBbERVLHlCQUF5QiwrRUFVaEIsZUFBZTswR0FWeEIseUJBQXlCLGlFQ3JCdEMsNDVCQXFCQTsyRkRBYSx5QkFBeUI7a0JBTHJDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsV0FBVyxFQUFFLHFDQUFxQztvQkFDbEQsU0FBUyxFQUFFLENBQUMscUNBQXFDLENBQUM7aUJBQ25EOzswQkFXYyxNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEFmdGVyVmlld0NoZWNrZWQsIENoYW5nZURldGVjdG9yUmVmLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nUmVmIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2RpYWxvZ1wiO1xuaW1wb3J0IHsgRHluYW1pY0xheW91dEdyaWRTZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vZGF0YS1zdHJ1Y3R1cmVzL2R5bmFtaWMtbGF5b3V0LnN0cnVjdHVyZSc7XG5pbXBvcnQgeyBEeW5hbWljRm9ybVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9keW5hbWljLWZvcm0uc2VydmljZSc7XG5pbXBvcnQgeyBGb3JtUGFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pbnRlcmZhY2VzL2Zvcm0tcGFnZS5zZXJ2aWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBEaWFsb2dOZXN0ZWRGb3JtUGFyYW1zIHtcbiAgdGl0bGU6IHN0cmluZztcbiAgc2VjdGlvbjogRHluYW1pY0xheW91dEdyaWRTZWN0aW9uO1xuICBkYXRhOiBhbnk7XG4gIHNob3dEZWxldGVCdXR0b246IGJvb2xlYW47XG4gIHNhdmVCdXR0b25UZXh0OiBzdHJpbmc7XG4gIGZvcm1QYWdlU2VydmljZTogRm9ybVBhZ2VTZXJ2aWNlO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtYW50bGUtZGlhbG9nLW5lc3RlZC1mb3JtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RpYWxvZy1uZXN0ZWQtZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RpYWxvZy1uZXN0ZWQtZm9ybS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIERpYWxvZ05lc3RlZEZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdDaGVja2VkIHtcblxuICBwdWJsaWMgdGl0bGU6IHN0cmluZztcbiAgcHVibGljIHNlY3Rpb246IER5bmFtaWNMYXlvdXRHcmlkU2VjdGlvbjtcbiAgcHVibGljIHNob3dEZWxldGVCdXR0b246IGJvb2xlYW47XG4gIHB1YmxpYyBzYXZlQnV0dG9uVGV4dDogc3RyaW5nO1xuICBwdWJsaWMgZm9ybVBhZ2VTZXJ2aWNlITogRm9ybVBhZ2VTZXJ2aWNlO1xuICBwdWJsaWMgZm9ybSE6IEZvcm1Hcm91cDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxEaWFsb2dOZXN0ZWRGb3JtQ29tcG9uZW50PixcbiAgICAgICAgICAgICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHByaXZhdGUgZGlhbG9nTmVzdGVkRm9ybVBhcmFtczogRGlhbG9nTmVzdGVkRm9ybVBhcmFtcyxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBkeW5hbWljRm9ybVNlcnZpY2U6IER5bmFtaWNGb3JtU2VydmljZSkge1xuICAgIHRoaXMudGl0bGUgPSB0aGlzLmRpYWxvZ05lc3RlZEZvcm1QYXJhbXMudGl0bGU7XG4gICAgdGhpcy5zZWN0aW9uID0gdGhpcy5kaWFsb2dOZXN0ZWRGb3JtUGFyYW1zLnNlY3Rpb247XG4gICAgdGhpcy5zaG93RGVsZXRlQnV0dG9uID0gdGhpcy5kaWFsb2dOZXN0ZWRGb3JtUGFyYW1zLnNob3dEZWxldGVCdXR0b247XG4gICAgdGhpcy5mb3JtUGFnZVNlcnZpY2UgPSB0aGlzLmRpYWxvZ05lc3RlZEZvcm1QYXJhbXMuZm9ybVBhZ2VTZXJ2aWNlO1xuXG4gICAgaWYgKCF0aGlzLmRpYWxvZ05lc3RlZEZvcm1QYXJhbXMuZGF0YSkge1xuICAgICAgdGhpcy5kaWFsb2dOZXN0ZWRGb3JtUGFyYW1zLmRhdGEgPSB0aGlzLmR5bmFtaWNGb3JtU2VydmljZS5nZW5lcmF0ZUZvcm1Jbml0RGF0YSh0aGlzLmRpYWxvZ05lc3RlZEZvcm1QYXJhbXMuc2VjdGlvbi5lbGVtZW50cyk7XG4gICAgfVxuXG4gICAgdGhpcy5zYXZlQnV0dG9uVGV4dCA9IHRoaXMuZGlhbG9nTmVzdGVkRm9ybVBhcmFtcy5zYXZlQnV0dG9uVGV4dCB8fCAnbWFudGxlLmJ1dHRvbnMuc2F2ZSc7XG5cbiAgICB0aGlzLmZvcm0gPSB0aGlzLmR5bmFtaWNGb3JtU2VydmljZS50b0Zvcm1Hcm91cCh0aGlzLmRpYWxvZ05lc3RlZEZvcm1QYXJhbXMuZGF0YSk7XG4gICAgaWYgKHRoaXMuZm9ybVBhZ2VTZXJ2aWNlKSB7XG4gICAgICB0aGlzLmZvcm1QYWdlU2VydmljZS5vbkRpYWxvZ0Zvcm1Db250ZW50TG9hZGVkKHRoaXMuZGlhbG9nTmVzdGVkRm9ybVBhcmFtcyk7XG4gICAgICB0aGlzLmZvcm0udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2YWwgPT4ge1xuICAgICAgICBsZXQgY2hhbmdlcyA9IHRoaXMuZm9ybVBhZ2VTZXJ2aWNlLm9uRGlhbG9nRm9ybVZhbHVlQ2hhbmdlZCh0aGlzLmRpYWxvZ05lc3RlZEZvcm1QYXJhbXMsIHRoaXMuZm9ybS5nZXRSYXdWYWx1ZSgpKTtcbiAgICAgICAgaWYgKGNoYW5nZXMpIHRoaXMuZm9ybS5wYXRjaFZhbHVlKGNoYW5nZXMpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdDaGVja2VkKCk6IHZvaWQge1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgb25TYXZlKCkge1xuICAgIGxldCBmb3JtRGF0YSA9IHRoaXMuZm9ybS5nZXRSYXdWYWx1ZSgpO1xuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKGZvcm1EYXRhKTtcbiAgfVxuXG4gIG9uRGVsZXRlKCkge1xuICAgIGxldCBmb3JtRGF0YSA9IHRoaXMuZm9ybS5nZXRSYXdWYWx1ZSgpO1xuICAgIGZvcm1EYXRhLl9kZXN0cm95ID0gMTtcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShmb3JtRGF0YSk7XG4gIH1cblxuICBvbkNhbmNlbCgpIHtcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xuICB9XG5cbn1cbiIsIjxkaXYgbWF0LWRpYWxvZy10aXRsZSBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJzdGFydFwiIGZ4TGF5b3V0R2FwPVwiOHB4XCIgY2xhc3M9XCJkaWFsb2ctdGl0bGUtc2VjdGlvblwiPlxuICA8bWFudGxlLXNlY3Rpb24tdGl0bGUgZnhGbGV4PVwiMSAwIDFweFwiIFt0aXRsZV09XCJ0aXRsZVwiPjwvbWFudGxlLXNlY3Rpb24tdGl0bGU+XG4gIDxidXR0b24gZnhGbGV4PVwiMCAwIGF1dG9cIiBtYXQtaWNvbi1idXR0b24gdGFiaW5kZXg9XCItMVwiIChjbGljayk9XCJvbkNhbmNlbCgpXCI+XG4gICAgPG1hdC1pY29uPmNhbmNlbDwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG5cbjxtYXQtZGlhbG9nLWNvbnRlbnQ+XG5cbiAgPG1hbnRsZS1ncmlkLWZvcm0tc2VjdGlvblxuICAgICAgW3NlY3Rpb25dPVwic2VjdGlvblwiXG4gICAgICBbZm9ybV09XCJmb3JtXCI+XG4gIDwvbWFudGxlLWdyaWQtZm9ybS1zZWN0aW9uPlxuXG48L21hdC1kaWFsb2ctY29udGVudD5cblxuPG1hdC1kaWFsb2ctYWN0aW9ucyBmeExheW91dD1cInJvd1wiIGNsYXNzPVwiYWN0aW9ucy1zZWN0aW9uXCI+XG4gIDxidXR0b24gZnhGbGV4PVwiMCAwIGF1dG9cIiAqbmdJZj1cInNob3dEZWxldGVCdXR0b25cIiBtYXQtYnV0dG9uIChjbGljayk9XCJvbkRlbGV0ZSgpXCIgY29sb3I9XCJ3YXJuXCI+e3sgJ21hbnRsZS5idXR0b25zLmRlbGV0ZScgfCB0cmFuc2xhdGUgfX08L2J1dHRvbj5cbiAgPGRpdiBmeEZsZXg9XCIxIDEgYXV0b1wiPjwvZGl2PlxuICA8YnV0dG9uIGZ4RmxleD1cIjAgMCBhdXRvXCIgbWF0LWJ1dHRvbiAoY2xpY2spPVwib25TYXZlKClcIiBbZGlzYWJsZWRdPVwiIWZvcm0udmFsaWRcIj57eyBzYXZlQnV0dG9uVGV4dCB8IHRyYW5zbGF0ZSB9fTwvYnV0dG9uPlxuPC9tYXQtZGlhbG9nLWFjdGlvbnM+XG4iXX0=
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { Component,
|
|
2
|
-
import { DynamicFormService } from '../../../services/dynamic-form.service';
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
3
2
|
import * as i0 from "@angular/core";
|
|
4
3
|
import * as i1 from "../../../services/dynamic-form.service";
|
|
5
4
|
import * as i2 from "../containers/dynamic-form-container/dynamic-form-container.component";
|
|
@@ -15,7 +14,11 @@ export class DynamicFormComponent {
|
|
|
15
14
|
this.form = this.dynamicFormService.toFormGroup(this.content.data);
|
|
16
15
|
if (this.formPageService) {
|
|
17
16
|
this.form.valueChanges.subscribe(val => {
|
|
18
|
-
this.formPageService.onFormValueChanged(this.content, this.form.getRawValue());
|
|
17
|
+
let changes = this.formPageService.onFormValueChanged(this.content, this.form.getRawValue());
|
|
18
|
+
if (changes) {
|
|
19
|
+
this.content.data = Object.assign(Object.assign({}, this.content.data), changes);
|
|
20
|
+
this.form.patchValue(changes);
|
|
21
|
+
}
|
|
19
22
|
});
|
|
20
23
|
}
|
|
21
24
|
}
|
|
@@ -35,9 +38,9 @@ export class DynamicFormComponent {
|
|
|
35
38
|
this.form.reset();
|
|
36
39
|
}
|
|
37
40
|
}
|
|
38
|
-
DynamicFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.
|
|
39
|
-
DynamicFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.
|
|
40
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.
|
|
41
|
+
DynamicFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: DynamicFormComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.DynamicFormService }], target: i0.ɵɵFactoryTarget.Component });
|
|
42
|
+
DynamicFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.5", type: DynamicFormComponent, selector: "mantle-dynamic-form", inputs: { formPageService: "formPageService", content: "content" }, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"content; else loader\">\n <ng-container *ngFor=\"let container of content.containers\">\n <mantle-dynamic-form-container [formPageService]=\"formPageService\" [container]=\"container\" [content]=\"content\" [form]=\"form\">\n </mantle-dynamic-form-container>\n </ng-container>\n</ng-container>\n\n<ng-template #loader>\n <mantle-loader></mantle-loader>\n</ng-template>\n", styles: [""], components: [{ type: i2.DynamicFormContainerComponent, selector: "mantle-dynamic-form-container", inputs: ["formPageService", "content", "container", "form"] }, { type: i3.LoaderComponent, selector: "mantle-loader", inputs: ["delay"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: DynamicFormComponent, decorators: [{
|
|
41
44
|
type: Component,
|
|
42
45
|
args: [{
|
|
43
46
|
selector: 'mantle-dynamic-form',
|
|
@@ -49,4 +52,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
49
52
|
}], content: [{
|
|
50
53
|
type: Input
|
|
51
54
|
}] } });
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hbnRsZS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9keW5hbWljLWZvcm0vZHluYW1pYy1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hbnRsZS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9keW5hbWljLWZvcm0vZHluYW1pYy1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWtELEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBV2pHLE1BQU0sT0FBTyxvQkFBb0I7SUFPL0IsWUFBb0IsaUJBQW9DLEVBQVUsa0JBQXNDO1FBQXBGLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFBVSx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO0lBQUksQ0FBQztJQUU3RyxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRW5FLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtnQkFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFO29CQUNyQyxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO29CQUM3RixJQUFJLE9BQU8sRUFBRTt3QkFDWCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksbUNBQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEdBQUssT0FBTyxDQUFDLENBQUM7d0JBQ3ZELElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO3FCQUMvQjtnQkFDSCxDQUFDLENBQUMsQ0FBQzthQUNKO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRUQsSUFBSSxLQUFLOztRQUNQLE9BQU8sTUFBQSxJQUFJLENBQUMsSUFBSSwwQ0FBRSxLQUFLLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksS0FBSzs7UUFDUCxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFBLElBQUksQ0FBQyxJQUFJLDBDQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3BCLENBQUM7O2lIQXZDVSxvQkFBb0I7cUdBQXBCLG9CQUFvQixvSkNYakMsbVpBVUE7MkZEQ2Esb0JBQW9CO2tCQUxoQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFdBQVcsRUFBRSwrQkFBK0I7b0JBQzVDLFNBQVMsRUFBRSxDQUFDLCtCQUErQixDQUFDO2lCQUM3Qzt5SUFHVSxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25DaGFuZ2VzLCBBZnRlclZpZXdDaGVja2VkLCBDaGFuZ2VEZXRlY3RvclJlZiwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IER5bmFtaWNGb3JtQ29udGVudCB9IGZyb20gJy4uLy4uLy4uL2RhdGEtc3RydWN0dXJlcy9keW5hbWljLWxheW91dC5zdHJ1Y3R1cmUnO1xuaW1wb3J0IHsgRHluYW1pY0Zvcm1TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZHluYW1pYy1mb3JtLnNlcnZpY2UnO1xuaW1wb3J0IHsgRm9ybVBhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaW50ZXJmYWNlcy9mb3JtLXBhZ2Uuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21hbnRsZS1keW5hbWljLWZvcm0nLFxuICB0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy1mb3JtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZHluYW1pYy1mb3JtLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY0Zvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIEFmdGVyVmlld0NoZWNrZWQge1xuXG4gIEBJbnB1dCgpIGZvcm1QYWdlU2VydmljZSE6IEZvcm1QYWdlU2VydmljZTtcbiAgQElucHV0KCkgY29udGVudCE6IER5bmFtaWNGb3JtQ29udGVudDtcblxuICBwdWJsaWMgZm9ybSE6IEZvcm1Hcm91cDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSBkeW5hbWljRm9ybVNlcnZpY2U6IER5bmFtaWNGb3JtU2VydmljZSkgeyB9XG5cbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY29udGVudCkge1xuICAgICAgdGhpcy5mb3JtID0gdGhpcy5keW5hbWljRm9ybVNlcnZpY2UudG9Gb3JtR3JvdXAodGhpcy5jb250ZW50LmRhdGEpO1xuXG4gICAgICBpZiAodGhpcy5mb3JtUGFnZVNlcnZpY2UpIHtcbiAgICAgICAgdGhpcy5mb3JtLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodmFsID0+IHtcbiAgICAgICAgICBsZXQgY2hhbmdlcyA9IHRoaXMuZm9ybVBhZ2VTZXJ2aWNlLm9uRm9ybVZhbHVlQ2hhbmdlZCh0aGlzLmNvbnRlbnQsIHRoaXMuZm9ybS5nZXRSYXdWYWx1ZSgpKTtcbiAgICAgICAgICBpZiAoY2hhbmdlcykge1xuICAgICAgICAgICAgdGhpcy5jb250ZW50LmRhdGEgPSB7Li4udGhpcy5jb250ZW50LmRhdGEsIC4uLmNoYW5nZXN9O1xuICAgICAgICAgICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoY2hhbmdlcyk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0NoZWNrZWQoKTogdm9pZCB7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBnZXQgdmFsaWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybT8udmFsaWQ7XG4gIH1cblxuICBnZXQgdmFsdWUoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5keW5hbWljRm9ybVNlcnZpY2UudHJhbnNmb3JtRm9ybVZhbHVlKHRoaXMuZm9ybT8uZ2V0UmF3VmFsdWUoKSk7XG4gIH1cblxuICByZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm0ucmVzZXQoKTtcbiAgfVxuXG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiY29udGVudDsgZWxzZSBsb2FkZXJcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY29udGFpbmVyIG9mIGNvbnRlbnQuY29udGFpbmVyc1wiPlxuICAgIDxtYW50bGUtZHluYW1pYy1mb3JtLWNvbnRhaW5lciBbZm9ybVBhZ2VTZXJ2aWNlXT1cImZvcm1QYWdlU2VydmljZVwiIFtjb250YWluZXJdPVwiY29udGFpbmVyXCIgW2NvbnRlbnRdPVwiY29udGVudFwiIFtmb3JtXT1cImZvcm1cIj5cbiAgICA8L21hbnRsZS1keW5hbWljLWZvcm0tY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI2xvYWRlcj5cbiAgPG1hbnRsZS1sb2FkZXI+PC9tYW50bGUtbG9hZGVyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|