@codetectonics/mantle 0.0.2 → 0.0.3
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/README.md +10 -49
- package/bundles/codetectonics-mantle.umd.js +6907 -0
- package/bundles/codetectonics-mantle.umd.js.map +1 -0
- package/esm2015/codetectonics-mantle.js +5 -0
- package/esm2015/lib/components/dashboard/containers/dynamic-dashboard-container/dynamic-dashboard-container.component.js +24 -0
- package/esm2015/lib/components/dashboard/containers/plain-dashboard-container/plain-dashboard-container.component.js +35 -0
- package/esm2015/lib/components/dashboard/dashboard-card/dashboard-card.component.js +133 -0
- package/esm2015/lib/components/dashboard/dashboard-card-search-menu/dashboard-card-search-menu.component.js +55 -0
- package/esm2015/lib/components/dashboard/dynamic-dashboard/dynamic-dashboard.component.js +23 -0
- package/esm2015/lib/components/dashboard/sections/dashboard-section/dashboard-section.component.js +71 -0
- package/esm2015/lib/components/dashboard/widgets/dashboard-info-card/dashboard-info-card.component.js +26 -0
- package/esm2015/lib/components/dashboard/widgets/dashboard-table/dashboard-table-datasource.js +30 -0
- package/esm2015/lib/components/dashboard/widgets/dashboard-table/dashboard-table.component.js +58 -0
- package/esm2015/lib/components/dashboard/widgets/dynamic-chart/dynamic-chart.component.js +85 -0
- package/esm2015/lib/components/dashboard/widgets/dynamic-widget-display/dynamic-widget-display.component.js +29 -0
- package/esm2015/lib/components/details/containers/accordion-details-container/accordion-details-container.component.js +26 -0
- package/esm2015/lib/components/details/containers/dynamic-details-container/dynamic-details-container.component.js +25 -0
- package/esm2015/lib/components/details/containers/plain-details-container/plain-details-container.component.js +25 -0
- package/esm2015/lib/components/details/dialog-details/dialog-details.component.js +77 -0
- package/esm2015/lib/components/details/dialog-nested-details/dialog-nested-details.component.js +40 -0
- package/esm2015/lib/components/details/dynamic-details/dynamic-details.component.js +23 -0
- package/esm2015/lib/components/details/fields/actions-attribute-display/actions-attribute-display.component.js +27 -0
- package/esm2015/lib/components/details/fields/chip-attribute-display/chip-attribute-display.component.js +40 -0
- package/esm2015/lib/components/details/fields/dynamic-attribute-display/dynamic-attribute-display.component.js +46 -0
- package/esm2015/lib/components/details/fields/file-attribute-display/file-attribute-display.component.js +37 -0
- package/esm2015/lib/components/details/fields/image-attribute-display/image-attribute-display.component.js +36 -0
- package/esm2015/lib/components/details/fields/link-attribute-display/link-attribute-display.component.js +30 -0
- package/esm2015/lib/components/details/fields/markdown-attribute-display/markdown-attribute-display.component.js +21 -0
- package/esm2015/lib/components/details/fields/thumbnail-display/thumbnail-display.component.js +33 -0
- package/esm2015/lib/components/details/sections/dynamic-details-section/dynamic-details-section.component.js +42 -0
- package/esm2015/lib/components/details/sections/grid-details-section/grid-details-section.component.js +53 -0
- package/esm2015/lib/components/details/sections/markdown-details-section/markdown-details-section.component.js +19 -0
- package/esm2015/lib/components/details/sections/table-details-section/table-details-section.component.js +37 -0
- package/esm2015/lib/components/form/containers/accordion-form-container/accordion-form-container.component.js +29 -0
- package/esm2015/lib/components/form/containers/dynamic-form-container/dynamic-form-container.component.js +28 -0
- package/esm2015/lib/components/form/containers/plain-form-container/plain-form-container.component.js +28 -0
- package/esm2015/lib/components/form/dialog-form/dialog-form.component.js +91 -0
- package/esm2015/lib/components/form/dialog-nested-form/dialog-nested-form.component.js +57 -0
- package/esm2015/lib/components/form/dynamic-form/dynamic-form.component.js +52 -0
- package/esm2015/lib/components/form/fields/autocomplete-input/autocomplete-input.component.js +69 -0
- package/esm2015/lib/components/form/fields/chip-input/chip-input.component.js +84 -0
- package/esm2015/lib/components/form/fields/datepicker/datepicker.component.js +91 -0
- package/esm2015/lib/components/form/fields/datetimepicker/datetimepicker.component.js +92 -0
- package/esm2015/lib/components/form/fields/dropdown/dropdown.component.js +73 -0
- package/esm2015/lib/components/form/fields/dynamic-form-field/dynamic-form-field.component.js +37 -0
- package/esm2015/lib/components/form/fields/filepicker/filepicker.component.js +97 -0
- package/esm2015/lib/components/form/fields/image-cropper/image-cropper.component.js +52 -0
- package/esm2015/lib/components/form/fields/imagepicker/imagepicker.component.js +139 -0
- package/esm2015/lib/components/form/fields/markdown-input/markdown-input.component.js +53 -0
- package/esm2015/lib/components/form/fields/number-input/number-input.component.js +91 -0
- package/esm2015/lib/components/form/fields/password-input/password-input.component.js +58 -0
- package/esm2015/lib/components/form/fields/text-input/text-input.component.js +55 -0
- package/esm2015/lib/components/form/fields/textarea/textarea.component.js +58 -0
- package/esm2015/lib/components/form/sections/dynamic-form-section/dynamic-form-section.component.js +47 -0
- package/esm2015/lib/components/form/sections/grid-form-section/grid-form-section.component.js +69 -0
- package/esm2015/lib/components/form/sections/table-form-section/table-form-section.component.js +107 -0
- package/esm2015/lib/components/layout-editor/containers/accordion-layout-editor-container/accordion-layout-editor-container.component.js +24 -0
- package/esm2015/lib/components/layout-editor/containers/dynamic-layout-editor-container/dynamic-layout-editor-container.component.js +23 -0
- package/esm2015/lib/components/layout-editor/containers/plain-layout-editor-container/plain-layout-editor-container.component.js +24 -0
- package/esm2015/lib/components/layout-editor/dynamic-layout-editor/dynamic-layout-editor.component.js +23 -0
- package/esm2015/lib/components/layout-editor/elements/dynamic-layout-editor-element/dynamic-layout-editor-element.component.js +38 -0
- package/esm2015/lib/components/layout-editor/elements/layout-editor-field-element/layout-editor-field-element.component.js +76 -0
- package/esm2015/lib/components/layout-editor/elements/layout-editor-table-column-element/layout-editor-table-column-element.component.js +76 -0
- package/esm2015/lib/components/layout-editor/elements/layout-editor-widget-element/layout-editor-widget-element.component.js +19 -0
- package/esm2015/lib/components/layout-editor/sections/dashboard-layout-editor-section/dashboard-layout-editor-section.component.js +21 -0
- package/esm2015/lib/components/layout-editor/sections/dynamic-layout-editor-section/dynamic-layout-editor-section.component.js +25 -0
- package/esm2015/lib/components/layout-editor/sections/grid-layout-editor-section/grid-layout-editor-section.component.js +102 -0
- package/esm2015/lib/components/layout-editor/sections/markdown-layout-editor-section/markdown-layout-editor-section.component.js +19 -0
- package/esm2015/lib/components/layout-editor/sections/table-layout-editor-section/table-layout-editor-section.component.js +74 -0
- package/esm2015/lib/components/navigation/nav-tree/nav-tree.component.js +65 -0
- package/esm2015/lib/components/navigation/reroute/reroute.component.js +28 -0
- package/esm2015/lib/components/pages/dashboard-page/dashboard-page.component.js +34 -0
- package/esm2015/lib/components/pages/detail-page/detail-page.component.js +101 -0
- package/esm2015/lib/components/pages/documents-page/documents-page.component.js +109 -0
- package/esm2015/lib/components/pages/export-page/export-page.component.js +65 -0
- package/esm2015/lib/components/pages/form-page/form-page.component.js +133 -0
- package/esm2015/lib/components/pages/layout-editor-page/layout-editor-page.component.js +72 -0
- package/esm2015/lib/components/pages/list-page/list-page-datasource.js +62 -0
- package/esm2015/lib/components/pages/list-page/list-page.component.js +159 -0
- package/esm2015/lib/components/pages/tabbed-page/tabbed-page.component.js +35 -0
- package/esm2015/lib/components/titles/content-title/content-title.component.js +23 -0
- package/esm2015/lib/components/titles/page-title/page-title.component.js +28 -0
- package/esm2015/lib/components/titles/section-title/section-title.component.js +18 -0
- package/esm2015/lib/components/widgets/delete-confirmation-dialog/delete-confirmation-dialog.component.js +36 -0
- package/esm2015/lib/components/widgets/dynamic-table/dynamic-table-datasource.js +89 -0
- package/esm2015/lib/components/widgets/dynamic-table/dynamic-table.component.js +67 -0
- package/esm2015/lib/components/widgets/file-preview-dialog/file-preview-dialog.component.js +42 -0
- package/esm2015/lib/components/widgets/loader/loader.component.js +21 -0
- package/esm2015/lib/components/widgets/save-confirmation-dialog/save-confirmation-dialog.component.js +35 -0
- package/esm2015/lib/components/widgets/search-panel/search-panel.component.js +67 -0
- package/esm2015/lib/components/widgets/snackbar/snackbar.component.js +42 -0
- package/esm2015/lib/config/charts/column-chart.data.js +38 -0
- package/esm2015/lib/config/charts/gantt-chart.data.js +18 -0
- package/esm2015/lib/config/charts/pie-chart.data.js +21 -0
- package/esm2015/lib/config/charts/progress-bar-chart.data.js +50 -0
- package/esm2015/lib/config/charts/spline-chart.data.js +24 -0
- package/esm2015/lib/data-structures/dynamic-layout.structure.js +2 -0
- package/esm2015/lib/data-structures/file-attachment.structure.js +2 -0
- package/esm2015/lib/directives/click-stop-propagation.directive.js +19 -0
- package/esm2015/lib/directives/file-dropzone.directive.js +53 -0
- package/esm2015/lib/guards/feature.guard.js +42 -0
- package/esm2015/lib/guards/password-check.guard.js +21 -0
- package/esm2015/lib/guards/session.guard.js +21 -0
- package/esm2015/lib/mantle.module.js +518 -0
- package/esm2015/lib/material.module.js +290 -0
- package/esm2015/lib/models/screen-size-map.model.js +9 -0
- package/esm2015/lib/pipes/dynamic.pipe.js +45 -0
- package/esm2015/lib/pipes/secure-image.pipe.js +35 -0
- package/esm2015/lib/services/adapters/web-api-crud.adapter.js +22 -0
- package/esm2015/lib/services/adapters/websocket.adapter.js +2 -0
- package/esm2015/lib/services/announcement.service.js +43 -0
- package/esm2015/lib/services/array.service.js +82 -0
- package/esm2015/lib/services/chart.service.js +45 -0
- package/esm2015/lib/services/confirmation.service.js +45 -0
- package/esm2015/lib/services/current-user.service.js +120 -0
- package/esm2015/lib/services/dynamic-form.service.js +59 -0
- package/esm2015/lib/services/feature-config.service.js +240 -0
- package/esm2015/lib/services/interfaces/authorisable-feature.service.js +2 -0
- package/esm2015/lib/services/interfaces/dashboard-page.service.js +2 -0
- package/esm2015/lib/services/interfaces/dashboard-widget.service.js +2 -0
- package/esm2015/lib/services/interfaces/detail-page.service.js +2 -0
- package/esm2015/lib/services/interfaces/export-page.service.js +2 -0
- package/esm2015/lib/services/interfaces/form-page.service.js +2 -0
- package/esm2015/lib/services/interfaces/layout-editor-page.service.js +2 -0
- package/esm2015/lib/services/interfaces/list-page.service.js +2 -0
- package/esm2015/lib/services/interfaces/nav-tabs.service.js +2 -0
- package/esm2015/lib/services/interfaces/reroute.service.js +2 -0
- package/esm2015/lib/services/object.service.js +69 -0
- package/esm2015/lib/services/password-check.service.js +93 -0
- package/esm2015/lib/services/screen-size.service.js +41 -0
- package/esm2015/lib/services/web-api.service.js +99 -0
- package/esm2015/lib/services/websocket.service.js +58 -0
- package/esm2015/lib/tokens/environment.token.js +3 -0
- package/esm2015/public-api.js +133 -0
- package/fesm2015/codetectonics-mantle.js +5940 -0
- package/fesm2015/codetectonics-mantle.js.map +1 -0
- package/lib/components/dashboard/containers/dynamic-dashboard-container/dynamic-dashboard-container.component.d.ts +11 -0
- package/lib/components/dashboard/containers/plain-dashboard-container/plain-dashboard-container.component.d.ts +14 -0
- package/lib/components/dashboard/dashboard-card/dashboard-card.component.d.ts +41 -0
- package/lib/components/dashboard/dashboard-card-search-menu/dashboard-card-search-menu.component.d.ts +20 -0
- package/lib/components/dashboard/dynamic-dashboard/dynamic-dashboard.component.d.ts +10 -0
- package/lib/components/dashboard/sections/dashboard-section/dashboard-section.component.d.ts +27 -0
- package/lib/components/dashboard/widgets/dashboard-info-card/dashboard-info-card.component.d.ts +8 -0
- package/lib/components/dashboard/widgets/dashboard-table/dashboard-table-datasource.d.ts +22 -0
- package/lib/components/dashboard/widgets/dashboard-table/dashboard-table.component.d.ts +28 -0
- package/lib/components/dashboard/widgets/dynamic-chart/dynamic-chart.component.d.ts +20 -0
- package/lib/components/dashboard/widgets/dynamic-widget-display/dynamic-widget-display.component.d.ts +9 -0
- package/lib/components/details/containers/accordion-details-container/accordion-details-container.component.d.ts +11 -0
- package/lib/components/details/containers/dynamic-details-container/dynamic-details-container.component.d.ts +11 -0
- package/lib/components/details/containers/plain-details-container/plain-details-container.component.d.ts +11 -0
- package/lib/components/details/dialog-details/dialog-details.component.d.ts +36 -0
- package/lib/components/details/dialog-nested-details/dialog-nested-details.component.d.ts +22 -0
- package/lib/components/details/dynamic-details/dynamic-details.component.d.ts +10 -0
- package/lib/components/details/fields/actions-attribute-display/actions-attribute-display.component.d.ts +7 -0
- package/lib/components/details/fields/chip-attribute-display/chip-attribute-display.component.d.ts +9 -0
- package/lib/components/details/fields/dynamic-attribute-display/dynamic-attribute-display.component.d.ts +15 -0
- package/lib/components/details/fields/file-attribute-display/file-attribute-display.component.d.ts +12 -0
- package/lib/components/details/fields/image-attribute-display/image-attribute-display.component.d.ts +12 -0
- package/lib/components/details/fields/link-attribute-display/link-attribute-display.component.d.ts +10 -0
- package/lib/components/details/fields/markdown-attribute-display/markdown-attribute-display.component.d.ts +6 -0
- package/lib/components/details/fields/thumbnail-display/thumbnail-display.component.d.ts +10 -0
- package/lib/components/details/sections/dynamic-details-section/dynamic-details-section.component.d.ts +17 -0
- package/lib/components/details/sections/grid-details-section/grid-details-section.component.d.ts +17 -0
- package/lib/components/details/sections/markdown-details-section/markdown-details-section.component.d.ts +7 -0
- package/lib/components/details/sections/table-details-section/table-details-section.component.d.ts +12 -0
- package/lib/components/form/containers/accordion-form-container/accordion-form-container.component.d.ts +13 -0
- package/lib/components/form/containers/dynamic-form-container/dynamic-form-container.component.d.ts +13 -0
- package/lib/components/form/containers/plain-form-container/plain-form-container.component.d.ts +13 -0
- package/lib/components/form/dialog-form/dialog-form.component.d.ts +39 -0
- package/lib/components/form/dialog-nested-form/dialog-nested-form.component.d.ts +31 -0
- package/lib/components/form/dynamic-form/dynamic-form.component.d.ts +21 -0
- package/lib/components/form/fields/autocomplete-input/autocomplete-input.component.d.ts +32 -0
- package/lib/components/form/fields/chip-input/chip-input.component.d.ts +27 -0
- package/lib/components/form/fields/datepicker/datepicker.component.d.ts +24 -0
- package/lib/components/form/fields/datetimepicker/datetimepicker.component.d.ts +24 -0
- package/lib/components/form/fields/dropdown/dropdown.component.d.ts +31 -0
- package/lib/components/form/fields/dynamic-form-field/dynamic-form-field.component.d.ts +10 -0
- package/lib/components/form/fields/filepicker/filepicker.component.d.ts +27 -0
- package/lib/components/form/fields/image-cropper/image-cropper.component.d.ts +27 -0
- package/lib/components/form/fields/imagepicker/imagepicker.component.d.ts +41 -0
- package/lib/components/form/fields/markdown-input/markdown-input.component.d.ts +17 -0
- package/lib/components/form/fields/number-input/number-input.component.d.ts +27 -0
- package/lib/components/form/fields/password-input/password-input.component.d.ts +19 -0
- package/lib/components/form/fields/text-input/text-input.component.d.ts +18 -0
- package/lib/components/form/fields/textarea/textarea.component.d.ts +19 -0
- package/lib/components/form/sections/dynamic-form-section/dynamic-form-section.component.d.ts +19 -0
- package/lib/components/form/sections/grid-form-section/grid-form-section.component.d.ts +23 -0
- package/lib/components/form/sections/table-form-section/table-form-section.component.d.ts +22 -0
- package/lib/components/layout-editor/containers/accordion-layout-editor-container/accordion-layout-editor-container.component.d.ts +10 -0
- package/lib/components/layout-editor/containers/dynamic-layout-editor-container/dynamic-layout-editor-container.component.d.ts +10 -0
- package/lib/components/layout-editor/containers/plain-layout-editor-container/plain-layout-editor-container.component.d.ts +10 -0
- package/lib/components/layout-editor/dynamic-layout-editor/dynamic-layout-editor.component.d.ts +10 -0
- package/lib/components/layout-editor/elements/dynamic-layout-editor-element/dynamic-layout-editor-element.component.d.ts +13 -0
- package/lib/components/layout-editor/elements/layout-editor-field-element/layout-editor-field-element.component.d.ts +14 -0
- package/lib/components/layout-editor/elements/layout-editor-table-column-element/layout-editor-table-column-element.component.d.ts +14 -0
- package/lib/components/layout-editor/elements/layout-editor-widget-element/layout-editor-widget-element.component.d.ts +8 -0
- package/lib/components/layout-editor/sections/dashboard-layout-editor-section/dashboard-layout-editor-section.component.d.ts +8 -0
- package/lib/components/layout-editor/sections/dynamic-layout-editor-section/dynamic-layout-editor-section.component.d.ts +10 -0
- package/lib/components/layout-editor/sections/grid-layout-editor-section/grid-layout-editor-section.component.d.ts +21 -0
- package/lib/components/layout-editor/sections/markdown-layout-editor-section/markdown-layout-editor-section.component.d.ts +7 -0
- package/lib/components/layout-editor/sections/table-layout-editor-section/table-layout-editor-section.component.d.ts +14 -0
- package/lib/components/navigation/nav-tree/nav-tree.component.d.ts +46 -0
- package/lib/components/navigation/reroute/reroute.component.d.ts +14 -0
- package/lib/components/pages/dashboard-page/dashboard-page.component.d.ts +16 -0
- package/lib/components/pages/detail-page/detail-page.component.d.ts +35 -0
- package/lib/components/pages/documents-page/documents-page.component.d.ts +41 -0
- package/lib/components/pages/export-page/export-page.component.d.ts +29 -0
- package/lib/components/pages/form-page/form-page.component.d.ts +37 -0
- package/lib/components/pages/layout-editor-page/layout-editor-page.component.d.ts +26 -0
- package/lib/components/pages/list-page/list-page-datasource.d.ts +32 -0
- package/lib/components/pages/list-page/list-page.component.d.ts +46 -0
- package/lib/components/pages/tabbed-page/tabbed-page.component.d.ts +16 -0
- package/lib/components/titles/content-title/content-title.component.d.ts +8 -0
- package/lib/components/titles/page-title/page-title.component.d.ts +10 -0
- package/lib/components/titles/section-title/section-title.component.d.ts +7 -0
- package/lib/components/widgets/delete-confirmation-dialog/delete-confirmation-dialog.component.d.ts +20 -0
- package/lib/components/widgets/dynamic-table/dynamic-table-datasource.d.ts +40 -0
- package/lib/components/widgets/dynamic-table/dynamic-table.component.d.ts +30 -0
- package/lib/components/widgets/file-preview-dialog/file-preview-dialog.component.d.ts +17 -0
- package/lib/components/widgets/loader/loader.component.d.ts +6 -0
- package/lib/components/widgets/save-confirmation-dialog/save-confirmation-dialog.component.d.ts +16 -0
- package/lib/components/widgets/search-panel/search-panel.component.d.ts +21 -0
- package/lib/components/widgets/snackbar/snackbar.component.d.ts +11 -0
- package/lib/config/charts/column-chart.data.d.ts +37 -0
- package/lib/config/charts/gantt-chart.data.d.ts +17 -0
- package/lib/config/charts/pie-chart.data.d.ts +20 -0
- package/lib/config/charts/progress-bar-chart.data.d.ts +49 -0
- package/lib/config/charts/spline-chart.data.d.ts +23 -0
- package/lib/data-structures/dynamic-layout.structure.d.ts +161 -0
- package/lib/data-structures/file-attachment.structure.d.ts +6 -0
- package/lib/directives/click-stop-propagation.directive.d.ts +6 -0
- package/lib/directives/file-dropzone.directive.d.ts +12 -0
- package/lib/guards/feature.guard.d.ts +15 -0
- package/lib/guards/password-check.guard.d.ts +11 -0
- package/lib/guards/session.guard.d.ts +10 -0
- package/lib/mantle.module.d.ts +106 -0
- package/lib/material.module.d.ts +34 -0
- package/lib/models/screen-size-map.model.d.ts +13 -0
- package/lib/pipes/dynamic.pipe.d.ts +12 -0
- package/lib/pipes/secure-image.pipe.d.ts +11 -0
- package/lib/services/adapters/web-api-crud.adapter.d.ts +63 -0
- package/lib/services/adapters/websocket.adapter.d.ts +6 -0
- package/lib/services/announcement.service.d.ts +11 -0
- package/lib/services/array.service.d.ts +21 -0
- package/lib/services/chart.service.d.ts +14 -0
- package/lib/services/confirmation.service.d.ts +11 -0
- package/lib/services/current-user.service.d.ts +28 -0
- package/lib/services/dynamic-form.service.d.ts +30 -0
- package/lib/services/feature-config.service.d.ts +82 -0
- package/lib/services/interfaces/authorisable-feature.service.d.ts +5 -0
- package/lib/services/interfaces/dashboard-page.service.d.ts +13 -0
- package/lib/services/interfaces/dashboard-widget.service.d.ts +34 -0
- package/lib/services/interfaces/detail-page.service.d.ts +36 -0
- package/lib/services/interfaces/export-page.service.d.ts +6 -0
- package/lib/services/interfaces/form-page.service.d.ts +30 -0
- package/lib/services/interfaces/layout-editor-page.service.d.ts +14 -0
- package/lib/services/interfaces/list-page.service.d.ts +44 -0
- package/lib/services/interfaces/nav-tabs.service.d.ts +7 -0
- package/lib/services/interfaces/reroute.service.d.ts +3 -0
- package/lib/services/object.service.d.ts +11 -0
- package/lib/services/password-check.service.d.ts +21 -0
- package/lib/services/screen-size.service.d.ts +14 -0
- package/lib/services/web-api.service.d.ts +21 -0
- package/lib/services/websocket.service.d.ts +20 -0
- package/lib/tokens/environment.token.d.ts +2 -0
- package/package.json +34 -15
- package/public-api.d.ts +129 -2
- package/fesm2022/codetectonics-mantle.mjs +0 -42
- package/fesm2022/codetectonics-mantle.mjs.map +0 -1
- package/lib/mantle.component.d.ts +0 -5
- package/lib/mantle.service.d.ts +0 -6
- /package/{index.d.ts → codetectonics-mantle.d.ts} +0 -0
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { FormGroup } from '@angular/forms';
|
|
3
|
+
import { ScreenSizeService } from '../../../../services/screen-size.service';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../../../../services/screen-size.service";
|
|
6
|
+
import * as i2 from "../../../titles/section-title/section-title.component";
|
|
7
|
+
import * as i3 from "@angular/material/grid-list";
|
|
8
|
+
import * as i4 from "../../fields/dynamic-form-field/dynamic-form-field.component";
|
|
9
|
+
import * as i5 from "@angular/common";
|
|
10
|
+
import * as i6 from "@angular/forms";
|
|
11
|
+
export class GridFormSectionComponent {
|
|
12
|
+
constructor(screenSizeService) {
|
|
13
|
+
this.screenSizeService = screenSizeService;
|
|
14
|
+
this.errors = {};
|
|
15
|
+
this.defaultRowHeight = '76px';
|
|
16
|
+
this.numColumns = 1;
|
|
17
|
+
this.breakpointColumns = new Map([
|
|
18
|
+
['xs', 1],
|
|
19
|
+
['sm', 2],
|
|
20
|
+
['md', 2],
|
|
21
|
+
['lg', 3],
|
|
22
|
+
['xl', 4],
|
|
23
|
+
]);
|
|
24
|
+
this.screenSizeService.screenSize.subscribe((screenSize) => {
|
|
25
|
+
var _a;
|
|
26
|
+
if ((_a = this.section) === null || _a === void 0 ? void 0 : _a.singleColumn) {
|
|
27
|
+
this.numColumns = 1;
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
this.numColumns = this.breakpointColumns.get(screenSize) || 1;
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
getColSpanForField(field) {
|
|
34
|
+
return (field.type == 'text' || field.type == 'string-lg' || field.type == 'markdown') ? this.numColumns : 1;
|
|
35
|
+
}
|
|
36
|
+
getRowSpanForField(field) {
|
|
37
|
+
return (field.type == 'text' || field.type == 'markdown') ? 2 : 1;
|
|
38
|
+
}
|
|
39
|
+
get valid() {
|
|
40
|
+
return this.form.valid;
|
|
41
|
+
}
|
|
42
|
+
get value() {
|
|
43
|
+
return this.form.getRawValue();
|
|
44
|
+
}
|
|
45
|
+
reset() {
|
|
46
|
+
this.form.reset();
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
GridFormSectionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GridFormSectionComponent, deps: [{ token: i1.ScreenSizeService }], target: i0.ɵɵFactoryTarget.Component });
|
|
50
|
+
GridFormSectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: GridFormSectionComponent, selector: "mantle-grid-form-section", inputs: { title: "title", section: "section", form: "form", errors: "errors", defaultRowHeight: "defaultRowHeight" }, ngImport: i0, template: "<mantle-section-title *ngIf=\"title\" [title]=\"title\"></mantle-section-title>\n\n<form [formGroup]=\"form\" class=\"grid-form-layout\">\n <mat-grid-list\n [rowHeight]=\"section.rowHeight || defaultRowHeight\"\n [cols]=\"section.singleColumn ? 1 : numColumns\"\n [class.multi-column]=\"section.singleColumn ? false : numColumns > 1\">\n\n <ng-container *ngFor=\"let field of section.elements\">\n <mat-grid-tile *ngIf=\"!field.hidden\" [colspan]=\"section.singleColumn ? 1 : getColSpanForField(field)\" [rowspan]=\"getRowSpanForField(field)\">\n <mantle-dynamic-form-field [field]=\"field\" [form]=\"form\" [error]=\"errors[field.attr]\"></mantle-dynamic-form-field>\n </mat-grid-tile>\n </ng-container>\n\n </mat-grid-list>\n</form>\n", styles: ["mantle-dynamic-form-field{height:100%}\n"], components: [{ type: i2.SectionTitleComponent, selector: "mantle-section-title", inputs: ["title"] }, { type: i3.MatGridList, selector: "mat-grid-list", inputs: ["cols", "gutterSize", "rowHeight"], exportAs: ["matGridList"] }, { type: i3.MatGridTile, selector: "mat-grid-tile", inputs: ["rowspan", "colspan"], exportAs: ["matGridTile"] }, { type: i4.DynamicFormFieldComponent, selector: "mantle-dynamic-form-field", inputs: ["field", "form", "error"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
51
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GridFormSectionComponent, decorators: [{
|
|
52
|
+
type: Component,
|
|
53
|
+
args: [{
|
|
54
|
+
selector: 'mantle-grid-form-section',
|
|
55
|
+
templateUrl: './grid-form-section.component.html',
|
|
56
|
+
styleUrls: ['./grid-form-section.component.scss']
|
|
57
|
+
}]
|
|
58
|
+
}], ctorParameters: function () { return [{ type: i1.ScreenSizeService }]; }, propDecorators: { title: [{
|
|
59
|
+
type: Input
|
|
60
|
+
}], section: [{
|
|
61
|
+
type: Input
|
|
62
|
+
}], form: [{
|
|
63
|
+
type: Input
|
|
64
|
+
}], errors: [{
|
|
65
|
+
type: Input
|
|
66
|
+
}], defaultRowHeight: [{
|
|
67
|
+
type: Input
|
|
68
|
+
}] } });
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1mb3JtLXNlY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFudGxlL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL3NlY3Rpb25zL2dyaWQtZm9ybS1zZWN0aW9uL2dyaWQtZm9ybS1zZWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hbnRsZS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9zZWN0aW9ucy9ncmlkLWZvcm0tc2VjdGlvbi9ncmlkLWZvcm0tc2VjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMENBQTBDLENBQUM7Ozs7Ozs7O0FBTzdFLE1BQU0sT0FBTyx3QkFBd0I7SUFrQm5DLFlBQW9CLGlCQUFvQztRQUFwQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBYi9DLFdBQU0sR0FBUSxFQUFFLENBQUM7UUFDakIscUJBQWdCLEdBQVcsTUFBTSxDQUFDO1FBRXBDLGVBQVUsR0FBVyxDQUFDLENBQUM7UUFFdEIsc0JBQWlCLEdBQUcsSUFBSSxHQUFHLENBQUM7WUFDbEMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ1QsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ1QsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ1QsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ1QsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQ1YsQ0FBQyxDQUFDO1FBR0QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxVQUFlLEVBQUUsRUFBRTs7WUFDOUQsSUFBSSxNQUFBLElBQUksQ0FBQyxPQUFPLDBDQUFFLFlBQVksRUFBRTtnQkFDOUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUM7Z0JBQ3BCLE9BQU87YUFDUjtZQUVELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEUsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsS0FBdUI7UUFDeEMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksTUFBTSxJQUFJLEtBQUssQ0FBQyxJQUFJLElBQUksV0FBVyxJQUFJLEtBQUssQ0FBQyxJQUFJLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvRyxDQUFDO0lBRUQsa0JBQWtCLENBQUMsS0FBdUI7UUFDeEMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksTUFBTSxJQUFJLEtBQUssQ0FBQyxJQUFJLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3BCLENBQUM7O3NIQS9DVSx3QkFBd0I7MEdBQXhCLHdCQUF3QixzTENYckMsMHdCQWdCQTs0RkRMYSx3QkFBd0I7a0JBTHBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDBCQUEwQjtvQkFDcEMsV0FBVyxFQUFFLG9DQUFvQztvQkFDakQsU0FBUyxFQUFFLENBQUMsb0NBQW9DLENBQUM7aUJBQ2xEO3dHQUdVLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBEeW5hbWljTGF5b3V0R3JpZFNlY3Rpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9kYXRhLXN0cnVjdHVyZXMvZHluYW1pYy1sYXlvdXQuc3RydWN0dXJlJztcbmltcG9ydCB7IER5bmFtaWNGb3JtRmllbGQgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9keW5hbWljLWZvcm0uc2VydmljZSc7XG5pbXBvcnQgeyBTY3JlZW5TaXplU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL3NjcmVlbi1zaXplLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtYW50bGUtZ3JpZC1mb3JtLXNlY3Rpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vZ3JpZC1mb3JtLXNlY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ncmlkLWZvcm0tc2VjdGlvbi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEdyaWRGb3JtU2VjdGlvbkNvbXBvbmVudCB7XG5cbiAgQElucHV0KCkgdGl0bGU/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNlY3Rpb24hOiBEeW5hbWljTGF5b3V0R3JpZFNlY3Rpb247XG4gIEBJbnB1dCgpIGZvcm0hOiBGb3JtR3JvdXA7XG4gIEBJbnB1dCgpIGVycm9yczogYW55ID0ge307XG4gIEBJbnB1dCgpIGRlZmF1bHRSb3dIZWlnaHQ6IHN0cmluZyA9ICc3NnB4JztcblxuICBwdWJsaWMgbnVtQ29sdW1uczogbnVtYmVyID0gMTtcblxuICBwcml2YXRlIGJyZWFrcG9pbnRDb2x1bW5zID0gbmV3IE1hcChbXG4gICAgWyd4cycsIDFdLFxuICAgIFsnc20nLCAyXSxcbiAgICBbJ21kJywgMl0sXG4gICAgWydsZycsIDNdLFxuICAgIFsneGwnLCA0XSxcbiAgXSk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzY3JlZW5TaXplU2VydmljZTogU2NyZWVuU2l6ZVNlcnZpY2UpIHtcbiAgICB0aGlzLnNjcmVlblNpemVTZXJ2aWNlLnNjcmVlblNpemUuc3Vic2NyaWJlKChzY3JlZW5TaXplOiBhbnkpID0+IHtcbiAgICAgIGlmICh0aGlzLnNlY3Rpb24/LnNpbmdsZUNvbHVtbikge1xuICAgICAgICB0aGlzLm51bUNvbHVtbnMgPSAxO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMubnVtQ29sdW1ucyA9IHRoaXMuYnJlYWtwb2ludENvbHVtbnMuZ2V0KHNjcmVlblNpemUpIHx8IDE7XG4gICAgfSk7XG4gIH1cblxuICBnZXRDb2xTcGFuRm9yRmllbGQoZmllbGQ6IER5bmFtaWNGb3JtRmllbGQpOiBudW1iZXIge1xuICAgIHJldHVybiAoZmllbGQudHlwZSA9PSAndGV4dCcgfHwgZmllbGQudHlwZSA9PSAnc3RyaW5nLWxnJyB8fCBmaWVsZC50eXBlID09ICdtYXJrZG93bicpID8gdGhpcy5udW1Db2x1bW5zIDogMTtcbiAgfVxuXG4gIGdldFJvd1NwYW5Gb3JGaWVsZChmaWVsZDogRHluYW1pY0Zvcm1GaWVsZCk6IG51bWJlciB7XG4gICAgcmV0dXJuIChmaWVsZC50eXBlID09ICd0ZXh0JyB8fCBmaWVsZC50eXBlID09ICdtYXJrZG93bicpID8gMiA6IDE7XG4gIH1cblxuICBnZXQgdmFsaWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybS52YWxpZDtcbiAgfVxuXG4gIGdldCB2YWx1ZSgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLmZvcm0uZ2V0UmF3VmFsdWUoKTtcbiAgfVxuXG4gIHJlc2V0KCk6IHZvaWQge1xuICAgIHRoaXMuZm9ybS5yZXNldCgpO1xuICB9XG5cbn1cbiIsIjxtYW50bGUtc2VjdGlvbi10aXRsZSAqbmdJZj1cInRpdGxlXCIgW3RpdGxlXT1cInRpdGxlXCI+PC9tYW50bGUtc2VjdGlvbi10aXRsZT5cblxuPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCIgY2xhc3M9XCJncmlkLWZvcm0tbGF5b3V0XCI+XG4gIDxtYXQtZ3JpZC1saXN0XG4gICAgICBbcm93SGVpZ2h0XT1cInNlY3Rpb24ucm93SGVpZ2h0IHx8IGRlZmF1bHRSb3dIZWlnaHRcIlxuICAgICAgW2NvbHNdPVwic2VjdGlvbi5zaW5nbGVDb2x1bW4gPyAxIDogbnVtQ29sdW1uc1wiXG4gICAgICBbY2xhc3MubXVsdGktY29sdW1uXT1cInNlY3Rpb24uc2luZ2xlQ29sdW1uID8gZmFsc2UgOiBudW1Db2x1bW5zID4gMVwiPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZmllbGQgb2Ygc2VjdGlvbi5lbGVtZW50c1wiPlxuICAgICAgPG1hdC1ncmlkLXRpbGUgKm5nSWY9XCIhZmllbGQuaGlkZGVuXCIgW2NvbHNwYW5dPVwic2VjdGlvbi5zaW5nbGVDb2x1bW4gPyAxIDogZ2V0Q29sU3BhbkZvckZpZWxkKGZpZWxkKVwiIFtyb3dzcGFuXT1cImdldFJvd1NwYW5Gb3JGaWVsZChmaWVsZClcIj5cbiAgICAgICAgPG1hbnRsZS1keW5hbWljLWZvcm0tZmllbGQgW2ZpZWxkXT1cImZpZWxkXCIgW2Zvcm1dPVwiZm9ybVwiIFtlcnJvcl09XCJlcnJvcnNbZmllbGQuYXR0cl1cIj48L21hbnRsZS1keW5hbWljLWZvcm0tZmllbGQ+XG4gICAgICA8L21hdC1ncmlkLXRpbGU+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgPC9tYXQtZ3JpZC1saXN0PlxuPC9mb3JtPlxuIl19
|
package/esm2015/lib/components/form/sections/table-form-section/table-form-section.component.js
ADDED
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { FormGroup } from '@angular/forms';
|
|
3
|
+
import { MatDialog, MatDialogConfig } from "@angular/material/dialog";
|
|
4
|
+
import { DialogNestedDetailsComponent } from '../../../../components/details/dialog-nested-details/dialog-nested-details.component';
|
|
5
|
+
import { DialogNestedFormComponent } from '../../../../components/form/dialog-nested-form/dialog-nested-form.component';
|
|
6
|
+
import { ArrayService } from '../../../../services/array.service';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@angular/material/dialog";
|
|
9
|
+
import * as i2 from "../../../../services/array.service";
|
|
10
|
+
import * as i3 from "../../../titles/section-title/section-title.component";
|
|
11
|
+
import * as i4 from "@angular/material/button";
|
|
12
|
+
import * as i5 from "../../../widgets/dynamic-table/dynamic-table.component";
|
|
13
|
+
import * as i6 from "@angular/common";
|
|
14
|
+
export class TableFormSectionComponent {
|
|
15
|
+
constructor(dialog, arrayService) {
|
|
16
|
+
this.dialog = dialog;
|
|
17
|
+
this.arrayService = arrayService;
|
|
18
|
+
}
|
|
19
|
+
canAddRecord() {
|
|
20
|
+
if (!this.section.config.can_add)
|
|
21
|
+
return false;
|
|
22
|
+
if (!this.section.options.max_record_count)
|
|
23
|
+
return true;
|
|
24
|
+
let recordCount = this.form.value[this.section.config.attr].filter((item) => {
|
|
25
|
+
return !item._destroy;
|
|
26
|
+
}).length;
|
|
27
|
+
return this.section.options.max_record_count > recordCount;
|
|
28
|
+
}
|
|
29
|
+
openDetailsDialog(record) {
|
|
30
|
+
const dialogConfig = new MatDialogConfig();
|
|
31
|
+
dialogConfig.data = {
|
|
32
|
+
title: 'Item',
|
|
33
|
+
section: this.section.config.modal_section,
|
|
34
|
+
data: record,
|
|
35
|
+
showEditButton: this.section.config.can_edit
|
|
36
|
+
};
|
|
37
|
+
dialogConfig.width = '80%';
|
|
38
|
+
const dialogRef = this.dialog.open(DialogNestedDetailsComponent, dialogConfig);
|
|
39
|
+
dialogRef.afterClosed().subscribe((dialogResponse) => {
|
|
40
|
+
if (dialogResponse && dialogResponse.edit) {
|
|
41
|
+
this.openFormDialog(record);
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
openFormDialog(record) {
|
|
46
|
+
const dialogConfig = new MatDialogConfig();
|
|
47
|
+
dialogConfig.data = {
|
|
48
|
+
title: record ? 'Edit Item' : 'Add Item',
|
|
49
|
+
section: this.section.config.modal_section,
|
|
50
|
+
data: record,
|
|
51
|
+
showDeleteButton: this.section.config.can_delete
|
|
52
|
+
};
|
|
53
|
+
dialogConfig.width = '80%';
|
|
54
|
+
const dialogRef = this.dialog.open(DialogNestedFormComponent, dialogConfig);
|
|
55
|
+
dialogRef.afterClosed().subscribe((formData) => {
|
|
56
|
+
if (formData) {
|
|
57
|
+
this.onDialogFormClosed(formData, record);
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
onDialogFormClosed(formData, existingRecord) {
|
|
62
|
+
let tableContent = [...this.form.getRawValue()[this.section.config.attr]];
|
|
63
|
+
if (formData.id) {
|
|
64
|
+
this.arrayService.replaceById(tableContent, formData.id, formData);
|
|
65
|
+
}
|
|
66
|
+
else if (existingRecord) {
|
|
67
|
+
if (formData._destroy)
|
|
68
|
+
this.arrayService.removeItem(tableContent, existingRecord);
|
|
69
|
+
else
|
|
70
|
+
this.arrayService.replaceItem(tableContent, existingRecord, formData);
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
if (formData._destroy)
|
|
74
|
+
return;
|
|
75
|
+
tableContent.push(formData);
|
|
76
|
+
}
|
|
77
|
+
this.form.patchValue({
|
|
78
|
+
[this.section.config.attr]: tableContent
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
get valid() {
|
|
82
|
+
return this.form.valid;
|
|
83
|
+
}
|
|
84
|
+
get value() {
|
|
85
|
+
return this.form.getRawValue();
|
|
86
|
+
}
|
|
87
|
+
reset() {
|
|
88
|
+
this.form.reset();
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
TableFormSectionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TableFormSectionComponent, deps: [{ token: i1.MatDialog }, { token: i2.ArrayService }], target: i0.ɵɵFactoryTarget.Component });
|
|
92
|
+
TableFormSectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TableFormSectionComponent, selector: "mantle-table-form-section", inputs: { title: "title", section: "section", form: "form" }, ngImport: i0, template: "<mantle-section-title *ngIf=\"title\" [title]=\"title\"></mantle-section-title>\n\n<div class=\"table-section-content\">\n <button *ngIf=\"canAddRecord()\" mat-raised-button color=\"primary\" type=\"button\" class=\"add-button\" (click)=\"openFormDialog()\">\n + Add Item\n </button>\n\n <mantle-dynamic-table\n [columns]=\"section.elements\"\n [items]=\"form.value[section.config.attr]\"\n [withClickableRows]=\"true\"\n (rowClicked)=\"openDetailsDialog($event)\">\n </mantle-dynamic-table>\n</div>\n", styles: [".add-button{text-transform:uppercase;border-radius:0}\n"], components: [{ type: i3.SectionTitleComponent, selector: "mantle-section-title", inputs: ["title"] }, { type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i5.DynamicTableComponent, selector: "mantle-dynamic-table", inputs: ["columns", "items", "withClickableRows"], outputs: ["rowClicked"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
93
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TableFormSectionComponent, decorators: [{
|
|
94
|
+
type: Component,
|
|
95
|
+
args: [{
|
|
96
|
+
selector: 'mantle-table-form-section',
|
|
97
|
+
templateUrl: './table-form-section.component.html',
|
|
98
|
+
styleUrls: ['./table-form-section.component.scss']
|
|
99
|
+
}]
|
|
100
|
+
}], ctorParameters: function () { return [{ type: i1.MatDialog }, { type: i2.ArrayService }]; }, propDecorators: { title: [{
|
|
101
|
+
type: Input
|
|
102
|
+
}], section: [{
|
|
103
|
+
type: Input
|
|
104
|
+
}], form: [{
|
|
105
|
+
type: Input
|
|
106
|
+
}] } });
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtZm9ybS1zZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hbnRsZS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9zZWN0aW9ucy90YWJsZS1mb3JtLXNlY3Rpb24vdGFibGUtZm9ybS1zZWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hbnRsZS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9zZWN0aW9ucy90YWJsZS1mb3JtLXNlY3Rpb24vdGFibGUtZm9ybS1zZWN0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHNGQUFzRixDQUFDO0FBQ3BJLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDZFQUE2RSxDQUFDO0FBRXhILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7Ozs7QUFPbEUsTUFBTSxPQUFPLHlCQUF5QjtJQU1wQyxZQUFvQixNQUFpQixFQUFVLFlBQTBCO1FBQXJELFdBQU0sR0FBTixNQUFNLENBQVc7UUFBVSxpQkFBWSxHQUFaLFlBQVksQ0FBYztJQUFJLENBQUM7SUFFOUUsWUFBWTtRQUNWLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDL0MsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLGdCQUFnQjtZQUFFLE9BQU8sSUFBSSxDQUFDO1FBRXhELElBQUksV0FBVyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFO1lBQy9FLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUVWLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEdBQUcsV0FBVyxDQUFDO0lBQzdELENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxNQUFXO1FBQzNCLE1BQU0sWUFBWSxHQUFHLElBQUksZUFBZSxFQUFFLENBQUM7UUFDM0MsWUFBWSxDQUFDLElBQUksR0FBRztZQUNsQixLQUFLLEVBQUUsTUFBTTtZQUNiLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxhQUFhO1lBQzFDLElBQUksRUFBRSxNQUFNO1lBQ1osY0FBYyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVE7U0FDN0MsQ0FBQztRQUNGLFlBQVksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBRTNCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLDRCQUE0QixFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQy9FLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBRTtZQUNuRCxJQUFJLGNBQWMsSUFBSSxjQUFjLENBQUMsSUFBSSxFQUFFO2dCQUN6QyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQzdCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsY0FBYyxDQUFDLE1BQVk7UUFDekIsTUFBTSxZQUFZLEdBQUcsSUFBSSxlQUFlLEVBQUUsQ0FBQztRQUMzQyxZQUFZLENBQUMsSUFBSSxHQUFHO1lBQ2xCLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsVUFBVTtZQUN4QyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsYUFBYTtZQUMxQyxJQUFJLEVBQUUsTUFBTTtZQUNaLGdCQUFnQixFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFVBQVU7U0FDakQsQ0FBQztRQUNGLFlBQVksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBRTNCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHlCQUF5QixFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQzVFLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUM3QyxJQUFJLFFBQVEsRUFBRTtnQkFDWixJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO2FBQzNDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsUUFBYSxFQUFFLGNBQW9CO1FBQ3BELElBQUksWUFBWSxHQUFHLENBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFFLENBQUM7UUFFNUUsSUFBSSxRQUFRLENBQUMsRUFBRSxFQUFFO1lBQ2YsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7U0FDcEU7YUFDSSxJQUFJLGNBQWMsRUFBRTtZQUN2QixJQUFJLFFBQVEsQ0FBQyxRQUFRO2dCQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxjQUFjLENBQUMsQ0FBQzs7Z0JBQzdFLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUsUUFBUSxDQUFDLENBQUM7U0FDNUU7YUFDSTtZQUNILElBQUksUUFBUSxDQUFDLFFBQVE7Z0JBQUUsT0FBTztZQUM5QixZQUFZLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQzdCO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDbkIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxZQUFZO1NBQ3pDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3BCLENBQUM7O3VIQXJGVSx5QkFBeUI7MkdBQXpCLHlCQUF5QiwrSENidEMsbWhCQWNBOzRGRERhLHlCQUF5QjtrQkFMckMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxXQUFXLEVBQUUscUNBQXFDO29CQUNsRCxTQUFTLEVBQUUsQ0FBQyxxQ0FBcUMsQ0FBQztpQkFDbkQ7MkhBR1UsS0FBSztzQkFBYixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ0NvbmZpZyB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2dcIjtcbmltcG9ydCB7IERpYWxvZ05lc3RlZERldGFpbHNDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9jb21wb25lbnRzL2RldGFpbHMvZGlhbG9nLW5lc3RlZC1kZXRhaWxzL2RpYWxvZy1uZXN0ZWQtZGV0YWlscy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGlhbG9nTmVzdGVkRm9ybUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvZm9ybS9kaWFsb2ctbmVzdGVkLWZvcm0vZGlhbG9nLW5lc3RlZC1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEeW5hbWljTGF5b3V0VGFibGVTZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGF0YS1zdHJ1Y3R1cmVzL2R5bmFtaWMtbGF5b3V0LnN0cnVjdHVyZSc7XG5pbXBvcnQgeyBBcnJheVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9hcnJheS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWFudGxlLXRhYmxlLWZvcm0tc2VjdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS1mb3JtLXNlY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YWJsZS1mb3JtLXNlY3Rpb24uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZUZvcm1TZWN0aW9uQ29tcG9uZW50IHtcblxuICBASW5wdXQoKSB0aXRsZT86IHN0cmluZztcbiAgQElucHV0KCkgc2VjdGlvbiE6IER5bmFtaWNMYXlvdXRUYWJsZVNlY3Rpb247XG4gIEBJbnB1dCgpIGZvcm0hOiBGb3JtR3JvdXA7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZywgcHJpdmF0ZSBhcnJheVNlcnZpY2U6IEFycmF5U2VydmljZSkgeyB9XG5cbiAgY2FuQWRkUmVjb3JkKCkge1xuICAgIGlmICghdGhpcy5zZWN0aW9uLmNvbmZpZy5jYW5fYWRkKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKCF0aGlzLnNlY3Rpb24ub3B0aW9ucy5tYXhfcmVjb3JkX2NvdW50KSByZXR1cm4gdHJ1ZTtcblxuICAgIGxldCByZWNvcmRDb3VudCA9IHRoaXMuZm9ybS52YWx1ZVt0aGlzLnNlY3Rpb24uY29uZmlnLmF0dHJdLmZpbHRlcigoaXRlbTogYW55KSA9PiB7XG4gICAgICByZXR1cm4gIWl0ZW0uX2Rlc3Ryb3k7XG4gICAgfSkubGVuZ3RoO1xuXG4gICAgcmV0dXJuIHRoaXMuc2VjdGlvbi5vcHRpb25zLm1heF9yZWNvcmRfY291bnQgPiByZWNvcmRDb3VudDtcbiAgfVxuXG4gIG9wZW5EZXRhaWxzRGlhbG9nKHJlY29yZDogYW55KTogdm9pZCB7XG4gICAgY29uc3QgZGlhbG9nQ29uZmlnID0gbmV3IE1hdERpYWxvZ0NvbmZpZygpO1xuICAgIGRpYWxvZ0NvbmZpZy5kYXRhID0ge1xuICAgICAgdGl0bGU6ICdJdGVtJyxcbiAgICAgIHNlY3Rpb246IHRoaXMuc2VjdGlvbi5jb25maWcubW9kYWxfc2VjdGlvbixcbiAgICAgIGRhdGE6IHJlY29yZCxcbiAgICAgIHNob3dFZGl0QnV0dG9uOiB0aGlzLnNlY3Rpb24uY29uZmlnLmNhbl9lZGl0XG4gICAgfTtcbiAgICBkaWFsb2dDb25maWcud2lkdGggPSAnODAlJztcblxuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oRGlhbG9nTmVzdGVkRGV0YWlsc0NvbXBvbmVudCwgZGlhbG9nQ29uZmlnKTtcbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKGRpYWxvZ1Jlc3BvbnNlKSA9PiB7XG4gICAgICBpZiAoZGlhbG9nUmVzcG9uc2UgJiYgZGlhbG9nUmVzcG9uc2UuZWRpdCkge1xuICAgICAgICB0aGlzLm9wZW5Gb3JtRGlhbG9nKHJlY29yZCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBvcGVuRm9ybURpYWxvZyhyZWNvcmQ/OiBhbnkpOiB2b2lkIHtcbiAgICBjb25zdCBkaWFsb2dDb25maWcgPSBuZXcgTWF0RGlhbG9nQ29uZmlnKCk7XG4gICAgZGlhbG9nQ29uZmlnLmRhdGEgPSB7XG4gICAgICB0aXRsZTogcmVjb3JkID8gJ0VkaXQgSXRlbScgOiAnQWRkIEl0ZW0nLFxuICAgICAgc2VjdGlvbjogdGhpcy5zZWN0aW9uLmNvbmZpZy5tb2RhbF9zZWN0aW9uLFxuICAgICAgZGF0YTogcmVjb3JkLFxuICAgICAgc2hvd0RlbGV0ZUJ1dHRvbjogdGhpcy5zZWN0aW9uLmNvbmZpZy5jYW5fZGVsZXRlXG4gICAgfTtcbiAgICBkaWFsb2dDb25maWcud2lkdGggPSAnODAlJztcblxuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oRGlhbG9nTmVzdGVkRm9ybUNvbXBvbmVudCwgZGlhbG9nQ29uZmlnKTtcbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKGZvcm1EYXRhKSA9PiB7XG4gICAgICBpZiAoZm9ybURhdGEpIHtcbiAgICAgICAgdGhpcy5vbkRpYWxvZ0Zvcm1DbG9zZWQoZm9ybURhdGEsIHJlY29yZCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBvbkRpYWxvZ0Zvcm1DbG9zZWQoZm9ybURhdGE6IGFueSwgZXhpc3RpbmdSZWNvcmQ/OiBhbnkpOiB2b2lkIHtcbiAgICBsZXQgdGFibGVDb250ZW50ID0gWyAuLi50aGlzLmZvcm0uZ2V0UmF3VmFsdWUoKVt0aGlzLnNlY3Rpb24uY29uZmlnLmF0dHJdIF07XG5cbiAgICBpZiAoZm9ybURhdGEuaWQpIHtcbiAgICAgIHRoaXMuYXJyYXlTZXJ2aWNlLnJlcGxhY2VCeUlkKHRhYmxlQ29udGVudCwgZm9ybURhdGEuaWQsIGZvcm1EYXRhKTtcbiAgICB9XG4gICAgZWxzZSBpZiAoZXhpc3RpbmdSZWNvcmQpIHtcbiAgICAgIGlmIChmb3JtRGF0YS5fZGVzdHJveSkgdGhpcy5hcnJheVNlcnZpY2UucmVtb3ZlSXRlbSh0YWJsZUNvbnRlbnQsIGV4aXN0aW5nUmVjb3JkKTtcbiAgICAgIGVsc2UgdGhpcy5hcnJheVNlcnZpY2UucmVwbGFjZUl0ZW0odGFibGVDb250ZW50LCBleGlzdGluZ1JlY29yZCwgZm9ybURhdGEpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIGlmIChmb3JtRGF0YS5fZGVzdHJveSkgcmV0dXJuO1xuICAgICAgdGFibGVDb250ZW50LnB1c2goZm9ybURhdGEpO1xuICAgIH1cblxuICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgIFt0aGlzLnNlY3Rpb24uY29uZmlnLmF0dHJdOiB0YWJsZUNvbnRlbnRcbiAgICB9KTtcbiAgfVxuXG4gIGdldCB2YWxpZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtLnZhbGlkO1xuICB9XG5cbiAgZ2V0IHZhbHVlKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybS5nZXRSYXdWYWx1ZSgpO1xuICB9XG5cbiAgcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtLnJlc2V0KCk7XG4gIH1cblxufVxuIiwiPG1hbnRsZS1zZWN0aW9uLXRpdGxlICpuZ0lmPVwidGl0bGVcIiAgW3RpdGxlXT1cInRpdGxlXCI+PC9tYW50bGUtc2VjdGlvbi10aXRsZT5cblxuPGRpdiBjbGFzcz1cInRhYmxlLXNlY3Rpb24tY29udGVudFwiPlxuICA8YnV0dG9uICpuZ0lmPVwiY2FuQWRkUmVjb3JkKClcIiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJhZGQtYnV0dG9uXCIgKGNsaWNrKT1cIm9wZW5Gb3JtRGlhbG9nKClcIj5cbiAgICArIEFkZCBJdGVtXG4gIDwvYnV0dG9uPlxuXG4gIDxtYW50bGUtZHluYW1pYy10YWJsZVxuICAgICAgW2NvbHVtbnNdPVwic2VjdGlvbi5lbGVtZW50c1wiXG4gICAgICBbaXRlbXNdPVwiZm9ybS52YWx1ZVtzZWN0aW9uLmNvbmZpZy5hdHRyXVwiXG4gICAgICBbd2l0aENsaWNrYWJsZVJvd3NdPVwidHJ1ZVwiXG4gICAgICAocm93Q2xpY2tlZCk9XCJvcGVuRGV0YWlsc0RpYWxvZygkZXZlbnQpXCI+XG4gIDwvbWFudGxlLWR5bmFtaWMtdGFibGU+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/material/expansion";
|
|
4
|
+
import * as i2 from "@angular/material/divider";
|
|
5
|
+
import * as i3 from "../../sections/dynamic-layout-editor-section/dynamic-layout-editor-section.component";
|
|
6
|
+
import * as i4 from "@angular/common";
|
|
7
|
+
export class AccordionLayoutEditorContainerComponent {
|
|
8
|
+
constructor() { }
|
|
9
|
+
}
|
|
10
|
+
AccordionLayoutEditorContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AccordionLayoutEditorContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
11
|
+
AccordionLayoutEditorContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: AccordionLayoutEditorContainerComponent, selector: "mantle-accordion-layout-editor-container", inputs: { layoutEditorPageService: "layoutEditorPageService", container: "container" }, ngImport: i0, template: "<mat-accordion multi class=\"dynamic-details accordion\">\n <ng-container *ngFor=\"let section of container.dynamic_layout_sections_attributes\">\n <mat-expansion-panel [expanded]=\"!section.collapsed\" class=\"dynamic-details-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-layout-editor-section [layoutEditorPageService]=\"layoutEditorPageService\" [section]=\"section\">\n </mantle-dynamic-layout-editor-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.DynamicLayoutEditorSectionComponent, selector: "mantle-dynamic-layout-editor-section", inputs: ["layoutEditorPageService", "section"] }], 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.2.17", ngImport: i0, type: AccordionLayoutEditorContainerComponent, decorators: [{
|
|
13
|
+
type: Component,
|
|
14
|
+
args: [{
|
|
15
|
+
selector: 'mantle-accordion-layout-editor-container',
|
|
16
|
+
templateUrl: './accordion-layout-editor-container.component.html',
|
|
17
|
+
styleUrls: ['./accordion-layout-editor-container.component.scss']
|
|
18
|
+
}]
|
|
19
|
+
}], ctorParameters: function () { return []; }, propDecorators: { layoutEditorPageService: [{
|
|
20
|
+
type: Input
|
|
21
|
+
}], container: [{
|
|
22
|
+
type: Input
|
|
23
|
+
}] } });
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLWxheW91dC1lZGl0b3ItY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hbnRsZS9zcmMvbGliL2NvbXBvbmVudHMvbGF5b3V0LWVkaXRvci9jb250YWluZXJzL2FjY29yZGlvbi1sYXlvdXQtZWRpdG9yLWNvbnRhaW5lci9hY2NvcmRpb24tbGF5b3V0LWVkaXRvci1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFudGxlL3NyYy9saWIvY29tcG9uZW50cy9sYXlvdXQtZWRpdG9yL2NvbnRhaW5lcnMvYWNjb3JkaW9uLWxheW91dC1lZGl0b3ItY29udGFpbmVyL2FjY29yZGlvbi1sYXlvdXQtZWRpdG9yLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBU2pELE1BQU0sT0FBTyx1Q0FBdUM7SUFLbEQsZ0JBQWdCLENBQUM7O3FJQUxOLHVDQUF1Qzt5SEFBdkMsdUNBQXVDLHdLQ1RwRCxxd0JBZ0JBOzRGRFBhLHVDQUF1QztrQkFMbkQsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsMENBQTBDO29CQUNwRCxXQUFXLEVBQUUsb0RBQW9EO29CQUNqRSxTQUFTLEVBQUUsQ0FBQyxvREFBb0QsQ0FBQztpQkFDbEU7MEVBR1UsdUJBQXVCO3NCQUEvQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEeW5hbWljTGF5b3V0RWRpdG9yQ29udGFpbmVyIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGF0YS1zdHJ1Y3R1cmVzL2R5bmFtaWMtbGF5b3V0LnN0cnVjdHVyZSc7XG5pbXBvcnQgeyBMYXlvdXRFZGl0b3JQYWdlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2ludGVyZmFjZXMvbGF5b3V0LWVkaXRvci1wYWdlLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtYW50bGUtYWNjb3JkaW9uLWxheW91dC1lZGl0b3ItY29udGFpbmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FjY29yZGlvbi1sYXlvdXQtZWRpdG9yLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FjY29yZGlvbi1sYXlvdXQtZWRpdG9yLWNvbnRhaW5lci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEFjY29yZGlvbkxheW91dEVkaXRvckNvbnRhaW5lckNvbXBvbmVudCB7XG5cbiAgQElucHV0KCkgbGF5b3V0RWRpdG9yUGFnZVNlcnZpY2UhOiBMYXlvdXRFZGl0b3JQYWdlU2VydmljZTtcbiAgQElucHV0KCkgY29udGFpbmVyITogRHluYW1pY0xheW91dEVkaXRvckNvbnRhaW5lcjtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG59XG4iLCI8bWF0LWFjY29yZGlvbiBtdWx0aSBjbGFzcz1cImR5bmFtaWMtZGV0YWlscyBhY2NvcmRpb25cIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgc2VjdGlvbiBvZiBjb250YWluZXIuZHluYW1pY19sYXlvdXRfc2VjdGlvbnNfYXR0cmlidXRlc1wiPlxuICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIFtleHBhbmRlZF09XCIhc2VjdGlvbi5jb2xsYXBzZWRcIiBjbGFzcz1cImR5bmFtaWMtZGV0YWlscy1zZWN0aW9uXCI+XG4gICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgIDxtYXQtcGFuZWwtdGl0bGUgKm5nSWY9XCJzZWN0aW9uLnRpdGxlXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRpdGxlLXdyYXBwZXJcIj5cbiAgICAgICAgICAgIDxoND57eyBzZWN0aW9uLnRpdGxlIH19PC9oND5cbiAgICAgICAgICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICA8bWFudGxlLWR5bmFtaWMtbGF5b3V0LWVkaXRvci1zZWN0aW9uIFtsYXlvdXRFZGl0b3JQYWdlU2VydmljZV09XCJsYXlvdXRFZGl0b3JQYWdlU2VydmljZVwiIFtzZWN0aW9uXT1cInNlY3Rpb25cIj5cbiAgICAgIDwvbWFudGxlLWR5bmFtaWMtbGF5b3V0LWVkaXRvci1zZWN0aW9uPlxuICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cbiAgPC9uZy1jb250YWluZXI+XG48L21hdC1hY2NvcmRpb24+XG4iXX0=
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../plain-layout-editor-container/plain-layout-editor-container.component";
|
|
4
|
+
import * as i2 from "../accordion-layout-editor-container/accordion-layout-editor-container.component";
|
|
5
|
+
import * as i3 from "@angular/common";
|
|
6
|
+
export class DynamicLayoutEditorContainerComponent {
|
|
7
|
+
constructor() { }
|
|
8
|
+
}
|
|
9
|
+
DynamicLayoutEditorContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicLayoutEditorContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
10
|
+
DynamicLayoutEditorContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicLayoutEditorContainerComponent, selector: "mantle-dynamic-layout-editor-container", inputs: { layoutEditorPageService: "layoutEditorPageService", container: "container" }, ngImport: i0, template: "<ng-container [ngSwitch]=\"container.container_style\">\n\n <ng-container *ngSwitchCase=\"'plain'\">\n <mantle-plain-layout-editor-container\n [layoutEditorPageService]=\"layoutEditorPageService\"\n [container]=\"container\">\n </mantle-plain-layout-editor-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'accordion'\">\n <mantle-accordion-layout-editor-container\n [layoutEditorPageService]=\"layoutEditorPageService\"\n [container]=\"container\">\n </mantle-accordion-layout-editor-container>\n </ng-container>\n\n</ng-container>\n", styles: [""], components: [{ type: i1.PlainLayoutEditorContainerComponent, selector: "mantle-plain-layout-editor-container", inputs: ["layoutEditorPageService", "container"] }, { type: i2.AccordionLayoutEditorContainerComponent, selector: "mantle-accordion-layout-editor-container", inputs: ["layoutEditorPageService", "container"] }], directives: [{ type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }] });
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicLayoutEditorContainerComponent, decorators: [{
|
|
12
|
+
type: Component,
|
|
13
|
+
args: [{
|
|
14
|
+
selector: 'mantle-dynamic-layout-editor-container',
|
|
15
|
+
templateUrl: './dynamic-layout-editor-container.component.html',
|
|
16
|
+
styleUrls: ['./dynamic-layout-editor-container.component.scss']
|
|
17
|
+
}]
|
|
18
|
+
}], ctorParameters: function () { return []; }, propDecorators: { layoutEditorPageService: [{
|
|
19
|
+
type: Input
|
|
20
|
+
}], container: [{
|
|
21
|
+
type: Input
|
|
22
|
+
}] } });
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1sYXlvdXQtZWRpdG9yLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYW50bGUvc3JjL2xpYi9jb21wb25lbnRzL2xheW91dC1lZGl0b3IvY29udGFpbmVycy9keW5hbWljLWxheW91dC1lZGl0b3ItY29udGFpbmVyL2R5bmFtaWMtbGF5b3V0LWVkaXRvci1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFudGxlL3NyYy9saWIvY29tcG9uZW50cy9sYXlvdXQtZWRpdG9yL2NvbnRhaW5lcnMvZHluYW1pYy1sYXlvdXQtZWRpdG9yLWNvbnRhaW5lci9keW5hbWljLWxheW91dC1lZGl0b3ItY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQVNqRCxNQUFNLE9BQU8scUNBQXFDO0lBS2hELGdCQUFnQixDQUFDOzttSUFMTixxQ0FBcUM7dUhBQXJDLHFDQUFxQyxzS0NUbEQsa2xCQWlCQTs0RkRSYSxxQ0FBcUM7a0JBTGpELFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHdDQUF3QztvQkFDbEQsV0FBVyxFQUFFLGtEQUFrRDtvQkFDL0QsU0FBUyxFQUFFLENBQUMsa0RBQWtELENBQUM7aUJBQ2hFOzBFQUdVLHVCQUF1QjtzQkFBL0IsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRHluYW1pY0xheW91dEVkaXRvckNvbnRhaW5lciB9IGZyb20gJy4uLy4uLy4uLy4uL2RhdGEtc3RydWN0dXJlcy9keW5hbWljLWxheW91dC5zdHJ1Y3R1cmUnO1xuaW1wb3J0IHsgTGF5b3V0RWRpdG9yUGFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9pbnRlcmZhY2VzL2xheW91dC1lZGl0b3ItcGFnZS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWFudGxlLWR5bmFtaWMtbGF5b3V0LWVkaXRvci1jb250YWluZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy1sYXlvdXQtZWRpdG9yLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2R5bmFtaWMtbGF5b3V0LWVkaXRvci1jb250YWluZXIuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBEeW5hbWljTGF5b3V0RWRpdG9yQ29udGFpbmVyQ29tcG9uZW50IHtcblxuICBASW5wdXQoKSBsYXlvdXRFZGl0b3JQYWdlU2VydmljZSE6IExheW91dEVkaXRvclBhZ2VTZXJ2aWNlO1xuICBASW5wdXQoKSBjb250YWluZXIhOiBEeW5hbWljTGF5b3V0RWRpdG9yQ29udGFpbmVyO1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbn1cbiIsIjxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImNvbnRhaW5lci5jb250YWluZXJfc3R5bGVcIj5cblxuICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIncGxhaW4nXCI+XG4gICAgPG1hbnRsZS1wbGFpbi1sYXlvdXQtZWRpdG9yLWNvbnRhaW5lclxuICAgICAgICBbbGF5b3V0RWRpdG9yUGFnZVNlcnZpY2VdPVwibGF5b3V0RWRpdG9yUGFnZVNlcnZpY2VcIlxuICAgICAgICBbY29udGFpbmVyXT1cImNvbnRhaW5lclwiPlxuICAgIDwvbWFudGxlLXBsYWluLWxheW91dC1lZGl0b3ItY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInYWNjb3JkaW9uJ1wiPlxuICAgIDxtYW50bGUtYWNjb3JkaW9uLWxheW91dC1lZGl0b3ItY29udGFpbmVyXG4gICAgICAgIFtsYXlvdXRFZGl0b3JQYWdlU2VydmljZV09XCJsYXlvdXRFZGl0b3JQYWdlU2VydmljZVwiXG4gICAgICAgIFtjb250YWluZXJdPVwiY29udGFpbmVyXCI+XG4gICAgPC9tYW50bGUtYWNjb3JkaW9uLWxheW91dC1lZGl0b3ItY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cblxuPC9uZy1jb250YWluZXI+XG4iXX0=
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/material/card";
|
|
4
|
+
import * as i2 from "../../../titles/section-title/section-title.component";
|
|
5
|
+
import * as i3 from "../../sections/dynamic-layout-editor-section/dynamic-layout-editor-section.component";
|
|
6
|
+
import * as i4 from "@angular/common";
|
|
7
|
+
export class PlainLayoutEditorContainerComponent {
|
|
8
|
+
constructor() { }
|
|
9
|
+
}
|
|
10
|
+
PlainLayoutEditorContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PlainLayoutEditorContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
11
|
+
PlainLayoutEditorContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PlainLayoutEditorContainerComponent, selector: "mantle-plain-layout-editor-container", inputs: { layoutEditorPageService: "layoutEditorPageService", container: "container" }, ngImport: i0, template: "<div class=\"dynamic-details plain\">\n <ng-container *ngFor=\"let section of container.dynamic_layout_sections_attributes\">\n <mat-card class=\"dynamic-details-section\">\n <mantle-section-title *ngIf=\"section.title\" [title]=\"section.title\"></mantle-section-title>\n <mantle-dynamic-layout-editor-section [layoutEditorPageService]=\"layoutEditorPageService\" [section]=\"section\">\n </mantle-dynamic-layout-editor-section>\n </mat-card>\n </ng-container>\n</div>\n", styles: [""], components: [{ type: i1.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { type: i2.SectionTitleComponent, selector: "mantle-section-title", inputs: ["title"] }, { type: i3.DynamicLayoutEditorSectionComponent, selector: "mantle-dynamic-layout-editor-section", inputs: ["layoutEditorPageService", "section"] }], directives: [{ type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PlainLayoutEditorContainerComponent, decorators: [{
|
|
13
|
+
type: Component,
|
|
14
|
+
args: [{
|
|
15
|
+
selector: 'mantle-plain-layout-editor-container',
|
|
16
|
+
templateUrl: './plain-layout-editor-container.component.html',
|
|
17
|
+
styleUrls: ['./plain-layout-editor-container.component.scss']
|
|
18
|
+
}]
|
|
19
|
+
}], ctorParameters: function () { return []; }, propDecorators: { layoutEditorPageService: [{
|
|
20
|
+
type: Input
|
|
21
|
+
}], container: [{
|
|
22
|
+
type: Input
|
|
23
|
+
}] } });
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhaW4tbGF5b3V0LWVkaXRvci1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFudGxlL3NyYy9saWIvY29tcG9uZW50cy9sYXlvdXQtZWRpdG9yL2NvbnRhaW5lcnMvcGxhaW4tbGF5b3V0LWVkaXRvci1jb250YWluZXIvcGxhaW4tbGF5b3V0LWVkaXRvci1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFudGxlL3NyYy9saWIvY29tcG9uZW50cy9sYXlvdXQtZWRpdG9yL2NvbnRhaW5lcnMvcGxhaW4tbGF5b3V0LWVkaXRvci1jb250YWluZXIvcGxhaW4tbGF5b3V0LWVkaXRvci1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7OztBQVNqRCxNQUFNLE9BQU8sbUNBQW1DO0lBSzlDLGdCQUFnQixDQUFDOztpSUFMTixtQ0FBbUM7cUhBQW5DLG1DQUFtQyxvS0NUaEQsZ2ZBU0E7NEZEQWEsbUNBQW1DO2tCQUwvQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxzQ0FBc0M7b0JBQ2hELFdBQVcsRUFBRSxnREFBZ0Q7b0JBQzdELFNBQVMsRUFBRSxDQUFDLGdEQUFnRCxDQUFDO2lCQUM5RDswRUFHVSx1QkFBdUI7c0JBQS9CLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IER5bmFtaWNMYXlvdXRFZGl0b3JDb250YWluZXIgfSBmcm9tICcuLi8uLi8uLi8uLi9kYXRhLXN0cnVjdHVyZXMvZHluYW1pYy1sYXlvdXQuc3RydWN0dXJlJztcbmltcG9ydCB7IExheW91dEVkaXRvclBhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvaW50ZXJmYWNlcy9sYXlvdXQtZWRpdG9yLXBhZ2Uuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21hbnRsZS1wbGFpbi1sYXlvdXQtZWRpdG9yLWNvbnRhaW5lcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9wbGFpbi1sYXlvdXQtZWRpdG9yLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3BsYWluLWxheW91dC1lZGl0b3ItY29udGFpbmVyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUGxhaW5MYXlvdXRFZGl0b3JDb250YWluZXJDb21wb25lbnQge1xuXG4gIEBJbnB1dCgpIGxheW91dEVkaXRvclBhZ2VTZXJ2aWNlITogTGF5b3V0RWRpdG9yUGFnZVNlcnZpY2U7XG4gIEBJbnB1dCgpIGNvbnRhaW5lciE6IER5bmFtaWNMYXlvdXRFZGl0b3JDb250YWluZXI7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImR5bmFtaWMtZGV0YWlscyBwbGFpblwiPlxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBzZWN0aW9uIG9mIGNvbnRhaW5lci5keW5hbWljX2xheW91dF9zZWN0aW9uc19hdHRyaWJ1dGVzXCI+XG4gICAgPG1hdC1jYXJkIGNsYXNzPVwiZHluYW1pYy1kZXRhaWxzLXNlY3Rpb25cIj5cbiAgICAgIDxtYW50bGUtc2VjdGlvbi10aXRsZSAqbmdJZj1cInNlY3Rpb24udGl0bGVcIiBbdGl0bGVdPVwic2VjdGlvbi50aXRsZVwiPjwvbWFudGxlLXNlY3Rpb24tdGl0bGU+XG4gICAgICA8bWFudGxlLWR5bmFtaWMtbGF5b3V0LWVkaXRvci1zZWN0aW9uIFtsYXlvdXRFZGl0b3JQYWdlU2VydmljZV09XCJsYXlvdXRFZGl0b3JQYWdlU2VydmljZVwiIFtzZWN0aW9uXT1cInNlY3Rpb25cIj5cbiAgICAgIDwvbWFudGxlLWR5bmFtaWMtbGF5b3V0LWVkaXRvci1zZWN0aW9uPlxuICAgIDwvbWF0LWNhcmQ+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG4iXX0=
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../containers/dynamic-layout-editor-container/dynamic-layout-editor-container.component";
|
|
4
|
+
import * as i2 from "../../widgets/loader/loader.component";
|
|
5
|
+
import * as i3 from "@angular/common";
|
|
6
|
+
export class DynamicLayoutEditorComponent {
|
|
7
|
+
constructor() { }
|
|
8
|
+
}
|
|
9
|
+
DynamicLayoutEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicLayoutEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
10
|
+
DynamicLayoutEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicLayoutEditorComponent, selector: "mantle-dynamic-layout-editor", inputs: { layoutEditorPageService: "layoutEditorPageService", content: "content" }, ngImport: i0, template: "<ng-container *ngIf=\"content; else loader\">\n <ng-container *ngFor=\"let container of content.data.dynamic_layout_containers_attributes\">\n <mantle-dynamic-layout-editor-container\n [layoutEditorPageService]=\"layoutEditorPageService\"\n [container]=\"container\">\n </mantle-dynamic-layout-editor-container>\n </ng-container>\n</ng-container>\n\n<ng-template #loader>\n <mantle-loader></mantle-loader>\n</ng-template>\n", styles: [""], components: [{ type: i1.DynamicLayoutEditorContainerComponent, selector: "mantle-dynamic-layout-editor-container", inputs: ["layoutEditorPageService", "container"] }, { type: i2.LoaderComponent, selector: "mantle-loader", inputs: ["delay"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicLayoutEditorComponent, decorators: [{
|
|
12
|
+
type: Component,
|
|
13
|
+
args: [{
|
|
14
|
+
selector: 'mantle-dynamic-layout-editor',
|
|
15
|
+
templateUrl: './dynamic-layout-editor.component.html',
|
|
16
|
+
styleUrls: ['./dynamic-layout-editor.component.scss']
|
|
17
|
+
}]
|
|
18
|
+
}], ctorParameters: function () { return []; }, propDecorators: { layoutEditorPageService: [{
|
|
19
|
+
type: Input
|
|
20
|
+
}], content: [{
|
|
21
|
+
type: Input
|
|
22
|
+
}] } });
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1sYXlvdXQtZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hbnRsZS9zcmMvbGliL2NvbXBvbmVudHMvbGF5b3V0LWVkaXRvci9keW5hbWljLWxheW91dC1lZGl0b3IvZHluYW1pYy1sYXlvdXQtZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hbnRsZS9zcmMvbGliL2NvbXBvbmVudHMvbGF5b3V0LWVkaXRvci9keW5hbWljLWxheW91dC1lZGl0b3IvZHluYW1pYy1sYXlvdXQtZWRpdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQVNqRCxNQUFNLE9BQU8sNEJBQTRCO0lBS3ZDLGdCQUFnQixDQUFDOzswSEFMTiw0QkFBNEI7OEdBQTVCLDRCQUE0Qix3SkNUekMsZ2NBWUE7NEZESGEsNEJBQTRCO2tCQUx4QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw4QkFBOEI7b0JBQ3hDLFdBQVcsRUFBRSx3Q0FBd0M7b0JBQ3JELFNBQVMsRUFBRSxDQUFDLHdDQUF3QyxDQUFDO2lCQUN0RDswRUFHVSx1QkFBdUI7c0JBQS9CLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRHluYW1pY0xheW91dEVkaXRvckNvbnRlbnQgfSBmcm9tICcuLi8uLi8uLi9kYXRhLXN0cnVjdHVyZXMvZHluYW1pYy1sYXlvdXQuc3RydWN0dXJlJztcbmltcG9ydCB7IExheW91dEVkaXRvclBhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaW50ZXJmYWNlcy9sYXlvdXQtZWRpdG9yLXBhZ2Uuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21hbnRsZS1keW5hbWljLWxheW91dC1lZGl0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy1sYXlvdXQtZWRpdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZHluYW1pYy1sYXlvdXQtZWRpdG9yLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY0xheW91dEVkaXRvckNvbXBvbmVudCB7XG5cbiAgQElucHV0KCkgbGF5b3V0RWRpdG9yUGFnZVNlcnZpY2UhOiBMYXlvdXRFZGl0b3JQYWdlU2VydmljZTtcbiAgQElucHV0KCkgY29udGVudCE6IER5bmFtaWNMYXlvdXRFZGl0b3JDb250ZW50O1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJjb250ZW50OyBlbHNlIGxvYWRlclwiPlxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjb250YWluZXIgb2YgY29udGVudC5kYXRhLmR5bmFtaWNfbGF5b3V0X2NvbnRhaW5lcnNfYXR0cmlidXRlc1wiPlxuICAgIDxtYW50bGUtZHluYW1pYy1sYXlvdXQtZWRpdG9yLWNvbnRhaW5lclxuICAgICAgICBbbGF5b3V0RWRpdG9yUGFnZVNlcnZpY2VdPVwibGF5b3V0RWRpdG9yUGFnZVNlcnZpY2VcIlxuICAgICAgICBbY29udGFpbmVyXT1cImNvbnRhaW5lclwiPlxuICAgIDwvbWFudGxlLWR5bmFtaWMtbGF5b3V0LWVkaXRvci1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjbG9hZGVyPlxuICA8bWFudGxlLWxvYWRlcj48L21hbnRsZS1sb2FkZXI+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../layout-editor-field-element/layout-editor-field-element.component";
|
|
4
|
+
import * as i2 from "../layout-editor-table-column-element/layout-editor-table-column-element.component";
|
|
5
|
+
import * as i3 from "../layout-editor-widget-element/layout-editor-widget-element.component";
|
|
6
|
+
import * as i4 from "@angular/common";
|
|
7
|
+
export class DynamicLayoutEditorElementComponent {
|
|
8
|
+
constructor() {
|
|
9
|
+
this.elementType = '';
|
|
10
|
+
this.showControls = true;
|
|
11
|
+
}
|
|
12
|
+
asDynamicLayoutEditorFormField(element) {
|
|
13
|
+
return element;
|
|
14
|
+
}
|
|
15
|
+
asDynamicLayoutEditorTableColumn(element) {
|
|
16
|
+
return element;
|
|
17
|
+
}
|
|
18
|
+
asDynamicLayoutEditorDashboardWidget(element) {
|
|
19
|
+
return element;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
DynamicLayoutEditorElementComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicLayoutEditorElementComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
23
|
+
DynamicLayoutEditorElementComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicLayoutEditorElementComponent, selector: "mantle-dynamic-layout-editor-element", inputs: { element: "element", elementType: "elementType", showControls: "showControls" }, ngImport: i0, template: "<ng-container [ngSwitch]=\"elementType\">\n\n <ng-container *ngSwitchCase=\"'field'\">\n <mantle-layout-editor-field-element\n [element]=\"asDynamicLayoutEditorFormField(element)\"\n [showControls]=\"showControls\">\n </mantle-layout-editor-field-element>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'table-column'\">\n <mantle-layout-editor-table-column-element\n [element]=\"asDynamicLayoutEditorTableColumn(element)\"\n [showControls]=\"showControls\">\n </mantle-layout-editor-table-column-element>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'widget'\">\n <mantle-layout-editor-widget-element [element]=\"asDynamicLayoutEditorDashboardWidget(element)\">\n </mantle-layout-editor-widget-element>\n </ng-container>\n\n</ng-container>\n", styles: [""], components: [{ type: i1.LayoutEditorFieldElementComponent, selector: "mantle-layout-editor-field-element", inputs: ["element", "showControls"] }, { type: i2.LayoutEditorTableColumnElementComponent, selector: "mantle-layout-editor-table-column-element", inputs: ["element", "showControls"] }, { type: i3.LayoutEditorWidgetElementComponent, selector: "mantle-layout-editor-widget-element", inputs: ["element"] }], directives: [{ type: i4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i4.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }] });
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicLayoutEditorElementComponent, decorators: [{
|
|
25
|
+
type: Component,
|
|
26
|
+
args: [{
|
|
27
|
+
selector: 'mantle-dynamic-layout-editor-element',
|
|
28
|
+
templateUrl: './dynamic-layout-editor-element.component.html',
|
|
29
|
+
styleUrls: ['./dynamic-layout-editor-element.component.scss']
|
|
30
|
+
}]
|
|
31
|
+
}], ctorParameters: function () { return []; }, propDecorators: { element: [{
|
|
32
|
+
type: Input
|
|
33
|
+
}], elementType: [{
|
|
34
|
+
type: Input
|
|
35
|
+
}], showControls: [{
|
|
36
|
+
type: Input
|
|
37
|
+
}] } });
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1sYXlvdXQtZWRpdG9yLWVsZW1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFudGxlL3NyYy9saWIvY29tcG9uZW50cy9sYXlvdXQtZWRpdG9yL2VsZW1lbnRzL2R5bmFtaWMtbGF5b3V0LWVkaXRvci1lbGVtZW50L2R5bmFtaWMtbGF5b3V0LWVkaXRvci1lbGVtZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hbnRsZS9zcmMvbGliL2NvbXBvbmVudHMvbGF5b3V0LWVkaXRvci9lbGVtZW50cy9keW5hbWljLWxheW91dC1lZGl0b3ItZWxlbWVudC9keW5hbWljLWxheW91dC1lZGl0b3ItZWxlbWVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBUWpELE1BQU0sT0FBTyxtQ0FBbUM7SUFNOUM7UUFIUyxnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUN6QixpQkFBWSxHQUFZLElBQUksQ0FBQztJQUV0QixDQUFDO0lBRWpCLDhCQUE4QixDQUFDLE9BQVk7UUFDekMsT0FBTyxPQUF1QyxDQUFDO0lBQ2pELENBQUM7SUFFRCxnQ0FBZ0MsQ0FBQyxPQUFZO1FBQzNDLE9BQU8sT0FBeUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsb0NBQW9DLENBQUMsT0FBWTtRQUMvQyxPQUFPLE9BQTZDLENBQUM7SUFDdkQsQ0FBQzs7aUlBbEJVLG1DQUFtQztxSEFBbkMsbUNBQW1DLHNLQ1JoRCx3eUJBc0JBOzRGRGRhLG1DQUFtQztrQkFML0MsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0NBQXNDO29CQUNoRCxXQUFXLEVBQUUsZ0RBQWdEO29CQUM3RCxTQUFTLEVBQUUsQ0FBQyxnREFBZ0QsQ0FBQztpQkFDOUQ7MEVBR1UsT0FBTztzQkFBZixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IER5bmFtaWNMYXlvdXRFZGl0b3JGb3JtRmllbGQsIER5bmFtaWNMYXlvdXRFZGl0b3JEYXNoYm9hcmRXaWRnZXQsIER5bmFtaWNMYXlvdXRFZGl0b3JNYXJrZG93bkVsZW1lbnQsIER5bmFtaWNMYXlvdXRFZGl0b3JUYWJsZUNvbHVtbiB9IGZyb20gJy4uLy4uLy4uLy4uL2RhdGEtc3RydWN0dXJlcy9keW5hbWljLWxheW91dC5zdHJ1Y3R1cmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtYW50bGUtZHluYW1pYy1sYXlvdXQtZWRpdG9yLWVsZW1lbnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy1sYXlvdXQtZWRpdG9yLWVsZW1lbnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9keW5hbWljLWxheW91dC1lZGl0b3ItZWxlbWVudC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIER5bmFtaWNMYXlvdXRFZGl0b3JFbGVtZW50Q29tcG9uZW50IHtcblxuICBASW5wdXQoKSBlbGVtZW50ITogRHluYW1pY0xheW91dEVkaXRvckZvcm1GaWVsZCB8IER5bmFtaWNMYXlvdXRFZGl0b3JEYXNoYm9hcmRXaWRnZXQgfCBEeW5hbWljTGF5b3V0RWRpdG9yTWFya2Rvd25FbGVtZW50IHwgRHluYW1pY0xheW91dEVkaXRvclRhYmxlQ29sdW1uO1xuICBASW5wdXQoKSBlbGVtZW50VHlwZTogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHNob3dDb250cm9sczogYm9vbGVhbiA9IHRydWU7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBhc0R5bmFtaWNMYXlvdXRFZGl0b3JGb3JtRmllbGQoZWxlbWVudDogYW55KTogRHluYW1pY0xheW91dEVkaXRvckZvcm1GaWVsZCB7XG4gICAgcmV0dXJuIGVsZW1lbnQgYXMgRHluYW1pY0xheW91dEVkaXRvckZvcm1GaWVsZDtcbiAgfVxuXG4gIGFzRHluYW1pY0xheW91dEVkaXRvclRhYmxlQ29sdW1uKGVsZW1lbnQ6IGFueSk6IER5bmFtaWNMYXlvdXRFZGl0b3JUYWJsZUNvbHVtbiB7XG4gICAgcmV0dXJuIGVsZW1lbnQgYXMgRHluYW1pY0xheW91dEVkaXRvclRhYmxlQ29sdW1uO1xuICB9XG5cbiAgYXNEeW5hbWljTGF5b3V0RWRpdG9yRGFzaGJvYXJkV2lkZ2V0KGVsZW1lbnQ6IGFueSk6IER5bmFtaWNMYXlvdXRFZGl0b3JEYXNoYm9hcmRXaWRnZXQge1xuICAgIHJldHVybiBlbGVtZW50IGFzIER5bmFtaWNMYXlvdXRFZGl0b3JEYXNoYm9hcmRXaWRnZXQ7XG4gIH1cblxufVxuIiwiPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiZWxlbWVudFR5cGVcIj5cblxuICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZmllbGQnXCI+XG4gICAgPG1hbnRsZS1sYXlvdXQtZWRpdG9yLWZpZWxkLWVsZW1lbnRcbiAgICAgICAgW2VsZW1lbnRdPVwiYXNEeW5hbWljTGF5b3V0RWRpdG9yRm9ybUZpZWxkKGVsZW1lbnQpXCJcbiAgICAgICAgW3Nob3dDb250cm9sc109XCJzaG93Q29udHJvbHNcIj5cbiAgICA8L21hbnRsZS1sYXlvdXQtZWRpdG9yLWZpZWxkLWVsZW1lbnQ+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIid0YWJsZS1jb2x1bW4nXCI+XG4gICAgPG1hbnRsZS1sYXlvdXQtZWRpdG9yLXRhYmxlLWNvbHVtbi1lbGVtZW50XG4gICAgICAgIFtlbGVtZW50XT1cImFzRHluYW1pY0xheW91dEVkaXRvclRhYmxlQ29sdW1uKGVsZW1lbnQpXCJcbiAgICAgICAgW3Nob3dDb250cm9sc109XCJzaG93Q29udHJvbHNcIj5cbiAgICA8L21hbnRsZS1sYXlvdXQtZWRpdG9yLXRhYmxlLWNvbHVtbi1lbGVtZW50PlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInd2lkZ2V0J1wiPlxuICAgIDxtYW50bGUtbGF5b3V0LWVkaXRvci13aWRnZXQtZWxlbWVudCBbZWxlbWVudF09XCJhc0R5bmFtaWNMYXlvdXRFZGl0b3JEYXNoYm9hcmRXaWRnZXQoZWxlbWVudClcIj5cbiAgICA8L21hbnRsZS1sYXlvdXQtZWRpdG9yLXdpZGdldC1lbGVtZW50PlxuICA8L25nLWNvbnRhaW5lcj5cblxuPC9uZy1jb250YWluZXI+XG4iXX0=
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { MatDialog, MatDialogConfig } from '@angular/material/dialog';
|
|
3
|
+
import { DialogNestedFormComponent } from '../../../../components/form/dialog-nested-form/dialog-nested-form.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/material/dialog";
|
|
6
|
+
import * as i2 from "@angular/material/card";
|
|
7
|
+
import * as i3 from "@angular/material/button";
|
|
8
|
+
import * as i4 from "@angular/material/icon";
|
|
9
|
+
import * as i5 from "@angular/flex-layout/flex";
|
|
10
|
+
import * as i6 from "@angular/common";
|
|
11
|
+
export class LayoutEditorFieldElementComponent {
|
|
12
|
+
constructor(dialog) {
|
|
13
|
+
this.dialog = dialog;
|
|
14
|
+
this.showControls = true;
|
|
15
|
+
}
|
|
16
|
+
onEditElementClicked() {
|
|
17
|
+
const dialogRef = this.dialog.open(DialogNestedFormComponent, this.elementDialogConfig(this.element));
|
|
18
|
+
dialogRef.afterClosed().subscribe(formData => {
|
|
19
|
+
if (!formData)
|
|
20
|
+
return;
|
|
21
|
+
this.element.label = formData.label;
|
|
22
|
+
this.element.attr_type = formData.attr_type;
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
elementDialogConfig(record) {
|
|
26
|
+
const dialogConfig = new MatDialogConfig();
|
|
27
|
+
dialogConfig.data = {
|
|
28
|
+
title: 'Edit Layout Element',
|
|
29
|
+
data: {
|
|
30
|
+
label: record.label,
|
|
31
|
+
attr_name: record.attr_name,
|
|
32
|
+
attr_type: record.attr_type
|
|
33
|
+
},
|
|
34
|
+
section: {
|
|
35
|
+
singleColumn: true,
|
|
36
|
+
elements: [
|
|
37
|
+
{ label: 'Label', attr: 'label', type: 'string', required: true },
|
|
38
|
+
{ label: 'Attribute', attr: 'attr_name', type: 'string', disabled: true },
|
|
39
|
+
{ label: 'Type', attr: 'attr_type', type: 'dropdown', required: true,
|
|
40
|
+
options: {
|
|
41
|
+
values: [
|
|
42
|
+
{ value: 'string', label: 'String' },
|
|
43
|
+
{ value: 'string-lg', label: 'Wide String' },
|
|
44
|
+
{ value: 'text', label: 'Text Area' },
|
|
45
|
+
{ value: 'chips', label: 'Chips' },
|
|
46
|
+
{ value: 'number', label: 'Number' },
|
|
47
|
+
{ value: 'date', label: 'Date' },
|
|
48
|
+
{ value: 'datetime', label: 'Date & Time' },
|
|
49
|
+
]
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
]
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
dialogConfig.width = '40%';
|
|
56
|
+
return dialogConfig;
|
|
57
|
+
}
|
|
58
|
+
onDeleteElementClicked() {
|
|
59
|
+
this.element._destroy = true;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
LayoutEditorFieldElementComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LayoutEditorFieldElementComponent, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
|
|
63
|
+
LayoutEditorFieldElementComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: LayoutEditorFieldElementComponent, selector: "mantle-layout-editor-field-element", inputs: { element: "element", showControls: "showControls" }, ngImport: i0, template: "<mat-card>\n <div class=\"element-content\" fxLayout=\"column\" fxLayoutAlign=\"stretch\">\n\n <div fxFlex=\"0 0 40px\">\n <div *ngIf=\"showControls\" fxLayout=\"row\" fxLayoutAlign=\"center start\" class=\"element-controls\">\n <div fxFlex=\"0 0 auto\">\n <button mat-icon-button\n type=\"button\">\n <mat-icon>drag_indicator</mat-icon>\n </button>\n </div>\n <div fxFlex=\"1 1 auto\"></div>\n <div *ngIf=\"element.user_specified\" fxFlex=\"0 0 auto\">\n <button mat-icon-button\n color=\"primary\"\n type=\"button\"\n (click)=\"onEditElementClicked()\">\n <mat-icon>edit</mat-icon>\n </button>\n </div>\n <div *ngIf=\"element.user_specified\" fxFlex=\"0 0 auto\">\n <button mat-icon-button\n color=\"warn\"\n type=\"button\"\n (click)=\"onDeleteElementClicked()\">\n <mat-icon>delete</mat-icon>\n </button>\n </div>\n </div>\n </div>\n\n <div fxFlex=\"1 0 0\"></div>\n\n <div fxFlex=\"0 0 auto\">\n <h4 class=\"label\">{{ element.label }}</h4>\n </div>\n\n <div fxFlex=\"1 0 0\"></div>\n\n <div fxFlex=\"0 0 auto\">\n <h5 class=\"properties\"><b>{{ '{' }}</b> {{ element.attr_type }} <b>{{ '}' }}</b></h5>\n </div>\n\n </div>\n</mat-card>\n", styles: [".mat-card{height:100px;padding:8px}.mat-card .element-content{height:100%}.mat-card .element-content .label{width:100%;margin-bottom:0;text-align:center;font-weight:bold}.mat-card .element-content .properties{width:100%;margin-bottom:0;text-align:right}.mat-card .element-content .element-controls .mat-icon{font-size:20px}\n"], components: [{ type: i2.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i5.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: i5.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: i5.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: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
64
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LayoutEditorFieldElementComponent, decorators: [{
|
|
65
|
+
type: Component,
|
|
66
|
+
args: [{
|
|
67
|
+
selector: 'mantle-layout-editor-field-element',
|
|
68
|
+
templateUrl: './layout-editor-field-element.component.html',
|
|
69
|
+
styleUrls: ['./layout-editor-field-element.component.scss']
|
|
70
|
+
}]
|
|
71
|
+
}], ctorParameters: function () { return [{ type: i1.MatDialog }]; }, propDecorators: { element: [{
|
|
72
|
+
type: Input
|
|
73
|
+
}], showControls: [{
|
|
74
|
+
type: Input
|
|
75
|
+
}] } });
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LWVkaXRvci1maWVsZC1lbGVtZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hbnRsZS9zcmMvbGliL2NvbXBvbmVudHMvbGF5b3V0LWVkaXRvci9lbGVtZW50cy9sYXlvdXQtZWRpdG9yLWZpZWxkLWVsZW1lbnQvbGF5b3V0LWVkaXRvci1maWVsZC1lbGVtZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hbnRsZS9zcmMvbGliL2NvbXBvbmVudHMvbGF5b3V0LWVkaXRvci9lbGVtZW50cy9sYXlvdXQtZWRpdG9yLWZpZWxkLWVsZW1lbnQvbGF5b3V0LWVkaXRvci1maWVsZC1lbGVtZW50LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFdEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNkVBQTZFLENBQUM7Ozs7Ozs7O0FBT3hILE1BQU0sT0FBTyxpQ0FBaUM7SUFLNUMsWUFBb0IsTUFBaUI7UUFBakIsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUY1QixpQkFBWSxHQUFZLElBQUksQ0FBQztJQUVHLENBQUM7SUFFMUMsb0JBQW9CO1FBQ2xCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHlCQUF5QixFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUV0RyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQzNDLElBQUksQ0FBQyxRQUFRO2dCQUFFLE9BQU87WUFFdEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQztZQUNwQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDO1FBQzlDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELG1CQUFtQixDQUFDLE1BQVc7UUFDN0IsTUFBTSxZQUFZLEdBQUcsSUFBSSxlQUFlLEVBQUUsQ0FBQztRQUMzQyxZQUFZLENBQUMsSUFBSSxHQUFHO1lBQ2xCLEtBQUssRUFBRSxxQkFBcUI7WUFDNUIsSUFBSSxFQUFFO2dCQUNKLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSztnQkFDbkIsU0FBUyxFQUFFLE1BQU0sQ0FBQyxTQUFTO2dCQUMzQixTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVM7YUFDNUI7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AsWUFBWSxFQUFFLElBQUk7Z0JBQ2xCLFFBQVEsRUFBRTtvQkFDUixFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7b0JBQ2pFLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtvQkFDekUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsSUFBSTt3QkFDbEUsT0FBTyxFQUFFOzRCQUNQLE1BQU0sRUFBRTtnQ0FDTixFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRTtnQ0FDcEMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUU7Z0NBQzVDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFO2dDQUNyQyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRTtnQ0FDbEMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUU7Z0NBQ3BDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO2dDQUNoQyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRTs2QkFDNUM7eUJBQ0Y7cUJBQ0Y7aUJBQ0Y7YUFDRjtTQUNGLENBQUM7UUFDRixZQUFZLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUUzQixPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDO0lBRUQsc0JBQXNCO1FBQ3BCLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztJQUMvQixDQUFDOzsrSEF2RFUsaUNBQWlDO21IQUFqQyxpQ0FBaUMsd0lDVjlDLHk0Q0E2Q0E7NEZEbkNhLGlDQUFpQztrQkFMN0MsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0NBQW9DO29CQUM5QyxXQUFXLEVBQUUsOENBQThDO29CQUMzRCxTQUFTLEVBQUUsQ0FBQyw4Q0FBOEMsQ0FBQztpQkFDNUQ7Z0dBR1UsT0FBTztzQkFBZixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ0NvbmZpZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBEeW5hbWljTGF5b3V0RWRpdG9yRm9ybUZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGF0YS1zdHJ1Y3R1cmVzL2R5bmFtaWMtbGF5b3V0LnN0cnVjdHVyZSc7XG5pbXBvcnQgeyBEaWFsb2dOZXN0ZWRGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vY29tcG9uZW50cy9mb3JtL2RpYWxvZy1uZXN0ZWQtZm9ybS9kaWFsb2ctbmVzdGVkLWZvcm0uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWFudGxlLWxheW91dC1lZGl0b3ItZmllbGQtZWxlbWVudCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9sYXlvdXQtZWRpdG9yLWZpZWxkLWVsZW1lbnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9sYXlvdXQtZWRpdG9yLWZpZWxkLWVsZW1lbnQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBMYXlvdXRFZGl0b3JGaWVsZEVsZW1lbnRDb21wb25lbnQge1xuXG4gIEBJbnB1dCgpIGVsZW1lbnQhOiBEeW5hbWljTGF5b3V0RWRpdG9yRm9ybUZpZWxkO1xuICBASW5wdXQoKSBzaG93Q29udHJvbHM6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2cpIHsgfVxuXG4gIG9uRWRpdEVsZW1lbnRDbGlja2VkKCkge1xuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oRGlhbG9nTmVzdGVkRm9ybUNvbXBvbmVudCwgdGhpcy5lbGVtZW50RGlhbG9nQ29uZmlnKHRoaXMuZWxlbWVudCkpO1xuXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKGZvcm1EYXRhID0+IHtcbiAgICAgIGlmICghZm9ybURhdGEpIHJldHVybjtcblxuICAgICAgdGhpcy5lbGVtZW50LmxhYmVsID0gZm9ybURhdGEubGFiZWw7XG4gICAgICB0aGlzLmVsZW1lbnQuYXR0cl90eXBlID0gZm9ybURhdGEuYXR0cl90eXBlO1xuICAgIH0pO1xuICB9XG5cbiAgZWxlbWVudERpYWxvZ0NvbmZpZyhyZWNvcmQ6IGFueSk6IE1hdERpYWxvZ0NvbmZpZyB7XG4gICAgY29uc3QgZGlhbG9nQ29uZmlnID0gbmV3IE1hdERpYWxvZ0NvbmZpZygpO1xuICAgIGRpYWxvZ0NvbmZpZy5kYXRhID0ge1xuICAgICAgdGl0bGU6ICdFZGl0IExheW91dCBFbGVtZW50JyxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgbGFiZWw6IHJlY29yZC5sYWJlbCxcbiAgICAgICAgYXR0cl9uYW1lOiByZWNvcmQuYXR0cl9uYW1lLFxuICAgICAgICBhdHRyX3R5cGU6IHJlY29yZC5hdHRyX3R5cGVcbiAgICAgIH0sXG4gICAgICBzZWN0aW9uOiB7XG4gICAgICAgIHNpbmdsZUNvbHVtbjogdHJ1ZSxcbiAgICAgICAgZWxlbWVudHM6IFtcbiAgICAgICAgICB7IGxhYmVsOiAnTGFiZWwnLCBhdHRyOiAnbGFiZWwnLCB0eXBlOiAnc3RyaW5nJywgcmVxdWlyZWQ6IHRydWUgfSxcbiAgICAgICAgICB7IGxhYmVsOiAnQXR0cmlidXRlJywgYXR0cjogJ2F0dHJfbmFtZScsIHR5cGU6ICdzdHJpbmcnLCBkaXNhYmxlZDogdHJ1ZSB9LFxuICAgICAgICAgIHsgbGFiZWw6ICdUeXBlJywgYXR0cjogJ2F0dHJfdHlwZScsIHR5cGU6ICdkcm9wZG93bicsIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICB2YWx1ZXM6IFtcbiAgICAgICAgICAgICAgICB7IHZhbHVlOiAnc3RyaW5nJywgbGFiZWw6ICdTdHJpbmcnIH0sXG4gICAgICAgICAgICAgICAgeyB2YWx1ZTogJ3N0cmluZy1sZycsIGxhYmVsOiAnV2lkZSBTdHJpbmcnIH0sXG4gICAgICAgICAgICAgICAgeyB2YWx1ZTogJ3RleHQnLCBsYWJlbDogJ1RleHQgQXJlYScgfSxcbiAgICAgICAgICAgICAgICB7IHZhbHVlOiAnY2hpcHMnLCBsYWJlbDogJ0NoaXBzJyB9LFxuICAgICAgICAgICAgICAgIHsgdmFsdWU6ICdudW1iZXInLCBsYWJlbDogJ051bWJlcicgfSxcbiAgICAgICAgICAgICAgICB7IHZhbHVlOiAnZGF0ZScsIGxhYmVsOiAnRGF0ZScgfSxcbiAgICAgICAgICAgICAgICB7IHZhbHVlOiAnZGF0ZXRpbWUnLCBsYWJlbDogJ0RhdGUgJiBUaW1lJyB9LFxuICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICB9XG4gICAgfTtcbiAgICBkaWFsb2dDb25maWcud2lkdGggPSAnNDAlJztcblxuICAgIHJldHVybiBkaWFsb2dDb25maWc7XG4gIH1cblxuICBvbkRlbGV0ZUVsZW1lbnRDbGlja2VkKCkge1xuICAgIHRoaXMuZWxlbWVudC5fZGVzdHJveSA9IHRydWU7XG4gIH1cblxufVxuIiwiPG1hdC1jYXJkPlxuICA8ZGl2IGNsYXNzPVwiZWxlbWVudC1jb250ZW50XCIgZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeExheW91dEFsaWduPVwic3RyZXRjaFwiPlxuXG4gICAgPGRpdiBmeEZsZXg9XCIwIDAgNDBweFwiPlxuICAgICAgPGRpdiAqbmdJZj1cInNob3dDb250cm9sc1wiIGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBzdGFydFwiIGNsYXNzPVwiZWxlbWVudC1jb250cm9sc1wiPlxuICAgICAgICA8ZGl2IGZ4RmxleD1cIjAgMCBhdXRvXCI+XG4gICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiPlxuICAgICAgICAgICAgPG1hdC1pY29uPmRyYWdfaW5kaWNhdG9yPC9tYXQtaWNvbj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgZnhGbGV4PVwiMSAxIGF1dG9cIj48L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj1cImVsZW1lbnQudXNlcl9zcGVjaWZpZWRcIiBmeEZsZXg9XCIwIDAgYXV0b1wiPlxuICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAoY2xpY2spPVwib25FZGl0RWxlbWVudENsaWNrZWQoKVwiPlxuICAgICAgICAgICAgPG1hdC1pY29uPmVkaXQ8L21hdC1pY29uPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj1cImVsZW1lbnQudXNlcl9zcGVjaWZpZWRcIiBmeEZsZXg9XCIwIDAgYXV0b1wiPlxuICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgIGNvbG9yPVwid2FyblwiXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAoY2xpY2spPVwib25EZWxldGVFbGVtZW50Q2xpY2tlZCgpXCI+XG4gICAgICAgICAgICA8bWF0LWljb24+ZGVsZXRlPC9tYXQtaWNvbj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgZnhGbGV4PVwiMSAwIDBcIj48L2Rpdj5cblxuICAgIDxkaXYgZnhGbGV4PVwiMCAwIGF1dG9cIj5cbiAgICAgIDxoNCBjbGFzcz1cImxhYmVsXCI+e3sgZWxlbWVudC5sYWJlbCB9fTwvaDQ+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGZ4RmxleD1cIjEgMCAwXCI+PC9kaXY+XG5cbiAgICA8ZGl2IGZ4RmxleD1cIjAgMCBhdXRvXCI+XG4gICAgICA8aDUgY2xhc3M9XCJwcm9wZXJ0aWVzXCI+PGI+e3sgJ3snIH19PC9iPiB7eyBlbGVtZW50LmF0dHJfdHlwZSB9fSA8Yj57eyAnfScgfX08L2I+PC9oNT5cbiAgICA8L2Rpdj5cblxuICA8L2Rpdj5cbjwvbWF0LWNhcmQ+XG4iXX0=
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { MatDialog, MatDialogConfig } from '@angular/material/dialog';
|
|
3
|
+
import { DialogNestedFormComponent } from '../../../../components/form/dialog-nested-form/dialog-nested-form.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/material/dialog";
|
|
6
|
+
import * as i2 from "@angular/material/card";
|
|
7
|
+
import * as i3 from "@angular/material/button";
|
|
8
|
+
import * as i4 from "@angular/material/icon";
|
|
9
|
+
import * as i5 from "@angular/flex-layout/flex";
|
|
10
|
+
import * as i6 from "@angular/common";
|
|
11
|
+
export class LayoutEditorTableColumnElementComponent {
|
|
12
|
+
constructor(dialog) {
|
|
13
|
+
this.dialog = dialog;
|
|
14
|
+
this.showControls = true;
|
|
15
|
+
}
|
|
16
|
+
onEditElementClicked() {
|
|
17
|
+
const dialogRef = this.dialog.open(DialogNestedFormComponent, this.elementDialogConfig(this.element));
|
|
18
|
+
dialogRef.afterClosed().subscribe(formData => {
|
|
19
|
+
if (!formData)
|
|
20
|
+
return;
|
|
21
|
+
this.element.label = formData.label;
|
|
22
|
+
this.element.attr_type = formData.attr_type;
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
elementDialogConfig(record) {
|
|
26
|
+
const dialogConfig = new MatDialogConfig();
|
|
27
|
+
dialogConfig.data = {
|
|
28
|
+
title: 'Edit Table Column',
|
|
29
|
+
data: {
|
|
30
|
+
label: record.label,
|
|
31
|
+
attr_name: record.attr_name,
|
|
32
|
+
attr_type: record.attr_type
|
|
33
|
+
},
|
|
34
|
+
section: {
|
|
35
|
+
singleColumn: true,
|
|
36
|
+
elements: [
|
|
37
|
+
{ label: 'Label', attr: 'label', type: 'string', required: true },
|
|
38
|
+
{ label: 'Attribute', attr: 'attr_name', type: 'string', disabled: true },
|
|
39
|
+
{ label: 'Type', attr: 'attr_type', type: 'dropdown', required: true,
|
|
40
|
+
options: {
|
|
41
|
+
values: [
|
|
42
|
+
{ value: 'string', label: 'String' },
|
|
43
|
+
{ value: 'string-lg', label: 'Wide String' },
|
|
44
|
+
{ value: 'text', label: 'Text Area' },
|
|
45
|
+
{ value: 'chips', label: 'Chips' },
|
|
46
|
+
{ value: 'number', label: 'Number' },
|
|
47
|
+
{ value: 'date', label: 'Date' },
|
|
48
|
+
{ value: 'datetime', label: 'Date & Time' },
|
|
49
|
+
]
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
]
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
dialogConfig.width = '40%';
|
|
56
|
+
return dialogConfig;
|
|
57
|
+
}
|
|
58
|
+
onDeleteElementClicked() {
|
|
59
|
+
this.element._destroy = true;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
LayoutEditorTableColumnElementComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LayoutEditorTableColumnElementComponent, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
|
|
63
|
+
LayoutEditorTableColumnElementComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: LayoutEditorTableColumnElementComponent, selector: "mantle-layout-editor-table-column-element", inputs: { element: "element", showControls: "showControls" }, ngImport: i0, template: "<mat-card>\n <div class=\"element-content\" fxLayout=\"column\" fxLayoutAlign=\"stretch\">\n\n <div fxFlex=\"0 0 40px\">\n <div *ngIf=\"showControls\" fxLayout=\"row\" fxLayoutAlign=\"center start\" class=\"element-controls\">\n <div fxFlex=\"0 0 auto\">\n <button mat-icon-button\n type=\"button\">\n <mat-icon>drag_indicator</mat-icon>\n </button>\n </div>\n <div fxFlex=\"1 1 auto\"></div>\n <div *ngIf=\"element.user_specified\" fxFlex=\"0 0 auto\">\n <button mat-icon-button\n color=\"primary\"\n type=\"button\"\n (click)=\"onEditElementClicked()\">\n <mat-icon>edit</mat-icon>\n </button>\n </div>\n <div *ngIf=\"element.user_specified\" fxFlex=\"0 0 auto\">\n <button mat-icon-button\n color=\"warn\"\n type=\"button\"\n (click)=\"onDeleteElementClicked()\">\n <mat-icon>delete</mat-icon>\n </button>\n </div>\n </div>\n </div>\n\n <div fxFlex=\"1 0 0\"></div>\n\n <div fxFlex=\"0 0 auto\">\n <h4 class=\"label\">{{ element.label }}</h4>\n </div>\n\n <div fxFlex=\"1 0 0\"></div>\n\n <div fxFlex=\"0 0 auto\">\n <h5 class=\"properties\"><b>{{ '{' }}</b> {{ element.attr_type }} <b>{{ '}' }}</b></h5>\n </div>\n\n </div>\n</mat-card>\n", styles: [".mat-card{height:100px;padding:8px}.mat-card .element-content{height:100%}.mat-card .element-content .label{width:100%;margin-bottom:0;text-align:center;font-weight:bold}.mat-card .element-content .properties{width:100%;margin-bottom:0;text-align:right}.mat-card .element-content .element-controls .mat-icon{font-size:20px}\n"], components: [{ type: i2.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i5.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: i5.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: i5.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: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
64
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LayoutEditorTableColumnElementComponent, decorators: [{
|
|
65
|
+
type: Component,
|
|
66
|
+
args: [{
|
|
67
|
+
selector: 'mantle-layout-editor-table-column-element',
|
|
68
|
+
templateUrl: './layout-editor-table-column-element.component.html',
|
|
69
|
+
styleUrls: ['./layout-editor-table-column-element.component.scss']
|
|
70
|
+
}]
|
|
71
|
+
}], ctorParameters: function () { return [{ type: i1.MatDialog }]; }, propDecorators: { element: [{
|
|
72
|
+
type: Input
|
|
73
|
+
}], showControls: [{
|
|
74
|
+
type: Input
|
|
75
|
+
}] } });
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LWVkaXRvci10YWJsZS1jb2x1bW4tZWxlbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYW50bGUvc3JjL2xpYi9jb21wb25lbnRzL2xheW91dC1lZGl0b3IvZWxlbWVudHMvbGF5b3V0LWVkaXRvci10YWJsZS1jb2x1bW4tZWxlbWVudC9sYXlvdXQtZWRpdG9yLXRhYmxlLWNvbHVtbi1lbGVtZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hbnRsZS9zcmMvbGliL2NvbXBvbmVudHMvbGF5b3V0LWVkaXRvci9lbGVtZW50cy9sYXlvdXQtZWRpdG9yLXRhYmxlLWNvbHVtbi1lbGVtZW50L2xheW91dC1lZGl0b3ItdGFibGUtY29sdW1uLWVsZW1lbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV0RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2RUFBNkUsQ0FBQzs7Ozs7Ozs7QUFPeEgsTUFBTSxPQUFPLHVDQUF1QztJQUtsRCxZQUFvQixNQUFpQjtRQUFqQixXQUFNLEdBQU4sTUFBTSxDQUFXO1FBRjVCLGlCQUFZLEdBQVksSUFBSSxDQUFDO0lBRUcsQ0FBQztJQUUxQyxvQkFBb0I7UUFDbEIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMseUJBQXlCLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBRXRHLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDM0MsSUFBSSxDQUFDLFFBQVE7Z0JBQUUsT0FBTztZQUV0QixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDO1lBQ3BDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUM7UUFDOUMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsbUJBQW1CLENBQUMsTUFBVztRQUM3QixNQUFNLFlBQVksR0FBRyxJQUFJLGVBQWUsRUFBRSxDQUFDO1FBQzNDLFlBQVksQ0FBQyxJQUFJLEdBQUc7WUFDbEIsS0FBSyxFQUFFLG1CQUFtQjtZQUMxQixJQUFJLEVBQUU7Z0JBQ0osS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLO2dCQUNuQixTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVM7Z0JBQzNCLFNBQVMsRUFBRSxNQUFNLENBQUMsU0FBUzthQUM1QjtZQUNELE9BQU8sRUFBRTtnQkFDUCxZQUFZLEVBQUUsSUFBSTtnQkFDbEIsUUFBUSxFQUFFO29CQUNSLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtvQkFDakUsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO29CQUN6RSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxJQUFJO3dCQUNsRSxPQUFPLEVBQUU7NEJBQ1AsTUFBTSxFQUFFO2dDQUNOLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFO2dDQUNwQyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRTtnQ0FDNUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUU7Z0NBQ3JDLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFO2dDQUNsQyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRTtnQ0FDcEMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7Z0NBQ2hDLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFOzZCQUM1Qzt5QkFDRjtxQkFDRjtpQkFDRjthQUNGO1NBQ0YsQ0FBQztRQUNGLFlBQVksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBRTNCLE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxzQkFBc0I7UUFDcEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO0lBQy9CLENBQUM7O3FJQXZEVSx1Q0FBdUM7eUhBQXZDLHVDQUF1QywrSUNWcEQseTRDQTZDQTs0RkRuQ2EsdUNBQXVDO2tCQUxuRCxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwyQ0FBMkM7b0JBQ3JELFdBQVcsRUFBRSxxREFBcUQ7b0JBQ2xFLFNBQVMsRUFBRSxDQUFDLHFEQUFxRCxDQUFDO2lCQUNuRTtnR0FHVSxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nQ29uZmlnIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IER5bmFtaWNMYXlvdXRFZGl0b3JUYWJsZUNvbHVtbiB9IGZyb20gJy4uLy4uLy4uLy4uL2RhdGEtc3RydWN0dXJlcy9keW5hbWljLWxheW91dC5zdHJ1Y3R1cmUnO1xuaW1wb3J0IHsgRGlhbG9nTmVzdGVkRm9ybUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvZm9ybS9kaWFsb2ctbmVzdGVkLWZvcm0vZGlhbG9nLW5lc3RlZC1mb3JtLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21hbnRsZS1sYXlvdXQtZWRpdG9yLXRhYmxlLWNvbHVtbi1lbGVtZW50JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xheW91dC1lZGl0b3ItdGFibGUtY29sdW1uLWVsZW1lbnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9sYXlvdXQtZWRpdG9yLXRhYmxlLWNvbHVtbi1lbGVtZW50LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTGF5b3V0RWRpdG9yVGFibGVDb2x1bW5FbGVtZW50Q29tcG9uZW50IHtcblxuICBASW5wdXQoKSBlbGVtZW50ITogRHluYW1pY0xheW91dEVkaXRvclRhYmxlQ29sdW1uO1xuICBASW5wdXQoKSBzaG93Q29udHJvbHM6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2cpIHsgfVxuXG4gIG9uRWRpdEVsZW1lbnRDbGlja2VkKCkge1xuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oRGlhbG9nTmVzdGVkRm9ybUNvbXBvbmVudCwgdGhpcy5lbGVtZW50RGlhbG9nQ29uZmlnKHRoaXMuZWxlbWVudCkpO1xuXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKGZvcm1EYXRhID0+IHtcbiAgICAgIGlmICghZm9ybURhdGEpIHJldHVybjtcblxuICAgICAgdGhpcy5lbGVtZW50LmxhYmVsID0gZm9ybURhdGEubGFiZWw7XG4gICAgICB0aGlzLmVsZW1lbnQuYXR0cl90eXBlID0gZm9ybURhdGEuYXR0cl90eXBlO1xuICAgIH0pO1xuICB9XG5cbiAgZWxlbWVudERpYWxvZ0NvbmZpZyhyZWNvcmQ6IGFueSk6IE1hdERpYWxvZ0NvbmZpZyB7XG4gICAgY29uc3QgZGlhbG9nQ29uZmlnID0gbmV3IE1hdERpYWxvZ0NvbmZpZygpO1xuICAgIGRpYWxvZ0NvbmZpZy5kYXRhID0ge1xuICAgICAgdGl0bGU6ICdFZGl0IFRhYmxlIENvbHVtbicsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIGxhYmVsOiByZWNvcmQubGFiZWwsXG4gICAgICAgIGF0dHJfbmFtZTogcmVjb3JkLmF0dHJfbmFtZSxcbiAgICAgICAgYXR0cl90eXBlOiByZWNvcmQuYXR0cl90eXBlXG4gICAgICB9LFxuICAgICAgc2VjdGlvbjoge1xuICAgICAgICBzaW5nbGVDb2x1bW46IHRydWUsXG4gICAgICAgIGVsZW1lbnRzOiBbXG4gICAgICAgICAgeyBsYWJlbDogJ0xhYmVsJywgYXR0cjogJ2xhYmVsJywgdHlwZTogJ3N0cmluZycsIHJlcXVpcmVkOiB0cnVlIH0sXG4gICAgICAgICAgeyBsYWJlbDogJ0F0dHJpYnV0ZScsIGF0dHI6ICdhdHRyX25hbWUnLCB0eXBlOiAnc3RyaW5nJywgZGlzYWJsZWQ6IHRydWUgfSxcbiAgICAgICAgICB7IGxhYmVsOiAnVHlwZScsIGF0dHI6ICdhdHRyX3R5cGUnLCB0eXBlOiAnZHJvcGRvd24nLCByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgdmFsdWVzOiBbXG4gICAgICAgICAgICAgICAgeyB2YWx1ZTogJ3N0cmluZycsIGxhYmVsOiAnU3RyaW5nJyB9LFxuICAgICAgICAgICAgICAgIHsgdmFsdWU6ICdzdHJpbmctbGcnLCBsYWJlbDogJ1dpZGUgU3RyaW5nJyB9LFxuICAgICAgICAgICAgICAgIHsgdmFsdWU6ICd0ZXh0JywgbGFiZWw6ICdUZXh0IEFyZWEnIH0sXG4gICAgICAgICAgICAgICAgeyB2YWx1ZTogJ2NoaXBzJywgbGFiZWw6ICdDaGlwcycgfSxcbiAgICAgICAgICAgICAgICB7IHZhbHVlOiAnbnVtYmVyJywgbGFiZWw6ICdOdW1iZXInIH0sXG4gICAgICAgICAgICAgICAgeyB2YWx1ZTogJ2RhdGUnLCBsYWJlbDogJ0RhdGUnIH0sXG4gICAgICAgICAgICAgICAgeyB2YWx1ZTogJ2RhdGV0aW1lJywgbGFiZWw6ICdEYXRlICYgVGltZScgfSxcbiAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgICAgfVxuICAgIH07XG4gICAgZGlhbG9nQ29uZmlnLndpZHRoID0gJzQwJSc7XG5cbiAgICByZXR1cm4gZGlhbG9nQ29uZmlnO1xuICB9XG5cbiAgb25EZWxldGVFbGVtZW50Q2xpY2tlZCgpIHtcbiAgICB0aGlzLmVsZW1lbnQuX2Rlc3Ryb3kgPSB0cnVlO1xuICB9XG5cbn1cbiIsIjxtYXQtY2FyZD5cbiAgPGRpdiBjbGFzcz1cImVsZW1lbnQtY29udGVudFwiIGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRBbGlnbj1cInN0cmV0Y2hcIj5cblxuICAgIDxkaXYgZnhGbGV4PVwiMCAwIDQwcHhcIj5cbiAgICAgIDxkaXYgKm5nSWY9XCJzaG93Q29udHJvbHNcIiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgc3RhcnRcIiBjbGFzcz1cImVsZW1lbnQtY29udHJvbHNcIj5cbiAgICAgICAgPGRpdiBmeEZsZXg9XCIwIDAgYXV0b1wiPlxuICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbj5kcmFnX2luZGljYXRvcjwvbWF0LWljb24+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGZ4RmxleD1cIjEgMSBhdXRvXCI+PC9kaXY+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJlbGVtZW50LnVzZXJfc3BlY2lmaWVkXCIgZnhGbGV4PVwiMCAwIGF1dG9cIj5cbiAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uRWRpdEVsZW1lbnRDbGlja2VkKClcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbj5lZGl0PC9tYXQtaWNvbj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJlbGVtZW50LnVzZXJfc3BlY2lmaWVkXCIgZnhGbGV4PVwiMCAwIGF1dG9cIj5cbiAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICBjb2xvcj1cIndhcm5cIlxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uRGVsZXRlRWxlbWVudENsaWNrZWQoKVwiPlxuICAgICAgICAgICAgPG1hdC1pY29uPmRlbGV0ZTwvbWF0LWljb24+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGZ4RmxleD1cIjEgMCAwXCI+PC9kaXY+XG5cbiAgICA8ZGl2IGZ4RmxleD1cIjAgMCBhdXRvXCI+XG4gICAgICA8aDQgY2xhc3M9XCJsYWJlbFwiPnt7IGVsZW1lbnQubGFiZWwgfX08L2g0PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBmeEZsZXg9XCIxIDAgMFwiPjwvZGl2PlxuXG4gICAgPGRpdiBmeEZsZXg9XCIwIDAgYXV0b1wiPlxuICAgICAgPGg1IGNsYXNzPVwicHJvcGVydGllc1wiPjxiPnt7ICd7JyB9fTwvYj4ge3sgZWxlbWVudC5hdHRyX3R5cGUgfX0gPGI+e3sgJ30nIH19PC9iPjwvaDU+XG4gICAgPC9kaXY+XG5cbiAgPC9kaXY+XG48L21hdC1jYXJkPlxuIl19
|