@elderbyte/ngx-starter 18.15.2 → 19.0.1
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/fesm2022/elderbyte-ngx-starter.mjs +1097 -1125
- package/fesm2022/elderbyte-ngx-starter.mjs.map +1 -1
- package/lib/common/forms/elder-form-field-control-base.directive.d.ts +1 -1
- package/lib/common/forms/elder-from-field-base.d.ts +1 -1
- package/lib/common/forms/elder-from-field-customizable-base.d.ts +1 -1
- package/lib/common/forms/elder-from-field-entity-base.d.ts +1 -1
- package/lib/common/forms/elder-from-field-multi-entity-base.d.ts +1 -1
- package/lib/common/forms/form-field-base.component.d.ts +1 -1
- package/lib/common/forms/multi-model-base.component.d.ts +1 -1
- package/lib/common/forms/template-composite-control.d.ts +1 -1
- package/lib/common/forms/value-accessor-base.d.ts +1 -1
- package/lib/common/reactive-map.d.ts +1 -1
- package/lib/components/data-view/base/elder-data-view-base.d.ts +1 -1
- package/lib/components/forms/directives/base/elder-class-hostbinding-base.d.ts +1 -1
- package/lib/components/iframes/typed-event-message.d.ts +1 -1
- package/lib/components/panels/elder-panel.module.d.ts +5 -7
- package/lib/components/select/elder-select-base.d.ts +1 -1
- package/lib/components/select/multi/elder-multi-select-base.d.ts +1 -1
- package/lib/components/select/multi/elder-multi-select-form-field.d.ts +1 -1
- package/lib/components/select/single/elder-select-form-field.d.ts +1 -1
- package/package.json +6 -8
- package/src/lib/components/errors/exception-detail/elder-exception-detail.component.scss +2 -3
- package/src/lib/components/panels/flat/_elder-panel-theme.scss +5 -1
- package/esm2022/elderbyte-ngx-starter.mjs +0 -5
- package/esm2022/lib/common/arrays.mjs +0 -29
- package/esm2022/lib/common/async/public_api.mjs +0 -2
- package/esm2022/lib/common/async/refreshing-entity.mjs +0 -88
- package/esm2022/lib/common/csv/csv-serializer.mjs +0 -55
- package/esm2022/lib/common/csv/csv-spec.mjs +0 -99
- package/esm2022/lib/common/csv/public_api.mjs +0 -3
- package/esm2022/lib/common/data/continuable-listing.mjs +0 -10
- package/esm2022/lib/common/data/data-context/data-context-active-page.mjs +0 -131
- package/esm2022/lib/common/data/data-context/data-context-auto-starter.mjs +0 -78
- package/esm2022/lib/common/data/data-context/data-context-base.mjs +0 -339
- package/esm2022/lib/common/data/data-context/data-context-builder.mjs +0 -245
- package/esm2022/lib/common/data/data-context/data-context-continuable-base.mjs +0 -67
- package/esm2022/lib/common/data/data-context/data-context-continuable-paged.mjs +0 -142
- package/esm2022/lib/common/data/data-context/data-context-continuable-token.mjs +0 -146
- package/esm2022/lib/common/data/data-context/data-context-life-cycle-binding.mjs +0 -32
- package/esm2022/lib/common/data/data-context/data-context-simple.mjs +0 -61
- package/esm2022/lib/common/data/data-context/data-context-source-event-binding.mjs +0 -63
- package/esm2022/lib/common/data/data-context/data-context-status.mjs +0 -46
- package/esm2022/lib/common/data/data-context/data-context.mjs +0 -30
- package/esm2022/lib/common/data/data-context/indexed-entities.mjs +0 -153
- package/esm2022/lib/common/data/data-context/mat-table-data-context-binding.mjs +0 -145
- package/esm2022/lib/common/data/data-context/public_api.mjs +0 -15
- package/esm2022/lib/common/data/datasource/data-source-adapter.mjs +0 -59
- package/esm2022/lib/common/data/datasource/data-source-base.mjs +0 -38
- package/esm2022/lib/common/data/datasource/data-source-change-event.mjs +0 -34
- package/esm2022/lib/common/data/datasource/data-source-processor.mjs +0 -198
- package/esm2022/lib/common/data/datasource/data-source.mjs +0 -23
- package/esm2022/lib/common/data/datasource/entity-id-util.mjs +0 -11
- package/esm2022/lib/common/data/datasource/fetcher/delegate-data-source.mjs +0 -127
- package/esm2022/lib/common/data/datasource/local/local-list-data-source.mjs +0 -153
- package/esm2022/lib/common/data/datasource/local/local-paged-data-source.mjs +0 -75
- package/esm2022/lib/common/data/datasource/patch/deep-partial-patcher.mjs +0 -58
- package/esm2022/lib/common/data/datasource/public_api.mjs +0 -10
- package/esm2022/lib/common/data/datasource/rest/public_api.mjs +0 -2
- package/esm2022/lib/common/data/datasource/rest/rest-client.mjs +0 -290
- package/esm2022/lib/common/data/entity-set-patch.mjs +0 -161
- package/esm2022/lib/common/data/field-comparator.mjs +0 -108
- package/esm2022/lib/common/data/filters/filter-commons.mjs +0 -12
- package/esm2022/lib/common/data/filters/filter-context.mjs +0 -135
- package/esm2022/lib/common/data/filters/filter-value.mjs +0 -2
- package/esm2022/lib/common/data/filters/filter.mjs +0 -104
- package/esm2022/lib/common/data/http-params-builder.mjs +0 -116
- package/esm2022/lib/common/data/page.mjs +0 -58
- package/esm2022/lib/common/data/public_api.mjs +0 -12
- package/esm2022/lib/common/data/required-filter-evaluator.mjs +0 -71
- package/esm2022/lib/common/data/sort-context.mjs +0 -73
- package/esm2022/lib/common/data/sort.mjs +0 -11
- package/esm2022/lib/common/data/token-chunk-request.mjs +0 -8
- package/esm2022/lib/common/enums/elder-enum-translation.service.mjs +0 -84
- package/esm2022/lib/common/enums/public_api.mjs +0 -2
- package/esm2022/lib/common/errors/exception-detail.mjs +0 -2
- package/esm2022/lib/common/errors/public_api.mjs +0 -3
- package/esm2022/lib/common/errors/standard-error-detail.mjs +0 -2
- package/esm2022/lib/common/exceptions/public_api.mjs +0 -2
- package/esm2022/lib/common/exceptions/unreachable-case-error.mjs +0 -8
- package/esm2022/lib/common/format/bytes-format.mjs +0 -15
- package/esm2022/lib/common/format/bytes-per-second-format.mjs +0 -41
- package/esm2022/lib/common/format/curency-format-util.mjs +0 -43
- package/esm2022/lib/common/format/duration-format-util.mjs +0 -44
- package/esm2022/lib/common/format/iso-interval-format-util.mjs +0 -111
- package/esm2022/lib/common/format/public_api.mjs +0 -6
- package/esm2022/lib/common/forms/elder-entity-value-accessor.mjs +0 -22
- package/esm2022/lib/common/forms/elder-form-field-control-base.directive.mjs +0 -188
- package/esm2022/lib/common/forms/elder-from-field-base.mjs +0 -94
- package/esm2022/lib/common/forms/elder-from-field-customizable-base.mjs +0 -52
- package/esm2022/lib/common/forms/elder-from-field-entity-base.mjs +0 -39
- package/esm2022/lib/common/forms/elder-from-field-multi-entity-base.mjs +0 -47
- package/esm2022/lib/common/forms/elder-multi-entity-value-accessor.mjs +0 -22
- package/esm2022/lib/common/forms/form-field-base.component.mjs +0 -111
- package/esm2022/lib/common/forms/multi-model-base.component.mjs +0 -32
- package/esm2022/lib/common/forms/public_api.mjs +0 -12
- package/esm2022/lib/common/forms/template-composite-control.mjs +0 -136
- package/esm2022/lib/common/forms/value-accessor-base.mjs +0 -146
- package/esm2022/lib/common/forms/view-providers.mjs +0 -30
- package/esm2022/lib/common/http/http-client-builder.service.mjs +0 -14
- package/esm2022/lib/common/http/http-client-pristine.mjs +0 -21
- package/esm2022/lib/common/http/public_api.mjs +0 -5
- package/esm2022/lib/common/http/transfer/data-transfer-base.mjs +0 -77
- package/esm2022/lib/common/http/transfer/data-transfer-factory.mjs +0 -106
- package/esm2022/lib/common/http/transfer/data-transfer-progress-aggregate.mjs +0 -60
- package/esm2022/lib/common/http/transfer/data-transfer-progress.mjs +0 -17
- package/esm2022/lib/common/http/transfer/data-transfer-state.mjs +0 -82
- package/esm2022/lib/common/http/transfer/data-transfer-status.mjs +0 -24
- package/esm2022/lib/common/http/transfer/data-transfer.mjs +0 -2
- package/esm2022/lib/common/http/transfer/http-data-transfer.mjs +0 -132
- package/esm2022/lib/common/http/transfer/public_api.mjs +0 -7
- package/esm2022/lib/common/http/upload/file-upload-client.mjs +0 -42
- package/esm2022/lib/common/i18n/entity/elder-multi-translate-loader.mjs +0 -53
- package/esm2022/lib/common/i18n/entity/impl/i18n-base.mjs +0 -6
- package/esm2022/lib/common/i18n/entity/impl/i18n-text.mjs +0 -16
- package/esm2022/lib/common/i18n/entity/impl/translated.mjs +0 -15
- package/esm2022/lib/common/i18n/entity/language-tag.mjs +0 -12
- package/esm2022/lib/common/i18n/entity/locale.mjs +0 -12
- package/esm2022/lib/common/i18n/entity/localisation-picker.mjs +0 -30
- package/esm2022/lib/common/i18n/entity/localized.mjs +0 -2
- package/esm2022/lib/common/i18n/entity/public_api.mjs +0 -10
- package/esm2022/lib/common/i18n/entity/translated-converter.mjs +0 -18
- package/esm2022/lib/common/i18n/entity/translated.mjs +0 -2
- package/esm2022/lib/common/i18n/public_api.mjs +0 -2
- package/esm2022/lib/common/json-map.mjs +0 -17
- package/esm2022/lib/common/objects.mjs +0 -43
- package/esm2022/lib/common/public_api.mjs +0 -23
- package/esm2022/lib/common/reactive-map.mjs +0 -69
- package/esm2022/lib/common/rxjs/operators/lazy-sample.mjs +0 -34
- package/esm2022/lib/common/rxjs/public_api.mjs +0 -2
- package/esm2022/lib/common/selection/public_api.mjs +0 -2
- package/esm2022/lib/common/selection/selection-model.mjs +0 -213
- package/esm2022/lib/common/sets.mjs +0 -45
- package/esm2022/lib/common/suggestion-provider.mjs +0 -12
- package/esm2022/lib/common/templates/template-slot-manager.mjs +0 -135
- package/esm2022/lib/common/theme-sizes.mjs +0 -2
- package/esm2022/lib/common/time/date-util.mjs +0 -91
- package/esm2022/lib/common/time/interval-coerce.mjs +0 -30
- package/esm2022/lib/common/time/interval.mjs +0 -442
- package/esm2022/lib/common/time/period-duration.mjs +0 -133
- package/esm2022/lib/common/time/public_api.mjs +0 -8
- package/esm2022/lib/common/time/temporal-plain-date-interval.mjs +0 -34
- package/esm2022/lib/common/time/temporal-util.mjs +0 -205
- package/esm2022/lib/common/time/time-util.mjs +0 -38
- package/esm2022/lib/common/url/elder-router.service.mjs +0 -54
- package/esm2022/lib/common/url/elder-url-fragment-params.service.mjs +0 -117
- package/esm2022/lib/common/url/public_api.mjs +0 -4
- package/esm2022/lib/common/url/url-query-params.mjs +0 -133
- package/esm2022/lib/common/utils/batcher.mjs +0 -35
- package/esm2022/lib/common/utils/collection-util.mjs +0 -111
- package/esm2022/lib/common/utils/filter-util.mjs +0 -133
- package/esm2022/lib/common/utils/focus-util.mjs +0 -23
- package/esm2022/lib/common/utils/input-utils.mjs +0 -6
- package/esm2022/lib/common/utils/next-number-util.mjs +0 -89
- package/esm2022/lib/common/utils/ng-zone-utils.mjs +0 -16
- package/esm2022/lib/common/utils/parse-util.mjs +0 -17
- package/esm2022/lib/common/utils/property-path-util.mjs +0 -28
- package/esm2022/lib/common/utils/public_api.mjs +0 -14
- package/esm2022/lib/common/utils/query-list-binding.mjs +0 -68
- package/esm2022/lib/common/utils/signal-input.mjs +0 -3
- package/esm2022/lib/common/utils/sort-util.mjs +0 -42
- package/esm2022/lib/common/utils/url-builder.mjs +0 -275
- package/esm2022/lib/common/utils/uuid-util.mjs +0 -28
- package/esm2022/lib/common/utils/value-wrapper.mjs +0 -19
- package/esm2022/lib/components/access-denied/elder-access-denied.component.mjs +0 -15
- package/esm2022/lib/components/access-denied/elder-access-denied.module.mjs +0 -20
- package/esm2022/lib/components/auditing/audited-entity/elder-audited-entity.component.mjs +0 -50
- package/esm2022/lib/components/auditing/elder-audit.module.mjs +0 -40
- package/esm2022/lib/components/auditing/i-audited-entity.mjs +0 -3
- package/esm2022/lib/components/badge/elder-badge/elder-badge.component.mjs +0 -162
- package/esm2022/lib/components/badge/elder-badge.directive.mjs +0 -124
- package/esm2022/lib/components/badge/elder-badge.module.mjs +0 -58
- package/esm2022/lib/components/button-group/elder-button-group/elder-button-group.component.mjs +0 -13
- package/esm2022/lib/components/button-group/elder-button-group.module.mjs +0 -21
- package/esm2022/lib/components/card-organizer/card-organizer/elder-card-organizer.component.mjs +0 -118
- package/esm2022/lib/components/card-organizer/card-organizer/elder-stack-card.directive.mjs +0 -18
- package/esm2022/lib/components/card-organizer/card-organizer-data.mjs +0 -93
- package/esm2022/lib/components/card-organizer/card-stack/elder-card-stack.component.mjs +0 -220
- package/esm2022/lib/components/card-organizer/card-stack.mjs +0 -176
- package/esm2022/lib/components/card-organizer/elder-card-organizer.module.mjs +0 -62
- package/esm2022/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.mjs +0 -17
- package/esm2022/lib/components/cards/elder-card/elder-card.component.mjs +0 -167
- package/esm2022/lib/components/cards/elder-card/elder-card.module.mjs +0 -71
- package/esm2022/lib/components/chips/elder-chip-label.directive.mjs +0 -171
- package/esm2022/lib/components/chips/elder-chips.module.mjs +0 -45
- package/esm2022/lib/components/connectivity/elder-connectivity.module.mjs +0 -57
- package/esm2022/lib/components/connectivity/elder-connectivity.service.mjs +0 -61
- package/esm2022/lib/components/connectivity/offline-indicator/elder-offline-indicator.component.mjs +0 -46
- package/esm2022/lib/components/connectivity/public_api.mjs +0 -3
- package/esm2022/lib/components/containers/elder-containers.module.mjs +0 -18
- package/esm2022/lib/components/containers/elder-scroll-container/elder-scroll-container.component.mjs +0 -24
- package/esm2022/lib/components/containers/public_api.mjs +0 -2
- package/esm2022/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.mjs +0 -77
- package/esm2022/lib/components/csv/elder-csv-stream-exporter-builder.mjs +0 -38
- package/esm2022/lib/components/csv/elder-csv-stream-exporter-builder.service.mjs +0 -38
- package/esm2022/lib/components/csv/elder-csv-stream-exporter.mjs +0 -114
- package/esm2022/lib/components/csv/elder-csv.module.mjs +0 -24
- package/esm2022/lib/components/currency/elder-currency.module.mjs +0 -18
- package/esm2022/lib/components/currency/elder-currency.pipe.mjs +0 -37
- package/esm2022/lib/components/currency/model/currency-code.mjs +0 -38
- package/esm2022/lib/components/currency/model/currency-unit-registry.mjs +0 -30
- package/esm2022/lib/components/currency/model/currency-unit.mjs +0 -10
- package/esm2022/lib/components/currency/model/currency.mjs +0 -15
- package/esm2022/lib/components/currency/public_api.mjs +0 -7
- package/esm2022/lib/components/data-transfer/elder-data-transfer.module.mjs +0 -91
- package/esm2022/lib/components/data-transfer/elder-data-transfer.service.mjs +0 -93
- package/esm2022/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.mjs +0 -102
- package/esm2022/lib/components/data-transfer/http-data-transfer-aggregate/http-data-transfer-aggregate.component.mjs +0 -34
- package/esm2022/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.mjs +0 -57
- package/esm2022/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.mjs +0 -34
- package/esm2022/lib/components/data-view/base/data-view-options-provider-binding.mjs +0 -69
- package/esm2022/lib/components/data-view/base/elder-data-view-base.mjs +0 -265
- package/esm2022/lib/components/data-view/base/elder-data-view-options-provider.mjs +0 -44
- package/esm2022/lib/components/data-view/base/elder-data-view-options.mjs +0 -45
- package/esm2022/lib/components/data-view/base/elder-data-view.mjs +0 -3
- package/esm2022/lib/components/data-view/base/public_api.mjs +0 -6
- package/esm2022/lib/components/data-view/common/composite-sort/composite-sort-context.mjs +0 -30
- package/esm2022/lib/components/data-view/common/composite-sort/composite-sort-dc.directive.mjs +0 -55
- package/esm2022/lib/components/data-view/common/composite-sort/composite-sort.mjs +0 -68
- package/esm2022/lib/components/data-view/common/composite-sort/elder-composite-sort/elder-composite-sort.component.mjs +0 -101
- package/esm2022/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.mjs +0 -45
- package/esm2022/lib/components/data-view/common/elder-data-common.module.mjs +0 -125
- package/esm2022/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.mjs +0 -140
- package/esm2022/lib/components/data-view/common/elder-single-sort/elder-single-sort.component.mjs +0 -100
- package/esm2022/lib/components/data-view/common/selection/data-context-selection.directive.mjs +0 -103
- package/esm2022/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.mjs +0 -36
- package/esm2022/lib/components/data-view/common/selection/master-selection-state.mjs +0 -10
- package/esm2022/lib/components/data-view/elder-data-view-interaction-mode.mjs +0 -2
- package/esm2022/lib/components/data-view/grid/elder-grid/elder-grid.component.mjs +0 -345
- package/esm2022/lib/components/data-view/grid/elder-grid.module.mjs +0 -91
- package/esm2022/lib/components/data-view/master-detail/elder-detail-dialog/elder-detail-dialog.component.mjs +0 -75
- package/esm2022/lib/components/data-view/master-detail/elder-detail.directive.mjs +0 -50
- package/esm2022/lib/components/data-view/master-detail/elder-master-activation.directive.mjs +0 -79
- package/esm2022/lib/components/data-view/master-detail/elder-master-detail-mode.mjs +0 -2
- package/esm2022/lib/components/data-view/master-detail/elder-master-detail-provider.mjs +0 -20
- package/esm2022/lib/components/data-view/master-detail/elder-master-detail.component.mjs +0 -119
- package/esm2022/lib/components/data-view/master-detail/elder-master-detail.module.mjs +0 -116
- package/esm2022/lib/components/data-view/master-detail/elder-master-detail.service.mjs +0 -89
- package/esm2022/lib/components/data-view/master-detail/elder-master.directive.mjs +0 -23
- package/esm2022/lib/components/data-view/master-detail/master-detail-activation-event.mjs +0 -12
- package/esm2022/lib/components/data-view/public_api.mjs +0 -7
- package/esm2022/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.component.mjs +0 -18
- package/esm2022/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.module.mjs +0 -104
- package/esm2022/lib/components/data-view/table/activation/activation-event-source.mjs +0 -7
- package/esm2022/lib/components/data-view/table/activation/elder-activation-context.mjs +0 -2
- package/esm2022/lib/components/data-view/table/activation/elder-delete-active.directive.mjs +0 -114
- package/esm2022/lib/components/data-view/table/activation/elder-table-activation-options.mjs +0 -2
- package/esm2022/lib/components/data-view/table/activation/elder-table-activation.directive.mjs +0 -315
- package/esm2022/lib/components/data-view/table/activation/item-activation-event.mjs +0 -8
- package/esm2022/lib/components/data-view/table/activation/item-activation-options.mjs +0 -7
- package/esm2022/lib/components/data-view/table/activation/public_api.mjs +0 -8
- package/esm2022/lib/components/data-view/table/elder-center-cell.directive.mjs +0 -23
- package/esm2022/lib/components/data-view/table/elder-number-cell.directive.mjs +0 -30
- package/esm2022/lib/components/data-view/table/elder-paginator-intl.mjs +0 -73
- package/esm2022/lib/components/data-view/table/elder-table/elder-table-toolbar.directive.mjs +0 -21
- package/esm2022/lib/components/data-view/table/elder-table/elder-table.component.mjs +0 -338
- package/esm2022/lib/components/data-view/table/elder-table-column.directive.mjs +0 -18
- package/esm2022/lib/components/data-view/table/elder-table-extension.directive.mjs +0 -92
- package/esm2022/lib/components/data-view/table/elder-table-root.directive.mjs +0 -26
- package/esm2022/lib/components/data-view/table/elder-table-row.directive.mjs +0 -156
- package/esm2022/lib/components/data-view/table/elder-table-sort.directive.mjs +0 -23
- package/esm2022/lib/components/data-view/table/elder-table.module.mjs +0 -184
- package/esm2022/lib/components/data-view/table/model/elder-column-layout.mjs +0 -110
- package/esm2022/lib/components/data-view/table/model/elder-table-model-cdk-table-binding.mjs +0 -85
- package/esm2022/lib/components/data-view/table/model/elder-table-model-provider.mjs +0 -40
- package/esm2022/lib/components/data-view/table/model/elder-table-model-query-group.mjs +0 -89
- package/esm2022/lib/components/data-view/table/model/elder-table-model.mjs +0 -167
- package/esm2022/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.mjs +0 -37
- package/esm2022/lib/components/dialogs/elder-dialog-config.mjs +0 -3
- package/esm2022/lib/components/dialogs/elder-dialog.module.mjs +0 -87
- package/esm2022/lib/components/dialogs/elder-dialog.service.mjs +0 -199
- package/esm2022/lib/components/dialogs/question-dialog/elder-question-dialog.component.mjs +0 -57
- package/esm2022/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.mjs +0 -43
- package/esm2022/lib/components/dialogs/selection-dialog/elder-selection-dialog.directive.mjs +0 -47
- package/esm2022/lib/components/errors/elder-error.module.mjs +0 -39
- package/esm2022/lib/components/errors/error-util.mjs +0 -94
- package/esm2022/lib/components/errors/exception-detail/elder-exception-detail.component.mjs +0 -77
- package/esm2022/lib/components/expand-toggle-button/elder-expand-toggle-button.component.mjs +0 -55
- package/esm2022/lib/components/expand-toggle-button/elder-expand-toggle-button.module.mjs +0 -35
- package/esm2022/lib/components/files/blob-url.mjs +0 -10
- package/esm2022/lib/components/files/blob-viewer/elder-blob-viewer.component.mjs +0 -224
- package/esm2022/lib/components/files/drag-n-drop/elder-drop-zone/elder-drop-zone.component.mjs +0 -44
- package/esm2022/lib/components/files/drag-n-drop/global-drag-drop.service.mjs +0 -84
- package/esm2022/lib/components/files/elder-file-drop-zone.directive.mjs +0 -145
- package/esm2022/lib/components/files/elder-file-select-input.mjs +0 -119
- package/esm2022/lib/components/files/elder-file-select.directive.mjs +0 -167
- package/esm2022/lib/components/files/elder-file.module.mjs +0 -85
- package/esm2022/lib/components/files/file-select/file-select.component.mjs +0 -54
- package/esm2022/lib/components/files/file-system-api.mjs +0 -100
- package/esm2022/lib/components/files/file-upload/file-upload.component.mjs +0 -80
- package/esm2022/lib/components/files/listing/file-entry.mjs +0 -92
- package/esm2022/lib/components/files/listing/file-listing-rx.mjs +0 -64
- package/esm2022/lib/components/files/listing/file-listing-system-handle.mjs +0 -35
- package/esm2022/lib/components/files/listing/file-listing-webkit.mjs +0 -76
- package/esm2022/lib/components/forms/clipboard/elder-clipboard.service.mjs +0 -51
- package/esm2022/lib/components/forms/directives/base/elder-class-hostbinding-base.mjs +0 -34
- package/esm2022/lib/components/forms/directives/checkbox/elder-single-state-checkbox-controller.mjs +0 -97
- package/esm2022/lib/components/forms/directives/checkbox/elder-single-state-checkbox.directive.mjs +0 -50
- package/esm2022/lib/components/forms/directives/checkbox/elder-triple-state-checkbox-controller.mjs +0 -102
- package/esm2022/lib/components/forms/directives/checkbox/elder-triple-state-checkbox.directive.mjs +0 -50
- package/esm2022/lib/components/forms/directives/elder-clipboard-put.directive.mjs +0 -38
- package/esm2022/lib/components/forms/directives/elder-delayed-focus.directive.mjs +0 -43
- package/esm2022/lib/components/forms/directives/elder-form-field-dense.directive.mjs +0 -83
- package/esm2022/lib/components/forms/directives/elder-form-field-label.directive.mjs +0 -84
- package/esm2022/lib/components/forms/directives/elder-form-field-no-hint.directive.mjs +0 -42
- package/esm2022/lib/components/forms/directives/elder-form-field-no-spinner.directive.mjs +0 -35
- package/esm2022/lib/components/forms/directives/elder-forms-directives.module.mjs +0 -142
- package/esm2022/lib/components/forms/directives/elder-initial-value.directive.mjs +0 -67
- package/esm2022/lib/components/forms/directives/elder-input-pattern.directive.mjs +0 -78
- package/esm2022/lib/components/forms/directives/elder-key-event.directive.mjs +0 -112
- package/esm2022/lib/components/forms/directives/elder-next-focusable.directive.mjs +0 -102
- package/esm2022/lib/components/forms/directives/elder-plug-parent-form.directive.mjs +0 -37
- package/esm2022/lib/components/forms/directives/elder-stop-event-propagation.directive.mjs +0 -30
- package/esm2022/lib/components/forms/directives/elder-tab-focus-trap.directive.mjs +0 -161
- package/esm2022/lib/components/forms/directives/elder-touched.directive.mjs +0 -28
- package/esm2022/lib/components/forms/directives/validation/elder-validation-error.directive.mjs +0 -88
- package/esm2022/lib/components/forms/directives/validation/strategies/common-validation-message-strategy.mjs +0 -47
- package/esm2022/lib/components/forms/directives/validation/strategies/dynamic-validation-message-strategy.mjs +0 -48
- package/esm2022/lib/components/forms/directives/validation/strategies/fallback-validation-message-strategy.mjs +0 -6
- package/esm2022/lib/components/forms/directives/validation/validation-message-renderer.service.mjs +0 -53
- package/esm2022/lib/components/forms/directives/validation/validation-message-strategy.mjs +0 -2
- package/esm2022/lib/components/forms/directives/validation/validators/elder-max.validator.mjs +0 -36
- package/esm2022/lib/components/forms/directives/validation/validators/elder-min.validator.mjs +0 -36
- package/esm2022/lib/components/forms/directives/validation/validators/elder-multiple-of.validator.mjs +0 -112
- package/esm2022/lib/components/forms/directives/validation/validators/elder-required-ignore-zero.validator.mjs +0 -69
- package/esm2022/lib/components/forms/elder-forms.module.mjs +0 -22
- package/esm2022/lib/components/forms/public_api.mjs +0 -6
- package/esm2022/lib/components/forms/search/domain/context/search-context.mjs +0 -73
- package/esm2022/lib/components/forms/search/domain/context/search-context.service.mjs +0 -42
- package/esm2022/lib/components/forms/search/domain/input/input-value.mjs +0 -2
- package/esm2022/lib/components/forms/search/domain/input/search-input-state.mjs +0 -88
- package/esm2022/lib/components/forms/search/domain/input/search-input.mjs +0 -2
- package/esm2022/lib/components/forms/search/domain/input/simple-search-input.mjs +0 -50
- package/esm2022/lib/components/forms/search/domain/url/elder-search-url.directive.mjs +0 -92
- package/esm2022/lib/components/forms/search/domain/url/elder-search-url.service.mjs +0 -166
- package/esm2022/lib/components/forms/search/domain/url/search-query-params-parser.mjs +0 -81
- package/esm2022/lib/components/forms/search/elder-search-context.directive.mjs +0 -256
- package/esm2022/lib/components/forms/search/elder-search-input.directive.mjs +0 -258
- package/esm2022/lib/components/forms/search/elder-search.module.mjs +0 -115
- package/esm2022/lib/components/forms/search/filter/default-input-filter-converter.mjs +0 -45
- package/esm2022/lib/components/forms/search/filter/input-filter-converter.mjs +0 -2
- package/esm2022/lib/components/forms/search/search-box/elder-search-box.component.mjs +0 -131
- package/esm2022/lib/components/forms/search/search-box/elder-search-panel.component.mjs +0 -24
- package/esm2022/lib/components/global-search/elder-global-search.component.mjs +0 -136
- package/esm2022/lib/components/global-search/elder-global-search.module.mjs +0 -47
- package/esm2022/lib/components/global-search/elder-global-search.service.mjs +0 -95
- package/esm2022/lib/components/graph/elder-progress-bar/elder-progress-bar.component.mjs +0 -90
- package/esm2022/lib/components/graph/elder-progress-bar/elder-progress-bar.module.mjs +0 -19
- package/esm2022/lib/components/graph/elder-progress-bar/sub-bar.mjs +0 -7
- package/esm2022/lib/components/graph/public_api.mjs +0 -2
- package/esm2022/lib/components/headers/elder-header/elder-header.component.mjs +0 -29
- package/esm2022/lib/components/headers/elder-header.module.mjs +0 -42
- package/esm2022/lib/components/http-support/elder-http-client.service.mjs +0 -63
- package/esm2022/lib/components/http-support/public_api.mjs +0 -2
- package/esm2022/lib/components/i18n/entities/elder-i18n-entities.module.mjs +0 -125
- package/esm2022/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.mjs +0 -157
- package/esm2022/lib/components/i18n/entities/elder-localized-input-dialog/elder-localized-input-dialog.component.mjs +0 -39
- package/esm2022/lib/components/i18n/entities/elder-localized-input-dialog.service.mjs +0 -30
- package/esm2022/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.mjs +0 -177
- package/esm2022/lib/components/i18n/entities/elder-localized-text-column.directive.mjs +0 -31
- package/esm2022/lib/components/i18n/entities/elder-localized-texts.directive.mjs +0 -56
- package/esm2022/lib/components/i18n/entities/picker/i18n-pick-async.pipe.mjs +0 -40
- package/esm2022/lib/components/i18n/entities/picker/i18n-pick.pipe.mjs +0 -31
- package/esm2022/lib/components/i18n/entities/picker/localisation-picker.service.mjs +0 -74
- package/esm2022/lib/components/i18n/language/elder-language-config.mjs +0 -3
- package/esm2022/lib/components/i18n/language/elder-language-interceptor.mjs +0 -70
- package/esm2022/lib/components/i18n/language/elder-language.module.mjs +0 -73
- package/esm2022/lib/components/i18n/language/elder-language.service.mjs +0 -120
- package/esm2022/lib/components/i18n/language/language-switcher/elder-language-switcher.component.mjs +0 -79
- package/esm2022/lib/components/i18n/locales/elder-locales-de-ch.module.mjs +0 -53
- package/esm2022/lib/components/i18n/public_api.mjs +0 -4
- package/esm2022/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.mjs +0 -129
- package/esm2022/lib/components/iframes/data-view/data-view-iframe-adapter.directive.mjs +0 -141
- package/esm2022/lib/components/iframes/elder-iframe.module.mjs +0 -106
- package/esm2022/lib/components/iframes/iframe-close.directive.mjs +0 -41
- package/esm2022/lib/components/iframes/iframe-dialog/iframe-dialog.component.mjs +0 -51
- package/esm2022/lib/components/iframes/iframe-host/iframe-host.component.mjs +0 -144
- package/esm2022/lib/components/iframes/iframe-messages.mjs +0 -5
- package/esm2022/lib/components/iframes/iframe-side-content/iframe-side-content.component.mjs +0 -80
- package/esm2022/lib/components/iframes/iframe.service.mjs +0 -54
- package/esm2022/lib/components/iframes/typed-event-message.mjs +0 -42
- package/esm2022/lib/components/infinitescroll/elder-infinite-autocomplete.directive.mjs +0 -65
- package/esm2022/lib/components/infinitescroll/elder-infinite-scroll.directive.mjs +0 -166
- package/esm2022/lib/components/infinitescroll/elder-infinite-scroll.module.mjs +0 -20
- package/esm2022/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete-option-selected.mjs +0 -9
- package/esm2022/lib/components/input/autocomplete/elder-autocomplete/elder-suggestion-panel.component.mjs +0 -233
- package/esm2022/lib/components/input/autocomplete/elder-autocomplete-many.directive.mjs +0 -202
- package/esm2022/lib/components/input/autocomplete/elder-autocomplete.directive.mjs +0 -120
- package/esm2022/lib/components/input/autocomplete/elder-autocomplete.module.mjs +0 -61
- package/esm2022/lib/components/input/autocomplete/many/word-position-finder.mjs +0 -58
- package/esm2022/lib/components/input/public_api.mjs +0 -2
- package/esm2022/lib/components/labels/elder-labels.module.mjs +0 -50
- package/esm2022/lib/components/labels/labels-input/labels-input.component.mjs +0 -239
- package/esm2022/lib/components/measures/dimensions/dimensions-input/elder-dimensions-input.component.mjs +0 -268
- package/esm2022/lib/components/measures/dimensions/validation/elder-required-dimensions.validator.mjs +0 -92
- package/esm2022/lib/components/measures/directives/elder-unit-select.directive.mjs +0 -65
- package/esm2022/lib/components/measures/elder-measures.module.mjs +0 -130
- package/esm2022/lib/components/measures/elder-quantity-transform.pipe.mjs +0 -31
- package/esm2022/lib/components/measures/elder-quantity.pipe.mjs +0 -43
- package/esm2022/lib/components/measures/elder-unit.service.mjs +0 -113
- package/esm2022/lib/components/measures/model/dimensions.mjs +0 -17
- package/esm2022/lib/components/measures/model/quantity.mjs +0 -12
- package/esm2022/lib/components/measures/model/unit-dimension.mjs +0 -14
- package/esm2022/lib/components/measures/model/unit-registry.mjs +0 -81
- package/esm2022/lib/components/measures/model/unit.mjs +0 -143
- package/esm2022/lib/components/measures/public_api.mjs +0 -8
- package/esm2022/lib/components/measures/quantity-input/quantity-form-field/elder-quantity-form-field.component.mjs +0 -44
- package/esm2022/lib/components/measures/quantity-input/quantity-input-control/elder-quantity-input-control.component.mjs +0 -173
- package/esm2022/lib/components/measures/quantity-input/validation/elder-quantity-range.validator.mjs +0 -84
- package/esm2022/lib/components/measures/quantity-input/validation/elder-required-quantity.validator.mjs +0 -73
- package/esm2022/lib/components/measures/util/elder-quantity.service.mjs +0 -341
- package/esm2022/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.mjs +0 -184
- package/esm2022/lib/components/navigation/bread-crumbs/elder-bread-crumbs.module.mjs +0 -59
- package/esm2022/lib/components/navigation/bread-crumbs/path/path.mjs +0 -37
- package/esm2022/lib/components/navigation/nav/elder-nav.module.mjs +0 -60
- package/esm2022/lib/components/navigation/nav/nav-group/elder-nav-group.component.mjs +0 -121
- package/esm2022/lib/components/navigation/nav/nav-link/elder-nav-link.component.mjs +0 -174
- package/esm2022/lib/components/navigation/nav/nav-list/elder-nav-list.component.mjs +0 -68
- package/esm2022/lib/components/navigation/public_api.mjs +0 -4
- package/esm2022/lib/components/navigation/toolbar/elder-toolbar-column.directive.mjs +0 -48
- package/esm2022/lib/components/navigation/toolbar/elder-toolbar.module.mjs +0 -83
- package/esm2022/lib/components/navigation/toolbar/elder-toolbar.service.mjs +0 -68
- package/esm2022/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.mjs +0 -71
- package/esm2022/lib/components/navigation/toolbar/toolbar-column-position.mjs +0 -2
- package/esm2022/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.mjs +0 -39
- package/esm2022/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.service.mjs +0 -86
- package/esm2022/lib/components/overlays/elder-overlay-origin.directive.mjs +0 -44
- package/esm2022/lib/components/overlays/elder-overlay-ref.mjs +0 -41
- package/esm2022/lib/components/overlays/elder-overlay-trigger.directive.mjs +0 -73
- package/esm2022/lib/components/overlays/elder-overlay.component.mjs +0 -232
- package/esm2022/lib/components/overlays/elder-overlay.module.mjs +0 -35
- package/esm2022/lib/components/page/exit-guard/page-exit-guard.module.mjs +0 -20
- package/esm2022/lib/components/page/exit-guard/page-exit-guard.service.mjs +0 -129
- package/esm2022/lib/components/page/exit-guard/page-exit-lock/page-exit-lock.component.mjs +0 -25
- package/esm2022/lib/components/page/exit-guard/page-exit-lock-indicator/page-exit-lock-indicator.component.mjs +0 -29
- package/esm2022/lib/components/page/exit-guard/page-exit-lock-overview/page-exit-lock-overview.component.mjs +0 -26
- package/esm2022/lib/components/page/public_api.mjs +0 -2
- package/esm2022/lib/components/panels/card-panel/elder-card-panel.component.mjs +0 -12
- package/esm2022/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.mjs +0 -12
- package/esm2022/lib/components/panels/elder-panel.module.mjs +0 -60
- package/esm2022/lib/components/panels/flat/elder-panel.component.mjs +0 -26
- package/esm2022/lib/components/panels/toggle-panel/elder-toggle-panel-trigger.directive.mjs +0 -70
- package/esm2022/lib/components/panels/toggle-panel/elder-toggle-panel.component.mjs +0 -74
- package/esm2022/lib/components/public_api.mjs +0 -43
- package/esm2022/lib/components/scrollbar/elder-scrollbar.directive.mjs +0 -63
- package/esm2022/lib/components/scrollbar/elder-scrollbar.module.mjs +0 -17
- package/esm2022/lib/components/select/auto/elder-auto-select-first.directive.mjs +0 -95
- package/esm2022/lib/components/select/auto/elder-auto-select-first.service.mjs +0 -38
- package/esm2022/lib/components/select/auto/elder-auto-select-suggest-first.directive.mjs +0 -64
- package/esm2022/lib/components/select/auto/elder-select-first-util.mjs +0 -55
- package/esm2022/lib/components/select/elder-select-base.mjs +0 -333
- package/esm2022/lib/components/select/elder-select-chip.directive.mjs +0 -48
- package/esm2022/lib/components/select/elder-select-on-tab.directive.mjs +0 -139
- package/esm2022/lib/components/select/elder-select-value.directive.mjs +0 -18
- package/esm2022/lib/components/select/elder-select.module.mjs +0 -229
- package/esm2022/lib/components/select/filter/elder-chip-filter-style-resolver.mjs +0 -74
- package/esm2022/lib/components/select/filter/elder-chips-include-exclude.directive.mjs +0 -148
- package/esm2022/lib/components/select/filter/elder-filter-chip-template/elder-filter-chip-template.component.mjs +0 -51
- package/esm2022/lib/components/select/filter/include-exclude-model-filter-adapter.mjs +0 -61
- package/esm2022/lib/components/select/filter/include-exclude-selection-model.mjs +0 -160
- package/esm2022/lib/components/select/multi/elder-chip-select-option/elder-select-option.component.mjs +0 -16
- package/esm2022/lib/components/select/multi/elder-multi-select-base.mjs +0 -386
- package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/chip-options-provider.mjs +0 -87
- package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/elder-multi-select-chip-options.component.mjs +0 -263
- package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/select-option-chip-spec.mjs +0 -15
- package/esm2022/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.mjs +0 -274
- package/esm2022/lib/components/select/multi/elder-multi-select-chips/select-chip-spec.mjs +0 -15
- package/esm2022/lib/components/select/multi/elder-multi-select-form-field.mjs +0 -86
- package/esm2022/lib/components/select/multi/elder-mutli-select-all-directive.mjs +0 -34
- package/esm2022/lib/components/select/multi/elder-search-include-exclude.directive.mjs +0 -146
- package/esm2022/lib/components/select/multi/public_api.mjs +0 -5
- package/esm2022/lib/components/select/popup/selection-model-popup-trigger-adapter.directive.mjs +0 -89
- package/esm2022/lib/components/select/popup/selection-model-popup.directive.mjs +0 -126
- package/esm2022/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.mjs +0 -58
- package/esm2022/lib/components/select/public_api.mjs +0 -5
- package/esm2022/lib/components/select/single/elder-clear-select.directive.mjs +0 -60
- package/esm2022/lib/components/select/single/elder-select/elder-select.component.mjs +0 -444
- package/esm2022/lib/components/select/single/elder-select-form-field.mjs +0 -45
- package/esm2022/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.mjs +0 -148
- package/esm2022/lib/components/select-chip-list/elder-chip-list-select.module.mjs +0 -46
- package/esm2022/lib/components/shell/drawers/drawer-outlet-binding.mjs +0 -64
- package/esm2022/lib/components/shell/drawers/elder-route-outlet-drawer.service.mjs +0 -119
- package/esm2022/lib/components/shell/drawers/elder-router-outlet.service.mjs +0 -128
- package/esm2022/lib/components/shell/elder-shell-slot.directive.mjs +0 -47
- package/esm2022/lib/components/shell/elder-shell.module.mjs +0 -101
- package/esm2022/lib/components/shell/elder-shell.service.mjs +0 -142
- package/esm2022/lib/components/shell/header/elder-app-header/elder-app-header.component.mjs +0 -75
- package/esm2022/lib/components/shell/shell/elder-shell.component.mjs +0 -238
- package/esm2022/lib/components/shell/shell-content-slot.mjs +0 -2
- package/esm2022/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.mjs +0 -137
- package/esm2022/lib/components/tabs/elder-tab/elder-tab.directive.mjs +0 -26
- package/esm2022/lib/components/tabs/elder-tab-group-routing/elder-tab-group-routing.directive.mjs +0 -257
- package/esm2022/lib/components/tabs/elder-tab.module.mjs +0 -21
- package/esm2022/lib/components/theme/elder-theme-applier.directive.mjs +0 -62
- package/esm2022/lib/components/theme/elder-theme-preference.service.mjs +0 -73
- package/esm2022/lib/components/theme/elder-theme-toggle/elder-theme-toggle.component.mjs +0 -74
- package/esm2022/lib/components/theme/elder-theme.directive.mjs +0 -64
- package/esm2022/lib/components/theme/elder-theme.module.mjs +0 -68
- package/esm2022/lib/components/theme/elder-theme.service.mjs +0 -121
- package/esm2022/lib/components/theme/known-elder-themes.mjs +0 -6
- package/esm2022/lib/components/theme/public_api.mjs +0 -2
- package/esm2022/lib/components/theme/theme-spec.mjs +0 -11
- package/esm2022/lib/components/time/date-adapters/custom-date-adapter.mjs +0 -43
- package/esm2022/lib/components/time/date-formats/locale-date-formats.mjs +0 -28
- package/esm2022/lib/components/time/duration/duration-bucket.mjs +0 -68
- package/esm2022/lib/components/time/duration/duration-format.mjs +0 -271
- package/esm2022/lib/components/time/duration/elder-duration-input/elder-duration-input.component.mjs +0 -110
- package/esm2022/lib/components/time/duration/iso-duration-str.mjs +0 -2
- package/esm2022/lib/components/time/elder-date-switcher/elder-date-switcher.component.mjs +0 -96
- package/esm2022/lib/components/time/elder-date-time-input/elder-date-time-input.component.mjs +0 -98
- package/esm2022/lib/components/time/elder-interval-input/elder-interval-input.component.mjs +0 -217
- package/esm2022/lib/components/time/elder-interval-picker/controller/interval-anchor-controller.mjs +0 -21
- package/esm2022/lib/components/time/elder-interval-picker/controller/interval-calendar-controller.mjs +0 -24
- package/esm2022/lib/components/time/elder-interval-picker/controller/interval-controller.mjs +0 -43
- package/esm2022/lib/components/time/elder-interval-picker/controller/interval-form-controller.mjs +0 -69
- package/esm2022/lib/components/time/elder-interval-picker/controller/interval-select-controller.mjs +0 -117
- package/esm2022/lib/components/time/elder-interval-picker/controller/interval-shift-controller.mjs +0 -44
- package/esm2022/lib/components/time/elder-interval-picker/elder-interval-picker.component.mjs +0 -198
- package/esm2022/lib/components/time/elder-interval-picker/interval-picker-binding/elder-interval-picker-binding.directive.mjs +0 -41
- package/esm2022/lib/components/time/elder-interval-picker/interval-picker-toggle/elder-interval-picker-toggle.component.mjs +0 -144
- package/esm2022/lib/components/time/elder-interval-picker/manager/interval-picker-state-manager.mjs +0 -93
- package/esm2022/lib/components/time/elder-interval-picker/model/anchor-state.mjs +0 -54
- package/esm2022/lib/components/time/elder-interval-picker/model/interval-state.mjs +0 -37
- package/esm2022/lib/components/time/elder-interval-picker/model/smart-shift-state.mjs +0 -10
- package/esm2022/lib/components/time/elder-interval-picker/presenter/interval-picker-presenter.mjs +0 -96
- package/esm2022/lib/components/time/elder-interval-picker/util/interval-picker-util.mjs +0 -194
- package/esm2022/lib/components/time/elder-local-date-input/elder-local-date-input.component.mjs +0 -268
- package/esm2022/lib/components/time/elder-local-time-input/elder-local-time-input.component.mjs +0 -85
- package/esm2022/lib/components/time/elder-time.module.mjs +0 -154
- package/esm2022/lib/components/time/period/elder-period-input/elder-period-input.component.mjs +0 -118
- package/esm2022/lib/components/time/period/period-bucket.mjs +0 -31
- package/esm2022/lib/components/time/period/period-format.mjs +0 -89
- package/esm2022/lib/components/time/pipes/to-iso-date-string.pipe.mjs +0 -39
- package/esm2022/lib/components/time/public_api.mjs +0 -8
- package/esm2022/lib/components/toasts/elder-toast.module.mjs +0 -36
- package/esm2022/lib/components/toasts/elder-toast.service.mjs +0 -170
- package/esm2022/lib/components/toasts/standard-toast/standard-toast.component.mjs +0 -80
- package/esm2022/lib/components/toasts/toast-type.mjs +0 -7
- package/esm2022/lib/components/toasts/toast.mjs +0 -2
- package/esm2022/lib/components/url-fragment/elder-url-fragment.mjs +0 -9
- package/esm2022/lib/components/url-fragment/elder-url-fragment.module.mjs +0 -52
- package/esm2022/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.mjs +0 -95
- package/esm2022/lib/components/viewers/elder-svg-viewer/elder-svg-viewer.component.mjs +0 -64
- package/esm2022/lib/components/viewers/elder-viewers.module.mjs +0 -18
- package/esm2022/lib/features/event-source/fetch/public_api.mjs +0 -3
- package/esm2022/lib/features/event-source/fetch/reactive-fetch-event-source.mjs +0 -219
- package/esm2022/lib/features/event-source/fetch/reactive-fetch-event-source.service.mjs +0 -53
- package/esm2022/lib/features/event-source/public_api.mjs +0 -3
- package/esm2022/lib/features/event-source/standard/elder-event-source.service.mjs +0 -56
- package/esm2022/lib/features/event-source/standard/public_api.mjs +0 -3
- package/esm2022/lib/features/event-source/standard/reactive-event-source.mjs +0 -199
- package/esm2022/lib/features/kafent/access-token-provider.mjs +0 -20
- package/esm2022/lib/features/kafent/kafent-config.mjs +0 -24
- package/esm2022/lib/features/kafent/kafent-event-stream.mjs +0 -25
- package/esm2022/lib/features/kafent/kafent-event.mjs +0 -3
- package/esm2022/lib/features/kafent/kafent-event.service.mjs +0 -115
- package/esm2022/lib/features/kafent/kafent-live-event-request.mjs +0 -2
- package/esm2022/lib/features/kafent/kafent.module.mjs +0 -58
- package/esm2022/lib/features/kafent/sse/kafent-event-stream-sse.service.mjs +0 -131
- package/esm2022/lib/features/kafent/sse/kafent-topic-sse.mjs +0 -97
- package/esm2022/lib/features/public_api.mjs +0 -3
- package/esm2022/lib/pipes/bytes.pipe.mjs +0 -27
- package/esm2022/lib/pipes/elder-pipes.module.mjs +0 -114
- package/esm2022/lib/pipes/elder-repeat.pipe.mjs +0 -24
- package/esm2022/lib/pipes/elder-round.pipe.mjs +0 -36
- package/esm2022/lib/pipes/elder-safe-url.pipe.mjs +0 -21
- package/esm2022/lib/pipes/elder-truncate.pipe.mjs +0 -41
- package/esm2022/lib/pipes/iso-duration.pipe.mjs +0 -41
- package/esm2022/lib/pipes/iso-interval-parse.pipe.mjs +0 -49
- package/esm2022/lib/pipes/iso-interval.pipe.mjs +0 -62
- package/esm2022/lib/pipes/public_api.mjs +0 -2
- package/esm2022/lib/pipes/time-ago.pipe.mjs +0 -110
- package/esm2022/lib/pipes/time-duration.pipe.mjs +0 -101
- package/esm2022/lib/pipes/weight.pipe.mjs +0 -60
- package/esm2022/public_api.mjs +0 -8
- package/lib/components/panels/flat/elder-panel.component.d.ts +0 -15
- package/src/lib/components/panels/flat/elder-panel.component.scss +0 -3
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { BehaviorSubject } from 'rxjs';
|
|
3
|
-
import { UrlQueryParams } from './url-query-params';
|
|
4
|
-
import { LoggerFactory } from '@elderbyte/ts-logger';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/router";
|
|
7
|
-
/**
|
|
8
|
-
* Manages bidirectional binding of
|
|
9
|
-
* query params within the current URL fragment.
|
|
10
|
-
*/
|
|
11
|
-
export class ElderUrlFragmentParamsService {
|
|
12
|
-
/***************************************************************************
|
|
13
|
-
* *
|
|
14
|
-
* Constructor *
|
|
15
|
-
* *
|
|
16
|
-
**************************************************************************/
|
|
17
|
-
constructor(router, activatedRoute) {
|
|
18
|
-
this.router = router;
|
|
19
|
-
this.activatedRoute = activatedRoute;
|
|
20
|
-
/***************************************************************************
|
|
21
|
-
* *
|
|
22
|
-
* Fields *
|
|
23
|
-
* *
|
|
24
|
-
**************************************************************************/
|
|
25
|
-
this._log = LoggerFactory.getLogger(this.constructor.name);
|
|
26
|
-
this._queryParams$ = new BehaviorSubject(UrlQueryParams.empty());
|
|
27
|
-
this.activatedRoute.fragment.subscribe((fragment) => {
|
|
28
|
-
const params = this.parseQueryParams(fragment);
|
|
29
|
-
this.updateModel(params);
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
/***************************************************************************
|
|
33
|
-
* *
|
|
34
|
-
* Properties *
|
|
35
|
-
* *
|
|
36
|
-
**************************************************************************/
|
|
37
|
-
get params$() {
|
|
38
|
-
return this._queryParams$.asObservable();
|
|
39
|
-
}
|
|
40
|
-
get params() {
|
|
41
|
-
return new UrlQueryParams(this._queryParams$.getValue());
|
|
42
|
-
}
|
|
43
|
-
/***************************************************************************
|
|
44
|
-
* *
|
|
45
|
-
* Public API *
|
|
46
|
-
* *
|
|
47
|
-
**************************************************************************/
|
|
48
|
-
/**
|
|
49
|
-
* Replaces all current params with the given ones.
|
|
50
|
-
*/
|
|
51
|
-
setParams(params) {
|
|
52
|
-
// Create new instance to trigger change detection on subscribers.
|
|
53
|
-
const updated = new UrlQueryParams(params);
|
|
54
|
-
this.setCurrentParams(updated);
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Updates the current params with the given ones, effectively
|
|
58
|
-
* resulting in a merge.
|
|
59
|
-
*/
|
|
60
|
-
updateParams(params) {
|
|
61
|
-
// Create new instance to trigger change detection on subscribers.
|
|
62
|
-
const updated = this.params;
|
|
63
|
-
updated.setAll(params.getAll());
|
|
64
|
-
this.setCurrentParams(updated);
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* Clears all current params.
|
|
68
|
-
*/
|
|
69
|
-
clearParams() {
|
|
70
|
-
this.setCurrentParams(UrlQueryParams.empty());
|
|
71
|
-
}
|
|
72
|
-
/***************************************************************************
|
|
73
|
-
* *
|
|
74
|
-
* Private Methods *
|
|
75
|
-
* *
|
|
76
|
-
**************************************************************************/
|
|
77
|
-
setCurrentParams(params) {
|
|
78
|
-
this.updateModel(params);
|
|
79
|
-
this.updateFragment(params);
|
|
80
|
-
}
|
|
81
|
-
updateModel(params) {
|
|
82
|
-
this._queryParams$.next(params);
|
|
83
|
-
}
|
|
84
|
-
updateFragment(queryParams) {
|
|
85
|
-
const queryParamsStr = queryParams.toString();
|
|
86
|
-
// Since both URLSearchParams.toString and angular router.navigate use encodeURIComponent
|
|
87
|
-
// we need to decode the component to avoid duplicate encoding.
|
|
88
|
-
const fragmentStr = decodeURIComponent(queryParamsStr);
|
|
89
|
-
this.replaceUrlFragment(fragmentStr);
|
|
90
|
-
}
|
|
91
|
-
replaceUrlFragment(fragment) {
|
|
92
|
-
this._log.trace('Replacing URL fragment with: ' + fragment);
|
|
93
|
-
this.router.navigate([], {
|
|
94
|
-
fragment: decodeURIComponent(fragment),
|
|
95
|
-
replaceUrl: true, // if true, won't add a new browser history entry
|
|
96
|
-
queryParamsHandling: 'merge',
|
|
97
|
-
});
|
|
98
|
-
}
|
|
99
|
-
parseQueryParams(queryParamsStr) {
|
|
100
|
-
// avoids invalid search params
|
|
101
|
-
if (queryParamsStr) {
|
|
102
|
-
return new UrlQueryParams(queryParamsStr);
|
|
103
|
-
}
|
|
104
|
-
else {
|
|
105
|
-
return new UrlQueryParams();
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderUrlFragmentParamsService, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
109
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderUrlFragmentParamsService, providedIn: 'root' }); }
|
|
110
|
-
}
|
|
111
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderUrlFragmentParamsService, decorators: [{
|
|
112
|
-
type: Injectable,
|
|
113
|
-
args: [{
|
|
114
|
-
providedIn: 'root',
|
|
115
|
-
}]
|
|
116
|
-
}], ctorParameters: () => [{ type: i1.Router }, { type: i1.ActivatedRoute }] });
|
|
117
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItdXJsLWZyYWdtZW50LXBhcmFtcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tbW9uL3VybC9lbGRlci11cmwtZnJhZ21lbnQtcGFyYW1zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFBO0FBRWxELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7OztBQUVwRDs7O0dBR0c7QUFJSCxNQUFNLE9BQU8sNkJBQTZCO0lBV3hDOzs7O2dGQUk0RTtJQUU1RSxZQUNVLE1BQWMsRUFDZCxjQUE4QjtRQUQ5QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBbEJ4Qzs7OztvRkFJNEU7UUFFM0QsU0FBSSxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUVyRCxrQkFBYSxHQUFHLElBQUksZUFBZSxDQUFpQixjQUFjLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQTtRQVkxRixJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUNsRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUE7WUFDOUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUMxQixDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFNUUsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsQ0FBQTtJQUMxQyxDQUFDO0lBRUQsSUFBVyxNQUFNO1FBQ2YsT0FBTyxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUE7SUFDMUQsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUU1RTs7T0FFRztJQUNJLFNBQVMsQ0FBQyxNQUFzQjtRQUNyQyxrRUFBa0U7UUFDbEUsTUFBTSxPQUFPLEdBQUcsSUFBSSxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDMUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ2hDLENBQUM7SUFFRDs7O09BR0c7SUFDSSxZQUFZLENBQUMsTUFBc0I7UUFDeEMsa0VBQWtFO1FBQ2xFLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUE7UUFDM0IsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQTtRQUMvQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDaEMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksV0FBVztRQUNoQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUE7SUFDL0MsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVwRSxnQkFBZ0IsQ0FBQyxNQUFzQjtRQUM3QyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQ3hCLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDN0IsQ0FBQztJQUVPLFdBQVcsQ0FBQyxNQUFzQjtRQUN4QyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUNqQyxDQUFDO0lBRU8sY0FBYyxDQUFDLFdBQTJCO1FBQ2hELE1BQU0sY0FBYyxHQUFHLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQTtRQUU3Qyx5RkFBeUY7UUFDekYsK0RBQStEO1FBQy9ELE1BQU0sV0FBVyxHQUFHLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxDQUFBO1FBQ3RELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsQ0FBQTtJQUN0QyxDQUFDO0lBRU8sa0JBQWtCLENBQUMsUUFBZ0I7UUFDekMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsK0JBQStCLEdBQUcsUUFBUSxDQUFDLENBQUE7UUFDM0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFO1lBQ3ZCLFFBQVEsRUFBRSxrQkFBa0IsQ0FBQyxRQUFRLENBQUM7WUFDdEMsVUFBVSxFQUFFLElBQUksRUFBRSxpREFBaUQ7WUFDbkUsbUJBQW1CLEVBQUUsT0FBTztTQUM3QixDQUFDLENBQUE7SUFDSixDQUFDO0lBRU8sZ0JBQWdCLENBQUMsY0FBc0I7UUFDN0MsK0JBQStCO1FBQy9CLElBQUksY0FBYyxFQUFFLENBQUM7WUFDbkIsT0FBTyxJQUFJLGNBQWMsQ0FBQyxjQUFjLENBQUMsQ0FBQTtRQUMzQyxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sSUFBSSxjQUFjLEVBQUUsQ0FBQTtRQUM3QixDQUFDO0lBQ0gsQ0FBQzsrR0FsSFUsNkJBQTZCO21IQUE3Qiw2QkFBNkIsY0FGNUIsTUFBTTs7NEZBRVAsNkJBQTZCO2tCQUh6QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInXG5pbXBvcnQgeyBVcmxRdWVyeVBhcmFtcyB9IGZyb20gJy4vdXJsLXF1ZXJ5LXBhcmFtcydcbmltcG9ydCB7IExvZ2dlckZhY3RvcnkgfSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcidcblxuLyoqXG4gKiBNYW5hZ2VzIGJpZGlyZWN0aW9uYWwgYmluZGluZyBvZlxuICogcXVlcnkgcGFyYW1zIHdpdGhpbiB0aGUgY3VycmVudCBVUkwgZnJhZ21lbnQuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBFbGRlclVybEZyYWdtZW50UGFyYW1zU2VydmljZSB7XG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2xvZyA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSlcblxuICBwcml2YXRlIHJlYWRvbmx5IF9xdWVyeVBhcmFtcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFVybFF1ZXJ5UGFyYW1zPihVcmxRdWVyeVBhcmFtcy5lbXB0eSgpKVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGVcbiAgKSB7XG4gICAgdGhpcy5hY3RpdmF0ZWRSb3V0ZS5mcmFnbWVudC5zdWJzY3JpYmUoKGZyYWdtZW50KSA9PiB7XG4gICAgICBjb25zdCBwYXJhbXMgPSB0aGlzLnBhcnNlUXVlcnlQYXJhbXMoZnJhZ21lbnQpXG4gICAgICB0aGlzLnVwZGF0ZU1vZGVsKHBhcmFtcylcbiAgICB9KVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGdldCBwYXJhbXMkKCk6IE9ic2VydmFibGU8VXJsUXVlcnlQYXJhbXM+IHtcbiAgICByZXR1cm4gdGhpcy5fcXVlcnlQYXJhbXMkLmFzT2JzZXJ2YWJsZSgpXG4gIH1cblxuICBwdWJsaWMgZ2V0IHBhcmFtcygpOiBVcmxRdWVyeVBhcmFtcyB7XG4gICAgcmV0dXJuIG5ldyBVcmxRdWVyeVBhcmFtcyh0aGlzLl9xdWVyeVBhcmFtcyQuZ2V0VmFsdWUoKSlcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIC8qKlxuICAgKiBSZXBsYWNlcyBhbGwgY3VycmVudCBwYXJhbXMgd2l0aCB0aGUgZ2l2ZW4gb25lcy5cbiAgICovXG4gIHB1YmxpYyBzZXRQYXJhbXMocGFyYW1zOiBVcmxRdWVyeVBhcmFtcyk6IHZvaWQge1xuICAgIC8vIENyZWF0ZSBuZXcgaW5zdGFuY2UgdG8gdHJpZ2dlciBjaGFuZ2UgZGV0ZWN0aW9uIG9uIHN1YnNjcmliZXJzLlxuICAgIGNvbnN0IHVwZGF0ZWQgPSBuZXcgVXJsUXVlcnlQYXJhbXMocGFyYW1zKVxuICAgIHRoaXMuc2V0Q3VycmVudFBhcmFtcyh1cGRhdGVkKVxuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZXMgdGhlIGN1cnJlbnQgcGFyYW1zIHdpdGggdGhlIGdpdmVuIG9uZXMsIGVmZmVjdGl2ZWx5XG4gICAqIHJlc3VsdGluZyBpbiBhIG1lcmdlLlxuICAgKi9cbiAgcHVibGljIHVwZGF0ZVBhcmFtcyhwYXJhbXM6IFVybFF1ZXJ5UGFyYW1zKTogdm9pZCB7XG4gICAgLy8gQ3JlYXRlIG5ldyBpbnN0YW5jZSB0byB0cmlnZ2VyIGNoYW5nZSBkZXRlY3Rpb24gb24gc3Vic2NyaWJlcnMuXG4gICAgY29uc3QgdXBkYXRlZCA9IHRoaXMucGFyYW1zXG4gICAgdXBkYXRlZC5zZXRBbGwocGFyYW1zLmdldEFsbCgpKVxuICAgIHRoaXMuc2V0Q3VycmVudFBhcmFtcyh1cGRhdGVkKVxuICB9XG5cbiAgLyoqXG4gICAqIENsZWFycyBhbGwgY3VycmVudCBwYXJhbXMuXG4gICAqL1xuICBwdWJsaWMgY2xlYXJQYXJhbXMoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRDdXJyZW50UGFyYW1zKFVybFF1ZXJ5UGFyYW1zLmVtcHR5KCkpXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBNZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHNldEN1cnJlbnRQYXJhbXMocGFyYW1zOiBVcmxRdWVyeVBhcmFtcyk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlTW9kZWwocGFyYW1zKVxuICAgIHRoaXMudXBkYXRlRnJhZ21lbnQocGFyYW1zKVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVNb2RlbChwYXJhbXM6IFVybFF1ZXJ5UGFyYW1zKTogdm9pZCB7XG4gICAgdGhpcy5fcXVlcnlQYXJhbXMkLm5leHQocGFyYW1zKVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVGcmFnbWVudChxdWVyeVBhcmFtczogVXJsUXVlcnlQYXJhbXMpOiB2b2lkIHtcbiAgICBjb25zdCBxdWVyeVBhcmFtc1N0ciA9IHF1ZXJ5UGFyYW1zLnRvU3RyaW5nKClcblxuICAgIC8vIFNpbmNlIGJvdGggVVJMU2VhcmNoUGFyYW1zLnRvU3RyaW5nIGFuZCBhbmd1bGFyIHJvdXRlci5uYXZpZ2F0ZSB1c2UgZW5jb2RlVVJJQ29tcG9uZW50XG4gICAgLy8gd2UgbmVlZCB0byBkZWNvZGUgdGhlIGNvbXBvbmVudCB0byBhdm9pZCBkdXBsaWNhdGUgZW5jb2RpbmcuXG4gICAgY29uc3QgZnJhZ21lbnRTdHIgPSBkZWNvZGVVUklDb21wb25lbnQocXVlcnlQYXJhbXNTdHIpXG4gICAgdGhpcy5yZXBsYWNlVXJsRnJhZ21lbnQoZnJhZ21lbnRTdHIpXG4gIH1cblxuICBwcml2YXRlIHJlcGxhY2VVcmxGcmFnbWVudChmcmFnbWVudDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5fbG9nLnRyYWNlKCdSZXBsYWNpbmcgVVJMIGZyYWdtZW50IHdpdGg6ICcgKyBmcmFnbWVudClcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXSwge1xuICAgICAgZnJhZ21lbnQ6IGRlY29kZVVSSUNvbXBvbmVudChmcmFnbWVudCksXG4gICAgICByZXBsYWNlVXJsOiB0cnVlLCAvLyBpZiB0cnVlLCB3b24ndCBhZGQgYSBuZXcgYnJvd3NlciBoaXN0b3J5IGVudHJ5XG4gICAgICBxdWVyeVBhcmFtc0hhbmRsaW5nOiAnbWVyZ2UnLFxuICAgIH0pXG4gIH1cblxuICBwcml2YXRlIHBhcnNlUXVlcnlQYXJhbXMocXVlcnlQYXJhbXNTdHI6IHN0cmluZyk6IFVybFF1ZXJ5UGFyYW1zIHtcbiAgICAvLyBhdm9pZHMgaW52YWxpZCBzZWFyY2ggcGFyYW1zXG4gICAgaWYgKHF1ZXJ5UGFyYW1zU3RyKSB7XG4gICAgICByZXR1cm4gbmV3IFVybFF1ZXJ5UGFyYW1zKHF1ZXJ5UGFyYW1zU3RyKVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbmV3IFVybFF1ZXJ5UGFyYW1zKClcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export * from './url-query-params';
|
|
2
|
-
export * from './elder-url-fragment-params.service';
|
|
3
|
-
export * from './elder-router.service';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi91cmwvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9CQUFvQixDQUFBO0FBQ2xDLGNBQWMscUNBQXFDLENBQUE7QUFDbkQsY0FBYyx3QkFBd0IsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vdXJsLXF1ZXJ5LXBhcmFtcydcbmV4cG9ydCAqIGZyb20gJy4vZWxkZXItdXJsLWZyYWdtZW50LXBhcmFtcy5zZXJ2aWNlJ1xuZXhwb3J0ICogZnJvbSAnLi9lbGRlci1yb3V0ZXIuc2VydmljZSdcbiJdfQ==
|
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Utility class for handling query params.
|
|
3
|
-
*/
|
|
4
|
-
export class UrlQueryParams {
|
|
5
|
-
/***************************************************************************
|
|
6
|
-
* *
|
|
7
|
-
* Static *
|
|
8
|
-
* *
|
|
9
|
-
**************************************************************************/
|
|
10
|
-
/**
|
|
11
|
-
* Creates a new empty UrlQueryParams object.
|
|
12
|
-
*/
|
|
13
|
-
static empty() {
|
|
14
|
-
return new UrlQueryParams();
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Parses the given string into a UrlQueryParams object.
|
|
18
|
-
*/
|
|
19
|
-
static parse(queryParamsStr) {
|
|
20
|
-
return new UrlQueryParams(queryParamsStr);
|
|
21
|
-
}
|
|
22
|
-
/***************************************************************************
|
|
23
|
-
* *
|
|
24
|
-
* Constructor *
|
|
25
|
-
* *
|
|
26
|
-
**************************************************************************/
|
|
27
|
-
constructor(init) {
|
|
28
|
-
if (init instanceof UrlQueryParams) {
|
|
29
|
-
this._searchParams = new URLSearchParams(init.toString());
|
|
30
|
-
}
|
|
31
|
-
else {
|
|
32
|
-
this._searchParams = new URLSearchParams(init);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
/***************************************************************************
|
|
36
|
-
* *
|
|
37
|
-
* Public API *
|
|
38
|
-
* *
|
|
39
|
-
**************************************************************************/
|
|
40
|
-
/**
|
|
41
|
-
* Appends a new query parameter with the given key / value,
|
|
42
|
-
* regardless if the same parameter is already present.
|
|
43
|
-
*/
|
|
44
|
-
append(key, value) {
|
|
45
|
-
this._searchParams.append(key, value);
|
|
46
|
-
return this;
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Appends each of the given parameters as new query parameter,
|
|
50
|
-
* regardless if the same parameter is already present.
|
|
51
|
-
*/
|
|
52
|
-
appendAll(params) {
|
|
53
|
-
params.forEach((value, key) => this.append(key, value));
|
|
54
|
-
return this;
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Removes the given query parameter if present.
|
|
58
|
-
*/
|
|
59
|
-
remove(key) {
|
|
60
|
-
this._searchParams.delete(key);
|
|
61
|
-
return this;
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Removes all given query parameters if present.
|
|
65
|
-
*/
|
|
66
|
-
removeAll(keys) {
|
|
67
|
-
keys.forEach((key) => this.remove(key));
|
|
68
|
-
return this;
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* Updates the given query parameter with the given new value.
|
|
72
|
-
* If multiple with the same key exists, they will be removed.
|
|
73
|
-
* If the key does not exist, the query param will be added.
|
|
74
|
-
*/
|
|
75
|
-
set(key, value) {
|
|
76
|
-
this._searchParams.set(key, value);
|
|
77
|
-
return this;
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* Updates each parameter with the given value.
|
|
81
|
-
* Each entry will be added using the set(key, value) logic.
|
|
82
|
-
*/
|
|
83
|
-
setAll(params) {
|
|
84
|
-
params.forEach((value, key) => this.set(key, value));
|
|
85
|
-
return this;
|
|
86
|
-
}
|
|
87
|
-
/**
|
|
88
|
-
* Returns true if a query parameter with the given key exists.
|
|
89
|
-
*/
|
|
90
|
-
has(key) {
|
|
91
|
-
return this._searchParams.has(key);
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* Returns the first value of the associated query param.
|
|
95
|
-
*/
|
|
96
|
-
get(key) {
|
|
97
|
-
return this._searchParams.get(key);
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* Returns all values of the associated query params.
|
|
101
|
-
*/
|
|
102
|
-
getAllOf(key) {
|
|
103
|
-
return this._searchParams.getAll(key);
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* Returns a map with all key-value pairs.
|
|
107
|
-
*/
|
|
108
|
-
getAll() {
|
|
109
|
-
const paramsMap = new Map();
|
|
110
|
-
this._searchParams.forEach((value, key) => paramsMap.set(key, value));
|
|
111
|
-
return paramsMap;
|
|
112
|
-
}
|
|
113
|
-
/**
|
|
114
|
-
* Returns true only if there are any query parameters present.
|
|
115
|
-
*/
|
|
116
|
-
hasParams() {
|
|
117
|
-
return !this.isEmpty();
|
|
118
|
-
}
|
|
119
|
-
/**
|
|
120
|
-
* Return true only if there are no query parameters present.
|
|
121
|
-
*/
|
|
122
|
-
isEmpty() {
|
|
123
|
-
return this.getAll().size === 0;
|
|
124
|
-
}
|
|
125
|
-
/**
|
|
126
|
-
* Returns a string containing all query parameters in URL conform fashion.
|
|
127
|
-
* (Returns an empty string if no query parameters have been set).
|
|
128
|
-
*/
|
|
129
|
-
toString() {
|
|
130
|
-
return this._searchParams.toString();
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJsLXF1ZXJ5LXBhcmFtcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi91cmwvdXJsLXF1ZXJ5LXBhcmFtcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sT0FBTyxjQUFjO0lBWXpCOzs7O2dGQUk0RTtJQUU1RTs7T0FFRztJQUNJLE1BQU0sQ0FBQyxLQUFLO1FBQ2pCLE9BQU8sSUFBSSxjQUFjLEVBQUUsQ0FBQTtJQUM3QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsS0FBSyxDQUFDLGNBQXNCO1FBQ3hDLE9BQU8sSUFBSSxjQUFjLENBQUMsY0FBYyxDQUFDLENBQUE7SUFDM0MsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUU1RSxZQUNFLElBQXNGO1FBRXRGLElBQUksSUFBSSxZQUFZLGNBQWMsRUFBRSxDQUFDO1lBQ25DLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUE7UUFDM0QsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ2hELENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRTVFOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxHQUFXLEVBQUUsS0FBYTtRQUN0QyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUE7UUFDckMsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksU0FBUyxDQUFDLE1BQTJCO1FBQzFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFBO1FBQ3ZELE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLEdBQVc7UUFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDOUIsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO0lBRUQ7O09BRUc7SUFDSSxTQUFTLENBQUMsSUFBYztRQUM3QixJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7UUFDdkMsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLEdBQUcsQ0FBQyxHQUFXLEVBQUUsS0FBYTtRQUNuQyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUE7UUFDbEMsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLE1BQTJCO1FBQ3ZDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFBO1FBQ3BELE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQztJQUVEOztPQUVHO0lBQ0ksR0FBRyxDQUFDLEdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUNwQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxHQUFHLENBQUMsR0FBVztRQUNwQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ3BDLENBQUM7SUFFRDs7T0FFRztJQUNJLFFBQVEsQ0FBQyxHQUFXO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDdkMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTTtRQUNYLE1BQU0sU0FBUyxHQUFHLElBQUksR0FBRyxFQUFrQixDQUFBO1FBQzNDLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQTtRQUNyRSxPQUFPLFNBQVMsQ0FBQTtJQUNsQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxTQUFTO1FBQ2QsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQTtJQUN4QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxPQUFPO1FBQ1osT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQTtJQUNqQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksUUFBUTtRQUNiLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQTtJQUN0QyxDQUFDO0NBT0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFV0aWxpdHkgY2xhc3MgZm9yIGhhbmRsaW5nIHF1ZXJ5IHBhcmFtcy5cbiAqL1xuZXhwb3J0IGNsYXNzIFVybFF1ZXJ5UGFyYW1zIHtcbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgLyoqXG4gICAqIEludGVybmFsIGRhdGEgY29udGV4dCBob2xkaW5nIGFsbCBxdWVyeSBwYXJhbXMuXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IF9zZWFyY2hQYXJhbXM6IFVSTFNlYXJjaFBhcmFtc1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBTdGF0aWMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGVtcHR5IFVybFF1ZXJ5UGFyYW1zIG9iamVjdC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZW1wdHkoKTogVXJsUXVlcnlQYXJhbXMge1xuICAgIHJldHVybiBuZXcgVXJsUXVlcnlQYXJhbXMoKVxuICB9XG5cbiAgLyoqXG4gICAqIFBhcnNlcyB0aGUgZ2l2ZW4gc3RyaW5nIGludG8gYSBVcmxRdWVyeVBhcmFtcyBvYmplY3QuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHBhcnNlKHF1ZXJ5UGFyYW1zU3RyOiBzdHJpbmcpOiBVcmxRdWVyeVBhcmFtcyB7XG4gICAgcmV0dXJuIG5ldyBVcmxRdWVyeVBhcmFtcyhxdWVyeVBhcmFtc1N0cilcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBpbml0Pzogc3RyaW5nW11bXSB8IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gfCBzdHJpbmcgfCBVUkxTZWFyY2hQYXJhbXMgfCBVcmxRdWVyeVBhcmFtc1xuICApIHtcbiAgICBpZiAoaW5pdCBpbnN0YW5jZW9mIFVybFF1ZXJ5UGFyYW1zKSB7XG4gICAgICB0aGlzLl9zZWFyY2hQYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKGluaXQudG9TdHJpbmcoKSlcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fc2VhcmNoUGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyhpbml0KVxuICAgIH1cbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIC8qKlxuICAgKiBBcHBlbmRzIGEgbmV3IHF1ZXJ5IHBhcmFtZXRlciB3aXRoIHRoZSBnaXZlbiBrZXkgLyB2YWx1ZSxcbiAgICogcmVnYXJkbGVzcyBpZiB0aGUgc2FtZSBwYXJhbWV0ZXIgaXMgYWxyZWFkeSBwcmVzZW50LlxuICAgKi9cbiAgcHVibGljIGFwcGVuZChrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMuX3NlYXJjaFBhcmFtcy5hcHBlbmQoa2V5LCB2YWx1ZSlcbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqXG4gICAqIEFwcGVuZHMgZWFjaCBvZiB0aGUgZ2l2ZW4gcGFyYW1ldGVycyBhcyBuZXcgcXVlcnkgcGFyYW1ldGVyLFxuICAgKiByZWdhcmRsZXNzIGlmIHRoZSBzYW1lIHBhcmFtZXRlciBpcyBhbHJlYWR5IHByZXNlbnQuXG4gICAqL1xuICBwdWJsaWMgYXBwZW5kQWxsKHBhcmFtczogTWFwPHN0cmluZywgc3RyaW5nPik6IHRoaXMge1xuICAgIHBhcmFtcy5mb3JFYWNoKCh2YWx1ZSwga2V5KSA9PiB0aGlzLmFwcGVuZChrZXksIHZhbHVlKSlcbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZXMgdGhlIGdpdmVuIHF1ZXJ5IHBhcmFtZXRlciBpZiBwcmVzZW50LlxuICAgKi9cbiAgcHVibGljIHJlbW92ZShrZXk6IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMuX3NlYXJjaFBhcmFtcy5kZWxldGUoa2V5KVxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlcyBhbGwgZ2l2ZW4gcXVlcnkgcGFyYW1ldGVycyBpZiBwcmVzZW50LlxuICAgKi9cbiAgcHVibGljIHJlbW92ZUFsbChrZXlzOiBzdHJpbmdbXSk6IHRoaXMge1xuICAgIGtleXMuZm9yRWFjaCgoa2V5KSA9PiB0aGlzLnJlbW92ZShrZXkpKVxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlcyB0aGUgZ2l2ZW4gcXVlcnkgcGFyYW1ldGVyIHdpdGggdGhlIGdpdmVuIG5ldyB2YWx1ZS5cbiAgICogSWYgbXVsdGlwbGUgd2l0aCB0aGUgc2FtZSBrZXkgZXhpc3RzLCB0aGV5IHdpbGwgYmUgcmVtb3ZlZC5cbiAgICogSWYgdGhlIGtleSBkb2VzIG5vdCBleGlzdCwgdGhlIHF1ZXJ5IHBhcmFtIHdpbGwgYmUgYWRkZWQuXG4gICAqL1xuICBwdWJsaWMgc2V0KGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy5fc2VhcmNoUGFyYW1zLnNldChrZXksIHZhbHVlKVxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlcyBlYWNoIHBhcmFtZXRlciB3aXRoIHRoZSBnaXZlbiB2YWx1ZS5cbiAgICogRWFjaCBlbnRyeSB3aWxsIGJlIGFkZGVkIHVzaW5nIHRoZSBzZXQoa2V5LCB2YWx1ZSkgbG9naWMuXG4gICAqL1xuICBwdWJsaWMgc2V0QWxsKHBhcmFtczogTWFwPHN0cmluZywgc3RyaW5nPik6IHRoaXMge1xuICAgIHBhcmFtcy5mb3JFYWNoKCh2YWx1ZSwga2V5KSA9PiB0aGlzLnNldChrZXksIHZhbHVlKSlcbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdHJ1ZSBpZiBhIHF1ZXJ5IHBhcmFtZXRlciB3aXRoIHRoZSBnaXZlbiBrZXkgZXhpc3RzLlxuICAgKi9cbiAgcHVibGljIGhhcyhrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9zZWFyY2hQYXJhbXMuaGFzKGtleSlcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBmaXJzdCB2YWx1ZSBvZiB0aGUgYXNzb2NpYXRlZCBxdWVyeSBwYXJhbS5cbiAgICovXG4gIHB1YmxpYyBnZXQoa2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9zZWFyY2hQYXJhbXMuZ2V0KGtleSlcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFsbCB2YWx1ZXMgb2YgdGhlIGFzc29jaWF0ZWQgcXVlcnkgcGFyYW1zLlxuICAgKi9cbiAgcHVibGljIGdldEFsbE9mKGtleTogc3RyaW5nKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLl9zZWFyY2hQYXJhbXMuZ2V0QWxsKGtleSlcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgbWFwIHdpdGggYWxsIGtleS12YWx1ZSBwYWlycy5cbiAgICovXG4gIHB1YmxpYyBnZXRBbGwoKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XG4gICAgY29uc3QgcGFyYW1zTWFwID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKVxuICAgIHRoaXMuX3NlYXJjaFBhcmFtcy5mb3JFYWNoKCh2YWx1ZSwga2V5KSA9PiBwYXJhbXNNYXAuc2V0KGtleSwgdmFsdWUpKVxuICAgIHJldHVybiBwYXJhbXNNYXBcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRydWUgb25seSBpZiB0aGVyZSBhcmUgYW55IHF1ZXJ5IHBhcmFtZXRlcnMgcHJlc2VudC5cbiAgICovXG4gIHB1YmxpYyBoYXNQYXJhbXMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLmlzRW1wdHkoKVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiB0cnVlIG9ubHkgaWYgdGhlcmUgYXJlIG5vIHF1ZXJ5IHBhcmFtZXRlcnMgcHJlc2VudC5cbiAgICovXG4gIHB1YmxpYyBpc0VtcHR5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmdldEFsbCgpLnNpemUgPT09IDBcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgc3RyaW5nIGNvbnRhaW5pbmcgYWxsIHF1ZXJ5IHBhcmFtZXRlcnMgaW4gVVJMIGNvbmZvcm0gZmFzaGlvbi5cbiAgICogKFJldHVybnMgYW4gZW1wdHkgc3RyaW5nIGlmIG5vIHF1ZXJ5IHBhcmFtZXRlcnMgaGF2ZSBiZWVuIHNldCkuXG4gICAqL1xuICBwdWJsaWMgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fc2VhcmNoUGFyYW1zLnRvU3RyaW5nKClcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIE1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xufVxuIl19
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
export class Batcher {
|
|
2
|
-
/**
|
|
3
|
-
* Batches the given items into batches of the given size.
|
|
4
|
-
*/
|
|
5
|
-
static batch(items, batchSize) {
|
|
6
|
-
return Batcher.batchMap(items, batchSize, (slice) => slice);
|
|
7
|
-
}
|
|
8
|
-
/**
|
|
9
|
-
* Batches the given items into batches of the given size, and
|
|
10
|
-
* applies a mapping function to each batch.
|
|
11
|
-
* @param items
|
|
12
|
-
* @param batchSize
|
|
13
|
-
* @param mapper
|
|
14
|
-
*/
|
|
15
|
-
static batchMap(items, batchSize, mapper) {
|
|
16
|
-
if (!items || items.length <= 0) {
|
|
17
|
-
return []; // Nothing to batch
|
|
18
|
-
}
|
|
19
|
-
if (batchSize <= 0) {
|
|
20
|
-
throw new Error('Batch size must be >= 0 but was ' + batchSize);
|
|
21
|
-
}
|
|
22
|
-
const batches = [];
|
|
23
|
-
let start = 0;
|
|
24
|
-
let slice = [];
|
|
25
|
-
do {
|
|
26
|
-
slice = items.slice(start, start + batchSize);
|
|
27
|
-
if (slice.length > 0) {
|
|
28
|
-
batches.push(mapper(slice));
|
|
29
|
-
start = start + batchSize;
|
|
30
|
-
}
|
|
31
|
-
} while (slice.length > 0);
|
|
32
|
-
return batches;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmF0Y2hlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi91dGlscy9iYXRjaGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxPQUFPO0lBQ2xCOztPQUVHO0lBQ0ksTUFBTSxDQUFDLEtBQUssQ0FBSSxLQUFVLEVBQUUsU0FBaUI7UUFDbEQsT0FBTyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQzdELENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxNQUFNLENBQUMsUUFBUSxDQUFPLEtBQVUsRUFBRSxTQUFpQixFQUFFLE1BQXlCO1FBQ25GLElBQUksQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNoQyxPQUFPLEVBQUUsQ0FBQSxDQUFDLG1CQUFtQjtRQUMvQixDQUFDO1FBRUQsSUFBSSxTQUFTLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDbkIsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQ0FBa0MsR0FBRyxTQUFTLENBQUMsQ0FBQTtRQUNqRSxDQUFDO1FBRUQsTUFBTSxPQUFPLEdBQVEsRUFBRSxDQUFBO1FBRXZCLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQTtRQUNiLElBQUksS0FBSyxHQUFRLEVBQUUsQ0FBQTtRQUVuQixHQUFHLENBQUM7WUFDRixLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsS0FBSyxHQUFHLFNBQVMsQ0FBQyxDQUFBO1lBQzdDLElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDckIsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtnQkFDM0IsS0FBSyxHQUFHLEtBQUssR0FBRyxTQUFTLENBQUE7WUFDM0IsQ0FBQztRQUNILENBQUMsUUFBUSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBQztRQUUxQixPQUFPLE9BQU8sQ0FBQTtJQUNoQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgQmF0Y2hlciB7XG4gIC8qKlxuICAgKiBCYXRjaGVzIHRoZSBnaXZlbiBpdGVtcyBpbnRvIGJhdGNoZXMgb2YgdGhlIGdpdmVuIHNpemUuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGJhdGNoPFY+KGl0ZW1zOiBWW10sIGJhdGNoU2l6ZTogbnVtYmVyKTogVltdW10ge1xuICAgIHJldHVybiBCYXRjaGVyLmJhdGNoTWFwKGl0ZW1zLCBiYXRjaFNpemUsIChzbGljZSkgPT4gc2xpY2UpXG4gIH1cblxuICAvKipcbiAgICogQmF0Y2hlcyB0aGUgZ2l2ZW4gaXRlbXMgaW50byBiYXRjaGVzIG9mIHRoZSBnaXZlbiBzaXplLCBhbmRcbiAgICogYXBwbGllcyBhIG1hcHBpbmcgZnVuY3Rpb24gdG8gZWFjaCBiYXRjaC5cbiAgICogQHBhcmFtIGl0ZW1zXG4gICAqIEBwYXJhbSBiYXRjaFNpemVcbiAgICogQHBhcmFtIG1hcHBlclxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBiYXRjaE1hcDxWLCBSPihpdGVtczogVltdLCBiYXRjaFNpemU6IG51bWJlciwgbWFwcGVyOiAoc2xpY2U6IFZbXSkgPT4gUik6IFJbXSB7XG4gICAgaWYgKCFpdGVtcyB8fCBpdGVtcy5sZW5ndGggPD0gMCkge1xuICAgICAgcmV0dXJuIFtdIC8vIE5vdGhpbmcgdG8gYmF0Y2hcbiAgICB9XG5cbiAgICBpZiAoYmF0Y2hTaXplIDw9IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQmF0Y2ggc2l6ZSBtdXN0IGJlID49IDAgYnV0IHdhcyAnICsgYmF0Y2hTaXplKVxuICAgIH1cblxuICAgIGNvbnN0IGJhdGNoZXM6IFJbXSA9IFtdXG5cbiAgICBsZXQgc3RhcnQgPSAwXG4gICAgbGV0IHNsaWNlOiBWW10gPSBbXVxuXG4gICAgZG8ge1xuICAgICAgc2xpY2UgPSBpdGVtcy5zbGljZShzdGFydCwgc3RhcnQgKyBiYXRjaFNpemUpXG4gICAgICBpZiAoc2xpY2UubGVuZ3RoID4gMCkge1xuICAgICAgICBiYXRjaGVzLnB1c2gobWFwcGVyKHNsaWNlKSlcbiAgICAgICAgc3RhcnQgPSBzdGFydCArIGJhdGNoU2l6ZVxuICAgICAgfVxuICAgIH0gd2hpbGUgKHNsaWNlLmxlbmd0aCA+IDApXG5cbiAgICByZXR1cm4gYmF0Y2hlc1xuICB9XG59XG4iXX0=
|
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
import { LoggerFactory } from '@elderbyte/ts-logger';
|
|
2
|
-
// @dynamic
|
|
3
|
-
export class CollectionUtil {
|
|
4
|
-
static { this.logger = LoggerFactory.getLogger('CollectionUtil'); }
|
|
5
|
-
static flatten(groups) {
|
|
6
|
-
return groups.reduce((acc, val) => acc.concat(val), []);
|
|
7
|
-
}
|
|
8
|
-
/**
|
|
9
|
-
* Moves the given item down in the given array - if not already at the bottom
|
|
10
|
-
* @param items
|
|
11
|
-
* @param toMove
|
|
12
|
-
*/
|
|
13
|
-
static moveDown(items, toMove) {
|
|
14
|
-
if (items.length < 2) {
|
|
15
|
-
return false;
|
|
16
|
-
}
|
|
17
|
-
const position = items.indexOf(toMove);
|
|
18
|
-
if (position >= 0) {
|
|
19
|
-
const targetIndex = position + 1;
|
|
20
|
-
const bottom = items.length - 1;
|
|
21
|
-
if (!(bottom < targetIndex)) {
|
|
22
|
-
items[position] = items[targetIndex];
|
|
23
|
-
items[targetIndex] = toMove;
|
|
24
|
-
return true;
|
|
25
|
-
}
|
|
26
|
-
else {
|
|
27
|
-
this.logger.debug('Can not move item down since target index ' +
|
|
28
|
-
targetIndex +
|
|
29
|
-
' is already at the bottom: ' +
|
|
30
|
-
bottom);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
return false;
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Moves the given item up in the given array - if not already at the top
|
|
37
|
-
* @param items
|
|
38
|
-
* @param toMove
|
|
39
|
-
*/
|
|
40
|
-
static moveUp(items, toMove) {
|
|
41
|
-
if (items.length < 2) {
|
|
42
|
-
return false;
|
|
43
|
-
}
|
|
44
|
-
const position = items.indexOf(toMove);
|
|
45
|
-
if (position >= 0) {
|
|
46
|
-
const targetIndex = position - 1;
|
|
47
|
-
if (targetIndex >= 0) {
|
|
48
|
-
items[position] = items[targetIndex];
|
|
49
|
-
items[targetIndex] = toMove;
|
|
50
|
-
return true;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
return false;
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Groups the given items by the given field into a Map
|
|
57
|
-
*/
|
|
58
|
-
// @dynamic
|
|
59
|
-
static groupByField(items, field) {
|
|
60
|
-
return CollectionUtil.groupByKey(items, (it) => it[field]);
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Groups the given items, using the group key getter, into a Map
|
|
64
|
-
* @dynamic
|
|
65
|
-
*/
|
|
66
|
-
// @dynamic
|
|
67
|
-
static groupByKey(items, keyGetter) {
|
|
68
|
-
return items.reduce((map, p) => {
|
|
69
|
-
let subset;
|
|
70
|
-
const key = keyGetter(p);
|
|
71
|
-
if (map.has(key)) {
|
|
72
|
-
subset = map.get(key);
|
|
73
|
-
}
|
|
74
|
-
else {
|
|
75
|
-
subset = [];
|
|
76
|
-
map.set(key, subset);
|
|
77
|
-
}
|
|
78
|
-
subset.push(p);
|
|
79
|
-
return map;
|
|
80
|
-
}, new Map());
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Compares two sets values deep.
|
|
84
|
-
* If both sets have the same items, they are considered equal.
|
|
85
|
-
*
|
|
86
|
-
* Warning: Duplicate elements are ignored.
|
|
87
|
-
* @param aSet
|
|
88
|
-
* @param bSet
|
|
89
|
-
*/
|
|
90
|
-
static equalSetDeep(aSet, bSet) {
|
|
91
|
-
if (aSet === bSet) {
|
|
92
|
-
return true;
|
|
93
|
-
}
|
|
94
|
-
if (!aSet || !bSet) {
|
|
95
|
-
return false;
|
|
96
|
-
}
|
|
97
|
-
if (aSet.size !== bSet.size) {
|
|
98
|
-
return false;
|
|
99
|
-
} // Must have same length
|
|
100
|
-
for (const a of aSet) {
|
|
101
|
-
if (!bSet.has(a)) {
|
|
102
|
-
return false;
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
return true;
|
|
106
|
-
}
|
|
107
|
-
static hasElements(list) {
|
|
108
|
-
return list !== null && list !== undefined && list.length > 0;
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi11dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tbW9uL3V0aWxzL2NvbGxlY3Rpb24tdXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFFcEQsV0FBVztBQUNYLE1BQU0sT0FBTyxjQUFjO2FBQ0QsV0FBTSxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtJQUVuRSxNQUFNLENBQUMsT0FBTyxDQUFJLE1BQWE7UUFDcEMsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQTtJQUN6RCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxRQUFRLENBQUksS0FBVSxFQUFFLE1BQVM7UUFDN0MsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3JCLE9BQU8sS0FBSyxDQUFBO1FBQ2QsQ0FBQztRQUVELE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUE7UUFFdEMsSUFBSSxRQUFRLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDbEIsTUFBTSxXQUFXLEdBQUcsUUFBUSxHQUFHLENBQUMsQ0FBQTtZQUNoQyxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQTtZQUMvQixJQUFJLENBQUMsQ0FBQyxNQUFNLEdBQUcsV0FBVyxDQUFDLEVBQUUsQ0FBQztnQkFDNUIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQTtnQkFDcEMsS0FB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O1FBQ0QsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO0lBRU0sTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFXO1FBQ25DLE9BQU8sSUFBSSxLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFBO0lBQy9ELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2dnZXJGYWN0b3J5IH0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInXG5cbi8vIEBkeW5hbWljXG5leHBvcnQgY2xhc3MgQ29sbGVjdGlvblV0aWwge1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBsb2dnZXIgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcignQ29sbGVjdGlvblV0aWwnKVxuXG4gIHB1YmxpYyBzdGF0aWMgZmxhdHRlbjxUPihncm91cHM6IFRbXVtdKTogVFtdIHtcbiAgICByZXR1cm4gZ3JvdXBzLnJlZHVjZSgoYWNjLCB2YWwpID0+IGFjYy5jb25jYXQodmFsKSwgW10pXG4gIH1cblxuICAvKipcbiAgICogTW92ZXMgdGhlIGdpdmVuIGl0ZW0gZG93biBpbiB0aGUgZ2l2ZW4gYXJyYXkgLSBpZiBub3QgYWxyZWFkeSBhdCB0aGUgYm90dG9tXG4gICAqIEBwYXJhbSBpdGVtc1xuICAgKiBAcGFyYW0gdG9Nb3ZlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIG1vdmVEb3duPFQ+KGl0ZW1zOiBUW10sIHRvTW92ZTogVCk6IGJvb2xlYW4ge1xuICAgIGlmIChpdGVtcy5sZW5ndGggPCAyKSB7XG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG5cbiAgICBjb25zdCBwb3NpdGlvbiA9IGl0ZW1zLmluZGV4T2YodG9Nb3ZlKVxuXG4gICAgaWYgKHBvc2l0aW9uID49IDApIHtcbiAgICAgIGNvbnN0IHRhcmdldEluZGV4ID0gcG9zaXRpb24gKyAxXG4gICAgICBjb25zdCBib3R0b20gPSBpdGVtcy5sZW5ndGggLSAxXG4gICAgICBpZiAoIShib3R0b20gPCB0YXJnZXRJbmRleCkpIHtcbiAgICAgICAgaXRlbXNbcG9zaXRpb25dID0gaXRlbXNbdGFyZ2V0SW5kZXhdXG4gICAgICAgIGl0ZW1zW3RhcmdldEluZGV4XSA9IHRvTW92ZVxuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICAgICAgJ0NhbiBub3QgbW92ZSBpdGVtIGRvd24gc2luY2UgdGFyZ2V0IGluZGV4ICcgK1xuICAgICAgICAgICAgdGFyZ2V0SW5kZXggK1xuICAgICAgICAgICAgJyBpcyBhbHJlYWR5IGF0IHRoZSBib3R0b206ICcgK1xuICAgICAgICAgICAgYm90dG9tXG4gICAgICAgIClcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cblxuICAvKipcbiAgICogTW92ZXMgdGhlIGdpdmVuIGl0ZW0gdXAgaW4gdGhlIGdpdmVuIGFycmF5IC0gaWYgbm90IGFscmVhZHkgYXQgdGhlIHRvcFxuICAgKiBAcGFyYW0gaXRlbXNcbiAgICogQHBhcmFtIHRvTW92ZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBtb3ZlVXA8VD4oaXRlbXM6IFRbXSwgdG9Nb3ZlOiBUKTogYm9vbGVhbiB7XG4gICAgaWYgKGl0ZW1zLmxlbmd0aCA8IDIpIHtcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cblxuICAgIGNvbnN0IHBvc2l0aW9uID0gaXRlbXMuaW5kZXhPZih0b01vdmUpXG5cbiAgICBpZiAocG9zaXRpb24gPj0gMCkge1xuICAgICAgY29uc3QgdGFyZ2V0SW5kZXggPSBwb3NpdGlvbiAtIDFcblxuICAgICAgaWYgKHRhcmdldEluZGV4ID49IDApIHtcbiAgICAgICAgaXRlbXNbcG9zaXRpb25dID0gaXRlbXNbdGFyZ2V0SW5kZXhdXG4gICAgICAgIGl0ZW1zW3RhcmdldEluZGV4XSA9IHRvTW92ZVxuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIC8qKlxuICAgKiBHcm91cHMgdGhlIGdpdmVuIGl0ZW1zIGJ5IHRoZSBnaXZlbiBmaWVsZCBpbnRvIGEgTWFwXG4gICAqL1xuICAvLyBAZHluYW1pY1xuICBwdWJsaWMgc3RhdGljIGdyb3VwQnlGaWVsZDxHLCBUPihpdGVtczogVFtdLCBmaWVsZDogc3RyaW5nKTogTWFwPEcsIFRbXT4ge1xuICAgIHJldHVybiBDb2xsZWN0aW9uVXRpbC5ncm91cEJ5S2V5KGl0ZW1zLCAoaXQpID0+IChpdCBhcyBhbnkpW2ZpZWxkXSBhcyBHKVxuICB9XG5cbiAgLyoqXG4gICAqIEdyb3VwcyB0aGUgZ2l2ZW4gaXRlbXMsIHVzaW5nIHRoZSBncm91cCBrZXkgZ2V0dGVyLCBpbnRvIGEgTWFwXG4gICAqIEBkeW5hbWljXG4gICAqL1xuICAvLyBAZHluYW1pY1xuICBwdWJsaWMgc3RhdGljIGdyb3VwQnlLZXk8RywgVD4oaXRlbXM6IFRbXSwga2V5R2V0dGVyOiAoaXRlbTogVCkgPT4gRyk6IE1hcDxHLCBUW10+IHtcbiAgICByZXR1cm4gaXRlbXMucmVkdWNlKChtYXAsIHApID0+IHtcbiAgICAgIGxldCBzdWJzZXQ6IFRbXVxuXG4gICAgICBjb25zdCBrZXkgPSBrZXlHZXR0ZXIocClcblxuICAgICAgaWYgKG1hcC5oYXMoa2V5KSkge1xuICAgICAgICBzdWJzZXQgPSBtYXAuZ2V0KGtleSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHN1YnNldCA9IFtdXG4gICAgICAgIG1hcC5zZXQoa2V5LCBzdWJzZXQpXG4gICAgICB9XG4gICAgICBzdWJzZXQucHVzaChwKVxuICAgICAgcmV0dXJuIG1hcFxuICAgIH0sIG5ldyBNYXAoKSlcbiAgfVxuXG4gIC8qKlxuICAgKiBDb21wYXJlcyB0d28gc2V0cyB2YWx1ZXMgZGVlcC5cbiAgICogSWYgYm90aCBzZXRzIGhhdmUgdGhlIHNhbWUgaXRlbXMsIHRoZXkgYXJlIGNvbnNpZGVyZWQgZXF1YWwuXG4gICAqXG4gICAqIFdhcm5pbmc6IER1cGxpY2F0ZSBlbGVtZW50cyBhcmUgaWdub3JlZC5cbiAgICogQHBhcmFtIGFTZXRcbiAgICogQHBhcmFtIGJTZXRcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZXF1YWxTZXREZWVwPFQ+KGFTZXQ6IFNldDxUPiwgYlNldDogU2V0PFQ+KTogYm9vbGVhbiB7XG4gICAgaWYgKGFTZXQgPT09IGJTZXQpIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuXG4gICAgaWYgKCFhU2V0IHx8ICFiU2V0KSB7XG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG4gICAgaWYgKGFTZXQuc2l6ZSAhPT0gYlNldC5zaXplKSB7XG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9IC8vIE11c3QgaGF2ZSBzYW1lIGxlbmd0aFxuXG4gICAgZm9yIChjb25zdCBhIG9mIGFTZXQpIHtcbiAgICAgIGlmICghYlNldC5oYXMoYSkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0cnVlXG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGhhc0VsZW1lbnRzKGxpc3Q6IGFueVtdKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGxpc3QgIT09IG51bGwgJiYgbGlzdCAhPT0gdW5kZWZpbmVkICYmIGxpc3QubGVuZ3RoID4gMFxuICB9XG59XG4iXX0=
|
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
import { Filter } from '../data/filters/filter';
|
|
2
|
-
import { LoggerFactory } from '@elderbyte/ts-logger';
|
|
3
|
-
import { FilterContext } from '../data/filters/filter-context';
|
|
4
|
-
export class FilterUtil {
|
|
5
|
-
static { this.logger = LoggerFactory.getLogger(FilterUtil.constructor.name); }
|
|
6
|
-
static equals(aFilters, bFilters) {
|
|
7
|
-
if (aFilters.length !== bFilters.length) {
|
|
8
|
-
return false;
|
|
9
|
-
}
|
|
10
|
-
if (aFilters.length === 0 && bFilters.length === 0) {
|
|
11
|
-
return true;
|
|
12
|
-
}
|
|
13
|
-
// The both filter arrays have the same length, so we must compare them by value
|
|
14
|
-
const bIndex = new Map();
|
|
15
|
-
bFilters.forEach((f) => bIndex.set(f.key, f));
|
|
16
|
-
for (const fa of aFilters) {
|
|
17
|
-
const bFilter = bIndex.get(fa.key);
|
|
18
|
-
if (!Filter.equals(bFilter, fa)) {
|
|
19
|
-
return false;
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
return true;
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Merge the provided filter sets. The second parameter will
|
|
26
|
-
* replace filters which exist in the first.
|
|
27
|
-
* @param filtersA
|
|
28
|
-
* @param filtersB
|
|
29
|
-
*/
|
|
30
|
-
static mergeFlat(filtersA, filtersB) {
|
|
31
|
-
const mergeContext = new FilterContext();
|
|
32
|
-
mergeContext.updateFilters(filtersA);
|
|
33
|
-
mergeContext.updateFilters(filtersB);
|
|
34
|
-
return mergeContext.filtersSnapshot;
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Performs a combining merge of the provided filters.
|
|
38
|
-
* Array based filter values will be combined.
|
|
39
|
-
* @param filtersA
|
|
40
|
-
* @param filtersB
|
|
41
|
-
*/
|
|
42
|
-
static mergeCombine(filtersA, filtersB) {
|
|
43
|
-
const mergeContext = new FilterContext();
|
|
44
|
-
mergeContext.updateFilters(filtersA);
|
|
45
|
-
mergeContext.mergeFilters(filtersB);
|
|
46
|
-
return mergeContext.filtersSnapshot;
|
|
47
|
-
}
|
|
48
|
-
static strip(base, toRemove) {
|
|
49
|
-
const removeMap = new Map();
|
|
50
|
-
toRemove.forEach((r) => removeMap.set(r.key, r));
|
|
51
|
-
return base
|
|
52
|
-
.map((filter) => {
|
|
53
|
-
if (removeMap.has(filter.key)) {
|
|
54
|
-
const stripped = FilterUtil.stripValue(filter.value, removeMap.get(filter.key).value);
|
|
55
|
-
if (stripped !== null) {
|
|
56
|
-
return new Filter(filter.key, stripped);
|
|
57
|
-
}
|
|
58
|
-
else {
|
|
59
|
-
return null;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
else {
|
|
63
|
-
return filter;
|
|
64
|
-
}
|
|
65
|
-
})
|
|
66
|
-
.filter((f) => !!f);
|
|
67
|
-
}
|
|
68
|
-
static stripValue(baseValue, removeValue) {
|
|
69
|
-
if (Array.isArray(baseValue)) {
|
|
70
|
-
if (Array.isArray(removeValue)) {
|
|
71
|
-
const filtered = baseValue.filter((b) => removeValue.indexOf(b) === -1);
|
|
72
|
-
if (filtered.length > 0) {
|
|
73
|
-
return filtered;
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
else {
|
|
77
|
-
const filtered = baseValue.filter((b) => b != removeValue);
|
|
78
|
-
if (filtered.length > 0) {
|
|
79
|
-
return filtered;
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
return null;
|
|
84
|
-
}
|
|
85
|
-
static filterData(data, filters) {
|
|
86
|
-
FilterUtil.logger.debug('Filtering data with ' + data.length + ' items.', filters);
|
|
87
|
-
if (filters && filters.length > 0) {
|
|
88
|
-
for (const filter of filters) {
|
|
89
|
-
data = data.filter((e) => FilterUtil.matches(e, filter));
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
return data;
|
|
93
|
-
}
|
|
94
|
-
static matches(entity, filter) {
|
|
95
|
-
if (filter.value === null || filter.value === undefined) {
|
|
96
|
-
return true;
|
|
97
|
-
}
|
|
98
|
-
let value;
|
|
99
|
-
if (entity === null || entity === undefined) {
|
|
100
|
-
value = null;
|
|
101
|
-
}
|
|
102
|
-
else if (typeof entity === 'object') {
|
|
103
|
-
value = entity[filter.key];
|
|
104
|
-
}
|
|
105
|
-
else {
|
|
106
|
-
value = String(entity); // Support filtering primitive values
|
|
107
|
-
}
|
|
108
|
-
if (Array.isArray(filter.value)) {
|
|
109
|
-
for (const val of filter.value) {
|
|
110
|
-
if (FilterUtil.matchesValue(value, val)) {
|
|
111
|
-
return true;
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
return false;
|
|
115
|
-
}
|
|
116
|
-
else {
|
|
117
|
-
return FilterUtil.matchesValue(value, filter.value);
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
static matchesValue(haystack, needle) {
|
|
121
|
-
if (haystack === needle) {
|
|
122
|
-
return true;
|
|
123
|
-
}
|
|
124
|
-
if (haystack === null || haystack === undefined) {
|
|
125
|
-
return false;
|
|
126
|
-
}
|
|
127
|
-
const str = String(haystack);
|
|
128
|
-
const match = str.toLowerCase().startsWith(needle.toLowerCase());
|
|
129
|
-
// FilterUtil.logger.debug('Haystack: ' + str + ' starts with needle: ' + needle + ' --> ' + match);
|
|
130
|
-
return match;
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLXV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21tb24vdXRpbHMvZmlsdGVyLXV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUNwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0NBQWdDLENBQUE7QUFFOUQsTUFBTSxPQUFPLFVBQVU7YUFDRyxXQUFNLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBRTlFLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBa0IsRUFBRSxRQUFrQjtRQUN6RCxJQUFJLFFBQVEsQ0FBQyxNQUFNLEtBQUssUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3hDLE9BQU8sS0FBSyxDQUFBO1FBQ2QsQ0FBQztRQUNELElBQUksUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNuRCxPQUFPLElBQUksQ0FBQTtRQUNiLENBQUM7UUFFRCxnRkFBZ0Y7UUFFaEYsTUFBTSxNQUFNLEdBQUcsSUFBSSxHQUFHLEVBQWtCLENBQUE7UUFDeEMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFFN0MsS0FBSyxNQUFNLEVBQUUsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUMxQixNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMs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Q0FBQSxDQUFDLHFDQUFxQztRQUM5RCxDQUFDO1FBRUQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2hDLEtBQUssTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUMvQixJQUFJLFVBQVUsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUM7b0JBQ3hDLE9BQU8sSUFBSSxDQUFBO2dCQUNiLENBQUM7WUFDSCxDQUFDO1lBQ0QsT0FBTyxLQUFLLENBQUE7UUFDZCxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sVUFBVSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3JELENBQUM7SUFDSCxDQUFDO0lBRU8sTUFBTSxDQUFDLFlBQVksQ0FBQyxRQUFhLEVBQUUsTUFBYztRQUN2RCxJQUFJLFFBQVEsS0FBSyxNQUFNLEVBQUUsQ0FBQztZQUN4QixPQUFPLElBQUksQ0FBQTtRQUNiLENBQUM7UUFFRCxJQUFJLFFBQVEsS0FBSyxJQUFJLElBQUksUUFBUSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ2hELE9BQU8sS0FBSyxDQUFBO1FBQ2QsQ0FBQztRQUVELE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUM1QixNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFBO1FBRWhFLG9HQUFvRztRQUVwRyxPQUFPLEtBQUssQ0FBQTtJQUNkLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGaWx0ZXIgfSBmcm9tICcuLi9kYXRhL2ZpbHRlcnMvZmlsdGVyJ1xuaW1wb3J0IHsgTG9nZ2VyRmFjdG9yeSB9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJ1xuaW1wb3J0IHsgRmlsdGVyQ29udGV4dCB9IGZyb20gJy4uL2RhdGEvZmlsdGVycy9maWx0ZXItY29udGV4dCdcblxuZXhwb3J0IGNsYXNzIEZpbHRlclV0aWwge1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBsb2dnZXIgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcihGaWx0ZXJVdGlsLmNvbnN0cnVjdG9yLm5hbWUpXG5cbiAgcHVibGljIHN0YXRpYyBlcXVhbHMoYUZpbHRlcnM6IEZpbHRlcltdLCBiRmlsdGVyczogRmlsdGVyW10pOiBib29sZWFuIHtcbiAgICBpZiAoYUZpbHRlcnMubGVuZ3RoICE9PSBiRmlsdGVycy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cbiAgICBpZiAoYUZpbHRlcnMubGVuZ3RoID09PSAwICYmIGJGaWx0ZXJzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG5cbiAgICAvLyBUaGUgYm90aCBmaWx0ZXIgYXJyYXlzIGhhdmUgdGhlIHNhbWUgbGVuZ3RoLCBzbyB3ZSBtdXN0IGNvbXBhcmUgdGhlbSBieSB2YWx1ZVxuXG4gICAgY29uc3QgYkluZGV4ID0gbmV3IE1hcDxzdHJpbmcsIEZpbHRlcj4oKVxuICAgIGJGaWx0ZXJzLmZvckVhY2goKGYpID0+IGJJbmRleC5zZXQoZi5rZXksIGYpKVxuXG4gICAgZm9yIChjb25zdCBmYSBvZiBhRmlsdGVycykge1xuICAgICAgY29uc3QgYkZpbHRlciA9IGJJbmRleC5nZXQoZmEua2V5KVxuICAgICAgaWYgKCFGaWx0ZXIuZXF1YWxzKGJGaWx0ZXIsIGZhKSkge1xuICAgICAgICByZXR1cm4gZmFsc2VcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRydWVcbiAgfVxuXG4gIC8qKlxuICAgKiBNZXJnZSB0aGUgcHJvdmlkZWQgZmlsdGVyIHNldHMuIFRoZSBzZWNvbmQgcGFyYW1ldGVyIHdpbGxcbiAgICogcmVwbGFjZSBmaWx0ZXJzIHdoaWNoIGV4aXN0IGluIHRoZSBmaXJzdC5cbiAgICogQHBhcmFtIGZpbHRlcnNBXG4gICAqIEBwYXJhbSBmaWx0ZXJzQlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBtZXJnZUZsYXQoZmlsdGVyc0E6IEZpbHRlcltdLCBmaWx0ZXJzQjogRmlsdGVyW10pOiBGaWx0ZXJbXSB7XG4gICAgY29uc3QgbWVyZ2VDb250ZXh0ID0gbmV3IEZpbHRlckNvbnRleHQoKVxuICAgIG1lcmdlQ29udGV4dC51cGRhdGVGaWx0ZXJzKGZpbHRlcnNBKVxuICAgIG1lcmdlQ29udGV4dC51cGRhdGVGaWx0ZXJzKGZpbHRlcnNCKVxuICAgIHJldHVybiBtZXJnZUNvbnRleHQuZmlsdGVyc1NuYXBzaG90XG4gIH1cblxuICAvKipcbiAgICogUGVyZm9ybXMgYSBjb21iaW5pbmcgbWVyZ2Ugb2YgdGhlIHByb3ZpZGVkIGZpbHRlcnMuXG4gICAqIEFycmF5IGJhc2VkIGZpbHRlciB2YWx1ZXMgd2lsbCBiZSBjb21iaW5lZC5cbiAgICogQHBhcmFtIGZpbHRlcnNBXG4gICAqIEBwYXJhbSBmaWx0ZXJzQlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBtZXJnZUNvbWJpbmUoZmlsdGVyc0E6IEZpbHRlcltdLCBmaWx0ZXJzQjogRmlsdGVyW10pOiBGaWx0ZXJbXSB7XG4gICAgY29uc3QgbWVyZ2VDb250ZXh0ID0gbmV3IEZpbHRlckNvbnRleHQoKVxuICAgIG1lcmdlQ29udGV4dC51cGRhdGVGaWx0ZXJzKGZpbHRlcnNBKVxuICAgIG1lcmdlQ29udGV4dC5tZXJnZUZpbHRlcnMoZmlsdGVyc0IpXG4gICAgcmV0dXJuIG1lcmdlQ29udGV4dC5maWx0ZXJzU25hcHNob3RcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgc3RyaXAoYmFzZTogRmlsdGVyW10sIHRvUmVtb3ZlOiBGaWx0ZXJbXSk6IEZpbHRlcltdIHtcbiAgICBjb25zdCByZW1vdmVNYXAgPSBuZXcgTWFwPHN0cmluZywgRmlsdGVyPigpXG4gICAgdG9SZW1vdmUuZm9yRWFjaCgocikgPT4gcmVtb3ZlTWFwLnNldChyLmtleSwgcikpXG4gICAgcmV0dXJuIGJhc2VcbiAgICAgIC5tYXAoKGZpbHRlcikgPT4ge1xuICAgICAgICBpZiAocmVtb3ZlTWFwLmhhcyhmaWx0ZXIua2V5KSkge1xuICAgICAgICAgIGNvbnN0IHN0cmlwcGVkID0gRmlsdGVyVXRpbC5zdHJpcFZhbHVlKGZpbHRlci52YWx1ZSwgcmVtb3ZlTWFwLmdldChmaWx0ZXIua2V5KS52YWx1ZSlcbiAgICAgICAgICBpZiAoc3RyaXBwZWQgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRmlsdGVyKGZpbHRlci5rZXksIHN0cmlwcGVkKVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gZmlsdGVyXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgICAuZmlsdGVyKChmKSA9PiAhIWYpXG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBzdHJpcFZhbHVlKFxuICAgIGJhc2VWYWx1ZTogc3RyaW5nIHwgc3RyaW5nW10gfCBudWxsLFxuICAgIHJlbW92ZVZhbHVlOiBzdHJpbmcgfCBzdHJpbmdbXSB8IG51bGxcbiAgKTogc3RyaW5nIHwgc3RyaW5nW10gfCBudWxsIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShiYXNlVmFsdWUpKSB7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShyZW1vdmVWYWx1ZSkpIHtcbiAgICAgICAgY29uc3QgZmlsdGVyZWQgPSBiYXNlVmFsdWUuZmlsdGVyKChiKSA9PiByZW1vdmVWYWx1ZS5pbmRleE9mKGIpID09PSAtMSlcbiAgICAgICAgaWYgKGZpbHRlcmVkLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICByZXR1cm4gZmlsdGVyZWRcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgZmlsdGVyZWQgPSBiYXNlVmFsdWUuZmlsdGVyKChiKSA9PiBiICE9IHJlbW92ZVZhbHVlKVxuICAgICAgICBpZiAoZmlsdGVyZWQubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHJldHVybiBmaWx0ZXJlZFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsXG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGZpbHRlckRhdGE8VD4oZGF0YTogVFtdLCBmaWx0ZXJzOiBGaWx0ZXJbXSk6IFRbXSB7XG4gICAgRmlsdGVyVXRpbC5sb2dnZXIuZGVidWcoJ0ZpbHRlcmluZyBkYXRhIHdpdGggJyArIGRhdGEubGVuZ3RoICsgJyBpdGVtcy4nLCBmaWx0ZXJzKVxuXG4gICAgaWYgKGZpbHRlcnMgJiYgZmlsdGVycy5sZW5ndGggPiAwKSB7XG4gICAgICBmb3IgKGNvbnN0IGZpbHRlciBvZiBmaWx0ZXJzKSB7XG4gICAgICAgIGRhdGEgPSBkYXRhLmZpbHRlcigoZSkgPT4gRmlsdGVyVXRpbC5tYXRjaGVzKGUsIGZpbHRlcikpXG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBkYXRhXG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBtYXRjaGVzKGVudGl0eTogYW55LCBmaWx0ZXI6IEZpbHRlcik6IGJvb2xlYW4ge1xuICAgIGlmIChmaWx0ZXIudmFsdWUgPT09IG51bGwgfHwgZmlsdGVyLnZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuXG4gICAgbGV0IHZhbHVlOiBhbnlcbiAgICBpZiAoZW50aXR5ID09PSBudWxsIHx8IGVudGl0eSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB2YWx1ZSA9IG51bGxcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBlbnRpdHkgPT09ICdvYmplY3QnKSB7XG4gICAgICB2YWx1ZSA9IGVudGl0eVtmaWx0ZXIua2V5XVxuICAgIH0gZWxzZSB7XG4gICAgICB2YWx1ZSA9IFN0cmluZyhlbnRpdHkpIC8vIFN1cHBvcnQgZmlsdGVyaW5nIHByaW1pdGl2ZSB2YWx1ZXNcbiAgICB9XG5cbiAgICBpZiAoQXJyYXkuaXNBcnJheShmaWx0ZXIudmFsdWUpKSB7XG4gICAgICBmb3IgKGNvbnN0IHZhbCBvZiBmaWx0ZXIudmFsdWUpIHtcbiAgICAgICAgaWYgKEZpbHRlclV0aWwubWF0Y2hlc1ZhbHVlKHZhbHVlLCB2YWwpKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBGaWx0ZXJVdGlsLm1hdGNoZXNWYWx1ZSh2YWx1ZSwgZmlsdGVyLnZhbHVlKVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIG1hdGNoZXNWYWx1ZShoYXlzdGFjazogYW55LCBuZWVkbGU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGlmIChoYXlzdGFjayA9PT0gbmVlZGxlKSB7XG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cblxuICAgIGlmIChoYXlzdGFjayA9PT0gbnVsbCB8fCBoYXlzdGFjayA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG5cbiAgICBjb25zdCBzdHIgPSBTdHJpbmcoaGF5c3RhY2spXG4gICAgY29uc3QgbWF0Y2ggPSBzdHIudG9Mb3dlckNhc2UoKS5zdGFydHNXaXRoKG5lZWRsZS50b0xvd2VyQ2FzZSgpKVxuXG4gICAgLy8gRmlsdGVyVXRpbC5sb2dnZXIuZGVidWcoJ0hheXN0YWNrOiAnICsgc3RyICsgJyBzdGFydHMgd2l0aCBuZWVkbGU6ICcgKyBuZWVkbGUgKyAnIC0tPiAnICsgbWF0Y2gpO1xuXG4gICAgcmV0dXJuIG1hdGNoXG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { LoggerFactory } from '@elderbyte/ts-logger';
|
|
2
|
-
export class FocusUtil {
|
|
3
|
-
static { this.log = LoggerFactory.getLogger('FocusUtil'); }
|
|
4
|
-
/***************************************************************************
|
|
5
|
-
* *
|
|
6
|
-
* Public Methods *
|
|
7
|
-
* *
|
|
8
|
-
**************************************************************************/
|
|
9
|
-
/**
|
|
10
|
-
* Focus the given html element after the given delay.
|
|
11
|
-
* @param htmlElement
|
|
12
|
-
* @param delayMs
|
|
13
|
-
*/
|
|
14
|
-
static focusAfterDelay(htmlElement, delayMs = 1) {
|
|
15
|
-
if (htmlElement) {
|
|
16
|
-
setTimeout(() => {
|
|
17
|
-
htmlElement.focus();
|
|
18
|
-
htmlElement.select();
|
|
19
|
-
}, delayMs);
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9jdXMtdXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi91dGlscy9mb2N1cy11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUVwRCxNQUFNLE9BQU8sU0FBUzthQUNJLFFBQUcsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFBO0lBRWxFOzs7O2dGQUk0RTtJQUU1RTs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLGVBQWUsQ0FBQyxXQUE2QixFQUFFLE9BQU8sR0FBRyxDQUFDO1FBQ3RFLElBQUksV0FBVyxFQUFFLENBQUM7WUFDaEIsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDZCxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUE7Z0JBQ25CLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQTtZQUN0QixDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUE7UUFDYixDQUFDO0lBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvZ2dlckZhY3RvcnkgfSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcidcblxuZXhwb3J0IGNsYXNzIEZvY3VzVXRpbCB7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IGxvZyA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKCdGb2N1c1V0aWwnKVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgTWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIC8qKlxuICAgKiBGb2N1cyB0aGUgZ2l2ZW4gaHRtbCBlbGVtZW50IGFmdGVyIHRoZSBnaXZlbiBkZWxheS5cbiAgICogQHBhcmFtIGh0bWxFbGVtZW50XG4gICAqIEBwYXJhbSBkZWxheU1zXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZvY3VzQWZ0ZXJEZWxheShodG1sRWxlbWVudDogSFRNTElucHV0RWxlbWVudCwgZGVsYXlNcyA9IDEpOiB2b2lkIHtcbiAgICBpZiAoaHRtbEVsZW1lbnQpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBodG1sRWxlbWVudC5mb2N1cygpXG4gICAgICAgIGh0bWxFbGVtZW50LnNlbGVjdCgpXG4gICAgICB9LCBkZWxheU1zKVxuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export class InputUtils {
|
|
2
|
-
static isNoInputArgs(input) {
|
|
3
|
-
return input === '';
|
|
4
|
-
}
|
|
5
|
-
}
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21tb24vdXRpbHMvaW5wdXQtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZ0JBLE1BQU0sT0FBTyxVQUFVO0lBQ2QsTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFVO1FBQ3BDLE9BQU8sS0FBSyxLQUFLLEVBQUUsQ0FBQTtJQUNyQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRvIHN1cHBvcnQgZW1wdHkgaW5wdXQgYXR0cmlidXRlcyBhbmQgZmFsbCBiYWNrIHRvIGEgZGVmYXVsdCB2YWx1ZS5cbiAqIFRoaXMgaXMgY2VudHJhbGl6ZWQgaW4gY2FzZSBBbmd1bGFyIGV2ZXIgZGVjaWRlcyB0byBjaGFuZ2UgZW1wdHkgYXR0cmlidXRlc1xuICogdG8gYW5vdGhlciB2YWx1ZSB0aGFuIGFuIGVtcHR5IHN0cmluZyAodW5kZWZpbmVkLCBudWxsIGV0Yy4pXG4gKlxuICogZS5nLlxuICogPHNvbWUtY29tcG9uZW50IGRpcmVjdGl2ZUE+IDwvc29tZS1jb21wb25lbnQ+XG4gKlxuICogLkBJbnB1dChcImRpcmVjdGl2ZUFcIilcbiAqIHB1YmxpYyBzZXQgdmFsdWVBKGlucHV0OiBTb21lVHlwZSB8IElucHV0VXRpbHMpOiBTb21lVHlwZSB7XG4gKiAgIHJldHVybiBpbnB1dCBpbnN0YW5jZU9mIElucHV0VXRpbHMgPyBTb21lVHlwZS5FbXB0eSgpIDogaW5wdXQ7XG4gKiB9XG4gKlxuICovXG5leHBvcnQgdHlwZSBOb0lucHV0QXJncyA9ICcnXG5cbmV4cG9ydCBjbGFzcyBJbnB1dFV0aWxzIHtcbiAgcHVibGljIHN0YXRpYyBpc05vSW5wdXRBcmdzKGlucHV0OiBhbnkpOiBpbnB1dCBpcyBOb0lucHV0QXJncyB7XG4gICAgcmV0dXJuIGlucHV0ID09PSAnJ1xuICB9XG59XG4iXX0=
|