@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,129 @@
|
|
|
1
|
+
import { ActivatedRoute, Router } from '@angular/router';
|
|
2
|
+
import { Injectable, inject } from '@angular/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class IbTableUrlService {
|
|
5
|
+
_emptyFilterSchema = {};
|
|
6
|
+
get emptyFilterSchema() {
|
|
7
|
+
return this._emptyFilterSchema;
|
|
8
|
+
}
|
|
9
|
+
set emptyFilterSchema(value) {
|
|
10
|
+
this._emptyFilterSchema = value;
|
|
11
|
+
}
|
|
12
|
+
router = inject(Router);
|
|
13
|
+
activatedRoute = inject(ActivatedRoute);
|
|
14
|
+
constructor() { }
|
|
15
|
+
getRawParams(tableName) {
|
|
16
|
+
return JSON.parse(this.activatedRoute.snapshot.queryParams?.[tableName]
|
|
17
|
+
?? `{"ibfilter": ${JSON.stringify(this.emptyFilterSchema[tableName] ?? {})}, "ibview": "__ibTableView__all", "ibpage": 0, "ibpagesize": 10, "ibaggregatedcolumns": {}, "ibsort": {} }`) ?? {};
|
|
18
|
+
}
|
|
19
|
+
getFilters(tableName) {
|
|
20
|
+
return this.getRawParams(tableName).ibfilter ?? {};
|
|
21
|
+
}
|
|
22
|
+
setFilters(tableName, params) {
|
|
23
|
+
this.router.navigate([], {
|
|
24
|
+
queryParams: {
|
|
25
|
+
[tableName]: JSON.stringify({
|
|
26
|
+
...this.getRawParams(tableName),
|
|
27
|
+
ibfilter: params
|
|
28
|
+
})
|
|
29
|
+
},
|
|
30
|
+
queryParamsHandling: 'merge',
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
getActiveView(tableName) {
|
|
34
|
+
return this.getRawParams(tableName).ibview ?? '__ibTableView__all';
|
|
35
|
+
}
|
|
36
|
+
setPaginator(tableName, params) {
|
|
37
|
+
this.router.navigate([], {
|
|
38
|
+
queryParams: {
|
|
39
|
+
[tableName]: JSON.stringify({
|
|
40
|
+
...this.getRawParams(tableName),
|
|
41
|
+
ibpage: params.pageIndex,
|
|
42
|
+
ibpagesize: params.pageSize,
|
|
43
|
+
})
|
|
44
|
+
},
|
|
45
|
+
queryParamsHandling: 'merge',
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
getPaginator(tableName) {
|
|
49
|
+
return {
|
|
50
|
+
pageIndex: this.getRawParams(tableName).ibpage ?? 0,
|
|
51
|
+
pageSize: this.getRawParams(tableName).ibpagesize ?? 0,
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
setAggregatedColumns(tableName, params) {
|
|
55
|
+
this.router.navigate([], {
|
|
56
|
+
queryParams: {
|
|
57
|
+
[tableName]: JSON.stringify({
|
|
58
|
+
...this.getRawParams(tableName),
|
|
59
|
+
ibaggregatedcolumns: params
|
|
60
|
+
})
|
|
61
|
+
},
|
|
62
|
+
queryParamsHandling: 'merge',
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
getAggregatedColumns(tableName) {
|
|
66
|
+
return this.getRawParams(tableName).ibaggregatedcolumns ?? {};
|
|
67
|
+
}
|
|
68
|
+
setSort(tableName, params) {
|
|
69
|
+
const ibsort = params.direction !== '' ? params : null;
|
|
70
|
+
this.router.navigate([], {
|
|
71
|
+
queryParams: {
|
|
72
|
+
[tableName]: JSON.stringify({
|
|
73
|
+
...this.getRawParams(tableName),
|
|
74
|
+
ibsort
|
|
75
|
+
})
|
|
76
|
+
},
|
|
77
|
+
queryParamsHandling: 'merge',
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
getSort(tableName) {
|
|
81
|
+
return this.getRawParams(tableName).ibsort ?? { active: '', direction: '' };
|
|
82
|
+
}
|
|
83
|
+
handleViewChange(tableName, params) {
|
|
84
|
+
this.router.navigate([], {
|
|
85
|
+
queryParams: {
|
|
86
|
+
[tableName]: JSON.stringify({
|
|
87
|
+
...this.getRawParams(tableName),
|
|
88
|
+
ibview: params.view,
|
|
89
|
+
ibpage: params.page,
|
|
90
|
+
ibpagesize: params.pageSize,
|
|
91
|
+
ibfilter: params.filters,
|
|
92
|
+
ibaggregatedcolumns: params.aggregatedColumns,
|
|
93
|
+
ibsort: params.sort,
|
|
94
|
+
})
|
|
95
|
+
},
|
|
96
|
+
queryParamsHandling: 'merge',
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
getViewState(tableName) {
|
|
100
|
+
return {
|
|
101
|
+
view: this.getActiveView(tableName),
|
|
102
|
+
pageSize: this.getPaginator(tableName).pageSize,
|
|
103
|
+
page: this.getPaginator(tableName).pageIndex,
|
|
104
|
+
filters: this.getFilters(tableName),
|
|
105
|
+
aggregatedColumns: this.getAggregatedColumns(tableName),
|
|
106
|
+
sort: this.getSort(tableName)
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
setFilterAndSort(tableName, ibfilter, sort) {
|
|
110
|
+
const ibsort = sort.direction !== '' ? sort : null;
|
|
111
|
+
this.router.navigate([], {
|
|
112
|
+
queryParams: {
|
|
113
|
+
[tableName]: JSON.stringify({
|
|
114
|
+
...this.getRawParams(tableName),
|
|
115
|
+
ibfilter,
|
|
116
|
+
ibsort
|
|
117
|
+
})
|
|
118
|
+
},
|
|
119
|
+
queryParamsHandling: 'merge',
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbTableUrlService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
123
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbTableUrlService, providedIn: 'root' });
|
|
124
|
+
}
|
|
125
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbTableUrlService, decorators: [{
|
|
126
|
+
type: Injectable,
|
|
127
|
+
args: [{ providedIn: 'root' }]
|
|
128
|
+
}], ctorParameters: () => [] });
|
|
129
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtdXJsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2lub2JldGEtdWkvdWkva2FpLXRhYmxlL3RhYmxlLXVybC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBT25ELE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsa0JBQWtCLEdBQTJDLEVBQUUsQ0FBQztJQUVoRSxJQUFJLGlCQUFpQjtRQUNuQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztJQUNqQyxDQUFDO0lBQ0QsSUFBSSxpQkFBaUIsQ0FBQyxLQUFLO1FBQ3pCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7SUFDbEMsQ0FBQztJQUVELE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEIsY0FBYyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN4QyxnQkFBZ0IsQ0FBQztJQUVqQixZQUFZLENBQUMsU0FBaUI7UUFDNUIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQztlQUNsRSxnQkFBZ0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDLDZHQUE2RyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ25NLENBQUM7SUFHRCxVQUFVLENBQUMsU0FBaUI7UUFDMUIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUM7SUFDckQsQ0FBQztJQUVELFVBQVUsQ0FBQyxTQUFpQixFQUFFLE1BQThCO1FBQzFELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRTtZQUN2QixXQUFXLEVBQUU7Z0JBQ1gsQ0FBQyxTQUFTLENBQUMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDO29CQUMxQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDO29CQUMvQixRQUFRLEVBQUUsTUFBTTtpQkFDakIsQ0FBQzthQUNIO1lBQ0QsbUJBQW1CLEVBQUUsT0FBTztTQUM3QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsYUFBYSxDQUFDLFNBQWlCO1FBQzdCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLElBQUksb0JBQW9CLENBQUM7SUFDckUsQ0FBQztJQUVELFlBQVksQ0FBQyxTQUFpQixFQUFFLE1BQTZDO1FBQzNFLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRTtZQUN2QixXQUFXLEVBQUU7Z0JBQ1gsQ0FBQyxTQUFTLENBQUMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDO29CQUMxQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDO29CQUMvQixNQUFNLEVBQUUsTUFBTSxDQUFDLFNBQVM7b0JBQ3hCLFVBQVUsRUFBRSxNQUFNLENBQUMsUUFBUTtpQkFDNUIsQ0FBQzthQUNIO1lBQ0QsbUJBQW1CLEVBQUUsT0FBTztTQUM3QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsWUFBWSxDQUFDLFNBQWlCO1FBQzVCLE9BQU87WUFDTCxTQUFTLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQztZQUNuRCxRQUFRLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxVQUFVLElBQUksQ0FBQztTQUN2RCxDQUFBO0lBQ0gsQ0FBQztJQUVELG9CQUFvQixDQUFDLFNBQWlCLEVBQUMsTUFBOEI7UUFDbkUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFO1lBQ3ZCLFdBQVcsRUFBRTtnQkFDWCxDQUFDLFNBQVMsQ0FBQyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUM7b0JBQzFCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUM7b0JBQy9CLG1CQUFtQixFQUFFLE1BQU07aUJBQzVCLENBQUM7YUFDSDtZQUNELG1CQUFtQixFQUFFLE9BQU87U0FDN0IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELG9CQUFvQixDQUFDLFNBQWlCO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxtQkFBbUIsSUFBSSxFQUFFLENBQUM7SUFDaEUsQ0FBQztJQUVELE9BQU8sQ0FBQyxTQUFpQixFQUFDLE1BQVk7UUFDcEMsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLFNBQVMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFBO1FBQ3RELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRTtZQUN2QixXQUFXLEVBQUU7Z0JBQ1gsQ0FBQyxTQUFTLENBQUMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDO29CQUMxQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDO29CQUMvQixNQUFNO2lCQUNQLENBQUM7YUFDSDtZQUNELG1CQUFtQixFQUFFLE9BQU87U0FDN0IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU8sQ0FBQyxTQUFpQjtRQUN2QixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxJQUFJLEVBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVELGdCQUFnQixDQUFDLFNBQWlCLEVBQUMsTUFBNEQ7UUFDN0YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFO1lBQ3ZCLFdBQVcsRUFBRTtnQkFDWCxDQUFDLFNBQVMsQ0FBQyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUM7b0JBQzFCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUM7b0JBQy9CLE1BQU0sRUFBRSxNQUFNLENBQUMsSUFBSTtvQkFDbkIsTUFBTSxFQUFFLE1BQU0sQ0FBQyxJQUFJO29CQUNuQixVQUFVLEVBQUUsTUFBTSxDQUFDLFFBQVE7b0JBQzNCLFFBQVEsRUFBRSxNQUFNLENBQUMsT0FBTztvQkFDeEIsbUJBQW1CLEVBQUUsTUFBTSxDQUFDLGlCQUFpQjtvQkFDN0MsTUFBTSxFQUFFLE1BQU0sQ0FBQyxJQUFJO2lCQUNwQixDQUFDO2FBQ0g7WUFDRCxtQkFBbUIsRUFBRSxPQUFPO1NBQzdCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFHRCxZQUFZLENBQUMsU0FBaUI7UUFDNUIsT0FBTztZQUNMLElBQUksRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQztZQUNuQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFRO1lBQy9DLElBQUksRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVM7WUFDNUMsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDO1lBQ25DLGlCQUFpQixFQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUM7WUFDdkQsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO1NBQzlCLENBQUE7SUFDSCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsU0FBaUIsRUFBRSxRQUFnQyxFQUFFLElBQVU7UUFDOUUsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFBO1FBQ2xELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRTtZQUN2QixXQUFXLEVBQUU7Z0JBQ1gsQ0FBQyxTQUFTLENBQUMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDO29CQUMxQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDO29CQUMvQixRQUFRO29CQUNSLE1BQU07aUJBQ1AsQ0FBQzthQUNIO1lBQ0QsbUJBQW1CLEVBQUUsT0FBTztTQUM3QixDQUFDLENBQUM7SUFDTCxDQUFDO3VHQXRJVSxpQkFBaUI7MkdBQWpCLGlCQUFpQixjQURMLE1BQU07OzJGQUNsQixpQkFBaUI7a0JBRDdCLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEliRmlsdGVyU3ludGF4RXh0ZW5kZWQgfSBmcm9tICcuLi9rYWktZmlsdGVyL2ZpbHRlci50eXBlcyc7XG5pbXBvcnQgeyBTb3J0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCc7XG5pbXBvcnQgeyBJYkthaVRhYmxlUGFyYW1zIH0gZnJvbSAnLi9zdG9yZS91cmwtc3RhdGUvaW50ZXJmYWNlcyc7XG5cblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgSWJUYWJsZVVybFNlcnZpY2Uge1xuICBfZW1wdHlGaWx0ZXJTY2hlbWE6IFJlY29yZDxzdHJpbmcsIEliRmlsdGVyU3ludGF4RXh0ZW5kZWQ+ID0ge307XG5cbiAgZ2V0IGVtcHR5RmlsdGVyU2NoZW1hKCkge1xuICAgIHJldHVybiB0aGlzLl9lbXB0eUZpbHRlclNjaGVtYTtcbiAgfVxuICBzZXQgZW1wdHlGaWx0ZXJTY2hlbWEodmFsdWUpIHtcbiAgICB0aGlzLl9lbXB0eUZpbHRlclNjaGVtYSA9IHZhbHVlO1xuICB9XG5cbiAgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gIGFjdGl2YXRlZFJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlKTtcbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBnZXRSYXdQYXJhbXModGFibGVOYW1lOiBzdHJpbmcpOiBJYlRhYmxlUXNQYXJhbXMge1xuICAgIHJldHVybiBKU09OLnBhcnNlKHRoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3QucXVlcnlQYXJhbXM/Llt0YWJsZU5hbWVdXG4gICAgICA/PyBge1wiaWJmaWx0ZXJcIjogJHtKU09OLnN0cmluZ2lmeSh0aGlzLmVtcHR5RmlsdGVyU2NoZW1hW3RhYmxlTmFtZV0gPz8ge30pfSwgXCJpYnZpZXdcIjogXCJfX2liVGFibGVWaWV3X19hbGxcIiwgXCJpYnBhZ2VcIjogMCwgXCJpYnBhZ2VzaXplXCI6IDEwLCBcImliYWdncmVnYXRlZGNvbHVtbnNcIjoge30sIFwiaWJzb3J0XCI6IHt9ICB9YCkgPz8ge307XG4gIH1cblxuXG4gIGdldEZpbHRlcnModGFibGVOYW1lOiBzdHJpbmcpOiBJYkZpbHRlclN5bnRheEV4dGVuZGVkIHtcbiAgICByZXR1cm4gdGhpcy5nZXRSYXdQYXJhbXModGFibGVOYW1lKS5pYmZpbHRlciA/PyB7fTtcbiAgfVxuXG4gIHNldEZpbHRlcnModGFibGVOYW1lOiBzdHJpbmcsIHBhcmFtczogSWJGaWx0ZXJTeW50YXhFeHRlbmRlZCkge1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtdLCB7XG4gICAgICBxdWVyeVBhcmFtczoge1xuICAgICAgICBbdGFibGVOYW1lXTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgIC4uLnRoaXMuZ2V0UmF3UGFyYW1zKHRhYmxlTmFtZSksXG4gICAgICAgICAgaWJmaWx0ZXI6IHBhcmFtc1xuICAgICAgICB9KVxuICAgICAgfSxcbiAgICAgIHF1ZXJ5UGFyYW1zSGFuZGxpbmc6ICdtZXJnZScsXG4gICAgfSk7XG4gIH1cblxuICBnZXRBY3RpdmVWaWV3KHRhYmxlTmFtZTogc3RyaW5nLCkgOiBzdHJpbmd7XG4gICAgcmV0dXJuIHRoaXMuZ2V0UmF3UGFyYW1zKHRhYmxlTmFtZSkuaWJ2aWV3ID8/ICdfX2liVGFibGVWaWV3X19hbGwnO1xuICB9XG5cbiAgc2V0UGFnaW5hdG9yKHRhYmxlTmFtZTogc3RyaW5nLCBwYXJhbXM6IHtwYWdlSW5kZXg6IG51bWJlciwgcGFnZVNpemU6IG51bWJlcn0pIHtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXSwge1xuICAgICAgcXVlcnlQYXJhbXM6IHtcbiAgICAgICAgW3RhYmxlTmFtZV06IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAuLi50aGlzLmdldFJhd1BhcmFtcyh0YWJsZU5hbWUpLFxuICAgICAgICAgIGlicGFnZTogcGFyYW1zLnBhZ2VJbmRleCxcbiAgICAgICAgICBpYnBhZ2VzaXplOiBwYXJhbXMucGFnZVNpemUsXG4gICAgICAgIH0pXG4gICAgICB9LFxuICAgICAgcXVlcnlQYXJhbXNIYW5kbGluZzogJ21lcmdlJyxcbiAgICB9KTtcbiAgfVxuXG4gIGdldFBhZ2luYXRvcih0YWJsZU5hbWU6IHN0cmluZykgOiB7cGFnZUluZGV4OiBudW1iZXIsIHBhZ2VTaXplOiBudW1iZXJ9e1xuICAgIHJldHVybiB7XG4gICAgICBwYWdlSW5kZXg6IHRoaXMuZ2V0UmF3UGFyYW1zKHRhYmxlTmFtZSkuaWJwYWdlID8/IDAsXG4gICAgICBwYWdlU2l6ZTogdGhpcy5nZXRSYXdQYXJhbXModGFibGVOYW1lKS5pYnBhZ2VzaXplID8/IDAsXG4gICAgfVxuICB9XG5cbiAgc2V0QWdncmVnYXRlZENvbHVtbnModGFibGVOYW1lOiBzdHJpbmcscGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KSB7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW10sIHtcbiAgICAgIHF1ZXJ5UGFyYW1zOiB7XG4gICAgICAgIFt0YWJsZU5hbWVdOiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgLi4udGhpcy5nZXRSYXdQYXJhbXModGFibGVOYW1lKSxcbiAgICAgICAgICBpYmFnZ3JlZ2F0ZWRjb2x1bW5zOiBwYXJhbXNcbiAgICAgICAgfSlcbiAgICAgIH0sXG4gICAgICBxdWVyeVBhcmFtc0hhbmRsaW5nOiAnbWVyZ2UnLFxuICAgIH0pO1xuICB9XG5cbiAgZ2V0QWdncmVnYXRlZENvbHVtbnModGFibGVOYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRSYXdQYXJhbXModGFibGVOYW1lKS5pYmFnZ3JlZ2F0ZWRjb2x1bW5zID8/IHt9O1xuICB9XG5cbiAgc2V0U29ydCh0YWJsZU5hbWU6IHN0cmluZyxwYXJhbXM6IFNvcnQpIHtcbiAgICBjb25zdCBpYnNvcnQgPSBwYXJhbXMuZGlyZWN0aW9uICE9PSAnJyA/IHBhcmFtcyA6IG51bGxcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXSwge1xuICAgICAgcXVlcnlQYXJhbXM6IHtcbiAgICAgICAgW3RhYmxlTmFtZV06IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAuLi50aGlzLmdldFJhd1BhcmFtcyh0YWJsZU5hbWUpLFxuICAgICAgICAgIGlic29ydFxuICAgICAgICB9KVxuICAgICAgfSxcbiAgICAgIHF1ZXJ5UGFyYW1zSGFuZGxpbmc6ICdtZXJnZScsXG4gICAgfSk7XG4gIH1cblxuICBnZXRTb3J0KHRhYmxlTmFtZTogc3RyaW5nKSA6IFNvcnR7XG4gICAgcmV0dXJuIHRoaXMuZ2V0UmF3UGFyYW1zKHRhYmxlTmFtZSkuaWJzb3J0ID8/IHthY3RpdmU6ICcnLCBkaXJlY3Rpb246ICcnfTtcbiAgfVxuXG4gIGhhbmRsZVZpZXdDaGFuZ2UodGFibGVOYW1lOiBzdHJpbmcscGFyYW1zOiBPbWl0PEliS2FpVGFibGVQYXJhbXMsICd0YWJsZU5hbWUnPiAmIHt2aWV3OiBzdHJpbmd9KSB7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW10sIHtcbiAgICAgIHF1ZXJ5UGFyYW1zOiB7XG4gICAgICAgIFt0YWJsZU5hbWVdOiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgLi4udGhpcy5nZXRSYXdQYXJhbXModGFibGVOYW1lKSxcbiAgICAgICAgICBpYnZpZXc6IHBhcmFtcy52aWV3LFxuICAgICAgICAgIGlicGFnZTogcGFyYW1zLnBhZ2UsXG4gICAgICAgICAgaWJwYWdlc2l6ZTogcGFyYW1zLnBhZ2VTaXplLFxuICAgICAgICAgIGliZmlsdGVyOiBwYXJhbXMuZmlsdGVycyxcbiAgICAgICAgICBpYmFnZ3JlZ2F0ZWRjb2x1bW5zOiBwYXJhbXMuYWdncmVnYXRlZENvbHVtbnMsXG4gICAgICAgICAgaWJzb3J0OiBwYXJhbXMuc29ydCxcbiAgICAgICAgfSlcbiAgICAgIH0sXG4gICAgICBxdWVyeVBhcmFtc0hhbmRsaW5nOiAnbWVyZ2UnLFxuICAgIH0pO1xuICB9XG5cblxuICBnZXRWaWV3U3RhdGUodGFibGVOYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdmlldzogdGhpcy5nZXRBY3RpdmVWaWV3KHRhYmxlTmFtZSksXG4gICAgICBwYWdlU2l6ZTogdGhpcy5nZXRQYWdpbmF0b3IodGFibGVOYW1lKS5wYWdlU2l6ZSxcbiAgICAgIHBhZ2U6IHRoaXMuZ2V0UGFnaW5hdG9yKHRhYmxlTmFtZSkucGFnZUluZGV4LFxuICAgICAgZmlsdGVyczogdGhpcy5nZXRGaWx0ZXJzKHRhYmxlTmFtZSksXG4gICAgICBhZ2dyZWdhdGVkQ29sdW1uczogdGhpcy5nZXRBZ2dyZWdhdGVkQ29sdW1ucyh0YWJsZU5hbWUpLFxuICAgICAgc29ydDogdGhpcy5nZXRTb3J0KHRhYmxlTmFtZSlcbiAgICB9XG4gIH1cblxuICBzZXRGaWx0ZXJBbmRTb3J0KHRhYmxlTmFtZTogc3RyaW5nLCBpYmZpbHRlcjogSWJGaWx0ZXJTeW50YXhFeHRlbmRlZCwgc29ydDogU29ydCkge1xuICAgIGNvbnN0IGlic29ydCA9IHNvcnQuZGlyZWN0aW9uICE9PSAnJyA/IHNvcnQgOiBudWxsXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW10sIHtcbiAgICAgIHF1ZXJ5UGFyYW1zOiB7XG4gICAgICAgIFt0YWJsZU5hbWVdOiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgLi4udGhpcy5nZXRSYXdQYXJhbXModGFibGVOYW1lKSxcbiAgICAgICAgICBpYmZpbHRlcixcbiAgICAgICAgICBpYnNvcnRcbiAgICAgICAgfSlcbiAgICAgIH0sXG4gICAgICBxdWVyeVBhcmFtc0hhbmRsaW5nOiAnbWVyZ2UnLFxuICAgIH0pO1xuICB9XG59XG5cblxuZXhwb3J0IHR5cGUgSWJUYWJsZVFzUGFyYW1zID0ge1xuICBpYnBhZ2U6IG51bWJlcjtcbiAgaWJwYWdlc2l6ZTogbnVtYmVyO1xuICBpYmZpbHRlcjogSWJGaWx0ZXJTeW50YXhFeHRlbmRlZDtcbiAgaWJhZ2dyZWdhdGVkY29sdW1uczogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgaWJzb3J0OiBTb3J0O1xuICBpYnZpZXc6IHN0cmluZztcbn1cbiJdfQ==
|
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
import { animate, state, style, transition, trigger, } from "@angular/animations";
|
|
2
|
+
import { TemplatePortal } from "@angular/cdk/portal";
|
|
3
|
+
import { Component, ContentChild, ContentChildren, HostBinding, Input, ViewChild, ViewEncapsulation, booleanAttribute, inject, } from "@angular/core";
|
|
4
|
+
import { MatPaginator } from "@angular/material/paginator";
|
|
5
|
+
import { MatSort } from "@angular/material/sort";
|
|
6
|
+
import { MatTable } from "@angular/material/table";
|
|
7
|
+
import { Subject } from "rxjs";
|
|
8
|
+
import { takeUntil } from "rxjs/operators";
|
|
9
|
+
import { IbTableDataExportAction } from "../data-export/table-data-export.component";
|
|
10
|
+
import { IbFilter } from "../kai-filter";
|
|
11
|
+
import { IbTableViewGroup } from "../views";
|
|
12
|
+
import { IbColumn } from "./columns/column";
|
|
13
|
+
import { IbSelectionColumn } from "./columns/selection-column";
|
|
14
|
+
import { IbTableRemoteDataSource } from "./remote-data-source";
|
|
15
|
+
import { IbKaiRowGroupDirective } from "./rowgroup";
|
|
16
|
+
import { IbTableDataSource } from "./table-data-source";
|
|
17
|
+
import { IB_TABLE } from "./tokens";
|
|
18
|
+
import { IbTableUrlService } from "./table-url.service";
|
|
19
|
+
import { Store } from "@ngrx/store";
|
|
20
|
+
import { urlStateActions } from "./store/url-state/actions";
|
|
21
|
+
import * as i0 from "@angular/core";
|
|
22
|
+
import * as i1 from "@angular/common";
|
|
23
|
+
import * as i2 from "@angular/cdk/portal";
|
|
24
|
+
import * as i3 from "@angular/material/table";
|
|
25
|
+
import * as i4 from "@angular/material/sort";
|
|
26
|
+
import * as i5 from "@angular/material/icon";
|
|
27
|
+
import * as i6 from "@angular/material/paginator";
|
|
28
|
+
import * as i7 from "@angular/material/progress-bar";
|
|
29
|
+
import * as i8 from "@ngx-translate/core";
|
|
30
|
+
const defaultTableDef = {
|
|
31
|
+
paginator: {
|
|
32
|
+
pageSizeOptions: [5, 10, 25, 100],
|
|
33
|
+
showFirstLastButtons: true,
|
|
34
|
+
pageSize: 10,
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
export class IbTable {
|
|
38
|
+
_destroyed = new Subject();
|
|
39
|
+
columns;
|
|
40
|
+
selectionColumn;
|
|
41
|
+
rowGroup;
|
|
42
|
+
filter;
|
|
43
|
+
view;
|
|
44
|
+
exportAction;
|
|
45
|
+
matTable;
|
|
46
|
+
sort;
|
|
47
|
+
paginator;
|
|
48
|
+
expandedElement;
|
|
49
|
+
actionPortals = [];
|
|
50
|
+
state = "idle";
|
|
51
|
+
set data(data) {
|
|
52
|
+
this.dataSource.data = data;
|
|
53
|
+
}
|
|
54
|
+
dataSource = new IbTableDataSource([]);
|
|
55
|
+
tableName = btoa(window.location.pathname + window.location.hash);
|
|
56
|
+
tableUrl = inject(IbTableUrlService);
|
|
57
|
+
store = inject(Store);
|
|
58
|
+
/**
|
|
59
|
+
* Configuration for the table and its inner components. Currently supports only
|
|
60
|
+
* `paginator` and `sort` parameters.
|
|
61
|
+
*
|
|
62
|
+
* If left empty, the following default is used
|
|
63
|
+
*
|
|
64
|
+
* ```
|
|
65
|
+
* {
|
|
66
|
+
* paginator : {
|
|
67
|
+
* pageSizeOptions: [5, 10, 25, 100],
|
|
68
|
+
* showFirstLastButtons: true,
|
|
69
|
+
* pageSize: 10,
|
|
70
|
+
* hide: false,
|
|
71
|
+
* }
|
|
72
|
+
* }
|
|
73
|
+
*
|
|
74
|
+
* NB: querystring override these values
|
|
75
|
+
* ```
|
|
76
|
+
*/
|
|
77
|
+
set tableDef(value) {
|
|
78
|
+
this._tableDef = {
|
|
79
|
+
...defaultTableDef,
|
|
80
|
+
...value,
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
get tableDef() {
|
|
84
|
+
return this._tableDef;
|
|
85
|
+
}
|
|
86
|
+
_tableDef = { ...defaultTableDef };
|
|
87
|
+
/**
|
|
88
|
+
* Columns to be displayed.
|
|
89
|
+
*
|
|
90
|
+
* The order of the columns present in this array is rendered
|
|
91
|
+
* as is in a language written from left-to-right. It is reversed
|
|
92
|
+
* in a language written from right-to-left.
|
|
93
|
+
*/
|
|
94
|
+
set displayedColumns(columns) {
|
|
95
|
+
this._displayedColumns = columns.map((c) => c);
|
|
96
|
+
if (this.selectionColumn) {
|
|
97
|
+
this._displayedColumns.unshift("ib-selection");
|
|
98
|
+
}
|
|
99
|
+
if (this.columns?.find((c) => c.name === "ib-action")) {
|
|
100
|
+
this._displayedColumns.push("ib-action");
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
get displayedColumns() {
|
|
104
|
+
return this._displayedColumns;
|
|
105
|
+
}
|
|
106
|
+
_displayedColumns = [];
|
|
107
|
+
stripedRows = false;
|
|
108
|
+
isRemote = false;
|
|
109
|
+
ngOnInit() {
|
|
110
|
+
const paginatorFromUrl = this.tableUrl.getPaginator(this.tableName);
|
|
111
|
+
this.tableDef.paginator = {
|
|
112
|
+
...this.tableDef.paginator,
|
|
113
|
+
...paginatorFromUrl,
|
|
114
|
+
};
|
|
115
|
+
this.dataSource.tableName = this.tableName;
|
|
116
|
+
this.dataSource.paginator = this.paginator;
|
|
117
|
+
if (this.dataSource instanceof IbTableRemoteDataSource) {
|
|
118
|
+
this.isRemote = true;
|
|
119
|
+
this.dataSource._state
|
|
120
|
+
.pipe(takeUntil(this._destroyed))
|
|
121
|
+
.subscribe((s) => (this.state = s));
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
ngAfterViewInit() {
|
|
125
|
+
if (this.exportAction) {
|
|
126
|
+
this.setupExportAction();
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
ngAfterContentInit() {
|
|
130
|
+
const viewInit = () => {
|
|
131
|
+
this.view.viewGroupName = this.tableName;
|
|
132
|
+
this.dataSource.view = this.view;
|
|
133
|
+
this.setupViewGroup();
|
|
134
|
+
};
|
|
135
|
+
const dsInit = () => {
|
|
136
|
+
this.dataSource.sort = this.sort;
|
|
137
|
+
this.dataSource.aggregatedColumns = this.tableUrl.getAggregatedColumns(this.tableName);
|
|
138
|
+
this.dataSource.sortState = {
|
|
139
|
+
...this.tableDef.initialSort,
|
|
140
|
+
...this.tableUrl.getSort(this.tableName),
|
|
141
|
+
};
|
|
142
|
+
};
|
|
143
|
+
this.dataSource.selectionColumn = this.selectionColumn;
|
|
144
|
+
this.dataSource.filter = this.filter;
|
|
145
|
+
this.filter?.initialized.subscribe(() => {
|
|
146
|
+
this.tableUrl.emptyFilterSchema[this.tableName] = structuredClone(this.filter.initialRawValue);
|
|
147
|
+
//NG0100
|
|
148
|
+
setTimeout(() => dsInit());
|
|
149
|
+
const filtersFromUrl = this.tableUrl.getFilters(this.tableName);
|
|
150
|
+
this.filter.value = filtersFromUrl;
|
|
151
|
+
if (this.view) {
|
|
152
|
+
//NG0100
|
|
153
|
+
setTimeout(() => viewInit());
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
// If there is no filter, we need to set the viewGroupName to the table name
|
|
157
|
+
if (this.view && !this.filter) {
|
|
158
|
+
setTimeout(() => viewInit());
|
|
159
|
+
}
|
|
160
|
+
if (!this.filter) {
|
|
161
|
+
setTimeout(() => dsInit());
|
|
162
|
+
}
|
|
163
|
+
this.dataSource.columns = this.columns.toArray();
|
|
164
|
+
this.columns.changes
|
|
165
|
+
.pipe(takeUntil(this._destroyed))
|
|
166
|
+
.subscribe((columns) => {
|
|
167
|
+
this.dataSource.columns = columns.toArray();
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
ngOnDestroy() {
|
|
171
|
+
this._destroyed.next();
|
|
172
|
+
this._destroyed.complete();
|
|
173
|
+
}
|
|
174
|
+
setPaginatorState(params) {
|
|
175
|
+
this.store.dispatch(urlStateActions.setPaginator({ tableName: this.tableName, params }));
|
|
176
|
+
}
|
|
177
|
+
setupViewGroup() {
|
|
178
|
+
for (const action of [
|
|
179
|
+
this.filter.hideFilterAction,
|
|
180
|
+
...this.view.actions.toArray(),
|
|
181
|
+
]) {
|
|
182
|
+
this.actionPortals.push(new TemplatePortal(action.templateRef, action.viewContainerRef));
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
setupExportAction() {
|
|
186
|
+
this.exportAction.showSelectedRowsOption = !!this.selectionColumn;
|
|
187
|
+
this.exportAction.showAllRowsOption = !this.isRemote;
|
|
188
|
+
this.exportAction.ibDataExport
|
|
189
|
+
.pipe(takeUntil(this._destroyed))
|
|
190
|
+
.subscribe((settings) => {
|
|
191
|
+
this.exportAction.exportService._exportFromTable(this.tableName, this.dataSource, settings);
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbTable, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
195
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.1.1", type: IbTable, selector: "ib-kai-table", inputs: { state: "state", data: "data", dataSource: "dataSource", tableName: "tableName", tableDef: "tableDef", displayedColumns: "displayedColumns", stripedRows: ["stripedRows", "stripedRows", booleanAttribute] }, host: { properties: { "class.ib-table-striped-rows": "this.stripedRows" }, classAttribute: "ib-table__container" }, providers: [{ provide: IB_TABLE, useExisting: IbTable }], queries: [{ propertyName: "selectionColumn", first: true, predicate: IbSelectionColumn, descendants: true }, { propertyName: "rowGroup", first: true, predicate: IbKaiRowGroupDirective, descendants: true }, { propertyName: "filter", first: true, predicate: IbFilter, descendants: true }, { propertyName: "view", first: true, predicate: IbTableViewGroup, descendants: true }, { propertyName: "exportAction", first: true, predicate: IbTableDataExportAction, descendants: true }, { propertyName: "columns", predicate: IbColumn }], viewQueries: [{ propertyName: "matTable", first: true, predicate: MatTable, descendants: true, static: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true, static: true }, { propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true, static: true }], ngImport: i0, template: "<section class=\"ib-table__toolbar\">\n <ng-content select=\"ib-table-view-group\" />\n <section class=\"ib-table__toolbar__actions\">\n <ng-content select=\"ib-table-action-group, [ib-table-action-group]\" />\n <ng-template *ngFor=\"let portal of actionPortals\" [cdkPortalOutlet]=\"portal\" />\n </section>\n</section>\n\n<ng-content select=\"ib-filter\" />\n\n<section class=\"ib-table__content\" [class.ib-table__content--loading]=\"state === 'loading'\">\n <div class=\"ib-table__content__progress-bar\" *ngIf=\"state === 'loading'\">\n <mat-progress-bar mode=\"indeterminate\" />\n </div>\n\n <table class=\"ib-table\" mat-table matSort multiTemplateDataRows [matSortActive]=\"this.dataSource.sortState.active\"\n [matSortDirection]=\"this.dataSource.sortState.direction\" [dataSource]=\"dataSource\">\n <ng-content select=\"ib-selection-column\" />\n <ng-content />\n\n <ng-container matColumnDef=\"expandedDetail\" *ngIf=\"rowGroup\">\n <td mat-cell *matCellDef=\"let element\" [attr.colspan]=\"displayedColumns.length\">\n <div class=\"ib-table__cell-detail\" [@detailExpand]=\"element == expandedElement ? 'expanded' : 'collapsed'\">\n <ng-container *ngTemplateOutlet=\"rowGroup.templateRef; context: {'$implicit': element, 'row': element}\" />\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns; sticky: true;\"></tr>\n\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\" class=\"ib-table__row\"\n [class.ib-table__row--expanded]=\"expandedElement === row\"\n (click)=\"rowGroup && (expandedElement = expandedElement === row ? null : row)\"></tr>\n <ng-container *ngIf=\"rowGroup\">\n <tr mat-row *matRowDef=\"let row; columns: ['expandedDetail']\" class=\"ib-table__row-group\"\n [class.ib-table__row-group--hidden]=\"expandedElement !== row\"></tr>\n </ng-container>\n\n <tr *matNoDataRow>\n <td [attr.colspan]=\"columns.length\">\n <div>\n <ng-container *ngIf=\"state === 'idle'\">\n <mat-icon style=\"color: #888\">inbox</mat-icon>\n {{ \"common.noItems\" | translate }}\n </ng-container>\n\n <ng-container *ngIf=\"state === 'http_error'\">\n <mat-icon style=\"color: #888\">error</mat-icon>\n {{ \"common.httpError\" | translate }}\n </ng-container>\n </div>\n </td>\n </tr>\n\n <ng-container *ngIf=\"dataSource.shouldDisplayAggregationFooter\">\n <tr class=\"ib-table__rollup-row\" mat-footer-row *matFooterRowDef=\"displayedColumns; sticky: true\"></tr>\n </ng-container>\n </table>\n</section>\n<mat-paginator class=\"ib-table__paginator\"\n [disabled]=\"state !== 'idle'\"\n [style.display]=\"tableDef.paginator.hide ? 'none' : 'block'\"\n [pageSize]=\"tableDef.paginator.pageSize\"\n [showFirstLastButtons]=\"tableDef.paginator.showFirstLastButtons\"\n [pageSizeOptions]=\"tableDef.paginator.pageSizeOptions\"\n (page)=\"setPaginatorState({ pageIndex: $event.pageIndex, pageSize: $event.pageSize })\"\n />\n", styles: [".ib-table__container{--ib-table-minimum-rows-private: var(--ib-table-minimum-rows, 10);--ib-table-has-footer-row: 0;--ib-table-filter-max-height: 112px;--ib-table-content-max-height-private: var( --ib-table-content-max-height, calc( var(--mat-table-header-container-height) + var(--mat-table-row-item-container-height) * (var(--ib-table-minimum-rows-private) + var(--ib-table-has-footer-row)) ) );--ib-table-outline-color-private: var( --ib-table-outline-color, var(--mat-table-row-item-outline-color) );--ib-table-column-outline-width-private: var( --ib-table-column-outline-width, 0 );--ib-table-border-width: 1px;display:block;border:var(--ib-table-border-width) solid var(--ib-table-outline-color-private);overflow:hidden}.ib-table__container:has(.ib-table__rollup-row){--ib-table-has-footer-row: 1}.ib-table__container .ib-table__toolbar{display:flex;align-items:center;justify-content:flex-end}.ib-table__container .ib-table__toolbar:has(ib-table-view-group),.ib-table__container .ib-table__toolbar:has(>section:not(:empty)){height:56px;border-bottom:1px solid var(--ib-table-outline-color-private)}.ib-table__container .ib-table__toolbar__actions{padding-right:8px}.ib-table__container .ib-table__toolbar__actions ib-table-action-group{display:inline-block}.ib-table__container .ib-filter--hidden{max-height:0;opacity:0}.ib-table__container ib-filter:not(:has(.ib-filter--hidden))~.ib-table__content{max-height:calc(var(--ib-table-content-max-height-private) - var(--ib-table-filter-max-height))}.ib-table__container ib-filter:has(.ib-filter--hidden)~.ib-table__content{max-height:calc(var(--ib-table-content-max-height-private))}.ib-table__container .ib-table__content{overflow-y:auto;position:relative;max-height:var(--ib-table-content-max-height-private)}.ib-table__container .ib-table__content--loading{pointer-events:none;overflow:hidden;filter:brightness(.95)}.ib-table__container .ib-table__content__progress-bar{position:sticky;height:0;top:var(--mat-table-header-container-height)}.ib-table__container .ib-table__content .mat-mdc-header-cell{border-right-color:var(--ib-table-outline-color-private);border-right-width:var(--ib-table-column-outline-width-private);border-right-style:solid}.ib-table__container .ib-table__content .mat-mdc-header-cell:last-child{border-right-style:none}.ib-table__container .ib-table__content .mat-mdc-cell{border-right-color:var(--ib-table-outline-color-private);border-right-width:var(--ib-table-column-outline-width-private);border-right-style:solid}.ib-table__container .ib-table__content .mat-mdc-cell:last-child{border-right-style:none}.ib-table__container .ib-table__content .ib-table__row--expanded .mat-mdc-cell{border-bottom-width:0}.ib-table__container .ib-table__content .ib-table__cell-detail{overflow:hidden;display:flex}.ib-table__container .ib-table__content .ib-table__row-group{height:0}.ib-table__container .ib-table__content .ib-table__row-group--hidden .mat-mdc-cell{border-bottom-width:0}.ib-table__container .ib-table__content .mat-mdc-no-data-row>td>div{display:flex;flex-direction:column;gap:4px;align-items:center;padding:12px 0}.ib-table__container ib-aggregate{display:flex;align-items:center;justify-content:flex-end;gap:2em}.ib-table__container ib-aggregate .ib-aggregate__function{display:flex;align-items:center;width:fit-content}.ib-table__container ib-aggregate .ib-aggregate__display-value{text-align:end;font-weight:500;white-space:nowrap}.ib-table__container .ib-table__rollup-row{box-shadow:0 -1px var(--ib-table-outline-color-private)}.ib-table__container .ib-table__paginator{border-top:1px solid var(--ib-table-outline-color-private)}td.cdk-column-ib-action>:first-child,td.mat-column-ib-action>:first-child{display:flex;gap:4px;justify-content:flex-end;align-content:center}\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.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "component", type: i3.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i3.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i3.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i3.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i3.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i3.MatFooterRowDef, selector: "[matFooterRowDef]", inputs: ["matFooterRowDef", "matFooterRowDefSticky"] }, { kind: "directive", type: i3.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i3.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i3.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i3.MatFooterRow, selector: "mat-footer-row, tr[mat-footer-row]", exportAs: ["matFooterRow"] }, { kind: "directive", type: i3.MatNoDataRow, selector: "ng-template[matNoDataRow]" }, { kind: "directive", type: i4.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "component", type: i7.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }], animations: [
|
|
196
|
+
trigger("detailExpand", [
|
|
197
|
+
state("collapsed", style({ height: "0px", minHeight: "0" })),
|
|
198
|
+
state("expanded", style({ height: "*" })),
|
|
199
|
+
transition("expanded <=> collapsed", animate("225ms cubic-bezier(0.4, 0.0, 0.2, 1)")),
|
|
200
|
+
]),
|
|
201
|
+
], encapsulation: i0.ViewEncapsulation.None });
|
|
202
|
+
}
|
|
203
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbTable, decorators: [{
|
|
204
|
+
type: Component,
|
|
205
|
+
args: [{ selector: "ib-kai-table", host: {
|
|
206
|
+
class: "ib-table__container",
|
|
207
|
+
}, animations: [
|
|
208
|
+
trigger("detailExpand", [
|
|
209
|
+
state("collapsed", style({ height: "0px", minHeight: "0" })),
|
|
210
|
+
state("expanded", style({ height: "*" })),
|
|
211
|
+
transition("expanded <=> collapsed", animate("225ms cubic-bezier(0.4, 0.0, 0.2, 1)")),
|
|
212
|
+
]),
|
|
213
|
+
], providers: [{ provide: IB_TABLE, useExisting: IbTable }], encapsulation: ViewEncapsulation.None, template: "<section class=\"ib-table__toolbar\">\n <ng-content select=\"ib-table-view-group\" />\n <section class=\"ib-table__toolbar__actions\">\n <ng-content select=\"ib-table-action-group, [ib-table-action-group]\" />\n <ng-template *ngFor=\"let portal of actionPortals\" [cdkPortalOutlet]=\"portal\" />\n </section>\n</section>\n\n<ng-content select=\"ib-filter\" />\n\n<section class=\"ib-table__content\" [class.ib-table__content--loading]=\"state === 'loading'\">\n <div class=\"ib-table__content__progress-bar\" *ngIf=\"state === 'loading'\">\n <mat-progress-bar mode=\"indeterminate\" />\n </div>\n\n <table class=\"ib-table\" mat-table matSort multiTemplateDataRows [matSortActive]=\"this.dataSource.sortState.active\"\n [matSortDirection]=\"this.dataSource.sortState.direction\" [dataSource]=\"dataSource\">\n <ng-content select=\"ib-selection-column\" />\n <ng-content />\n\n <ng-container matColumnDef=\"expandedDetail\" *ngIf=\"rowGroup\">\n <td mat-cell *matCellDef=\"let element\" [attr.colspan]=\"displayedColumns.length\">\n <div class=\"ib-table__cell-detail\" [@detailExpand]=\"element == expandedElement ? 'expanded' : 'collapsed'\">\n <ng-container *ngTemplateOutlet=\"rowGroup.templateRef; context: {'$implicit': element, 'row': element}\" />\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns; sticky: true;\"></tr>\n\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\" class=\"ib-table__row\"\n [class.ib-table__row--expanded]=\"expandedElement === row\"\n (click)=\"rowGroup && (expandedElement = expandedElement === row ? null : row)\"></tr>\n <ng-container *ngIf=\"rowGroup\">\n <tr mat-row *matRowDef=\"let row; columns: ['expandedDetail']\" class=\"ib-table__row-group\"\n [class.ib-table__row-group--hidden]=\"expandedElement !== row\"></tr>\n </ng-container>\n\n <tr *matNoDataRow>\n <td [attr.colspan]=\"columns.length\">\n <div>\n <ng-container *ngIf=\"state === 'idle'\">\n <mat-icon style=\"color: #888\">inbox</mat-icon>\n {{ \"common.noItems\" | translate }}\n </ng-container>\n\n <ng-container *ngIf=\"state === 'http_error'\">\n <mat-icon style=\"color: #888\">error</mat-icon>\n {{ \"common.httpError\" | translate }}\n </ng-container>\n </div>\n </td>\n </tr>\n\n <ng-container *ngIf=\"dataSource.shouldDisplayAggregationFooter\">\n <tr class=\"ib-table__rollup-row\" mat-footer-row *matFooterRowDef=\"displayedColumns; sticky: true\"></tr>\n </ng-container>\n </table>\n</section>\n<mat-paginator class=\"ib-table__paginator\"\n [disabled]=\"state !== 'idle'\"\n [style.display]=\"tableDef.paginator.hide ? 'none' : 'block'\"\n [pageSize]=\"tableDef.paginator.pageSize\"\n [showFirstLastButtons]=\"tableDef.paginator.showFirstLastButtons\"\n [pageSizeOptions]=\"tableDef.paginator.pageSizeOptions\"\n (page)=\"setPaginatorState({ pageIndex: $event.pageIndex, pageSize: $event.pageSize })\"\n />\n", styles: [".ib-table__container{--ib-table-minimum-rows-private: var(--ib-table-minimum-rows, 10);--ib-table-has-footer-row: 0;--ib-table-filter-max-height: 112px;--ib-table-content-max-height-private: var( --ib-table-content-max-height, calc( var(--mat-table-header-container-height) + var(--mat-table-row-item-container-height) * (var(--ib-table-minimum-rows-private) + var(--ib-table-has-footer-row)) ) );--ib-table-outline-color-private: var( --ib-table-outline-color, var(--mat-table-row-item-outline-color) );--ib-table-column-outline-width-private: var( --ib-table-column-outline-width, 0 );--ib-table-border-width: 1px;display:block;border:var(--ib-table-border-width) solid var(--ib-table-outline-color-private);overflow:hidden}.ib-table__container:has(.ib-table__rollup-row){--ib-table-has-footer-row: 1}.ib-table__container .ib-table__toolbar{display:flex;align-items:center;justify-content:flex-end}.ib-table__container .ib-table__toolbar:has(ib-table-view-group),.ib-table__container .ib-table__toolbar:has(>section:not(:empty)){height:56px;border-bottom:1px solid var(--ib-table-outline-color-private)}.ib-table__container .ib-table__toolbar__actions{padding-right:8px}.ib-table__container .ib-table__toolbar__actions ib-table-action-group{display:inline-block}.ib-table__container .ib-filter--hidden{max-height:0;opacity:0}.ib-table__container ib-filter:not(:has(.ib-filter--hidden))~.ib-table__content{max-height:calc(var(--ib-table-content-max-height-private) - var(--ib-table-filter-max-height))}.ib-table__container ib-filter:has(.ib-filter--hidden)~.ib-table__content{max-height:calc(var(--ib-table-content-max-height-private))}.ib-table__container .ib-table__content{overflow-y:auto;position:relative;max-height:var(--ib-table-content-max-height-private)}.ib-table__container .ib-table__content--loading{pointer-events:none;overflow:hidden;filter:brightness(.95)}.ib-table__container .ib-table__content__progress-bar{position:sticky;height:0;top:var(--mat-table-header-container-height)}.ib-table__container .ib-table__content .mat-mdc-header-cell{border-right-color:var(--ib-table-outline-color-private);border-right-width:var(--ib-table-column-outline-width-private);border-right-style:solid}.ib-table__container .ib-table__content .mat-mdc-header-cell:last-child{border-right-style:none}.ib-table__container .ib-table__content .mat-mdc-cell{border-right-color:var(--ib-table-outline-color-private);border-right-width:var(--ib-table-column-outline-width-private);border-right-style:solid}.ib-table__container .ib-table__content .mat-mdc-cell:last-child{border-right-style:none}.ib-table__container .ib-table__content .ib-table__row--expanded .mat-mdc-cell{border-bottom-width:0}.ib-table__container .ib-table__content .ib-table__cell-detail{overflow:hidden;display:flex}.ib-table__container .ib-table__content .ib-table__row-group{height:0}.ib-table__container .ib-table__content .ib-table__row-group--hidden .mat-mdc-cell{border-bottom-width:0}.ib-table__container .ib-table__content .mat-mdc-no-data-row>td>div{display:flex;flex-direction:column;gap:4px;align-items:center;padding:12px 0}.ib-table__container ib-aggregate{display:flex;align-items:center;justify-content:flex-end;gap:2em}.ib-table__container ib-aggregate .ib-aggregate__function{display:flex;align-items:center;width:fit-content}.ib-table__container ib-aggregate .ib-aggregate__display-value{text-align:end;font-weight:500;white-space:nowrap}.ib-table__container .ib-table__rollup-row{box-shadow:0 -1px var(--ib-table-outline-color-private)}.ib-table__container .ib-table__paginator{border-top:1px solid var(--ib-table-outline-color-private)}td.cdk-column-ib-action>:first-child,td.mat-column-ib-action>:first-child{display:flex;gap:4px;justify-content:flex-end;align-content:center}\n"] }]
|
|
214
|
+
}], propDecorators: { columns: [{
|
|
215
|
+
type: ContentChildren,
|
|
216
|
+
args: [IbColumn]
|
|
217
|
+
}], selectionColumn: [{
|
|
218
|
+
type: ContentChild,
|
|
219
|
+
args: [IbSelectionColumn]
|
|
220
|
+
}], rowGroup: [{
|
|
221
|
+
type: ContentChild,
|
|
222
|
+
args: [IbKaiRowGroupDirective]
|
|
223
|
+
}], filter: [{
|
|
224
|
+
type: ContentChild,
|
|
225
|
+
args: [IbFilter]
|
|
226
|
+
}], view: [{
|
|
227
|
+
type: ContentChild,
|
|
228
|
+
args: [IbTableViewGroup]
|
|
229
|
+
}], exportAction: [{
|
|
230
|
+
type: ContentChild,
|
|
231
|
+
args: [IbTableDataExportAction]
|
|
232
|
+
}], matTable: [{
|
|
233
|
+
type: ViewChild,
|
|
234
|
+
args: [MatTable, { static: true }]
|
|
235
|
+
}], sort: [{
|
|
236
|
+
type: ViewChild,
|
|
237
|
+
args: [MatSort, { static: true }]
|
|
238
|
+
}], paginator: [{
|
|
239
|
+
type: ViewChild,
|
|
240
|
+
args: [MatPaginator, { static: true }]
|
|
241
|
+
}], state: [{
|
|
242
|
+
type: Input
|
|
243
|
+
}], data: [{
|
|
244
|
+
type: Input
|
|
245
|
+
}], dataSource: [{
|
|
246
|
+
type: Input
|
|
247
|
+
}], tableName: [{
|
|
248
|
+
type: Input
|
|
249
|
+
}], tableDef: [{
|
|
250
|
+
type: Input
|
|
251
|
+
}], displayedColumns: [{
|
|
252
|
+
type: Input
|
|
253
|
+
}], stripedRows: [{
|
|
254
|
+
type: HostBinding,
|
|
255
|
+
args: ["class.ib-table-striped-rows"]
|
|
256
|
+
}, {
|
|
257
|
+
type: Input,
|
|
258
|
+
args: [{ transform: booleanAttribute }]
|
|
259
|
+
}] } });
|
|
260
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9pbm9iZXRhLXVpL3VpL2thaS10YWJsZS90YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2lub2JldGEtdWkvdWkva2FpLXRhYmxlL3RhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxPQUFPLEVBQ1AsS0FBSyxFQUNMLEtBQUssRUFDTCxVQUFVLEVBQ1YsT0FBTyxHQUNSLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFVLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzdELE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFDZixXQUFXLEVBQ1gsS0FBSyxFQUdMLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsZ0JBQWdCLEVBQ2hCLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzlCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNyRixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDNUMsT0FBTyxFQUFFLGlCQUFp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LE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ08sU0FBUztzQkFBbkQsU0FBUzt1QkFBQyxZQUFZLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUtoQyxLQUFLO3NCQUFiLEtBQUs7Z0JBR0YsSUFBSTtzQkFEUCxLQUFLO2dCQU1OLFVBQVU7c0JBRFQsS0FBSztnQkFHRyxTQUFTO3NCQUFqQixLQUFLO2dCQTJCRixRQUFRO3NCQURYLEtBQUs7Z0JBcUJGLGdCQUFnQjtzQkFEbkIsS0FBSztnQkFpQk4sV0FBVztzQkFGVixXQUFXO3VCQUFDLDZCQUE2Qjs7c0JBQ3pDLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBhbmltYXRlLFxuICBzdGF0ZSxcbiAgc3R5bGUsXG4gIHRyYW5zaXRpb24sXG4gIHRyaWdnZXIsXG59IGZyb20gXCJAYW5ndWxhci9hbmltYXRpb25zXCI7XG5pbXBvcnQgeyBQb3J0YWwsIFRlbXBsYXRlUG9ydGFsIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9wb3J0YWxcIjtcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBRdWVyeUxpc3QsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIGluamVjdCxcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE1hdFBhZ2luYXRvciB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3JcIjtcbmltcG9ydCB7IE1hdFNvcnQgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydFwiO1xuaW1wb3J0IHsgTWF0VGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGVcIjtcbmltcG9ydCB7IFN1YmplY3R9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7IEliVGFibGVEYXRhRXhwb3J0QWN0aW9uIH0gZnJvbSBcIi4uL2RhdGEtZXhwb3J0L3RhYmxlLWRhdGEtZXhwb3J0LmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgSWJGaWx0ZXIgfSBmcm9tIFwiLi4va2FpLWZpbHRlclwiO1xuaW1wb3J0IHsgSWJUYWJsZVZpZXdHcm91cCB9IGZyb20gXCIuLi92aWV3c1wiO1xuaW1wb3J0IHsgSWJDb2x1bW4gfSBmcm9tIFwiLi9jb2x1bW5zL2NvbHVtblwiO1xuaW1wb3J0IHsgSWJTZWxlY3Rpb25Db2x1bW4gfSBmcm9tIFwiLi9jb2x1bW5zL3NlbGVjdGlvbi1jb2x1bW5cIjtcbmltcG9ydCB7IEliVGFibGVSZW1vdGVEYXRhU291cmNlIH0gZnJvbSBcIi4vcmVtb3RlLWRhdGEtc291cmNlXCI7XG5pbXBvcnQgeyBJYkthaVJvd0dyb3VwRGlyZWN0aXZlIH0gZnJvbSBcIi4vcm93Z3JvdXBcIjtcbmltcG9ydCB7IEliVGFibGVEYXRhU291cmNlIH0gZnJvbSBcIi4vdGFibGUtZGF0YS1zb3VyY2VcIjtcbmltcG9ydCB7IEliS2FpVGFibGVTdGF0ZSwgSWJUYWJsZURlZiB9IGZyb20gXCIuL3RhYmxlLnR5cGVzXCI7XG5pbXBvcnQgeyBJQl9UQUJMRSB9IGZyb20gXCIuL3Rva2Vuc1wiO1xuaW1wb3J0IHsgSWJUYWJsZVVybFNlcnZpY2UgfSBmcm9tIFwiLi90YWJsZS11cmwuc2VydmljZVwiO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tIFwiQG5ncngvc3RvcmVcIjtcbmltcG9ydCB7IHVybFN0YXRlQWN0aW9ucyB9IGZyb20gXCIuL3N0b3JlL3VybC1zdGF0ZS9hY3Rpb25zXCI7XG5cbmNvbnN0IGRlZmF1bHRUYWJsZURlZjogSWJUYWJsZURlZiA9IHtcbiAgcGFnaW5hdG9yOiB7XG4gICAgcGFnZVNpemVPcHRpb25zOiBbNSwgMTAsIDI1LCAxMDBdLFxuICAgIHNob3dGaXJzdExhc3RCdXR0b25zOiB0cnVlLFxuICAgIHBhZ2VTaXplOiAxMCxcbiAgfSxcbn07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJpYi1rYWktdGFibGVcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi90YWJsZS5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vdGFibGUuY29tcG9uZW50LnNjc3NcIl0sXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogXCJpYi10YWJsZV9fY29udGFpbmVyXCIsXG4gIH0sXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKFwiZGV0YWlsRXhwYW5kXCIsIFtcbiAgICAgIHN0YXRlKFwiY29sbGFwc2VkXCIsIHN0eWxlKHsgaGVpZ2h0OiBcIjBweFwiLCBtaW5IZWlnaHQ6IFwiMFwiIH0pKSxcbiAgICAgIHN0YXRlKFwiZXhwYW5kZWRcIiwgc3R5bGUoeyBoZWlnaHQ6IFwiKlwiIH0pKSxcbiAgICAgIHRyYW5zaXRpb24oXG4gICAgICAgIFwiZXhwYW5kZWQgPD0+IGNvbGxhcHNlZFwiLFxuICAgICAgICBhbmltYXRlKFwiMjI1bXMgY3ViaWMtYmV6aWVyKDAuNCwgMC4wLCAwLjIsIDEpXCIpXG4gICAgICApLFxuICAgIF0pLFxuICBdLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IElCX1RBQkxFLCB1c2VFeGlzdGluZzogSWJUYWJsZSB9XSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgSWJUYWJsZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgX2Rlc3Ryb3llZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihJYkNvbHVtbikgY29sdW1uczogUXVlcnlMaXN0PEliQ29sdW1uPGFueT4+O1xuICBAQ29udGVudENoaWxkKEliU2VsZWN0aW9uQ29sdW1uKSBzZWxlY3Rpb25Db2x1bW4hOiBJYlNlbGVjdGlvbkNvbHVtbjtcbiAgQENvbnRlbnRDaGlsZChJYkthaVJvd0dyb3VwRGlyZWN0aXZlKSByb3dHcm91cCE6IEliS2FpUm93R3JvdXBEaXJlY3RpdmU7XG5cbiAgQENvbnRlbnRDaGlsZChJYkZpbHRlcikgZmlsdGVyITogSWJGaWx0ZXI7XG4gIEBDb250ZW50Q2hpbGQoSWJUYWJsZVZpZXdHcm91cCkgdmlldyE6IEliVGFibGVWaWV3R3JvdXA7XG5cbiAgQENvbnRlbnRDaGlsZChJYlRhYmxlRGF0YUV4cG9ydEFjdGlvbikgZXhwb3J0QWN0aW9uOiBJYlRhYmxlRGF0YUV4cG9ydEFjdGlvbjtcblxuICBAVmlld0NoaWxkKE1hdFRhYmxlLCB7IHN0YXRpYzogdHJ1ZSB9KSBtYXRUYWJsZTogTWF0VGFibGU8YW55PjtcbiAgQFZpZXdDaGlsZChNYXRTb3J0LCB7IHN0YXRpYzogdHJ1ZSB9KSBzb3J0OiBNYXRTb3J0O1xuICBAVmlld0NoaWxkKE1hdFBhZ2luYXRvciwgeyBzdGF0aWM6IHRydWUgfSkgcGFnaW5hdG9yOiBNYXRQYWdpbmF0b3I7XG5cbiAgZXhwYW5kZWRFbGVtZW50OiBhbnk7XG4gIGFjdGlvblBvcnRhbHM6IFBvcnRhbDxhbnk+W10gPSBbXTtcblxuICBASW5wdXQoKSBzdGF0ZTogSWJLYWlUYWJsZVN0YXRlID0gXCJpZGxlXCI7XG5cbiAgQElucHV0KClcbiAgc2V0IGRhdGEoZGF0YTogYW55W10pIHtcbiAgICB0aGlzLmRhdGFTb3VyY2UuZGF0YSA9IGRhdGE7XG4gIH1cblxuICBASW5wdXQoKVxuICBkYXRhU291cmNlOiBJYlRhYmxlRGF0YVNvdXJjZTx1bmtub3duPiA9IG5ldyBJYlRhYmxlRGF0YVNvdXJjZShbXSk7XG5cbiAgQElucHV0KCkgdGFibGVOYW1lOiBzdHJpbmcgPSBidG9hKFxuICAgIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSArIHdpbmRvdy5sb2NhdGlvbi5oYXNoXG4gICk7XG5cbiAgdGFibGVVcmwgPSBpbmplY3QoSWJUYWJsZVVybFNlcnZpY2UpO1xuICBwcml2YXRlIHN0b3JlID0gaW5qZWN0KFN0b3JlKTtcblxuICAvKipcbiAgICogQ29uZmlndXJhdGlvbiBmb3IgdGhlIHRhYmxlIGFuZCBpdHMgaW5uZXIgY29tcG9uZW50cy4gQ3VycmVudGx5IHN1cHBvcnRzIG9ubHlcbiAgICogYHBhZ2luYXRvcmAgYW5kIGBzb3J0YCBwYXJhbWV0ZXJzLlxuICAgKlxuICAgKiBJZiBsZWZ0IGVtcHR5LCB0aGUgZm9sbG93aW5nIGRlZmF1bHQgaXMgdXNlZFxuICAgKlxuICAgKiBgYGBcbiAgICoge1xuICAgKiAgIHBhZ2luYXRvciA6IHtcbiAgICogICAgIHBhZ2VTaXplT3B0aW9uczogWzUsIDEwLCAyNSwgMTAwXSxcbiAgICogICAgIHNob3dGaXJzdExhc3RCdXR0b25zOiB0cnVlLFxuICAgKiAgICAgcGFnZVNpemU6IDEwLFxuICAgKiAgICAgaGlkZTogZmFsc2UsXG4gICAqICAgfVxuICAgKiB9XG4gICAqXG4gICAqIE5COiBxdWVyeXN0cmluZyBvdmVycmlkZSB0aGVzZSB2YWx1ZXNcbiAgICogYGBgXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgdGFibGVEZWYodmFsdWU6IFBhcnRpYWw8SWJUYWJsZURlZj4pIHtcbiAgICB0aGlzLl90YWJsZURlZiA9IHtcbiAgICAgIC4uLmRlZmF1bHRUYWJsZURlZixcbiAgICAgIC4uLnZhbHVlLFxuICAgIH07XG4gIH1cbiAgZ2V0IHRhYmxlRGVmKCkge1xuICAgIHJldHVybiB0aGlzLl90YWJsZURlZjtcbiAgfVxuICBwcml2YXRlIF90YWJsZURlZjogSWJUYWJsZURlZiA9IHsuLi5kZWZhdWx0VGFibGVEZWZ9O1xuXG5cbiAgLyoqXG4gICAqIENvbHVtbnMgdG8gYmUgZGlzcGxheWVkLlxuICAgKlxuICAgKiBUaGUgb3JkZXIgb2YgdGhlIGNvbHVtbnMgcHJlc2VudCBpbiB0aGlzIGFycmF5IGlzIHJlbmRlcmVkXG4gICAqIGFzIGlzIGluIGEgbGFuZ3VhZ2Ugd3JpdHRlbiBmcm9tIGxlZnQtdG8tcmlnaHQuIEl0IGlzIHJldmVyc2VkXG4gICAqIGluIGEgbGFuZ3VhZ2Ugd3JpdHRlbiBmcm9tIHJpZ2h0LXRvLWxlZnQuXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgZGlzcGxheWVkQ29sdW1ucyhjb2x1bW5zOiBzdHJpbmdbXSkge1xuICAgIHRoaXMuX2Rpc3BsYXllZENvbHVtbnMgPSBjb2x1bW5zLm1hcCgoYykgPT4gYyk7XG4gICAgaWYgKHRoaXMuc2VsZWN0aW9uQ29sdW1uKSB7XG4gICAgICB0aGlzLl9kaXNwbGF5ZWRDb2x1bW5zLnVuc2hpZnQoXCJpYi1zZWxlY3Rpb25cIik7XG4gICAgfVxuICAgIGlmICh0aGlzLmNvbHVtbnM/LmZpbmQoKGMpID0+IGMubmFtZSA9PT0gXCJpYi1hY3Rpb25cIikpIHtcbiAgICAgIHRoaXMuX2Rpc3BsYXllZENvbHVtbnMucHVzaChcImliLWFjdGlvblwiKTtcbiAgICB9XG4gIH1cbiAgZ2V0IGRpc3BsYXllZENvbHVtbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc3BsYXllZENvbHVtbnM7XG4gIH1cbiAgcHJpdmF0ZSBfZGlzcGxheWVkQ29sdW1uczogc3RyaW5nW10gPSBbXTtcblxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5pYi10YWJsZS1zdHJpcGVkLXJvd3NcIilcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gIHN0cmlwZWRSb3dzID0gZmFsc2U7XG5cbiAgaXNSZW1vdGUgPSBmYWxzZTtcblxuXG4gIG5nT25Jbml0KCkge1xuICAgIGNvbnN0IHBhZ2luYXRvckZyb21VcmwgPSB0aGlzLnRhYmxlVXJsLmdldFBhZ2luYXRvcih0aGlzLnRhYmxlTmFtZSk7XG4gICAgdGhpcy50YWJsZURlZi5wYWdpbmF0b3IgPSB7XG4gICAgICAuLi50aGlzLnRhYmxlRGVmLnBhZ2luYXRvcixcbiAgICAgIC4uLnBhZ2luYXRvckZyb21VcmwsXG4gICAgfVxuICAgIHRoaXMuZGF0YVNvdXJjZS50YWJsZU5hbWUgPSB0aGlzLnRhYmxlTmFtZTtcbiAgICB0aGlzLmRhdGFTb3VyY2UucGFnaW5hdG9yID0gdGhpcy5wYWdpbmF0b3I7XG5cblxuICAgIGlmICh0aGlzLmRhdGFTb3VyY2UgaW5zdGFuY2VvZiBJYlRhYmxlUmVtb3RlRGF0YVNvdXJjZSkge1xuICAgICAgdGhpcy5pc1JlbW90ZSA9IHRydWU7XG4gICAgICB0aGlzLmRhdGFTb3VyY2UuX3N0YXRlXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95ZWQpKVxuICAgICAgICAuc3Vic2NyaWJlKChzKSA9PiAodGhpcy5zdGF0ZSA9IHMpKTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgaWYgKHRoaXMuZXhwb3J0QWN0aW9uKSB7XG4gICAgICB0aGlzLnNldHVwRXhwb3J0QWN0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuXG4gICAgY29uc3Qgdmlld0luaXQgPSAoKSA9PiB7XG4gICAgICB0aGlzLnZpZXcudmlld0dyb3VwTmFtZSA9IHRoaXMudGFibGVOYW1lO1xuICAgICAgdGhpcy5kYXRhU291cmNlLnZpZXcgPSB0aGlzLnZpZXc7XG4gICAgICB0aGlzLnNldHVwVmlld0dyb3VwKCk7XG4gICAgfVxuXG4gICAgY29uc3QgZHNJbml0ID0gKCkgPT4ge1xuICAgICAgdGhpcy5kYXRhU291cmNlLnNvcnQgPSB0aGlzLnNvcnQ7XG4gICAgICB0aGlzLmRhdGFTb3VyY2UuYWdncmVnYXRlZENvbHVtbnMgPSB0aGlzLnRhYmxlVXJsLmdldEFnZ3JlZ2F0ZWRDb2x1bW5zKHRoaXMudGFibGVOYW1lKTtcbiAgICAgIHRoaXMuZGF0YVNvdXJjZS5zb3J0U3RhdGUgPSB7XG4gICAgICAgIC4uLnRoaXMudGFibGVEZWYuaW5pdGlhbFNvcnQsXG4gICAgICAgIC4uLnRoaXMudGFibGVVcmwuZ2V0U29ydCh0aGlzLnRhYmxlTmFtZSksXG4gICAgICB9O1xuICAgIH1cblxuXG4gICAgdGhpcy5kYXRhU291cmNlLnNlbGVjdGlvbkNvbHVtbiA9IHRoaXMuc2VsZWN0aW9uQ29sdW1uO1xuICAgIHRoaXMuZGF0YVNvdXJjZS5maWx0ZXIgPSB0aGlzLmZpbHRlcjtcbiAgICB0aGlzLmZpbHRlcj8uaW5pdGlhbGl6ZWQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMudGFibGVVcmwuZW1wdHlGaWx0ZXJTY2hlbWFbdGhpcy50YWJsZU5hbWVdID0gc3RydWN0dXJlZENsb25lKHRoaXMuZmlsdGVyLmluaXRpYWxSYXdWYWx1ZSk7XG4gICAgICAvL05HMDEwMFxuICAgICAgc2V0VGltZW91dCgoKSA9PiBkc0luaXQoKSlcblxuICAgICAgY29uc3QgZmlsdGVyc0Zyb21VcmwgPSB0aGlzLnRhYmxlVXJsLmdldEZpbHRlcnModGhpcy50YWJsZU5hbWUpXG4gICAgICB0aGlzLmZpbHRlci52YWx1ZSA9IGZpbHRlcnNGcm9tVXJsXG4gICAgICBpZiAodGhpcy52aWV3KSB7XG4gICAgICAgIC8vTkcwMTAwXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdmlld0luaXQoKSlcbiAgICAgIH1cbiAgICB9KVxuXG4gICAgLy8gSWYgdGhlcmUgaXMgbm8gZmlsdGVyLCB3ZSBuZWVkIHRvIHNldCB0aGUgdmlld0dyb3VwTmFtZSB0byB0aGUgdGFibGUgbmFtZVxuICAgIGlmICh0aGlzLnZpZXcgJiYgIXRoaXMuZmlsdGVyKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHZpZXdJbml0KCkpXG4gICAgfVxuXG4gICAgaWYoIXRoaXMuZmlsdGVyKXtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gZHNJbml0KCkpXG4gICAgfVxuICAgIHRoaXMuZGF0YVNvdXJjZS5jb2x1bW5zID0gdGhpcy5jb2x1bW5zLnRvQXJyYXkoKTtcbiAgICB0aGlzLmNvbHVtbnMuY2hhbmdlc1xuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3llZCkpXG4gICAgICAuc3Vic2NyaWJlKChjb2x1bW5zKSA9PiB7XG4gICAgICAgIHRoaXMuZGF0YVNvdXJjZS5jb2x1bW5zID0gY29sdW1ucy50b0FycmF5KCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX2Rlc3Ryb3llZC5uZXh0KCk7XG4gICAgdGhpcy5fZGVzdHJveWVkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBzZXRQYWdpbmF0b3JTdGF0ZShwYXJhbXMpe1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2godXJsU3RhdGVBY3Rpb25zLnNldFBhZ2luYXRvcih7dGFibGVOYW1lOiB0aGlzLnRhYmxlTmFtZSwgcGFyYW1zfSkpXG4gIH1cbiAgcHJpdmF0ZSBzZXR1cFZpZXdHcm91cCgpIHtcbiAgICBmb3IgKGNvbnN0IGFjdGlvbiBvZiBbXG4gICAgICB0aGlzLmZpbHRlci5oaWRlRmlsdGVyQWN0aW9uLFxuICAgICAgLi4udGhpcy52aWV3LmFjdGlvbnMudG9BcnJheSgpLFxuICAgIF0pIHtcbiAgICAgIHRoaXMuYWN0aW9uUG9ydGFscy5wdXNoKFxuICAgICAgICBuZXcgVGVtcGxhdGVQb3J0YWwoYWN0aW9uLnRlbXBsYXRlUmVmLCBhY3Rpb24udmlld0NvbnRhaW5lclJlZilcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXR1cEV4cG9ydEFjdGlvbigpIHtcbiAgICB0aGlzLmV4cG9ydEFjdGlvbi5zaG93U2VsZWN0ZWRSb3dzT3B0aW9uID0gISF0aGlzLnNlbGVjdGlvbkNvbHVtbjtcbiAgICB0aGlzLmV4cG9ydEFjdGlvbi5zaG93QWxsUm93c09wdGlvbiA9ICF0aGlzLmlzUmVtb3RlO1xuICAgIHRoaXMuZXhwb3J0QWN0aW9uLmliRGF0YUV4cG9ydFxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3llZCkpXG4gICAgICAuc3Vic2NyaWJlKChzZXR0aW5ncykgPT4ge1xuICAgICAgICB0aGlzLmV4cG9ydEFjdGlvbi5leHBvcnRTZXJ2aWNlLl9leHBvcnRGcm9tVGFibGUoXG4gICAgICAgICAgdGhpcy50YWJsZU5hbWUsXG4gICAgICAgICAgdGhpcy5kYXRhU291cmNlLFxuICAgICAgICAgIHNldHRpbmdzXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgfVxufVxuIiwiPHNlY3Rpb24gY2xhc3M9XCJpYi10YWJsZV9fdG9vbGJhclwiPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJpYi10YWJsZS12aWV3LWdyb3VwXCIgLz5cbiAgPHNlY3Rpb24gY2xhc3M9XCJpYi10YWJsZV9fdG9vbGJhcl9fYWN0aW9uc1wiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImliLXRhYmxlLWFjdGlvbi1ncm91cCwgW2liLXRhYmxlLWFjdGlvbi1ncm91cF1cIiAvPlxuICAgIDxuZy10ZW1wbGF0ZSAqbmdGb3I9XCJsZXQgcG9ydGFsIG9mIGFjdGlvblBvcnRhbHNcIiBbY2RrUG9ydGFsT3V0bGV0XT1cInBvcnRhbFwiIC8+XG4gIDwvc2VjdGlvbj5cbjwvc2VjdGlvbj5cblxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiaWItZmlsdGVyXCIgLz5cblxuPHNlY3Rpb24gY2xhc3M9XCJpYi10YWJsZV9fY29udGVudFwiIFtjbGFzcy5pYi10YWJsZV9fY29udGVudC0tbG9hZGluZ109XCJzdGF0ZSA9PT0gJ2xvYWRpbmcnXCI+XG4gIDxkaXYgY2xhc3M9XCJpYi10YWJsZV9fY29udGVudF9fcHJvZ3Jlc3MtYmFyXCIgKm5nSWY9XCJzdGF0ZSA9PT0gJ2xvYWRpbmcnXCI+XG4gICAgPG1hdC1wcm9ncmVzcy1iYXIgbW9kZT1cImluZGV0ZXJtaW5hdGVcIiAvPlxuICA8L2Rpdj5cblxuICA8dGFibGUgY2xhc3M9XCJpYi10YWJsZVwiIG1hdC10YWJsZSBtYXRTb3J0IG11bHRpVGVtcGxhdGVEYXRhUm93cyBbbWF0U29ydEFjdGl2ZV09XCJ0aGlzLmRhdGFTb3VyY2Uuc29ydFN0YXRlLmFjdGl2ZVwiXG4gICAgW21hdFNvcnREaXJlY3Rpb25dPVwidGhpcy5kYXRhU291cmNlLnNvcnRTdGF0ZS5kaXJlY3Rpb25cIiBbZGF0YVNvdXJjZV09XCJkYXRhU291cmNlXCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiaWItc2VsZWN0aW9uLWNvbHVtblwiIC8+XG4gICAgPG5nLWNvbnRlbnQgLz5cblxuICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiZXhwYW5kZWREZXRhaWxcIiAqbmdJZj1cInJvd0dyb3VwXCI+XG4gICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiIFthdHRyLmNvbHNwYW5dPVwiZGlzcGxheWVkQ29sdW1ucy5sZW5ndGhcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImliLXRhYmxlX19jZWxsLWRldGFpbFwiIFtAZGV0YWlsRXhwYW5kXT1cImVsZW1lbnQgPT0gZXhwYW5kZWRFbGVtZW50ID8gJ2V4cGFuZGVkJyA6ICdjb2xsYXBzZWQnXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInJvd0dyb3VwLnRlbXBsYXRlUmVmOyBjb250ZXh0OiB7JyRpbXBsaWNpdCc6IGVsZW1lbnQsICdyb3cnOiBlbGVtZW50fVwiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC90ZD5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDx0ciBtYXQtaGVhZGVyLXJvdyAqbWF0SGVhZGVyUm93RGVmPVwiZGlzcGxheWVkQ29sdW1uczsgc3RpY2t5OiB0cnVlO1wiPjwvdHI+XG5cbiAgICA8dHIgbWF0LXJvdyAqbWF0Um93RGVmPVwibGV0IHJvdzsgY29sdW1uczogZGlzcGxheWVkQ29sdW1ucztcIiBjbGFzcz1cImliLXRhYmxlX19yb3dcIlxuICAgICAgW2NsYXNzLmliLXRhYmxlX19yb3ctLWV4cGFuZGVkXT1cImV4cGFuZGVkRWxlbWVudCA9PT0gcm93XCJcbiAgICAgIChjbGljayk9XCJyb3dHcm91cCAmJiAoZXhwYW5kZWRFbGVtZW50ID0gZXhwYW5kZWRFbGVtZW50ID09PSByb3cgPyBudWxsIDogcm93KVwiPjwvdHI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInJvd0dyb3VwXCI+XG4gICAgICA8dHIgbWF0LXJvdyAqbWF0Um93RGVmPVwibGV0IHJvdzsgY29sdW1uczogWydleHBhbmRlZERldGFpbCddXCIgY2xhc3M9XCJpYi10YWJsZV9fcm93LWdyb3VwXCJcbiAgICAgICAgW2NsYXNzLmliLXRhYmxlX19yb3ctZ3JvdXAtLWhpZGRlbl09XCJleHBhbmRlZEVsZW1lbnQgIT09IHJvd1wiPjwvdHI+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8dHIgKm1hdE5vRGF0YVJvdz5cbiAgICAgIDx0ZCBbYXR0ci5jb2xzcGFuXT1cImNvbHVtbnMubGVuZ3RoXCI+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInN0YXRlID09PSAnaWRsZSdcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBzdHlsZT1cImNvbG9yOiAjODg4XCI+aW5ib3g8L21hdC1pY29uPlxuICAgICAgICAgICAge3sgXCJjb21tb24ubm9JdGVtc1wiIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic3RhdGUgPT09ICdodHRwX2Vycm9yJ1wiPlxuICAgICAgICAgICAgPG1hdC1pY29uIHN0eWxlPVwiY29sb3I6ICM4ODhcIj5lcnJvcjwvbWF0LWljb24+XG4gICAgICAgICAgICB7eyBcImNvbW1vbi5odHRwRXJyb3JcIiB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvdGQ+XG4gICAgPC90cj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkYXRhU291cmNlLnNob3VsZERpc3BsYXlBZ2dyZWdhdGlvbkZvb3RlclwiPlxuICAgICAgPHRyIGNsYXNzPVwiaWItdGFibGVfX3JvbGx1cC1yb3dcIiBtYXQtZm9vdGVyLXJvdyAqbWF0Rm9vdGVyUm93RGVmPVwiZGlzcGxheWVkQ29sdW1uczsgc3RpY2t5OiB0cnVlXCI+PC90cj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC90YWJsZT5cbjwvc2VjdGlvbj5cbjxtYXQtcGFnaW5hdG9yIGNsYXNzPVwiaWItdGFibGVfX3BhZ2luYXRvclwiXG4gIFtkaXNhYmxlZF09XCJzdGF0ZSAhPT0gJ2lkbGUnXCJcbiAgW3N0eWxlLmRpc3BsYXldPVwidGFibGVEZWYucGFnaW5hdG9yLmhpZGUgPyAnbm9uZScgOiAnYmxvY2snXCJcbiAgW3BhZ2VTaXplXT1cInRhYmxlRGVmLnBhZ2luYXRvci5wYWdlU2l6ZVwiXG4gIFtzaG93Rmlyc3RMYXN0QnV0dG9uc109XCJ0YWJsZURlZi5wYWdpbmF0b3Iuc2hvd0ZpcnN0TGFzdEJ1dHRvbnNcIlxuICBbcGFnZVNpemVPcHRpb25zXT1cInRhYmxlRGVmLnBhZ2luYXRvci5wYWdlU2l6ZU9wdGlvbnNcIlxuICAocGFnZSk9XCJzZXRQYWdpbmF0b3JTdGF0ZSh7IHBhZ2VJbmRleDogJGV2ZW50LnBhZ2VJbmRleCwgcGFnZVNpemU6ICRldmVudC5wYWdlU2l6ZSB9KVwiXG4gIC8+XG4iXX0=
|