@inobeta/ui 18.0.1-build.1722007687
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 +1 -0
- package/_index.scss +1 -0
- package/esm2022/inobeta-ui.mjs +5 -0
- package/esm2022/public_api.mjs +17 -0
- package/esm2022/src/app/inobeta-ui/core/filter.pipe.mjs +23 -0
- package/esm2022/src/app/inobeta-ui/core/index.mjs +2 -0
- package/esm2022/src/app/inobeta-ui/http/auth/guard.service.mjs +157 -0
- package/esm2022/src/app/inobeta-ui/http/auth/login.service.mjs +137 -0
- package/esm2022/src/app/inobeta-ui/http/auth/login.service.stub.spec.mjs +20 -0
- package/esm2022/src/app/inobeta-ui/http/auth/session.model.mjs +16 -0
- package/esm2022/src/app/inobeta-ui/http/http/auth.interceptor.mjs +79 -0
- package/esm2022/src/app/inobeta-ui/http/http/error.interceptor.mjs +76 -0
- package/esm2022/src/app/inobeta-ui/http/http/loader.interceptor.mjs +45 -0
- package/esm2022/src/app/inobeta-ui/http/http/loading-skeleton-container.component.mjs +36 -0
- package/esm2022/src/app/inobeta-ui/http/http/loading-skeleton.component.mjs +34 -0
- package/esm2022/src/app/inobeta-ui/http/http/loading-skeleton.directive.mjs +66 -0
- package/esm2022/src/app/inobeta-ui/http/http/loading-skeleton.directive.stub.spec.mjs +22 -0
- package/esm2022/src/app/inobeta-ui/http/http/messages.decorator.mjs +42 -0
- package/esm2022/src/app/inobeta-ui/http/http/role-check.directive.mjs +45 -0
- package/esm2022/src/app/inobeta-ui/http/http/spinner-loading.component.mjs +28 -0
- package/esm2022/src/app/inobeta-ui/http/http/spinner-loading.stub.spec.mjs +15 -0
- package/esm2022/src/app/inobeta-ui/http/http-test.module.mjs +35 -0
- package/esm2022/src/app/inobeta-ui/http/http.module.mjs +178 -0
- package/esm2022/src/app/inobeta-ui/http/index.mjs +26 -0
- package/esm2022/src/app/inobeta-ui/http/store/index.mjs +11 -0
- package/esm2022/src/app/inobeta-ui/http/store/loader/actions.mjs +7 -0
- package/esm2022/src/app/inobeta-ui/http/store/loader/interfaces.mjs +2 -0
- package/esm2022/src/app/inobeta-ui/http/store/loader/reducers.mjs +35 -0
- package/esm2022/src/app/inobeta-ui/http/store/loader/selectors.mjs +9 -0
- package/esm2022/src/app/inobeta-ui/http/store/session/actions.mjs +17 -0
- package/esm2022/src/app/inobeta-ui/http/store/session/effects.mjs +50 -0
- package/esm2022/src/app/inobeta-ui/http/store/session/interfaces.mjs +2 -0
- package/esm2022/src/app/inobeta-ui/http/store/session/reducers.mjs +12 -0
- package/esm2022/src/app/inobeta-ui/http/store/session/selectors.mjs +22 -0
- package/esm2022/src/app/inobeta-ui/http/translations.mjs +13 -0
- package/esm2022/src/app/inobeta-ui/hydration/actions.mjs +3 -0
- package/esm2022/src/app/inobeta-ui/hydration/effects.mjs +45 -0
- package/esm2022/src/app/inobeta-ui/hydration/index.mjs +21 -0
- package/esm2022/src/app/inobeta-ui/hydration/reducer.mjs +36 -0
- package/esm2022/src/app/inobeta-ui/storage/index.mjs +4 -0
- package/esm2022/src/app/inobeta-ui/storage/storage-test.module.mjs +23 -0
- package/esm2022/src/app/inobeta-ui/storage/storage.module.mjs +22 -0
- package/esm2022/src/app/inobeta-ui/storage/storage.service.mjs +105 -0
- package/esm2022/src/app/inobeta-ui/storage/storage.stub.spec.mjs +8 -0
- package/esm2022/src/app/inobeta-ui/translate/index.mjs +2 -0
- package/esm2022/src/app/inobeta-ui/translate/translate-loader.service.mjs +37 -0
- package/esm2022/src/app/inobeta-ui/ui/breadcrumb/breadcrumb.component.mjs +63 -0
- package/esm2022/src/app/inobeta-ui/ui/breadcrumb/breadcrumb.module.mjs +44 -0
- package/esm2022/src/app/inobeta-ui/ui/breadcrumb/index.mjs +4 -0
- package/esm2022/src/app/inobeta-ui/ui/breadcrumb/material-breadcrumb/material-breadcrumb.component.mjs +16 -0
- package/esm2022/src/app/inobeta-ui/ui/data-export/data-export.module.mjs +92 -0
- package/esm2022/src/app/inobeta-ui/ui/data-export/data-export.service.mjs +83 -0
- package/esm2022/src/app/inobeta-ui/ui/data-export/formats/csv-export.service.mjs +42 -0
- package/esm2022/src/app/inobeta-ui/ui/data-export/formats/pdf-export.service.mjs +66 -0
- package/esm2022/src/app/inobeta-ui/ui/data-export/formats/xlsx-export.service.mjs +26 -0
- package/esm2022/src/app/inobeta-ui/ui/data-export/index.mjs +10 -0
- package/esm2022/src/app/inobeta-ui/ui/data-export/provider.mjs +3 -0
- package/esm2022/src/app/inobeta-ui/ui/data-export/table-data-export-dialog.component.mjs +113 -0
- package/esm2022/src/app/inobeta-ui/ui/data-export/table-data-export.component.mjs +58 -0
- package/esm2022/src/app/inobeta-ui/ui/data-export/transformer.mjs +68 -0
- package/esm2022/src/app/inobeta-ui/ui/forms/array/array.mjs +26 -0
- package/esm2022/src/app/inobeta-ui/ui/forms/controls/checkbox.mjs +5 -0
- package/esm2022/src/app/inobeta-ui/ui/forms/controls/dropdown.mjs +5 -0
- package/esm2022/src/app/inobeta-ui/ui/forms/controls/form-control-base.mjs +80 -0
- package/esm2022/src/app/inobeta-ui/ui/forms/controls/radio.mjs +5 -0
- package/esm2022/src/app/inobeta-ui/ui/forms/controls/textbox.mjs +5 -0
- package/esm2022/src/app/inobeta-ui/ui/forms/dynamic-form/dynamic-form.component.mjs +118 -0
- package/esm2022/src/app/inobeta-ui/ui/forms/dynamic-form-array/dynamic-form-array.component.mjs +46 -0
- package/esm2022/src/app/inobeta-ui/ui/forms/dynamic-form-control/dynamic-form-control.component.mjs +28 -0
- package/esm2022/src/app/inobeta-ui/ui/forms/form-control.service.mjs +57 -0
- package/esm2022/src/app/inobeta-ui/ui/forms/forms.module.mjs +36 -0
- package/esm2022/src/app/inobeta-ui/ui/forms/forms.pipes.mjs +41 -0
- package/esm2022/src/app/inobeta-ui/ui/forms/forms.types.mjs +2 -0
- package/esm2022/src/app/inobeta-ui/ui/forms/index.mjs +12 -0
- package/esm2022/src/app/inobeta-ui/ui/kai-filter/filter-button/filter-action-group.component.mjs +14 -0
- package/esm2022/src/app/inobeta-ui/ui/kai-filter/filter-button/filter-button.component.mjs +31 -0
- package/esm2022/src/app/inobeta-ui/ui/kai-filter/filter.component.mjs +149 -0
- package/esm2022/src/app/inobeta-ui/ui/kai-filter/filter.types.mjs +30 -0
- package/esm2022/src/app/inobeta-ui/ui/kai-filter/filters/base/filter-base.mjs +83 -0
- package/esm2022/src/app/inobeta-ui/ui/kai-filter/filters/boolean/boolean-filter.component.mjs +48 -0
- package/esm2022/src/app/inobeta-ui/ui/kai-filter/filters/date/filter-date.component.mjs +284 -0
- package/esm2022/src/app/inobeta-ui/ui/kai-filter/filters/number/filter-number.component.mjs +111 -0
- package/esm2022/src/app/inobeta-ui/ui/kai-filter/filters/search-bar/search-bar.component.mjs +99 -0
- package/esm2022/src/app/inobeta-ui/ui/kai-filter/filters/tag/filter-tag.component.mjs +106 -0
- package/esm2022/src/app/inobeta-ui/ui/kai-filter/filters/text/filter-text.component.mjs +98 -0
- package/esm2022/src/app/inobeta-ui/ui/kai-filter/filters.mjs +109 -0
- package/esm2022/src/app/inobeta-ui/ui/kai-filter/filters.module.mjs +175 -0
- package/esm2022/src/app/inobeta-ui/ui/kai-filter/index.mjs +14 -0
- package/esm2022/src/app/inobeta-ui/ui/kai-filter/tokens.mjs +3 -0
- package/esm2022/src/app/inobeta-ui/ui/kai-filter/translations.mjs +51 -0
- package/esm2022/src/app/inobeta-ui/ui/kai-table/action.mjs +48 -0
- package/esm2022/src/app/inobeta-ui/ui/kai-table/cells.mjs +212 -0
- package/esm2022/src/app/inobeta-ui/ui/kai-table/columns/action-column.mjs +23 -0
- package/esm2022/src/app/inobeta-ui/ui/kai-table/columns/column.mjs +260 -0
- package/esm2022/src/app/inobeta-ui/ui/kai-table/columns/date-column.mjs +93 -0
- package/esm2022/src/app/inobeta-ui/ui/kai-table/columns/index.mjs +7 -0
- package/esm2022/src/app/inobeta-ui/ui/kai-table/columns/number-column.mjs +112 -0
- package/esm2022/src/app/inobeta-ui/ui/kai-table/columns/selection-column.mjs +149 -0
- package/esm2022/src/app/inobeta-ui/ui/kai-table/columns/text-column.mjs +90 -0
- package/esm2022/src/app/inobeta-ui/ui/kai-table/index.mjs +13 -0
- package/esm2022/src/app/inobeta-ui/ui/kai-table/paginator-intl.mjs +53 -0
- package/esm2022/src/app/inobeta-ui/ui/kai-table/remote-data-source.mjs +73 -0
- package/esm2022/src/app/inobeta-ui/ui/kai-table/rowgroup.mjs +17 -0
- package/esm2022/src/app/inobeta-ui/ui/kai-table/sort-header.mjs +37 -0
- package/esm2022/src/app/inobeta-ui/ui/kai-table/store/const.mjs +2 -0
- package/esm2022/src/app/inobeta-ui/ui/kai-table/store/index.mjs +9 -0
- package/esm2022/src/app/inobeta-ui/ui/kai-table/store/url-state/actions.mjs +13 -0
- package/esm2022/src/app/inobeta-ui/ui/kai-table/store/url-state/effects.mjs +47 -0
- package/esm2022/src/app/inobeta-ui/ui/kai-table/store/url-state/interfaces.mjs +2 -0
- package/esm2022/src/app/inobeta-ui/ui/kai-table/store/url-state/reducers.mjs +56 -0
- package/esm2022/src/app/inobeta-ui/ui/kai-table/store/url-state/selectors.mjs +19 -0
- package/esm2022/src/app/inobeta-ui/ui/kai-table/table-data-source.mjs +450 -0
- package/esm2022/src/app/inobeta-ui/ui/kai-table/table-url.service.mjs +129 -0
- package/esm2022/src/app/inobeta-ui/ui/kai-table/table.component.mjs +260 -0
- package/esm2022/src/app/inobeta-ui/ui/kai-table/table.module.mjs +150 -0
- package/esm2022/src/app/inobeta-ui/ui/kai-table/table.types.mjs +2 -0
- package/esm2022/src/app/inobeta-ui/ui/kai-table/tokens.mjs +13 -0
- package/esm2022/src/app/inobeta-ui/ui/kai-table/translations.mjs +41 -0
- package/esm2022/src/app/inobeta-ui/ui/main-menu/components/main-menu-bar/main-menu-bar.component.mjs +120 -0
- package/esm2022/src/app/inobeta-ui/ui/main-menu/components/main-menu-bar/main-menu-bar.stub.spec.mjs +38 -0
- package/esm2022/src/app/inobeta-ui/ui/main-menu/components/main-menu-dialog/main-menu-dialog.component.mjs +48 -0
- package/esm2022/src/app/inobeta-ui/ui/main-menu/components/main-menu-expanded/header-footer-buttons.component.mjs +139 -0
- package/esm2022/src/app/inobeta-ui/ui/main-menu/components/main-menu-expanded/main-menu-expanded.component.mjs +41 -0
- package/esm2022/src/app/inobeta-ui/ui/main-menu/index.mjs +13 -0
- package/esm2022/src/app/inobeta-ui/ui/main-menu/main-menu-test.module.mjs +24 -0
- package/esm2022/src/app/inobeta-ui/ui/main-menu/main-menu.module.mjs +63 -0
- package/esm2022/src/app/inobeta-ui/ui/main-menu/models/main-menu-button.model.mjs +2 -0
- package/esm2022/src/app/inobeta-ui/ui/main-menu/models/main-menu-data-set.model.mjs +2 -0
- package/esm2022/src/app/inobeta-ui/ui/main-menu/models/main-menu-data.model.mjs +2 -0
- package/esm2022/src/app/inobeta-ui/ui/material-forms/controls/autocomplete.mjs +108 -0
- package/esm2022/src/app/inobeta-ui/ui/material-forms/controls/button.mjs +80 -0
- package/esm2022/src/app/inobeta-ui/ui/material-forms/controls/checkbox.mjs +54 -0
- package/esm2022/src/app/inobeta-ui/ui/material-forms/controls/datepicker.mjs +96 -0
- package/esm2022/src/app/inobeta-ui/ui/material-forms/controls/dropdown.mjs +149 -0
- package/esm2022/src/app/inobeta-ui/ui/material-forms/controls/label.mjs +50 -0
- package/esm2022/src/app/inobeta-ui/ui/material-forms/controls/padding.mjs +26 -0
- package/esm2022/src/app/inobeta-ui/ui/material-forms/controls/radio.mjs +61 -0
- package/esm2022/src/app/inobeta-ui/ui/material-forms/controls/slide-toggle.mjs +62 -0
- package/esm2022/src/app/inobeta-ui/ui/material-forms/controls/textarea.mjs +63 -0
- package/esm2022/src/app/inobeta-ui/ui/material-forms/controls/textbox.mjs +205 -0
- package/esm2022/src/app/inobeta-ui/ui/material-forms/index.mjs +18 -0
- package/esm2022/src/app/inobeta-ui/ui/material-forms/intl/datepicker.intl.mjs +73 -0
- package/esm2022/src/app/inobeta-ui/ui/material-forms/material-form/material-form.component.mjs +48 -0
- package/esm2022/src/app/inobeta-ui/ui/material-forms/material-form/material-form.stub.spec.mjs +65 -0
- package/esm2022/src/app/inobeta-ui/ui/material-forms/material-form-array/material-form-array.component.mjs +18 -0
- package/esm2022/src/app/inobeta-ui/ui/material-forms/material-form-control/material-form-control.component.mjs +64 -0
- package/esm2022/src/app/inobeta-ui/ui/material-forms/material-form-test.module.mjs +32 -0
- package/esm2022/src/app/inobeta-ui/ui/material-forms/material-form.module.mjs +168 -0
- package/esm2022/src/app/inobeta-ui/ui/material-forms/translations.mjs +26 -0
- package/esm2022/src/app/inobeta-ui/ui/modal/index.mjs +7 -0
- package/esm2022/src/app/inobeta-ui/ui/modal/modal-message.component.mjs +76 -0
- package/esm2022/src/app/inobeta-ui/ui/modal/modal-message.model.mjs +2 -0
- package/esm2022/src/app/inobeta-ui/ui/modal/modal-message.service.mjs +64 -0
- package/esm2022/src/app/inobeta-ui/ui/modal/modal-message.service.stub.spec.mjs +15 -0
- package/esm2022/src/app/inobeta-ui/ui/modal/modal-test.module.mjs +26 -0
- package/esm2022/src/app/inobeta-ui/ui/modal/modal.module.mjs +46 -0
- package/esm2022/src/app/inobeta-ui/ui/modal/translations.mjs +10 -0
- package/esm2022/src/app/inobeta-ui/ui/toast/index.mjs +5 -0
- package/esm2022/src/app/inobeta-ui/ui/toast/toast-test.module.mjs +23 -0
- package/esm2022/src/app/inobeta-ui/ui/toast/toast.module.mjs +21 -0
- package/esm2022/src/app/inobeta-ui/ui/toast/toast.service.mjs +54 -0
- package/esm2022/src/app/inobeta-ui/ui/toast/toast.service.stub.spec.mjs +4 -0
- package/esm2022/src/app/inobeta-ui/ui/uploader/index.mjs +3 -0
- package/esm2022/src/app/inobeta-ui/ui/uploader/uploader.component.mjs +41 -0
- package/esm2022/src/app/inobeta-ui/ui/uploader/uploader.module.mjs +42 -0
- package/esm2022/src/app/inobeta-ui/ui/views/components/default-table-view/default-table-view.component.mjs +20 -0
- package/esm2022/src/app/inobeta-ui/ui/views/components/index.mjs +6 -0
- package/esm2022/src/app/inobeta-ui/ui/views/components/table-view/table-view.component.mjs +37 -0
- package/esm2022/src/app/inobeta-ui/ui/views/components/table-view-group/table-view-group.component.mjs +186 -0
- package/esm2022/src/app/inobeta-ui/ui/views/components/view-dialog/view-dialog.component.mjs +110 -0
- package/esm2022/src/app/inobeta-ui/ui/views/components/view-list/view-list.component.mjs +43 -0
- package/esm2022/src/app/inobeta-ui/ui/views/index.mjs +5 -0
- package/esm2022/src/app/inobeta-ui/ui/views/store/actions.mjs +11 -0
- package/esm2022/src/app/inobeta-ui/ui/views/store/index.mjs +3 -0
- package/esm2022/src/app/inobeta-ui/ui/views/store/reducer.mjs +5 -0
- package/esm2022/src/app/inobeta-ui/ui/views/store/views/index.mjs +4 -0
- package/esm2022/src/app/inobeta-ui/ui/views/store/views/reducer.mjs +19 -0
- package/esm2022/src/app/inobeta-ui/ui/views/store/views/selectors.mjs +5 -0
- package/esm2022/src/app/inobeta-ui/ui/views/store/views/table-view.mjs +13 -0
- package/esm2022/src/app/inobeta-ui/ui/views/translations.mjs +34 -0
- package/esm2022/src/app/inobeta-ui/ui/views/view.module.mjs +98 -0
- package/esm2022/src/app/inobeta-ui/ui/views/view.service.mjs +137 -0
- package/fesm2022/inobeta-ui.mjs +8610 -0
- package/fesm2022/inobeta-ui.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/package.json +55 -0
- package/public_api.d.ts +16 -0
- package/src/app/inobeta-ui/core/filter.pipe.d.ts +7 -0
- package/src/app/inobeta-ui/core/index.d.ts +1 -0
- package/src/app/inobeta-ui/http/auth/guard.service.d.ts +96 -0
- package/src/app/inobeta-ui/http/auth/login.service.d.ts +63 -0
- package/src/app/inobeta-ui/http/auth/login.service.stub.spec.d.ts +9 -0
- package/src/app/inobeta-ui/http/auth/session.model.d.ts +18 -0
- package/src/app/inobeta-ui/http/http/auth.interceptor.d.ts +21 -0
- package/src/app/inobeta-ui/http/http/error.interceptor.d.ts +18 -0
- package/src/app/inobeta-ui/http/http/loader.interceptor.d.ts +17 -0
- package/src/app/inobeta-ui/http/http/loading-skeleton-container.component.d.ts +13 -0
- package/src/app/inobeta-ui/http/http/loading-skeleton.component.d.ts +12 -0
- package/src/app/inobeta-ui/http/http/loading-skeleton.directive.d.ts +27 -0
- package/src/app/inobeta-ui/http/http/loading-skeleton.directive.stub.spec.d.ts +13 -0
- package/src/app/inobeta-ui/http/http/messages.decorator.d.ts +18 -0
- package/src/app/inobeta-ui/http/http/role-check.directive.d.ts +17 -0
- package/src/app/inobeta-ui/http/http/spinner-loading.component.d.ts +9 -0
- package/src/app/inobeta-ui/http/http/spinner-loading.stub.spec.d.ts +5 -0
- package/src/app/inobeta-ui/http/http-test.module.d.ts +8 -0
- package/src/app/inobeta-ui/http/http.module.d.ts +20 -0
- package/src/app/inobeta-ui/http/index.d.ts +23 -0
- package/src/app/inobeta-ui/http/store/index.d.ts +10 -0
- package/src/app/inobeta-ui/http/store/loader/actions.d.ts +17 -0
- package/src/app/inobeta-ui/http/store/loader/interfaces.d.ts +8 -0
- package/src/app/inobeta-ui/http/store/loader/reducers.d.ts +3 -0
- package/src/app/inobeta-ui/http/store/loader/selectors.d.ts +5 -0
- package/src/app/inobeta-ui/http/store/session/actions.d.ts +20 -0
- package/src/app/inobeta-ui/http/store/session/effects.d.ts +16 -0
- package/src/app/inobeta-ui/http/store/session/interfaces.d.ts +4 -0
- package/src/app/inobeta-ui/http/store/session/reducers.d.ts +3 -0
- package/src/app/inobeta-ui/http/store/session/selectors.d.ts +4 -0
- package/src/app/inobeta-ui/http/translations.d.ts +12 -0
- package/src/app/inobeta-ui/hydration/actions.d.ts +1 -0
- package/src/app/inobeta-ui/hydration/effects.d.ts +13 -0
- package/src/app/inobeta-ui/hydration/index.d.ts +13 -0
- package/src/app/inobeta-ui/hydration/reducer.d.ts +2 -0
- package/src/app/inobeta-ui/storage/index.d.ts +3 -0
- package/src/app/inobeta-ui/storage/storage-test.module.d.ts +6 -0
- package/src/app/inobeta-ui/storage/storage.module.d.ts +6 -0
- package/src/app/inobeta-ui/storage/storage.service.d.ts +62 -0
- package/src/app/inobeta-ui/storage/storage.stub.spec.d.ts +5 -0
- package/src/app/inobeta-ui/translate/index.d.ts +1 -0
- package/src/app/inobeta-ui/translate/translate-loader.service.d.ts +11 -0
- package/src/app/inobeta-ui/ui/_index.scss +87 -0
- package/src/app/inobeta-ui/ui/breadcrumb/breadcrumb.component.d.ts +28 -0
- package/src/app/inobeta-ui/ui/breadcrumb/breadcrumb.module.d.ts +12 -0
- package/src/app/inobeta-ui/ui/breadcrumb/index.d.ts +3 -0
- package/src/app/inobeta-ui/ui/breadcrumb/material-breadcrumb/material-breadcrumb.component.d.ts +6 -0
- package/src/app/inobeta-ui/ui/data-export/data-export.module.d.ts +20 -0
- package/src/app/inobeta-ui/ui/data-export/data-export.service.d.ts +35 -0
- package/src/app/inobeta-ui/ui/data-export/formats/csv-export.service.d.ts +19 -0
- package/src/app/inobeta-ui/ui/data-export/formats/pdf-export.service.d.ts +20 -0
- package/src/app/inobeta-ui/ui/data-export/formats/xlsx-export.service.d.ts +14 -0
- package/src/app/inobeta-ui/ui/data-export/index.d.ts +9 -0
- package/src/app/inobeta-ui/ui/data-export/provider.d.ts +15 -0
- package/src/app/inobeta-ui/ui/data-export/table-data-export-dialog.component.d.ts +23 -0
- package/src/app/inobeta-ui/ui/data-export/table-data-export.component.d.ts +13 -0
- package/src/app/inobeta-ui/ui/data-export/transformer.d.ts +50 -0
- package/src/app/inobeta-ui/ui/forms/array/array.d.ts +32 -0
- package/src/app/inobeta-ui/ui/forms/controls/checkbox.d.ts +4 -0
- package/src/app/inobeta-ui/ui/forms/controls/dropdown.d.ts +4 -0
- package/src/app/inobeta-ui/ui/forms/controls/form-control-base.d.ts +88 -0
- package/src/app/inobeta-ui/ui/forms/controls/radio.d.ts +4 -0
- package/src/app/inobeta-ui/ui/forms/controls/textbox.d.ts +4 -0
- package/src/app/inobeta-ui/ui/forms/dynamic-form/dynamic-form.component.d.ts +50 -0
- package/src/app/inobeta-ui/ui/forms/dynamic-form-array/dynamic-form-array.component.d.ts +18 -0
- package/src/app/inobeta-ui/ui/forms/dynamic-form-control/dynamic-form-control.component.d.ts +11 -0
- package/src/app/inobeta-ui/ui/forms/form-control.service.d.ts +13 -0
- package/src/app/inobeta-ui/ui/forms/forms.module.d.ts +12 -0
- package/src/app/inobeta-ui/ui/forms/forms.pipes.d.ts +20 -0
- package/src/app/inobeta-ui/ui/forms/forms.types.d.ts +3 -0
- package/src/app/inobeta-ui/ui/forms/index.d.ts +11 -0
- package/src/app/inobeta-ui/ui/kai-filter/filter-button/filter-action-group.component.d.ts +5 -0
- package/src/app/inobeta-ui/ui/kai-filter/filter-button/filter-button.component.d.ts +8 -0
- package/src/app/inobeta-ui/ui/kai-filter/filter.component.d.ts +41 -0
- package/src/app/inobeta-ui/ui/kai-filter/filter.types.d.ts +141 -0
- package/src/app/inobeta-ui/ui/kai-filter/filters/base/filter-base.d.ts +42 -0
- package/src/app/inobeta-ui/ui/kai-filter/filters/boolean/boolean-filter.component.d.ts +12 -0
- package/src/app/inobeta-ui/ui/kai-filter/filters/date/filter-date.component.d.ts +56 -0
- package/src/app/inobeta-ui/ui/kai-filter/filters/number/filter-number.component.d.ts +27 -0
- package/src/app/inobeta-ui/ui/kai-filter/filters/search-bar/search-bar.component.d.ts +16 -0
- package/src/app/inobeta-ui/ui/kai-filter/filters/tag/filter-tag.component.d.ts +28 -0
- package/src/app/inobeta-ui/ui/kai-filter/filters/text/filter-text.component.d.ts +21 -0
- package/src/app/inobeta-ui/ui/kai-filter/filters.d.ts +16 -0
- package/src/app/inobeta-ui/ui/kai-filter/filters.module.d.ts +35 -0
- package/src/app/inobeta-ui/ui/kai-filter/index.d.ts +13 -0
- package/src/app/inobeta-ui/ui/kai-filter/tokens.d.ts +2 -0
- package/src/app/inobeta-ui/ui/kai-filter/translations.d.ts +50 -0
- package/src/app/inobeta-ui/ui/kai-table/_table-theme.scss +123 -0
- package/src/app/inobeta-ui/ui/kai-table/action.d.ts +19 -0
- package/src/app/inobeta-ui/ui/kai-table/cells.d.ts +88 -0
- package/src/app/inobeta-ui/ui/kai-table/columns/action-column.d.ts +9 -0
- package/src/app/inobeta-ui/ui/kai-table/columns/column.d.ts +87 -0
- package/src/app/inobeta-ui/ui/kai-table/columns/date-column.d.ts +21 -0
- package/src/app/inobeta-ui/ui/kai-table/columns/index.d.ts +6 -0
- package/src/app/inobeta-ui/ui/kai-table/columns/number-column.d.ts +16 -0
- package/src/app/inobeta-ui/ui/kai-table/columns/selection-column.d.ts +26 -0
- package/src/app/inobeta-ui/ui/kai-table/columns/text-column.d.ts +16 -0
- package/src/app/inobeta-ui/ui/kai-table/index.d.ts +12 -0
- package/src/app/inobeta-ui/ui/kai-table/paginator-intl.d.ts +18 -0
- package/src/app/inobeta-ui/ui/kai-table/remote-data-source.d.ts +60 -0
- package/src/app/inobeta-ui/ui/kai-table/rowgroup.d.ts +8 -0
- package/src/app/inobeta-ui/ui/kai-table/sort-header.d.ts +20 -0
- package/src/app/inobeta-ui/ui/kai-table/store/const.d.ts +1 -0
- package/src/app/inobeta-ui/ui/kai-table/store/index.d.ts +8 -0
- package/src/app/inobeta-ui/ui/kai-table/store/url-state/actions.d.ts +59 -0
- package/src/app/inobeta-ui/ui/kai-table/store/url-state/effects.d.ts +15 -0
- package/src/app/inobeta-ui/ui/kai-table/store/url-state/interfaces.d.ts +16 -0
- package/src/app/inobeta-ui/ui/kai-table/store/url-state/reducers.d.ts +2 -0
- package/src/app/inobeta-ui/ui/kai-table/store/url-state/selectors.d.ts +3 -0
- package/src/app/inobeta-ui/ui/kai-table/table-data-source.d.ts +164 -0
- package/src/app/inobeta-ui/ui/kai-table/table-url.service.d.ts +51 -0
- package/src/app/inobeta-ui/ui/kai-table/table.component.d.ts +79 -0
- package/src/app/inobeta-ui/ui/kai-table/table.module.d.ts +30 -0
- package/src/app/inobeta-ui/ui/kai-table/table.types.d.ts +21 -0
- package/src/app/inobeta-ui/ui/kai-table/tokens.d.ts +22 -0
- package/src/app/inobeta-ui/ui/kai-table/translations.d.ts +40 -0
- package/src/app/inobeta-ui/ui/main-menu/_main-menu-theme.scss +226 -0
- package/src/app/inobeta-ui/ui/main-menu/components/main-menu-bar/main-menu-bar.component.d.ts +56 -0
- package/src/app/inobeta-ui/ui/main-menu/components/main-menu-bar/main-menu-bar.stub.spec.d.ts +18 -0
- package/src/app/inobeta-ui/ui/main-menu/components/main-menu-dialog/main-menu-dialog.component.d.ts +13 -0
- package/src/app/inobeta-ui/ui/main-menu/components/main-menu-expanded/header-footer-buttons.component.d.ts +9 -0
- package/src/app/inobeta-ui/ui/main-menu/components/main-menu-expanded/main-menu-expanded.component.d.ts +16 -0
- package/src/app/inobeta-ui/ui/main-menu/index.d.ts +10 -0
- package/src/app/inobeta-ui/ui/main-menu/main-menu-test.module.d.ts +8 -0
- package/src/app/inobeta-ui/ui/main-menu/main-menu.module.d.ts +16 -0
- package/src/app/inobeta-ui/ui/main-menu/models/main-menu-button.model.d.ts +8 -0
- package/src/app/inobeta-ui/ui/main-menu/models/main-menu-data-set.model.d.ts +14 -0
- package/src/app/inobeta-ui/ui/main-menu/models/main-menu-data.model.d.ts +4 -0
- package/src/app/inobeta-ui/ui/material-forms/controls/autocomplete.d.ts +14 -0
- package/src/app/inobeta-ui/ui/material-forms/controls/button.d.ts +28 -0
- package/src/app/inobeta-ui/ui/material-forms/controls/checkbox.d.ts +10 -0
- package/src/app/inobeta-ui/ui/material-forms/controls/datepicker.d.ts +17 -0
- package/src/app/inobeta-ui/ui/material-forms/controls/dropdown.d.ts +29 -0
- package/src/app/inobeta-ui/ui/material-forms/controls/label.d.ts +10 -0
- package/src/app/inobeta-ui/ui/material-forms/controls/padding.d.ts +10 -0
- package/src/app/inobeta-ui/ui/material-forms/controls/radio.d.ts +10 -0
- package/src/app/inobeta-ui/ui/material-forms/controls/slide-toggle.d.ts +10 -0
- package/src/app/inobeta-ui/ui/material-forms/controls/textarea.d.ts +17 -0
- package/src/app/inobeta-ui/ui/material-forms/controls/textbox.d.ts +21 -0
- package/src/app/inobeta-ui/ui/material-forms/index.d.ts +17 -0
- package/src/app/inobeta-ui/ui/material-forms/intl/datepicker.intl.d.ts +25 -0
- package/src/app/inobeta-ui/ui/material-forms/material-form/material-form.component.d.ts +26 -0
- package/src/app/inobeta-ui/ui/material-forms/material-form/material-form.stub.spec.d.ts +21 -0
- package/src/app/inobeta-ui/ui/material-forms/material-form-array/material-form-array.component.d.ts +6 -0
- package/src/app/inobeta-ui/ui/material-forms/material-form-control/material-form-control.component.d.ts +19 -0
- package/src/app/inobeta-ui/ui/material-forms/material-form-test.module.d.ts +9 -0
- package/src/app/inobeta-ui/ui/material-forms/material-form.module.d.ts +49 -0
- package/src/app/inobeta-ui/ui/material-forms/translations.d.ts +25 -0
- package/src/app/inobeta-ui/ui/modal/index.d.ts +6 -0
- package/src/app/inobeta-ui/ui/modal/modal-message.component.d.ts +10 -0
- package/src/app/inobeta-ui/ui/modal/modal-message.model.d.ts +32 -0
- package/src/app/inobeta-ui/ui/modal/modal-message.service.d.ts +49 -0
- package/src/app/inobeta-ui/ui/modal/modal-message.service.stub.spec.d.ts +6 -0
- package/src/app/inobeta-ui/ui/modal/modal-test.module.d.ts +7 -0
- package/src/app/inobeta-ui/ui/modal/modal.module.d.ts +11 -0
- package/src/app/inobeta-ui/ui/modal/translations.d.ts +9 -0
- package/src/app/inobeta-ui/ui/toast/_toast-theme.scss +56 -0
- package/src/app/inobeta-ui/ui/toast/index.d.ts +4 -0
- package/src/app/inobeta-ui/ui/toast/toast-test.module.d.ts +6 -0
- package/src/app/inobeta-ui/ui/toast/toast.module.d.ts +7 -0
- package/src/app/inobeta-ui/ui/toast/toast.service.d.ts +36 -0
- package/src/app/inobeta-ui/ui/toast/toast.service.stub.spec.d.ts +3 -0
- package/src/app/inobeta-ui/ui/uploader/index.d.ts +2 -0
- package/src/app/inobeta-ui/ui/uploader/uploader.component.d.ts +12 -0
- package/src/app/inobeta-ui/ui/uploader/uploader.module.d.ts +10 -0
- package/src/app/inobeta-ui/ui/views/components/default-table-view/default-table-view.component.d.ts +8 -0
- package/src/app/inobeta-ui/ui/views/components/index.d.ts +5 -0
- package/src/app/inobeta-ui/ui/views/components/table-view/table-view.component.d.ts +14 -0
- package/src/app/inobeta-ui/ui/views/components/table-view-group/table-view-group.component.d.ts +45 -0
- package/src/app/inobeta-ui/ui/views/components/view-dialog/view-dialog.component.d.ts +22 -0
- package/src/app/inobeta-ui/ui/views/components/view-list/view-list.component.d.ts +16 -0
- package/src/app/inobeta-ui/ui/views/index.d.ts +4 -0
- package/src/app/inobeta-ui/ui/views/store/actions.d.ts +27 -0
- package/src/app/inobeta-ui/ui/views/store/index.d.ts +2 -0
- package/src/app/inobeta-ui/ui/views/store/reducer.d.ts +7 -0
- package/src/app/inobeta-ui/ui/views/store/views/index.d.ts +3 -0
- package/src/app/inobeta-ui/ui/views/store/views/reducer.d.ts +3 -0
- package/src/app/inobeta-ui/ui/views/store/views/selectors.d.ts +4 -0
- package/src/app/inobeta-ui/ui/views/store/views/table-view.d.ts +22 -0
- package/src/app/inobeta-ui/ui/views/translations.d.ts +33 -0
- package/src/app/inobeta-ui/ui/views/view.module.d.ts +23 -0
- package/src/app/inobeta-ui/ui/views/view.service.d.ts +40 -0
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output, } from "@angular/core";
|
|
2
|
+
import { Subject } from "rxjs";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../form-control.service";
|
|
5
|
+
import * as i2 from "@angular/common";
|
|
6
|
+
import * as i3 from "@angular/forms";
|
|
7
|
+
import * as i4 from "../dynamic-form-control/dynamic-form-control.component";
|
|
8
|
+
import * as i5 from "../dynamic-form-array/dynamic-form-array.component";
|
|
9
|
+
import * as i6 from "../forms.pipes";
|
|
10
|
+
export class IbDynamicFormComponent {
|
|
11
|
+
cs;
|
|
12
|
+
fields = [];
|
|
13
|
+
value = {};
|
|
14
|
+
actions = [{ key: "submit", label: "Save" }];
|
|
15
|
+
cols;
|
|
16
|
+
/**
|
|
17
|
+
* @ignore
|
|
18
|
+
* @deprecated
|
|
19
|
+
* this input will be removed in a future release.
|
|
20
|
+
* Utilizzare una subscription ad `afterInit()` per eseguire codice immediatamente dopo aver
|
|
21
|
+
* inizializzato il `FormGroup` (come `form.disable()`)
|
|
22
|
+
*/
|
|
23
|
+
disabledOnInit = false;
|
|
24
|
+
disabled = false;
|
|
25
|
+
ibSubmit = new EventEmitter();
|
|
26
|
+
form;
|
|
27
|
+
/** @ignore */
|
|
28
|
+
onInitSubject = new Subject();
|
|
29
|
+
/** @ignore */
|
|
30
|
+
onChangesSubject = new Subject();
|
|
31
|
+
constructor(cs) {
|
|
32
|
+
this.cs = cs;
|
|
33
|
+
}
|
|
34
|
+
ngOnInit() {
|
|
35
|
+
this.form = this.cs.toFormGroup(this.fields);
|
|
36
|
+
if (this.disabled) {
|
|
37
|
+
this.form?.disable();
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
this.form?.enable();
|
|
41
|
+
}
|
|
42
|
+
this.form.patchValue(this.value);
|
|
43
|
+
this.onInitSubject.next(this.form);
|
|
44
|
+
if (this.disabledOnInit) {
|
|
45
|
+
this.form.disable();
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
ngOnChanges(changes) {
|
|
49
|
+
const fields = changes.fields;
|
|
50
|
+
if (fields && !fields.isFirstChange()) {
|
|
51
|
+
this.form = this.cs.toFormGroup(fields.currentValue);
|
|
52
|
+
this.form.patchValue(this.value);
|
|
53
|
+
}
|
|
54
|
+
const value = changes.value;
|
|
55
|
+
if (value && !value.isFirstChange()) {
|
|
56
|
+
this.form.patchValue(value.currentValue);
|
|
57
|
+
}
|
|
58
|
+
if (this.disabled) {
|
|
59
|
+
this.form?.disable();
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
this.form?.enable();
|
|
63
|
+
}
|
|
64
|
+
const cols = changes.cols;
|
|
65
|
+
if (fields && cols) {
|
|
66
|
+
const hasFormArray = fields.currentValue.find((f) => f.role === "array");
|
|
67
|
+
if (hasFormArray && cols.currentValue > 0) {
|
|
68
|
+
console.warn(`IbFormArray is not supported in grid mode and will not be shown. Please, remove the cols input from ib-material-form`);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
for (const prop of Object.values(changes)) {
|
|
72
|
+
if (!prop.isFirstChange()) {
|
|
73
|
+
this.onChangesSubject.next({ changes, form: this.form });
|
|
74
|
+
break;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
ngOnDestroy() {
|
|
79
|
+
this.onInitSubject?.complete();
|
|
80
|
+
this.onChangesSubject?.complete();
|
|
81
|
+
}
|
|
82
|
+
handleSubmit() {
|
|
83
|
+
this.ibSubmit.emit(this.form.getRawValue());
|
|
84
|
+
}
|
|
85
|
+
handleActionClick(source) {
|
|
86
|
+
if (source.key === "submit") {
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
source.handler(this.form);
|
|
90
|
+
}
|
|
91
|
+
afterInit() {
|
|
92
|
+
return this.onInitSubject;
|
|
93
|
+
}
|
|
94
|
+
afterChanges() {
|
|
95
|
+
return this.onChangesSubject;
|
|
96
|
+
}
|
|
97
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbDynamicFormComponent, deps: [{ token: i1.IbFormControlService }], target: i0.ɵɵFactoryTarget.Component });
|
|
98
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: IbDynamicFormComponent, selector: "ib-form", inputs: { fields: "fields", value: "value", actions: "actions", cols: "cols", disabledOnInit: "disabledOnInit", disabled: "disabled" }, outputs: { ibSubmit: "ibSubmit" }, usesOnChanges: true, ngImport: i0, template: "<form (ngSubmit)=\"handleSubmit()\" [formGroup]=\"form\" class=\"ibForm\">\n\n <ng-container *ngFor=\"let field of fields\">\n <ng-container [ngSwitch]=\"field.role\">\n <ib-dynamic-form-control *ngSwitchCase=\"'control'\" class=\"ibFormRow\" [base]=\"field | asFormControl\" [form]=\"form\"></ib-dynamic-form-control>\n <ib-dynamic-form-array *ngSwitchCase=\"'array'\" class=\"ibFormRow\" [base]=\"field | asFormArray\" [form]=\"form\"></ib-dynamic-form-array>\n </ng-container>\n </ng-container>\n\n <div class=\"ibFormRow ibFormActions\">\n <button type=\"submit\" [disabled]=\"!form.valid\">Save</button>\n </div>\n</form>", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i4.IbDynamicFormControlComponent, selector: "ib-dynamic-form-control", inputs: ["base", "form"] }, { kind: "component", type: i5.IbDynamicFormArrayComponent, selector: "ib-dynamic-form-array", inputs: ["base", "form"] }, { kind: "pipe", type: i6.IbFormArrayPipe, name: "asFormArray" }, { kind: "pipe", type: i6.IbFormControlPipe, name: "asFormControl" }] });
|
|
99
|
+
}
|
|
100
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbDynamicFormComponent, decorators: [{
|
|
101
|
+
type: Component,
|
|
102
|
+
args: [{ selector: "ib-form", template: "<form (ngSubmit)=\"handleSubmit()\" [formGroup]=\"form\" class=\"ibForm\">\n\n <ng-container *ngFor=\"let field of fields\">\n <ng-container [ngSwitch]=\"field.role\">\n <ib-dynamic-form-control *ngSwitchCase=\"'control'\" class=\"ibFormRow\" [base]=\"field | asFormControl\" [form]=\"form\"></ib-dynamic-form-control>\n <ib-dynamic-form-array *ngSwitchCase=\"'array'\" class=\"ibFormRow\" [base]=\"field | asFormArray\" [form]=\"form\"></ib-dynamic-form-array>\n </ng-container>\n </ng-container>\n\n <div class=\"ibFormRow ibFormActions\">\n <button type=\"submit\" [disabled]=\"!form.valid\">Save</button>\n </div>\n</form>" }]
|
|
103
|
+
}], ctorParameters: () => [{ type: i1.IbFormControlService }], propDecorators: { fields: [{
|
|
104
|
+
type: Input
|
|
105
|
+
}], value: [{
|
|
106
|
+
type: Input
|
|
107
|
+
}], actions: [{
|
|
108
|
+
type: Input
|
|
109
|
+
}], cols: [{
|
|
110
|
+
type: Input
|
|
111
|
+
}], disabledOnInit: [{
|
|
112
|
+
type: Input
|
|
113
|
+
}], disabled: [{
|
|
114
|
+
type: Input
|
|
115
|
+
}], ibSubmit: [{
|
|
116
|
+
type: Output
|
|
117
|
+
}] } });
|
|
118
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvaW5vYmV0YS11aS91aS9mb3Jtcy9keW5hbWljLWZvcm0vZHluYW1pYy1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvaW5vYmV0YS11aS91aS9mb3Jtcy9keW5hbWljLWZvcm0vZHluYW1pYy1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFJTCxNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7QUFxQjNDLE1BQU0sT0FBTyxzQkFBc0I7SUF1QmI7SUF0QlgsTUFBTSxHQUFrQixFQUFFLENBQUM7SUFDM0IsS0FBSyxHQUE0QixFQUFFLENBQUM7SUFDcEMsT0FBTyxHQUFtQixDQUFDLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUM3RCxJQUFJLENBQVM7SUFDdEI7Ozs7OztPQU1HO0lBQ00sY0FBYyxHQUFHLEtBQUssQ0FBQztJQUN2QixRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ2hCLFFBQVEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBQzdDLElBQUksQ0FBbUI7SUFFdkIsY0FBYztJQUNHLGFBQWEsR0FBRyxJQUFJLE9BQU8sRUFBb0IsQ0FBQztJQUVqRSxjQUFjO0lBQ0csZ0JBQWdCLEdBQUcsSUFBSSxPQUFPLEVBQW1CLENBQUM7SUFFbkUsWUFBb0IsRUFBd0I7UUFBeEIsT0FBRSxHQUFGLEVBQUUsQ0FBc0I7SUFBRyxDQUFDO0lBRWhELFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3QyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDO1FBQ3ZCLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUN0QixDQUFDO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3RCLENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFFOUIsSUFBSSxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQztZQUN0QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNyRCxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkMsQ0FBQztRQUVELE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDNUIsSUFBSSxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDM0MsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFDdkIsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ3RCLENBQUM7UUFFRCxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO1FBQzFCLElBQUksTUFBTSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ25CLE1BQU0sWUFBWSxHQUFJLE1BQU0sQ0FBQyxZQUE4QixDQUFDLElBQUksQ0FDOUQsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUMxQixDQUFDO1lBQ0YsSUFBSSxZQUFZLElBQUksSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDMUMsT0FBTyxDQUFDLElBQUksQ0FDVixzSEFBc0gsQ0FDdkgsQ0FBQztZQUNKLENBQUM7UUFDSCxDQUFDO1FBRUQsS0FBSyxNQUFNLElBQUksSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDO2dCQUMxQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztnQkFDekQsTUFBTTtZQUNSLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsYUFBYSxFQUFFLFFBQVEsRUFBRSxDQUFDO1FBQy9CLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsaUJBQWlCLENBQUMsTUFBb0I7UUFDcEMsSUFBSSxNQUFNLENBQUMsR0FBRyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzVCLE9BQU87UUFDVCxDQUFDO1FBQ0QsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUVELFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUMvQixDQUFDO3VHQXBHVSxzQkFBc0I7MkZBQXRCLHNCQUFzQiwrT0NoQ25DLDJvQkFZTzs7MkZEb0JNLHNCQUFzQjtrQkFKbEMsU0FBUzsrQkFDRSxTQUFTO3lGQUlWLE1BQU07c0JBQWQsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFRRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0ksUUFBUTtzQkFBakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBJYkZvcm1Db250cm9sU2VydmljZSB9IGZyb20gXCIuLi9mb3JtLWNvbnRyb2wuc2VydmljZVwiO1xuaW1wb3J0IHsgSWJGb3JtRmllbGQgfSBmcm9tIFwiLi4vZm9ybXMudHlwZXNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBJYkZvcm1BY3Rpb24ge1xuICBrZXk/OiBzdHJpbmc7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIGhhbmRsZXI/OiAoZm9ybTogVW50eXBlZEZvcm1Hcm91cCkgPT4gdm9pZDtcbiAgb3B0aW9ucz86IGFueTtcbiAgcmVxdWlyZUNvbmZpcm1PbkRpcnR5PzogYm9vbGVhbjtcbn1cblxuaW50ZXJmYWNlIEliRm9ybU9uQ2hhbmdlcyB7XG4gIGNoYW5nZXM6IFNpbXBsZUNoYW5nZXM7XG4gIGZvcm06IFVudHlwZWRGb3JtR3JvdXA7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJpYi1mb3JtXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vZHluYW1pYy1mb3JtLmNvbXBvbmVudC5odG1sXCIsXG59KVxuZXhwb3J0IGNsYXNzIEliRHluYW1pY0Zvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgQElucHV0KCkgZmllbGRzOiBJYkZvcm1GaWVsZFtdID0gW107XG4gIEBJbnB1dCgpIHZhbHVlOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHt9O1xuICBASW5wdXQoKSBhY3Rpb25zOiBJYkZvcm1BY3Rpb25bXSA9IFt7IGtleTogXCJzdWJtaXRcIiwgbGFiZWw6IFwiU2F2ZVwiIH1dO1xuICBASW5wdXQoKSBjb2xzOiBudW1iZXI7XG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqIEBkZXByZWNhdGVkXG4gICAqIHRoaXMgaW5wdXQgd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIHJlbGVhc2UuXG4gICAqIFV0aWxpenphcmUgdW5hIHN1YnNjcmlwdGlvbiBhZCBgYWZ0ZXJJbml0KClgIHBlciBlc2VndWlyZSBjb2RpY2UgaW1tZWRpYXRhbWVudGUgZG9wbyBhdmVyXG4gICAqIGluaXppYWxpenphdG8gaWwgYEZvcm1Hcm91cGAgKGNvbWUgYGZvcm0uZGlzYWJsZSgpYClcbiAgICovXG4gIEBJbnB1dCgpIGRpc2FibGVkT25Jbml0ID0gZmFsc2U7XG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG4gIEBPdXRwdXQoKSBpYlN1Ym1pdCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBmb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHByaXZhdGUgcmVhZG9ubHkgb25Jbml0U3ViamVjdCA9IG5ldyBTdWJqZWN0PFVudHlwZWRGb3JtR3JvdXA+KCk7XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBvbkNoYW5nZXNTdWJqZWN0ID0gbmV3IFN1YmplY3Q8SWJGb3JtT25DaGFuZ2VzPigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY3M6IEliRm9ybUNvbnRyb2xTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZm9ybSA9IHRoaXMuY3MudG9Gb3JtR3JvdXAodGhpcy5maWVsZHMpO1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLmZvcm0/LmRpc2FibGUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mb3JtPy5lbmFibGUoKTtcbiAgICB9XG4gICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUodGhpcy52YWx1ZSk7XG4gICAgdGhpcy5vbkluaXRTdWJqZWN0Lm5leHQodGhpcy5mb3JtKTtcbiAgICBpZiAodGhpcy5kaXNhYmxlZE9uSW5pdCkge1xuICAgICAgdGhpcy5mb3JtLmRpc2FibGUoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgY29uc3QgZmllbGRzID0gY2hhbmdlcy5maWVsZHM7XG5cbiAgICBpZiAoZmllbGRzICYmICFmaWVsZHMuaXNGaXJzdENoYW5nZSgpKSB7XG4gICAgICB0aGlzLmZvcm0gPSB0aGlzLmNzLnRvRm9ybUdyb3VwKGZpZWxkcy5jdXJyZW50VmFsdWUpO1xuICAgICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUodGhpcy52YWx1ZSk7XG4gICAgfVxuXG4gICAgY29uc3QgdmFsdWUgPSBjaGFuZ2VzLnZhbHVlO1xuICAgIGlmICh2YWx1ZSAmJiAhdmFsdWUuaXNGaXJzdENoYW5nZSgpKSB7XG4gICAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh2YWx1ZS5jdXJyZW50VmFsdWUpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLmZvcm0/LmRpc2FibGUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mb3JtPy5lbmFibGUoKTtcbiAgICB9XG5cbiAgICBjb25zdCBjb2xzID0gY2hhbmdlcy5jb2xzO1xuICAgIGlmIChmaWVsZHMgJiYgY29scykge1xuICAgICAgY29uc3QgaGFzRm9ybUFycmF5ID0gKGZpZWxkcy5jdXJyZW50VmFsdWUgYXMgSWJGb3JtRmllbGRbXSkuZmluZChcbiAgICAgICAgKGYpID0+IGYucm9sZSA9PT0gXCJhcnJheVwiXG4gICAgICApO1xuICAgICAgaWYgKGhhc0Zvcm1BcnJheSAmJiBjb2xzLmN1cnJlbnRWYWx1ZSA+IDApIHtcbiAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgIGBJYkZvcm1BcnJheSBpcyBub3Qgc3VwcG9ydGVkIGluIGdyaWQgbW9kZSBhbmQgd2lsbCBub3QgYmUgc2hvd24uIFBsZWFzZSwgcmVtb3ZlIHRoZSBjb2xzIGlucHV0IGZyb20gaWItbWF0ZXJpYWwtZm9ybWBcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IHByb3Agb2YgT2JqZWN0LnZhbHVlcyhjaGFuZ2VzKSkge1xuICAgICAgaWYgKCFwcm9wLmlzRmlyc3RDaGFuZ2UoKSkge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlc1N1YmplY3QubmV4dCh7IGNoYW5nZXMsIGZvcm06IHRoaXMuZm9ybSB9KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5vbkluaXRTdWJqZWN0Py5jb21wbGV0ZSgpO1xuICAgIHRoaXMub25DaGFuZ2VzU3ViamVjdD8uY29tcGxldGUoKTtcbiAgfVxuXG4gIGhhbmRsZVN1Ym1pdCgpIHtcbiAgICB0aGlzLmliU3VibWl0LmVtaXQodGhpcy5mb3JtLmdldFJhd1ZhbHVlKCkpO1xuICB9XG5cbiAgaGFuZGxlQWN0aW9uQ2xpY2soc291cmNlOiBJYkZvcm1BY3Rpb24pIHtcbiAgICBpZiAoc291cmNlLmtleSA9PT0gXCJzdWJtaXRcIikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBzb3VyY2UuaGFuZGxlcih0aGlzLmZvcm0pO1xuICB9XG5cbiAgYWZ0ZXJJbml0KCk6IE9ic2VydmFibGU8VW50eXBlZEZvcm1Hcm91cD4ge1xuICAgIHJldHVybiB0aGlzLm9uSW5pdFN1YmplY3Q7XG4gIH1cblxuICBhZnRlckNoYW5nZXMoKTogT2JzZXJ2YWJsZTxJYkZvcm1PbkNoYW5nZXM+IHtcbiAgICByZXR1cm4gdGhpcy5vbkNoYW5nZXNTdWJqZWN0O1xuICB9XG59XG4iLCI8Zm9ybSAobmdTdWJtaXQpPVwiaGFuZGxlU3VibWl0KClcIiBbZm9ybUdyb3VwXT1cImZvcm1cIiBjbGFzcz1cImliRm9ybVwiPlxuXG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGZpZWxkIG9mIGZpZWxkc1wiPlxuICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImZpZWxkLnJvbGVcIj5cbiAgICAgIDxpYi1keW5hbWljLWZvcm0tY29udHJvbCAqbmdTd2l0Y2hDYXNlPVwiJ2NvbnRyb2wnXCIgY2xhc3M9XCJpYkZvcm1Sb3dcIiBbYmFzZV09XCJmaWVsZCB8IGFzRm9ybUNvbnRyb2xcIiBbZm9ybV09XCJmb3JtXCI+PC9pYi1keW5hbWljLWZvcm0tY29udHJvbD5cbiAgICAgIDxpYi1keW5hbWljLWZvcm0tYXJyYXkgKm5nU3dpdGNoQ2FzZT1cIidhcnJheSdcIiBjbGFzcz1cImliRm9ybVJvd1wiIFtiYXNlXT1cImZpZWxkIHwgYXNGb3JtQXJyYXlcIiBbZm9ybV09XCJmb3JtXCI+PC9pYi1keW5hbWljLWZvcm0tYXJyYXk+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxkaXYgY2xhc3M9XCJpYkZvcm1Sb3cgaWJGb3JtQWN0aW9uc1wiPlxuICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIFtkaXNhYmxlZF09XCIhZm9ybS52YWxpZFwiPlNhdmU8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Zvcm0+Il19
|
package/esm2022/src/app/inobeta-ui/ui/forms/dynamic-form-array/dynamic-form-array.component.mjs
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { Component, Input } from "@angular/core";
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../form-control.service";
|
|
4
|
+
import * as i2 from "@angular/common";
|
|
5
|
+
import * as i3 from "@angular/forms";
|
|
6
|
+
import * as i4 from "../dynamic-form-control/dynamic-form-control.component";
|
|
7
|
+
export class IbDynamicFormArrayComponent {
|
|
8
|
+
cs;
|
|
9
|
+
base;
|
|
10
|
+
form;
|
|
11
|
+
constructor(cs) {
|
|
12
|
+
this.cs = cs;
|
|
13
|
+
}
|
|
14
|
+
get array() {
|
|
15
|
+
return this.form.get(this.base.key);
|
|
16
|
+
}
|
|
17
|
+
get max() {
|
|
18
|
+
return this.base.options.max;
|
|
19
|
+
}
|
|
20
|
+
get lines() {
|
|
21
|
+
return this.array.controls.length;
|
|
22
|
+
}
|
|
23
|
+
getGroupAt(index) {
|
|
24
|
+
return this.array.at(index);
|
|
25
|
+
}
|
|
26
|
+
addField() {
|
|
27
|
+
this.array.push(this.cs.toFormGroup(this.base.fields));
|
|
28
|
+
this.base.addRow(this.array, this.lines);
|
|
29
|
+
}
|
|
30
|
+
removeField(index) {
|
|
31
|
+
const removedData = structuredClone(this.getGroupAt(index)?.getRawValue());
|
|
32
|
+
this.array.removeAt(index);
|
|
33
|
+
this.base.removeRow(this.array, this.lines, index, removedData);
|
|
34
|
+
}
|
|
35
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbDynamicFormArrayComponent, deps: [{ token: i1.IbFormControlService }], target: i0.ɵɵFactoryTarget.Component });
|
|
36
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: IbDynamicFormArrayComponent, selector: "ib-dynamic-form-array", inputs: { base: "base", form: "form" }, ngImport: i0, template: "<div [formGroup]=\"form\">\n\n <section class=\"ibFormArrayItem\" *ngFor=\"let line of array.controls; let index = index\">\n <ng-container *ngFor=\"let field of base.fields\">\n <ng-container [ngSwitch]=\"field.role\">\n <ib-dynamic-form-control *ngSwitchCase=\"'control'\" class=\"ibFormRow\" [base]=\"field\"\n [form]=\"getGroupAt(index)\"></ib-dynamic-form-control>\n <!-- <ib-dynamic-form-array *ngSwitchCase=\"'array'\" class=\"ibFormRow\" [base]=\"field\" [form]=\"form\"></ib-dynamic-form-array> -->\n </ng-container>\n </ng-container>\n <div class=\"ibFormRow ibFormActions\">\n <button *ngIf=\"lines > 1\" (click)=\"removeField(index)\" [disabled]=\"array.disabled\">-</button>\n <button *ngIf=\"lines - 1 === index\" (click)=\"addField()\" [disabled]=\"array.disabled\">Add</button>\n </div>\n </section>\n\n</div>", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i4.IbDynamicFormControlComponent, selector: "ib-dynamic-form-control", inputs: ["base", "form"] }] });
|
|
37
|
+
}
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbDynamicFormArrayComponent, decorators: [{
|
|
39
|
+
type: Component,
|
|
40
|
+
args: [{ selector: "ib-dynamic-form-array", template: "<div [formGroup]=\"form\">\n\n <section class=\"ibFormArrayItem\" *ngFor=\"let line of array.controls; let index = index\">\n <ng-container *ngFor=\"let field of base.fields\">\n <ng-container [ngSwitch]=\"field.role\">\n <ib-dynamic-form-control *ngSwitchCase=\"'control'\" class=\"ibFormRow\" [base]=\"field\"\n [form]=\"getGroupAt(index)\"></ib-dynamic-form-control>\n <!-- <ib-dynamic-form-array *ngSwitchCase=\"'array'\" class=\"ibFormRow\" [base]=\"field\" [form]=\"form\"></ib-dynamic-form-array> -->\n </ng-container>\n </ng-container>\n <div class=\"ibFormRow ibFormActions\">\n <button *ngIf=\"lines > 1\" (click)=\"removeField(index)\" [disabled]=\"array.disabled\">-</button>\n <button *ngIf=\"lines - 1 === index\" (click)=\"addField()\" [disabled]=\"array.disabled\">Add</button>\n </div>\n </section>\n\n</div>" }]
|
|
41
|
+
}], ctorParameters: () => [{ type: i1.IbFormControlService }], propDecorators: { base: [{
|
|
42
|
+
type: Input
|
|
43
|
+
}], form: [{
|
|
44
|
+
type: Input
|
|
45
|
+
}] } });
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLWFycmF5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvaW5vYmV0YS11aS91aS9mb3Jtcy9keW5hbWljLWZvcm0tYXJyYXkvZHluYW1pYy1mb3JtLWFycmF5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvaW5vYmV0YS11aS91aS9mb3Jtcy9keW5hbWljLWZvcm0tYXJyYXkvZHluYW1pYy1mb3JtLWFycmF5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFTakQsTUFBTSxPQUFPLDJCQUEyQjtJQUlsQjtJQUhYLElBQUksQ0FBYztJQUNsQixJQUFJLENBQW1CO0lBRWhDLFlBQW9CLEVBQXdCO1FBQXhCLE9BQUUsR0FBRixFQUFFLENBQXNCO0lBQUcsQ0FBQztJQUVoRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFxQixDQUFDO0lBQzFELENBQUM7SUFFRCxJQUFJLEdBQUc7UUFDTCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7SUFDcEMsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFxQixDQUFDO0lBQ2xELENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQzFDLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBYTtRQUN2QixNQUFNLFdBQVcsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFBO1FBQzFFLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDbEUsQ0FBQzt1R0EvQlUsMkJBQTJCOzJGQUEzQiwyQkFBMkIscUdDVHhDLG8zQkFnQk07OzJGRFBPLDJCQUEyQjtrQkFKdkMsU0FBUzsrQkFDRSx1QkFBdUI7eUZBSXhCLElBQUk7c0JBQVosS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFVudHlwZWRGb3JtQXJyYXksIFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IEliRm9ybUFycmF5IH0gZnJvbSBcIi4uL2FycmF5L2FycmF5XCI7XG5pbXBvcnQgeyBJYkZvcm1Db250cm9sU2VydmljZSB9IGZyb20gXCIuLi9mb3JtLWNvbnRyb2wuc2VydmljZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiaWItZHluYW1pYy1mb3JtLWFycmF5XCIsXG4gIHRlbXBsYXRlVXJsOiBcImR5bmFtaWMtZm9ybS1hcnJheS5jb21wb25lbnQuaHRtbFwiLFxufSlcbmV4cG9ydCBjbGFzcyBJYkR5bmFtaWNGb3JtQXJyYXlDb21wb25lbnQge1xuICBASW5wdXQoKSBiYXNlOiBJYkZvcm1BcnJheTtcbiAgQElucHV0KCkgZm9ybTogVW50eXBlZEZvcm1Hcm91cDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNzOiBJYkZvcm1Db250cm9sU2VydmljZSkge31cblxuICBnZXQgYXJyYXkoKSB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybS5nZXQodGhpcy5iYXNlLmtleSkgYXMgVW50eXBlZEZvcm1BcnJheTtcbiAgfVxuXG4gIGdldCBtYXgoKSB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZS5vcHRpb25zLm1heDtcbiAgfVxuXG4gIGdldCBsaW5lcygpIHtcbiAgICByZXR1cm4gdGhpcy5hcnJheS5jb250cm9scy5sZW5ndGg7XG4gIH1cblxuICBnZXRHcm91cEF0KGluZGV4OiBudW1iZXIpIHtcbiAgICByZXR1cm4gdGhpcy5hcnJheS5hdChpbmRleCkgYXMgVW50eXBlZEZvcm1Hcm91cDtcbiAgfVxuXG4gIGFkZEZpZWxkKCkge1xuICAgIHRoaXMuYXJyYXkucHVzaCh0aGlzLmNzLnRvRm9ybUdyb3VwKHRoaXMuYmFzZS5maWVsZHMpKTtcbiAgICB0aGlzLmJhc2UuYWRkUm93KHRoaXMuYXJyYXksIHRoaXMubGluZXMpXG4gIH1cblxuICByZW1vdmVGaWVsZChpbmRleDogbnVtYmVyKSB7XG4gICAgY29uc3QgcmVtb3ZlZERhdGEgPSBzdHJ1Y3R1cmVkQ2xvbmUodGhpcy5nZXRHcm91cEF0KGluZGV4KT8uZ2V0UmF3VmFsdWUoKSlcbiAgICB0aGlzLmFycmF5LnJlbW92ZUF0KGluZGV4KTtcbiAgICB0aGlzLmJhc2UucmVtb3ZlUm93KHRoaXMuYXJyYXksIHRoaXMubGluZXMsIGluZGV4LCByZW1vdmVkRGF0YSk7XG4gIH1cbn1cbiIsIjxkaXYgW2Zvcm1Hcm91cF09XCJmb3JtXCI+XG5cbiAgPHNlY3Rpb24gY2xhc3M9XCJpYkZvcm1BcnJheUl0ZW1cIiAqbmdGb3I9XCJsZXQgbGluZSBvZiBhcnJheS5jb250cm9sczsgbGV0IGluZGV4ID0gaW5kZXhcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBmaWVsZCBvZiBiYXNlLmZpZWxkc1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiZmllbGQucm9sZVwiPlxuICAgICAgICA8aWItZHluYW1pYy1mb3JtLWNvbnRyb2wgKm5nU3dpdGNoQ2FzZT1cIidjb250cm9sJ1wiIGNsYXNzPVwiaWJGb3JtUm93XCIgW2Jhc2VdPVwiZmllbGRcIlxuICAgICAgICAgIFtmb3JtXT1cImdldEdyb3VwQXQoaW5kZXgpXCI+PC9pYi1keW5hbWljLWZvcm0tY29udHJvbD5cbiAgICAgICAgPCEtLSA8aWItZHluYW1pYy1mb3JtLWFycmF5ICpuZ1N3aXRjaENhc2U9XCInYXJyYXknXCIgY2xhc3M9XCJpYkZvcm1Sb3dcIiBbYmFzZV09XCJmaWVsZFwiIFtmb3JtXT1cImZvcm1cIj48L2liLWR5bmFtaWMtZm9ybS1hcnJheT4gLS0+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8ZGl2IGNsYXNzPVwiaWJGb3JtUm93IGliRm9ybUFjdGlvbnNcIj5cbiAgICAgIDxidXR0b24gKm5nSWY9XCJsaW5lcyA+IDFcIiAoY2xpY2spPVwicmVtb3ZlRmllbGQoaW5kZXgpXCIgW2Rpc2FibGVkXT1cImFycmF5LmRpc2FibGVkXCI+LTwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiAqbmdJZj1cImxpbmVzIC0gMSA9PT0gaW5kZXhcIiAoY2xpY2spPVwiYWRkRmllbGQoKVwiIFtkaXNhYmxlZF09XCJhcnJheS5kaXNhYmxlZFwiPkFkZDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L3NlY3Rpb24+XG5cbjwvZGl2PiJdfQ==
|
package/esm2022/src/app/inobeta-ui/ui/forms/dynamic-form-control/dynamic-form-control.component.mjs
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
import * as i2 from "@angular/forms";
|
|
5
|
+
/**
|
|
6
|
+
* @deprecated Do not use this component. It will be removed in a future release
|
|
7
|
+
*/
|
|
8
|
+
export class IbDynamicFormControlComponent {
|
|
9
|
+
base;
|
|
10
|
+
form;
|
|
11
|
+
get self() { return this.form.get(this.base.key); }
|
|
12
|
+
hasError(e) {
|
|
13
|
+
return this.self.hasError(e);
|
|
14
|
+
}
|
|
15
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbDynamicFormControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
16
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: IbDynamicFormControlComponent, selector: "ib-dynamic-form-control", inputs: { base: "base", form: "form" }, host: { classAttribute: "ibFormControl" }, ngImport: i0, template: "<div [formGroup]=\"form\">\n <label [attr.for]=\"base.key\" class=\"ibFormControl-label\">{{base.label}}</label>\n\n <div [ngSwitch]=\"base.controlType\">\n\n <input\n [ngSwitch]=\"base.controlType\"\n *ngSwitchCase=\"'textbox'\"\n [formControlName]=\"base.key\"\n [type]=\"base.type\"\n (keyup)=\"base.change(self)\"\n >\n\n <select\n *ngSwitchCase=\"'dropdown'\"\n [formControlName]=\"base.key\"\n (change)=\"base.change(self)\"\n >\n <option *ngFor=\"let opt of base.options\" [value]=\"opt.key\">{{opt.value}}</option>\n </select>\n\n </div>\n\n <div class=\"ibFormControl-errorMessage\" *ngIf=\"self.invalid && self.dirty\">{{base.label}} is required</div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
|
|
17
|
+
}
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbDynamicFormControlComponent, decorators: [{
|
|
19
|
+
type: Component,
|
|
20
|
+
args: [{ selector: 'ib-dynamic-form-control', host: {
|
|
21
|
+
class: 'ibFormControl'
|
|
22
|
+
}, template: "<div [formGroup]=\"form\">\n <label [attr.for]=\"base.key\" class=\"ibFormControl-label\">{{base.label}}</label>\n\n <div [ngSwitch]=\"base.controlType\">\n\n <input\n [ngSwitch]=\"base.controlType\"\n *ngSwitchCase=\"'textbox'\"\n [formControlName]=\"base.key\"\n [type]=\"base.type\"\n (keyup)=\"base.change(self)\"\n >\n\n <select\n *ngSwitchCase=\"'dropdown'\"\n [formControlName]=\"base.key\"\n (change)=\"base.change(self)\"\n >\n <option *ngFor=\"let opt of base.options\" [value]=\"opt.key\">{{opt.value}}</option>\n </select>\n\n </div>\n\n <div class=\"ibFormControl-errorMessage\" *ngIf=\"self.invalid && self.dirty\">{{base.label}} is required</div>\n</div>\n" }]
|
|
23
|
+
}], propDecorators: { base: [{
|
|
24
|
+
type: Input
|
|
25
|
+
}], form: [{
|
|
26
|
+
type: Input
|
|
27
|
+
}] } });
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLWNvbnRyb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9pbm9iZXRhLXVpL3VpL2Zvcm1zL2R5bmFtaWMtZm9ybS1jb250cm9sL2R5bmFtaWMtZm9ybS1jb250cm9sLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvaW5vYmV0YS11aS91aS9mb3Jtcy9keW5hbWljLWZvcm0tY29udHJvbC9keW5hbWljLWZvcm0tY29udHJvbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQVd6RDs7R0FFRztBQUNILE1BQU0sT0FBTyw2QkFBNkI7SUFDL0IsSUFBSSxDQUF5QjtJQUM3QixJQUFJLENBQW1CO0lBRWhDLElBQUksSUFBSSxLQUF5QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUF1QixDQUFDLENBQUMsQ0FBQztJQUU3RixRQUFRLENBQUMsQ0FBQztRQUNSLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDL0IsQ0FBQzt1R0FSVSw2QkFBNkI7MkZBQTdCLDZCQUE2QixrSkNkMUMsaXVCQXlCQTs7MkZEWGEsNkJBQTZCO2tCQVZ6QyxTQUFTOytCQUNFLHlCQUF5QixRQUU3Qjt3QkFDSixLQUFLLEVBQUUsZUFBZTtxQkFDdkI7OEJBTVEsSUFBSTtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSWJGb3JtQ29udHJvbEJhc2UgfSBmcm9tICcuLi9jb250cm9scy9mb3JtLWNvbnRyb2wtYmFzZSc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUdyb3VwLCBVbnR5cGVkRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2liLWR5bmFtaWMtZm9ybS1jb250cm9sJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2R5bmFtaWMtZm9ybS1jb250cm9sLmNvbXBvbmVudC5odG1sJyxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnaWJGb3JtQ29udHJvbCdcbiAgfSxcbn0pXG4vKipcbiAqIEBkZXByZWNhdGVkIERvIG5vdCB1c2UgdGhpcyBjb21wb25lbnQuIEl0IHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSByZWxlYXNlXG4gKi9cbmV4cG9ydCBjbGFzcyBJYkR5bmFtaWNGb3JtQ29udHJvbENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGJhc2U6IEliRm9ybUNvbnRyb2xCYXNlPGFueT47XG4gIEBJbnB1dCgpIGZvcm06IFVudHlwZWRGb3JtR3JvdXA7XG5cbiAgZ2V0IHNlbGYoKTogVW50eXBlZEZvcm1Db250cm9sIHsgcmV0dXJuIHRoaXMuZm9ybS5nZXQodGhpcy5iYXNlLmtleSkgYXMgVW50eXBlZEZvcm1Db250cm9sOyB9XG5cbiAgaGFzRXJyb3IoZSkge1xuICAgIHJldHVybiB0aGlzLnNlbGYuaGFzRXJyb3IoZSk7XG4gIH1cbn1cbiIsIjxkaXYgW2Zvcm1Hcm91cF09XCJmb3JtXCI+XG4gIDxsYWJlbCBbYXR0ci5mb3JdPVwiYmFzZS5rZXlcIiBjbGFzcz1cImliRm9ybUNvbnRyb2wtbGFiZWxcIj57e2Jhc2UubGFiZWx9fTwvbGFiZWw+XG5cbiAgPGRpdiBbbmdTd2l0Y2hdPVwiYmFzZS5jb250cm9sVHlwZVwiPlxuXG4gICAgPGlucHV0XG4gICAgICBbbmdTd2l0Y2hdPVwiYmFzZS5jb250cm9sVHlwZVwiXG4gICAgICAqbmdTd2l0Y2hDYXNlPVwiJ3RleHRib3gnXCJcbiAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiYmFzZS5rZXlcIlxuICAgICAgW3R5cGVdPVwiYmFzZS50eXBlXCJcbiAgICAgIChrZXl1cCk9XCJiYXNlLmNoYW5nZShzZWxmKVwiXG4gICAgPlxuXG4gICAgPHNlbGVjdFxuICAgICAgKm5nU3dpdGNoQ2FzZT1cIidkcm9wZG93bidcIlxuICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJiYXNlLmtleVwiXG4gICAgICAoY2hhbmdlKT1cImJhc2UuY2hhbmdlKHNlbGYpXCJcbiAgICA+XG4gICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBvcHQgb2YgYmFzZS5vcHRpb25zXCIgW3ZhbHVlXT1cIm9wdC5rZXlcIj57e29wdC52YWx1ZX19PC9vcHRpb24+XG4gICAgPC9zZWxlY3Q+XG5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImliRm9ybUNvbnRyb2wtZXJyb3JNZXNzYWdlXCIgKm5nSWY9XCJzZWxmLmludmFsaWQgJiYgc2VsZi5kaXJ0eVwiPnt7YmFzZS5sYWJlbH19IGlzIHJlcXVpcmVkPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { Injectable } from "@angular/core";
|
|
2
|
+
import { IbFormControlBase } from "./controls/form-control-base";
|
|
3
|
+
import { UntypedFormControl, Validators, UntypedFormGroup, UntypedFormArray, } from "@angular/forms";
|
|
4
|
+
import { IbFormArray } from "./array/array";
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class IbFormControlService {
|
|
7
|
+
constructor() { }
|
|
8
|
+
toFormGroup(fields) {
|
|
9
|
+
const group = new UntypedFormGroup({});
|
|
10
|
+
for (const field of fields) {
|
|
11
|
+
if (!field.key) {
|
|
12
|
+
continue;
|
|
13
|
+
}
|
|
14
|
+
if (field instanceof IbFormControlBase) {
|
|
15
|
+
group.addControl(field.key, this.toControl(field));
|
|
16
|
+
}
|
|
17
|
+
if (field instanceof IbFormArray) {
|
|
18
|
+
group.addControl(field.key, this.toFormArray(field));
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
return group;
|
|
22
|
+
}
|
|
23
|
+
toControl(field) {
|
|
24
|
+
const elem = {
|
|
25
|
+
value: field.value === undefined ? null : field.value,
|
|
26
|
+
disabled: field.disabled,
|
|
27
|
+
};
|
|
28
|
+
let validators = [];
|
|
29
|
+
if (field.validators && field.validators.length) {
|
|
30
|
+
validators = validators.concat(field.validators);
|
|
31
|
+
}
|
|
32
|
+
if (field.required) {
|
|
33
|
+
validators.push(Validators.required);
|
|
34
|
+
}
|
|
35
|
+
return new UntypedFormControl(elem, validators);
|
|
36
|
+
}
|
|
37
|
+
toFormArray(source) {
|
|
38
|
+
const formArray = new UntypedFormArray([]);
|
|
39
|
+
const patchValue = formArray.patchValue;
|
|
40
|
+
formArray.patchValue = (value, options) => {
|
|
41
|
+
formArray.controls = [];
|
|
42
|
+
let i = Math.min(Math.max(value.length, 0), source.options.max);
|
|
43
|
+
while (i--) {
|
|
44
|
+
formArray.push(this.toFormGroup(source.fields));
|
|
45
|
+
}
|
|
46
|
+
patchValue.call(formArray, value, options);
|
|
47
|
+
};
|
|
48
|
+
return formArray;
|
|
49
|
+
}
|
|
50
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbFormControlService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
51
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbFormControlService, providedIn: "root" });
|
|
52
|
+
}
|
|
53
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbFormControlService, decorators: [{
|
|
54
|
+
type: Injectable,
|
|
55
|
+
args: [{ providedIn: "root" }]
|
|
56
|
+
}], ctorParameters: () => [] });
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1jb250cm9sLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2lub2JldGEtdWkvdWkvZm9ybXMvZm9ybS1jb250cm9sLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNqRSxPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLFVBQVUsRUFDVixnQkFBZ0IsRUFDaEIsZ0JBQWdCLEdBQ2pCLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHNUMsTUFBTSxPQUFPLG9CQUFvQjtJQUMvQixnQkFBZSxDQUFDO0lBRWhCLFdBQVcsQ0FBQyxNQUFxQjtRQUMvQixNQUFNLEtBQUssR0FBRyxJQUFJLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRXZDLEtBQUssTUFBTSxLQUFLLElBQUksTUFBTSxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDZixTQUFTO1lBQ1gsQ0FBQztZQUVELElBQUksS0FBSyxZQUFZLGlCQUFpQixFQUFFLENBQUM7Z0JBQ3ZDLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7WUFDcEQsQ0FBQztZQUVELElBQUksS0FBSyxZQUFZLFdBQVcsRUFBRSxDQUFDO2dCQUNqQyxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQ3ZELENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQTZCO1FBQ3JDLE1BQU0sSUFBSSxHQUFHO1lBQ1gsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLO1lBQ3JELFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTtTQUN6QixDQUFDO1FBQ0YsSUFBSSxVQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLElBQUksS0FBSyxDQUFDLFVBQVUsSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2hELFVBQVUsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNuRCxDQUFDO1FBQ0QsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbkIsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdkMsQ0FBQztRQUNELE9BQU8sSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUE7SUFDakQsQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUFtQjtRQUM3QixNQUFNLFNBQVMsR0FBRyxJQUFJLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzNDLE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQyxVQUFVLENBQUM7UUFDeEMsU0FBUyxDQUFDLFVBQVUsR0FBRyxDQUFDLEtBQVksRUFBRSxPQUFPLEVBQUUsRUFBRTtZQUMvQyxTQUFTLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2hFLE9BQU8sQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDWCxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDbEQsQ0FBQztZQUNELFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztRQUM3QyxDQUFDLENBQUE7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO3VHQWxEVSxvQkFBb0I7MkdBQXBCLG9CQUFvQixjQURQLE1BQU07OzJGQUNuQixvQkFBb0I7a0JBRGhDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBJYkZvcm1Db250cm9sQmFzZSB9IGZyb20gXCIuL2NvbnRyb2xzL2Zvcm0tY29udHJvbC1iYXNlXCI7XG5pbXBvcnQge1xuICBVbnR5cGVkRm9ybUNvbnRyb2wsXG4gIFZhbGlkYXRvcnMsXG4gIFVudHlwZWRGb3JtR3JvdXAsXG4gIFVudHlwZWRGb3JtQXJyYXksXG59IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgSWJGb3JtRmllbGQgfSBmcm9tIFwiLi9mb3Jtcy50eXBlc1wiO1xuaW1wb3J0IHsgSWJGb3JtQXJyYXkgfSBmcm9tIFwiLi9hcnJheS9hcnJheVwiO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46IFwicm9vdFwiIH0pXG5leHBvcnQgY2xhc3MgSWJGb3JtQ29udHJvbFNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgdG9Gb3JtR3JvdXAoZmllbGRzOiBJYkZvcm1GaWVsZFtdKSB7XG4gICAgY29uc3QgZ3JvdXAgPSBuZXcgVW50eXBlZEZvcm1Hcm91cCh7fSk7XG5cbiAgICBmb3IgKGNvbnN0IGZpZWxkIG9mIGZpZWxkcykge1xuICAgICAgaWYgKCFmaWVsZC5rZXkpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBcbiAgICAgIGlmIChmaWVsZCBpbnN0YW5jZW9mIEliRm9ybUNvbnRyb2xCYXNlKSB7XG4gICAgICAgIGdyb3VwLmFkZENvbnRyb2woZmllbGQua2V5LCB0aGlzLnRvQ29udHJvbChmaWVsZCkpXG4gICAgICB9XG5cbiAgICAgIGlmIChmaWVsZCBpbnN0YW5jZW9mIEliRm9ybUFycmF5KSB7XG4gICAgICAgIGdyb3VwLmFkZENvbnRyb2woZmllbGQua2V5LCB0aGlzLnRvRm9ybUFycmF5KGZpZWxkKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGdyb3VwO1xuICB9XG5cbiAgdG9Db250cm9sKGZpZWxkOiBJYkZvcm1Db250cm9sQmFzZTxhbnk+KSB7XG4gICAgY29uc3QgZWxlbSA9IHtcbiAgICAgIHZhbHVlOiBmaWVsZC52YWx1ZSA9PT0gdW5kZWZpbmVkID8gbnVsbCA6IGZpZWxkLnZhbHVlLFxuICAgICAgZGlzYWJsZWQ6IGZpZWxkLmRpc2FibGVkLFxuICAgIH07XG4gICAgbGV0IHZhbGlkYXRvcnMgPSBbXTtcbiAgICBpZiAoZmllbGQudmFsaWRhdG9ycyAmJiBmaWVsZC52YWxpZGF0b3JzLmxlbmd0aCkge1xuICAgICAgdmFsaWRhdG9ycyA9IHZhbGlkYXRvcnMuY29uY2F0KGZpZWxkLnZhbGlkYXRvcnMpO1xuICAgIH1cbiAgICBpZiAoZmllbGQucmVxdWlyZWQpIHtcbiAgICAgIHZhbGlkYXRvcnMucHVzaChWYWxpZGF0b3JzLnJlcXVpcmVkKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woZWxlbSwgdmFsaWRhdG9ycylcbiAgfVxuXG4gIHRvRm9ybUFycmF5KHNvdXJjZTogSWJGb3JtQXJyYXkpIHtcbiAgICBjb25zdCBmb3JtQXJyYXkgPSBuZXcgVW50eXBlZEZvcm1BcnJheShbXSk7XG4gICAgY29uc3QgcGF0Y2hWYWx1ZSA9IGZvcm1BcnJheS5wYXRjaFZhbHVlO1xuICAgIGZvcm1BcnJheS5wYXRjaFZhbHVlID0gKHZhbHVlOiBhbnlbXSwgb3B0aW9ucykgPT4ge1xuICAgICAgZm9ybUFycmF5LmNvbnRyb2xzID0gW107XG4gICAgICBsZXQgaSA9IE1hdGgubWluKE1hdGgubWF4KHZhbHVlLmxlbmd0aCwgMCksIHNvdXJjZS5vcHRpb25zLm1heCk7XG4gICAgICB3aGlsZSAoaS0tKSB7XG4gICAgICAgIGZvcm1BcnJheS5wdXNoKHRoaXMudG9Gb3JtR3JvdXAoc291cmNlLmZpZWxkcykpO1xuICAgICAgfVxuICAgICAgcGF0Y2hWYWx1ZS5jYWxsKGZvcm1BcnJheSwgdmFsdWUsIG9wdGlvbnMpO1xuICAgIH1cbiAgICByZXR1cm4gZm9ybUFycmF5O1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { CommonModule } from "@angular/common";
|
|
2
|
+
import { NgModule } from "@angular/core";
|
|
3
|
+
import { ReactiveFormsModule } from "@angular/forms";
|
|
4
|
+
import { IbDynamicFormArrayComponent } from "./dynamic-form-array/dynamic-form-array.component";
|
|
5
|
+
import { IbDynamicFormControlComponent } from "./dynamic-form-control/dynamic-form-control.component";
|
|
6
|
+
import { IbDynamicFormComponent } from "./dynamic-form/dynamic-form.component";
|
|
7
|
+
import { IbFormControlService } from "./form-control.service";
|
|
8
|
+
import { IbFormPipeModule } from "./forms.pipes";
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
export class IbDynamicFormsModule {
|
|
11
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbDynamicFormsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
12
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.1", ngImport: i0, type: IbDynamicFormsModule, declarations: [IbDynamicFormControlComponent,
|
|
13
|
+
IbDynamicFormComponent,
|
|
14
|
+
IbDynamicFormArrayComponent], imports: [CommonModule, ReactiveFormsModule, IbFormPipeModule], exports: [IbDynamicFormComponent,
|
|
15
|
+
IbDynamicFormControlComponent,
|
|
16
|
+
IbDynamicFormArrayComponent] });
|
|
17
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbDynamicFormsModule, providers: [IbFormControlService], imports: [CommonModule, ReactiveFormsModule, IbFormPipeModule] });
|
|
18
|
+
}
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbDynamicFormsModule, decorators: [{
|
|
20
|
+
type: NgModule,
|
|
21
|
+
args: [{
|
|
22
|
+
declarations: [
|
|
23
|
+
IbDynamicFormControlComponent,
|
|
24
|
+
IbDynamicFormComponent,
|
|
25
|
+
IbDynamicFormArrayComponent,
|
|
26
|
+
],
|
|
27
|
+
imports: [CommonModule, ReactiveFormsModule, IbFormPipeModule],
|
|
28
|
+
providers: [IbFormControlService],
|
|
29
|
+
exports: [
|
|
30
|
+
IbDynamicFormComponent,
|
|
31
|
+
IbDynamicFormControlComponent,
|
|
32
|
+
IbDynamicFormArrayComponent,
|
|
33
|
+
],
|
|
34
|
+
}]
|
|
35
|
+
}] });
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9pbm9iZXRhLXVpL3VpL2Zvcm1zL2Zvcm1zLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUNoRyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUN0RyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBZ0JqRCxNQUFNLE9BQU8sb0JBQW9CO3VHQUFwQixvQkFBb0I7d0dBQXBCLG9CQUFvQixpQkFaN0IsNkJBQTZCO1lBQzdCLHNCQUFzQjtZQUN0QiwyQkFBMkIsYUFFbkIsWUFBWSxFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixhQUczRCxzQkFBc0I7WUFDdEIsNkJBQTZCO1lBQzdCLDJCQUEyQjt3R0FHbEIsb0JBQW9CLGFBUHBCLENBQUMsb0JBQW9CLENBQUMsWUFEdkIsWUFBWSxFQUFFLG1CQUFtQixFQUFFLGdCQUFnQjs7MkZBUWxELG9CQUFvQjtrQkFkaEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osNkJBQTZCO3dCQUM3QixzQkFBc0I7d0JBQ3RCLDJCQUEyQjtxQkFDNUI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixDQUFDO29CQUM5RCxTQUFTLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztvQkFDakMsT0FBTyxFQUFFO3dCQUNQLHNCQUFzQjt3QkFDdEIsNkJBQTZCO3dCQUM3QiwyQkFBMkI7cUJBQzVCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgSWJEeW5hbWljRm9ybUFycmF5Q29tcG9uZW50IH0gZnJvbSBcIi4vZHluYW1pYy1mb3JtLWFycmF5L2R5bmFtaWMtZm9ybS1hcnJheS5jb21wb25lbnRcIjtcbmltcG9ydCB7IEliRHluYW1pY0Zvcm1Db250cm9sQ29tcG9uZW50IH0gZnJvbSBcIi4vZHluYW1pYy1mb3JtLWNvbnRyb2wvZHluYW1pYy1mb3JtLWNvbnRyb2wuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBJYkR5bmFtaWNGb3JtQ29tcG9uZW50IH0gZnJvbSBcIi4vZHluYW1pYy1mb3JtL2R5bmFtaWMtZm9ybS5jb21wb25lbnRcIjtcbmltcG9ydCB7IEliRm9ybUNvbnRyb2xTZXJ2aWNlIH0gZnJvbSBcIi4vZm9ybS1jb250cm9sLnNlcnZpY2VcIjtcbmltcG9ydCB7IEliRm9ybVBpcGVNb2R1bGUgfSBmcm9tIFwiLi9mb3Jtcy5waXBlc1wiO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBJYkR5bmFtaWNGb3JtQ29udHJvbENvbXBvbmVudCxcbiAgICBJYkR5bmFtaWNGb3JtQ29tcG9uZW50LFxuICAgIEliRHluYW1pY0Zvcm1BcnJheUNvbXBvbmVudCxcbiAgXSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgSWJGb3JtUGlwZU1vZHVsZV0sXG4gIHByb3ZpZGVyczogW0liRm9ybUNvbnRyb2xTZXJ2aWNlXSxcbiAgZXhwb3J0czogW1xuICAgIEliRHluYW1pY0Zvcm1Db21wb25lbnQsXG4gICAgSWJEeW5hbWljRm9ybUNvbnRyb2xDb21wb25lbnQsXG4gICAgSWJEeW5hbWljRm9ybUFycmF5Q29tcG9uZW50LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBJYkR5bmFtaWNGb3Jtc01vZHVsZSB7fVxuIl19
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { NgModule, Pipe } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class IbFormControlPipe {
|
|
4
|
+
transform(value) {
|
|
5
|
+
return value;
|
|
6
|
+
}
|
|
7
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbFormControlPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
8
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.1.1", ngImport: i0, type: IbFormControlPipe, name: "asFormControl" });
|
|
9
|
+
}
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbFormControlPipe, decorators: [{
|
|
11
|
+
type: Pipe,
|
|
12
|
+
args: [{
|
|
13
|
+
name: 'asFormControl'
|
|
14
|
+
}]
|
|
15
|
+
}] });
|
|
16
|
+
export class IbFormArrayPipe {
|
|
17
|
+
transform(value) {
|
|
18
|
+
return value;
|
|
19
|
+
}
|
|
20
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbFormArrayPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
21
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.1.1", ngImport: i0, type: IbFormArrayPipe, name: "asFormArray" });
|
|
22
|
+
}
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbFormArrayPipe, decorators: [{
|
|
24
|
+
type: Pipe,
|
|
25
|
+
args: [{
|
|
26
|
+
name: 'asFormArray',
|
|
27
|
+
}]
|
|
28
|
+
}] });
|
|
29
|
+
export class IbFormPipeModule {
|
|
30
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbFormPipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
31
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.1", ngImport: i0, type: IbFormPipeModule, declarations: [IbFormArrayPipe, IbFormControlPipe], exports: [IbFormArrayPipe, IbFormControlPipe] });
|
|
32
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbFormPipeModule });
|
|
33
|
+
}
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbFormPipeModule, decorators: [{
|
|
35
|
+
type: NgModule,
|
|
36
|
+
args: [{
|
|
37
|
+
exports: [IbFormArrayPipe, IbFormControlPipe],
|
|
38
|
+
declarations: [IbFormArrayPipe, IbFormControlPipe],
|
|
39
|
+
}]
|
|
40
|
+
}] });
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybXMucGlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2lub2JldGEtdWkvdWkvZm9ybXMvZm9ybXMucGlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQVE5RCxNQUFNLE9BQU8saUJBQWlCO0lBQzVCLFNBQVMsQ0FBQyxLQUFrQjtRQUMxQixPQUFPLEtBQWtDLENBQUM7SUFDNUMsQ0FBQzt1R0FIVSxpQkFBaUI7cUdBQWpCLGlCQUFpQjs7MkZBQWpCLGlCQUFpQjtrQkFIN0IsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsZUFBZTtpQkFDdEI7O0FBVUQsTUFBTSxPQUFPLGVBQWU7SUFDMUIsU0FBUyxDQUFDLEtBQWtCO1FBQzFCLE9BQU8sS0FBb0IsQ0FBQztJQUM5QixDQUFDO3VHQUhVLGVBQWU7cUdBQWYsZUFBZTs7MkZBQWYsZUFBZTtrQkFIM0IsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsYUFBYTtpQkFDcEI7O0FBV0QsTUFBTSxPQUFPLGdCQUFnQjt1R0FBaEIsZ0JBQWdCO3dHQUFoQixnQkFBZ0IsaUJBVmhCLGVBQWUsRUFUZixpQkFBaUIsYUFTakIsZUFBZSxFQVRmLGlCQUFpQjt3R0FtQmpCLGdCQUFnQjs7MkZBQWhCLGdCQUFnQjtrQkFKNUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxlQUFlLEVBQUUsaUJBQWlCLENBQUM7b0JBQzdDLFlBQVksRUFBRSxDQUFDLGVBQWUsRUFBRSxpQkFBaUIsQ0FBQztpQkFDbkQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSWJGb3JtQXJyYXkgfSBmcm9tICcuL2FycmF5L2FycmF5JztcbmltcG9ydCB7IEliRm9ybUNvbnRyb2xCYXNlIH0gZnJvbSAnLi9jb250cm9scy9mb3JtLWNvbnRyb2wtYmFzZSc7XG5pbXBvcnQgeyBJYkZvcm1GaWVsZCB9IGZyb20gJy4vZm9ybXMudHlwZXMnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdhc0Zvcm1Db250cm9sJ1xufSlcbmV4cG9ydCBjbGFzcyBJYkZvcm1Db250cm9sUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm0odmFsdWU6IEliRm9ybUZpZWxkKTogSWJGb3JtQ29udHJvbEJhc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHZhbHVlIGFzIEliRm9ybUNvbnRyb2xCYXNlPHN0cmluZz47XG4gIH1cbn1cblxuQFBpcGUoe1xuICBuYW1lOiAnYXNGb3JtQXJyYXknLFxufSlcbmV4cG9ydCBjbGFzcyBJYkZvcm1BcnJheVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtKHZhbHVlOiBJYkZvcm1GaWVsZCk6IEliRm9ybUFycmF5IHtcbiAgICByZXR1cm4gdmFsdWUgYXMgSWJGb3JtQXJyYXk7XG4gIH1cbn1cblxuQE5nTW9kdWxlKHtcbiAgZXhwb3J0czogW0liRm9ybUFycmF5UGlwZSwgSWJGb3JtQ29udHJvbFBpcGVdLFxuICBkZWNsYXJhdGlvbnM6IFtJYkZvcm1BcnJheVBpcGUsIEliRm9ybUNvbnRyb2xQaXBlXSxcbn0pXG5leHBvcnQgY2xhc3MgSWJGb3JtUGlwZU1vZHVsZSB7IH1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybXMudHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2lub2JldGEtdWkvdWkvZm9ybXMvZm9ybXMudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEliRm9ybUFycmF5IH0gZnJvbSBcIi4vYXJyYXkvYXJyYXlcIjtcbmltcG9ydCB7IEliRm9ybUNvbnRyb2xCYXNlIH0gZnJvbSBcIi4vY29udHJvbHMvZm9ybS1jb250cm9sLWJhc2VcIjtcblxuZXhwb3J0IHR5cGUgSWJGb3JtRmllbGQgPSBJYkZvcm1Db250cm9sQmFzZTxhbnk+IHwgSWJGb3JtQXJyYXk7Il19
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export * from "./array/array";
|
|
2
|
+
export * from "./controls/checkbox";
|
|
3
|
+
export * from "./controls/dropdown";
|
|
4
|
+
export * from "./controls/form-control-base";
|
|
5
|
+
export * from "./controls/radio";
|
|
6
|
+
export * from "./controls/textbox";
|
|
7
|
+
export * from "./dynamic-form-array/dynamic-form-array.component";
|
|
8
|
+
export * from "./dynamic-form-control/dynamic-form-control.component";
|
|
9
|
+
export * from "./dynamic-form/dynamic-form.component";
|
|
10
|
+
export * from "./form-control.service";
|
|
11
|
+
export * from "./forms.module";
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2lub2JldGEtdWkvdWkvZm9ybXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyx1REFBdUQsQ0FBQztBQUN0RSxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2FycmF5L2FycmF5XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb250cm9scy9jaGVja2JveFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29udHJvbHMvZHJvcGRvd25cIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbnRyb2xzL2Zvcm0tY29udHJvbC1iYXNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb250cm9scy9yYWRpb1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29udHJvbHMvdGV4dGJveFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZHluYW1pYy1mb3JtLWFycmF5L2R5bmFtaWMtZm9ybS1hcnJheS5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2R5bmFtaWMtZm9ybS1jb250cm9sL2R5bmFtaWMtZm9ybS1jb250cm9sLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZHluYW1pYy1mb3JtL2R5bmFtaWMtZm9ybS5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Zvcm0tY29udHJvbC5zZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9mb3Jtcy5tb2R1bGVcIjtcbiJdfQ==
|
package/esm2022/src/app/inobeta-ui/ui/kai-filter/filter-button/filter-action-group.component.mjs
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Directive } from "@angular/core";
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class IbFilterActionGroup {
|
|
4
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbFilterActionGroup, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
5
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.1", type: IbFilterActionGroup, isStandalone: true, selector: "ib-filter-action-group", ngImport: i0 });
|
|
6
|
+
}
|
|
7
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbFilterActionGroup, decorators: [{
|
|
8
|
+
type: Directive,
|
|
9
|
+
args: [{
|
|
10
|
+
standalone: true,
|
|
11
|
+
selector: "ib-filter-action-group",
|
|
12
|
+
}]
|
|
13
|
+
}] });
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWFjdGlvbi1ncm91cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2lub2JldGEtdWkvdWkva2FpLWZpbHRlci9maWx0ZXItYnV0dG9uL2ZpbHRlci1hY3Rpb24tZ3JvdXAuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTTFDLE1BQU0sT0FBTyxtQkFBbUI7dUdBQW5CLG1CQUFtQjsyRkFBbkIsbUJBQW1COzsyRkFBbkIsbUJBQW1CO2tCQUovQixTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsd0JBQXdCO2lCQUNuQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogXCJpYi1maWx0ZXItYWN0aW9uLWdyb3VwXCIsXG59KVxuZXhwb3J0IGNsYXNzIEliRmlsdGVyQWN0aW9uR3JvdXAge31cbiJdfQ==
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Component, ViewChild } from "@angular/core";
|
|
2
|
+
import { MatButtonModule } from "@angular/material/button";
|
|
3
|
+
import { MatDividerModule } from "@angular/material/divider";
|
|
4
|
+
import { MatIconModule } from "@angular/material/icon";
|
|
5
|
+
import { MatMenuModule, MatMenuTrigger } from "@angular/material/menu";
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/material/button";
|
|
8
|
+
import * as i2 from "@angular/material/icon";
|
|
9
|
+
import * as i3 from "@angular/material/menu";
|
|
10
|
+
import * as i4 from "@angular/material/divider";
|
|
11
|
+
export class IbFilterButton {
|
|
12
|
+
trigger;
|
|
13
|
+
closeMenu() {
|
|
14
|
+
this.trigger.closeMenu();
|
|
15
|
+
}
|
|
16
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbFilterButton, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
17
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: IbFilterButton, isStandalone: true, selector: "ib-filter-button", viewQueries: [{ propertyName: "trigger", first: true, predicate: MatMenuTrigger, descendants: true }], ngImport: i0, template: "<button class=\"ib-filter-button\" [matMenuTriggerFor]=\"menu\" mat-stroked-button>\n <section>\n <ng-content select=\"[ib-filter-name]\"></ng-content>\n <ng-content select=\"[ib-filter-value]\"></ng-content>\n </section>\n <mat-icon iconPositionEnd>arrow_drop_down</mat-icon>\n</button>\n\n<mat-menu #menu=\"matMenu\">\n <section (click)=\"$event.stopPropagation();\" style=\"display:flex;flex-direction: column; width: 280px\">\n <ng-content></ng-content>\n <mat-divider></mat-divider>\n <section style=\"display:flex; justify-content: flex-end; margin-right: 1em; margin-top: 0.5em\">\n <ng-content select=\"ib-filter-action-group\"></ng-content>\n </section>\n </section>\n</mat-menu>", dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i3.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "directive", type: i3.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i4.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }] });
|
|
18
|
+
}
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbFilterButton, decorators: [{
|
|
20
|
+
type: Component,
|
|
21
|
+
args: [{ standalone: true, imports: [
|
|
22
|
+
MatButtonModule,
|
|
23
|
+
MatIconModule,
|
|
24
|
+
MatMenuModule,
|
|
25
|
+
MatDividerModule
|
|
26
|
+
], selector: "ib-filter-button", template: "<button class=\"ib-filter-button\" [matMenuTriggerFor]=\"menu\" mat-stroked-button>\n <section>\n <ng-content select=\"[ib-filter-name]\"></ng-content>\n <ng-content select=\"[ib-filter-value]\"></ng-content>\n </section>\n <mat-icon iconPositionEnd>arrow_drop_down</mat-icon>\n</button>\n\n<mat-menu #menu=\"matMenu\">\n <section (click)=\"$event.stopPropagation();\" style=\"display:flex;flex-direction: column; width: 280px\">\n <ng-content></ng-content>\n <mat-divider></mat-divider>\n <section style=\"display:flex; justify-content: flex-end; margin-right: 1em; margin-top: 0.5em\">\n <ng-content select=\"ib-filter-action-group\"></ng-content>\n </section>\n </section>\n</mat-menu>" }]
|
|
27
|
+
}], propDecorators: { trigger: [{
|
|
28
|
+
type: ViewChild,
|
|
29
|
+
args: [MatMenuTrigger]
|
|
30
|
+
}] } });
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2lub2JldGEtdWkvdWkva2FpLWZpbHRlci9maWx0ZXItYnV0dG9uL2ZpbHRlci1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9pbm9iZXRhLXVpL3VpL2thaS1maWx0ZXIvZmlsdGVyLWJ1dHRvbi9maWx0ZXItYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7O0FBYXZFLE1BQU0sT0FBTyxjQUFjO0lBQ0UsT0FBTyxDQUFpQjtJQUVuRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUMzQixDQUFDO3VHQUxVLGNBQWM7MkZBQWQsY0FBYyxxSEFDZCxjQUFjLGdEQ2xCM0IsOHNCQWdCVywyQ0RQUCxlQUFlLDJOQUNmLGFBQWEsbUxBQ2IsYUFBYSx5bUJBQ2IsZ0JBQWdCOzsyRkFLUCxjQUFjO2tCQVgxQixTQUFTO2lDQUNJLElBQUksV0FDUDt3QkFDUCxlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixnQkFBZ0I7cUJBQ2pCLFlBQ1Msa0JBQWtCOzhCQUlELE9BQU87c0JBQWpDLFNBQVM7dUJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9idXR0b25cIjtcbmltcG9ydCB7IE1hdERpdmlkZXJNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlclwiO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9pY29uXCI7XG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlLCBNYXRNZW51VHJpZ2dlciB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9tZW51XCI7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0TWVudU1vZHVsZSxcbiAgICBNYXREaXZpZGVyTW9kdWxlXG4gIF0sXG4gIHNlbGVjdG9yOiBcImliLWZpbHRlci1idXR0b25cIixcbiAgdGVtcGxhdGVVcmw6IFwiZmlsdGVyLWJ1dHRvbi5jb21wb25lbnQuaHRtbFwiLFxufSlcbmV4cG9ydCBjbGFzcyBJYkZpbHRlckJ1dHRvbiB7XG4gIEBWaWV3Q2hpbGQoTWF0TWVudVRyaWdnZXIpIHRyaWdnZXI6IE1hdE1lbnVUcmlnZ2VyO1xuXG4gIGNsb3NlTWVudSgpIHtcbiAgICB0aGlzLnRyaWdnZXIuY2xvc2VNZW51KCk7XG4gIH1cbn1cbiIsIjxidXR0b24gY2xhc3M9XCJpYi1maWx0ZXItYnV0dG9uXCIgW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIiBtYXQtc3Ryb2tlZC1idXR0b24+XG4gIDxzZWN0aW9uPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltpYi1maWx0ZXItbmFtZV1cIj48L25nLWNvbnRlbnQ+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2liLWZpbHRlci12YWx1ZV1cIj48L25nLWNvbnRlbnQ+XG4gIDwvc2VjdGlvbj5cbiAgPG1hdC1pY29uIGljb25Qb3NpdGlvbkVuZD5hcnJvd19kcm9wX2Rvd248L21hdC1pY29uPlxuPC9idXR0b24+XG5cbjxtYXQtbWVudSAjbWVudT1cIm1hdE1lbnVcIj5cbiAgPHNlY3Rpb24gKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcIiBzdHlsZT1cImRpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB3aWR0aDogMjgwcHhcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG4gICAgPHNlY3Rpb24gc3R5bGU9XCJkaXNwbGF5OmZsZXg7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IG1hcmdpbi1yaWdodDogMWVtOyBtYXJnaW4tdG9wOiAwLjVlbVwiPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiaWItZmlsdGVyLWFjdGlvbi1ncm91cFwiPjwvbmctY29udGVudD5cbiAgICA8L3NlY3Rpb24+XG4gIDwvc2VjdGlvbj5cbjwvbWF0LW1lbnU+Il19
|