@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,64 +0,0 @@
|
|
|
1
|
-
import { Directive, Optional } from '@angular/core';
|
|
2
|
-
import { LoggerFactory } from '@elderbyte/ts-logger';
|
|
3
|
-
import { of } from 'rxjs';
|
|
4
|
-
import { catchError, filter, first, map, timeout } from 'rxjs/operators';
|
|
5
|
-
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "../../input/autocomplete/elder-autocomplete/elder-suggestion-panel.component";
|
|
8
|
-
import * as i2 from "./elder-auto-select-first.service";
|
|
9
|
-
export class ElderAutoSelectSuggestFirstDirective {
|
|
10
|
-
/***************************************************************************
|
|
11
|
-
* *
|
|
12
|
-
* Constructor *
|
|
13
|
-
* *
|
|
14
|
-
**************************************************************************/
|
|
15
|
-
constructor(elderAutoComplete, autoSelectFirstService, destroyRef) {
|
|
16
|
-
this.elderAutoComplete = elderAutoComplete;
|
|
17
|
-
this.autoSelectFirstService = autoSelectFirstService;
|
|
18
|
-
this.destroyRef = destroyRef;
|
|
19
|
-
/***************************************************************************
|
|
20
|
-
* *
|
|
21
|
-
* Fields *
|
|
22
|
-
* *
|
|
23
|
-
**************************************************************************/
|
|
24
|
-
this.log = LoggerFactory.getLogger(this.constructor.name);
|
|
25
|
-
if (autoSelectFirstService) {
|
|
26
|
-
this.subscribeToAutoSelectFirstService();
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
/***************************************************************************
|
|
30
|
-
* *
|
|
31
|
-
* Private methods *
|
|
32
|
-
* *
|
|
33
|
-
**************************************************************************/
|
|
34
|
-
subscribeToAutoSelectFirstService() {
|
|
35
|
-
this.autoSelectFirstService.enabled$
|
|
36
|
-
.pipe(takeUntilDestroyed(this.destroyRef), filter((enabled) => enabled))
|
|
37
|
-
.subscribe((enabled) => this.suggestFirstItem());
|
|
38
|
-
}
|
|
39
|
-
suggestFirstItem() {
|
|
40
|
-
this.log.debug('Suggesting first item to be selected...');
|
|
41
|
-
this.selectFirstItemInDataContext(this.elderAutoComplete.dataContext).subscribe((entity) => this.autoSelectFirstService.suggestFirstItem(entity));
|
|
42
|
-
}
|
|
43
|
-
selectFirstItemInDataContext(suggestionsDc) {
|
|
44
|
-
return suggestionsDc?.isStarted ? this.firstItemInDataContextSoon(suggestionsDc) : of(null);
|
|
45
|
-
}
|
|
46
|
-
firstItemInDataContextSoon(dataContext) {
|
|
47
|
-
return dataContext.data.pipe(filter((data) => data && data.length > 0), map((data) => data[0]), timeout(250), catchError((timeoutError) => {
|
|
48
|
-
this.log.warn('Gave up waiting for DataContext items, timeout reached. Falling back to sugestion lookup.', timeoutError);
|
|
49
|
-
return of(null);
|
|
50
|
-
}), first());
|
|
51
|
-
}
|
|
52
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderAutoSelectSuggestFirstDirective, deps: [{ token: i1.ElderSuggestionPanelComponent }, { token: i2.ElderAutoSelectFirstService, optional: true }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
53
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: ElderAutoSelectSuggestFirstDirective, isStandalone: true, selector: "[elderAutoSelectSuggestFirst]", ngImport: i0 }); }
|
|
54
|
-
}
|
|
55
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderAutoSelectSuggestFirstDirective, decorators: [{
|
|
56
|
-
type: Directive,
|
|
57
|
-
args: [{
|
|
58
|
-
selector: '[elderAutoSelectSuggestFirst]',
|
|
59
|
-
standalone: true,
|
|
60
|
-
}]
|
|
61
|
-
}], ctorParameters: () => [{ type: i1.ElderSuggestionPanelComponent }, { type: i2.ElderAutoSelectFirstService, decorators: [{
|
|
62
|
-
type: Optional
|
|
63
|
-
}] }, { type: i0.DestroyRef }] });
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItYXV0by1zZWxlY3Qtc3VnZ2VzdC1maXJzdC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC9hdXRvL2VsZGVyLWF1dG8tc2VsZWN0LXN1Z2dlc3QtZmlyc3QuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQy9ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUlwRCxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ3JDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDeEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUE7Ozs7QUFNL0QsTUFBTSxPQUFPLG9DQUFvQztJQVMvQzs7OztnRkFJNEU7SUFFNUUsWUFDa0IsaUJBQThELEVBQ2pELHNCQUE0RCxFQUN4RSxVQUFzQjtRQUZ2QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQTZDO1FBQ2pELDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBc0M7UUFDeEUsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQWpCekM7Ozs7b0ZBSTRFO1FBRTNELFFBQUcsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUE7UUFhbkUsSUFBSSxzQkFBc0IsRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxpQ0FBaUMsRUFBRSxDQUFBO1FBQzFDLENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRXBFLGlDQUFpQztRQUN2QyxJQUFJLENBQUMsc0JBQXNCLENBQUMsUUFBUTthQUNqQyxJQUFJLENBQ0gsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUNuQyxNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUM3QjthQUNBLFNBQVMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQTtJQUNwRCxDQUFDO0lBRU8sZ0JBQWdCO1FBQ3RCLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLHlDQUF5QyxDQUFDLENBQUE7UUFDekQsSUFBSSxDQUFDLDRCQUE0QixDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUN6RixJQUFJLENBQUMsc0JBQXNCLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQ3JELENBQUE7SUFDSCxDQUFDO0lBRU8sNEJBQTRCLENBQ2xDLGFBQW9DO1FBRXBDLE9BQU8sYUFBYSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDN0YsQ0FBQztJQUVPLDBCQUEwQixDQUNoQyxXQUFrQztRQUVsQyxPQUFPLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUMxQixNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUN6QyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUN0QixPQUFPLENBQUMsR0FBRyxDQUFDLEVBQ1osVUFBVSxDQUFDLENBQUMsWUFBWSxFQUFFLEVBQUU7WUFDMUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQ1gsMkZBQTJGLEVBQzNGLFlBQVksQ0FDYixDQUFBO1lBQ0QsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDakIsQ0FBQyxDQUFDLEVBQ0YsS0FBSyxFQUFFLENBQ1IsQ0FBQTtJQUNILENBQUM7K0dBckVVLG9DQUFvQzttR0FBcEMsb0NBQW9DOzs0RkFBcEMsb0NBQW9DO2tCQUpoRCxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwrQkFBK0I7b0JBQ3pDLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs7MEJBa0JJLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZXN0cm95UmVmLCBEaXJlY3RpdmUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IExvZ2dlckZhY3RvcnkgfSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcidcbmltcG9ydCB7IEVsZGVyU3VnZ2VzdGlvblBhbmVsQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vaW5wdXQvYXV0b2NvbXBsZXRlL2VsZGVyLWF1dG9jb21wbGV0ZS9lbGRlci1zdWdnZXN0aW9uLXBhbmVsLmNvbXBvbmVudCdcbmltcG9ydCB7IEVsZGVyQXV0b1NlbGVjdEZpcnN0U2VydmljZSB9IGZyb20gJy4vZWxkZXItYXV0by1zZWxlY3QtZmlyc3Quc2VydmljZSdcbmltcG9ydCB7IElEYXRhQ29udGV4dCB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9kYXRhL2RhdGEtY29udGV4dC9kYXRhLWNvbnRleHQnXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBmaWx0ZXIsIGZpcnN0LCBtYXAsIHRpbWVvdXQgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJ1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZWxkZXJBdXRvU2VsZWN0U3VnZ2VzdEZpcnN0XScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyQXV0b1NlbGVjdFN1Z2dlc3RGaXJzdERpcmVjdGl2ZTxURW50aXR5ID0gYW55LCBUSWQgPSBhbnk+IHtcbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBsb2cgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpXG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IGVsZGVyQXV0b0NvbXBsZXRlOiBFbGRlclN1Z2dlc3Rpb25QYW5lbENvbXBvbmVudDxURW50aXR5LCBUSWQ+LFxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgcmVhZG9ubHkgYXV0b1NlbGVjdEZpcnN0U2VydmljZTogRWxkZXJBdXRvU2VsZWN0Rmlyc3RTZXJ2aWNlPFRFbnRpdHk+LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZjogRGVzdHJveVJlZlxuICApIHtcbiAgICBpZiAoYXV0b1NlbGVjdEZpcnN0U2VydmljZSkge1xuICAgICAgdGhpcy5zdWJzY3JpYmVUb0F1dG9TZWxlY3RGaXJzdFNlcnZpY2UoKVxuICAgIH1cbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgc3Vic2NyaWJlVG9BdXRvU2VsZWN0Rmlyc3RTZXJ2aWNlKCkge1xuICAgIHRoaXMuYXV0b1NlbGVjdEZpcnN0U2VydmljZS5lbmFibGVkJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpLFxuICAgICAgICBmaWx0ZXIoKGVuYWJsZWQpID0+IGVuYWJsZWQpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChlbmFibGVkKSA9PiB0aGlzLnN1Z2dlc3RGaXJzdEl0ZW0oKSlcbiAgfVxuXG4gIHByaXZhdGUgc3VnZ2VzdEZpcnN0SXRlbSgpOiB2b2lkIHtcbiAgICB0aGlzLmxvZy5kZWJ1ZygnU3VnZ2VzdGluZyBmaXJzdCBpdGVtIHRvIGJlIHNlbGVjdGVkLi4uJylcbiAgICB0aGlzLnNlbGVjdEZpcnN0SXRlbUluRGF0YUNvbnRleHQodGhpcy5lbGRlckF1dG9Db21wbGV0ZS5kYXRhQ29udGV4dCkuc3Vic2NyaWJlKChlbnRpdHkpID0+XG4gICAgICB0aGlzLmF1dG9TZWxlY3RGaXJzdFNlcnZpY2Uuc3VnZ2VzdEZpcnN0SXRlbShlbnRpdHkpXG4gICAgKVxuICB9XG5cbiAgcHJpdmF0ZSBzZWxlY3RGaXJzdEl0ZW1JbkRhdGFDb250ZXh0PFRFbnRpdHksIFRJZD4oXG4gICAgc3VnZ2VzdGlvbnNEYzogSURhdGFDb250ZXh0PFRFbnRpdHk+XG4gICk6IE9ic2VydmFibGU8VEVudGl0eT4ge1xuICAgIHJldHVybiBzdWdnZXN0aW9uc0RjPy5pc1N0YXJ0ZWQgPyB0aGlzLmZpcnN0SXRlbUluRGF0YUNvbnRleHRTb29uKHN1Z2dlc3Rpb25zRGMpIDogb2YobnVsbClcbiAgfVxuXG4gIHByaXZhdGUgZmlyc3RJdGVtSW5EYXRhQ29udGV4dFNvb248VEVudGl0eT4oXG4gICAgZGF0YUNvbnRleHQ6IElEYXRhQ29udGV4dDxURW50aXR5PlxuICApOiBPYnNlcnZhYmxlPFRFbnRpdHkgfCBudWxsPiB7XG4gICAgcmV0dXJuIGRhdGFDb250ZXh0LmRhdGEucGlwZShcbiAgICAgIGZpbHRlcigoZGF0YSkgPT4gZGF0YSAmJiBkYXRhLmxlbmd0aCA+IDApLFxuICAgICAgbWFwKChkYXRhKSA9PiBkYXRhWzBdKSxcbiAgICAgIHRpbWVvdXQoMjUwKSxcbiAgICAgIGNhdGNoRXJyb3IoKHRpbWVvdXRFcnJvcikgPT4ge1xuICAgICAgICB0aGlzLmxvZy53YXJuKFxuICAgICAgICAgICdHYXZlIHVwIHdhaXRpbmcgZm9yIERhdGFDb250ZXh0IGl0ZW1zLCB0aW1lb3V0IHJlYWNoZWQuIEZhbGxpbmcgYmFjayB0byBzdWdlc3Rpb24gbG9va3VwLicsXG4gICAgICAgICAgdGltZW91dEVycm9yXG4gICAgICAgIClcbiAgICAgICAgcmV0dXJuIG9mKG51bGwpXG4gICAgICB9KSxcbiAgICAgIGZpcnN0KClcbiAgICApXG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { EMPTY, of } from 'rxjs';
|
|
2
|
-
import { catchError, filter, switchMap, takeUntil, tap } from 'rxjs/operators';
|
|
3
|
-
import { ElderSelectComponentState } from '../elder-select-base';
|
|
4
|
-
import { DataSourceAdapter } from '../../../common/data/datasource/data-source-adapter';
|
|
5
|
-
import { LoggerFactory } from '@elderbyte/ts-logger';
|
|
6
|
-
export class ElderSelectFirstUtil {
|
|
7
|
-
/***************************************************************************
|
|
8
|
-
* *
|
|
9
|
-
* Fields *
|
|
10
|
-
* *
|
|
11
|
-
**************************************************************************/
|
|
12
|
-
static { this.log = LoggerFactory.getLogger('ElderSelectFirstUtil'); }
|
|
13
|
-
/***************************************************************************
|
|
14
|
-
* *
|
|
15
|
-
* Public methods *
|
|
16
|
-
* *
|
|
17
|
-
**************************************************************************/
|
|
18
|
-
static trySelectFirst(elderSelect, oFirstItem) {
|
|
19
|
-
oFirstItem
|
|
20
|
-
.pipe(takeUntil(elderSelect.valueChange.pipe(filter((value) => !!value))), switchMap((firstItem) => firstItem ? of(firstItem) : this.firstSuggestionItem(elderSelect)))
|
|
21
|
-
.subscribe((firstItem) => {
|
|
22
|
-
if (firstItem && !elderSelect.entityId) {
|
|
23
|
-
elderSelect.updateValueByEntity(firstItem);
|
|
24
|
-
}
|
|
25
|
-
}, (err) => {
|
|
26
|
-
elderSelect.updateState(ElderSelectComponentState.error(err));
|
|
27
|
-
this.log.error('Failed to load first entity for auto-select-first flow!', err);
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
/***************************************************************************
|
|
31
|
-
* *
|
|
32
|
-
* Private methods *
|
|
33
|
-
* *
|
|
34
|
-
**************************************************************************/
|
|
35
|
-
static firstSuggestionItem(elderSelect) {
|
|
36
|
-
const suggestionsDc = elderSelect.dataContext;
|
|
37
|
-
const dataSource = suggestionsDc?.dataSource;
|
|
38
|
-
if (dataSource) {
|
|
39
|
-
elderSelect.updateState(ElderSelectComponentState.loading());
|
|
40
|
-
return DataSourceAdapter.from(dataSource)
|
|
41
|
-
.findFirst(elderSelect.filters, elderSelect.sorts)
|
|
42
|
-
.pipe(tap(() => elderSelect.updateState(ElderSelectComponentState.idle())), catchError((err) => {
|
|
43
|
-
this.log.error('Failed to load suggestions!', err);
|
|
44
|
-
elderSelect.updateState(ElderSelectComponentState.error(err));
|
|
45
|
-
return of(null);
|
|
46
|
-
}));
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
this.log.warn('Failed to load first suggestion!');
|
|
50
|
-
elderSelect.updateState(ElderSelectComponentState.idle());
|
|
51
|
-
return EMPTY;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItc2VsZWN0LWZpcnN0LXV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC9hdXRvL2VsZGVyLXNlbGVjdC1maXJzdC11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDOUUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scURBQXFELENBQUE7QUFFdkYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBRXBELE1BQU0sT0FBTyxvQkFBb0I7SUFDL0I7Ozs7Z0ZBSTRFO2FBRXBELFFBQUcsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLHNCQUFzQixDQUFDLENBQUE7SUFFN0U7Ozs7Z0ZBSTRFO0lBRXJFLE1BQU0sQ0FBQyxjQUFjLENBQzFCLFdBQW9ELEVBQ3BELFVBQStCO1FBRS9CLFVBQVU7YUFDUCxJQUFJLENBQ0gsU0FBUyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFDbkUsU0FBUyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FDdEIsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsQ0FDbEUsQ0FDRjthQUNBLFNBQVMsQ0FDUixDQUFDLFNBQVMsRUFBRSxFQUFFO1lBQ1osSUFBSSxTQUFTLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ3ZDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsQ0FBQTtZQUM1QyxDQUFDO1FBQ0gsQ0FBQyxFQUNELENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDTixXQUFXLENBQUMsV0FBVyxDQUFDLHlCQUF5QixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO1lBQzdELElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLHlEQUF5RCxFQUFFLEdBQUcsQ0FBQyxDQUFBO1FBQ2hGLENBQUMsQ0FDRixDQUFBO0lBQ0wsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVwRSxNQUFNLENBQUMsbUJBQW1CLENBQ2hDLFdBQW9EO1FBRXBELE1BQU0sYUFBYSxHQUFHLFdBQVcsQ0FBQyxXQUFXLENBQUE7UUFDN0MsTUFBTSxVQUFVLEdBQUcsYUFBYSxFQUFFLFVBQVUsQ0FBQTtRQUU1QyxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2YsV0FBVyxDQUFDLFdBQVcsQ0FBQyx5QkFBeUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFBO1lBRTVELE9BQU8saUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztpQkFDdEMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDLEtBQUssQ0FBQztpQkFDakQsSUFBSSxDQUNILEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLHlCQUF5QixDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsRUFDcEUsVUFBVSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLDZCQUE2QixFQUFFLEdBQUcsQ0FBQyxDQUFBO2dCQUNsRCxXQUFXLENBQUMsV0FBVyxDQUFDLHlCQUF5QixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO2dCQUM3RCxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUNqQixDQUFDLENBQUMsQ0FDSCxDQUFBO1FBQ0wsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFBO1lBQ2pELFdBQVcsQ0FBQyxXQUFXLENBQUMseUJBQXlCLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQTtZQUN6RCxPQUFPLEtBQUssQ0FBQTtRQUNkLENBQUM7SUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRU1QVFksIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpbHRlciwgc3dpdGNoTWFwLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0IHsgRWxkZXJTZWxlY3RDb21wb25lbnRTdGF0ZSB9IGZyb20gJy4uL2VsZGVyLXNlbGVjdC1iYXNlJ1xuaW1wb3J0IHsgRGF0YVNvdXJjZUFkYXB0ZXIgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZGF0YS9kYXRhc291cmNlL2RhdGEtc291cmNlLWFkYXB0ZXInXG5pbXBvcnQgeyBFbGRlclNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4uL3NpbmdsZS9lbGRlci1zZWxlY3QvZWxkZXItc2VsZWN0LmNvbXBvbmVudCdcbmltcG9ydCB7IExvZ2dlckZhY3RvcnkgfSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcidcblxuZXhwb3J0IGNsYXNzIEVsZGVyU2VsZWN0Rmlyc3RVdGlsIHtcbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgbG9nID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIoJ0VsZGVyU2VsZWN0Rmlyc3RVdGlsJylcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgc3RhdGljIHRyeVNlbGVjdEZpcnN0PFRFbnRpdHksIFRJZD4oXG4gICAgZWxkZXJTZWxlY3Q6IEVsZGVyU2VsZWN0Q29tcG9uZW50PFRFbnRpdHksIFRJZCwgYW55PixcbiAgICBvRmlyc3RJdGVtOiBPYnNlcnZhYmxlPFRFbnRpdHk+XG4gICk6IHZvaWQge1xuICAgIG9GaXJzdEl0ZW1cbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwoZWxkZXJTZWxlY3QudmFsdWVDaGFuZ2UucGlwZShmaWx0ZXIoKHZhbHVlKSA9PiAhIXZhbHVlKSkpLFxuICAgICAgICBzd2l0Y2hNYXAoKGZpcnN0SXRlbSkgPT5cbiAgICAgICAgICBmaXJzdEl0ZW0gPyBvZihmaXJzdEl0ZW0pIDogdGhpcy5maXJzdFN1Z2dlc3Rpb25JdGVtKGVsZGVyU2VsZWN0KVxuICAgICAgICApXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAoZmlyc3RJdGVtKSA9PiB7XG4gICAgICAgICAgaWYgKGZpcnN0SXRlbSAmJiAhZWxkZXJTZWxlY3QuZW50aXR5SWQpIHtcbiAgICAgICAgICAgIGVsZGVyU2VsZWN0LnVwZGF0ZVZhbHVlQnlFbnRpdHkoZmlyc3RJdGVtKVxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgKGVycikgPT4ge1xuICAgICAgICAgIGVsZGVyU2VsZWN0LnVwZGF0ZVN0YXRlKEVsZGVyU2VsZWN0Q29tcG9uZW50U3RhdGUuZXJyb3IoZXJyKSlcbiAgICAgICAgICB0aGlzLmxvZy5lcnJvcignRmFpbGVkIHRvIGxvYWQgZmlyc3QgZW50aXR5IGZvciBhdXRvLXNlbGVjdC1maXJzdCBmbG93IScsIGVycilcbiAgICAgICAgfVxuICAgICAgKVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSBzdGF0aWMgZmlyc3RTdWdnZXN0aW9uSXRlbTxURW50aXR5LCBUSWQ+KFxuICAgIGVsZGVyU2VsZWN0OiBFbGRlclNlbGVjdENvbXBvbmVudDxURW50aXR5LCBUSWQsIGFueT5cbiAgKTogT2JzZXJ2YWJsZTxURW50aXR5IHwgbnVsbD4ge1xuICAgIGNvbnN0IHN1Z2dlc3Rpb25zRGMgPSBlbGRlclNlbGVjdC5kYXRhQ29udGV4dFxuICAgIGNvbnN0IGRhdGFTb3VyY2UgPSBzdWdnZXN0aW9uc0RjPy5kYXRhU291cmNlXG5cbiAgICBpZiAoZGF0YVNvdXJjZSkge1xuICAgICAgZWxkZXJTZWxlY3QudXBkYXRlU3RhdGUoRWxkZXJTZWxlY3RDb21wb25lbnRTdGF0ZS5sb2FkaW5nKCkpXG5cbiAgICAgIHJldHVybiBEYXRhU291cmNlQWRhcHRlci5mcm9tKGRhdGFTb3VyY2UpXG4gICAgICAgIC5maW5kRmlyc3QoZWxkZXJTZWxlY3QuZmlsdGVycywgZWxkZXJTZWxlY3Quc29ydHMpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIHRhcCgoKSA9PiBlbGRlclNlbGVjdC51cGRhdGVTdGF0ZShFbGRlclNlbGVjdENvbXBvbmVudFN0YXRlLmlkbGUoKSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xuICAgICAgICAgICAgdGhpcy5sb2cuZXJyb3IoJ0ZhaWxlZCB0byBsb2FkIHN1Z2dlc3Rpb25zIScsIGVycilcbiAgICAgICAgICAgIGVsZGVyU2VsZWN0LnVwZGF0ZVN0YXRlKEVsZGVyU2VsZWN0Q29tcG9uZW50U3RhdGUuZXJyb3IoZXJyKSlcbiAgICAgICAgICAgIHJldHVybiBvZihudWxsKVxuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5sb2cud2FybignRmFpbGVkIHRvIGxvYWQgZmlyc3Qgc3VnZ2VzdGlvbiEnKVxuICAgICAgZWxkZXJTZWxlY3QudXBkYXRlU3RhdGUoRWxkZXJTZWxlY3RDb21wb25lbnRTdGF0ZS5pZGxlKCkpXG4gICAgICByZXR1cm4gRU1QVFlcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,333 +0,0 @@
|
|
|
1
|
-
import { ContentChild, ContentChildren, Directive, EventEmitter, InjectionToken, Input, model, Output, signal, TemplateRef, untracked, } from '@angular/core';
|
|
2
|
-
import { BehaviorSubject } from 'rxjs';
|
|
3
|
-
import { LoggerFactory } from '@elderbyte/ts-logger';
|
|
4
|
-
import { DataContextBuilder } from '../../common/data/data-context/data-context-builder';
|
|
5
|
-
import { ElderSelectValueDirective } from './elder-select-value.directive';
|
|
6
|
-
import { SelectionModelPopupDirective } from './popup/selection-model-popup.directive';
|
|
7
|
-
import { FilterContext } from '../../common/data/filters/filter-context';
|
|
8
|
-
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
9
|
-
import { ElderFormFieldControlBase } from '../../common/forms/elder-form-field-control-base.directive';
|
|
10
|
-
import { ElderSelectOptionComponent } from './multi/elder-chip-select-option/elder-select-option.component';
|
|
11
|
-
import { toObservable } from '@angular/core/rxjs-interop';
|
|
12
|
-
import * as i0 from "@angular/core";
|
|
13
|
-
export class ElderSelectComponentState {
|
|
14
|
-
static fromDataContext(dcState) {
|
|
15
|
-
if (dcState.loading) {
|
|
16
|
-
return ElderSelectComponentState.loading();
|
|
17
|
-
}
|
|
18
|
-
else if (dcState.error) {
|
|
19
|
-
return ElderSelectComponentState.error(dcState.error);
|
|
20
|
-
}
|
|
21
|
-
else {
|
|
22
|
-
return ElderSelectComponentState.idle();
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
static idle() {
|
|
26
|
-
return new ElderSelectComponentState(true, false, null);
|
|
27
|
-
}
|
|
28
|
-
static loading() {
|
|
29
|
-
return new ElderSelectComponentState(false, true, null);
|
|
30
|
-
}
|
|
31
|
-
static error(error) {
|
|
32
|
-
let errorMsg;
|
|
33
|
-
if (typeof error === 'object') {
|
|
34
|
-
errorMsg = JSON.stringify(error);
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
errorMsg = error;
|
|
38
|
-
}
|
|
39
|
-
return new ElderSelectComponentState(false, false, errorMsg);
|
|
40
|
-
}
|
|
41
|
-
constructor(idle, loading, error) {
|
|
42
|
-
this.idle = idle;
|
|
43
|
-
this.loading = loading;
|
|
44
|
-
this.error = error;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
export const ELDER_SELECT_BASE = new InjectionToken('ElderSelectBase');
|
|
48
|
-
/**
|
|
49
|
-
* Base component for Elder Selection Controls.
|
|
50
|
-
*
|
|
51
|
-
* Elder Selection has the following abstract concept:
|
|
52
|
-
*
|
|
53
|
-
* - Suggestion-Model: A DataSource and derived DataContext for the (auto-complete) suggestions.
|
|
54
|
-
*
|
|
55
|
-
* @param TID Entity Id Type
|
|
56
|
-
* @param T Entity Type
|
|
57
|
-
* @param TValue Value backing the control. Can be the entity, the id or something else.
|
|
58
|
-
*/
|
|
59
|
-
// eslint-disable-next-line @angular-eslint/directive-class-suffix
|
|
60
|
-
export class ElderSelectBase extends ElderFormFieldControlBase {
|
|
61
|
-
/***************************************************************************
|
|
62
|
-
* *
|
|
63
|
-
* Constructor *
|
|
64
|
-
* *
|
|
65
|
-
**************************************************************************/
|
|
66
|
-
constructor(controlType) {
|
|
67
|
-
super(controlType);
|
|
68
|
-
/***************************************************************************
|
|
69
|
-
* *
|
|
70
|
-
* Fields *
|
|
71
|
-
* *
|
|
72
|
-
**************************************************************************/
|
|
73
|
-
this._logger = LoggerFactory.getLogger(this.constructor.name);
|
|
74
|
-
this._filterContext = new FilterContext();
|
|
75
|
-
this._templateOptions$ = new BehaviorSubject([]);
|
|
76
|
-
this.timeoutAfterMs = 5000;
|
|
77
|
-
/**
|
|
78
|
-
* Define if elder-select should clean up the
|
|
79
|
-
* data-context resources for you.
|
|
80
|
-
*
|
|
81
|
-
* In more advanced scenarios where you plan to reuse the same data-context
|
|
82
|
-
* set this to false and release the resources yourself. (dataContext.close)
|
|
83
|
-
*/
|
|
84
|
-
this.cleanUp = true;
|
|
85
|
-
this.displayPropertyResolverS = model((value) => this.propertyStringValue(value, null), {
|
|
86
|
-
alias: 'displayPropertyResolver',
|
|
87
|
-
});
|
|
88
|
-
this.displayPropertyResolver$ = toObservable(this.displayPropertyResolverS);
|
|
89
|
-
/**
|
|
90
|
-
* Entity DataContext, which is used
|
|
91
|
-
* to side load entities by id and also
|
|
92
|
-
* to load suggestions when auto-completing.
|
|
93
|
-
*/
|
|
94
|
-
this._dataContext = signal(null);
|
|
95
|
-
this.dataContextS = this._dataContext;
|
|
96
|
-
this.dataContext$ = toObservable(this._dataContext);
|
|
97
|
-
/**
|
|
98
|
-
* Page size. (Used for infinite scrolling chunks)
|
|
99
|
-
*/
|
|
100
|
-
this.pageSize = 10;
|
|
101
|
-
this.queryFilter = 'query';
|
|
102
|
-
this.sorts = [];
|
|
103
|
-
/**
|
|
104
|
-
* Emits an event when the user has clicked on the current
|
|
105
|
-
* selected entity.
|
|
106
|
-
*/
|
|
107
|
-
this.currentClicked = new EventEmitter();
|
|
108
|
-
this.state = signal(ElderSelectComponentState.idle());
|
|
109
|
-
this.state$ = toObservable(this.state);
|
|
110
|
-
}
|
|
111
|
-
/***************************************************************************
|
|
112
|
-
* *
|
|
113
|
-
* Properties *
|
|
114
|
-
* *
|
|
115
|
-
**************************************************************************/
|
|
116
|
-
set valueAsId(valueAsId) {
|
|
117
|
-
this._valueAsId = coerceBooleanProperty(valueAsId);
|
|
118
|
-
}
|
|
119
|
-
get valueAsId() {
|
|
120
|
-
return this._valueAsId;
|
|
121
|
-
}
|
|
122
|
-
/**
|
|
123
|
-
* The property used to display the values.
|
|
124
|
-
*/
|
|
125
|
-
set displayProperty(property) {
|
|
126
|
-
this.displayPropertyResolverS.set((value) => this.propertyStringValue(value, property));
|
|
127
|
-
}
|
|
128
|
-
set displayPropertyResolver(resolver) {
|
|
129
|
-
this.displayPropertyResolverS.set(resolver);
|
|
130
|
-
}
|
|
131
|
-
set filters(filters) {
|
|
132
|
-
this.replaceFilters(filters);
|
|
133
|
-
}
|
|
134
|
-
get filters() {
|
|
135
|
-
return this._filterContext.filtersSnapshot;
|
|
136
|
-
}
|
|
137
|
-
set dataSource(source) {
|
|
138
|
-
this.dataContext = DataContextBuilder.start().pageSize(this.pageSize).build(source);
|
|
139
|
-
}
|
|
140
|
-
get dataSource() {
|
|
141
|
-
return this.dataContext?.dataSource;
|
|
142
|
-
}
|
|
143
|
-
set data(data) {
|
|
144
|
-
this.autoCleanUp();
|
|
145
|
-
if (data instanceof Array) {
|
|
146
|
-
this.dataContext = DataContextBuilder.start().localSort().buildLocal(data); // Memory leak
|
|
147
|
-
this.dataContext.start();
|
|
148
|
-
}
|
|
149
|
-
else {
|
|
150
|
-
if (data) {
|
|
151
|
-
this.dataContext = data;
|
|
152
|
-
}
|
|
153
|
-
else {
|
|
154
|
-
this.dataContext = DataContextBuilder.start().buildEmpty();
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
set dataContext(data) {
|
|
159
|
-
this.autoCleanUp();
|
|
160
|
-
this._dataContext.set(data);
|
|
161
|
-
this.onDataContextChanged(data);
|
|
162
|
-
}
|
|
163
|
-
get dataContext() {
|
|
164
|
-
return untracked(this._dataContext);
|
|
165
|
-
}
|
|
166
|
-
set valueTemplate(template) {
|
|
167
|
-
this._valueTemplate = template;
|
|
168
|
-
}
|
|
169
|
-
get valueTemplate() {
|
|
170
|
-
return this._valueTemplate || this.valueTemplateQuery;
|
|
171
|
-
}
|
|
172
|
-
get errorState() {
|
|
173
|
-
return !!this.state().error || super.errorState;
|
|
174
|
-
}
|
|
175
|
-
/***************************************************************************
|
|
176
|
-
* *
|
|
177
|
-
* Public API *
|
|
178
|
-
* *
|
|
179
|
-
**************************************************************************/
|
|
180
|
-
onCurrentClicked(entity) {
|
|
181
|
-
if (entity !== undefined && entity !== null) {
|
|
182
|
-
this.currentClicked.emit(entity);
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
updateFilter(updatedFilter) {
|
|
186
|
-
this._filterContext.updateFilter(updatedFilter);
|
|
187
|
-
}
|
|
188
|
-
updateFilters(updatedFilters) {
|
|
189
|
-
this._filterContext.updateFilters(updatedFilters);
|
|
190
|
-
}
|
|
191
|
-
replaceFilters(newFilters) {
|
|
192
|
-
this._filterContext.replaceFilters(newFilters);
|
|
193
|
-
}
|
|
194
|
-
clearFilters() {
|
|
195
|
-
this._filterContext.clear();
|
|
196
|
-
}
|
|
197
|
-
updateState(state) {
|
|
198
|
-
if (state.error) {
|
|
199
|
-
this._logger.warn('updateState to Error: ' + state.error);
|
|
200
|
-
}
|
|
201
|
-
this.state.set(state);
|
|
202
|
-
this.emitStateChange();
|
|
203
|
-
}
|
|
204
|
-
get shouldLabelFloat() {
|
|
205
|
-
return this.errorState || !!this.icon || super.shouldLabelFloat;
|
|
206
|
-
}
|
|
207
|
-
set templateOptions$(comps) {
|
|
208
|
-
this._templateOptions$.next(comps);
|
|
209
|
-
}
|
|
210
|
-
get templateOptions$() {
|
|
211
|
-
return this._templateOptions$.asObservable();
|
|
212
|
-
}
|
|
213
|
-
getEntityId(entity) {
|
|
214
|
-
try {
|
|
215
|
-
return this.dataSourceOrThrow().getId(entity);
|
|
216
|
-
}
|
|
217
|
-
catch (e) {
|
|
218
|
-
if (e instanceof Error) {
|
|
219
|
-
throw new Error('Failed to extract id from entity since no dataSource is available! Caused by ' +
|
|
220
|
-
e?.message);
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
}
|
|
224
|
-
/***************************************************************************
|
|
225
|
-
* *
|
|
226
|
-
* Internal API *
|
|
227
|
-
* *
|
|
228
|
-
**************************************************************************/
|
|
229
|
-
dataSourceOrThrow() {
|
|
230
|
-
if (this.dataContext) {
|
|
231
|
-
const dataSource = this.dataContext.dataSource;
|
|
232
|
-
if (dataSource) {
|
|
233
|
-
return dataSource;
|
|
234
|
-
}
|
|
235
|
-
else {
|
|
236
|
-
throw new Error('The provided DataContext has not DataSource, which is required for valueAsId! ' +
|
|
237
|
-
typeof this.dataContext);
|
|
238
|
-
}
|
|
239
|
-
}
|
|
240
|
-
else {
|
|
241
|
-
throw new Error('No DataContext available! A DataContext (DataSource) is required for valueAsId!');
|
|
242
|
-
}
|
|
243
|
-
}
|
|
244
|
-
isEqual(a, b) {
|
|
245
|
-
if (a === b) {
|
|
246
|
-
return true;
|
|
247
|
-
}
|
|
248
|
-
if (this.isEmpty(a) && this.isEmpty(b)) {
|
|
249
|
-
// HACK: Handle empty string as undefined.
|
|
250
|
-
return true;
|
|
251
|
-
}
|
|
252
|
-
return this.getEntityId(a) === this.getEntityId(b);
|
|
253
|
-
}
|
|
254
|
-
isEmpty(a) {
|
|
255
|
-
return a === null || a === undefined || a === '';
|
|
256
|
-
}
|
|
257
|
-
/**
|
|
258
|
-
* Performs clean up of the current data context if auto clean up is enabled.
|
|
259
|
-
*/
|
|
260
|
-
autoCleanUp() {
|
|
261
|
-
if (this.cleanUp && this.dataContext) {
|
|
262
|
-
this._logger.debug('Releasing DataContext resources to prevent memory leak. [cleanUp]="true"');
|
|
263
|
-
this.dataContext.close();
|
|
264
|
-
}
|
|
265
|
-
}
|
|
266
|
-
propertyStringValue(entity, property) {
|
|
267
|
-
if (entity === null || entity === undefined) {
|
|
268
|
-
return null;
|
|
269
|
-
}
|
|
270
|
-
let value;
|
|
271
|
-
if (property) {
|
|
272
|
-
value = entity[property];
|
|
273
|
-
}
|
|
274
|
-
else if (this.isObject(entity)) {
|
|
275
|
-
value = JSON.stringify(entity);
|
|
276
|
-
}
|
|
277
|
-
else {
|
|
278
|
-
value = entity;
|
|
279
|
-
}
|
|
280
|
-
return String(value);
|
|
281
|
-
}
|
|
282
|
-
isObject(val) {
|
|
283
|
-
if (val === null) {
|
|
284
|
-
return false;
|
|
285
|
-
}
|
|
286
|
-
return typeof val === 'function' || typeof val === 'object';
|
|
287
|
-
}
|
|
288
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderSelectBase, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive }); }
|
|
289
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.13", type: ElderSelectBase, inputs: { cleanUp: { classPropertyName: "cleanUp", publicName: "cleanUp", isSignal: false, isRequired: false, transformFunction: null }, displayPropertyResolverS: { classPropertyName: "displayPropertyResolverS", publicName: "displayPropertyResolver", isSignal: true, isRequired: false, transformFunction: null }, pageSize: { classPropertyName: "pageSize", publicName: "pageSize", isSignal: false, isRequired: false, transformFunction: null }, queryFilter: { classPropertyName: "queryFilter", publicName: "queryFilter", isSignal: false, isRequired: false, transformFunction: null }, sorts: { classPropertyName: "sorts", publicName: "sorts", isSignal: false, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: false, isRequired: false, transformFunction: null }, isOptionDisabledFn: { classPropertyName: "isOptionDisabledFn", publicName: "isOptionDisabledFn", isSignal: false, isRequired: false, transformFunction: null }, isOptionHiddenFn: { classPropertyName: "isOptionHiddenFn", publicName: "isOptionHiddenFn", isSignal: false, isRequired: false, transformFunction: null }, valueAsId: { classPropertyName: "valueAsId", publicName: "valueAsId", isSignal: false, isRequired: false, transformFunction: null }, displayProperty: { classPropertyName: "displayProperty", publicName: "displayProperty", isSignal: false, isRequired: false, transformFunction: null }, displayPropertyResolver: { classPropertyName: "displayPropertyResolver", publicName: "displayPropertyResolver", isSignal: false, isRequired: false, transformFunction: null }, filters: { classPropertyName: "filters", publicName: "filters", isSignal: false, isRequired: false, transformFunction: null }, dataSource: { classPropertyName: "dataSource", publicName: "dataSource", isSignal: false, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: false, isRequired: false, transformFunction: null }, valueTemplate: { classPropertyName: "valueTemplate", publicName: "valueTemplate", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { displayPropertyResolverS: "displayPropertyResolverChange", currentClicked: "currentClicked" }, queries: [{ propertyName: "valueTemplateQuery", first: true, predicate: ElderSelectValueDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "selectionPopup", first: true, predicate: SelectionModelPopupDirective, descendants: true }, { propertyName: "templateOptions$", predicate: ElderSelectOptionComponent }], usesInheritance: true, ngImport: i0 }); }
|
|
290
|
-
}
|
|
291
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderSelectBase, decorators: [{
|
|
292
|
-
type: Directive
|
|
293
|
-
}], ctorParameters: () => [{ type: undefined }], propDecorators: { cleanUp: [{
|
|
294
|
-
type: Input
|
|
295
|
-
}], pageSize: [{
|
|
296
|
-
type: Input
|
|
297
|
-
}], queryFilter: [{
|
|
298
|
-
type: Input
|
|
299
|
-
}], sorts: [{
|
|
300
|
-
type: Input
|
|
301
|
-
}], icon: [{
|
|
302
|
-
type: Input
|
|
303
|
-
}], valueTemplateQuery: [{
|
|
304
|
-
type: ContentChild,
|
|
305
|
-
args: [ElderSelectValueDirective, { read: TemplateRef, static: true }]
|
|
306
|
-
}], selectionPopup: [{
|
|
307
|
-
type: ContentChild,
|
|
308
|
-
args: [SelectionModelPopupDirective]
|
|
309
|
-
}], isOptionDisabledFn: [{
|
|
310
|
-
type: Input
|
|
311
|
-
}], isOptionHiddenFn: [{
|
|
312
|
-
type: Input
|
|
313
|
-
}], currentClicked: [{
|
|
314
|
-
type: Output
|
|
315
|
-
}], valueAsId: [{
|
|
316
|
-
type: Input
|
|
317
|
-
}], displayProperty: [{
|
|
318
|
-
type: Input
|
|
319
|
-
}], displayPropertyResolver: [{
|
|
320
|
-
type: Input
|
|
321
|
-
}], filters: [{
|
|
322
|
-
type: Input
|
|
323
|
-
}], dataSource: [{
|
|
324
|
-
type: Input
|
|
325
|
-
}], data: [{
|
|
326
|
-
type: Input
|
|
327
|
-
}], valueTemplate: [{
|
|
328
|
-
type: Input
|
|
329
|
-
}], templateOptions$: [{
|
|
330
|
-
type: ContentChildren,
|
|
331
|
-
args: [ElderSelectOptionComponent]
|
|
332
|
-
}] } });
|
|
333
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItc2VsZWN0LWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC9lbGRlci1zZWxlY3QtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsWUFBWSxFQUNaLGVBQWUsRUFFZixTQUFTLEVBRVQsWUFBWSxFQUVaLGNBQWMsRUFDZCxLQUFLLEVBQ0wsS0FBSyxFQUVMLE1BQU0sRUFFTixNQUFNLEVBQ04sV0FBVyxFQUNYLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFBO0FBQ2xELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUdwRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQTtBQUd4RixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQTtBQUMxRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUV0RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMENBQTBDLENBQUE7QUFDeEUsT0FBTyxFQUFnQixxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBQzNFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDREQUE0RCxDQUFBO0FBSXRHLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGdFQUFnRSxDQUFBO0FBQzNHLE9BQU8sRUFBRSxZQUFZLEVBQVksTUFBTSw0QkFBNEIsQ0FBQTs7QUFJbkUsTUFBTSxPQUFPLHlCQUF5QjtJQUM3QixNQUFNLENBQUMsZUFBZSxDQUFDLE9BQTBCO1FBQ3RELElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3BCLE9BQU8seUJBQXlCLENBQUMsT0FBTyxFQUFF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SyxRQUFRLENBQUE7SUFDN0QsQ0FBQzsrR0FyVW1CLGVBQWU7bUdBQWYsZUFBZSw4dkVBaUVyQix5QkFBeUIsMkJBQVUsV0FBVyw0RUFJOUMsNEJBQTRCLHNFQTBKekIsMEJBQTBCOzs0RkEvTnZCLGVBQWU7a0JBRnBDLFNBQVM7MkVBNkJELE9BQU87c0JBRGIsS0FBSztnQkF5QkMsUUFBUTtzQkFEZCxLQUFLO2dCQUlDLFdBQVc7c0JBRGpCLEtBQUs7Z0JBSUMsS0FBSztzQkFEWCxLQUFLO2dCQUlDLElBQUk7c0JBRFYsS0FBSztnQkFPQyxrQkFBa0I7c0JBRHhCLFlBQVk7dUJBQUMseUJBQXlCLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBS3JFLGNBQWM7c0JBRHBCLFlBQVk7dUJBQUMsNEJBQTRCO2dCQUluQyxrQkFBa0I7c0JBRHhCLEtBQUs7Z0JBSUMsZ0JBQWdCO3NCQUR0QixLQUFLO2dCQVFVLGNBQWM7c0JBRDdCLE1BQU07Z0JBdUJJLFNBQVM7c0JBRG5CLEtBQUs7Z0JBYUssZUFBZTtzQkFEekIsS0FBSztnQkFNSyx1QkFBdUI7c0JBRGpDLEtBQUs7Z0JBTUssT0FBTztzQkFEakIsS0FBSztnQkFVSyxVQUFVO3NCQURwQixLQUFLO2dCQVVLLElBQUk7c0JBRGQsS0FBSztnQkEyQkssYUFBYTtzQkFEdkIsS0FBSztnQkFzREssZ0JBQWdCO3NCQUQxQixlQUFlO3VCQUFDLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbnRlbnRDaGlsZCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBEZXN0cm95UmVmLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgaW5qZWN0LFxuICBJbmplY3Rpb25Ub2tlbixcbiAgSW5wdXQsXG4gIG1vZGVsLFxuICBOZ1pvbmUsXG4gIE91dHB1dCxcbiAgU2lnbmFsLFxuICBzaWduYWwsXG4gIFRlbXBsYXRlUmVmLFxuICB1bnRyYWNrZWQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgTG9nZ2VyRmFjdG9yeSB9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJ1xuaW1wb3J0IHsgSURhdGFDb250ZXh0IH0gZnJvbSAnLi4vLi4vY29tbW9uL2RhdGEvZGF0YS1jb250ZXh0L2RhdGEtY29udGV4dCdcbmltcG9ydCB7IElEYXRhU291cmNlIH0gZnJvbSAnLi4vLi4vY29tbW9uL2RhdGEvZGF0YXNvdXJjZS9kYXRhLXNvdXJjZSdcbmltcG9ydCB7IERhdGFDb250ZXh0QnVpbGRlciB9IGZyb20gJy4uLy4uL2NvbW1vbi9kYXRhL2RhdGEtY29udGV4dC9kYXRhLWNvbnRleHQtYnVpbGRlcidcbmltcG9ydCB7IEZpbHRlciB9IGZyb20gJy4uLy4uL2NvbW1vbi9kYXRhL2ZpbHRlcnMvZmlsdGVyJ1xuaW1wb3J0IHsgU29ydCB9IGZyb20gJy4uLy4uL2NvbW1vbi9kYXRhL3NvcnQnXG5pbXBvcnQgeyBFbGRlclNlbGVjdFZhbHVlRGlyZWN0aXZlIH0gZnJvbSAnLi9lbGRlci1zZWxlY3QtdmFsdWUuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgU2VsZWN0aW9uTW9kZWxQb3B1cERpcmVjdGl2ZSB9IGZyb20gJy4vcG9wdXAvc2VsZWN0aW9uLW1vZGVsLXBvcHVwLmRpcmVjdGl2ZSdcbmltcG9ydCB7IERhdGFDb250ZXh0U3RhdHVzIH0gZnJvbSAnLi4vLi4vY29tbW9uL2RhdGEvZGF0YS1jb250ZXh0L2RhdGEtY29udGV4dC1zdGF0dXMnXG5pbXBvcnQgeyBGaWx0ZXJDb250ZXh0IH0gZnJvbSAnLi4vLi4vY29tbW9uL2RhdGEvZmlsdGVycy9maWx0ZXItY29udGV4dCdcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJ1xuaW1wb3J0IHsgRWxkZXJGb3JtRmllbGRDb250cm9sQmFzZSB9IGZyb20gJy4uLy4uL2NvbW1vbi9mb3Jtcy9lbGRlci1mb3JtLWZpZWxkLWNvbnRyb2wtYmFzZS5kaXJlY3RpdmUnXG5pbXBvcnQgeyBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3JtcydcbmltcG9ydCB7IEZvY3VzTW9uaXRvciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5J1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBFbGRlclNlbGVjdE9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vbXVsdGkvZWxkZXItY2hpcC1zZWxlY3Qtb3B0aW9uL2VsZGVyLXNlbGVjdC1vcHRpb24uY29tcG9uZW50J1xuaW1wb3J0IHsgdG9PYnNlcnZhYmxlLCB0b1NpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJ1xuXG5leHBvcnQgdHlwZSBUZXh0UmVzb2x2ZXJGbiA9ICh2YWx1ZTogYW55KSA9PiBzdHJpbmdcblxuZXhwb3J0IGNsYXNzIEVsZGVyU2VsZWN0Q29tcG9uZW50U3RhdGUge1xuICBwdWJsaWMgc3RhdGljIGZyb21EYXRhQ29udGV4dChkY1N0YXRlOiBEYXRhQ29udGV4dFN0YXR1cyk6IEVsZGVyU2VsZWN0Q29tcG9uZW50U3RhdGUge1xuICAgIGlmIChkY1N0YXRlLmxvYWRpbmcpIHtcbiAgICAgIHJldHVybiBFbGRlclNlbGVjdENvbXBvbmVudFN0YXRlLmxvYWRpbmcoKVxuICAgIH0gZWxzZSBpZiAoZGNTdGF0ZS5lcnJvcikge1xuICAgICAgcmV0dXJuIEVsZGVyU2VsZWN0Q29tcG9uZW50U3RhdGUuZXJyb3IoZGNTdGF0ZS5lcnJvcilcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIEVsZGVyU2VsZWN0Q29tcG9uZW50U3RhdGUuaWRsZSgpXG4gICAgfVxuICB9XG5cbiAgcHVibGljIHN0YXRpYyBpZGxlKCk6IEVsZGVyU2VsZWN0Q29tcG9uZW50U3RhdGUge1xuICAgIHJldHVybiBuZXcgRWxkZXJTZWxlY3RDb21wb25lbnRTdGF0ZSh0cnVlLCBmYWxzZSwgbnVsbClcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgbG9hZGluZygpOiBFbGRlclNlbGVjdENvbXBvbmVudFN0YXRlIHtcbiAgICByZXR1cm4gbmV3IEVsZGVyU2VsZWN0Q29tcG9uZW50U3RhdGUoZmFsc2UsIHRydWUsIG51bGwpXG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGVycm9yKGVycm9yOiBhbnkpOiBFbGRlclNlbGVjdENvbXBvbmVudFN0YXRlIHtcbiAgICBsZXQgZXJyb3JNc2c6IHN0cmluZ1xuICAgIGlmICh0eXBlb2YgZXJyb3IgPT09ICdvYmplY3QnKSB7XG4gICAgICBlcnJvck1zZyA9IEpTT04uc3RyaW5naWZ5KGVycm9yKVxuICAgIH0gZWxzZSB7XG4gICAgICBlcnJvck1zZyA9IGVycm9yXG4gICAgfVxuICAgIHJldHVybiBuZXcgRWxkZXJTZWxlY3RDb21wb25lbnRTdGF0ZShmYWxzZSwgZmFsc2UsIGVycm9yTXNnKVxuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IGlkbGU6IGJvb2xlYW4sXG4gICAgcHVibGljIHJlYWRvbmx5IGxvYWRpbmc6IGJvb2xlYW4sXG4gICAgcHVibGljIHJlYWRvbmx5IGVycm9yOiBzdHJpbmdcbiAgKSB7fVxufVxuXG5leHBvcnQgY29uc3QgRUxERVJfU0VMRUNUX0JBU0UgPSBuZXcgSW5qZWN0aW9uVG9rZW48RWxkZXJTZWxlY3RCYXNlPGFueSwgYW55LCBhbnk+PihcbiAgJ0VsZGVyU2VsZWN0QmFzZSdcbilcblxuLyoqXG4gKiBCYXNlIGNvbXBvbmVudCBmb3IgRWxkZXIgU2VsZWN0aW9uIENvbnRyb2xzLlxuICpcbiAqICBFbGRlciBTZWxlY3Rpb24gaGFzIHRoZSBmb2xsb3dpbmcgYWJzdHJhY3QgY29uY2VwdDpcbiAqXG4gKiAtIFN1Z2dlc3Rpb24tTW9kZWw6IEEgRGF0YVNvdXJjZSBhbmQgZGVyaXZlZCBEYXRhQ29udGV4dCBmb3IgdGhlIChhdXRvLWNvbXBsZXRlKSBzdWdnZXN0aW9ucy5cbiAqXG4gKiBAcGFyYW0gVElEIEVudGl0eSBJZCBUeXBlXG4gKiBAcGFyYW0gVCBFbnRpdHkgVHlwZVxuICogQHBhcmFtIFRWYWx1ZSBWYWx1ZSBiYWNraW5nIHRoZSBjb250cm9sLiBDYW4gYmUgdGhlIGVudGl0eSwgdGhlIGlkIG9yIHNvbWV0aGluZyBlbHNlLlxuICovXG5ARGlyZWN0aXZlKClcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLWNsYXNzLXN1ZmZpeFxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEVsZGVyU2VsZWN0QmFzZTxcbiAgVElkLFxuICBURW50aXR5LFxuICBUVmFsdWUsXG4+IGV4dGVuZHMgRWxkZXJGb3JtRmllbGRDb250cm9sQmFzZTxUVmFsdWU+IHtcbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBfbG9nZ2VyID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKVxuICBwcml2YXRlIHJlYWRvbmx5IF9maWx0ZXJDb250ZXh0ID0gbmV3IEZpbHRlckNvbnRleHQoKVxuICBwcml2YXRlIF90ZW1wbGF0ZU9wdGlvbnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxFbGRlclNlbGVjdE9wdGlvbkNvbXBvbmVudDxURW50aXR5PltdPihbXSlcblxuICBwcml2YXRlIF92YWx1ZUFzSWQ6IGJvb2xlYW5cblxuICBwcm90ZWN0ZWQgdGltZW91dEFmdGVyTXMgPSA1MDAwXG5cbiAgLyoqXG4gICAqIERlZmluZSBpZiBlbGRlci1zZWxlY3Qgc2hvdWxkIGNsZWFuIHVwIHRoZVxuICAgKiBkYXRhLWNvbnRleHQgcmVzb3VyY2VzIGZvciB5b3UuXG4gICAqXG4gICAqIEluIG1vcmUgYWR2YW5jZWQgc2NlbmFyaW9zIHdoZXJlIHlvdSBwbGFuIHRvIHJldXNlIHRoZSBzYW1lIGRhdGEtY29udGV4dFxuICAgKiBzZXQgdGhpcyB0byBmYWxzZSBhbmQgcmVsZWFzZSB0aGUgcmVzb3VyY2VzIHlvdXJzZWxmLiAoZGF0YUNvbnRleHQuY2xvc2UpXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgY2xlYW5VcCA9IHRydWVcblxuICBwdWJsaWMgcmVhZG9ubHkgZGlzcGxheVByb3BlcnR5UmVzb2x2ZXJTID0gbW9kZWw8VGV4dFJlc29sdmVyRm4+KFxuICAgICh2YWx1ZTogVEVudGl0eSkgPT4gdGhpcy5wcm9wZXJ0eVN0cmluZ1ZhbHVlKHZhbHVlLCBudWxsKSxcbiAgICB7XG4gICAgICBhbGlhczogJ2Rpc3BsYXlQcm9wZXJ0eVJlc29sdmVyJyxcbiAgICB9XG4gIClcblxuICBwdWJsaWMgcmVhZG9ubHkgZGlzcGxheVByb3BlcnR5UmVzb2x2ZXIkID0gdG9PYnNlcnZhYmxlKHRoaXMuZGlzcGxheVByb3BlcnR5UmVzb2x2ZXJTKVxuXG4gIC8qKlxuICAgKiBFbnRpdHkgRGF0YUNvbnRleHQsIHdoaWNoIGlzIHVzZWRcbiAgICogdG8gc2lkZSBsb2FkIGVudGl0aWVzIGJ5IGlkIGFuZCBhbHNvXG4gICAqIHRvIGxvYWQgc3VnZ2VzdGlvbnMgd2hlbiBhdXRvLWNvbXBsZXRpbmcuXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IF9kYXRhQ29udGV4dCA9IHNpZ25hbDxJRGF0YUNvbnRleHQ8VEVudGl0eT4+KG51bGwpXG4gIHB1YmxpYyByZWFkb25seSBkYXRhQ29udGV4dFM6IFNpZ25hbDxJRGF0YUNvbnRleHQ8VEVudGl0eT4+ID0gdGhpcy5fZGF0YUNvbnRleHRcbiAgcHVibGljIHJlYWRvbmx5IGRhdGFDb250ZXh0JCA9IHRvT2JzZXJ2YWJsZTxJRGF0YUNvbnRleHQ8VEVudGl0eT4+KHRoaXMuX2RhdGFDb250ZXh0KVxuXG4gIC8qKlxuICAgKiBQYWdlIHNpemUuIChVc2VkIGZvciBpbmZpbml0ZSBzY3JvbGxpbmcgY2h1bmtzKVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHBhZ2VTaXplID0gMTBcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcXVlcnlGaWx0ZXIgPSAncXVlcnknXG5cbiAgQElucHV0KClcbiAgcHVibGljIHNvcnRzOiBTb3J0W10gPSBbXVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpY29uOiBzdHJpbmdcblxuICAvKipcbiAgICogVGhlIG9wdGlvbiB0ZW1wbGF0ZSB0byBjdXN0b21pemUgdGhlIHVpIGxvb2suXG4gICAqL1xuICBAQ29udGVudENoaWxkKEVsZGVyU2VsZWN0VmFsdWVEaXJlY3RpdmUsIHsgcmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgdmFsdWVUZW1wbGF0ZVF1ZXJ5OiBUZW1wbGF0ZVJlZjxhbnk+XG4gIHByaXZhdGUgX3ZhbHVlVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT5cblxuICBAQ29udGVudENoaWxkKFNlbGVjdGlvbk1vZGVsUG9wdXBEaXJlY3RpdmUpXG4gIHB1YmxpYyBzZWxlY3Rpb25Qb3B1cDogU2VsZWN0aW9uTW9kZWxQb3B1cERpcmVjdGl2ZVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpc09wdGlvbkRpc2FibGVkRm46IChvcHRpb246IFRFbnRpdHkpID0+IGJvb2xlYW5cblxuICBASW5wdXQoKVxuICBwdWJsaWMgaXNPcHRpb25IaWRkZW5GbjogKG9wdGlvbjogVEVudGl0eSkgPT4gYm9vbGVhblxuXG4gIC8qKlxuICAgKiBFbWl0cyBhbiBldmVudCB3aGVuIHRoZSB1c2VyIGhhcyBjbGlja2VkIG9uIHRoZSBjdXJyZW50XG4gICAqIHNlbGVjdGVkIGVudGl0eS5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgcmVhZG9ubHkgY3VycmVudENsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFRFbnRpdHk+KClcblxuICBwdWJsaWMgcmVhZG9ubHkgc3RhdGUgPSBzaWduYWw8RWxkZXJTZWxlY3RDb21wb25lbnRTdGF0ZT4oRWxkZXJTZWxlY3RDb21wb25lbnRTdGF0ZS5pZGxlKCkpXG4gIHB1YmxpYyByZWFkb25seSBzdGF0ZSQgPSB0b09ic2VydmFibGU8RWxkZXJTZWxlY3RDb21wb25lbnRTdGF0ZT4odGhpcy5zdGF0ZSlcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoY29udHJvbFR5cGU6IHN0cmluZykge1xuICAgIHN1cGVyKGNvbnRyb2xUeXBlKVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCB2YWx1ZUFzSWQodmFsdWVBc0lkOiBCb29sZWFuSW5wdXQpIHtcbiAgICB0aGlzLl92YWx1ZUFzSWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWVBc0lkKVxuICB9XG5cbiAgcHVibGljIGdldCB2YWx1ZUFzSWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlQXNJZFxuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBwcm9wZXJ0eSB1c2VkIHRvIGRpc3BsYXkgdGhlIHZhbHVlcy5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGlzcGxheVByb3BlcnR5KHByb3BlcnR5OiBzdHJpbmcpIHtcbiAgICB0aGlzLmRpc3BsYXlQcm9wZXJ0eVJlc29sdmVyUy5zZXQoKHZhbHVlKSA9PiB0aGlzLnByb3BlcnR5U3RyaW5nVmFsdWUodmFsdWUsIHByb3BlcnR5KSlcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGlzcGxheVByb3BlcnR5UmVzb2x2ZXIocmVzb2x2ZXI6IFRleHRSZXNvbHZlckZuKSB7XG4gICAgdGhpcy5kaXNwbGF5UHJvcGVydHlSZXNvbHZlclMuc2V0KHJlc29sdmVyKVxuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBmaWx0ZXJzKGZpbHRlcnM6IEZpbHRlcltdKSB7XG4gICAgdGhpcy5yZXBsYWNlRmlsdGVycyhmaWx0ZXJzKVxuICB9XG5cbiAgcHVibGljIGdldCBmaWx0ZXJzKCk6IEZpbHRlcltdIHtcbiAgICByZXR1cm4gdGhpcy5fZmlsdGVyQ29udGV4dC5maWx0ZXJzU25hcHNob3RcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGF0YVNvdXJjZShzb3VyY2U6IElEYXRhU291cmNlPFRFbnRpdHk+KSB7XG4gICAgdGhpcy5kYXRhQ29udGV4dCA9IERhdGFDb250ZXh0QnVpbGRlci5zdGFydDxURW50aXR5PigpLnBhZ2VTaXplKHRoaXMucGFnZVNpemUpLmJ1aWxkKHNvdXJjZSlcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGF0YVNvdXJjZSgpOiBJRGF0YVNvdXJjZTxURW50aXR5PiB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YUNvbnRleHQ/LmRhdGFTb3VyY2VcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGF0YShkYXRhOiBBcnJheTxURW50aXR5PiB8IElEYXRhQ29udGV4dDxURW50aXR5Pikge1xuICAgIHRoaXMuYXV0b0NsZWFuVXAoKVxuXG4gICAgaWYgKGRhdGEgaW5zdGFuY2VvZiBBcnJheSkge1xuICAgICAgdGhpcy5kYXRhQ29udGV4dCA9IERhdGFDb250ZXh0QnVpbGRlci5zdGFydDxURW50aXR5PigpLmxvY2FsU29ydCgpLmJ1aWxkTG9jYWwoZGF0YSkgLy8gTWVtb3J5IGxlYWtcbiAgICAgIHRoaXMuZGF0YUNvbnRleHQuc3RhcnQoKVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoZGF0YSkge1xuICAgICAgICB0aGlzLmRhdGFDb250ZXh0ID0gZGF0YVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5kYXRhQ29udGV4dCA9IERhdGFDb250ZXh0QnVpbGRlci5zdGFydDxURW50aXR5PigpLmJ1aWxkRW1wdHkoKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZXQgZGF0YUNvbnRleHQoZGF0YTogSURhdGFDb250ZXh0PFRFbnRpdHk+KSB7XG4gICAgdGhpcy5hdXRvQ2xlYW5VcCgpXG4gICAgdGhpcy5fZGF0YUNvbnRleHQuc2V0KGRhdGEpXG4gICAgdGhpcy5vbkRhdGFDb250ZXh0Q2hhbmdlZChkYXRhKVxuICB9XG5cbiAgcHVibGljIGdldCBkYXRhQ29udGV4dCgpOiBJRGF0YUNvbnRleHQ8VEVudGl0eT4ge1xuICAgIHJldHVybiB1bnRyYWNrZWQodGhpcy5fZGF0YUNvbnRleHQpXG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHZhbHVlVGVtcGxhdGUodGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4pIHtcbiAgICB0aGlzLl92YWx1ZVRlbXBsYXRlID0gdGVtcGxhdGVcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdmFsdWVUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWVUZW1wbGF0ZSB8fCB0aGlzLnZhbHVlVGVtcGxhdGVRdWVyeVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGdldCBlcnJvclN0YXRlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuc3RhdGUoKS5lcnJvciB8fCBzdXBlci5lcnJvclN0YXRlXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgb25DdXJyZW50Q2xpY2tlZChlbnRpdHk6IFRFbnRpdHkpOiB2b2lkIHtcbiAgICBpZiAoZW50aXR5ICE9PSB1bmRlZmluZWQgJiYgZW50aXR5ICE9PSBudWxsKSB7XG4gICAgICB0aGlzLmN1cnJlbnRDbGlja2VkLmVtaXQoZW50aXR5KVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVGaWx0ZXIodXBkYXRlZEZpbHRlcj86IEZpbHRlcik6IHZvaWQge1xuICAgIHRoaXMuX2ZpbHRlckNvbnRleHQudXBkYXRlRmlsdGVyKHVwZGF0ZWRGaWx0ZXIpXG4gIH1cblxuICBwdWJsaWMgdXBkYXRlRmlsdGVycyh1cGRhdGVkRmlsdGVycz86IEZpbHRlcltdKTogdm9pZCB7XG4gICAgdGhpcy5fZmlsdGVyQ29udGV4dC51cGRhdGVGaWx0ZXJzKHVwZGF0ZWRGaWx0ZXJzKVxuICB9XG5cbiAgcHVibGljIHJlcGxhY2VGaWx0ZXJzKG5ld0ZpbHRlcnM/OiBGaWx0ZXJbXSkge1xuICAgIHRoaXMuX2ZpbHRlckNvbnRleHQucmVwbGFjZUZpbHRlcnMobmV3RmlsdGVycylcbiAgfVxuXG4gIHB1YmxpYyBjbGVhckZpbHRlcnMoKTogdm9pZCB7XG4gICAgdGhpcy5fZmlsdGVyQ29udGV4dC5jbGVhcigpXG4gIH1cblxuICBwdWJsaWMgdXBkYXRlU3RhdGUoc3RhdGU6IEVsZGVyU2VsZWN0Q29tcG9uZW50U3RhdGUpOiB2b2lkIHtcbiAgICBpZiAoc3RhdGUuZXJyb3IpIHtcbiAgICAgIHRoaXMuX2xvZ2dlci53YXJuKCd1cGRhdGVTdGF0ZSB0byBFcnJvcjogJyArIHN0YXRlLmVycm9yKVxuICAgIH1cbiAgICB0aGlzLnN0YXRlLnNldChzdGF0ZSlcbiAgICB0aGlzLmVtaXRTdGF0ZUNoYW5nZSgpXG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IHNob3VsZExhYmVsRmxvYXQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZXJyb3JTdGF0ZSB8fCAhIXRoaXMuaWNvbiB8fCBzdXBlci5zaG91bGRMYWJlbEZsb2F0XG4gIH1cblxuICBAQ29udGVudENoaWxkcmVuKEVsZGVyU2VsZWN0T3B0aW9uQ29tcG9uZW50KVxuICBwdWJsaWMgc2V0IHRlbXBsYXRlT3B0aW9ucyQoY29tcHM6IEVsZGVyU2VsZWN0T3B0aW9uQ29tcG9uZW50PFRFbnRpdHk+W10pIHtcbiAgICB0aGlzLl90ZW1wbGF0ZU9wdGlvbnMkLm5leHQoY29tcHMpXG4gIH1cblxuICBwdWJsaWMgZ2V0IHRlbXBsYXRlT3B0aW9ucyQoKTogT2JzZXJ2YWJsZTxFbGRlclNlbGVjdE9wdGlvbkNvbXBvbmVudDxURW50aXR5PltdPiB7XG4gICAgcmV0dXJuIHRoaXMuX3RlbXBsYXRlT3B0aW9ucyQuYXNPYnNlcnZhYmxlKClcbiAgfVxuXG4gIHB1YmxpYyBnZXRFbnRpdHlJZChlbnRpdHk6IFRFbnRpdHkpOiBUSWQge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gdGhpcy5kYXRhU291cmNlT3JUaHJvdygpLmdldElkKGVudGl0eSlcbiAgICB9IGNhdGNoIChlOiB1bmtub3duKSB7XG4gICAgICBpZiAoZSBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAnRmFpbGVkIHRvIGV4dHJhY3QgaWQgZnJvbSBlbnRpdHkgc2luY2Ugbm8gZGF0YVNvdXJjZSBpcyBhdmFpbGFibGUhIENhdXNlZCBieSAnICtcbiAgICAgICAgICAgIGU/Lm1lc3NhZ2VcbiAgICAgICAgKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBBYnN0cmFjdCBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIC8qKlxuICAgKiBPY2N1cnMgd2hlbiB0aGUgc3VnZ2VzdGlvbnMgZGF0YS1jb250ZXh0IGhhcyBjaGFuZ2VkXG4gICAqL1xuICBwcm90ZWN0ZWQgYWJzdHJhY3Qgb25EYXRhQ29udGV4dENoYW5nZWQoZGF0YTogSURhdGFDb250ZXh0PFRFbnRpdHk+KTogdm9pZFxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBJbnRlcm5hbCBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByb3RlY3RlZCBkYXRhU291cmNlT3JUaHJvdygpOiBJRGF0YVNvdXJjZTxURW50aXR5PiB7XG4gICAgaWYgKHRoaXMuZGF0YUNvbnRleHQpIHtcbiAgICAgIGNvbnN0IGRhdGFTb3VyY2UgPSB0aGlzLmRhdGFDb250ZXh0LmRhdGFTb3VyY2VcbiAgICAgIGlmIChkYXRhU291cmNlKSB7XG4gICAgICAgIHJldHVybiBkYXRhU291cmNlXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgJ1RoZSBwcm92aWRlZCBEYXRhQ29udGV4dCBoYXMgbm90IERhdGFTb3VyY2UsIHdoaWNoIGlzIHJlcXVpcmVkIGZvciB2YWx1ZUFzSWQhICcgK1xuICAgICAgICAgICAgdHlwZW9mIHRoaXMuZGF0YUNvbnRleHRcbiAgICAgICAgKVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdObyBEYXRhQ29udGV4dCBhdmFpbGFibGUhIEEgRGF0YUNvbnRleHQgKERhdGFTb3VyY2UpIGlzIHJlcXVpcmVkIGZvciB2YWx1ZUFzSWQhJ1xuICAgICAgKVxuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBpc0VxdWFsKGE6IFRFbnRpdHksIGI6IFRFbnRpdHkpOiBib29sZWFuIHtcbiAgICBpZiAoYSA9PT0gYikge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG4gICAgaWYgKHRoaXMuaXNFbXB0eShhKSAmJiB0aGlzLmlzRW1wdHkoYikpIHtcbiAgICAgIC8vIEhBQ0s6IEhhbmRsZSBlbXB0eSBzdHJpbmcgYXMgdW5kZWZpbmVkLlxuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZ2V0RW50aXR5SWQoYSkgPT09IHRoaXMuZ2V0RW50aXR5SWQoYilcbiAgfVxuXG4gIHByb3RlY3RlZCBpc0VtcHR5KGE6IFRFbnRpdHkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gYSA9PT0gbnVsbCB8fCBhID09PSB1bmRlZmluZWQgfHwgPGFueT5hID09PSAnJ1xuICB9XG5cbiAgLyoqXG4gICAqIFBlcmZvcm1zIGNsZWFuIHVwIG9mIHRoZSBjdXJyZW50IGRhdGEgY29udGV4dCBpZiBhdXRvIGNsZWFuIHVwIGlzIGVuYWJsZWQuXG4gICAqL1xuICBwcm90ZWN0ZWQgYXV0b0NsZWFuVXAoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY2xlYW5VcCAmJiB0aGlzLmRhdGFDb250ZXh0KSB7XG4gICAgICB0aGlzLl9sb2dnZXIuZGVidWcoJ1JlbGVhc2luZyBEYXRhQ29udGV4dCByZXNvdXJjZXMgdG8gcHJldmVudCBtZW1vcnkgbGVhay4gW2NsZWFuVXBdPVwidHJ1ZVwiJylcbiAgICAgIHRoaXMuZGF0YUNvbnRleHQuY2xvc2UoKVxuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBwcm9wZXJ0eVN0cmluZ1ZhbHVlKGVudGl0eTogVEVudGl0eSwgcHJvcGVydHk6IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xuICAgIGlmIChlbnRpdHkgPT09IG51bGwgfHwgZW50aXR5ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBudWxsXG4gICAgfVxuICAgIGxldCB2YWx1ZTogYW55XG4gICAgaWYgKHByb3BlcnR5KSB7XG4gICAgICB2YWx1ZSA9ICg8YW55PmVudGl0eSlbcHJvcGVydHldXG4gICAgfSBlbHNlIGlmICh0aGlzLmlzT2JqZWN0KGVudGl0eSkpIHtcbiAgICAgIHZhbHVlID0gSlNPTi5zdHJpbmdpZnkoZW50aXR5KVxuICAgIH0gZWxzZSB7XG4gICAgICB2YWx1ZSA9IGVudGl0eVxuICAgIH1cbiAgICByZXR1cm4gU3RyaW5nKHZhbHVlKVxuICB9XG5cbiAgcHJpdmF0ZSBpc09iamVjdCh2YWw6IGFueSk6IGJvb2xlYW4ge1xuICAgIGlmICh2YWwgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cbiAgICByZXR1cm4gdHlwZW9mIHZhbCA9PT0gJ2Z1bmN0aW9uJyB8fCB0eXBlb2YgdmFsID09PSAnb2JqZWN0J1xuICB9XG59XG4iXX0=
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { Directive } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class ElderSelectChipDirective {
|
|
4
|
-
constructor(templateRef, viewContainer) {
|
|
5
|
-
this.templateRef = templateRef;
|
|
6
|
-
this.viewContainer = viewContainer;
|
|
7
|
-
}
|
|
8
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderSelectChipDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
9
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: ElderSelectChipDirective, isStandalone: true, selector: "[elderSelectChip]", ngImport: i0 }); }
|
|
10
|
-
}
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderSelectChipDirective, decorators: [{
|
|
12
|
-
type: Directive,
|
|
13
|
-
args: [{
|
|
14
|
-
selector: '[elderSelectChip]',
|
|
15
|
-
standalone: true,
|
|
16
|
-
}]
|
|
17
|
-
}], ctorParameters: () => [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }] });
|
|
18
|
-
export class ElderSelectChipAvatarDirective {
|
|
19
|
-
constructor(templateRef, viewContainer) {
|
|
20
|
-
this.templateRef = templateRef;
|
|
21
|
-
this.viewContainer = viewContainer;
|
|
22
|
-
}
|
|
23
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderSelectChipAvatarDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
24
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: ElderSelectChipAvatarDirective, isStandalone: true, selector: "[elderSelectChipAvatar]", ngImport: i0 }); }
|
|
25
|
-
}
|
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderSelectChipAvatarDirective, decorators: [{
|
|
27
|
-
type: Directive,
|
|
28
|
-
args: [{
|
|
29
|
-
selector: '[elderSelectChipAvatar]',
|
|
30
|
-
standalone: true,
|
|
31
|
-
}]
|
|
32
|
-
}], ctorParameters: () => [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }] });
|
|
33
|
-
export class ElderSelectCustomInputDirective {
|
|
34
|
-
constructor(templateRef, viewContainer) {
|
|
35
|
-
this.templateRef = templateRef;
|
|
36
|
-
this.viewContainer = viewContainer;
|
|
37
|
-
}
|
|
38
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderSelectCustomInputDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
39
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: ElderSelectCustomInputDirective, isStandalone: true, selector: "[elderCustomInput]", ngImport: i0 }); }
|
|
40
|
-
}
|
|
41
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderSelectCustomInputDirective, decorators: [{
|
|
42
|
-
type: Directive,
|
|
43
|
-
args: [{
|
|
44
|
-
selector: '[elderCustomInput]',
|
|
45
|
-
standalone: true,
|
|
46
|
-
}]
|
|
47
|
-
}], ctorParameters: () => [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }] });
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItc2VsZWN0LWNoaXAuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3QvZWxkZXItc2VsZWN0LWNoaXAuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWlDLE1BQU0sZUFBZSxDQUFBOztBQU14RSxNQUFNLE9BQU8sd0JBQXdCO0lBQ25DLFlBQ1MsV0FBNkIsRUFDN0IsYUFBK0I7UUFEL0IsZ0JBQVcsR0FBWCxXQUFXLENBQWtCO1FBQzdCLGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtJQUNyQyxDQUFDOytHQUpPLHdCQUF3QjttR0FBeEIsd0JBQXdCOzs0RkFBeEIsd0JBQXdCO2tCQUpwQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs7QUFZRCxNQUFNLE9BQU8sOEJBQThCO0lBQ3pDLFlBQ1MsV0FBNkIsRUFDN0IsYUFBK0I7UUFEL0IsZ0JBQVcsR0FBWCxXQUFXLENBQWtCO1FBQzdCLGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtJQUNyQyxDQUFDOytHQUpPLDhCQUE4QjttR0FBOUIsOEJBQThCOzs0RkFBOUIsOEJBQThCO2tCQUoxQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx5QkFBeUI7b0JBQ25DLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs7QUFZRCxNQUFNLE9BQU8sK0JBQStCO0lBQzFDLFlBQ1MsV0FBNkIsRUFDN0IsYUFBK0I7UUFEL0IsZ0JBQVcsR0FBWCxXQUFXLENBQWtCO1FBQzdCLGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtJQUNyQyxDQUFDOytHQUpPLCtCQUErQjttR0FBL0IsK0JBQStCOzs0RkFBL0IsK0JBQStCO2tCQUozQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgVGVtcGxhdGVSZWYsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZWxkZXJTZWxlY3RDaGlwXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyU2VsZWN0Q2hpcERpcmVjdGl2ZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PixcbiAgICBwdWJsaWMgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZlxuICApIHt9XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tlbGRlclNlbGVjdENoaXBBdmF0YXJdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJTZWxlY3RDaGlwQXZhdGFyRGlyZWN0aXZlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+LFxuICAgIHB1YmxpYyB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmXG4gICkge31cbn1cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2VsZGVyQ3VzdG9tSW5wdXRdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJTZWxlY3RDdXN0b21JbnB1dERpcmVjdGl2ZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PixcbiAgICBwdWJsaWMgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZlxuICApIHt9XG59XG4iXX0=
|