@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,20 @@
|
|
|
1
|
+
import { MatSort, MatSortHeader } from "@angular/material/sort";
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* Directive to use in combination with `mat-sort-header`
|
|
5
|
+
*
|
|
6
|
+
* Since `mat-sort-header` only looks up the `MatSort` instance coming directly
|
|
7
|
+
* from its parent (usually `mat-table`), it is necessary to substitute it with
|
|
8
|
+
* the correct `MatSort` attached to the `dataSource`, as well reinitialize
|
|
9
|
+
* the state changes to properly render the current state of the header.
|
|
10
|
+
*
|
|
11
|
+
* This solution is far from optimal and has a high risk of breaking with
|
|
12
|
+
* a different release of Angular Material
|
|
13
|
+
*/
|
|
14
|
+
export declare class IbSortHeader {
|
|
15
|
+
matSortHeader: MatSortHeader;
|
|
16
|
+
set matSort(matSort: MatSort);
|
|
17
|
+
constructor(matSortHeader: MatSortHeader);
|
|
18
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<IbSortHeader, never>;
|
|
19
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<IbSortHeader, "[ib-sort-header-for], [ibSortHeaderFor]", never, { "matSort": { "alias": "ibSortHeaderFor"; "required": false; }; }, {}, never, never, true, never>;
|
|
20
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const kaiTableFeatureKey = "ibKaiTable";
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ActionReducerMap } from '@ngrx/store';
|
|
2
|
+
import { IUrlStateState } from './url-state/interfaces';
|
|
3
|
+
import { UrlStateEffects } from "./url-state/effects";
|
|
4
|
+
export interface IKaiTableStore {
|
|
5
|
+
urlState: IUrlStateState;
|
|
6
|
+
}
|
|
7
|
+
export declare const kaiTableReducers: ActionReducerMap<IKaiTableStore>;
|
|
8
|
+
export declare const kaiTableEffects: (typeof UrlStateEffects)[];
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { IbFilterSyntaxExtended } from "../../../kai-filter";
|
|
2
|
+
import { Sort } from "@angular/material/sort";
|
|
3
|
+
import { IbKaiTableParams } from "./interfaces";
|
|
4
|
+
export declare const urlStateActions: {
|
|
5
|
+
setFilters: import("@ngrx/store").ActionCreator<"[KaiTable/UrlState] Set Filters", (props: {
|
|
6
|
+
tableName: string;
|
|
7
|
+
params: IbFilterSyntaxExtended;
|
|
8
|
+
}) => {
|
|
9
|
+
tableName: string;
|
|
10
|
+
params: IbFilterSyntaxExtended;
|
|
11
|
+
} & import("@ngrx/store").Action<"[KaiTable/UrlState] Set Filters">>;
|
|
12
|
+
setPaginator: import("@ngrx/store").ActionCreator<"[KaiTable/UrlState] Set Paginator", (props: {
|
|
13
|
+
tableName: string;
|
|
14
|
+
params: {
|
|
15
|
+
pageIndex: number;
|
|
16
|
+
pageSize: number;
|
|
17
|
+
};
|
|
18
|
+
}) => {
|
|
19
|
+
tableName: string;
|
|
20
|
+
params: {
|
|
21
|
+
pageIndex: number;
|
|
22
|
+
pageSize: number;
|
|
23
|
+
};
|
|
24
|
+
} & import("@ngrx/store").Action<"[KaiTable/UrlState] Set Paginator">>;
|
|
25
|
+
setAggregatedColumns: import("@ngrx/store").ActionCreator<"[KaiTable/UrlState] Set Aggregated Columns", (props: {
|
|
26
|
+
tableName: string;
|
|
27
|
+
params: Record<string, string>;
|
|
28
|
+
}) => {
|
|
29
|
+
tableName: string;
|
|
30
|
+
params: Record<string, string>;
|
|
31
|
+
} & import("@ngrx/store").Action<"[KaiTable/UrlState] Set Aggregated Columns">>;
|
|
32
|
+
setSort: import("@ngrx/store").ActionCreator<"[KaiTable/UrlState] Set Sort", (props: {
|
|
33
|
+
tableName: string;
|
|
34
|
+
params: Sort;
|
|
35
|
+
}) => {
|
|
36
|
+
tableName: string;
|
|
37
|
+
params: Sort;
|
|
38
|
+
} & import("@ngrx/store").Action<"[KaiTable/UrlState] Set Sort">>;
|
|
39
|
+
setRemoteDatasourceParams: import("@ngrx/store").ActionCreator<"[KaiTable/UrlState] Set Remote Datasource Params", (props: {
|
|
40
|
+
tableName: string;
|
|
41
|
+
filters: IbFilterSyntaxExtended;
|
|
42
|
+
sort: Sort;
|
|
43
|
+
}) => {
|
|
44
|
+
tableName: string;
|
|
45
|
+
filters: IbFilterSyntaxExtended;
|
|
46
|
+
sort: Sort;
|
|
47
|
+
} & import("@ngrx/store").Action<"[KaiTable/UrlState] Set Remote Datasource Params">>;
|
|
48
|
+
handleViewChange: import("@ngrx/store").ActionCreator<"[KaiTable/UrlState] Handle View Change", (props: {
|
|
49
|
+
tableName: string;
|
|
50
|
+
params: Omit<IbKaiTableParams, "tableName"> & {
|
|
51
|
+
view: string;
|
|
52
|
+
};
|
|
53
|
+
}) => {
|
|
54
|
+
tableName: string;
|
|
55
|
+
params: Omit<IbKaiTableParams, "tableName"> & {
|
|
56
|
+
view: string;
|
|
57
|
+
};
|
|
58
|
+
} & import("@ngrx/store").Action<"[KaiTable/UrlState] Handle View Change">>;
|
|
59
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Actions } from "@ngrx/effects";
|
|
2
|
+
import { IbTableUrlService } from "../../table-url.service";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class UrlStateEffects {
|
|
5
|
+
actions$: Actions<any>;
|
|
6
|
+
tableUrlService: IbTableUrlService;
|
|
7
|
+
setFilters$: any;
|
|
8
|
+
setPaginator$: any;
|
|
9
|
+
setAggregatedColumns$: any;
|
|
10
|
+
setSort$: any;
|
|
11
|
+
handleViewChange$: any;
|
|
12
|
+
setRemoteDatasourceParams$: any;
|
|
13
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UrlStateEffects, never>;
|
|
14
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<UrlStateEffects>;
|
|
15
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Sort } from "@angular/material/sort";
|
|
2
|
+
import { IbFilterSyntaxExtended } from "../../../kai-filter";
|
|
3
|
+
export type IUrlStateState = {
|
|
4
|
+
tables: IbKaiTableNamedParams[];
|
|
5
|
+
};
|
|
6
|
+
export type IbKaiTableParams = {
|
|
7
|
+
view: string;
|
|
8
|
+
pageSize: number;
|
|
9
|
+
page: number;
|
|
10
|
+
filters: IbFilterSyntaxExtended;
|
|
11
|
+
aggregatedColumns: Record<string, string>;
|
|
12
|
+
sort: Sort;
|
|
13
|
+
};
|
|
14
|
+
export type IbKaiTableNamedParams = Partial<IbKaiTableParams> & {
|
|
15
|
+
tableName: string;
|
|
16
|
+
};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { IbTableQsParams } from "../../table-url.service";
|
|
2
|
+
export declare const ibTableSelectLastQueryStringRaw: (tableName: string) => import("@ngrx/store").MemoizedSelector<object, IbTableQsParams, (s1: import("./interfaces").IbKaiTableNamedParams) => IbTableQsParams>;
|
|
3
|
+
export declare const ibTableSelectLastQueryString: (tableName: string) => import("@ngrx/store").MemoizedSelector<object, string, (s1: IbTableQsParams) => string>;
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
import { DataSource } from "@angular/cdk/collections";
|
|
2
|
+
import { MatPaginator } from "@angular/material/paginator";
|
|
3
|
+
import { MatSort, Sort } from "@angular/material/sort";
|
|
4
|
+
import { BehaviorSubject, Subject, Subscription } from "rxjs";
|
|
5
|
+
import { IbFilter } from "../kai-filter/filter.component";
|
|
6
|
+
import { IbFilterSyntax } from "../kai-filter/filter.types";
|
|
7
|
+
import { IbTableViewGroup } from "../views/components/table-view-group/table-view-group.component";
|
|
8
|
+
import { IbAggregateResult } from "./cells";
|
|
9
|
+
import { IbColumn, IbSelectionColumn } from "./columns";
|
|
10
|
+
import { Store } from "@ngrx/store";
|
|
11
|
+
/**
|
|
12
|
+
* Data source that accepts a client-side data array and includes native support of filtering,
|
|
13
|
+
* sorting (using MatSort), and pagination (using MatPaginator).
|
|
14
|
+
*
|
|
15
|
+
* Allows for sort customization by overriding sortingDataAccessor, which defines how data
|
|
16
|
+
* properties are accessed. Also allows for filter customization by overriding filterPredicate,
|
|
17
|
+
* which defines how row data is converted to a string for filter matching.
|
|
18
|
+
*/
|
|
19
|
+
export declare class IbTableDataSource<T, P extends MatPaginator = MatPaginator> extends DataSource<T> {
|
|
20
|
+
/** Stream that emits when a new data array is set on the data source. */
|
|
21
|
+
protected readonly _data: BehaviorSubject<T[]>;
|
|
22
|
+
/** Stream emitting render data to the table (depends on ordered data changes). */
|
|
23
|
+
protected readonly _renderData: BehaviorSubject<T[]>;
|
|
24
|
+
/** Used to react to internal changes of the paginator that are made by the data source itself. */
|
|
25
|
+
private readonly _internalPageChanges;
|
|
26
|
+
/**
|
|
27
|
+
* Subscription to the changes that should trigger an update to the table's rendered rows, such
|
|
28
|
+
* as filtering, sorting, pagination, or base data changes.
|
|
29
|
+
*/
|
|
30
|
+
_renderChangesSubscription: Subscription | null;
|
|
31
|
+
_viewChangesSubscription: Subscription | null;
|
|
32
|
+
tableName: string;
|
|
33
|
+
/**
|
|
34
|
+
* The filtered set of data that has been matched by the filter string, or all the data if there
|
|
35
|
+
* is no filter. Useful for knowing the set of data the table represents.
|
|
36
|
+
* For example, a 'selectAll()' function would likely want to select the set of filtered data
|
|
37
|
+
* shown to the user rather than all the data.
|
|
38
|
+
*/
|
|
39
|
+
filteredData: T[];
|
|
40
|
+
/** Array of data that should be rendered by the table, where each object represents one row. */
|
|
41
|
+
get data(): T[];
|
|
42
|
+
set data(data: T[]);
|
|
43
|
+
/**
|
|
44
|
+
* Instance of the IbFilter component used by the table to filter its data. Filter changes
|
|
45
|
+
* emitted by the IbFilter will trigger an update to the table's rendered data.
|
|
46
|
+
*/
|
|
47
|
+
get filter(): IbFilter | null;
|
|
48
|
+
set filter(f: IbFilter | null);
|
|
49
|
+
private _filter;
|
|
50
|
+
/**
|
|
51
|
+
* Instance of the MatSort directive used by the table to control its sorting. Sort changes
|
|
52
|
+
* emitted by the MatSort will trigger an update to the table's rendered data.
|
|
53
|
+
*/
|
|
54
|
+
get sort(): MatSort | null;
|
|
55
|
+
set sort(sort: MatSort | null);
|
|
56
|
+
private _sort;
|
|
57
|
+
_sortState: Sort;
|
|
58
|
+
get sortState(): Sort;
|
|
59
|
+
set sortState(sort: Sort);
|
|
60
|
+
/**
|
|
61
|
+
* Instance of the paginator component used by the table to control what page of the data is
|
|
62
|
+
* displayed. Page changes emitted by the paginator will trigger an update to the
|
|
63
|
+
* table's rendered data.
|
|
64
|
+
*
|
|
65
|
+
* Note that the data source uses the paginator's properties to calculate which page of data
|
|
66
|
+
* should be displayed. If the paginator receives its properties as template inputs,
|
|
67
|
+
* e.g. `[pageLength]=100` or `[pageIndex]=1`, then be sure that the paginator's view has been
|
|
68
|
+
* initialized before assigning it to this data source.
|
|
69
|
+
*/
|
|
70
|
+
get paginator(): P | null;
|
|
71
|
+
set paginator(paginator: P | null);
|
|
72
|
+
private _paginator;
|
|
73
|
+
get columns(): Record<string, IbColumn<unknown>>;
|
|
74
|
+
set columns(columns: IbColumn<unknown>[]);
|
|
75
|
+
private _columns;
|
|
76
|
+
set view(view: IbTableViewGroup | null);
|
|
77
|
+
get view(): IbTableViewGroup | null;
|
|
78
|
+
private _view;
|
|
79
|
+
/**
|
|
80
|
+
* Aggregated data by column name.
|
|
81
|
+
*/
|
|
82
|
+
aggregatedData: Record<string, IbAggregateResult>;
|
|
83
|
+
/**
|
|
84
|
+
* Dictionary of columns to aggregate and the function (function id) to apply.
|
|
85
|
+
* Note: this structure is serialized within a view
|
|
86
|
+
*/
|
|
87
|
+
aggregatedColumns: Record<string, string>;
|
|
88
|
+
aggregationFunctions: any;
|
|
89
|
+
protected store: Store<any>;
|
|
90
|
+
/**
|
|
91
|
+
* Used to trigger the aggregation of a column by the user.
|
|
92
|
+
*
|
|
93
|
+
* IbTableViewGroup listens to this stream to detect state changes
|
|
94
|
+
*/
|
|
95
|
+
aggregate: Subject<{
|
|
96
|
+
columnName: string;
|
|
97
|
+
function: string;
|
|
98
|
+
}>;
|
|
99
|
+
/**
|
|
100
|
+
* Whether the table should display the aggregation footer.
|
|
101
|
+
* (this reeks...)
|
|
102
|
+
*/
|
|
103
|
+
get shouldDisplayAggregationFooter(): boolean;
|
|
104
|
+
selectionColumn: IbSelectionColumn | null;
|
|
105
|
+
/**
|
|
106
|
+
* Gets a sorted copy of the data array based on the state of the MatSort. Called
|
|
107
|
+
* after changes are made to the filtered data or when sort changes are emitted from MatSort.
|
|
108
|
+
* By default, the function retrieves the active sort and its direction and compares data
|
|
109
|
+
* by retrieving data using the sortingDataAccessor.
|
|
110
|
+
* @param data The array of data that should be sorted.
|
|
111
|
+
* @param sort The connected MatSort that holds the current sort state.
|
|
112
|
+
*/
|
|
113
|
+
sortData: (data: T[], sort: MatSort) => T[];
|
|
114
|
+
/**
|
|
115
|
+
* Checks if a data object matches the data source's filter.
|
|
116
|
+
* @param data Data object used to check against the filter.
|
|
117
|
+
* @param filter Filter that has been set on the data source.
|
|
118
|
+
* @returns Whether the filter matches against the data
|
|
119
|
+
*/
|
|
120
|
+
filterPredicate: (data: T, filter: IbFilterSyntax) => boolean;
|
|
121
|
+
private applySearchBarFilter;
|
|
122
|
+
constructor(initialData?: T[]);
|
|
123
|
+
private _initializeFilters;
|
|
124
|
+
/**
|
|
125
|
+
* Subscribe to changes that should trigger an update to the table's rendered rows. When the
|
|
126
|
+
* changes occur, process the current state of the filter, sort, and pagination along with
|
|
127
|
+
* the provided base data and send it to the table for rendering.
|
|
128
|
+
*/
|
|
129
|
+
_updateChangeSubscription(): void;
|
|
130
|
+
private _updateViewChangeSubscription;
|
|
131
|
+
private handleViewChange;
|
|
132
|
+
/**
|
|
133
|
+
* Returns a filtered data array where each row satisfies the filter.
|
|
134
|
+
* If no filter is set, returns the data array as provided.
|
|
135
|
+
*/
|
|
136
|
+
_filterData(data: T[]): T[];
|
|
137
|
+
/**
|
|
138
|
+
* Returns a sorted copy of the data if MatSort has a sort applied, otherwise just returns the
|
|
139
|
+
* data array as provided. Uses the default data accessor for data lookup, unless a
|
|
140
|
+
* sortDataAccessor function is defined.
|
|
141
|
+
*/
|
|
142
|
+
_orderData(data: T[]): T[];
|
|
143
|
+
/**
|
|
144
|
+
* Returns a paged slice of the provided data array according to the provided paginator's page
|
|
145
|
+
* index and length. If there is no paginator provided, returns the data array as provided.
|
|
146
|
+
*/
|
|
147
|
+
_pageData(data: T[]): T[];
|
|
148
|
+
/**
|
|
149
|
+
* Updates the paginator to reflect the length of the filtered data, and makes sure that the page
|
|
150
|
+
* index does not exceed the paginator's last page. Values are changed in a resolved promise to
|
|
151
|
+
* guard against making property changes within a round of change detection.
|
|
152
|
+
*/
|
|
153
|
+
_updatePaginator(filteredDataLength: number): void;
|
|
154
|
+
_aggregateData(data: T[]): T[];
|
|
155
|
+
_aggregatePaginatedData(data: T[]): T[];
|
|
156
|
+
/**
|
|
157
|
+
* Used by the MatTable. Called when it connects to the data source.
|
|
158
|
+
*/
|
|
159
|
+
connect(): BehaviorSubject<T[]>;
|
|
160
|
+
/**
|
|
161
|
+
* Used by the MatTable. Called when it disconnects from the data source.
|
|
162
|
+
*/
|
|
163
|
+
disconnect(): void;
|
|
164
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { ActivatedRoute, Router } from '@angular/router';
|
|
2
|
+
import { IbFilterSyntaxExtended } from '../kai-filter/filter.types';
|
|
3
|
+
import { Sort } from '@angular/material/sort';
|
|
4
|
+
import { IbKaiTableParams } from './store/url-state/interfaces';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export declare class IbTableUrlService {
|
|
7
|
+
_emptyFilterSchema: Record<string, IbFilterSyntaxExtended>;
|
|
8
|
+
get emptyFilterSchema(): Record<string, IbFilterSyntaxExtended>;
|
|
9
|
+
set emptyFilterSchema(value: Record<string, IbFilterSyntaxExtended>);
|
|
10
|
+
router: Router;
|
|
11
|
+
activatedRoute: ActivatedRoute;
|
|
12
|
+
constructor();
|
|
13
|
+
getRawParams(tableName: string): IbTableQsParams;
|
|
14
|
+
getFilters(tableName: string): IbFilterSyntaxExtended;
|
|
15
|
+
setFilters(tableName: string, params: IbFilterSyntaxExtended): void;
|
|
16
|
+
getActiveView(tableName: string): string;
|
|
17
|
+
setPaginator(tableName: string, params: {
|
|
18
|
+
pageIndex: number;
|
|
19
|
+
pageSize: number;
|
|
20
|
+
}): void;
|
|
21
|
+
getPaginator(tableName: string): {
|
|
22
|
+
pageIndex: number;
|
|
23
|
+
pageSize: number;
|
|
24
|
+
};
|
|
25
|
+
setAggregatedColumns(tableName: string, params: Record<string, string>): void;
|
|
26
|
+
getAggregatedColumns(tableName: string): Record<string, string>;
|
|
27
|
+
setSort(tableName: string, params: Sort): void;
|
|
28
|
+
getSort(tableName: string): Sort;
|
|
29
|
+
handleViewChange(tableName: string, params: Omit<IbKaiTableParams, 'tableName'> & {
|
|
30
|
+
view: string;
|
|
31
|
+
}): void;
|
|
32
|
+
getViewState(tableName: string): {
|
|
33
|
+
view: string;
|
|
34
|
+
pageSize: number;
|
|
35
|
+
page: number;
|
|
36
|
+
filters: IbFilterSyntaxExtended;
|
|
37
|
+
aggregatedColumns: Record<string, string>;
|
|
38
|
+
sort: Sort;
|
|
39
|
+
};
|
|
40
|
+
setFilterAndSort(tableName: string, ibfilter: IbFilterSyntaxExtended, sort: Sort): void;
|
|
41
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<IbTableUrlService, never>;
|
|
42
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<IbTableUrlService>;
|
|
43
|
+
}
|
|
44
|
+
export type IbTableQsParams = {
|
|
45
|
+
ibpage: number;
|
|
46
|
+
ibpagesize: number;
|
|
47
|
+
ibfilter: IbFilterSyntaxExtended;
|
|
48
|
+
ibaggregatedcolumns: Record<string, string>;
|
|
49
|
+
ibsort: Sort;
|
|
50
|
+
ibview: string;
|
|
51
|
+
};
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { Portal } from "@angular/cdk/portal";
|
|
2
|
+
import { OnDestroy, QueryList } from "@angular/core";
|
|
3
|
+
import { MatPaginator } from "@angular/material/paginator";
|
|
4
|
+
import { MatSort } from "@angular/material/sort";
|
|
5
|
+
import { MatTable } from "@angular/material/table";
|
|
6
|
+
import { IbTableDataExportAction } from "../data-export/table-data-export.component";
|
|
7
|
+
import { IbFilter } from "../kai-filter";
|
|
8
|
+
import { IbTableViewGroup } from "../views";
|
|
9
|
+
import { IbColumn } from "./columns/column";
|
|
10
|
+
import { IbSelectionColumn } from "./columns/selection-column";
|
|
11
|
+
import { IbKaiRowGroupDirective } from "./rowgroup";
|
|
12
|
+
import { IbTableDataSource } from "./table-data-source";
|
|
13
|
+
import { IbKaiTableState, IbTableDef } from "./table.types";
|
|
14
|
+
import { IbTableUrlService } from "./table-url.service";
|
|
15
|
+
import * as i0 from "@angular/core";
|
|
16
|
+
export declare class IbTable implements OnDestroy {
|
|
17
|
+
private _destroyed;
|
|
18
|
+
columns: QueryList<IbColumn<any>>;
|
|
19
|
+
selectionColumn: IbSelectionColumn;
|
|
20
|
+
rowGroup: IbKaiRowGroupDirective;
|
|
21
|
+
filter: IbFilter;
|
|
22
|
+
view: IbTableViewGroup;
|
|
23
|
+
exportAction: IbTableDataExportAction;
|
|
24
|
+
matTable: MatTable<any>;
|
|
25
|
+
sort: MatSort;
|
|
26
|
+
paginator: MatPaginator;
|
|
27
|
+
expandedElement: any;
|
|
28
|
+
actionPortals: Portal<any>[];
|
|
29
|
+
state: IbKaiTableState;
|
|
30
|
+
set data(data: any[]);
|
|
31
|
+
dataSource: IbTableDataSource<unknown>;
|
|
32
|
+
tableName: string;
|
|
33
|
+
tableUrl: IbTableUrlService;
|
|
34
|
+
private store;
|
|
35
|
+
/**
|
|
36
|
+
* Configuration for the table and its inner components. Currently supports only
|
|
37
|
+
* `paginator` and `sort` parameters.
|
|
38
|
+
*
|
|
39
|
+
* If left empty, the following default is used
|
|
40
|
+
*
|
|
41
|
+
* ```
|
|
42
|
+
* {
|
|
43
|
+
* paginator : {
|
|
44
|
+
* pageSizeOptions: [5, 10, 25, 100],
|
|
45
|
+
* showFirstLastButtons: true,
|
|
46
|
+
* pageSize: 10,
|
|
47
|
+
* hide: false,
|
|
48
|
+
* }
|
|
49
|
+
* }
|
|
50
|
+
*
|
|
51
|
+
* NB: querystring override these values
|
|
52
|
+
* ```
|
|
53
|
+
*/
|
|
54
|
+
set tableDef(value: Partial<IbTableDef>);
|
|
55
|
+
get tableDef(): Partial<IbTableDef>;
|
|
56
|
+
private _tableDef;
|
|
57
|
+
/**
|
|
58
|
+
* Columns to be displayed.
|
|
59
|
+
*
|
|
60
|
+
* The order of the columns present in this array is rendered
|
|
61
|
+
* as is in a language written from left-to-right. It is reversed
|
|
62
|
+
* in a language written from right-to-left.
|
|
63
|
+
*/
|
|
64
|
+
set displayedColumns(columns: string[]);
|
|
65
|
+
get displayedColumns(): string[];
|
|
66
|
+
private _displayedColumns;
|
|
67
|
+
stripedRows: boolean;
|
|
68
|
+
isRemote: boolean;
|
|
69
|
+
ngOnInit(): void;
|
|
70
|
+
ngAfterViewInit(): void;
|
|
71
|
+
ngAfterContentInit(): void;
|
|
72
|
+
ngOnDestroy(): void;
|
|
73
|
+
setPaginatorState(params: any): void;
|
|
74
|
+
private setupViewGroup;
|
|
75
|
+
private setupExportAction;
|
|
76
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<IbTable, never>;
|
|
77
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<IbTable, "ib-kai-table", never, { "state": { "alias": "state"; "required": false; }; "data": { "alias": "data"; "required": false; }; "dataSource": { "alias": "dataSource"; "required": false; }; "tableName": { "alias": "tableName"; "required": false; }; "tableDef": { "alias": "tableDef"; "required": false; }; "displayedColumns": { "alias": "displayedColumns"; "required": false; }; "stripedRows": { "alias": "stripedRows"; "required": false; }; }, {}, ["selectionColumn", "rowGroup", "filter", "view", "exportAction", "columns"], ["ib-table-view-group", "ib-table-action-group, [ib-table-action-group]", "ib-filter", "ib-selection-column", "*"], false, never>;
|
|
78
|
+
static ngAcceptInputType_stripedRows: unknown;
|
|
79
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "./table.component";
|
|
3
|
+
import * as i2 from "./rowgroup";
|
|
4
|
+
import * as i3 from "./cells";
|
|
5
|
+
import * as i4 from "./columns/selection-column";
|
|
6
|
+
import * as i5 from "./columns/text-column";
|
|
7
|
+
import * as i6 from "./columns/number-column";
|
|
8
|
+
import * as i7 from "./columns/date-column";
|
|
9
|
+
import * as i8 from "./columns/action-column";
|
|
10
|
+
import * as i9 from "@angular/common";
|
|
11
|
+
import * as i10 from "@angular/cdk/portal";
|
|
12
|
+
import * as i11 from "./columns/column";
|
|
13
|
+
import * as i12 from "./sort-header";
|
|
14
|
+
import * as i13 from "@angular/material/table";
|
|
15
|
+
import * as i14 from "@angular/material/sort";
|
|
16
|
+
import * as i15 from "@angular/material/menu";
|
|
17
|
+
import * as i16 from "@angular/material/icon";
|
|
18
|
+
import * as i17 from "@angular/material/button";
|
|
19
|
+
import * as i18 from "@angular/material/tooltip";
|
|
20
|
+
import * as i19 from "@angular/material/checkbox";
|
|
21
|
+
import * as i20 from "@angular/material/paginator";
|
|
22
|
+
import * as i21 from "@angular/material/progress-bar";
|
|
23
|
+
import * as i22 from "@ngx-translate/core";
|
|
24
|
+
import * as i23 from "@ngrx/store";
|
|
25
|
+
import * as i24 from "@ngrx/effects";
|
|
26
|
+
export declare class IbKaiTableModule {
|
|
27
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<IbKaiTableModule, never>;
|
|
28
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<IbKaiTableModule, [typeof i1.IbTable, typeof i2.IbKaiRowGroupDirective, typeof i3.IbCellDef, typeof i4.IbSelectionColumn, typeof i5.IbTextColumn, typeof i6.IbNumberColumn, typeof i7.IbDateColumn, typeof i8.IbActionColumn, typeof i3.IbAggregateCell], [typeof i9.CommonModule, typeof i10.PortalModule, typeof i11.IbColumn, typeof i12.IbSortHeader, typeof i13.MatTableModule, typeof i14.MatSortModule, typeof i15.MatMenuModule, typeof i16.MatIconModule, typeof i17.MatButtonModule, typeof i18.MatTooltipModule, typeof i19.MatCheckboxModule, typeof i20.MatPaginatorModule, typeof i21.MatProgressBarModule, typeof i22.TranslateModule, typeof i23.StoreFeatureModule, typeof i24.EffectsFeatureModule], [typeof i1.IbTable, typeof i2.IbKaiRowGroupDirective, typeof i3.IbCellDef, typeof i4.IbSelectionColumn, typeof i11.IbColumn, typeof i5.IbTextColumn, typeof i6.IbNumberColumn, typeof i7.IbDateColumn, typeof i12.IbSortHeader, typeof i8.IbActionColumn, typeof i3.IbAggregateCell]>;
|
|
29
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<IbKaiTableModule>;
|
|
30
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { MatPaginatorDefaultOptions } from "@angular/material/paginator";
|
|
2
|
+
import { Sort } from "@angular/material/sort";
|
|
3
|
+
export interface IbPaginatorOptions extends MatPaginatorDefaultOptions {
|
|
4
|
+
hide?: boolean;
|
|
5
|
+
pageIndex?: number;
|
|
6
|
+
}
|
|
7
|
+
export interface IbTableDef {
|
|
8
|
+
paginator?: IbPaginatorOptions;
|
|
9
|
+
initialSort?: Sort;
|
|
10
|
+
}
|
|
11
|
+
export interface IbTableRowEvent<T = any> {
|
|
12
|
+
tableName: string;
|
|
13
|
+
type: string;
|
|
14
|
+
row: T;
|
|
15
|
+
}
|
|
16
|
+
export interface IbTableRowSelectionChange<T = any> {
|
|
17
|
+
tableName: string;
|
|
18
|
+
selection: boolean;
|
|
19
|
+
row: T;
|
|
20
|
+
}
|
|
21
|
+
export type IbKaiTableState = "idle" | "loading" | "no_data" | "http_error";
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
/**
|
|
3
|
+
* Used to provide a table to some of the sub-components without causing a circular dependency.
|
|
4
|
+
*/
|
|
5
|
+
export declare const IB_TABLE: InjectionToken<any>;
|
|
6
|
+
/** Used to provide a column to the aggregate cell of a given column. */
|
|
7
|
+
export declare const IB_COLUMN: InjectionToken<any>;
|
|
8
|
+
/** Configurable options for `IbColumn`. */
|
|
9
|
+
export interface IbColumnOptions<T> {
|
|
10
|
+
/**
|
|
11
|
+
* Default function that provides the header text based on the column name if a header
|
|
12
|
+
* text is not provided.
|
|
13
|
+
*/
|
|
14
|
+
defaultHeaderTextTransform?: (name: string) => string;
|
|
15
|
+
/** Default data accessor to use if one is not provided. */
|
|
16
|
+
defaultDataAccessor?: (data: T, name: string) => string;
|
|
17
|
+
}
|
|
18
|
+
/** Injection token that can be used to specify the text column options. */
|
|
19
|
+
export declare const IB_COLUMN_OPTIONS: InjectionToken<IbColumnOptions<any>>;
|
|
20
|
+
/** Used to provide a list of aggregate funciton to a number column */
|
|
21
|
+
export declare const IB_AGGREGATE: InjectionToken<any>;
|
|
22
|
+
export declare const IB_AGGREGATE_TYPE: InjectionToken<any>;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export declare const ibKaiTableTranslations: {
|
|
2
|
+
it: {
|
|
3
|
+
aggregate: {
|
|
4
|
+
sum: {
|
|
5
|
+
name: string;
|
|
6
|
+
label: string;
|
|
7
|
+
help: string;
|
|
8
|
+
};
|
|
9
|
+
avg: {
|
|
10
|
+
name: string;
|
|
11
|
+
label: string;
|
|
12
|
+
help: string;
|
|
13
|
+
};
|
|
14
|
+
help: string;
|
|
15
|
+
apply: string;
|
|
16
|
+
currentPage: string;
|
|
17
|
+
total: string;
|
|
18
|
+
};
|
|
19
|
+
ibTable: {
|
|
20
|
+
export: string;
|
|
21
|
+
paginator: {
|
|
22
|
+
itemsPerPageLabel: string;
|
|
23
|
+
nextPageLabel: string;
|
|
24
|
+
previousPageLabel: string;
|
|
25
|
+
firstPageLabel: string;
|
|
26
|
+
lastPageLabel: string;
|
|
27
|
+
rangeLabel1: string;
|
|
28
|
+
rangeLabel2: string;
|
|
29
|
+
};
|
|
30
|
+
exportData: {
|
|
31
|
+
title: string;
|
|
32
|
+
export: string;
|
|
33
|
+
format: string;
|
|
34
|
+
all: string;
|
|
35
|
+
currentPage: string;
|
|
36
|
+
selectedRows: string;
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
};
|