@elderbyte/ngx-starter 18.3.0 → 18.4.0
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/esm2022/lib/common/data/datasource/local/local-list-data-source.mjs +5 -3
- package/esm2022/lib/common/enums/elder-enum-translation.service.mjs +3 -3
- package/esm2022/lib/common/forms/elder-form-field-control-base.directive.mjs +3 -3
- package/esm2022/lib/common/forms/elder-from-field-base.mjs +3 -3
- package/esm2022/lib/common/forms/elder-from-field-customizable-base.mjs +3 -3
- package/esm2022/lib/common/forms/elder-from-field-entity-base.mjs +3 -3
- package/esm2022/lib/common/forms/elder-from-field-multi-entity-base.mjs +3 -3
- package/esm2022/lib/common/forms/form-field-base.component.mjs +3 -3
- package/esm2022/lib/common/forms/multi-model-base.component.mjs +3 -3
- package/esm2022/lib/common/forms/template-composite-control.mjs +3 -3
- package/esm2022/lib/common/forms/value-accessor-base.mjs +3 -3
- package/esm2022/lib/common/http/http-client-builder.service.mjs +3 -3
- package/esm2022/lib/common/http/http-client-pristine.mjs +3 -3
- package/esm2022/lib/common/http/transfer/data-transfer-factory.mjs +3 -3
- package/esm2022/lib/common/objects.mjs +4 -2
- package/esm2022/lib/common/url/elder-router.service.mjs +3 -3
- package/esm2022/lib/common/url/elder-url-fragment-params.service.mjs +3 -3
- package/esm2022/lib/common/utils/sort-util.mjs +13 -1
- package/esm2022/lib/components/access-denied/elder-access-denied.component.mjs +3 -3
- package/esm2022/lib/components/access-denied/elder-access-denied.module.mjs +4 -4
- package/esm2022/lib/components/auditing/audited-entity/elder-audited-entity.component.mjs +3 -3
- package/esm2022/lib/components/auditing/elder-audit.module.mjs +4 -4
- package/esm2022/lib/components/badge/elder-badge/elder-badge.component.mjs +10 -10
- package/esm2022/lib/components/badge/elder-badge.directive.mjs +3 -3
- package/esm2022/lib/components/badge/elder-badge.module.mjs +4 -4
- package/esm2022/lib/components/button-group/elder-button-group/elder-button-group.component.mjs +3 -3
- package/esm2022/lib/components/button-group/elder-button-group.module.mjs +4 -4
- package/esm2022/lib/components/card-organizer/card-organizer/elder-card-organizer.component.mjs +3 -3
- package/esm2022/lib/components/card-organizer/card-organizer/elder-stack-card.directive.mjs +3 -3
- package/esm2022/lib/components/card-organizer/card-stack/elder-card-stack.component.mjs +4 -4
- package/esm2022/lib/components/card-organizer/elder-card-organizer.module.mjs +4 -4
- package/esm2022/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.mjs +3 -3
- package/esm2022/lib/components/cards/elder-card/elder-card.component.mjs +18 -18
- package/esm2022/lib/components/cards/elder-card/elder-card.module.mjs +4 -4
- package/esm2022/lib/components/chips/elder-chip-label.directive.mjs +3 -3
- package/esm2022/lib/components/chips/elder-chips.module.mjs +4 -4
- package/esm2022/lib/components/connectivity/elder-connectivity.module.mjs +4 -4
- package/esm2022/lib/components/connectivity/elder-connectivity.service.mjs +3 -3
- package/esm2022/lib/components/connectivity/offline-indicator/elder-offline-indicator.component.mjs +3 -3
- package/esm2022/lib/components/containers/elder-containers.module.mjs +4 -4
- package/esm2022/lib/components/containers/elder-scroll-container/elder-scroll-container.component.mjs +3 -3
- package/esm2022/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.mjs +3 -3
- package/esm2022/lib/components/csv/elder-csv-stream-exporter-builder.service.mjs +3 -3
- package/esm2022/lib/components/csv/elder-csv.module.mjs +4 -4
- package/esm2022/lib/components/currency/elder-currency.module.mjs +4 -4
- package/esm2022/lib/components/currency/elder-currency.pipe.mjs +3 -3
- package/esm2022/lib/components/data-transfer/elder-data-transfer.module.mjs +4 -4
- package/esm2022/lib/components/data-transfer/elder-data-transfer.service.mjs +3 -3
- package/esm2022/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.mjs +3 -3
- package/esm2022/lib/components/data-transfer/http-data-transfer-aggregate/http-data-transfer-aggregate.component.mjs +3 -3
- package/esm2022/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.mjs +3 -3
- package/esm2022/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.mjs +3 -3
- package/esm2022/lib/components/data-view/base/elder-data-view-base.mjs +3 -3
- package/esm2022/lib/components/data-view/common/composite-sort/composite-sort-context.mjs +30 -0
- package/esm2022/lib/components/data-view/common/composite-sort/composite-sort-dc.directive.mjs +57 -0
- package/esm2022/lib/components/data-view/common/composite-sort/composite-sort.mjs +69 -0
- package/esm2022/lib/components/data-view/common/composite-sort/elder-composite-sort/elder-composite-sort.component.mjs +87 -0
- package/esm2022/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.mjs +3 -3
- package/esm2022/lib/components/data-view/common/elder-data-common.module.mjs +19 -5
- package/esm2022/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.mjs +6 -6
- package/esm2022/lib/components/data-view/common/elder-single-sort/elder-single-sort.component.mjs +3 -3
- package/esm2022/lib/components/data-view/common/selection/data-context-selection.directive.mjs +3 -3
- package/esm2022/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.mjs +3 -3
- package/esm2022/lib/components/data-view/grid/elder-grid/elder-grid.component.mjs +19 -19
- package/esm2022/lib/components/data-view/grid/elder-grid.module.mjs +4 -4
- package/esm2022/lib/components/data-view/master-detail/elder-detail-dialog/elder-detail-dialog.component.mjs +3 -3
- package/esm2022/lib/components/data-view/master-detail/elder-detail.directive.mjs +3 -3
- package/esm2022/lib/components/data-view/master-detail/elder-master-activation.directive.mjs +3 -3
- package/esm2022/lib/components/data-view/master-detail/elder-master-detail.component.mjs +3 -3
- package/esm2022/lib/components/data-view/master-detail/elder-master-detail.module.mjs +4 -4
- package/esm2022/lib/components/data-view/master-detail/elder-master-detail.service.mjs +3 -3
- package/esm2022/lib/components/data-view/master-detail/elder-master.directive.mjs +3 -3
- package/esm2022/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.component.mjs +3 -3
- package/esm2022/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.module.mjs +4 -4
- package/esm2022/lib/components/data-view/table/activation/elder-delete-active.directive.mjs +3 -3
- package/esm2022/lib/components/data-view/table/activation/elder-table-activation.directive.mjs +3 -3
- package/esm2022/lib/components/data-view/table/elder-number-cell.directive.mjs +3 -3
- package/esm2022/lib/components/data-view/table/elder-paginator-intl.mjs +3 -3
- package/esm2022/lib/components/data-view/table/elder-table/elder-table-toolbar.directive.mjs +3 -3
- package/esm2022/lib/components/data-view/table/elder-table/elder-table.component.mjs +4 -4
- package/esm2022/lib/components/data-view/table/elder-table-column.directive.mjs +3 -3
- package/esm2022/lib/components/data-view/table/elder-table-extension.directive.mjs +3 -3
- package/esm2022/lib/components/data-view/table/elder-table-root.directive.mjs +3 -3
- package/esm2022/lib/components/data-view/table/elder-table-row.directive.mjs +3 -3
- package/esm2022/lib/components/data-view/table/elder-table-sort.directive.mjs +3 -3
- package/esm2022/lib/components/data-view/table/elder-table.module.mjs +4 -4
- package/esm2022/lib/components/data-view/table/model/elder-table-model.mjs +3 -3
- package/esm2022/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.mjs +3 -3
- package/esm2022/lib/components/dialogs/elder-dialog.module.mjs +4 -4
- package/esm2022/lib/components/dialogs/elder-dialog.service.mjs +3 -3
- package/esm2022/lib/components/dialogs/question-dialog/elder-question-dialog.component.mjs +3 -3
- package/esm2022/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.mjs +3 -3
- package/esm2022/lib/components/dialogs/selection-dialog/elder-selection-dialog.directive.mjs +3 -3
- package/esm2022/lib/components/errors/elder-error.module.mjs +4 -4
- package/esm2022/lib/components/errors/exception-detail/elder-exception-detail.component.mjs +3 -3
- package/esm2022/lib/components/expand-toggle-button/elder-expand-toggle-button.component.mjs +3 -3
- package/esm2022/lib/components/expand-toggle-button/elder-expand-toggle-button.module.mjs +4 -4
- package/esm2022/lib/components/files/blob-viewer/elder-blob-viewer.component.mjs +3 -3
- package/esm2022/lib/components/files/drag-n-drop/elder-drop-zone/elder-drop-zone.component.mjs +3 -3
- package/esm2022/lib/components/files/drag-n-drop/global-drag-drop.service.mjs +3 -3
- package/esm2022/lib/components/files/elder-file-drop-zone.directive.mjs +3 -3
- package/esm2022/lib/components/files/elder-file-select.directive.mjs +3 -3
- package/esm2022/lib/components/files/elder-file.module.mjs +4 -4
- package/esm2022/lib/components/files/file-select/file-select.component.mjs +3 -3
- package/esm2022/lib/components/files/file-system-api.mjs +7 -3
- package/esm2022/lib/components/files/file-upload/file-upload.component.mjs +3 -3
- package/esm2022/lib/components/forms/clipboard/elder-clipboard.service.mjs +3 -3
- package/esm2022/lib/components/forms/directives/base/elder-class-hostbinding-base.mjs +3 -3
- package/esm2022/lib/components/forms/directives/elder-clipboard-put.directive.mjs +3 -3
- package/esm2022/lib/components/forms/directives/elder-delayed-focus.directive.mjs +3 -3
- package/esm2022/lib/components/forms/directives/elder-form-field-dense.directive.mjs +3 -3
- package/esm2022/lib/components/forms/directives/elder-form-field-label.directive.mjs +3 -3
- package/esm2022/lib/components/forms/directives/elder-form-field-no-hint.directive.mjs +3 -3
- package/esm2022/lib/components/forms/directives/elder-form-field-no-spinner.directive.mjs +3 -3
- package/esm2022/lib/components/forms/directives/elder-forms-directives.module.mjs +4 -4
- package/esm2022/lib/components/forms/directives/elder-initial-value.directive.mjs +3 -3
- package/esm2022/lib/components/forms/directives/elder-input-pattern.directive.mjs +3 -3
- package/esm2022/lib/components/forms/directives/elder-key-event.directive.mjs +3 -3
- package/esm2022/lib/components/forms/directives/elder-next-focusable.directive.mjs +3 -3
- package/esm2022/lib/components/forms/directives/elder-plug-parent-form.directive.mjs +3 -3
- package/esm2022/lib/components/forms/directives/elder-stop-event-propagation.directive.mjs +3 -3
- package/esm2022/lib/components/forms/directives/elder-tab-focus-trap.directive.mjs +3 -3
- package/esm2022/lib/components/forms/directives/elder-touched.directive.mjs +3 -3
- package/esm2022/lib/components/forms/directives/elder-triple-state-checkbox.directive.mjs +3 -3
- package/esm2022/lib/components/forms/directives/validation/elder-validation-error.directive.mjs +3 -3
- package/esm2022/lib/components/forms/directives/validation/strategies/common-validation-message-strategy.mjs +3 -3
- package/esm2022/lib/components/forms/directives/validation/strategies/dynamic-validation-message-strategy.mjs +3 -3
- package/esm2022/lib/components/forms/directives/validation/validation-message-renderer.service.mjs +3 -3
- package/esm2022/lib/components/forms/directives/validation/validators/elder-max.validator.mjs +3 -3
- package/esm2022/lib/components/forms/directives/validation/validators/elder-min.validator.mjs +3 -3
- package/esm2022/lib/components/forms/directives/validation/validators/elder-multiple-of.validator.mjs +3 -3
- package/esm2022/lib/components/forms/directives/validation/validators/elder-required-ignore-zero.validator.mjs +3 -3
- package/esm2022/lib/components/forms/elder-forms.module.mjs +4 -4
- package/esm2022/lib/components/forms/search/domain/context/search-context.service.mjs +3 -3
- package/esm2022/lib/components/forms/search/domain/url/elder-search-url.directive.mjs +3 -3
- package/esm2022/lib/components/forms/search/domain/url/elder-search-url.service.mjs +3 -3
- package/esm2022/lib/components/forms/search/elder-search-context.directive.mjs +3 -3
- package/esm2022/lib/components/forms/search/elder-search-input.directive.mjs +3 -3
- package/esm2022/lib/components/forms/search/elder-search.module.mjs +4 -4
- package/esm2022/lib/components/forms/search/search-box/elder-search-box.component.mjs +3 -3
- package/esm2022/lib/components/forms/search/search-box/elder-search-panel.component.mjs +3 -3
- package/esm2022/lib/components/global-search/elder-global-search.component.mjs +3 -3
- package/esm2022/lib/components/global-search/elder-global-search.module.mjs +4 -4
- package/esm2022/lib/components/global-search/elder-global-search.service.mjs +3 -3
- package/esm2022/lib/components/graph/elder-progress-bar/elder-progress-bar.component.mjs +3 -3
- package/esm2022/lib/components/graph/elder-progress-bar/elder-progress-bar.module.mjs +4 -4
- package/esm2022/lib/components/headers/elder-header/elder-header.component.mjs +3 -3
- package/esm2022/lib/components/headers/elder-header.module.mjs +4 -4
- package/esm2022/lib/components/http-support/elder-http-client.service.mjs +3 -3
- package/esm2022/lib/components/i18n/entities/elder-i18n-entities.module.mjs +4 -4
- package/esm2022/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.mjs +3 -3
- package/esm2022/lib/components/i18n/entities/elder-localized-input-dialog/elder-localized-input-dialog.component.mjs +3 -3
- package/esm2022/lib/components/i18n/entities/elder-localized-input-dialog.service.mjs +3 -3
- package/esm2022/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.mjs +4 -4
- package/esm2022/lib/components/i18n/entities/elder-localized-text-column.directive.mjs +3 -3
- package/esm2022/lib/components/i18n/entities/elder-localized-texts.directive.mjs +3 -3
- package/esm2022/lib/components/i18n/entities/picker/i18n-pick-async.pipe.mjs +3 -3
- package/esm2022/lib/components/i18n/entities/picker/i18n-pick.pipe.mjs +3 -3
- package/esm2022/lib/components/i18n/entities/picker/localisation-picker.service.mjs +3 -3
- package/esm2022/lib/components/i18n/language/elder-language-interceptor.mjs +3 -3
- package/esm2022/lib/components/i18n/language/elder-language.module.mjs +4 -4
- package/esm2022/lib/components/i18n/language/elder-language.service.mjs +3 -3
- package/esm2022/lib/components/i18n/language/language-switcher/elder-language-switcher.component.mjs +3 -3
- package/esm2022/lib/components/i18n/locales/elder-locales-de-ch.module.mjs +4 -4
- package/esm2022/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.mjs +3 -3
- package/esm2022/lib/components/iframes/data-view/data-view-iframe-adapter.directive.mjs +3 -3
- package/esm2022/lib/components/iframes/elder-iframe.module.mjs +4 -4
- package/esm2022/lib/components/iframes/iframe-close.directive.mjs +3 -3
- package/esm2022/lib/components/iframes/iframe-dialog/iframe-dialog.component.mjs +3 -3
- package/esm2022/lib/components/iframes/iframe-host/iframe-host.component.mjs +3 -3
- package/esm2022/lib/components/iframes/iframe-side-content/iframe-side-content.component.mjs +3 -3
- package/esm2022/lib/components/iframes/iframe.service.mjs +3 -3
- package/esm2022/lib/components/infinitescroll/elder-infinite-autocomplete.directive.mjs +3 -3
- package/esm2022/lib/components/infinitescroll/elder-infinite-scroll.directive.mjs +4 -4
- package/esm2022/lib/components/infinitescroll/elder-infinite-scroll.module.mjs +4 -4
- package/esm2022/lib/components/input/autocomplete/elder-autocomplete/elder-suggestion-panel.component.mjs +6 -6
- package/esm2022/lib/components/input/autocomplete/elder-autocomplete-many.directive.mjs +3 -3
- package/esm2022/lib/components/input/autocomplete/elder-autocomplete.directive.mjs +3 -3
- package/esm2022/lib/components/input/autocomplete/elder-autocomplete.module.mjs +4 -4
- package/esm2022/lib/components/labels/elder-labels.module.mjs +4 -4
- package/esm2022/lib/components/labels/labels-input/labels-input.component.mjs +3 -3
- package/esm2022/lib/components/measures/dimensions/dimensions-input/elder-dimensions-input.component.mjs +3 -3
- package/esm2022/lib/components/measures/dimensions/validation/elder-required-dimensions.validator.mjs +3 -3
- package/esm2022/lib/components/measures/directives/elder-unit-select.directive.mjs +3 -3
- package/esm2022/lib/components/measures/elder-measures.module.mjs +8 -8
- package/esm2022/lib/components/measures/elder-quantity-transform.pipe.mjs +3 -3
- package/esm2022/lib/components/measures/elder-quantity.pipe.mjs +4 -4
- package/esm2022/lib/components/measures/elder-unit.service.mjs +3 -3
- package/esm2022/lib/components/measures/quantity-input/quantity-form-field/elder-quantity-form-field.component.mjs +3 -3
- package/esm2022/lib/components/measures/quantity-input/quantity-input-control/elder-quantity-input-control.component.mjs +3 -3
- package/esm2022/lib/components/measures/quantity-input/validation/elder-quantity-range.validator.mjs +3 -3
- package/esm2022/lib/components/measures/quantity-input/validation/elder-required-quantity.validator.mjs +3 -3
- package/esm2022/lib/components/measures/util/elder-quantity.service.mjs +4 -4
- package/esm2022/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.mjs +3 -3
- package/esm2022/lib/components/navigation/bread-crumbs/elder-bread-crumbs.module.mjs +4 -4
- package/esm2022/lib/components/navigation/nav/elder-nav.module.mjs +4 -4
- package/esm2022/lib/components/navigation/nav/nav-group/elder-nav-group.component.mjs +3 -3
- package/esm2022/lib/components/navigation/nav/nav-link/elder-nav-link.component.mjs +3 -3
- package/esm2022/lib/components/navigation/nav/nav-list/elder-nav-list.component.mjs +3 -3
- package/esm2022/lib/components/navigation/toolbar/elder-toolbar-column.directive.mjs +3 -3
- package/esm2022/lib/components/navigation/toolbar/elder-toolbar.module.mjs +4 -4
- package/esm2022/lib/components/navigation/toolbar/elder-toolbar.service.mjs +3 -3
- package/esm2022/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.mjs +3 -3
- package/esm2022/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.mjs +3 -3
- package/esm2022/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.service.mjs +3 -3
- package/esm2022/lib/components/overlays/elder-overlay-origin.directive.mjs +3 -3
- package/esm2022/lib/components/overlays/elder-overlay-ref.mjs +3 -3
- package/esm2022/lib/components/overlays/elder-overlay-trigger.directive.mjs +3 -3
- package/esm2022/lib/components/overlays/elder-overlay.component.mjs +3 -3
- package/esm2022/lib/components/overlays/elder-overlay.module.mjs +4 -4
- package/esm2022/lib/components/panels/card-panel/elder-card-panel.component.mjs +3 -3
- package/esm2022/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.mjs +3 -3
- package/esm2022/lib/components/panels/elder-panel.module.mjs +4 -4
- package/esm2022/lib/components/panels/flat/elder-panel.component.mjs +3 -3
- package/esm2022/lib/components/panels/toggle-panel/elder-toggle-panel-trigger.directive.mjs +3 -3
- package/esm2022/lib/components/panels/toggle-panel/elder-toggle-panel.component.mjs +9 -9
- package/esm2022/lib/components/scrollbar/elder-scrollbar.directive.mjs +3 -3
- package/esm2022/lib/components/scrollbar/elder-scrollbar.module.mjs +4 -4
- package/esm2022/lib/components/select/auto/elder-auto-select-first.directive.mjs +3 -3
- package/esm2022/lib/components/select/auto/elder-auto-select-first.service.mjs +3 -3
- package/esm2022/lib/components/select/auto/elder-auto-select-suggest-first.directive.mjs +3 -3
- package/esm2022/lib/components/select/elder-select-base.mjs +7 -5
- package/esm2022/lib/components/select/elder-select-chip.directive.mjs +9 -9
- package/esm2022/lib/components/select/elder-select-on-tab.directive.mjs +3 -3
- package/esm2022/lib/components/select/elder-select-value.directive.mjs +3 -3
- package/esm2022/lib/components/select/elder-select.module.mjs +4 -4
- package/esm2022/lib/components/select/filter/elder-chips-include-exclude.directive.mjs +3 -3
- package/esm2022/lib/components/select/filter/elder-filter-chip-template/elder-filter-chip-template.component.mjs +3 -3
- package/esm2022/lib/components/select/multi/elder-chip-select-option/elder-select-option.component.mjs +3 -3
- package/esm2022/lib/components/select/multi/elder-multi-select-base.mjs +3 -3
- package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/elder-multi-select-chip-options.component.mjs +3 -3
- package/esm2022/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.mjs +5 -5
- package/esm2022/lib/components/select/multi/elder-multi-select-form-field.mjs +3 -3
- package/esm2022/lib/components/select/multi/elder-mutli-select-all-directive.mjs +3 -3
- package/esm2022/lib/components/select/multi/elder-search-include-exclude.directive.mjs +3 -3
- package/esm2022/lib/components/select/popup/selection-model-popup-trigger-adapter.directive.mjs +3 -3
- package/esm2022/lib/components/select/popup/selection-model-popup.directive.mjs +3 -3
- package/esm2022/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.mjs +3 -3
- package/esm2022/lib/components/select/single/elder-clear-select.directive.mjs +3 -3
- package/esm2022/lib/components/select/single/elder-select/elder-select.component.mjs +3 -3
- package/esm2022/lib/components/select/single/elder-select-form-field.mjs +3 -3
- package/esm2022/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.mjs +3 -3
- package/esm2022/lib/components/select-chip-list/elder-chip-list-select.module.mjs +4 -4
- package/esm2022/lib/components/shell/drawers/elder-route-outlet-drawer.service.mjs +3 -3
- package/esm2022/lib/components/shell/drawers/elder-router-outlet.service.mjs +3 -3
- package/esm2022/lib/components/shell/elder-shell-slot.directive.mjs +3 -3
- package/esm2022/lib/components/shell/elder-shell.module.mjs +4 -4
- package/esm2022/lib/components/shell/elder-shell.service.mjs +3 -3
- package/esm2022/lib/components/shell/header/elder-app-header/elder-app-header.component.mjs +3 -3
- package/esm2022/lib/components/shell/shell/elder-shell.component.mjs +12 -12
- package/esm2022/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.mjs +3 -3
- package/esm2022/lib/components/tabs/elder-tab/elder-tab.directive.mjs +3 -3
- package/esm2022/lib/components/tabs/elder-tab-group-routing/elder-tab-group-routing.directive.mjs +3 -3
- package/esm2022/lib/components/tabs/elder-tab.module.mjs +4 -4
- package/esm2022/lib/components/theme/elder-theme-applier.directive.mjs +3 -3
- package/esm2022/lib/components/theme/elder-theme-preference.service.mjs +3 -3
- package/esm2022/lib/components/theme/elder-theme-toggle/elder-theme-toggle.component.mjs +3 -3
- package/esm2022/lib/components/theme/elder-theme.directive.mjs +3 -3
- package/esm2022/lib/components/theme/elder-theme.module.mjs +4 -4
- package/esm2022/lib/components/theme/elder-theme.service.mjs +3 -3
- package/esm2022/lib/components/time/date-adapters/custom-date-adapter.mjs +3 -3
- package/esm2022/lib/components/time/duration/elder-duration-input/elder-duration-input.component.mjs +3 -3
- package/esm2022/lib/components/time/elder-date-switcher/elder-date-switcher.component.mjs +3 -3
- package/esm2022/lib/components/time/elder-date-time-input/elder-date-time-input.component.mjs +3 -3
- package/esm2022/lib/components/time/elder-interval-input/elder-interval-input.component.mjs +3 -3
- package/esm2022/lib/components/time/elder-local-date-input/elder-local-date-input.component.mjs +4 -4
- package/esm2022/lib/components/time/elder-local-time-input/elder-local-time-input.component.mjs +3 -3
- package/esm2022/lib/components/time/elder-time.module.mjs +4 -4
- package/esm2022/lib/components/time/period/elder-period-input/elder-period-input.component.mjs +3 -3
- package/esm2022/lib/components/time/pipes/to-iso-date-string.pipe.mjs +3 -3
- package/esm2022/lib/components/toasts/elder-toast.module.mjs +4 -4
- package/esm2022/lib/components/toasts/elder-toast.service.mjs +3 -3
- package/esm2022/lib/components/toasts/standard-toast/standard-toast.component.mjs +3 -3
- package/esm2022/lib/components/url-fragment/elder-url-fragment.module.mjs +4 -4
- package/esm2022/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.mjs +3 -3
- package/esm2022/lib/components/viewers/elder-svg-viewer/elder-svg-viewer.component.mjs +3 -3
- package/esm2022/lib/components/viewers/elder-viewers.module.mjs +4 -4
- package/esm2022/lib/features/event-source/fetch/reactive-fetch-event-source.service.mjs +3 -3
- package/esm2022/lib/features/event-source/standard/elder-event-source.service.mjs +3 -3
- package/esm2022/lib/features/kafent/access-token-provider.mjs +3 -3
- package/esm2022/lib/features/kafent/kafent-config.mjs +3 -3
- package/esm2022/lib/features/kafent/kafent-event-stream.mjs +3 -3
- package/esm2022/lib/features/kafent/kafent-event.service.mjs +3 -3
- package/esm2022/lib/features/kafent/kafent.module.mjs +4 -4
- package/esm2022/lib/features/kafent/sse/kafent-event-stream-sse.service.mjs +3 -3
- package/esm2022/lib/pipes/bytes.pipe.mjs +3 -3
- package/esm2022/lib/pipes/elder-pipes.module.mjs +10 -10
- package/esm2022/lib/pipes/elder-repeat.pipe.mjs +3 -3
- package/esm2022/lib/pipes/elder-round.pipe.mjs +3 -3
- package/esm2022/lib/pipes/elder-safe-url.pipe.mjs +3 -3
- package/esm2022/lib/pipes/elder-truncate.pipe.mjs +3 -3
- package/esm2022/lib/pipes/iso-duration.pipe.mjs +3 -3
- package/esm2022/lib/pipes/iso-interval-parse.pipe.mjs +3 -3
- package/esm2022/lib/pipes/iso-interval.pipe.mjs +3 -3
- package/esm2022/lib/pipes/time-ago.pipe.mjs +3 -3
- package/esm2022/lib/pipes/time-duration.pipe.mjs +3 -3
- package/esm2022/lib/pipes/weight.pipe.mjs +3 -3
- package/fesm2022/elderbyte-ngx-starter.mjs +1278 -1030
- package/fesm2022/elderbyte-ngx-starter.mjs.map +1 -1
- package/lib/common/utils/sort-util.d.ts +3 -1
- package/lib/components/data-view/common/composite-sort/composite-sort-context.d.ts +18 -0
- package/lib/components/data-view/common/composite-sort/composite-sort-dc.directive.d.ts +31 -0
- package/lib/components/data-view/common/composite-sort/composite-sort.d.ts +40 -0
- package/lib/components/data-view/common/composite-sort/elder-composite-sort/elder-composite-sort.component.d.ts +35 -0
- package/lib/components/data-view/common/elder-data-common.module.d.ts +9 -4
- package/lib/components/data-view/grid/elder-grid/elder-grid.component.d.ts +4 -4
- package/lib/components/data-view/table/elder-table/elder-table.component.d.ts +1 -1
- package/lib/components/infinitescroll/elder-infinite-scroll.directive.d.ts +1 -1
- package/lib/components/input/autocomplete/elder-autocomplete/elder-suggestion-panel.component.d.ts +1 -1
- package/lib/components/measures/elder-quantity.pipe.d.ts +1 -1
- package/lib/components/measures/util/elder-quantity.service.d.ts +1 -1
- package/package.json +1 -1
- package/src/lib/components/chips/_elder-chip-theme.scss +0 -1
- package/src/lib/components/data-view/common/composite-sort/elder-composite-sort/elder-composite-sort.component.scss +0 -0
- package/src/lib/components/files/drag-n-drop/elder-drop-zone/elder-drop-zone.component.scss +0 -1
- package/theming/_elder-mdc-support.scss +2 -3
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { CompositeSort } from './composite-sort';
|
|
2
|
+
export class CompositeSortContext {
|
|
3
|
+
static build(availableSorts) {
|
|
4
|
+
const availableSortMap = new Map();
|
|
5
|
+
availableSorts.forEach(availableSort => {
|
|
6
|
+
availableSortMap.set(availableSort.concatId, availableSort);
|
|
7
|
+
});
|
|
8
|
+
return new CompositeSortContext(availableSortMap);
|
|
9
|
+
}
|
|
10
|
+
/***************************************************************************
|
|
11
|
+
* *
|
|
12
|
+
* Constructor *
|
|
13
|
+
* *
|
|
14
|
+
**************************************************************************/
|
|
15
|
+
constructor(availableSortMap) {
|
|
16
|
+
this.availableSortMap = availableSortMap;
|
|
17
|
+
}
|
|
18
|
+
/***************************************************************************
|
|
19
|
+
* *
|
|
20
|
+
* API *
|
|
21
|
+
* *
|
|
22
|
+
**************************************************************************/
|
|
23
|
+
guessBest(sorts) {
|
|
24
|
+
if (sorts) {
|
|
25
|
+
return this.availableSortMap.get(CompositeSort.concatSortId(sorts));
|
|
26
|
+
}
|
|
27
|
+
return undefined;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9zaXRlLXNvcnQtY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvZGF0YS12aWV3L2NvbW1vbi9jb21wb3NpdGUtc29ydC9jb21wb3NpdGUtc29ydC1jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUcvQyxNQUFNLE9BQU8sb0JBQW9CO0lBRXhCLE1BQU0sQ0FBQyxLQUFLLENBQUMsY0FBK0I7UUFDakQsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLEdBQUcsRUFBeUIsQ0FBQztRQUMxRCxjQUFjLENBQUMsT0FBTyxDQUNwQixhQUFhLENBQUMsRUFBRTtZQUNkLGdCQUFnQixDQUFDLEdBQUcsQ0FDbEIsYUFBYSxDQUFDLFFBQVEsRUFDdEIsYUFBYSxDQUNkLENBQUM7UUFDSixDQUFDLENBQ0YsQ0FBQztRQUNGLE9BQU8sSUFBSSxvQkFBb0IsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFHRDs7OztnRkFJNEU7SUFFNUUsWUFDbUIsZ0JBQTRDO1FBQTVDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBNEI7SUFFL0QsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVyRSxTQUFTLENBQ2QsS0FBYTtRQUViLElBQUksS0FBSyxFQUFFLENBQUM7WUFDVixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQzlCLGFBQWEsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQ2xDLENBQUM7UUFDSixDQUFDO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb3NpdGVTb3J0fSBmcm9tICcuL2NvbXBvc2l0ZS1zb3J0JztcbmltcG9ydCB7U29ydH0gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL2RhdGEvc29ydCc7XG5cbmV4cG9ydCBjbGFzcyBDb21wb3NpdGVTb3J0Q29udGV4dCB7XG5cbiAgcHVibGljIHN0YXRpYyBidWlsZChhdmFpbGFibGVTb3J0czogQ29tcG9zaXRlU29ydFtdKTogQ29tcG9zaXRlU29ydENvbnRleHQge1xuICAgIGNvbnN0IGF2YWlsYWJsZVNvcnRNYXAgPSBuZXcgTWFwPHN0cmluZywgQ29tcG9zaXRlU29ydD4oKTtcbiAgICBhdmFpbGFibGVTb3J0cy5mb3JFYWNoKFxuICAgICAgYXZhaWxhYmxlU29ydCA9PiB7XG4gICAgICAgIGF2YWlsYWJsZVNvcnRNYXAuc2V0KFxuICAgICAgICAgIGF2YWlsYWJsZVNvcnQuY29uY2F0SWQsXG4gICAgICAgICAgYXZhaWxhYmxlU29ydFxuICAgICAgICApO1xuICAgICAgfVxuICAgICk7XG4gICAgcmV0dXJuIG5ldyBDb21wb3NpdGVTb3J0Q29udGV4dChhdmFpbGFibGVTb3J0TWFwKTtcbiAgfVxuXG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGF2YWlsYWJsZVNvcnRNYXA6IE1hcDxzdHJpbmcsIENvbXBvc2l0ZVNvcnQ+XG4gICkge1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGd1ZXNzQmVzdChcbiAgICBzb3J0czogU29ydFtdXG4gICk6IENvbXBvc2l0ZVNvcnQgfCB1bmRlZmluZWQge1xuICAgIGlmIChzb3J0cykge1xuICAgICAgcmV0dXJuIHRoaXMuYXZhaWxhYmxlU29ydE1hcC5nZXQoXG4gICAgICAgIENvbXBvc2l0ZVNvcnQuY29uY2F0U29ydElkKHNvcnRzKVxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG59XG4iXX0=
|
package/esm2022/lib/components/data-view/common/composite-sort/composite-sort-dc.directive.mjs
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { Directive, input } from '@angular/core';
|
|
2
|
+
import { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';
|
|
3
|
+
import { filter, switchMap } from 'rxjs/operators';
|
|
4
|
+
import { LoggerFactory } from '@elderbyte/ts-logger';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "./elder-composite-sort/elder-composite-sort.component";
|
|
7
|
+
export class ElderCompositeSortDcDirective {
|
|
8
|
+
/***************************************************************************
|
|
9
|
+
* *
|
|
10
|
+
* Constructor *
|
|
11
|
+
* *
|
|
12
|
+
**************************************************************************/
|
|
13
|
+
constructor(compositeSort) {
|
|
14
|
+
this.compositeSort = compositeSort;
|
|
15
|
+
/***************************************************************************
|
|
16
|
+
* *
|
|
17
|
+
* Fields *
|
|
18
|
+
* *
|
|
19
|
+
**************************************************************************/
|
|
20
|
+
this.log = LoggerFactory.getLogger(this.constructor.name);
|
|
21
|
+
this.elderCompositeSortDc = input();
|
|
22
|
+
compositeSort.sortsChange
|
|
23
|
+
.subscribe(sorts => this.applySortToDataContext(sorts));
|
|
24
|
+
this.controlSorts$ = toObservable(this.elderCompositeSortDc)
|
|
25
|
+
.pipe(takeUntilDestroyed(), filter(dc => !!dc), switchMap(dc => dc.sort.sorts));
|
|
26
|
+
}
|
|
27
|
+
ngOnInit() {
|
|
28
|
+
this.controlSorts$.subscribe({
|
|
29
|
+
next: sorts => this.writeSortToControl(sorts),
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
/***************************************************************************
|
|
33
|
+
* *
|
|
34
|
+
* Private methods *
|
|
35
|
+
* *
|
|
36
|
+
**************************************************************************/
|
|
37
|
+
writeSortToControl(sorts) {
|
|
38
|
+
// this.log.warn('Writing DC Sorts to CompositeSort Control', sorts);
|
|
39
|
+
this.compositeSort.sorts.set(sorts);
|
|
40
|
+
}
|
|
41
|
+
applySortToDataContext(sorts) {
|
|
42
|
+
const dc = this.elderCompositeSortDc();
|
|
43
|
+
if (dc) {
|
|
44
|
+
dc.sort.replaceSorts(sorts);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: ElderCompositeSortDcDirective, deps: [{ token: i1.ElderCompositeSortComponent }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
48
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.4", type: ElderCompositeSortDcDirective, isStandalone: true, selector: "[elderCompositeSortDc]", inputs: { elderCompositeSortDc: { classPropertyName: "elderCompositeSortDc", publicName: "elderCompositeSortDc", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
|
|
49
|
+
}
|
|
50
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: ElderCompositeSortDcDirective, decorators: [{
|
|
51
|
+
type: Directive,
|
|
52
|
+
args: [{
|
|
53
|
+
selector: '[elderCompositeSortDc]',
|
|
54
|
+
standalone: true
|
|
55
|
+
}]
|
|
56
|
+
}], ctorParameters: () => [{ type: i1.ElderCompositeSortComponent }] });
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9zaXRlLXNvcnQtZGMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9kYXRhLXZpZXcvY29tbW9uL2NvbXBvc2l0ZS1zb3J0L2NvbXBvc2l0ZS1zb3J0LWRjLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFVLEtBQUssRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUkvRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUUsWUFBWSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDNUUsT0FBTyxFQUFDLE1BQU0sRUFBTyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7OztBQU9uRCxNQUFNLE9BQU8sNkJBQTZCO0lBWXhDOzs7O2dGQUk0RTtJQUU1RSxZQUNtQixhQUEwQztRQUExQyxrQkFBYSxHQUFiLGFBQWEsQ0FBNkI7UUFqQjdEOzs7O29GQUk0RTtRQUUzRCxRQUFHLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9ELHlCQUFvQixHQUFHLEtBQUssRUFBcUIsQ0FBQztRQVl2RCxhQUFhLENBQUMsV0FBVzthQUN0QixTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUUxRCxJQUFJLENBQUMsYUFBYSxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUM7YUFDekQsSUFBSSxDQUNILGtCQUFrQixFQUFFLEVBQ3BCLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFDbEIsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FDL0IsQ0FBQztJQUNOLENBQUM7SUFFTSxRQUFRO1FBRWIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUM7WUFDekIsSUFBSSxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQztTQUM5QyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUg7Ozs7Z0ZBSTRFO0lBRXBFLGtCQUFrQixDQUFDLEtBQWE7UUFDdEMscUVBQXFFO1FBQ3JFLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNyQyxDQUFDO0lBRU8sc0JBQXNCLENBQUMsS0FBYTtRQUMxQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUN2QyxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ1AsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUIsQ0FBQztJQUNILENBQUM7OEdBdkRVLDZCQUE2QjtrR0FBN0IsNkJBQTZCOzsyRkFBN0IsNkJBQTZCO2tCQUp6QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBlZmZlY3QsIGlucHV0LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtJRGF0YUNvbnRleHR9IGZyb20gJy4uLy4uLy4uLy4uL2NvbW1vbi9kYXRhL2RhdGEtY29udGV4dC9kYXRhLWNvbnRleHQnO1xuaW1wb3J0IHtTb3J0fSBmcm9tICcuLi8uLi8uLi8uLi9jb21tb24vZGF0YS9zb3J0JztcbmltcG9ydCB7RWxkZXJDb21wb3NpdGVTb3J0Q29tcG9uZW50fSBmcm9tICcuL2VsZGVyLWNvbXBvc2l0ZS1zb3J0L2VsZGVyLWNvbXBvc2l0ZS1zb3J0LmNvbXBvbmVudCc7XG5pbXBvcnQge3Rha2VVbnRpbERlc3Ryb3llZCwgdG9PYnNlcnZhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge2ZpbHRlciwgbWFwLCBzd2l0Y2hNYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7TG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2VsZGVyQ29tcG9zaXRlU29ydERjXScsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJDb21wb3NpdGVTb3J0RGNEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKTtcbiAgcHVibGljIGVsZGVyQ29tcG9zaXRlU29ydERjID0gaW5wdXQ8SURhdGFDb250ZXh0PGFueT4+KCk7XG4gIHByaXZhdGUgY29udHJvbFNvcnRzJDogT2JzZXJ2YWJsZTxTb3J0W10+O1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29tcG9zaXRlU29ydDogRWxkZXJDb21wb3NpdGVTb3J0Q29tcG9uZW50XG4gICkge1xuICAgIGNvbXBvc2l0ZVNvcnQuc29ydHNDaGFuZ2VcbiAgICAgIC5zdWJzY3JpYmUoc29ydHMgPT4gdGhpcy5hcHBseVNvcnRUb0RhdGFDb250ZXh0KHNvcnRzKSk7XG5cbiAgICB0aGlzLmNvbnRyb2xTb3J0cyQgPSB0b09ic2VydmFibGUodGhpcy5lbGRlckNvbXBvc2l0ZVNvcnREYylcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQoKSxcbiAgICAgICAgZmlsdGVyKGRjID0+ICEhZGMpLFxuICAgICAgICBzd2l0Y2hNYXAoZGMgPT4gZGMuc29ydC5zb3J0cylcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG5cbiAgICB0aGlzLmNvbnRyb2xTb3J0cyQuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogc29ydHMgPT4gdGhpcy53cml0ZVNvcnRUb0NvbnRyb2woc29ydHMpLFxuICAgICAgfSk7XG4gICAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgd3JpdGVTb3J0VG9Db250cm9sKHNvcnRzOiBTb3J0W10pOiB2b2lke1xuICAgIC8vIHRoaXMubG9nLndhcm4oJ1dyaXRpbmcgREMgU29ydHMgdG8gQ29tcG9zaXRlU29ydCBDb250cm9sJywgc29ydHMpO1xuICAgIHRoaXMuY29tcG9zaXRlU29ydC5zb3J0cy5zZXQoc29ydHMpXG4gIH1cblxuICBwcml2YXRlIGFwcGx5U29ydFRvRGF0YUNvbnRleHQoc29ydHM6IFNvcnRbXSk6IHZvaWQge1xuICAgIGNvbnN0IGRjID0gdGhpcy5lbGRlckNvbXBvc2l0ZVNvcnREYygpO1xuICAgIGlmIChkYykge1xuICAgICAgZGMuc29ydC5yZXBsYWNlU29ydHMoc29ydHMpO1xuICAgIH1cbiAgfVxuXG5cbn1cbiJdfQ==
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { Sort } from '../../../../common/data/sort';
|
|
2
|
+
import { SortUtil } from '../../../../common/utils/sort-util';
|
|
3
|
+
export class CompositeSort {
|
|
4
|
+
/***************************************************************************
|
|
5
|
+
* *
|
|
6
|
+
* Static Builder *
|
|
7
|
+
* *
|
|
8
|
+
**************************************************************************/
|
|
9
|
+
static { this.NONE = new CompositeSort('', []); }
|
|
10
|
+
static singleAsc(prop) {
|
|
11
|
+
return CompositeSort.single(new Sort(prop, 'asc'));
|
|
12
|
+
}
|
|
13
|
+
static single(sort) {
|
|
14
|
+
return new CompositeSort(sort.prop, [sort]);
|
|
15
|
+
}
|
|
16
|
+
static composite(id, sorts) {
|
|
17
|
+
return new CompositeSort(id, sorts);
|
|
18
|
+
}
|
|
19
|
+
static concatSortId(sorts) {
|
|
20
|
+
return sorts.map(sort => sort.prop).join('-');
|
|
21
|
+
}
|
|
22
|
+
static coerce(availableSorts) {
|
|
23
|
+
if (availableSorts && availableSorts.length > 0) {
|
|
24
|
+
if (availableSorts[0] instanceof CompositeSort) {
|
|
25
|
+
return availableSorts;
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
return availableSorts
|
|
29
|
+
.map(s => CompositeSort.singleAsc(s));
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
return [];
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/***************************************************************************
|
|
37
|
+
* *
|
|
38
|
+
* Constructor *
|
|
39
|
+
* *
|
|
40
|
+
**************************************************************************/
|
|
41
|
+
constructor(id, sorts) {
|
|
42
|
+
this.id = id;
|
|
43
|
+
this.sorts = sorts;
|
|
44
|
+
this.concatId = CompositeSort.concatSortId(sorts);
|
|
45
|
+
}
|
|
46
|
+
/***************************************************************************
|
|
47
|
+
* *
|
|
48
|
+
* API *
|
|
49
|
+
* *
|
|
50
|
+
**************************************************************************/
|
|
51
|
+
sortsForDir(desiredDir) {
|
|
52
|
+
if (this.needsToggle(desiredDir)) {
|
|
53
|
+
return this.sorts.map(sort => SortUtil.toggleSort(sort));
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
return [...this.sorts];
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
/***************************************************************************
|
|
60
|
+
* *
|
|
61
|
+
* Private methods *
|
|
62
|
+
* *
|
|
63
|
+
**************************************************************************/
|
|
64
|
+
needsToggle(desiredDir) {
|
|
65
|
+
// We consider only the first sort dir, the others follow suit.
|
|
66
|
+
return !(this.sorts.length == 0 || this.sorts[0].dir === desiredDir);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9zaXRlLXNvcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2RhdGEtdmlldy9jb21tb24vY29tcG9zaXRlLXNvcnQvY29tcG9zaXRlLXNvcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBZ0IsTUFBTSw4QkFBOEIsQ0FBQztBQUNqRSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFFNUQsTUFBTSxPQUFPLGFBQWE7SUFFeEI7Ozs7Z0ZBSTRFO2FBRTlELFNBQUksR0FBRyxJQUFJLGFBQWEsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFeEMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFZO1FBQ2xDLE9BQU8sYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRU0sTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFVO1FBQzdCLE9BQU8sSUFBSSxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBVSxFQUFFLEtBQWE7UUFDL0MsT0FBTyxJQUFJLGFBQWEsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBYTtRQUN0QyxPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFTSxNQUFNLENBQUMsTUFBTSxDQUFDLGNBQTBDO1FBQzdELElBQUksY0FBYyxJQUFJLGNBQWMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDaEQsSUFBSSxjQUFjLENBQUMsQ0FBQyxDQUFDLFlBQVksYUFBYSxFQUFFLENBQUM7Z0JBQy9DLE9BQU8sY0FBaUMsQ0FBQztZQUMzQyxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sT0FBUSxjQUEyQjtxQkFDaEMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzFDLENBQUM7UUFDSCxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztJQUNILENBQUM7SUFVRDs7OztnRkFJNEU7SUFFNUUsWUFDa0IsRUFBVSxFQUNWLEtBQWE7UUFEYixPQUFFLEdBQUYsRUFBRSxDQUFRO1FBQ1YsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUU3QixJQUFJLENBQUMsUUFBUSxHQUFHLGFBQWEsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVyRSxXQUFXLENBQUMsVUFBeUI7UUFDMUMsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDakMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUMzRCxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QixDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVwRSxXQUFXLENBQ2pCLFVBQXlCO1FBRXpCLCtEQUErRDtRQUMvRCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssVUFBVSxDQUFDLENBQUM7SUFDdkUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7U29ydCwgU29ydERpcmVjdGlvbn0gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL2RhdGEvc29ydCc7XG5pbXBvcnQge1NvcnRVdGlsfSBmcm9tICcuLi8uLi8uLi8uLi9jb21tb24vdXRpbHMvc29ydC11dGlsJztcblxuZXhwb3J0IGNsYXNzIENvbXBvc2l0ZVNvcnQge1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBTdGF0aWMgQnVpbGRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBzdGF0aWMgTk9ORSA9IG5ldyBDb21wb3NpdGVTb3J0KCcnLCBbXSk7XG5cbiAgcHVibGljIHN0YXRpYyBzaW5nbGVBc2MocHJvcDogc3RyaW5nKTogQ29tcG9zaXRlU29ydCB7XG4gICAgcmV0dXJuIENvbXBvc2l0ZVNvcnQuc2luZ2xlKG5ldyBTb3J0KHByb3AsICdhc2MnKSk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHNpbmdsZShzb3J0OiBTb3J0KTogQ29tcG9zaXRlU29ydCB7XG4gICAgcmV0dXJuIG5ldyBDb21wb3NpdGVTb3J0KHNvcnQucHJvcCwgW3NvcnRdKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgY29tcG9zaXRlKGlkOiBzdHJpbmcsIHNvcnRzOiBTb3J0W10pOiBDb21wb3NpdGVTb3J0IHtcbiAgICByZXR1cm4gbmV3IENvbXBvc2l0ZVNvcnQoaWQsIHNvcnRzKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgY29uY2F0U29ydElkKHNvcnRzOiBTb3J0W10pOiBzdHJpbmcge1xuICAgIHJldHVybiBzb3J0cy5tYXAoc29ydCA9PiBzb3J0LnByb3ApLmpvaW4oJy0nKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgY29lcmNlKGF2YWlsYWJsZVNvcnRzOiBzdHJpbmdbXSB8IENvbXBvc2l0ZVNvcnRbXSk6IENvbXBvc2l0ZVNvcnRbXSB7XG4gICAgaWYgKGF2YWlsYWJsZVNvcnRzICYmIGF2YWlsYWJsZVNvcnRzLmxlbmd0aCA+IDApIHtcbiAgICAgIGlmIChhdmFpbGFibGVTb3J0c1swXSBpbnN0YW5jZW9mIENvbXBvc2l0ZVNvcnQpIHtcbiAgICAgICAgcmV0dXJuIGF2YWlsYWJsZVNvcnRzIGFzIENvbXBvc2l0ZVNvcnRbXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiAoYXZhaWxhYmxlU29ydHMgYXMgc3RyaW5nW10pXG4gICAgICAgICAgLm1hcChzID0+IENvbXBvc2l0ZVNvcnQuc2luZ2xlQXNjKHMpKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyByZWFkb25seSBjb25jYXRJZDogc3RyaW5nO1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSBpZDogc3RyaW5nLFxuICAgIHB1YmxpYyByZWFkb25seSBzb3J0czogU29ydFtdXG4gICkge1xuICAgIHRoaXMuY29uY2F0SWQgPSBDb21wb3NpdGVTb3J0LmNvbmNhdFNvcnRJZChzb3J0cyk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgc29ydHNGb3JEaXIoZGVzaXJlZERpcjogU29ydERpcmVjdGlvbik6IFNvcnRbXSB7XG4gICAgaWYgKHRoaXMubmVlZHNUb2dnbGUoZGVzaXJlZERpcikpIHtcbiAgICAgIHJldHVybiB0aGlzLnNvcnRzLm1hcChzb3J0ID0+IFNvcnRVdGlsLnRvZ2dsZVNvcnQoc29ydCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gWy4uLnRoaXMuc29ydHNdO1xuICAgIH1cbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgbmVlZHNUb2dnbGUoXG4gICAgZGVzaXJlZERpcjogU29ydERpcmVjdGlvblxuICApOiBib29sZWFuIHtcbiAgICAvLyBXZSBjb25zaWRlciBvbmx5IHRoZSBmaXJzdCBzb3J0IGRpciwgdGhlIG90aGVycyBmb2xsb3cgc3VpdC5cbiAgICByZXR1cm4gISh0aGlzLnNvcnRzLmxlbmd0aCA9PSAwIHx8IHRoaXMuc29ydHNbMF0uZGlyID09PSBkZXNpcmVkRGlyKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, computed, effect, input, model, output, signal } from '@angular/core';
|
|
2
|
+
import { CompositeSort } from '../composite-sort';
|
|
3
|
+
import { MatButton, MatIconButton } from '@angular/material/button';
|
|
4
|
+
import { MatIcon } from '@angular/material/icon';
|
|
5
|
+
import { MatMenu, MatMenuItem, MatMenuTrigger } from '@angular/material/menu';
|
|
6
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
7
|
+
import { CompositeSortContext } from '../composite-sort-context';
|
|
8
|
+
import { SortUtil } from '../../../../../common/utils/sort-util';
|
|
9
|
+
import { LoggerFactory } from '@elderbyte/ts-logger';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
import * as i1 from "@ngx-translate/core";
|
|
12
|
+
export class ElderCompositeSortComponent {
|
|
13
|
+
/***************************************************************************
|
|
14
|
+
* *
|
|
15
|
+
* Constructor *
|
|
16
|
+
* *
|
|
17
|
+
**************************************************************************/
|
|
18
|
+
constructor() {
|
|
19
|
+
/***************************************************************************
|
|
20
|
+
* *
|
|
21
|
+
* Fields *
|
|
22
|
+
* *
|
|
23
|
+
**************************************************************************/
|
|
24
|
+
this.log = LoggerFactory.getLogger(this.constructor.name);
|
|
25
|
+
this.selectedSort = signal(CompositeSort.NONE);
|
|
26
|
+
this.selectedSortDirection = signal('asc');
|
|
27
|
+
this.activeSorts = computed(() => {
|
|
28
|
+
const desiredDir = this.selectedSortDirection() ?? 'asc';
|
|
29
|
+
if (this.selectedSort()) {
|
|
30
|
+
// this.log.warn('selectedSort: ', this.selectedSort());
|
|
31
|
+
return this.selectedSort().sortsForDir(desiredDir);
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
return [];
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
this.availableSorts = input.required();
|
|
38
|
+
this.availableSortCtx = computed(() => CompositeSortContext.build(this.availableSorts()));
|
|
39
|
+
this.sorts = model([]);
|
|
40
|
+
this.sortsChange = output();
|
|
41
|
+
this.translationPrefix = input();
|
|
42
|
+
effect(() => {
|
|
43
|
+
const activeSorts = this.activeSorts();
|
|
44
|
+
if (activeSorts && activeSorts.length > 0) {
|
|
45
|
+
this.sortsChange.emit(activeSorts);
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
effect(() => {
|
|
49
|
+
const availableCtx = this.availableSortCtx();
|
|
50
|
+
const sorts = this.sorts();
|
|
51
|
+
const best = availableCtx.guessBest(sorts);
|
|
52
|
+
if (best) {
|
|
53
|
+
this.selectedSort.set(best);
|
|
54
|
+
this.selectedSortDirection.set(sorts[0]?.dir ?? 'asc');
|
|
55
|
+
}
|
|
56
|
+
}, {
|
|
57
|
+
allowSignalWrites: true
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
/***************************************************************************
|
|
61
|
+
* *
|
|
62
|
+
* API *
|
|
63
|
+
* *
|
|
64
|
+
**************************************************************************/
|
|
65
|
+
selectSort(namedSort) {
|
|
66
|
+
this.selectedSort.set(namedSort);
|
|
67
|
+
}
|
|
68
|
+
toggleSortDirection(event) {
|
|
69
|
+
event.stopPropagation();
|
|
70
|
+
this.selectedSortDirection.set(SortUtil.toggleDir(this.selectedSortDirection()));
|
|
71
|
+
}
|
|
72
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: ElderCompositeSortComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
73
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.4", type: ElderCompositeSortComponent, isStandalone: true, selector: "elder-composite-sort", inputs: { availableSorts: { classPropertyName: "availableSorts", publicName: "availableSorts", isSignal: true, isRequired: true, transformFunction: null }, sorts: { classPropertyName: "sorts", publicName: "sorts", isSignal: true, isRequired: false, transformFunction: null }, translationPrefix: { classPropertyName: "translationPrefix", publicName: "translationPrefix", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { sorts: "sortsChange", sortsChange: "sortsChange" }, ngImport: i0, template: "<div class=\"layout-row place-start-center flex-none\">\n\n <button mat-button type=\"button\" [matMenuTriggerFor]=\"menu\">\n\n {{ translationPrefix() + selectedSort().id | translate}}\n\n <mat-icon style=\"font-size: 22px\">sort</mat-icon>\n\n <mat-menu #menu=\"matMenu\">\n @for (namedSort of availableSorts(); track namedSort.id) {\n <button mat-menu-item type=\"button\"\n (click)=\"selectSort(namedSort)\"\n >\n <mat-icon>sort</mat-icon>\n <span [class.mat-body-strong]=\"selectedSort()?.id === namedSort.id\">{{translationPrefix() + namedSort.id | translate}}</span>\n </button>\n }\n </mat-menu>\n\n </button>\n\n <button mat-icon-button type=\"button\" (click)=\"toggleSortDirection($event)\">\n <mat-icon style=\"font-size: 22px\">{{selectedSortDirection() === 'asc' ? 'arrow_downward' : 'arrow_upward'}}</mat-icon>\n </button>\n\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "directive", type: MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
74
|
+
}
|
|
75
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: ElderCompositeSortComponent, decorators: [{
|
|
76
|
+
type: Component,
|
|
77
|
+
args: [{ selector: 'elder-composite-sort', standalone: true, imports: [
|
|
78
|
+
MatButton,
|
|
79
|
+
MatIcon,
|
|
80
|
+
MatIconButton,
|
|
81
|
+
MatMenu,
|
|
82
|
+
MatMenuItem,
|
|
83
|
+
TranslateModule,
|
|
84
|
+
MatMenuTrigger
|
|
85
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"layout-row place-start-center flex-none\">\n\n <button mat-button type=\"button\" [matMenuTriggerFor]=\"menu\">\n\n {{ translationPrefix() + selectedSort().id | translate}}\n\n <mat-icon style=\"font-size: 22px\">sort</mat-icon>\n\n <mat-menu #menu=\"matMenu\">\n @for (namedSort of availableSorts(); track namedSort.id) {\n <button mat-menu-item type=\"button\"\n (click)=\"selectSort(namedSort)\"\n >\n <mat-icon>sort</mat-icon>\n <span [class.mat-body-strong]=\"selectedSort()?.id === namedSort.id\">{{translationPrefix() + namedSort.id | translate}}</span>\n </button>\n }\n </mat-menu>\n\n </button>\n\n <button mat-icon-button type=\"button\" (click)=\"toggleSortDirection($event)\">\n <mat-icon style=\"font-size: 22px\">{{selectedSortDirection() === 'asc' ? 'arrow_downward' : 'arrow_upward'}}</mat-icon>\n </button>\n\n</div>\n" }]
|
|
86
|
+
}], ctorParameters: () => [] });
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItY29tcG9zaXRlLXNvcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9kYXRhLXZpZXcvY29tbW9uL2NvbXBvc2l0ZS1zb3J0L2VsZGVyLWNvbXBvc2l0ZS1zb3J0L2VsZGVyLWNvbXBvc2l0ZS1zb3J0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvZGF0YS12aWV3L2NvbW1vbi9jb21wb3NpdGUtc29ydC9lbGRlci1jb21wb3NpdGUtc29ydC9lbGRlci1jb21wb3NpdGUtc29ydC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsTUFBTSxFQUNOLEtBQUssRUFBRSxLQUFLLEVBQ1osTUFBTSxFQUNOLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDaEQsT0FBTyxFQUFDLFNBQVMsRUFBRSxhQUFhLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNsRSxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDL0MsT0FBTyxFQUFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDNUUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRXBELE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRCxP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ZixjQUFjOzsyRkFNTCwyQkFBMkI7a0JBaEJ2QyxTQUFTOytCQUNFLHNCQUFzQixjQUNwQixJQUFJLFdBQ1A7d0JBQ1AsU0FBUzt3QkFDVCxPQUFPO3dCQUNQLGFBQWE7d0JBQ2IsT0FBTzt3QkFDUCxXQUFXO3dCQUNYLGVBQWU7d0JBQ2YsY0FBYztxQkFDZixtQkFHZ0IsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIGNvbXB1dGVkLFxuICBlZmZlY3QsXG4gIGlucHV0LCBtb2RlbCxcbiAgb3V0cHV0LFxuICBzaWduYWxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbXBvc2l0ZVNvcnR9IGZyb20gJy4uL2NvbXBvc2l0ZS1zb3J0JztcbmltcG9ydCB7TWF0QnV0dG9uLCBNYXRJY29uQnV0dG9ufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHtNYXRJY29ufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7TWF0TWVudSwgTWF0TWVudUl0ZW0sIE1hdE1lbnVUcmlnZ2VyfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7U29ydCwgU29ydERpcmVjdGlvbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29tbW9uL2RhdGEvc29ydCc7XG5pbXBvcnQge0NvbXBvc2l0ZVNvcnRDb250ZXh0fSBmcm9tICcuLi9jb21wb3NpdGUtc29ydC1jb250ZXh0JztcbmltcG9ydCB7U29ydFV0aWx9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbW1vbi91dGlscy9zb3J0LXV0aWwnO1xuaW1wb3J0IHtMb2dnZXJGYWN0b3J5fSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VsZGVyLWNvbXBvc2l0ZS1zb3J0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE1hdEJ1dHRvbixcbiAgICBNYXRJY29uLFxuICAgIE1hdEljb25CdXR0b24sXG4gICAgTWF0TWVudSxcbiAgICBNYXRNZW51SXRlbSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgTWF0TWVudVRyaWdnZXJcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2VsZGVyLWNvbXBvc2l0ZS1zb3J0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2VsZGVyLWNvbXBvc2l0ZS1zb3J0LmNvbXBvbmVudC5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJDb21wb3NpdGVTb3J0Q29tcG9uZW50IHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiAgcHJpdmF0ZSByZWFkb25seSBsb2cgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpO1xuXG4gIHB1YmxpYyByZWFkb25seSBzZWxlY3RlZFNvcnQgPSBzaWduYWw8Q29tcG9zaXRlU29ydD4oQ29tcG9zaXRlU29ydC5OT05FKTtcbiAgcHVibGljIHJlYWRvbmx5IHNlbGVjdGVkU29ydERpcmVjdGlvbiA9IHNpZ25hbDxTb3J0RGlyZWN0aW9uPignYXNjJyk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGFjdGl2ZVNvcnRzID0gY29tcHV0ZWQoXG4gICAgKCkgPT4ge1xuICAgICAgY29uc3QgZGVzaXJlZERpciA9IHRoaXMuc2VsZWN0ZWRTb3J0RGlyZWN0aW9uKCkgPz8gJ2FzYyc7XG4gICAgICBpZiAodGhpcy5zZWxlY3RlZFNvcnQoKSkge1xuICAgICAgICAvLyB0aGlzLmxvZy53YXJuKCdzZWxlY3RlZFNvcnQ6ICcsIHRoaXMuc2VsZWN0ZWRTb3J0KCkpO1xuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZFNvcnQoKS5zb3J0c0ZvckRpcihkZXNpcmVkRGlyKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICAgIH1cbiAgICB9XG4gICk7XG5cbiAgcHVibGljIGF2YWlsYWJsZVNvcnRzID0gaW5wdXQucmVxdWlyZWQ8Q29tcG9zaXRlU29ydFtdPigpO1xuICBwdWJsaWMgYXZhaWxhYmxlU29ydEN0eCA9IGNvbXB1dGVkKCgpID0+IENvbXBvc2l0ZVNvcnRDb250ZXh0LmJ1aWxkKHRoaXMuYXZhaWxhYmxlU29ydHMoKSkpO1xuXG4gIHB1YmxpYyBzb3J0cyA9IG1vZGVsPFNvcnRbXT4oW10pO1xuICBwdWJsaWMgc29ydHNDaGFuZ2UgPSBvdXRwdXQ8U29ydFtdPigpO1xuXG5cbiAgcHVibGljIHRyYW5zbGF0aW9uUHJlZml4ID0gaW5wdXQ8c3RyaW5nPigpO1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBjb25zdCBhY3RpdmVTb3J0cyA9IHRoaXMuYWN0aXZlU29ydHMoKTtcbiAgICAgIGlmKGFjdGl2ZVNvcnRzICYmIGFjdGl2ZVNvcnRzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgdGhpcy5zb3J0c0NoYW5nZS5lbWl0KGFjdGl2ZVNvcnRzKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgY29uc3QgYXZhaWxhYmxlQ3R4ID0gdGhpcy5hdmFpbGFibGVTb3J0Q3R4KCk7XG4gICAgICBjb25zdCBzb3J0cyA9IHRoaXMuc29ydHMoKTtcbiAgICAgIGNvbnN0IGJlc3QgPSBhdmFpbGFibGVDdHguZ3Vlc3NCZXN0KHNvcnRzKTtcbiAgICAgIGlmIChiZXN0KSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRTb3J0LnNldChiZXN0KTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFNvcnREaXJlY3Rpb24uc2V0KHNvcnRzWzBdPy5kaXIgPz8gJ2FzYycpXG4gICAgICB9XG4gICAgfSwge1xuICAgICAgYWxsb3dTaWduYWxXcml0ZXM6IHRydWVcbiAgICB9KTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBzZWxlY3RTb3J0KG5hbWVkU29ydDogQ29tcG9zaXRlU29ydCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRTb3J0LnNldChuYW1lZFNvcnQpO1xuICB9XG5cbiAgcHVibGljIHRvZ2dsZVNvcnREaXJlY3Rpb24oZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5zZWxlY3RlZFNvcnREaXJlY3Rpb24uc2V0KFxuICAgICAgU29ydFV0aWwudG9nZ2xlRGlyKHRoaXMuc2VsZWN0ZWRTb3J0RGlyZWN0aW9uKCkpXG4gICAgKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG59XG4iLCI8ZGl2IGNsYXNzPVwibGF5b3V0LXJvdyBwbGFjZS1zdGFydC1jZW50ZXIgZmxleC1ub25lXCI+XG5cbiAgPGJ1dHRvbiBtYXQtYnV0dG9uIHR5cGU9XCJidXR0b25cIiBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWVudVwiPlxuXG4gICAge3sgdHJhbnNsYXRpb25QcmVmaXgoKSArIHNlbGVjdGVkU29ydCgpLmlkIHwgdHJhbnNsYXRlfX1cblxuICAgIDxtYXQtaWNvbiBzdHlsZT1cImZvbnQtc2l6ZTogMjJweFwiPnNvcnQ8L21hdC1pY29uPlxuXG4gICAgPG1hdC1tZW51ICNtZW51PVwibWF0TWVudVwiPlxuICAgICAgQGZvciAobmFtZWRTb3J0IG9mICBhdmFpbGFibGVTb3J0cygpOyB0cmFjayBuYW1lZFNvcnQuaWQpIHtcbiAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RTb3J0KG5hbWVkU29ydClcIlxuICAgICAgICA+XG4gICAgICAgICAgPG1hdC1pY29uPnNvcnQ8L21hdC1pY29uPlxuICAgICAgICAgIDxzcGFuIFtjbGFzcy5tYXQtYm9keS1zdHJvbmddPVwic2VsZWN0ZWRTb3J0KCk/LmlkID09PSBuYW1lZFNvcnQuaWRcIj57e3RyYW5zbGF0aW9uUHJlZml4KCkgKyBuYW1lZFNvcnQuaWQgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICB9XG4gICAgPC9tYXQtbWVudT5cblxuICA8L2J1dHRvbj5cblxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cInRvZ2dsZVNvcnREaXJlY3Rpb24oJGV2ZW50KVwiPlxuICAgIDxtYXQtaWNvbiBzdHlsZT1cImZvbnQtc2l6ZTogMjJweFwiPnt7c2VsZWN0ZWRTb3J0RGlyZWN0aW9uKCkgPT09ICdhc2MnID8gJ2Fycm93X2Rvd253YXJkJyA6ICdhcnJvd191cHdhcmQnfX08L21hdC1pY29uPlxuICA8L2J1dHRvbj5cblxuPC9kaXY+XG4iXX0=
|
|
@@ -34,10 +34,10 @@ export class DataContextStateIndicatorComponent {
|
|
|
34
34
|
set dataContext(dataContext) {
|
|
35
35
|
this.dataContext$.next(dataContext);
|
|
36
36
|
}
|
|
37
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
|
38
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.
|
|
37
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: DataContextStateIndicatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
38
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.4", type: DataContextStateIndicatorComponent, isStandalone: true, selector: "elder-data-context-state-indicator", inputs: { dataContext: "dataContext" }, ngImport: i0, template: "<ng-container *ngIf=\"dataContext$ | async as dataContext\">\n\n <ng-container *ngIf=\"dataContext else noDataContext\">\n\n <ng-container *ngIf=\"(dataContext.isStarted$ | async) else dataContextNotStarted\">\n\n <ng-container *ngIf=\"!(dataContext?.status | async)?.hasError else dataContextHasError\">\n\n <ng-container *ngIf=\"(dataContext?.data | async)?.length === 0\">\n <ng-template [ngTemplateOutlet]=\"dataContextNoData\"></ng-template>\n </ng-container>\n\n </ng-container>\n\n </ng-container>\n\n </ng-container>\n\n</ng-container>\n\n<ng-template #noDataContext>\n <ng-container *ngTemplateOutlet=\"indicator; context:{icon: 'warning', text: 'No data context'}\">\n </ng-container>\n</ng-template>\n\n<ng-template #dataContextNotStarted>\n <ng-container *ngTemplateOutlet=\"indicator; context:{icon: 'warning', text: 'Data context not started'}\">\n </ng-container>\n</ng-template>\n\n<ng-template #dataContextHasError>\n <ng-container *ngTemplateOutlet=\"indicator; context:{icon: 'warning', iconColor: 'warn', text: 'Error while loading data'}\">\n </ng-container>\n</ng-template>\n\n<ng-template #dataContextNoData>\n <ng-container *ngTemplateOutlet=\"indicator; context:{icon: 'info', text: 'No data available'}\">\n </ng-container>\n</ng-template>\n\n<ng-template #indicator let-icon=\"icon\" let-iconColor=\"iconColor\" let-text=\"text\">\n\n <div class=\"layout-col place-center-center full elder-dc-indicator-container mat-body-2\">\n <div class=\"layout-row place-center-center gap-lg\">\n <mat-icon [color]=\"iconColor\">{{icon}}</mat-icon>\n <span class=\"hint mat-body-2\">{{text | translate}}</span>\n </div>\n </div>\n\n</ng-template>\n", styles: [".elder-dc-indicator-container{color:gray}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
39
39
|
}
|
|
40
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: DataContextStateIndicatorComponent, decorators: [{
|
|
41
41
|
type: Component,
|
|
42
42
|
args: [{ selector: 'elder-data-context-state-indicator', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgIf, NgTemplateOutlet, MatIcon, AsyncPipe, TranslateModule], template: "<ng-container *ngIf=\"dataContext$ | async as dataContext\">\n\n <ng-container *ngIf=\"dataContext else noDataContext\">\n\n <ng-container *ngIf=\"(dataContext.isStarted$ | async) else dataContextNotStarted\">\n\n <ng-container *ngIf=\"!(dataContext?.status | async)?.hasError else dataContextHasError\">\n\n <ng-container *ngIf=\"(dataContext?.data | async)?.length === 0\">\n <ng-template [ngTemplateOutlet]=\"dataContextNoData\"></ng-template>\n </ng-container>\n\n </ng-container>\n\n </ng-container>\n\n </ng-container>\n\n</ng-container>\n\n<ng-template #noDataContext>\n <ng-container *ngTemplateOutlet=\"indicator; context:{icon: 'warning', text: 'No data context'}\">\n </ng-container>\n</ng-template>\n\n<ng-template #dataContextNotStarted>\n <ng-container *ngTemplateOutlet=\"indicator; context:{icon: 'warning', text: 'Data context not started'}\">\n </ng-container>\n</ng-template>\n\n<ng-template #dataContextHasError>\n <ng-container *ngTemplateOutlet=\"indicator; context:{icon: 'warning', iconColor: 'warn', text: 'Error while loading data'}\">\n </ng-container>\n</ng-template>\n\n<ng-template #dataContextNoData>\n <ng-container *ngTemplateOutlet=\"indicator; context:{icon: 'info', text: 'No data available'}\">\n </ng-container>\n</ng-template>\n\n<ng-template #indicator let-icon=\"icon\" let-iconColor=\"iconColor\" let-text=\"text\">\n\n <div class=\"layout-col place-center-center full elder-dc-indicator-container mat-body-2\">\n <div class=\"layout-row place-center-center gap-lg\">\n <mat-icon [color]=\"iconColor\">{{icon}}</mat-icon>\n <span class=\"hint mat-body-2\">{{text | translate}}</span>\n </div>\n </div>\n\n</ng-template>\n", styles: [".elder-dc-indicator-container{color:gray}\n"] }]
|
|
43
43
|
}], ctorParameters: () => [], propDecorators: { dataContext: [{
|
|
@@ -17,16 +17,21 @@ import { ElderSelectionMasterCheckboxComponent } from './selection/elder-selecti
|
|
|
17
17
|
import { DataContextSelectionDirective } from './selection/data-context-selection.directive';
|
|
18
18
|
import { DataContextStateIndicatorComponent } from './data-context-state-indicator/data-context-state-indicator.component';
|
|
19
19
|
import { ElderBadgeModule } from '../../badge/elder-badge.module';
|
|
20
|
+
import { ElderCompositeSortComponent } from './composite-sort/elder-composite-sort/elder-composite-sort.component';
|
|
21
|
+
import { ElderCompositeSortDcDirective } from './composite-sort/composite-sort-dc.directive';
|
|
20
22
|
import * as i0 from "@angular/core";
|
|
21
23
|
export { ElderSingleSortComponent } from './elder-single-sort/elder-single-sort.component';
|
|
24
|
+
export { ElderCompositeSortComponent } from './composite-sort/elder-composite-sort/elder-composite-sort.component';
|
|
25
|
+
export { ElderCompositeSortDcDirective } from './composite-sort/composite-sort-dc.directive';
|
|
26
|
+
export { CompositeSort } from './composite-sort/composite-sort';
|
|
22
27
|
export { ElderDataToolbarComponent, ElderToolbarContentDirective } from './elder-data-toolbar/elder-data-toolbar.component';
|
|
23
28
|
export { ElderSelectionMasterCheckboxComponent } from './selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component';
|
|
24
29
|
export { MasterSelectionState } from './selection/master-selection-state';
|
|
25
30
|
export { DataContextSelectionDirective } from './selection/data-context-selection.directive';
|
|
26
31
|
export { DataContextStateIndicatorComponent } from './data-context-state-indicator/data-context-state-indicator.component';
|
|
27
32
|
export class ElderDataCommonModule {
|
|
28
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
|
29
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.
|
|
33
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: ElderDataCommonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
34
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.4", ngImport: i0, type: ElderDataCommonModule, imports: [CommonModule, RouterModule,
|
|
30
35
|
// Material
|
|
31
36
|
MatDividerModule,
|
|
32
37
|
MatCheckboxModule, MatMenuModule,
|
|
@@ -38,15 +43,19 @@ export class ElderDataCommonModule {
|
|
|
38
43
|
ElderDataToolbarComponent,
|
|
39
44
|
ElderToolbarContentDirective,
|
|
40
45
|
ElderSingleSortComponent,
|
|
46
|
+
ElderCompositeSortComponent,
|
|
47
|
+
ElderCompositeSortDcDirective,
|
|
41
48
|
ElderSelectionMasterCheckboxComponent,
|
|
42
49
|
DataContextSelectionDirective,
|
|
43
50
|
DataContextStateIndicatorComponent], exports: [ElderDataToolbarComponent,
|
|
44
51
|
ElderToolbarContentDirective,
|
|
45
52
|
ElderSingleSortComponent,
|
|
53
|
+
ElderCompositeSortComponent,
|
|
54
|
+
ElderCompositeSortDcDirective,
|
|
46
55
|
ElderSelectionMasterCheckboxComponent,
|
|
47
56
|
DataContextSelectionDirective,
|
|
48
57
|
DataContextStateIndicatorComponent] }); }
|
|
49
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.
|
|
58
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: ElderDataCommonModule, imports: [CommonModule, RouterModule,
|
|
50
59
|
// Material
|
|
51
60
|
MatDividerModule,
|
|
52
61
|
MatCheckboxModule, MatMenuModule,
|
|
@@ -57,10 +66,11 @@ export class ElderDataCommonModule {
|
|
|
57
66
|
TranslateModule, ElderBadgeModule,
|
|
58
67
|
ElderDataToolbarComponent,
|
|
59
68
|
ElderSingleSortComponent,
|
|
69
|
+
ElderCompositeSortComponent,
|
|
60
70
|
ElderSelectionMasterCheckboxComponent,
|
|
61
71
|
DataContextStateIndicatorComponent] }); }
|
|
62
72
|
}
|
|
63
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
|
73
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: ElderDataCommonModule, decorators: [{
|
|
64
74
|
type: NgModule,
|
|
65
75
|
args: [{
|
|
66
76
|
imports: [
|
|
@@ -76,6 +86,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImpor
|
|
|
76
86
|
ElderDataToolbarComponent,
|
|
77
87
|
ElderToolbarContentDirective,
|
|
78
88
|
ElderSingleSortComponent,
|
|
89
|
+
ElderCompositeSortComponent,
|
|
90
|
+
ElderCompositeSortDcDirective,
|
|
79
91
|
ElderSelectionMasterCheckboxComponent,
|
|
80
92
|
DataContextSelectionDirective,
|
|
81
93
|
DataContextStateIndicatorComponent
|
|
@@ -84,10 +96,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImpor
|
|
|
84
96
|
ElderDataToolbarComponent,
|
|
85
97
|
ElderToolbarContentDirective,
|
|
86
98
|
ElderSingleSortComponent,
|
|
99
|
+
ElderCompositeSortComponent,
|
|
100
|
+
ElderCompositeSortDcDirective,
|
|
87
101
|
ElderSelectionMasterCheckboxComponent,
|
|
88
102
|
DataContextSelectionDirective,
|
|
89
103
|
DataContextStateIndicatorComponent
|
|
90
104
|
],
|
|
91
105
|
}]
|
|
92
106
|
}] });
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItZGF0YS1jb21tb24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9kYXRhLXZpZXcvY29tbW9uL2VsZGVyLWRhdGEtY29tbW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLHlCQUF5QixFQUFFLDRCQUE0QixFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFDMUgsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0saURBQWlELENBQUM7QUFDekYsT0FBTyxF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LDZCQUE2Qjt3QkFDN0Isa0NBQWtDO3FCQUNyQztpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1RyYW5zbGF0ZU1vZHVsZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge01hdEJhZGdlTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9iYWRnZSc7XG5pbXBvcnQge01hdEJ1dHRvbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7TWF0Q2hlY2tib3hNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcbmltcG9ydCB7TWF0RGlhbG9nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHtNYXREaXZpZGVyTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaXZpZGVyJztcbmltcG9ydCB7TWF0SWNvbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQge01hdE1lbnVNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xuaW1wb3J0IHtNYXRQcm9ncmVzc0Jhck1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3MtYmFyJztcbmltcG9ydCB7TWF0VG9vbHRpcE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5pbXBvcnQge1JvdXRlck1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7RWxkZXJEYXRhVG9vbGJhckNvbXBvbmVudCwgRWxkZXJUb29sYmFyQ29udGVudERpcmVjdGl2ZX0gZnJvbSAnLi9lbGRlci1kYXRhLXRvb2xiYXIvZWxkZXItZGF0YS10b29sYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQge0VsZGVyU2luZ2xlU29ydENvbXBvbmVudH0gZnJvbSAnLi9lbGRlci1zaW5nbGUtc29ydC9lbGRlci1zaW5nbGUtc29ydC5jb21wb25lbnQnO1xuaW1wb3J0IHtFbGRlclNlbGVjdGlvbk1hc3RlckNoZWNrYm94Q29tcG9uZW50fSBmcm9tICcuL3NlbGVjdGlvbi9lbGRlci1zZWxlY3Rpb24tbWFzdGVyLWNoZWNrYm94L2VsZGVyLXNlbGVjdGlvbi1tYXN0ZXItY2hlY2tib3guY29tcG9uZW50JztcbmltcG9ydCB7RGF0YUNvbnRleHRTZWxlY3Rpb25EaXJlY3RpdmV9IGZyb20gJy4vc2VsZWN0aW9uL2RhdGEtY29udGV4dC1zZWxlY3Rpb24uZGlyZWN0aXZlJztcbmltcG9ydCB7RGF0YUNvbnRleHRTdGF0ZUluZGljYXRvckNvbXBvbmVudH0gZnJvbSAnLi9kYXRhLWNvbnRleHQtc3RhdGUtaW5kaWNhdG9yL2RhdGEtY29udGV4dC1zdGF0ZS1pbmRpY2F0b3IuY29tcG9uZW50JztcbmltcG9ydCB7RWxkZXJCYWRnZU1vZHVsZX0gZnJvbSAnLi4vLi4vYmFkZ2UvZWxkZXItYmFkZ2UubW9kdWxlJztcbmltcG9ydCB7RWxkZXJDb21wb3NpdGVTb3J0Q29tcG9uZW50fSBmcm9tICcuL2NvbXBvc2l0ZS1zb3J0L2VsZGVyLWNvbXBvc2l0ZS1zb3J0L2VsZGVyLWNvbXBvc2l0ZS1zb3J0LmNvbXBvbmVudCc7XG5pbXBvcnQge0VsZGVyQ29tcG9zaXRlU29ydERjRGlyZWN0aXZlfSBmcm9tICcuL2NvbXBvc2l0ZS1zb3J0L2NvbXBvc2l0ZS1zb3J0LWRjLmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCB7RWxkZXJTaW5nbGVTb3J0Q29tcG9uZW50fSBmcm9tICcuL2VsZGVyLXNpbmdsZS1zb3J0L2VsZGVyLXNpbmdsZS1zb3J0LmNvbXBvbmVudCc7XG5leHBvcnQge0VsZGVyQ29tcG9zaXRlU29ydENvbXBvbmVudH0gZnJvbSAnLi9jb21wb3NpdGUtc29ydC9lbGRlci1jb21wb3NpdGUtc29ydC9lbGRlci1jb21wb3NpdGUtc29ydC5jb21wb25lbnQnO1xuZXhwb3J0IHtFbGRlckNvbXBvc2l0ZVNvcnREY0RpcmVjdGl2ZX0gZnJvbSAnLi9jb21wb3NpdGUtc29ydC9jb21wb3NpdGUtc29ydC1kYy5kaXJlY3RpdmUnO1xuZXhwb3J0IHtDb21wb3NpdGVTb3J0fSBmcm9tICcuL2NvbXBvc2l0ZS1zb3J0L2NvbXBvc2l0ZS1zb3J0JztcbmV4cG9ydCB7RWxkZXJEYXRhVG9vbGJhckNvbXBvbmVudCwgRWxkZXJUb29sYmFyQ29udGVudERpcmVjdGl2ZSwgRWxkZXJUb29sYmFyQ29udGVudFNsb3R9IGZyb20gJy4vZWxkZXItZGF0YS10b29sYmFyL2VsZGVyLWRhdGEtdG9vbGJhci5jb21wb25lbnQnO1xuZXhwb3J0IHtFbGRlclNlbGVjdGlvbk1hc3RlckNoZWNrYm94Q29tcG9uZW50fVxuICBmcm9tICcuL3NlbGVjdGlvbi9lbGRlci1zZWxlY3Rpb24tbWFzdGVyLWNoZWNrYm94L2VsZGVyLXNlbGVjdGlvbi1tYXN0ZXItY2hlY2tib3guY29tcG9uZW50JztcblxuZXhwb3J0IHtNYXN0ZXJTZWxlY3Rpb25TdGF0ZX0gZnJvbSAnLi9zZWxlY3Rpb24vbWFzdGVyLXNlbGVjdGlvbi1zdGF0ZSc7XG5leHBvcnQge0RhdGFDb250ZXh0U2VsZWN0aW9uRGlyZWN0aXZlfSBmcm9tICcuL3NlbGVjdGlvbi9kYXRhLWNvbnRleHQtc2VsZWN0aW9uLmRpcmVjdGl2ZSc7XG5leHBvcnQge0RhdGFDb250ZXh0U3RhdGVJbmRpY2F0b3JDb21wb25lbnR9IGZyb20gJy4vZGF0YS1jb250ZXh0LXN0YXRlLWluZGljYXRvci9kYXRhLWNvbnRleHQtc3RhdGUtaW5kaWNhdG9yLmNvbXBvbmVudCc7XG5cblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSwgUm91dGVyTW9kdWxlLFxuICAgICAgICAvLyBNYXRlcmlhbFxuICAgICAgICBNYXREaXZpZGVyTW9kdWxlLFxuICAgICAgICBNYXRDaGVja2JveE1vZHVsZSwgTWF0TWVudU1vZHVsZSxcbiAgICAgICAgTWF0QnV0dG9uTW9kdWxlLCBNYXRJY29uTW9kdWxlLCBNYXRCYWRnZU1vZHVsZSxcbiAgICAgICAgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUsXG4gICAgICAgIE1hdERpYWxvZ01vZHVsZSwgTWF0VG9vbHRpcE1vZHVsZSxcbiAgICAgICAgLy8gdHJhbnNsYXRpb25zXG4gICAgICAgIFRyYW5zbGF0ZU1vZHVsZSwgRWxkZXJCYWRnZU1vZHVsZSxcbiAgICAgICAgRWxkZXJEYXRhVG9vbGJhckNvbXBvbmVudCxcbiAgICAgICAgRWxkZXJUb29sYmFyQ29udGVudERpcmVjdGl2ZSxcbiAgICAgICAgRWxkZXJTaW5nbGVTb3J0Q29tcG9uZW50LFxuICAgICAgICBFbGRlckNvbXBvc2l0ZVNvcnRDb21wb25lbnQsXG4gICAgICAgIEVsZGVyQ29tcG9zaXRlU29ydERjRGlyZWN0aXZlLFxuICAgICAgICBFbGRlclNlbGVjdGlvbk1hc3RlckNoZWNrYm94Q29tcG9uZW50LFxuICAgICAgICBEYXRhQ29udGV4dFNlbGVjdGlvbkRpcmVjdGl2ZSxcbiAgICAgICAgRGF0YUNvbnRleHRTdGF0ZUluZGljYXRvckNvbXBvbmVudFxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBFbGRlckRhdGFUb29sYmFyQ29tcG9uZW50LFxuICAgICAgICBFbGRlclRvb2xiYXJDb250ZW50RGlyZWN0aXZlLFxuICAgICAgICBFbGRlclNpbmdsZVNvcnRDb21wb25lbnQsXG4gICAgICAgIEVsZGVyQ29tcG9zaXRlU29ydENvbXBvbmVudCxcbiAgICAgICAgRWxkZXJDb21wb3NpdGVTb3J0RGNEaXJlY3RpdmUsXG4gICAgICAgIEVsZGVyU2VsZWN0aW9uTWFzdGVyQ2hlY2tib3hDb21wb25lbnQsXG4gICAgICAgIERhdGFDb250ZXh0U2VsZWN0aW9uRGlyZWN0aXZlLFxuICAgICAgICBEYXRhQ29udGV4dFN0YXRlSW5kaWNhdG9yQ29tcG9uZW50XG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJEYXRhQ29tbW9uTW9kdWxlIHsgfVxuIl19
|
package/esm2022/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.mjs
CHANGED
|
@@ -16,10 +16,10 @@ export class ElderToolbarContentDirective {
|
|
|
16
16
|
constructor(templateRef) {
|
|
17
17
|
this.templateRef = templateRef;
|
|
18
18
|
}
|
|
19
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
|
20
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.
|
|
19
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: ElderToolbarContentDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
20
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.4", type: ElderToolbarContentDirective, isStandalone: true, selector: "[elderToolbarContent]", inputs: { placeholderId: ["elderToolbarContent", "placeholderId"] }, ngImport: i0 }); }
|
|
21
21
|
}
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: ElderToolbarContentDirective, decorators: [{
|
|
23
23
|
type: Directive,
|
|
24
24
|
args: [{
|
|
25
25
|
selector: '[elderToolbarContent]',
|
|
@@ -104,10 +104,10 @@ export class ElderDataToolbarComponent {
|
|
|
104
104
|
}
|
|
105
105
|
}
|
|
106
106
|
}
|
|
107
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
|
108
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.
|
|
107
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: ElderDataToolbarComponent, deps: [{ token: i1.SelectionModel, optional: true }, { token: ELDER_DATA_VIEW, optional: true }, { token: i2.ElderDialogService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
108
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.4", type: ElderDataToolbarComponent, isStandalone: true, selector: "elder-data-toolbar", inputs: { canAdd: "canAdd", canRemove: "canRemove", canMore: "canMore", confirmRemoval: "confirmRemoval", keepSelectionAfterRemoval: "keepSelectionAfterRemoval", selectionModel: "selectionModel" }, outputs: { requestNew: "requestNew", requestRemove: "requestRemove" }, queries: [{ propertyName: "templates", predicate: ElderToolbarContentDirective }], ngImport: i0, template: "<!-- Table Toolbar -->\n<div\n class=\"layout-row place-between-center gap-md\"\n style=\"padding: 0 8px 0 8px\"\n *ngIf=\"selection$ | async as selection\"\n>\n <ng-container\n *ngTemplateOutlet=\"\n getTemplate('main') || defaultContent;\n context: { $implicit: selection }\n \"\n ></ng-container>\n</div>\n\n<!-- Default Templates -->\n\n<!-- Default Main Content -->\n<ng-template #defaultContent let-selection>\n <!-- Left column -->\n <div class=\"layout-row place-start-center\">\n <ng-container\n *ngTemplateOutlet=\"\n getTemplate('left') || defaultLeftContent;\n context: { $implicit: selection }\n \"\n ></ng-container>\n </div>\n\n <div class=\"layout-row place-center-center flex\">\n <ng-container\n *ngTemplateOutlet=\"\n getTemplate('center') || defaultCenterContent;\n context: { $implicit: selection }\n \"\n ></ng-container>\n </div>\n\n <!-- Right column -->\n <div class=\"layout-row place-end-center\">\n <ng-container\n *ngTemplateOutlet=\"\n getTemplate('right') || defaultRightContent;\n context: { $implicit: selection }\n \"\n ></ng-container>\n </div>\n</ng-template>\n\n<!-- Default Left Content -->\n<ng-template #defaultLeftContent let-selection>\n <!-- Add Action -->\n <button\n mat-icon-button type=\"button\"\n color=\"primary\"\n *ngIf=\"canAdd\"\n (click)=\"requestNew.next($event)\"\n >\n <mat-icon>add</mat-icon>\n </button>\n\n <!-- Placeholder for additional actions -->\n <ng-container\n *ngTemplateOutlet=\"\n getTemplate('left.actions');\n context: { $implicit: selection }\n \"\n ></ng-container>\n</ng-template>\n\n<!-- Default Center Content -->\n<ng-template #defaultCenterContent let-selection></ng-template>\n\n<!-- Default Right Content -->\n<ng-template #defaultRightContent let-selection>\n <!-- Placeholder for additional actions -->\n <ng-container\n *ngTemplateOutlet=\"\n getTemplate('right.actions');\n context: { $implicit: selection }\n \"\n ></ng-container>\n\n <!-- Delete Action -->\n <button\n mat-icon-button type=\"button\"\n color=\"primary\"\n *ngIf=\"canRemove\"\n [disabled]=\"!selection?.length\"\n (click)=\"requestRemoveItems(selection, $event)\"\n >\n <mat-icon>delete</mat-icon>\n </button>\n\n <!-- More Menu -->\n <button\n mat-icon-button type=\"button\"\n color=\"primary\"\n [matMenuTriggerFor]=\"elderTableMenu\"\n [disabled]=\"!canMore\"\n >\n <mat-icon>more_vert</mat-icon>\n <mat-menu #elderTableMenu=\"matMenu\">\n <ng-content select=\"[mat-menu-item]\"></ng-content>\n <!-- Placeholder for mat menu items-->\n <ng-container\n *ngTemplateOutlet=\"\n getTemplate('right.menu');\n context: { $implicit: selection }\n \"\n ></ng-container>\n </mat-menu>\n </button>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
109
109
|
}
|
|
110
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
|
110
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: ElderDataToolbarComponent, decorators: [{
|
|
111
111
|
type: Component,
|
|
112
112
|
args: [{ selector: 'elder-data-toolbar', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
113
113
|
NgIf,
|
package/esm2022/lib/components/data-view/common/elder-single-sort/elder-single-sort.component.mjs
CHANGED
|
@@ -72,10 +72,10 @@ export class ElderSingleSortComponent {
|
|
|
72
72
|
this.sort = sort;
|
|
73
73
|
this.sortChange.emit(sort);
|
|
74
74
|
}
|
|
75
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
|
76
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.
|
|
75
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: ElderSingleSortComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
76
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.4", type: ElderSingleSortComponent, isStandalone: true, selector: "elder-single-sort", inputs: { availableSorts: "availableSorts", translationPrefix: "translationPrefix", sort: "sort" }, outputs: { sortChange: "sortChange" }, ngImport: i0, template: "<div *ngIf=\"(sort$ | async) as sort\" class=\"layout-row place-start-center flex-none\">\n\n <button mat-button type=\"button\" [matMenuTriggerFor]=\"menu\">\n\n {{ translationPrefix + sort.prop | translate}}\n\n <mat-icon style=\"font-size: 22px\">sort</mat-icon>\n\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item type=\"button\"\n *ngFor=\"let mysort of availableSorts\"\n (click)=\"setSortProp(mysort)\"\n >\n <mat-icon>sort</mat-icon>\n <span [class.mat-body-strong]=\"sort.prop == mysort\">{{translationPrefix + mysort | translate}}</span>\n </button>\n </mat-menu>\n\n </button>\n\n <button mat-icon-button type=\"button\" (click)=\"toggleSortDirection($event)\">\n <mat-icon style=\"font-size: 22px\">{{sort.dir === 'asc' ? 'arrow_downward' : 'arrow_upward'}}</mat-icon>\n </button>\n\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
77
77
|
}
|
|
78
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
|
78
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: ElderSingleSortComponent, decorators: [{
|
|
79
79
|
type: Component,
|
|
80
80
|
args: [{ selector: 'elder-single-sort', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgIf, MatButton, MatMenuTrigger, MatIcon, MatMenu, NgFor, MatMenuItem, MatIconButton, AsyncPipe, TranslateModule], template: "<div *ngIf=\"(sort$ | async) as sort\" class=\"layout-row place-start-center flex-none\">\n\n <button mat-button type=\"button\" [matMenuTriggerFor]=\"menu\">\n\n {{ translationPrefix + sort.prop | translate}}\n\n <mat-icon style=\"font-size: 22px\">sort</mat-icon>\n\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item type=\"button\"\n *ngFor=\"let mysort of availableSorts\"\n (click)=\"setSortProp(mysort)\"\n >\n <mat-icon>sort</mat-icon>\n <span [class.mat-body-strong]=\"sort.prop == mysort\">{{translationPrefix + mysort | translate}}</span>\n </button>\n </mat-menu>\n\n </button>\n\n <button mat-icon-button type=\"button\" (click)=\"toggleSortDirection($event)\">\n <mat-icon style=\"font-size: 22px\">{{sort.dir === 'asc' ? 'arrow_downward' : 'arrow_upward'}}</mat-icon>\n </button>\n\n</div>\n" }]
|
|
81
81
|
}], ctorParameters: () => [], propDecorators: { availableSorts: [{
|
package/esm2022/lib/components/data-view/common/selection/data-context-selection.directive.mjs
CHANGED
|
@@ -77,10 +77,10 @@ export class DataContextSelectionDirective {
|
|
|
77
77
|
return new MasterSelectionState(selection.length, selection.length >= currentData.length - unselectable.length, selection.length > 0 && selection.length < currentData.length - unselectable.length, selection.length > 0, model.isMultipleSelection);
|
|
78
78
|
}));
|
|
79
79
|
}
|
|
80
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
|
81
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.
|
|
80
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: DataContextSelectionDirective, deps: [{ token: i1.SelectionModel, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
81
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.4", type: DataContextSelectionDirective, isStandalone: true, selector: "[elderDataContextSelection]", inputs: { selectionModel: ["elderDataContextSelectionModel", "selectionModel"], dataContext: ["elderDataContextSelection", "dataContext"] }, exportAs: ["elderDataContextSelection"], ngImport: i0 }); }
|
|
82
82
|
}
|
|
83
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
|
83
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: DataContextSelectionDirective, decorators: [{
|
|
84
84
|
type: Directive,
|
|
85
85
|
args: [{
|
|
86
86
|
selector: '[elderDataContextSelection]',
|
|
@@ -27,10 +27,10 @@ export class ElderSelectionMasterCheckboxComponent {
|
|
|
27
27
|
**************************************************************************/
|
|
28
28
|
ngOnInit() {
|
|
29
29
|
}
|
|
30
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
|
31
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.
|
|
30
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: ElderSelectionMasterCheckboxComponent, deps: [{ token: i1.DataContextSelectionDirective }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
31
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.4", type: ElderSelectionMasterCheckboxComponent, isStandalone: true, selector: "elder-selection-master-checkbox", ngImport: i0, template: "<ng-container *ngIf=\"dataContextSelection?.selectionState$ | async as selectionState\">\n <div class=\"layout-row place-start-center\"\n *ngIf=\"selectionState.isMultiSelection\"\n >\n <!-- [elderBadge]=\"selectionState.count + ''\" -->\n <mat-checkbox (change)=\"$event ? dataContextSelection.masterToggle() : null\"\n [checked]=\"selectionState.allSelected\"\n [indeterminate]=\"selectionState.someSelected\"\n [matBadgeHidden]=\"selectionState.count === 0\"\n [matBadge]=\"selectionState.count + ''\"\n [matBadgePosition]=\"'above before'\"\n [matBadgeOverlap]=\"true\"\n [matBadgeSize]=\"'small'\"\n >\n </mat-checkbox>\n </div>\n</ng-container>\n", styles: [".mat-badge-small.mat-badge-above .mat-badge-content{top:-6px}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "directive", type: MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
32
32
|
}
|
|
33
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: ElderSelectionMasterCheckboxComponent, decorators: [{
|
|
34
34
|
type: Component,
|
|
35
35
|
args: [{ selector: 'elder-selection-master-checkbox', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgIf, MatCheckbox, MatBadge, AsyncPipe], template: "<ng-container *ngIf=\"dataContextSelection?.selectionState$ | async as selectionState\">\n <div class=\"layout-row place-start-center\"\n *ngIf=\"selectionState.isMultiSelection\"\n >\n <!-- [elderBadge]=\"selectionState.count + ''\" -->\n <mat-checkbox (change)=\"$event ? dataContextSelection.masterToggle() : null\"\n [checked]=\"selectionState.allSelected\"\n [indeterminate]=\"selectionState.someSelected\"\n [matBadgeHidden]=\"selectionState.count === 0\"\n [matBadge]=\"selectionState.count + ''\"\n [matBadgePosition]=\"'above before'\"\n [matBadgeOverlap]=\"true\"\n [matBadgeSize]=\"'small'\"\n >\n </mat-checkbox>\n </div>\n</ng-container>\n", styles: [".mat-badge-small.mat-badge-above .mat-badge-content{top:-6px}\n"] }]
|
|
36
36
|
}], ctorParameters: () => [{ type: i1.DataContextSelectionDirective }] });
|