@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,205 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { IbFormControlBase, IbFormControlBaseComponent } from '../../forms/controls/form-control-base';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
import * as i2 from "@angular/forms";
|
|
6
|
+
import * as i3 from "@angular/material/form-field";
|
|
7
|
+
import * as i4 from "@angular/material/input";
|
|
8
|
+
import * as i5 from "@angular/material/icon";
|
|
9
|
+
import * as i6 from "@angular/material/tooltip";
|
|
10
|
+
import * as i7 from "@ngx-translate/core";
|
|
11
|
+
export class IbMatTextboxComponent {
|
|
12
|
+
data;
|
|
13
|
+
get hintMessage() {
|
|
14
|
+
return (this.data.base.hintMessage) ? this.data.base.hintMessage() : null;
|
|
15
|
+
}
|
|
16
|
+
get minValidator() {
|
|
17
|
+
for (const func of this.data.base.validators) {
|
|
18
|
+
const validation = func({ value: -Infinity });
|
|
19
|
+
if (validation && validation.min) {
|
|
20
|
+
return validation.min.min;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
get maxValidator() {
|
|
26
|
+
for (const func of this.data.base.validators) {
|
|
27
|
+
const validation = func({ value: Infinity });
|
|
28
|
+
if (validation && validation.max) {
|
|
29
|
+
return validation.max.max;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
get maxLengthValidator() {
|
|
35
|
+
for (const func of this.data.base.validators) {
|
|
36
|
+
const getMethods = (obj) => {
|
|
37
|
+
let properties = new Set();
|
|
38
|
+
let currentObj = obj;
|
|
39
|
+
do {
|
|
40
|
+
Object.getOwnPropertyNames(currentObj).map(item => properties.add(item));
|
|
41
|
+
} while ((currentObj = Object.getPrototypeOf(currentObj)));
|
|
42
|
+
return [...properties.keys()].filter((item) => typeof obj[item] === 'function');
|
|
43
|
+
};
|
|
44
|
+
const sampleString = this.data.self.value;
|
|
45
|
+
if (!sampleString)
|
|
46
|
+
return Infinity;
|
|
47
|
+
const methods = getMethods(sampleString);
|
|
48
|
+
const fakeString = {};
|
|
49
|
+
for (let m of methods) {
|
|
50
|
+
fakeString[m] = sampleString[m].bind(sampleString);
|
|
51
|
+
}
|
|
52
|
+
fakeString['length'] = Infinity;
|
|
53
|
+
const validation = func({ value: fakeString });
|
|
54
|
+
if (validation && validation.maxlength) {
|
|
55
|
+
return validation.maxlength.requiredLength;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return Infinity;
|
|
59
|
+
}
|
|
60
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbMatTextboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
61
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: IbMatTextboxComponent, selector: "[ib-mat-textbox]", inputs: { data: "data" }, ngImport: i0, template: `
|
|
62
|
+
<mat-form-field appearance="fill" style="width: 100%;" [formGroup]="data.form">
|
|
63
|
+
<mat-label>{{data.base.label | translate}}</mat-label>
|
|
64
|
+
<!--
|
|
65
|
+
https://github.com/angular/angular/issues/13243
|
|
66
|
+
type is not dynamic (see angular issue)
|
|
67
|
+
-->
|
|
68
|
+
<input
|
|
69
|
+
matInput
|
|
70
|
+
*ngIf="data.base.type === 'number'"
|
|
71
|
+
[formControlName]="data.base.key"
|
|
72
|
+
[min]="minValidator"
|
|
73
|
+
[max]="maxValidator"
|
|
74
|
+
type="number"
|
|
75
|
+
(keyup)="data.base.change(data.self)"
|
|
76
|
+
(input)="data.base.change(data.self)"
|
|
77
|
+
/>
|
|
78
|
+
<input
|
|
79
|
+
matInput
|
|
80
|
+
*ngIf="data.base.type === 'text'"
|
|
81
|
+
[formControlName]="data.base.key"
|
|
82
|
+
[maxlength]="maxLengthValidator"
|
|
83
|
+
type="text"
|
|
84
|
+
(keyup)="data.base.change(data.self)"
|
|
85
|
+
(change)="data.base.change(data.self)"
|
|
86
|
+
/>
|
|
87
|
+
<input
|
|
88
|
+
matInput
|
|
89
|
+
*ngIf="data.base.type === 'email'"
|
|
90
|
+
[formControlName]="data.base.key"
|
|
91
|
+
type="email"
|
|
92
|
+
(keyup)="data.base.change(data.self)"
|
|
93
|
+
(change)="data.base.change(data.self)"
|
|
94
|
+
/>
|
|
95
|
+
<input
|
|
96
|
+
matInput
|
|
97
|
+
*ngIf="data.base.type === 'password'"
|
|
98
|
+
[formControlName]="data.base.key"
|
|
99
|
+
type="password"
|
|
100
|
+
(keyup)="data.base.change(data.self)"
|
|
101
|
+
(change)="data.base.change(data.self)"
|
|
102
|
+
/>
|
|
103
|
+
<input
|
|
104
|
+
matInput
|
|
105
|
+
*ngIf="data.base.type === 'date'"
|
|
106
|
+
[formControlName]="data.base.key"
|
|
107
|
+
type="date"
|
|
108
|
+
(keyup)="data.base.change(data.self)"
|
|
109
|
+
(change)="data.base.change(data.self)"
|
|
110
|
+
/>
|
|
111
|
+
<mat-icon
|
|
112
|
+
matSuffix
|
|
113
|
+
*ngIf="hintMessage"
|
|
114
|
+
[matTooltip]="hintMessage | translate"
|
|
115
|
+
>
|
|
116
|
+
help_outline
|
|
117
|
+
</mat-icon>
|
|
118
|
+
<mat-error>
|
|
119
|
+
<ng-container *ngTemplateOutlet="data.formControlErrors;context: this"></ng-container>
|
|
120
|
+
</mat-error>
|
|
121
|
+
</mat-form-field>
|
|
122
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { 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.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { 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.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i2.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i6.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] });
|
|
123
|
+
}
|
|
124
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbMatTextboxComponent, decorators: [{
|
|
125
|
+
type: Component,
|
|
126
|
+
args: [{
|
|
127
|
+
selector: '[ib-mat-textbox]',
|
|
128
|
+
template: `
|
|
129
|
+
<mat-form-field appearance="fill" style="width: 100%;" [formGroup]="data.form">
|
|
130
|
+
<mat-label>{{data.base.label | translate}}</mat-label>
|
|
131
|
+
<!--
|
|
132
|
+
https://github.com/angular/angular/issues/13243
|
|
133
|
+
type is not dynamic (see angular issue)
|
|
134
|
+
-->
|
|
135
|
+
<input
|
|
136
|
+
matInput
|
|
137
|
+
*ngIf="data.base.type === 'number'"
|
|
138
|
+
[formControlName]="data.base.key"
|
|
139
|
+
[min]="minValidator"
|
|
140
|
+
[max]="maxValidator"
|
|
141
|
+
type="number"
|
|
142
|
+
(keyup)="data.base.change(data.self)"
|
|
143
|
+
(input)="data.base.change(data.self)"
|
|
144
|
+
/>
|
|
145
|
+
<input
|
|
146
|
+
matInput
|
|
147
|
+
*ngIf="data.base.type === 'text'"
|
|
148
|
+
[formControlName]="data.base.key"
|
|
149
|
+
[maxlength]="maxLengthValidator"
|
|
150
|
+
type="text"
|
|
151
|
+
(keyup)="data.base.change(data.self)"
|
|
152
|
+
(change)="data.base.change(data.self)"
|
|
153
|
+
/>
|
|
154
|
+
<input
|
|
155
|
+
matInput
|
|
156
|
+
*ngIf="data.base.type === 'email'"
|
|
157
|
+
[formControlName]="data.base.key"
|
|
158
|
+
type="email"
|
|
159
|
+
(keyup)="data.base.change(data.self)"
|
|
160
|
+
(change)="data.base.change(data.self)"
|
|
161
|
+
/>
|
|
162
|
+
<input
|
|
163
|
+
matInput
|
|
164
|
+
*ngIf="data.base.type === 'password'"
|
|
165
|
+
[formControlName]="data.base.key"
|
|
166
|
+
type="password"
|
|
167
|
+
(keyup)="data.base.change(data.self)"
|
|
168
|
+
(change)="data.base.change(data.self)"
|
|
169
|
+
/>
|
|
170
|
+
<input
|
|
171
|
+
matInput
|
|
172
|
+
*ngIf="data.base.type === 'date'"
|
|
173
|
+
[formControlName]="data.base.key"
|
|
174
|
+
type="date"
|
|
175
|
+
(keyup)="data.base.change(data.self)"
|
|
176
|
+
(change)="data.base.change(data.self)"
|
|
177
|
+
/>
|
|
178
|
+
<mat-icon
|
|
179
|
+
matSuffix
|
|
180
|
+
*ngIf="hintMessage"
|
|
181
|
+
[matTooltip]="hintMessage | translate"
|
|
182
|
+
>
|
|
183
|
+
help_outline
|
|
184
|
+
</mat-icon>
|
|
185
|
+
<mat-error>
|
|
186
|
+
<ng-container *ngTemplateOutlet="data.formControlErrors;context: this"></ng-container>
|
|
187
|
+
</mat-error>
|
|
188
|
+
</mat-form-field>
|
|
189
|
+
`
|
|
190
|
+
}]
|
|
191
|
+
}], propDecorators: { data: [{
|
|
192
|
+
type: Input
|
|
193
|
+
}] } });
|
|
194
|
+
export class IbMatTextboxControl extends IbFormControlBase {
|
|
195
|
+
hintMessage;
|
|
196
|
+
constructor(options) {
|
|
197
|
+
options.type = options.type || 'text';
|
|
198
|
+
super(options);
|
|
199
|
+
this.hintMessage = options.hintMessage || null;
|
|
200
|
+
this.control = new IbFormControlBaseComponent(IbMatTextboxComponent, {
|
|
201
|
+
base: this
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGJveC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvaW5vYmV0YS11aS91aS9tYXRlcmlhbC1mb3Jtcy9jb250cm9scy90ZXh0Ym94LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpELE9BQU8sRUFBMEIsaUJBQWlCLEVBQUUsMEJBQTBCLEVBQThDLE1BQU0sd0NBQXdDLENBQUM7Ozs7Ozs7OztBQW9FM0ssTUFBTSxPQUFPLHFCQUFxQjtJQUN2QixJQUFJLENBQW1CO0lBQ2hDLElBQUksV0FBVztRQUNiLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUM1RSxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsS0FBSyxNQUFNLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUM3QyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsRUFBQyxLQUFLLEVBQUUsQ0FBQyxRQUFRLEVBQW9CLENBQUMsQ0FBQztZQUMvRCxJQUFJLFVBQVUsSUFBSSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQ2pDLE9BQU8sVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUM7WUFDNUIsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxLQUFLLE1BQU0sSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQzdDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxFQUFDLEtBQUssRUFBRSxRQUFRLEVBQW9CLENBQUMsQ0FBQztZQUM5RCxJQUFJLFVBQVUsSUFBSSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQ2pDLE9BQU8sVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUM7WUFDNUIsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFHRCxJQUFJLGtCQUFrQjtRQUNwQixLQUFLLE1BQU0sSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQzdDLE1BQU0sVUFBVSxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ3pCLElBQUksVUFBVSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUE7Z0JBQzFCLElBQUksVUFBVSxHQUFHLEdBQUcsQ0FBQTtnQkFDcEIsR0FBRyxDQUFDO29CQUNGLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7Z0JBQzFFLENBQUMsUUFBUSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUM7Z0JBQzFELE9BQU8sQ0FBQyxHQUFHLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssVUFBVSxDQUFhLENBQUE7WUFDbEcsQ0FBQyxDQUFBO1lBQ0QsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFBO1lBQ3pDLElBQUcsQ0FBQyxZQUFZO2dCQUFFLE9BQU8sUUFBUSxDQUFBO1lBRWpDLE1BQU0sT0FBTyxHQUFhLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQTtZQUNsRCxNQUFNLFVBQVUsR0FBUSxFQUFFLENBQUE7WUFDMUIsS0FBSSxJQUFJLENBQUMsSUFBSSxPQUFPLEVBQUMsQ0FBQztnQkFDcEIsVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUE7WUFDcEQsQ0FBQztZQUNELFVBQVUsQ0FBQyxRQUFRLENBQUMsR0FBRyxRQUFRLENBQUE7WUFDL0IsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEVBQUMsS0FBSyxFQUFFLFVBQVUsRUFBb0IsQ0FBQyxDQUFDO1lBQ2hFLElBQUksVUFBVSxJQUFJLFVBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDdkMsT0FBTyxVQUFVLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQztZQUM3QyxDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7dUdBcERVLHFCQUFxQjsyRkFBckIscUJBQXFCLGtGQWhFdEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E2RFQ7OzJGQUdVLHFCQUFxQjtrQkFsRWpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNkRUO2lCQUNGOzhCQUdVLElBQUk7c0JBQVosS0FBSzs7QUF1RFIsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGlCQUFrQztJQUN6RSxXQUFXLENBQUM7SUFFWixZQUFZLE9BQTJCO1FBQ3JDLE9BQU8sQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksSUFBSSxNQUFNLENBQUM7UUFDdEMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2YsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQztRQUMvQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksMEJBQTBCLENBQUMscUJBQXFCLEVBQUU7WUFDbkUsSUFBSSxFQUFFLElBQUk7U0FDWCxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJYkZvcm1Db250cm9sSW50ZXJmYWNlLCBJYkZvcm1Db250cm9sQmFzZSwgSWJGb3JtQ29udHJvbEJhc2VDb21wb25lbnQsIEliRm9ybUNvbnRyb2xCYXNlUGFyYW1zLCBJYkZvcm1Db250cm9sRGF0YSB9IGZyb20gJy4uLy4uL2Zvcm1zL2NvbnRyb2xzL2Zvcm0tY29udHJvbC1iYXNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnW2liLW1hdC10ZXh0Ym94XScsXG4gIHRlbXBsYXRlOiBgXG4gIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIHN0eWxlPVwid2lkdGg6IDEwMCU7XCIgW2Zvcm1Hcm91cF09XCJkYXRhLmZvcm1cIj5cbiAgICA8bWF0LWxhYmVsPnt7ZGF0YS5iYXNlLmxhYmVsIHwgdHJhbnNsYXRlfX08L21hdC1sYWJlbD5cbiAgICA8IS0tXG4gICAgICBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2lzc3Vlcy8xMzI0M1xuICAgICAgdHlwZSBpcyBub3QgZHluYW1pYyAoc2VlIGFuZ3VsYXIgaXNzdWUpXG4gICAgLS0+XG4gICAgPGlucHV0XG4gICAgICBtYXRJbnB1dFxuICAgICAgKm5nSWY9XCJkYXRhLmJhc2UudHlwZSA9PT0gJ251bWJlcidcIlxuICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJkYXRhLmJhc2Uua2V5XCJcbiAgICAgIFttaW5dPVwibWluVmFsaWRhdG9yXCJcbiAgICAgIFttYXhdPVwibWF4VmFsaWRhdG9yXCJcbiAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgKGtleXVwKT1cImRhdGEuYmFzZS5jaGFuZ2UoZGF0YS5zZWxmKVwiXG4gICAgICAoaW5wdXQpPVwiZGF0YS5iYXNlLmNoYW5nZShkYXRhLnNlbGYpXCJcbiAgICAvPlxuICAgIDxpbnB1dFxuICAgICAgbWF0SW5wdXRcbiAgICAgICpuZ0lmPVwiZGF0YS5iYXNlLnR5cGUgPT09ICd0ZXh0J1wiXG4gICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImRhdGEuYmFzZS5rZXlcIlxuICAgICAgW21heGxlbmd0aF09XCJtYXhMZW5ndGhWYWxpZGF0b3JcIlxuICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgKGtleXVwKT1cImRhdGEuYmFzZS5jaGFuZ2UoZGF0YS5zZWxmKVwiXG4gICAgICAoY2hhbmdlKT1cImRhdGEuYmFzZS5jaGFuZ2UoZGF0YS5zZWxmKVwiXG4gICAgLz5cbiAgICA8aW5wdXRcbiAgICAgIG1hdElucHV0XG4gICAgICAqbmdJZj1cImRhdGEuYmFzZS50eXBlID09PSAnZW1haWwnXCJcbiAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiZGF0YS5iYXNlLmtleVwiXG4gICAgICB0eXBlPVwiZW1haWxcIlxuICAgICAgKGtleXVwKT1cImRhdGEuYmFzZS5jaGFuZ2UoZGF0YS5zZWxmKVwiXG4gICAgICAoY2hhbmdlKT1cImRhdGEuYmFzZS5jaGFuZ2UoZGF0YS5zZWxmKVwiXG4gICAgLz5cbiAgICA8aW5wdXRcbiAgICAgIG1hdElucHV0XG4gICAgICAqbmdJZj1cImRhdGEuYmFzZS50eXBlID09PSAncGFzc3dvcmQnXCJcbiAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiZGF0YS5iYXNlLmtleVwiXG4gICAgICB0eXBlPVwicGFzc3dvcmRcIlxuICAgICAgKGtleXVwKT1cImRhdGEuYmFzZS5jaGFuZ2UoZGF0YS5zZWxmKVwiXG4gICAgICAoY2hhbmdlKT1cImRhdGEuYmFzZS5jaGFuZ2UoZGF0YS5zZWxmKVwiXG4gICAgLz5cbiAgICA8aW5wdXRcbiAgICAgIG1hdElucHV0XG4gICAgICAqbmdJZj1cImRhdGEuYmFzZS50eXBlID09PSAnZGF0ZSdcIlxuICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJkYXRhLmJhc2Uua2V5XCJcbiAgICAgIHR5cGU9XCJkYXRlXCJcbiAgICAgIChrZXl1cCk9XCJkYXRhLmJhc2UuY2hhbmdlKGRhdGEuc2VsZilcIlxuICAgICAgKGNoYW5nZSk9XCJkYXRhLmJhc2UuY2hhbmdlKGRhdGEuc2VsZilcIlxuICAgIC8+XG4gICAgPG1hdC1pY29uXG4gICAgICBtYXRTdWZmaXhcbiAgICAgICpuZ0lmPVwiaGludE1lc3NhZ2VcIlxuICAgICAgW21hdFRvb2x0aXBdPVwiaGludE1lc3NhZ2UgfCB0cmFuc2xhdGVcIlxuICAgID5cbiAgICAgICAgaGVscF9vdXRsaW5lXG4gICAgPC9tYXQtaWNvbj5cbiAgICA8bWF0LWVycm9yPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRhdGEuZm9ybUNvbnRyb2xFcnJvcnM7Y29udGV4dDogdGhpc1wiPjwvbmctY29udGFpbmVyPlxuICAgIDwvbWF0LWVycm9yPlxuICA8L21hdC1mb3JtLWZpZWxkPlxuICBgXG59KVxuXG5leHBvcnQgY2xhc3MgSWJNYXRUZXh0Ym94Q29tcG9uZW50IGltcGxlbWVudHMgSWJGb3JtQ29udHJvbEludGVyZmFjZSB7XG4gIEBJbnB1dCgpIGRhdGE6IEliTWF0VGV4dGJveERhdGE7XG4gIGdldCBoaW50TWVzc2FnZSgpIHtcbiAgICByZXR1cm4gKHRoaXMuZGF0YS5iYXNlLmhpbnRNZXNzYWdlKSA/IHRoaXMuZGF0YS5iYXNlLmhpbnRNZXNzYWdlKCkgOiBudWxsO1xuICB9XG5cbiAgZ2V0IG1pblZhbGlkYXRvcigpIHtcbiAgICBmb3IgKGNvbnN0IGZ1bmMgb2YgdGhpcy5kYXRhLmJhc2UudmFsaWRhdG9ycykge1xuICAgICAgY29uc3QgdmFsaWRhdGlvbiA9IGZ1bmMoe3ZhbHVlOiAtSW5maW5pdHl9IGFzIEFic3RyYWN0Q29udHJvbCk7XG4gICAgICBpZiAodmFsaWRhdGlvbiAmJiB2YWxpZGF0aW9uLm1pbikge1xuICAgICAgICByZXR1cm4gdmFsaWRhdGlvbi5taW4ubWluO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGdldCBtYXhWYWxpZGF0b3IoKSB7XG4gICAgZm9yIChjb25zdCBmdW5jIG9mIHRoaXMuZGF0YS5iYXNlLnZhbGlkYXRvcnMpIHtcbiAgICAgIGNvbnN0IHZhbGlkYXRpb24gPSBmdW5jKHt2YWx1ZTogSW5maW5pdHl9IGFzIEFic3RyYWN0Q29udHJvbCk7XG4gICAgICBpZiAodmFsaWRhdGlvbiAmJiB2YWxpZGF0aW9uLm1heCkge1xuICAgICAgICByZXR1cm4gdmFsaWRhdGlvbi5tYXgubWF4O1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG5cbiAgZ2V0IG1heExlbmd0aFZhbGlkYXRvcigpIHtcbiAgICBmb3IgKGNvbnN0IGZ1bmMgb2YgdGhpcy5kYXRhLmJhc2UudmFsaWRhdG9ycykge1xuICAgICAgY29uc3QgZ2V0TWV0aG9kcyA9IChvYmopID0+IHtcbiAgICAgICAgbGV0IHByb3BlcnRpZXMgPSBuZXcgU2V0KClcbiAgICAgICAgbGV0IGN1cnJlbnRPYmogPSBvYmpcbiAgICAgICAgZG8ge1xuICAgICAgICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGN1cnJlbnRPYmopLm1hcChpdGVtID0+IHByb3BlcnRpZXMuYWRkKGl0ZW0pKVxuICAgICAgICB9IHdoaWxlICgoY3VycmVudE9iaiA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihjdXJyZW50T2JqKSkpXG4gICAgICAgIHJldHVybiBbLi4ucHJvcGVydGllcy5rZXlzKCldLmZpbHRlcigoaXRlbTogYW55KSA9PiB0eXBlb2Ygb2JqW2l0ZW1dID09PSAnZnVuY3Rpb24nKSBhcyBzdHJpbmdbXVxuICAgICAgfVxuICAgICAgY29uc3Qgc2FtcGxlU3RyaW5nID0gdGhpcy5kYXRhLnNlbGYudmFsdWVcbiAgICAgIGlmKCFzYW1wbGVTdHJpbmcpIHJldHVybiBJbmZpbml0eVxuXG4gICAgICBjb25zdCBtZXRob2RzOiBzdHJpbmdbXSA9IGdldE1ldGhvZHMoc2FtcGxlU3RyaW5nKVxuICAgICAgY29uc3QgZmFrZVN0cmluZzogYW55ID0ge31cbiAgICAgIGZvcihsZXQgbSBvZiBtZXRob2RzKXtcbiAgICAgICAgZmFrZVN0cmluZ1ttXSA9IHNhbXBsZVN0cmluZ1ttXS5iaW5kKHNhbXBsZVN0cmluZylcbiAgICAgIH1cbiAgICAgIGZha2VTdHJpbmdbJ2xlbmd0aCddID0gSW5maW5pdHlcbiAgICAgIGNvbnN0IHZhbGlkYXRpb24gPSBmdW5jKHt2YWx1ZTogZmFrZVN0cmluZ30gYXMgQWJzdHJhY3RDb250cm9sKTtcbiAgICAgIGlmICh2YWxpZGF0aW9uICYmIHZhbGlkYXRpb24ubWF4bGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiB2YWxpZGF0aW9uLm1heGxlbmd0aC5yZXF1aXJlZExlbmd0aDtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIEluZmluaXR5O1xuICB9XG59XG5cblxuZXhwb3J0IGNsYXNzIEliTWF0VGV4dGJveENvbnRyb2wgZXh0ZW5kcyBJYkZvcm1Db250cm9sQmFzZTxudW1iZXIgfCBzdHJpbmc+IHtcbiAgaGludE1lc3NhZ2U7XG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogSWJNYXRUZXh0Ym94UGFyYW1zKSB7XG4gICAgb3B0aW9ucy50eXBlID0gb3B0aW9ucy50eXBlIHx8ICd0ZXh0JztcbiAgICBzdXBlcihvcHRpb25zKTtcbiAgICB0aGlzLmhpbnRNZXNzYWdlID0gb3B0aW9ucy5oaW50TWVzc2FnZSB8fCBudWxsO1xuICAgIHRoaXMuY29udHJvbCA9IG5ldyBJYkZvcm1Db250cm9sQmFzZUNvbXBvbmVudChJYk1hdFRleHRib3hDb21wb25lbnQsIHtcbiAgICAgIGJhc2U6IHRoaXNcbiAgICB9KTtcbiAgfVxufVxuXG5cbmV4cG9ydCBpbnRlcmZhY2UgSWJNYXRUZXh0Ym94UGFyYW1zIGV4dGVuZHMgSWJGb3JtQ29udHJvbEJhc2VQYXJhbXM8bnVtYmVyIHwgc3RyaW5nPiB7XG4gIGhpbnRNZXNzYWdlPzogKCkgPT4gc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEliTWF0VGV4dGJveERhdGEgZXh0ZW5kcyBJYkZvcm1Db250cm9sRGF0YSB7XG4gICAgYmFzZTogSWJNYXRUZXh0Ym94UGFyYW1zO1xufVxuXG4iXX0=
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export * from "./controls/autocomplete";
|
|
2
|
+
export * from "./controls/button";
|
|
3
|
+
export * from "./controls/checkbox";
|
|
4
|
+
export * from "./controls/datepicker";
|
|
5
|
+
export * from "./controls/dropdown";
|
|
6
|
+
export * from "./controls/label";
|
|
7
|
+
export * from "./controls/padding";
|
|
8
|
+
export * from "./controls/radio";
|
|
9
|
+
export * from "./controls/slide-toggle";
|
|
10
|
+
export * from "./controls/textarea";
|
|
11
|
+
export * from "./controls/textbox";
|
|
12
|
+
export * from "./material-form-array/material-form-array.component";
|
|
13
|
+
export * from "./material-form-control/material-form-control.component";
|
|
14
|
+
export * from "./material-form-test.module";
|
|
15
|
+
export * from "./material-form.module";
|
|
16
|
+
export * from "./material-form/material-form.component";
|
|
17
|
+
export * from "./material-form/material-form.stub.spec";
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2lub2JldGEtdWkvdWkvbWF0ZXJpYWwtZm9ybXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyx5REFBeUQsQ0FBQztBQUN4RSxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHlDQUF5QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vY29udHJvbHMvYXV0b2NvbXBsZXRlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb250cm9scy9idXR0b25cIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbnRyb2xzL2NoZWNrYm94XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb250cm9scy9kYXRlcGlja2VyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb250cm9scy9kcm9wZG93blwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29udHJvbHMvbGFiZWxcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbnRyb2xzL3BhZGRpbmdcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbnRyb2xzL3JhZGlvXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb250cm9scy9zbGlkZS10b2dnbGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbnRyb2xzL3RleHRhcmVhXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb250cm9scy90ZXh0Ym94XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9tYXRlcmlhbC1mb3JtLWFycmF5L21hdGVyaWFsLWZvcm0tYXJyYXkuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9tYXRlcmlhbC1mb3JtLWNvbnRyb2wvbWF0ZXJpYWwtZm9ybS1jb250cm9sLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbWF0ZXJpYWwtZm9ybS10ZXN0Lm1vZHVsZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbWF0ZXJpYWwtZm9ybS5tb2R1bGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL21hdGVyaWFsLWZvcm0vbWF0ZXJpYWwtZm9ybS5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL21hdGVyaWFsLWZvcm0vbWF0ZXJpYWwtZm9ybS5zdHViLnNwZWNcIjtcbiJdfQ==
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { Inject, Injectable, Optional } from '@angular/core';
|
|
2
|
+
import { MAT_DATE_LOCALE, NativeDateAdapter } from '@angular/material/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class IbMatDatepickerI18n {
|
|
5
|
+
getDateFormats() {
|
|
6
|
+
return {
|
|
7
|
+
parse: {
|
|
8
|
+
dateInput: 'dd/MM/yyyy',
|
|
9
|
+
},
|
|
10
|
+
display: {
|
|
11
|
+
dateInput: 'dd/MM/yyyy',
|
|
12
|
+
monthYearLabel: 'MMMM yyyy',
|
|
13
|
+
dateA11yLabel: 'dd/MM/yyyy',
|
|
14
|
+
monthYearA11yLabel: 'MMMM yyyy',
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
// FIXME: this adapter supports it format only but it is linked to translate service. We must support a dynamic parse and format
|
|
20
|
+
export class IbMatDateAdapter extends NativeDateAdapter {
|
|
21
|
+
constructor(matDateLocale) {
|
|
22
|
+
super(matDateLocale);
|
|
23
|
+
super.setLocale(matDateLocale);
|
|
24
|
+
}
|
|
25
|
+
parse(date, displayFormat) {
|
|
26
|
+
if (date === '') {
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
const dateParts = date.split('/');
|
|
30
|
+
if (dateParts.length === 3) {
|
|
31
|
+
return new Date(parseInt(dateParts[2], 10), parseInt(dateParts[1], 10) - 1, parseInt(dateParts[0], 10));
|
|
32
|
+
}
|
|
33
|
+
return new Date(NaN);
|
|
34
|
+
}
|
|
35
|
+
format(date, displayFormat) {
|
|
36
|
+
if (!this.isValid(date)) {
|
|
37
|
+
throw Error('IbMatDateAdapter: Cannot format invalid date.');
|
|
38
|
+
}
|
|
39
|
+
// if (displayFormat === 'input') {
|
|
40
|
+
let day = date.getDate().toString();
|
|
41
|
+
day = +day < 10 ? '0' + day : day;
|
|
42
|
+
let month = (date.getMonth() + 1).toString();
|
|
43
|
+
month = +month < 10 ? '0' + month : month;
|
|
44
|
+
const year = date.getFullYear();
|
|
45
|
+
return `${day}/${month}/${year}`;
|
|
46
|
+
// }
|
|
47
|
+
// return date.toDateString();
|
|
48
|
+
}
|
|
49
|
+
isValid(date) {
|
|
50
|
+
return !isNaN(date.getTime());
|
|
51
|
+
}
|
|
52
|
+
invalid() {
|
|
53
|
+
return new Date(NaN);
|
|
54
|
+
}
|
|
55
|
+
deserialize(value) {
|
|
56
|
+
if (!value) {
|
|
57
|
+
return null;
|
|
58
|
+
}
|
|
59
|
+
return super.deserialize(value);
|
|
60
|
+
}
|
|
61
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbMatDateAdapter, deps: [{ token: MAT_DATE_LOCALE, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
62
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbMatDateAdapter, providedIn: 'root' });
|
|
63
|
+
}
|
|
64
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbMatDateAdapter, decorators: [{
|
|
65
|
+
type: Injectable,
|
|
66
|
+
args: [{ providedIn: 'root' }]
|
|
67
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
68
|
+
type: Optional
|
|
69
|
+
}, {
|
|
70
|
+
type: Inject,
|
|
71
|
+
args: [MAT_DATE_LOCALE]
|
|
72
|
+
}] }] });
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5pbnRsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9pbm9iZXRhLXVpL3VpL21hdGVyaWFsLWZvcm1zL2ludGwvZGF0ZXBpY2tlci5pbnRsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBRTVFLE1BQU0sT0FBTyxtQkFBbUI7SUFFNUIsY0FBYztRQUNWLE9BQU87WUFDTCxLQUFLLEVBQUU7Z0JBQ0wsU0FBUyxFQUFFLFlBQVk7YUFDdEI7WUFDSCxPQUFPLEVBQUU7Z0JBQ1AsU0FBUyxFQUFFLFlBQVk7Z0JBQ3ZCLGNBQWMsRUFBRSxXQUFXO2dCQUMzQixhQUFhLEVBQUUsWUFBWTtnQkFDM0Isa0JBQWtCLEVBQUUsV0FBVzthQUNoQztTQUNGLENBQUM7SUFDTixDQUFDO0NBQ0o7QUFFRCxnSUFBZ0k7QUFHaEksTUFBTSxPQUFPLGdCQUFpQixTQUFRLGlCQUFpQjtJQUNyRCxZQUFpRCxhQUFxQjtRQUNwRSxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDckIsS0FBSyxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsS0FBSyxDQUFDLElBQVksRUFBRSxhQUFzQjtRQUN4QyxJQUFJLElBQUksS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUNoQixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFDRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2xDLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMzQixPQUFPLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzFHLENBQUM7UUFDRCxPQUFPLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxNQUFNLENBQUMsSUFBVSxFQUFFLGFBQXFCO1FBQ3RDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDeEIsTUFBTSxLQUFLLENBQUMsK0NBQStDLENBQUMsQ0FBQztRQUMvRCxDQUFDO1FBQ0YsbUNBQW1DO1FBQ2xDLElBQUksR0FBRyxHQUFXLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM1QyxHQUFHLEdBQUcsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFDbEMsSUFBSSxLQUFLLEdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDckQsS0FBSyxHQUFHLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQzFDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNoQyxPQUFPLEdBQUcsR0FBRyxJQUFJLEtBQUssSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNsQyxJQUFJO1FBQ0osOEJBQThCO0lBQy9CLENBQUM7SUFFRCxPQUFPLENBQUMsSUFBVTtRQUNoQixPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxPQUFPO1FBQ0wsT0FBTyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBQ0QsV0FBVyxDQUFDLEtBQVU7UUFDcEIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1gsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xDLENBQUM7dUdBNUNVLGdCQUFnQixrQkFDSyxlQUFlOzJHQURwQyxnQkFBZ0IsY0FESixNQUFNOzsyRkFDbEIsZ0JBQWdCO2tCQUQ1QixVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQzs7MEJBRWpCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1BVF9EQVRFX0xPQ0FMRSwgTmF0aXZlRGF0ZUFkYXB0ZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcblxuZXhwb3J0IGNsYXNzIEliTWF0RGF0ZXBpY2tlckkxOG4ge1xuXG4gICAgZ2V0RGF0ZUZvcm1hdHMoKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgcGFyc2U6IHtcbiAgICAgICAgICAgIGRhdGVJbnB1dDogJ2RkL01NL3l5eXknLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBkaXNwbGF5OiB7XG4gICAgICAgICAgICBkYXRlSW5wdXQ6ICdkZC9NTS95eXl5JyxcbiAgICAgICAgICAgIG1vbnRoWWVhckxhYmVsOiAnTU1NTSB5eXl5JyxcbiAgICAgICAgICAgIGRhdGVBMTF5TGFiZWw6ICdkZC9NTS95eXl5JyxcbiAgICAgICAgICAgIG1vbnRoWWVhckExMXlMYWJlbDogJ01NTU0geXl5eScsXG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH1cbn1cblxuLy8gRklYTUU6IHRoaXMgYWRhcHRlciBzdXBwb3J0cyBpdCBmb3JtYXQgb25seSBidXQgaXQgaXMgbGlua2VkIHRvIHRyYW5zbGF0ZSBzZXJ2aWNlLiBXZSBtdXN0IHN1cHBvcnQgYSBkeW5hbWljIHBhcnNlIGFuZCBmb3JtYXRcblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgSWJNYXREYXRlQWRhcHRlciBleHRlbmRzIE5hdGl2ZURhdGVBZGFwdGVyIHtcbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQEluamVjdChNQVRfREFURV9MT0NBTEUpIG1hdERhdGVMb2NhbGU6IHN0cmluZykge1xuICAgIHN1cGVyKG1hdERhdGVMb2NhbGUpO1xuICAgIHN1cGVyLnNldExvY2FsZShtYXREYXRlTG9jYWxlKTtcbiAgfVxuXG4gIHBhcnNlKGRhdGU6IHN0cmluZywgZGlzcGxheUZvcm1hdD86IHN0cmluZyk6IERhdGUge1xuICAgIGlmIChkYXRlID09PSAnJykge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGNvbnN0IGRhdGVQYXJ0cyA9IGRhdGUuc3BsaXQoJy8nKTtcbiAgICBpZiAoZGF0ZVBhcnRzLmxlbmd0aCA9PT0gMykge1xuICAgICAgcmV0dXJuIG5ldyBEYXRlKHBhcnNlSW50KGRhdGVQYXJ0c1syXSwgMTApLCBwYXJzZUludChkYXRlUGFydHNbMV0sIDEwKSAtIDEsIHBhcnNlSW50KGRhdGVQYXJ0c1swXSwgMTApKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBEYXRlKE5hTik7XG4gIH1cblxuICBmb3JtYXQoZGF0ZTogRGF0ZSwgZGlzcGxheUZvcm1hdDogT2JqZWN0KTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZChkYXRlKSkge1xuICAgICAgdGhyb3cgRXJyb3IoJ0liTWF0RGF0ZUFkYXB0ZXI6IENhbm5vdCBmb3JtYXQgaW52YWxpZCBkYXRlLicpO1xuICAgIH1cbiAgIC8vIGlmIChkaXNwbGF5Rm9ybWF0ID09PSAnaW5wdXQnKSB7XG4gICAgbGV0IGRheTogc3RyaW5nID0gZGF0ZS5nZXREYXRlKCkudG9TdHJpbmcoKTtcbiAgICBkYXkgPSArZGF5IDwgMTAgPyAnMCcgKyBkYXkgOiBkYXk7XG4gICAgbGV0IG1vbnRoOiBzdHJpbmcgPSAoZGF0ZS5nZXRNb250aCgpICsgMSkudG9TdHJpbmcoKTtcbiAgICBtb250aCA9ICttb250aCA8IDEwID8gJzAnICsgbW9udGggOiBtb250aDtcbiAgICBjb25zdCB5ZWFyID0gZGF0ZS5nZXRGdWxsWWVhcigpO1xuICAgIHJldHVybiBgJHtkYXl9LyR7bW9udGh9LyR7eWVhcn1gO1xuICAgLy8gfVxuICAgLy8gcmV0dXJuIGRhdGUudG9EYXRlU3RyaW5nKCk7XG4gIH1cblxuICBpc1ZhbGlkKGRhdGU6IERhdGUpIHtcbiAgICByZXR1cm4gIWlzTmFOKGRhdGUuZ2V0VGltZSgpKTtcbiAgfVxuXG4gIGludmFsaWQoKTogRGF0ZSB7XG4gICAgcmV0dXJuIG5ldyBEYXRlKE5hTik7XG4gIH1cbiAgZGVzZXJpYWxpemUodmFsdWU6IGFueSk6IERhdGUgfCBudWxsIHtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIHN1cGVyLmRlc2VyaWFsaXplKHZhbHVlKTtcbiAgfVxufVxuIl19
|
package/esm2022/src/app/inobeta-ui/ui/material-forms/material-form/material-form.component.mjs
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Component, Input } from "@angular/core";
|
|
2
|
+
import { IbDynamicFormComponent } from "../../forms/dynamic-form/dynamic-form.component";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
import * as i2 from "@angular/forms";
|
|
6
|
+
import * as i3 from "@angular/material/grid-list";
|
|
7
|
+
import * as i4 from "../material-form-control/material-form-control.component";
|
|
8
|
+
import * as i5 from "../material-form-array/material-form-array.component";
|
|
9
|
+
import * as i6 from "../../forms/forms.pipes";
|
|
10
|
+
/**
|
|
11
|
+
* Crea un form dinamico usando componenti di Angular Material.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* <ib-material-form
|
|
15
|
+
* [fields]="loginFormFields"
|
|
16
|
+
* (ibSubmit)="onSubmit($event)"></ib-material-form>
|
|
17
|
+
*/
|
|
18
|
+
export var IbMatActionsPosition;
|
|
19
|
+
(function (IbMatActionsPosition) {
|
|
20
|
+
IbMatActionsPosition[IbMatActionsPosition["BOTH"] = 0] = "BOTH";
|
|
21
|
+
IbMatActionsPosition[IbMatActionsPosition["TOP"] = 1] = "TOP";
|
|
22
|
+
IbMatActionsPosition[IbMatActionsPosition["BOTTOM"] = 2] = "BOTTOM";
|
|
23
|
+
})(IbMatActionsPosition || (IbMatActionsPosition = {}));
|
|
24
|
+
export class IbMaterialFormComponent extends IbDynamicFormComponent {
|
|
25
|
+
actionsPosition = IbMatActionsPosition.BOTTOM;
|
|
26
|
+
rowHeight = "80px";
|
|
27
|
+
simpleActions = [];
|
|
28
|
+
submitAction = null;
|
|
29
|
+
ibMatActionsPosition = IbMatActionsPosition;
|
|
30
|
+
ngOnChanges(changes) {
|
|
31
|
+
super.ngOnChanges(changes);
|
|
32
|
+
if (changes.actions && changes.actions.currentValue) {
|
|
33
|
+
this.simpleActions = changes.actions.currentValue.filter((a) => a.key !== "submit");
|
|
34
|
+
this.submitAction = changes.actions.currentValue.find((a) => a.key === "submit");
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbMaterialFormComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
38
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: IbMaterialFormComponent, selector: "ib-material-form", inputs: { actionsPosition: "actionsPosition", rowHeight: "rowHeight" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<form (ngSubmit)=\"handleSubmit()\" [formGroup]=\"form\" class=\"ibForm\">\n <div\n class=\"ibFormActions\"\n style=\"display:flex;flex-direction:row;justify-content: end; gap:10px\"\n *ngIf=\"[ibMatActionsPosition.BOTH, ibMatActionsPosition.TOP].indexOf(actionsPosition) > -1\"\n >\n <ib-material-form-control\n *ngFor=\"let action of simpleActions\"\n class=\"ibFormRow\"\n [base]=\"action\"\n [form]=\"form\"\n [attr.data-cy]=\"action.key\"\n ></ib-material-form-control>\n <ib-material-form-control\n *ngIf=\"submitAction\"\n class=\"ibFormRow\"\n [base]=\"submitAction\"\n [form]=\"form\"\n [attr.data-cy]=\"submitAction.key\"\n ></ib-material-form-control>\n </div>\n\n <mat-grid-list class=\"ib-material-form-grid\" *ngIf=\"cols\" [cols]=\"cols\" [rowHeight]=\"rowHeight\">\n <mat-grid-tile\n *ngFor=\"let field of fields\"\n [colspan]=\"field.cols\"\n [rowspan]=\"field.rows\">\n <ng-container [ngSwitch]=\"field.role\">\n <ib-material-form-control\n *ngSwitchCase=\"'control'\"\n class=\"ibFormRow\"\n [base]=\"field | asFormControl\"\n [form]=\"form\"\n [ngStyle]=\"{ flex: '1 1 ' + field.width }\"\n [attr.data-cy]=\"field?.key\"\n ></ib-material-form-control>\n </ng-container>\n </mat-grid-tile>\n </mat-grid-list>\n\n <div style=\"display:flex;flex-direction:row;flex-wrap: wrap\" *ngIf=\"!cols\">\n <ng-container *ngFor=\"let field of fields\">\n <ng-container [ngSwitch]=\"field.role\">\n <ib-material-form-control\n *ngSwitchCase=\"'control'\"\n class=\"ibFormRow\"\n [base]=\"field | asFormControl\"\n [form]=\"form\"\n [ngStyle]=\"{ flex: '1 1 ' + field.width }\"\n [attr.data-cy]=\"field?.key\"\n ></ib-material-form-control>\n <ib-material-form-array\n *ngSwitchCase=\"'array'\"\n class=\"ibFormRow\"\n [base]=\"field | asFormArray\"\n [form]=\"form\"\n [ngStyle]=\"{ flex: '1 1 ' + field.width }\"\n [attr.data-cy]=\"field?.key\"\n ></ib-material-form-array>\n </ng-container>\n </ng-container>\n </div>\n\n <div\n class=\"ibFormActions\"\n style=\"display:flex;flex-direction:row;justify-content: end; gap:10px\"\n *ngIf=\"[ibMatActionsPosition.BOTH, ibMatActionsPosition.BOTTOM].indexOf(actionsPosition) > -1\"\n >\n <ib-material-form-control\n *ngFor=\"let action of simpleActions\"\n class=\"ibFormRow\"\n [base]=\"action\"\n [form]=\"form\"\n [attr.data-cy]=\"action.key\"\n ></ib-material-form-control>\n <ib-material-form-control\n *ngIf=\"submitAction\"\n class=\"ibFormRow\"\n [base]=\"submitAction\"\n [form]=\"form\"\n [attr.data-cy]=\"submitAction.key\"\n ></ib-material-form-control>\n </div>\n</form>\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.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { 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: "component", type: i3.MatGridList, selector: "mat-grid-list", inputs: ["cols", "gutterSize", "rowHeight"], exportAs: ["matGridList"] }, { kind: "component", type: i3.MatGridTile, selector: "mat-grid-tile", inputs: ["rowspan", "colspan"], exportAs: ["matGridTile"] }, { kind: "component", type: i4.IbMaterialFormControlComponent, selector: "ib-material-form-control" }, { kind: "component", type: i5.IbMaterialFormArrayComponent, selector: "ib-material-form-array" }, { kind: "pipe", type: i6.IbFormArrayPipe, name: "asFormArray" }, { kind: "pipe", type: i6.IbFormControlPipe, name: "asFormControl" }] });
|
|
39
|
+
}
|
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbMaterialFormComponent, decorators: [{
|
|
41
|
+
type: Component,
|
|
42
|
+
args: [{ selector: "ib-material-form", template: "<form (ngSubmit)=\"handleSubmit()\" [formGroup]=\"form\" class=\"ibForm\">\n <div\n class=\"ibFormActions\"\n style=\"display:flex;flex-direction:row;justify-content: end; gap:10px\"\n *ngIf=\"[ibMatActionsPosition.BOTH, ibMatActionsPosition.TOP].indexOf(actionsPosition) > -1\"\n >\n <ib-material-form-control\n *ngFor=\"let action of simpleActions\"\n class=\"ibFormRow\"\n [base]=\"action\"\n [form]=\"form\"\n [attr.data-cy]=\"action.key\"\n ></ib-material-form-control>\n <ib-material-form-control\n *ngIf=\"submitAction\"\n class=\"ibFormRow\"\n [base]=\"submitAction\"\n [form]=\"form\"\n [attr.data-cy]=\"submitAction.key\"\n ></ib-material-form-control>\n </div>\n\n <mat-grid-list class=\"ib-material-form-grid\" *ngIf=\"cols\" [cols]=\"cols\" [rowHeight]=\"rowHeight\">\n <mat-grid-tile\n *ngFor=\"let field of fields\"\n [colspan]=\"field.cols\"\n [rowspan]=\"field.rows\">\n <ng-container [ngSwitch]=\"field.role\">\n <ib-material-form-control\n *ngSwitchCase=\"'control'\"\n class=\"ibFormRow\"\n [base]=\"field | asFormControl\"\n [form]=\"form\"\n [ngStyle]=\"{ flex: '1 1 ' + field.width }\"\n [attr.data-cy]=\"field?.key\"\n ></ib-material-form-control>\n </ng-container>\n </mat-grid-tile>\n </mat-grid-list>\n\n <div style=\"display:flex;flex-direction:row;flex-wrap: wrap\" *ngIf=\"!cols\">\n <ng-container *ngFor=\"let field of fields\">\n <ng-container [ngSwitch]=\"field.role\">\n <ib-material-form-control\n *ngSwitchCase=\"'control'\"\n class=\"ibFormRow\"\n [base]=\"field | asFormControl\"\n [form]=\"form\"\n [ngStyle]=\"{ flex: '1 1 ' + field.width }\"\n [attr.data-cy]=\"field?.key\"\n ></ib-material-form-control>\n <ib-material-form-array\n *ngSwitchCase=\"'array'\"\n class=\"ibFormRow\"\n [base]=\"field | asFormArray\"\n [form]=\"form\"\n [ngStyle]=\"{ flex: '1 1 ' + field.width }\"\n [attr.data-cy]=\"field?.key\"\n ></ib-material-form-array>\n </ng-container>\n </ng-container>\n </div>\n\n <div\n class=\"ibFormActions\"\n style=\"display:flex;flex-direction:row;justify-content: end; gap:10px\"\n *ngIf=\"[ibMatActionsPosition.BOTH, ibMatActionsPosition.BOTTOM].indexOf(actionsPosition) > -1\"\n >\n <ib-material-form-control\n *ngFor=\"let action of simpleActions\"\n class=\"ibFormRow\"\n [base]=\"action\"\n [form]=\"form\"\n [attr.data-cy]=\"action.key\"\n ></ib-material-form-control>\n <ib-material-form-control\n *ngIf=\"submitAction\"\n class=\"ibFormRow\"\n [base]=\"submitAction\"\n [form]=\"form\"\n [attr.data-cy]=\"submitAction.key\"\n ></ib-material-form-control>\n </div>\n</form>\n" }]
|
|
43
|
+
}], propDecorators: { actionsPosition: [{
|
|
44
|
+
type: Input
|
|
45
|
+
}], rowHeight: [{
|
|
46
|
+
type: Input
|
|
47
|
+
}] } });
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwtZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2lub2JldGEtdWkvdWkvbWF0ZXJpYWwtZm9ybXMvbWF0ZXJpYWwtZm9ybS9tYXRlcmlhbC1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvaW5vYmV0YS11aS91aS9tYXRlcmlhbC1mb3Jtcy9tYXRlcmlhbC1mb3JtL21hdGVyaWFsLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0saURBQWlELENBQUM7Ozs7Ozs7O0FBRXpGOzs7Ozs7O0dBT0c7QUFFSCxNQUFNLENBQU4sSUFBWSxvQkFJWDtBQUpELFdBQVksb0JBQW9CO0lBQzlCLCtEQUFJLENBQUE7SUFDSiw2REFBRyxDQUFBO0lBQ0gsbUVBQU0sQ0FBQTtBQUNSLENBQUMsRUFKVyxvQkFBb0IsS0FBcEIsb0JBQW9CLFFBSS9CO0FBTUQsTUFBTSxPQUFPLHVCQUNYLFNBQVEsc0JBQXNCO0lBR3JCLGVBQWUsR0FBRyxvQkFBb0IsQ0FBQyxNQUFNLENBQUM7SUFDOUMsU0FBUyxHQUFHLE1BQU0sQ0FBQztJQUM1QixhQUFhLEdBQUcsRUFBRSxDQUFDO0lBQ25CLFlBQVksR0FBRyxJQUFJLENBQUM7SUFDcEIsb0JBQW9CLEdBQUcsb0JBQW9CLENBQUM7SUFFNUMsV0FBVyxDQUFDLE9BQU87UUFDakIsS0FBSyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQixJQUFJLE9BQU8sQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNwRCxJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FDdEQsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssUUFBUSxDQUMxQixDQUFDO1lBQ0YsSUFBSSxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQ25ELENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLFFBQVEsQ0FDMUIsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO3VHQXBCVSx1QkFBdUI7MkZBQXZCLHVCQUF1Qiw0S0N0QnBDLDY1RkFvRkE7OzJGRDlEYSx1QkFBdUI7a0JBSm5DLFNBQVM7K0JBQ0Usa0JBQWtCOzhCQU9uQixlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgSWJEeW5hbWljRm9ybUNvbXBvbmVudCB9IGZyb20gXCIuLi8uLi9mb3Jtcy9keW5hbWljLWZvcm0vZHluYW1pYy1mb3JtLmNvbXBvbmVudFwiO1xuXG4vKipcbiAqIENyZWEgdW4gZm9ybSBkaW5hbWljbyB1c2FuZG8gY29tcG9uZW50aSBkaSBBbmd1bGFyIE1hdGVyaWFsLlxuICpcbiAqIEBleGFtcGxlXG4gKiA8aWItbWF0ZXJpYWwtZm9ybVxuICogICAgICAgICAgICAgW2ZpZWxkc109XCJsb2dpbkZvcm1GaWVsZHNcIlxuICogICAgICAgICAgICAgKGliU3VibWl0KT1cIm9uU3VibWl0KCRldmVudClcIj48L2liLW1hdGVyaWFsLWZvcm0+XG4gKi9cblxuZXhwb3J0IGVudW0gSWJNYXRBY3Rpb25zUG9zaXRpb24ge1xuICBCT1RILFxuICBUT1AsXG4gIEJPVFRPTSxcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImliLW1hdGVyaWFsLWZvcm1cIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9tYXRlcmlhbC1mb3JtLmNvbXBvbmVudC5odG1sXCIsXG59KVxuZXhwb3J0IGNsYXNzIEliTWF0ZXJpYWxGb3JtQ29tcG9uZW50XG4gIGV4dGVuZHMgSWJEeW5hbWljRm9ybUNvbXBvbmVudFxuICBpbXBsZW1lbnRzIE9uQ2hhbmdlc1xue1xuICBASW5wdXQoKSBhY3Rpb25zUG9zaXRpb24gPSBJYk1hdEFjdGlvbnNQb3NpdGlvbi5CT1RUT007XG4gIEBJbnB1dCgpIHJvd0hlaWdodCA9IFwiODBweFwiO1xuICBzaW1wbGVBY3Rpb25zID0gW107XG4gIHN1Ym1pdEFjdGlvbiA9IG51bGw7XG4gIGliTWF0QWN0aW9uc1Bvc2l0aW9uID0gSWJNYXRBY3Rpb25zUG9zaXRpb247XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlcykge1xuICAgIHN1cGVyLm5nT25DaGFuZ2VzKGNoYW5nZXMpO1xuICAgIGlmIChjaGFuZ2VzLmFjdGlvbnMgJiYgY2hhbmdlcy5hY3Rpb25zLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgdGhpcy5zaW1wbGVBY3Rpb25zID0gY2hhbmdlcy5hY3Rpb25zLmN1cnJlbnRWYWx1ZS5maWx0ZXIoXG4gICAgICAgIChhKSA9PiBhLmtleSAhPT0gXCJzdWJtaXRcIlxuICAgICAgKTtcbiAgICAgIHRoaXMuc3VibWl0QWN0aW9uID0gY2hhbmdlcy5hY3Rpb25zLmN1cnJlbnRWYWx1ZS5maW5kKFxuICAgICAgICAoYSkgPT4gYS5rZXkgPT09IFwic3VibWl0XCJcbiAgICAgICk7XG4gICAgfVxuICB9XG59XG4iLCI8Zm9ybSAobmdTdWJtaXQpPVwiaGFuZGxlU3VibWl0KClcIiBbZm9ybUdyb3VwXT1cImZvcm1cIiBjbGFzcz1cImliRm9ybVwiPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJpYkZvcm1BY3Rpb25zXCJcbiAgICBzdHlsZT1cImRpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpyb3c7anVzdGlmeS1jb250ZW50OiBlbmQ7IGdhcDoxMHB4XCJcbiAgICAqbmdJZj1cIltpYk1hdEFjdGlvbnNQb3NpdGlvbi5CT1RILCBpYk1hdEFjdGlvbnNQb3NpdGlvbi5UT1BdLmluZGV4T2YoYWN0aW9uc1Bvc2l0aW9uKSA+IC0xXCJcbiAgICA+XG4gICAgPGliLW1hdGVyaWFsLWZvcm0tY29udHJvbFxuICAgICAgKm5nRm9yPVwibGV0IGFjdGlvbiBvZiBzaW1wbGVBY3Rpb25zXCJcbiAgICAgIGNsYXNzPVwiaWJGb3JtUm93XCJcbiAgICAgIFtiYXNlXT1cImFjdGlvblwiXG4gICAgICBbZm9ybV09XCJmb3JtXCJcbiAgICAgIFthdHRyLmRhdGEtY3ldPVwiYWN0aW9uLmtleVwiXG4gICAgPjwvaWItbWF0ZXJpYWwtZm9ybS1jb250cm9sPlxuICAgIDxpYi1tYXRlcmlhbC1mb3JtLWNvbnRyb2xcbiAgICAgICpuZ0lmPVwic3VibWl0QWN0aW9uXCJcbiAgICAgIGNsYXNzPVwiaWJGb3JtUm93XCJcbiAgICAgIFtiYXNlXT1cInN1Ym1pdEFjdGlvblwiXG4gICAgICBbZm9ybV09XCJmb3JtXCJcbiAgICAgIFthdHRyLmRhdGEtY3ldPVwic3VibWl0QWN0aW9uLmtleVwiXG4gICAgPjwvaWItbWF0ZXJpYWwtZm9ybS1jb250cm9sPlxuICA8L2Rpdj5cblxuICA8bWF0LWdyaWQtbGlzdCBjbGFzcz1cImliLW1hdGVyaWFsLWZvcm0tZ3JpZFwiICpuZ0lmPVwiY29sc1wiIFtjb2xzXT1cImNvbHNcIiBbcm93SGVpZ2h0XT1cInJvd0hlaWdodFwiPlxuICAgIDxtYXQtZ3JpZC10aWxlXG4gICAgICAgICpuZ0Zvcj1cImxldCBmaWVsZCBvZiBmaWVsZHNcIlxuICAgICAgICBbY29sc3Bhbl09XCJmaWVsZC5jb2xzXCJcbiAgICAgICAgW3Jvd3NwYW5dPVwiZmllbGQucm93c1wiPlxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJmaWVsZC5yb2xlXCI+XG4gICAgICAgICAgPGliLW1hdGVyaWFsLWZvcm0tY29udHJvbFxuICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidjb250cm9sJ1wiXG4gICAgICAgICAgICBjbGFzcz1cImliRm9ybVJvd1wiXG4gICAgICAgICAgICBbYmFzZV09XCJmaWVsZCB8IGFzRm9ybUNvbnRyb2xcIlxuICAgICAgICAgICAgW2Zvcm1dPVwiZm9ybVwiXG4gICAgICAgICAgICBbbmdTdHlsZV09XCJ7IGZsZXg6ICcxIDEgJyArIGZpZWxkLndpZHRoIH1cIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1jeV09XCJmaWVsZD8ua2V5XCJcbiAgICAgICAgICA+PC9pYi1tYXRlcmlhbC1mb3JtLWNvbnRyb2w+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbWF0LWdyaWQtdGlsZT5cbiAgPC9tYXQtZ3JpZC1saXN0PlxuXG4gIDxkaXYgc3R5bGU9XCJkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246cm93O2ZsZXgtd3JhcDogd3JhcFwiICpuZ0lmPVwiIWNvbHNcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBmaWVsZCBvZiBmaWVsZHNcIj5cbiAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImZpZWxkLnJvbGVcIj5cbiAgICAgICAgPGliLW1hdGVyaWFsLWZvcm0tY29udHJvbFxuICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInY29udHJvbCdcIlxuICAgICAgICAgIGNsYXNzPVwiaWJGb3JtUm93XCJcbiAgICAgICAgICBbYmFzZV09XCJmaWVsZCB8IGFzRm9ybUNvbnRyb2xcIlxuICAgICAgICAgIFtmb3JtXT1cImZvcm1cIlxuICAgICAgICAgIFtuZ1N0eWxlXT1cInsgZmxleDogJzEgMSAnICsgZmllbGQud2lkdGggfVwiXG4gICAgICAgICAgW2F0dHIuZGF0YS1jeV09XCJmaWVsZD8ua2V5XCJcbiAgICAgICAgPjwvaWItbWF0ZXJpYWwtZm9ybS1jb250cm9sPlxuICAgICAgICA8aWItbWF0ZXJpYWwtZm9ybS1hcnJheVxuICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInYXJyYXknXCJcbiAgICAgICAgICBjbGFzcz1cImliRm9ybVJvd1wiXG4gICAgICAgICAgW2Jhc2VdPVwiZmllbGQgfCBhc0Zvcm1BcnJheVwiXG4gICAgICAgICAgW2Zvcm1dPVwiZm9ybVwiXG4gICAgICAgICAgW25nU3R5bGVdPVwieyBmbGV4OiAnMSAxICcgKyBmaWVsZC53aWR0aCB9XCJcbiAgICAgICAgICBbYXR0ci5kYXRhLWN5XT1cImZpZWxkPy5rZXlcIlxuICAgICAgICA+PC9pYi1tYXRlcmlhbC1mb3JtLWFycmF5PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuXG4gIDxkaXZcbiAgICBjbGFzcz1cImliRm9ybUFjdGlvbnNcIlxuICAgIHN0eWxlPVwiZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOnJvdztqdXN0aWZ5LWNvbnRlbnQ6IGVuZDsgZ2FwOjEwcHhcIlxuICAgICpuZ0lmPVwiW2liTWF0QWN0aW9uc1Bvc2l0aW9uLkJPVEgsIGliTWF0QWN0aW9uc1Bvc2l0aW9uLkJPVFRPTV0uaW5kZXhPZihhY3Rpb25zUG9zaXRpb24pID4gLTFcIlxuICAgID5cbiAgICA8aWItbWF0ZXJpYWwtZm9ybS1jb250cm9sXG4gICAgICAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIHNpbXBsZUFjdGlvbnNcIlxuICAgICAgY2xhc3M9XCJpYkZvcm1Sb3dcIlxuICAgICAgW2Jhc2VdPVwiYWN0aW9uXCJcbiAgICAgIFtmb3JtXT1cImZvcm1cIlxuICAgICAgW2F0dHIuZGF0YS1jeV09XCJhY3Rpb24ua2V5XCJcbiAgICA+PC9pYi1tYXRlcmlhbC1mb3JtLWNvbnRyb2w+XG4gICAgPGliLW1hdGVyaWFsLWZvcm0tY29udHJvbFxuICAgICAgKm5nSWY9XCJzdWJtaXRBY3Rpb25cIlxuICAgICAgY2xhc3M9XCJpYkZvcm1Sb3dcIlxuICAgICAgW2Jhc2VdPVwic3VibWl0QWN0aW9uXCJcbiAgICAgIFtmb3JtXT1cImZvcm1cIlxuICAgICAgW2F0dHIuZGF0YS1jeV09XCJzdWJtaXRBY3Rpb24ua2V5XCJcbiAgICA+PC9pYi1tYXRlcmlhbC1mb3JtLWNvbnRyb2w+XG4gIDwvZGl2PlxuPC9mb3JtPlxuIl19
|
package/esm2022/src/app/inobeta-ui/ui/material-forms/material-form/material-form.stub.spec.mjs
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';
|
|
3
|
+
import { of } from 'rxjs';
|
|
4
|
+
import { IbMatActionsPosition } from './material-form.component';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class IbMaterialFormStubComponent {
|
|
7
|
+
fields = [];
|
|
8
|
+
actions = [];
|
|
9
|
+
actionsPosition = IbMatActionsPosition.BOTTOM;
|
|
10
|
+
disabledOnInit = false;
|
|
11
|
+
ibSubmit = new EventEmitter();
|
|
12
|
+
form;
|
|
13
|
+
constructor() {
|
|
14
|
+
}
|
|
15
|
+
ngOnInit() {
|
|
16
|
+
this.form = this.toFormGroup(this.fields);
|
|
17
|
+
}
|
|
18
|
+
ngOnChanges(changes) {
|
|
19
|
+
const fields = changes['fields'];
|
|
20
|
+
if (fields && !fields.isFirstChange()) {
|
|
21
|
+
this.form = this.toFormGroup(fields.currentValue);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
afterChanges() {
|
|
25
|
+
return of(this.toFormGroup(this.fields));
|
|
26
|
+
}
|
|
27
|
+
toFormGroup(fields) {
|
|
28
|
+
const group = {};
|
|
29
|
+
fields.forEach(field => {
|
|
30
|
+
const elem = {
|
|
31
|
+
value: field.value || '',
|
|
32
|
+
disabled: field.disabled
|
|
33
|
+
};
|
|
34
|
+
let validators = [];
|
|
35
|
+
if (field.validators && field.validators.length) {
|
|
36
|
+
validators = validators.concat(field.validators);
|
|
37
|
+
}
|
|
38
|
+
if (field.required) {
|
|
39
|
+
validators.push(Validators.required);
|
|
40
|
+
}
|
|
41
|
+
group[field.key] = new UntypedFormControl(elem, validators);
|
|
42
|
+
});
|
|
43
|
+
return new UntypedFormGroup(group);
|
|
44
|
+
}
|
|
45
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbMaterialFormStubComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
46
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: IbMaterialFormStubComponent, selector: "ib-material-form", inputs: { fields: "fields", actions: "actions", actionsPosition: "actionsPosition", disabledOnInit: "disabledOnInit" }, outputs: { ibSubmit: "ibSubmit" }, usesOnChanges: true, ngImport: i0, template: ``, isInline: true });
|
|
47
|
+
}
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbMaterialFormStubComponent, decorators: [{
|
|
49
|
+
type: Component,
|
|
50
|
+
args: [{
|
|
51
|
+
selector: 'ib-material-form',
|
|
52
|
+
template: ``,
|
|
53
|
+
}]
|
|
54
|
+
}], ctorParameters: () => [], propDecorators: { fields: [{
|
|
55
|
+
type: Input
|
|
56
|
+
}], actions: [{
|
|
57
|
+
type: Input
|
|
58
|
+
}], actionsPosition: [{
|
|
59
|
+
type: Input
|
|
60
|
+
}], disabledOnInit: [{
|
|
61
|
+
type: Input
|
|
62
|
+
}], ibSubmit: [{
|
|
63
|
+
type: Output
|
|
64
|
+
}] } });
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwtZm9ybS5zdHViLnNwZWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2lub2JldGEtdWkvdWkvbWF0ZXJpYWwtZm9ybXMvbWF0ZXJpYWwtZm9ybS9tYXRlcmlhbC1mb3JtLnN0dWIuc3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUN0RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEYsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUcxQixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFNakUsTUFBTSxPQUFPLDJCQUEyQjtJQUM3QixNQUFNLEdBQWdDLEVBQUUsQ0FBQztJQUN6QyxPQUFPLEdBQW1CLEVBQUUsQ0FBQztJQUM3QixlQUFlLEdBQUcsb0JBQW9CLENBQUMsTUFBTSxDQUFDO0lBQzlDLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDdEIsUUFBUSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDN0MsSUFBSSxDQUFtQjtJQUV2QjtJQUNBLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNqQyxJQUFJLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDcEQsQ0FBQztJQUNILENBQUM7SUFFRCxZQUFZO1FBQ1YsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQTtJQUMxQyxDQUFDO0lBRUQsV0FBVyxDQUFDLE1BQWdDO1FBQzFDLE1BQU0sS0FBSyxHQUFRLEVBQUUsQ0FBQztRQUV0QixNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3JCLE1BQU0sSUFBSSxHQUFHO2dCQUNYLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSyxJQUFJLEVBQUU7Z0JBQ3hCLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTthQUN6QixDQUFDO1lBQ0YsSUFBSSxVQUFVLEdBQUcsRUFBRSxDQUFDO1lBQ3BCLElBQUksS0FBSyxDQUFDLFVBQVUsSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNoRCxVQUFVLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDbkQsQ0FBQztZQUNELElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNuQixVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN2QyxDQUFDO1lBQ0QsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLGtCQUFrQixDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztRQUU5RCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQyxDQUFDO3VHQTlDVSwyQkFBMkI7MkZBQTNCLDJCQUEyQix3T0FGNUIsRUFBRTs7MkZBRUQsMkJBQTJCO2tCQUp2QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFFBQVEsRUFBRSxFQUFFO2lCQUNiO3dEQUVVLE1BQU07c0JBQWQsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNJLFFBQVE7c0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1Db250cm9sLCBVbnR5cGVkRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEliRm9ybUNvbnRyb2xCYXNlIH0gZnJvbSAnLi4vLi4vZm9ybXMvY29udHJvbHMvZm9ybS1jb250cm9sLWJhc2UnO1xuaW1wb3J0IHsgSWJGb3JtQWN0aW9uIH0gZnJvbSAnLi4vLi4vZm9ybXMvZHluYW1pYy1mb3JtL2R5bmFtaWMtZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSWJNYXRBY3Rpb25zUG9zaXRpb24gfSBmcm9tICcuL21hdGVyaWFsLWZvcm0uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaWItbWF0ZXJpYWwtZm9ybScsXG4gIHRlbXBsYXRlOiBgYCxcbn0pXG5leHBvcnQgY2xhc3MgSWJNYXRlcmlhbEZvcm1TdHViQ29tcG9uZW50IHtcbiAgQElucHV0KCkgZmllbGRzOiBJYkZvcm1Db250cm9sQmFzZTxzdHJpbmc+W10gPSBbXTtcbiAgQElucHV0KCkgYWN0aW9uczogSWJGb3JtQWN0aW9uW10gPSBbXTtcbiAgQElucHV0KCkgYWN0aW9uc1Bvc2l0aW9uID0gSWJNYXRBY3Rpb25zUG9zaXRpb24uQk9UVE9NO1xuICBASW5wdXQoKSBkaXNhYmxlZE9uSW5pdCA9IGZhbHNlO1xuICBAT3V0cHV0KCkgaWJTdWJtaXQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgZm9ybTogVW50eXBlZEZvcm1Hcm91cDtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZm9ybSA9IHRoaXMudG9Gb3JtR3JvdXAodGhpcy5maWVsZHMpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGNvbnN0IGZpZWxkcyA9IGNoYW5nZXNbJ2ZpZWxkcyddO1xuICAgIGlmIChmaWVsZHMgJiYgIWZpZWxkcy5pc0ZpcnN0Q2hhbmdlKCkpIHtcbiAgICAgIHRoaXMuZm9ybSA9IHRoaXMudG9Gb3JtR3JvdXAoZmllbGRzLmN1cnJlbnRWYWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgYWZ0ZXJDaGFuZ2VzKCl7XG4gICAgcmV0dXJuIG9mKHRoaXMudG9Gb3JtR3JvdXAodGhpcy5maWVsZHMpKVxuICB9XG5cbiAgdG9Gb3JtR3JvdXAoZmllbGRzOiBJYkZvcm1Db250cm9sQmFzZTxhbnk+W10pIHtcbiAgICBjb25zdCBncm91cDogYW55ID0ge307XG5cbiAgICBmaWVsZHMuZm9yRWFjaChmaWVsZCA9PiB7XG4gICAgICBjb25zdCBlbGVtID0ge1xuICAgICAgICB2YWx1ZTogZmllbGQudmFsdWUgfHwgJycsXG4gICAgICAgIGRpc2FibGVkOiBmaWVsZC5kaXNhYmxlZFxuICAgICAgfTtcbiAgICAgIGxldCB2YWxpZGF0b3JzID0gW107XG4gICAgICBpZiAoZmllbGQudmFsaWRhdG9ycyAmJiBmaWVsZC52YWxpZGF0b3JzLmxlbmd0aCkge1xuICAgICAgICB2YWxpZGF0b3JzID0gdmFsaWRhdG9ycy5jb25jYXQoZmllbGQudmFsaWRhdG9ycyk7XG4gICAgICB9XG4gICAgICBpZiAoZmllbGQucmVxdWlyZWQpIHtcbiAgICAgICAgdmFsaWRhdG9ycy5wdXNoKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xuICAgICAgfVxuICAgICAgZ3JvdXBbZmllbGQua2V5XSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woZWxlbSwgdmFsaWRhdG9ycyk7XG5cbiAgICB9KTtcblxuICAgIHJldHVybiBuZXcgVW50eXBlZEZvcm1Hcm91cChncm91cCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Component } from "@angular/core";
|
|
2
|
+
import { IbDynamicFormArrayComponent } from "../../forms/dynamic-form-array/dynamic-form-array.component";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
import * as i2 from "@angular/forms";
|
|
6
|
+
import * as i3 from "@angular/material/button";
|
|
7
|
+
import * as i4 from "@angular/material/icon";
|
|
8
|
+
import * as i5 from "../material-form-control/material-form-control.component";
|
|
9
|
+
import * as i6 from "@ngx-translate/core";
|
|
10
|
+
export class IbMaterialFormArrayComponent extends IbDynamicFormArrayComponent {
|
|
11
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbMaterialFormArrayComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
12
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: IbMaterialFormArrayComponent, selector: "ib-material-form-array", usesInheritance: true, ngImport: i0, template: "<form class=\"ibFormArray\" [formGroup]=\"form\">\n\n <section class=\"ibFormArrayItem\" *ngFor=\"let line of array.controls; let index = index\"\n style=\"display: flex; flex-wrap: wrap\">\n <ng-container *ngFor=\"let field of base.fields\">\n <ng-container [ngSwitch]=\"field.role\">\n <ib-material-form-control *ngSwitchCase=\"'control'\" class=\"ibFormRow\" [base]=\"field\" [form]=\"getGroupAt(index)\"\n [style.flex]=\"'1 1 ' + field.width\" [style.max-width]=\"field.width\"\n [attr.data-cy]=\"field.key\"\n ></ib-material-form-control>\n </ng-container>\n </ng-container>\n <div class=\"ibFormArrayActions\">\n <button mat-icon-button *ngIf=\"lines > 0\" (click)=\"removeField(index)\" [disabled]=\"array.disabled\">\n <mat-icon>remove</mat-icon>\n </button>\n <button mat-icon-button *ngIf=\"lines - 1 === index && lines !== max\" (click)=\"addField()\"\n [disabled]=\"array.disabled\">\n <mat-icon>add</mat-icon>\n </button>\n </div>\n </section>\n\n <section *ngIf=\"!array.controls.length\" class=\"ibFormArrayItem\">\n <div class=\"ibFormArrayActions\">\n <button mat-flat-button (click)=\"addField()\"\n [disabled]=\"array.disabled\">\n <mat-icon>add</mat-icon>\n {{ base.options.addFieldLabel | translate }}\n </button>\n </div>\n </section>\n\n</form>\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.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { 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: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.IbMaterialFormControlComponent, selector: "ib-material-form-control" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
|
|
13
|
+
}
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbMaterialFormArrayComponent, decorators: [{
|
|
15
|
+
type: Component,
|
|
16
|
+
args: [{ selector: "ib-material-form-array", template: "<form class=\"ibFormArray\" [formGroup]=\"form\">\n\n <section class=\"ibFormArrayItem\" *ngFor=\"let line of array.controls; let index = index\"\n style=\"display: flex; flex-wrap: wrap\">\n <ng-container *ngFor=\"let field of base.fields\">\n <ng-container [ngSwitch]=\"field.role\">\n <ib-material-form-control *ngSwitchCase=\"'control'\" class=\"ibFormRow\" [base]=\"field\" [form]=\"getGroupAt(index)\"\n [style.flex]=\"'1 1 ' + field.width\" [style.max-width]=\"field.width\"\n [attr.data-cy]=\"field.key\"\n ></ib-material-form-control>\n </ng-container>\n </ng-container>\n <div class=\"ibFormArrayActions\">\n <button mat-icon-button *ngIf=\"lines > 0\" (click)=\"removeField(index)\" [disabled]=\"array.disabled\">\n <mat-icon>remove</mat-icon>\n </button>\n <button mat-icon-button *ngIf=\"lines - 1 === index && lines !== max\" (click)=\"addField()\"\n [disabled]=\"array.disabled\">\n <mat-icon>add</mat-icon>\n </button>\n </div>\n </section>\n\n <section *ngIf=\"!array.controls.length\" class=\"ibFormArrayItem\">\n <div class=\"ibFormArrayActions\">\n <button mat-flat-button (click)=\"addField()\"\n [disabled]=\"array.disabled\">\n <mat-icon>add</mat-icon>\n {{ base.options.addFieldLabel | translate }}\n </button>\n </div>\n </section>\n\n</form>\n" }]
|
|
17
|
+
}] });
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwtZm9ybS1hcnJheS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2lub2JldGEtdWkvdWkvbWF0ZXJpYWwtZm9ybXMvbWF0ZXJpYWwtZm9ybS1hcnJheS9tYXRlcmlhbC1mb3JtLWFycmF5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvaW5vYmV0YS11aS91aS9tYXRlcmlhbC1mb3Jtcy9tYXRlcmlhbC1mb3JtLWFycmF5L21hdGVyaWFsLWZvcm0tYXJyYXkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQzs7Ozs7Ozs7QUFNMUcsTUFBTSxPQUFPLDRCQUE2QixTQUFRLDJCQUEyQjt1R0FBaEUsNEJBQTRCOzJGQUE1Qiw0QkFBNEIscUZDUHpDLG80Q0FrQ0E7OzJGRDNCYSw0QkFBNEI7a0JBSnhDLFNBQVM7K0JBQ0Usd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEliRHluYW1pY0Zvcm1BcnJheUNvbXBvbmVudCB9IGZyb20gXCIuLi8uLi9mb3Jtcy9keW5hbWljLWZvcm0tYXJyYXkvZHluYW1pYy1mb3JtLWFycmF5LmNvbXBvbmVudFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiaWItbWF0ZXJpYWwtZm9ybS1hcnJheVwiLFxuICB0ZW1wbGF0ZVVybDogXCJtYXRlcmlhbC1mb3JtLWFycmF5LmNvbXBvbmVudC5odG1sXCIsXG59KVxuZXhwb3J0IGNsYXNzIEliTWF0ZXJpYWxGb3JtQXJyYXlDb21wb25lbnQgZXh0ZW5kcyBJYkR5bmFtaWNGb3JtQXJyYXlDb21wb25lbnQge31cbiIsIjxmb3JtIGNsYXNzPVwiaWJGb3JtQXJyYXlcIiBbZm9ybUdyb3VwXT1cImZvcm1cIj5cblxuICA8c2VjdGlvbiBjbGFzcz1cImliRm9ybUFycmF5SXRlbVwiICpuZ0Zvcj1cImxldCBsaW5lIG9mIGFycmF5LmNvbnRyb2xzOyBsZXQgaW5kZXggPSBpbmRleFwiXG4gICAgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBmbGV4LXdyYXA6IHdyYXBcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBmaWVsZCBvZiBiYXNlLmZpZWxkc1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiZmllbGQucm9sZVwiPlxuICAgICAgICA8aWItbWF0ZXJpYWwtZm9ybS1jb250cm9sICpuZ1N3aXRjaENhc2U9XCInY29udHJvbCdcIiBjbGFzcz1cImliRm9ybVJvd1wiIFtiYXNlXT1cImZpZWxkXCIgW2Zvcm1dPVwiZ2V0R3JvdXBBdChpbmRleClcIlxuICAgICAgICAgIFtzdHlsZS5mbGV4XT1cIicxIDEgJyArIGZpZWxkLndpZHRoXCIgW3N0eWxlLm1heC13aWR0aF09XCJmaWVsZC53aWR0aFwiXG4gICAgICAgICAgW2F0dHIuZGF0YS1jeV09XCJmaWVsZC5rZXlcIlxuICAgICAgICAgID48L2liLW1hdGVyaWFsLWZvcm0tY29udHJvbD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxkaXYgY2xhc3M9XCJpYkZvcm1BcnJheUFjdGlvbnNcIj5cbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uICpuZ0lmPVwibGluZXMgPiAwXCIgKGNsaWNrKT1cInJlbW92ZUZpZWxkKGluZGV4KVwiIFtkaXNhYmxlZF09XCJhcnJheS5kaXNhYmxlZFwiPlxuICAgICAgICA8bWF0LWljb24+cmVtb3ZlPC9tYXQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKm5nSWY9XCJsaW5lcyAtIDEgPT09IGluZGV4ICYmIGxpbmVzICE9PSBtYXhcIiAoY2xpY2spPVwiYWRkRmllbGQoKVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJhcnJheS5kaXNhYmxlZFwiPlxuICAgICAgICA8bWF0LWljb24+YWRkPC9tYXQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L3NlY3Rpb24+XG5cbiAgPHNlY3Rpb24gKm5nSWY9XCIhYXJyYXkuY29udHJvbHMubGVuZ3RoXCIgY2xhc3M9XCJpYkZvcm1BcnJheUl0ZW1cIj5cbiAgICA8ZGl2IGNsYXNzPVwiaWJGb3JtQXJyYXlBY3Rpb25zXCI+XG4gICAgICA8YnV0dG9uIG1hdC1mbGF0LWJ1dHRvbiAoY2xpY2spPVwiYWRkRmllbGQoKVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJhcnJheS5kaXNhYmxlZFwiPlxuICAgICAgICA8bWF0LWljb24+YWRkPC9tYXQtaWNvbj5cbiAgICAgICAge3sgYmFzZS5vcHRpb25zLmFkZEZpZWxkTGFiZWwgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L3NlY3Rpb24+XG5cbjwvZm9ybT5cbiJdfQ==
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { Component, Directive, ViewChild, } from "@angular/core";
|
|
2
|
+
import { IbDynamicFormControlComponent } from "../../forms/dynamic-form-control/dynamic-form-control.component";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@ngx-translate/core";
|
|
5
|
+
export class IbFormControlDirective {
|
|
6
|
+
viewContainerRef;
|
|
7
|
+
constructor(viewContainerRef) {
|
|
8
|
+
this.viewContainerRef = viewContainerRef;
|
|
9
|
+
}
|
|
10
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbFormControlDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
11
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.1", type: IbFormControlDirective, selector: "[formControlHost]", ngImport: i0 });
|
|
12
|
+
}
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbFormControlDirective, decorators: [{
|
|
14
|
+
type: Directive,
|
|
15
|
+
args: [{
|
|
16
|
+
selector: "[formControlHost]",
|
|
17
|
+
}]
|
|
18
|
+
}], ctorParameters: () => [{ type: i0.ViewContainerRef }] });
|
|
19
|
+
export class IbMaterialFormControlComponent extends IbDynamicFormControlComponent {
|
|
20
|
+
formControlHost;
|
|
21
|
+
formControlErrors;
|
|
22
|
+
componentRef;
|
|
23
|
+
ngOnChanges(changes) {
|
|
24
|
+
const form = changes["form"];
|
|
25
|
+
if (form && !form.isFirstChange()) {
|
|
26
|
+
this.componentRef.instance.data = {
|
|
27
|
+
...this.componentRef.instance.data,
|
|
28
|
+
form: form.currentValue,
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
ngOnInit() {
|
|
33
|
+
this.loadComponent();
|
|
34
|
+
}
|
|
35
|
+
loadComponent() {
|
|
36
|
+
if (!this.base.control) {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
const viewContainerRef = this.formControlHost.viewContainerRef;
|
|
40
|
+
viewContainerRef.clear();
|
|
41
|
+
this.componentRef =
|
|
42
|
+
viewContainerRef.createComponent(this.base.control.component);
|
|
43
|
+
this.componentRef.setInput('data', {
|
|
44
|
+
...this.base.control.data,
|
|
45
|
+
form: this.form,
|
|
46
|
+
self: this.self,
|
|
47
|
+
hasError: this.hasError,
|
|
48
|
+
formControlErrors: this.formControlErrors,
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbMaterialFormControlComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
52
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.1", type: IbMaterialFormControlComponent, selector: "ib-material-form-control", viewQueries: [{ propertyName: "formControlHost", first: true, predicate: IbFormControlDirective, descendants: true, static: true }, { propertyName: "formControlErrors", first: true, predicate: ["formControlErrors"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-template formControlHost></ng-template>\n<ng-template #formControlErrors>\n @if (hasError('required')) {\n <span>\n {{base.label | translate}} {{ 'shared.ibForms.errors.required' | translate }}\n </span>\n }\n @else if (hasError('minlength')) {\n <span>\n {{base.label | translate}} {{ 'shared.ibForms.errors.minlength' | translate:{v:self.errors.minlength.requiredLength} }}\n </span>\n }\n @else if (hasError('maxlength')) {\n <span>\n {{base.label | translate}} {{ 'shared.ibForms.errors.maxlength' | translate:{v:self.errors.maxlength.requiredLength} }}\n </span>\n }\n @else if (hasError('min')) {\n <span>\n {{base.label | translate}} {{ 'shared.ibForms.errors.min' | translate:{v:self.errors.min.min} }}\n </span>\n }\n @else if (hasError('max')) {\n <span>\n {{base.label | translate}} {{ 'shared.ibForms.errors.max' | translate:{v:self.errors.max.max} }}\n </span>\n }\n @else if (hasError('email')) {\n <span>\n {{ 'shared.ibForms.errors.email' | translate }}\n </span>\n }\n @else if (hasError('matDatepickerParse')) {\n <span>\n {{ 'shared.ibForms.errors.date' | translate:{v:self.errors.matDatepickerParse.matDatepickerParse} }}\n </span>\n }\n @else if (hasError('customError')) {\n <span>\n {{ self.errors.customError.message | translate:self.errors.customError.params }}\n </span>\n }\n</ng-template>\n", dependencies: [{ kind: "directive", type: IbFormControlDirective, selector: "[formControlHost]" }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
|
|
53
|
+
}
|
|
54
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbMaterialFormControlComponent, decorators: [{
|
|
55
|
+
type: Component,
|
|
56
|
+
args: [{ selector: "ib-material-form-control", template: "<ng-template formControlHost></ng-template>\n<ng-template #formControlErrors>\n @if (hasError('required')) {\n <span>\n {{base.label | translate}} {{ 'shared.ibForms.errors.required' | translate }}\n </span>\n }\n @else if (hasError('minlength')) {\n <span>\n {{base.label | translate}} {{ 'shared.ibForms.errors.minlength' | translate:{v:self.errors.minlength.requiredLength} }}\n </span>\n }\n @else if (hasError('maxlength')) {\n <span>\n {{base.label | translate}} {{ 'shared.ibForms.errors.maxlength' | translate:{v:self.errors.maxlength.requiredLength} }}\n </span>\n }\n @else if (hasError('min')) {\n <span>\n {{base.label | translate}} {{ 'shared.ibForms.errors.min' | translate:{v:self.errors.min.min} }}\n </span>\n }\n @else if (hasError('max')) {\n <span>\n {{base.label | translate}} {{ 'shared.ibForms.errors.max' | translate:{v:self.errors.max.max} }}\n </span>\n }\n @else if (hasError('email')) {\n <span>\n {{ 'shared.ibForms.errors.email' | translate }}\n </span>\n }\n @else if (hasError('matDatepickerParse')) {\n <span>\n {{ 'shared.ibForms.errors.date' | translate:{v:self.errors.matDatepickerParse.matDatepickerParse} }}\n </span>\n }\n @else if (hasError('customError')) {\n <span>\n {{ self.errors.customError.message | translate:self.errors.customError.params }}\n </span>\n }\n</ng-template>\n" }]
|
|
57
|
+
}], propDecorators: { formControlHost: [{
|
|
58
|
+
type: ViewChild,
|
|
59
|
+
args: [IbFormControlDirective, { static: true }]
|
|
60
|
+
}], formControlErrors: [{
|
|
61
|
+
type: ViewChild,
|
|
62
|
+
args: ["formControlErrors", { static: true }]
|
|
63
|
+
}] } });
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwtZm9ybS1jb250cm9sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvaW5vYmV0YS11aS91aS9tYXRlcmlhbC1mb3Jtcy9tYXRlcmlhbC1mb3JtLWNvbnRyb2wvbWF0ZXJpYWwtZm9ybS1jb250cm9sLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvaW5vYmV0YS11aS91aS9tYXRlcmlhbC1mb3Jtcy9tYXRlcmlhbC1mb3JtLWNvbnRyb2wvbWF0ZXJpYWwtZm9ybS1jb250cm9sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsU0FBUyxFQUtULFNBQVMsR0FFVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxpRUFBaUUsQ0FBQzs7O0FBS2hILE1BQU0sT0FBTyxzQkFBc0I7SUFDZDtJQUFuQixZQUFtQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUFHLENBQUM7dUdBRDlDLHNCQUFzQjsyRkFBdEIsc0JBQXNCOzsyRkFBdEIsc0JBQXNCO2tCQUhsQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7aUJBQzlCOztBQVNELE1BQU0sT0FBTyw4QkFDWCxTQUFRLDZCQUE2QjtJQUlyQyxlQUFlLENBQXlCO0lBRXhDLGlCQUFpQixDQUFtQjtJQUVwQyxZQUFZLENBQUM7SUFDYixXQUFXLENBQUMsT0FBc0I7UUFDaEMsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzdCLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHO2dCQUNoQyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLElBQUk7Z0JBQ2xDLElBQUksRUFBRSxJQUFJLENBQUMsWUFBWTthQUN4QixDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7SUFDRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDdkIsT0FBTztRQUNULENBQUM7UUFFRCxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLENBQUM7UUFDL0QsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFekIsSUFBSSxDQUFDLFlBQVk7WUFDZixnQkFBZ0IsQ0FBQyxlQUFlLENBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FDNUIsQ0FBQztRQUNKLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRTtZQUNqQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUk7WUFDekIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLGlCQUFpQixFQUFFLElBQUksQ0FBQyxpQkFBaUI7U0FDMUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzt1R0ExQ1UsOEJBQThCOzJGQUE5Qiw4QkFBOEIsaUhBSTlCLHNCQUFzQixpT0M1Qm5DLG81Q0EyQ0EsNENEM0JhLHNCQUFzQjs7MkZBUXRCLDhCQUE4QjtrQkFKMUMsU0FBUzsrQkFDRSwwQkFBMEI7OEJBUXBDLGVBQWU7c0JBRGQsU0FBUzt1QkFBQyxzQkFBc0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBR25ELGlCQUFpQjtzQkFEaEIsU0FBUzt1QkFBQyxtQkFBbUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIERpcmVjdGl2ZSxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBJYkZvcm1Db250cm9sSW50ZXJmYWNlIH0gZnJvbSBcIi4uLy4uL2Zvcm1zL2NvbnRyb2xzL2Zvcm0tY29udHJvbC1iYXNlXCI7XG5pbXBvcnQgeyBJYkR5bmFtaWNGb3JtQ29udHJvbENvbXBvbmVudCB9IGZyb20gXCIuLi8uLi9mb3Jtcy9keW5hbWljLWZvcm0tY29udHJvbC9keW5hbWljLWZvcm0tY29udHJvbC5jb21wb25lbnRcIjtcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiBcIltmb3JtQ29udHJvbEhvc3RdXCIsXG59KVxuZXhwb3J0IGNsYXNzIEliRm9ybUNvbnRyb2xEaXJlY3RpdmUge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZikge31cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImliLW1hdGVyaWFsLWZvcm0tY29udHJvbFwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL21hdGVyaWFsLWZvcm0tY29udHJvbC5jb21wb25lbnQuaHRtbFwiLFxufSlcbmV4cG9ydCBjbGFzcyBJYk1hdGVyaWFsRm9ybUNvbnRyb2xDb21wb25lbnRcbiAgZXh0ZW5kcyBJYkR5bmFtaWNGb3JtQ29udHJvbENvbXBvbmVudFxuICBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzXG57XG4gIEBWaWV3Q2hpbGQoSWJGb3JtQ29udHJvbERpcmVjdGl2ZSwgeyBzdGF0aWM6IHRydWUgfSlcbiAgZm9ybUNvbnRyb2xIb3N0OiBJYkZvcm1Db250cm9sRGlyZWN0aXZlO1xuICBAVmlld0NoaWxkKFwiZm9ybUNvbnRyb2xFcnJvcnNcIiwgeyBzdGF0aWM6IHRydWUgfSlcbiAgZm9ybUNvbnRyb2xFcnJvcnM6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgY29tcG9uZW50UmVmO1xuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgY29uc3QgZm9ybSA9IGNoYW5nZXNbXCJmb3JtXCJdO1xuICAgIGlmIChmb3JtICYmICFmb3JtLmlzRmlyc3RDaGFuZ2UoKSkge1xuICAgICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UuZGF0YSA9IHtcbiAgICAgICAgLi4udGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UuZGF0YSxcbiAgICAgICAgZm9ybTogZm9ybS5jdXJyZW50VmFsdWUsXG4gICAgICB9O1xuICAgIH1cbiAgfVxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmxvYWRDb21wb25lbnQoKTtcbiAgfVxuXG4gIGxvYWRDb21wb25lbnQoKSB7XG4gICAgaWYgKCF0aGlzLmJhc2UuY29udHJvbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHZpZXdDb250YWluZXJSZWYgPSB0aGlzLmZvcm1Db250cm9sSG9zdC52aWV3Q29udGFpbmVyUmVmO1xuICAgIHZpZXdDb250YWluZXJSZWYuY2xlYXIoKTtcblxuICAgIHRoaXMuY29tcG9uZW50UmVmID1cbiAgICAgIHZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50PEliRm9ybUNvbnRyb2xJbnRlcmZhY2U+KFxuICAgICAgICB0aGlzLmJhc2UuY29udHJvbC5jb21wb25lbnRcbiAgICAgICk7XG4gICAgdGhpcy5jb21wb25lbnRSZWYuc2V0SW5wdXQoJ2RhdGEnLCB7XG4gICAgICAuLi50aGlzLmJhc2UuY29udHJvbC5kYXRhLFxuICAgICAgZm9ybTogdGhpcy5mb3JtLFxuICAgICAgc2VsZjogdGhpcy5zZWxmLFxuICAgICAgaGFzRXJyb3I6IHRoaXMuaGFzRXJyb3IsXG4gICAgICBmb3JtQ29udHJvbEVycm9yczogdGhpcy5mb3JtQ29udHJvbEVycm9ycyxcbiAgICB9KTtcbiAgfVxufVxuIiwiPG5nLXRlbXBsYXRlIGZvcm1Db250cm9sSG9zdD48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlICNmb3JtQ29udHJvbEVycm9ycz5cbiAgQGlmIChoYXNFcnJvcigncmVxdWlyZWQnKSkge1xuICAgIDxzcGFuPlxuICAgICAge3tiYXNlLmxhYmVsIHwgdHJhbnNsYXRlfX0ge3sgJ3NoYXJlZC5pYkZvcm1zLmVycm9ycy5yZXF1aXJlZCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L3NwYW4+XG4gIH1cbiAgQGVsc2UgaWYgKGhhc0Vycm9yKCdtaW5sZW5ndGgnKSkge1xuICAgIDxzcGFuPlxuICAgICAge3tiYXNlLmxhYmVsIHwgdHJhbnNsYXRlfX0ge3sgJ3NoYXJlZC5pYkZvcm1zLmVycm9ycy5taW5sZW5ndGgnIHwgdHJhbnNsYXRlOnt2OnNlbGYuZXJyb3JzLm1pbmxlbmd0aC5yZXF1aXJlZExlbmd0aH0gfX1cbiAgICA8L3NwYW4+XG4gIH1cbiAgQGVsc2UgaWYgKGhhc0Vycm9yKCdtYXhsZW5ndGgnKSkge1xuICAgIDxzcGFuPlxuICAgICAge3tiYXNlLmxhYmVsIHwgdHJhbnNsYXRlfX0ge3sgJ3NoYXJlZC5pYkZvcm1zLmVycm9ycy5tYXhsZW5ndGgnIHwgdHJhbnNsYXRlOnt2OnNlbGYuZXJyb3JzLm1heGxlbmd0aC5yZXF1aXJlZExlbmd0aH0gfX1cbiAgICA8L3NwYW4+XG4gIH1cbiAgQGVsc2UgaWYgKGhhc0Vycm9yKCdtaW4nKSkge1xuICAgIDxzcGFuPlxuICAgICAge3tiYXNlLmxhYmVsIHwgdHJhbnNsYXRlfX0ge3sgJ3NoYXJlZC5pYkZvcm1zLmVycm9ycy5taW4nIHwgdHJhbnNsYXRlOnt2OnNlbGYuZXJyb3JzLm1pbi5taW59IH19XG4gICAgPC9zcGFuPlxuICB9XG4gIEBlbHNlIGlmIChoYXNFcnJvcignbWF4JykpIHtcbiAgICA8c3Bhbj5cbiAgICAgIHt7YmFzZS5sYWJlbCB8IHRyYW5zbGF0ZX19IHt7ICdzaGFyZWQuaWJGb3Jtcy5lcnJvcnMubWF4JyB8IHRyYW5zbGF0ZTp7djpzZWxmLmVycm9ycy5tYXgubWF4fSB9fVxuICAgIDwvc3Bhbj5cbiAgfVxuICBAZWxzZSBpZiAoaGFzRXJyb3IoJ2VtYWlsJykpIHtcbiAgICA8c3Bhbj5cbiAgICAgIHt7ICdzaGFyZWQuaWJGb3Jtcy5lcnJvcnMuZW1haWwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9zcGFuPlxuICB9XG4gIEBlbHNlIGlmIChoYXNFcnJvcignbWF0RGF0ZXBpY2tlclBhcnNlJykpIHtcbiAgICA8c3Bhbj5cbiAgICAgIHt7ICdzaGFyZWQuaWJGb3Jtcy5lcnJvcnMuZGF0ZScgfCB0cmFuc2xhdGU6e3Y6c2VsZi5lcnJvcnMubWF0RGF0ZXBpY2tlclBhcnNlLm1hdERhdGVwaWNrZXJQYXJzZX0gfX1cbiAgICA8L3NwYW4+XG4gIH1cbiAgQGVsc2UgaWYgKGhhc0Vycm9yKCdjdXN0b21FcnJvcicpKSB7XG4gICAgPHNwYW4+XG4gICAgICB7eyBzZWxmLmVycm9ycy5jdXN0b21FcnJvci5tZXNzYWdlIHwgdHJhbnNsYXRlOnNlbGYuZXJyb3JzLmN1c3RvbUVycm9yLnBhcmFtcyB9fVxuICAgIDwvc3Bhbj5cbiAgfVxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|