@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,43 +0,0 @@
|
|
|
1
|
-
import { formatCurrency, getCurrencySymbol } from '@angular/common';
|
|
2
|
-
export class CurrencyFormatUtil {
|
|
3
|
-
/***************************************************************************
|
|
4
|
-
* *
|
|
5
|
-
* Public API *
|
|
6
|
-
* *
|
|
7
|
-
**************************************************************************/
|
|
8
|
-
/**
|
|
9
|
-
* @param currency amount and ISO 4217 currency code to format
|
|
10
|
-
* @param locale locale code for formatting rules (e.g. en-US)
|
|
11
|
-
* @param indication determines currency indicator in output (e.g. USD100 vs $100). Will fall back to 'symbol' if missing.
|
|
12
|
-
* @param digitsInfo see DecimalPipe for documentation
|
|
13
|
-
*/
|
|
14
|
-
static formatElderCurrency(currency, locale, indication = 'symbol', digitsInfo) {
|
|
15
|
-
if (!currency) {
|
|
16
|
-
return '-';
|
|
17
|
-
}
|
|
18
|
-
const currencyCode = currency.unit;
|
|
19
|
-
const currencyIndicator = CurrencyFormatUtil.determineCurrencyIndicator(currencyCode, locale, indication);
|
|
20
|
-
return formatCurrency(currency.value, locale, currencyIndicator, currencyCode, digitsInfo);
|
|
21
|
-
}
|
|
22
|
-
static determineCurrencySymbol(currencyCode, locale) {
|
|
23
|
-
return getCurrencySymbol(currencyCode, 'narrow', locale);
|
|
24
|
-
}
|
|
25
|
-
/***************************************************************************
|
|
26
|
-
* *
|
|
27
|
-
* Private methods *
|
|
28
|
-
* *
|
|
29
|
-
**************************************************************************/
|
|
30
|
-
static determineCurrencyIndicator(currencyCode, locale, indication) {
|
|
31
|
-
switch (indication) {
|
|
32
|
-
case 'code':
|
|
33
|
-
return currencyCode;
|
|
34
|
-
case 'symbol':
|
|
35
|
-
return getCurrencySymbol(currencyCode, 'wide', locale); // will return code if no symbol is available
|
|
36
|
-
case 'symbol-narrow':
|
|
37
|
-
return getCurrencySymbol(currencyCode, 'narrow', locale);
|
|
38
|
-
default:
|
|
39
|
-
return indication; // arbitrary
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VyZW5jeS1mb3JtYXQtdXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi9mb3JtYXQvY3VyZW5jeS1mb3JtYXQtdXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFLbkUsTUFBTSxPQUFPLGtCQUFrQjtJQUM3Qjs7OztnRkFJNEU7SUFFNUU7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsbUJBQW1CLENBQy9CLFFBQWtCLEVBQ2xCLE1BQWMsRUFDZCxhQUFpQyxRQUFRLEVBQ3pDLFVBQW1CO1FBRW5CLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNkLE9BQU8sR0FBRyxDQUFBO1FBQ1osQ0FBQztRQUNELE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUE7UUFDbEMsTUFBTSxpQkFBaUIsR0FBRyxrQkFBa0IsQ0FBQywwQkFBMEIsQ0FDckUsWUFBWSxFQUNaLE1BQU0sRUFDTixVQUFVLENBQ1gsQ0FBQTtRQUNELE9BQU8sY0FBYyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLFlBQVksRUFBRSxVQUFVLENBQUMsQ0FBQTtJQUM1RixDQUFDO0lBRU0sTUFBTSxDQUFDLHVCQUF1QixDQUFDLFlBQTBCLEVBQUUsTUFBYztRQUM5RSxPQUFPLGlCQUFpQixDQUFDLFlBQVksRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUE7SUFDMUQsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVwRSxNQUFNLENBQUMsMEJBQTBCLENBQ3ZDLFlBQTBCLEVBQzFCLE1BQWMsRUFDZCxVQUE4QjtRQUU5QixRQUFRLFVBQVUsRUFBRSxDQUFDO1lBQ25CLEtBQUssTUFBTTtnQkFDVCxPQUFPLFlBQVksQ0FBQTtZQUNyQixLQUFLLFFBQVE7Z0JBQ1gsT0FBTyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFBLENBQUMsNkNBQTZDO1lBQ3RHLEtBQUssZUFBZTtnQkFDbEIsT0FBTyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFBO1lBQzFEO2dCQUNFLE9BQU8sVUFBVSxDQUFBLENBQUMsWUFBWTtRQUNsQyxDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ3VycmVuY3lDb2RlIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9jdXJyZW5jeS9tb2RlbC9jdXJyZW5jeS1jb2RlJ1xuaW1wb3J0IHsgZm9ybWF0Q3VycmVuY3ksIGdldEN1cnJlbmN5U3ltYm9sIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgQ3VycmVuY3kgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2N1cnJlbmN5L21vZGVsL2N1cnJlbmN5J1xuXG5leHBvcnQgdHlwZSBDdXJyZW5jeUluZGljYXRpb24gPSAnY29kZScgfCAnc3ltYm9sJyB8ICdzeW1ib2wtbmFycm93JyB8IHN0cmluZ1xuXG5leHBvcnQgY2xhc3MgQ3VycmVuY3lGb3JtYXRVdGlsIHtcbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgLyoqXG4gICAqIEBwYXJhbSBjdXJyZW5jeSBhbW91bnQgYW5kIElTTyA0MjE3IGN1cnJlbmN5IGNvZGUgdG8gZm9ybWF0XG4gICAqIEBwYXJhbSBsb2NhbGUgbG9jYWxlIGNvZGUgZm9yIGZvcm1hdHRpbmcgcnVsZXMgKGUuZy4gZW4tVVMpXG4gICAqIEBwYXJhbSBpbmRpY2F0aW9uIGRldGVybWluZXMgY3VycmVuY3kgaW5kaWNhdG9yIGluIG91dHB1dCAoZS5nLiBVU0QxMDAgdnMgJDEwMCkuIFdpbGwgZmFsbCBiYWNrIHRvICdzeW1ib2wnIGlmIG1pc3NpbmcuXG4gICAqIEBwYXJhbSBkaWdpdHNJbmZvIHNlZSBEZWNpbWFsUGlwZSBmb3IgZG9jdW1lbnRhdGlvblxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmb3JtYXRFbGRlckN1cnJlbmN5KFxuICAgIGN1cnJlbmN5OiBDdXJyZW5jeSxcbiAgICBsb2NhbGU6IHN0cmluZyxcbiAgICBpbmRpY2F0aW9uOiBDdXJyZW5jeUluZGljYXRpb24gPSAnc3ltYm9sJyxcbiAgICBkaWdpdHNJbmZvPzogc3RyaW5nXG4gICk6IHN0cmluZyB7XG4gICAgaWYgKCFjdXJyZW5jeSkge1xuICAgICAgcmV0dXJuICctJ1xuICAgIH1cbiAgICBjb25zdCBjdXJyZW5jeUNvZGUgPSBjdXJyZW5jeS51bml0XG4gICAgY29uc3QgY3VycmVuY3lJbmRpY2F0b3IgPSBDdXJyZW5jeUZvcm1hdFV0aWwuZGV0ZXJtaW5lQ3VycmVuY3lJbmRpY2F0b3IoXG4gICAgICBjdXJyZW5jeUNvZGUsXG4gICAgICBsb2NhbGUsXG4gICAgICBpbmRpY2F0aW9uXG4gICAgKVxuICAgIHJldHVybiBmb3JtYXRDdXJyZW5jeShjdXJyZW5jeS52YWx1ZSwgbG9jYWxlLCBjdXJyZW5jeUluZGljYXRvciwgY3VycmVuY3lDb2RlLCBkaWdpdHNJbmZvKVxuICB9XG5cbiAgcHVibGljIHN0YXRpYyBkZXRlcm1pbmVDdXJyZW5jeVN5bWJvbChjdXJyZW5jeUNvZGU6IEN1cnJlbmN5Q29kZSwgbG9jYWxlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBnZXRDdXJyZW5jeVN5bWJvbChjdXJyZW5jeUNvZGUsICduYXJyb3cnLCBsb2NhbGUpXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHN0YXRpYyBkZXRlcm1pbmVDdXJyZW5jeUluZGljYXRvcihcbiAgICBjdXJyZW5jeUNvZGU6IEN1cnJlbmN5Q29kZSxcbiAgICBsb2NhbGU6IHN0cmluZyxcbiAgICBpbmRpY2F0aW9uOiBDdXJyZW5jeUluZGljYXRpb25cbiAgKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKGluZGljYXRpb24pIHtcbiAgICAgIGNhc2UgJ2NvZGUnOlxuICAgICAgICByZXR1cm4gY3VycmVuY3lDb2RlXG4gICAgICBjYXNlICdzeW1ib2wnOlxuICAgICAgICByZXR1cm4gZ2V0Q3VycmVuY3lTeW1ib2woY3VycmVuY3lDb2RlLCAnd2lkZScsIGxvY2FsZSkgLy8gd2lsbCByZXR1cm4gY29kZSBpZiBubyBzeW1ib2wgaXMgYXZhaWxhYmxlXG4gICAgICBjYXNlICdzeW1ib2wtbmFycm93JzpcbiAgICAgICAgcmV0dXJuIGdldEN1cnJlbmN5U3ltYm9sKGN1cnJlbmN5Q29kZSwgJ25hcnJvdycsIGxvY2FsZSlcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBpbmRpY2F0aW9uIC8vIGFyYml0cmFyeVxuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { Duration, Period } from '@js-joda/core';
|
|
2
|
-
import { PeriodDuration } from '../time/period-duration';
|
|
3
|
-
import { DurationFormat } from '../../components/time/duration/duration-format';
|
|
4
|
-
export class DurationFormatUtil {
|
|
5
|
-
/***************************************************************************
|
|
6
|
-
* *
|
|
7
|
-
* Public API *
|
|
8
|
-
* *
|
|
9
|
-
**************************************************************************/
|
|
10
|
-
/**
|
|
11
|
-
* Converts any valid input of standard ISO 8601 duration format
|
|
12
|
-
* example input: PT2H10M12.1235675S, output: 2h, 10min, 12s, 124 ms
|
|
13
|
-
*
|
|
14
|
-
* a maximal input looks like this: P3Y6M4DT12H30M5S although
|
|
15
|
-
* all arguments except P are optional, decimal numbers allowed
|
|
16
|
-
*/
|
|
17
|
-
static formatDuration(value, format = DurationFormat.FORMAT_DYNAMIC) {
|
|
18
|
-
if (!value) {
|
|
19
|
-
return value + '';
|
|
20
|
-
}
|
|
21
|
-
const periodDuration = DurationFormatUtil.toPeriodDuration(value);
|
|
22
|
-
return DurationFormat.parse(format).format(periodDuration);
|
|
23
|
-
}
|
|
24
|
-
/***************************************************************************
|
|
25
|
-
* *
|
|
26
|
-
* Private methods *
|
|
27
|
-
* *
|
|
28
|
-
**************************************************************************/
|
|
29
|
-
static toPeriodDuration(value) {
|
|
30
|
-
if (value instanceof Duration) {
|
|
31
|
-
return PeriodDuration.ofDuration(value);
|
|
32
|
-
}
|
|
33
|
-
else if (value instanceof Period) {
|
|
34
|
-
return PeriodDuration.ofPeriod(value);
|
|
35
|
-
}
|
|
36
|
-
else if (value instanceof PeriodDuration) {
|
|
37
|
-
return value;
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
return PeriodDuration.parse(value);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVyYXRpb24tZm9ybWF0LXV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21tb24vZm9ybWF0L2R1cmF0aW9uLWZvcm1hdC11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ2hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUN4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0RBQWdELENBQUE7QUFFL0UsTUFBTSxPQUFPLGtCQUFrQjtJQUM3Qjs7OztnRkFJNEU7SUFFNUU7Ozs7OztPQU1HO0lBQ0ksTUFBTSxDQUFDLGNBQWMsQ0FDMUIsS0FBa0QsRUFDbEQsU0FBaUIsY0FBYyxDQUFDLGNBQWM7UUFFOUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1gsT0FBTyxLQUFLLEdBQUcsRUFBRSxDQUFBO1FBQ25CLENBQUM7UUFDRCxNQUFNLGNBQWMsR0FBRyxrQkFBa0IsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNqRSxPQUFPLGNBQWMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFBO0lBQzVELENBQUM7SUFFRDs7OztnRkFJNEU7SUFFcEUsTUFBTSxDQUFDLGdCQUFnQixDQUM3QixLQUFrRDtRQUVsRCxJQUFJLEtBQUssWUFBWSxRQUFRLEVBQUUsQ0FBQztZQUM5QixPQUFPLGNBQWMsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDekMsQ0FBQzthQUFNLElBQUksS0FBSyxZQUFZLE1BQU0sRUFBRSxDQUFDO1lBQ25DLE9BQU8sY0FBYyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUN2QyxDQUFDO2FBQU0sSUFBSSxLQUFLLFlBQVksY0FBYyxFQUFFLENBQUM7WUFDM0MsT0FBTyxLQUFLLENBQUE7UUFDZCxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sY0FBYyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNwQyxDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRHVyYXRpb24sIFBlcmlvZCB9IGZyb20gJ0Bqcy1qb2RhL2NvcmUnXG5pbXBvcnQgeyBQZXJpb2REdXJhdGlvbiB9IGZyb20gJy4uL3RpbWUvcGVyaW9kLWR1cmF0aW9uJ1xuaW1wb3J0IHsgRHVyYXRpb25Gb3JtYXQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3RpbWUvZHVyYXRpb24vZHVyYXRpb24tZm9ybWF0J1xuXG5leHBvcnQgY2xhc3MgRHVyYXRpb25Gb3JtYXRVdGlsIHtcbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIGFueSB2YWxpZCBpbnB1dCBvZiBzdGFuZGFyZCBJU08gODYwMSBkdXJhdGlvbiBmb3JtYXRcbiAgICogZXhhbXBsZSBpbnB1dDogUFQySDEwTTEyLjEyMzU2NzVTLCBvdXRwdXQ6IDJoLCAxMG1pbiwgMTJzLCAxMjQgbXNcbiAgICpcbiAgICogYSBtYXhpbWFsIGlucHV0IGxvb2tzIGxpa2UgdGhpczogUDNZNk00RFQxMkgzME01UyBhbHRob3VnaFxuICAgKiAgYWxsIGFyZ3VtZW50cyBleGNlcHQgUCBhcmUgb3B0aW9uYWwsIGRlY2ltYWwgbnVtYmVycyBhbGxvd2VkXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZvcm1hdER1cmF0aW9uKFxuICAgIHZhbHVlOiBzdHJpbmcgfCBEdXJhdGlvbiB8IFBlcmlvZCB8IFBlcmlvZER1cmF0aW9uLFxuICAgIGZvcm1hdDogc3RyaW5nID0gRHVyYXRpb25Gb3JtYXQuRk9STUFUX0RZTkFNSUNcbiAgKTogc3RyaW5nIHtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICByZXR1cm4gdmFsdWUgKyAnJ1xuICAgIH1cbiAgICBjb25zdCBwZXJpb2REdXJhdGlvbiA9IER1cmF0aW9uRm9ybWF0VXRpbC50b1BlcmlvZER1cmF0aW9uKHZhbHVlKVxuICAgIHJldHVybiBEdXJhdGlvbkZvcm1hdC5wYXJzZShmb3JtYXQpLmZvcm1hdChwZXJpb2REdXJhdGlvbilcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgc3RhdGljIHRvUGVyaW9kRHVyYXRpb24oXG4gICAgdmFsdWU6IHN0cmluZyB8IER1cmF0aW9uIHwgUGVyaW9kIHwgUGVyaW9kRHVyYXRpb25cbiAgKTogUGVyaW9kRHVyYXRpb24ge1xuICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIER1cmF0aW9uKSB7XG4gICAgICByZXR1cm4gUGVyaW9kRHVyYXRpb24ub2ZEdXJhdGlvbih2YWx1ZSlcbiAgICB9IGVsc2UgaWYgKHZhbHVlIGluc3RhbmNlb2YgUGVyaW9kKSB7XG4gICAgICByZXR1cm4gUGVyaW9kRHVyYXRpb24ub2ZQZXJpb2QodmFsdWUpXG4gICAgfSBlbHNlIGlmICh2YWx1ZSBpbnN0YW5jZW9mIFBlcmlvZER1cmF0aW9uKSB7XG4gICAgICByZXR1cm4gdmFsdWVcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIFBlcmlvZER1cmF0aW9uLnBhcnNlKHZhbHVlKVxuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
import { Interval } from '../time/interval';
|
|
2
|
-
import { ZoneId } from '@js-joda/core';
|
|
3
|
-
import { TimeUtil } from '../time/time-util';
|
|
4
|
-
import { formatDate } from '@angular/common';
|
|
5
|
-
var DisplayMode;
|
|
6
|
-
(function (DisplayMode) {
|
|
7
|
-
DisplayMode[DisplayMode["WHOLE_DAY_MULTIPLE"] = 0] = "WHOLE_DAY_MULTIPLE";
|
|
8
|
-
DisplayMode[DisplayMode["WHOLE_DAY_SINGLE"] = 1] = "WHOLE_DAY_SINGLE";
|
|
9
|
-
DisplayMode[DisplayMode["PARTIAL_DAY"] = 2] = "PARTIAL_DAY";
|
|
10
|
-
DisplayMode[DisplayMode["DETAILED"] = 3] = "DETAILED";
|
|
11
|
-
})(DisplayMode || (DisplayMode = {}));
|
|
12
|
-
export class IsoIntervalFormatUtil {
|
|
13
|
-
/***************************************************************************
|
|
14
|
-
* *
|
|
15
|
-
* Public API *
|
|
16
|
-
* *
|
|
17
|
-
**************************************************************************/
|
|
18
|
-
static formatIsoInterval(value, timezone = ZoneId.SYSTEM, locale, format, formatEnd) {
|
|
19
|
-
const interval = value instanceof Interval ? value : Interval.parse(value);
|
|
20
|
-
if (typeof timezone === 'string') {
|
|
21
|
-
timezone = timezone ? ZoneId.of(timezone) : ZoneId.SYSTEM;
|
|
22
|
-
}
|
|
23
|
-
const displayMode = IsoIntervalFormatUtil.determineDisplayMode(interval, timezone);
|
|
24
|
-
switch (displayMode) {
|
|
25
|
-
case DisplayMode.PARTIAL_DAY:
|
|
26
|
-
// If the period is less than a day, and the interval falls in the same local date
|
|
27
|
-
// We can improve the generated display text by omitting the redundant date information.
|
|
28
|
-
return IsoIntervalFormatUtil.formatSubDay(interval, format, timezone, locale);
|
|
29
|
-
case DisplayMode.WHOLE_DAY_SINGLE:
|
|
30
|
-
// Display a single, full day
|
|
31
|
-
return IsoIntervalFormatUtil.formatInstant(interval.start, format || 'mediumDate', timezone, locale);
|
|
32
|
-
case DisplayMode.WHOLE_DAY_MULTIPLE: {
|
|
33
|
-
// Display a range of multiple 'full' days
|
|
34
|
-
return IsoIntervalFormatUtil.formatFullDays(interval, format, timezone, locale, formatEnd);
|
|
35
|
-
}
|
|
36
|
-
case DisplayMode.DETAILED: {
|
|
37
|
-
// No special handling, we render both instants
|
|
38
|
-
return IsoIntervalFormatUtil.formatDetailedInterval(interval, format, timezone, locale, formatEnd);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
/***************************************************************************
|
|
43
|
-
* *
|
|
44
|
-
* Private methods *
|
|
45
|
-
* *
|
|
46
|
-
**************************************************************************/
|
|
47
|
-
static determineDisplayMode(interval, timezone) {
|
|
48
|
-
const period = interval.toPeriodDuration(timezone);
|
|
49
|
-
const periodDays = period.period.days();
|
|
50
|
-
const zonedStart = interval.start.atZone(timezone);
|
|
51
|
-
const zonedEndExc = interval.end.atZone(timezone);
|
|
52
|
-
const isPartialDay = IsoIntervalFormatUtil.isPartialDay(zonedStart, zonedEndExc, periodDays);
|
|
53
|
-
const isFullDays = TimeUtil.isStartOfDay(zonedStart) && TimeUtil.isFullDays(interval.toDuration());
|
|
54
|
-
const isSingleFullDay = isFullDays && periodDays === 1;
|
|
55
|
-
if (isPartialDay) {
|
|
56
|
-
return DisplayMode.PARTIAL_DAY;
|
|
57
|
-
}
|
|
58
|
-
else if (isSingleFullDay) {
|
|
59
|
-
// more specific, order matters here
|
|
60
|
-
return DisplayMode.WHOLE_DAY_SINGLE;
|
|
61
|
-
}
|
|
62
|
-
else if (isFullDays) {
|
|
63
|
-
return DisplayMode.WHOLE_DAY_MULTIPLE;
|
|
64
|
-
}
|
|
65
|
-
else {
|
|
66
|
-
return DisplayMode.DETAILED;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
static formatSubDay(interval, format, timezone, locale) {
|
|
70
|
-
const startDay = IsoIntervalFormatUtil.formatInstant(interval.start, format || 'short', timezone, locale);
|
|
71
|
-
const endTime = interval.end.atZone(timezone).toLocalTime().toString();
|
|
72
|
-
return startDay + ' - ' + endTime;
|
|
73
|
-
}
|
|
74
|
-
static formatFullDays(interval, format, timezone, locale, formatEnd) {
|
|
75
|
-
const zonedEndExclusive = interval.end.atZone(timezone);
|
|
76
|
-
const endDayInstant = zonedEndExclusive.minusDays(1).toInstant();
|
|
77
|
-
const startDay = IsoIntervalFormatUtil.formatInstant(interval.start, format || 'mediumDate', timezone, locale);
|
|
78
|
-
const endDay = IsoIntervalFormatUtil.formatInstant(endDayInstant, formatEnd || format || 'mediumDate', timezone, locale);
|
|
79
|
-
return `${startDay} - ${endDay}`;
|
|
80
|
-
}
|
|
81
|
-
static formatDetailedInterval(interval, format, timezone, locale, formatEnd) {
|
|
82
|
-
const start = IsoIntervalFormatUtil.formatInstant(interval.start, format || 'short', timezone, locale);
|
|
83
|
-
const end = IsoIntervalFormatUtil.formatInstant(interval.end, formatEnd || format || 'short', timezone, locale);
|
|
84
|
-
return `${start} - ${end}`;
|
|
85
|
-
}
|
|
86
|
-
static formatInstant(instant, format, timezone, locale) {
|
|
87
|
-
return IsoIntervalFormatUtil.formatDate(instant.toEpochMilli(), format, timezone, locale);
|
|
88
|
-
}
|
|
89
|
-
static formatDate(value, format, timezone, locale) {
|
|
90
|
-
if (value == null || value === '' || value !== value) {
|
|
91
|
-
// last part filters out NaN values
|
|
92
|
-
return null;
|
|
93
|
-
}
|
|
94
|
-
try {
|
|
95
|
-
const zoneId = timezone?.id();
|
|
96
|
-
return formatDate(value, format, locale, zoneId);
|
|
97
|
-
}
|
|
98
|
-
catch (error) {
|
|
99
|
-
throw Error(`Invalid pipe argument: ${error.message}`);
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
static isPartialDay(zonedStart, zonedEndExc, periodDays) {
|
|
103
|
-
const localStart = zonedStart.toLocalDate();
|
|
104
|
-
const localEndExc = zonedEndExc.toLocalDate();
|
|
105
|
-
const zeroPeriod = periodDays === 0;
|
|
106
|
-
const startIsEnd = localStart.equals(localEndExc);
|
|
107
|
-
const endIsStartOfDay = TimeUtil.isStartOfDay(zonedEndExc);
|
|
108
|
-
return zeroPeriod && (startIsEnd || endIsStartOfDay);
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNvLWludGVydmFsLWZvcm1hdC11dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tbW9uL2Zvcm1hdC9pc28taW50ZXJ2YWwtZm9ybWF0LXV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQzNDLE9BQU8sRUFBMEIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzlELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUM1QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFFNUMsSUFBSyxXQUtKO0FBTEQsV0FBSyxXQUFXO0lBQ2QseUVBQWtCLENBQUE7SUFDbEIscUVBQWdCLENBQUE7SUFDaEIsMkRBQVcsQ0FBQTtJQUNYLHFEQUFRLENBQUE7QUFDVixDQUFDLEVBTEksV0FBVyxLQUFYLFdBQVcsUUFLZjtBQUVELE1BQU0sT0FBTyxxQkFBcUI7SUFDaEM7Ozs7Z0ZBSTRFO0lBRXJFLE1BQU0sQ0FBQyxpQkFBaUIsQ0FDN0IsS0FBd0IsRUFDeEIsV0FBNEIsTUFBTSxDQUFDLE1BQU0sRUFDekMsTUFBYyxFQUNkLE1BQWUsRUFDZixTQUFrQjtRQUVsQixNQUFNLFFBQVEsR0FBRyxLQUFLLFlBQVksUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUE7UUFFMUUsSUFBSSxPQUFPLFFBQVEsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNqQyxRQUFRLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFBO1FBQzNELENBQUM7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QUFJLENBQUMsVUFBVSxJQUFJLGVBQWUsQ0FBQyxDQUFBO0lBQ3RELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEludGVydmFsIH0gZnJvbSAnLi4vdGltZS9pbnRlcnZhbCdcbmltcG9ydCB7IEluc3RhbnQsIFpvbmVkRGF0ZVRpbWUsIFpvbmVJZCB9IGZyb20gJ0Bqcy1qb2RhL2NvcmUnXG5pbXBvcnQgeyBUaW1lVXRpbCB9IGZyb20gJy4uL3RpbWUvdGltZS11dGlsJ1xuaW1wb3J0IHsgZm9ybWF0RGF0ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcblxuZW51bSBEaXNwbGF5TW9kZSB7XG4gIFdIT0xFX0RBWV9NVUxUSVBMRSxcbiAgV0hPTEVfREFZX1NJTkdMRSxcbiAgUEFSVElBTF9EQVksXG4gIERFVEFJTEVELFxufVxuXG5leHBvcnQgY2xhc3MgSXNvSW50ZXJ2YWxGb3JtYXRVdGlsIHtcbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIHN0YXRpYyBmb3JtYXRJc29JbnRlcnZhbChcbiAgICB2YWx1ZTogc3RyaW5nIHwgSW50ZXJ2YWwsXG4gICAgdGltZXpvbmU6IHN0cmluZyB8IFpvbmVJZCA9IFpvbmVJZC5TWVNURU0sXG4gICAgbG9jYWxlOiBzdHJpbmcsXG4gICAgZm9ybWF0Pzogc3RyaW5nLFxuICAgIGZvcm1hdEVuZD86IHN0cmluZ1xuICApOiBzdHJpbmcgfCBudWxsIHtcbiAgICBjb25zdCBpbnRlcnZhbCA9IHZhbHVlIGluc3RhbmNlb2YgSW50ZXJ2YWwgPyB2YWx1ZSA6IEludGVydmFsLnBhcnNlKHZhbHVlKVxuXG4gICAgaWYgKHR5cGVvZiB0aW1lem9uZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHRpbWV6b25lID0gdGltZXpvbmUgPyBab25lSWQub2YodGltZXpvbmUpIDogWm9uZUlkLlNZU1RFTVxuICAgIH1cblxuICAgIGNvbnN0IGRpc3BsYXlNb2RlID0gSXNvSW50ZXJ2YWxGb3JtYXRVdGlsLmRldGVybWluZURpc3BsYXlNb2RlKGludGVydmFsLCB0aW1lem9uZSlcblxuICAgIHN3aXRjaCAoZGlzcGxheU1vZGUpIHtcbiAgICAgIGNhc2UgRGlzcGxheU1vZGUuUEFSVElBTF9EQVk6XG4gICAgICAgIC8vIElmIHRoZSBwZXJpb2QgaXMgbGVzcyB0aGFuIGEgZGF5LCBhbmQgdGhlIGludGVydmFsIGZhbGxzIGluIHRoZSBzYW1lIGxvY2FsIGRhdGVcbiAgICAgICAgLy8gV2UgY2FuIGltcHJvdmUgdGhlIGdlbmVyYXRlZCBkaXNwbGF5IHRleHQgYnkgb21pdHRpbmcgdGhlIHJlZHVuZGFudCBkYXRlIGluZm9ybWF0aW9uLlxuICAgICAgICByZXR1cm4gSXNvSW50ZXJ2YWxGb3JtYXRVdGlsLmZvcm1hdFN1YkRheShpbnRlcnZhbCwgZm9ybWF0LCB0aW1lem9uZSwgbG9jYWxlKVxuICAgICAgY2FzZSBEaXNwbGF5TW9kZS5XSE9MRV9EQVlfU0lOR0xFOlxuICAgICAgICAvLyBEaXNwbGF5IGEgc2luZ2xlLCBmdWxsIGRheVxuICAgICAgICByZXR1cm4gSXNvSW50ZXJ2YWxGb3JtYXRVdGlsLmZvcm1hdEluc3RhbnQoXG4gICAgICAgICAgaW50ZXJ2YWwuc3RhcnQsXG4gICAgICAgICAgZm9ybWF0IHx8ICdtZWRpdW1EYXRlJyxcbiAgICAgICAgICB0aW1lem9uZSxcbiAgICAgICAgICBsb2NhbGVcbiAgICAgICAgKVxuICAgICAgY2FzZSBEaXNwbGF5TW9kZS5XSE9MRV9EQVlfTVVMVElQTEU6IHtcbiAgICAgICAgLy8gRGlzcGxheSBhIHJhbmdlIG9mIG11bHRpcGxlICdmdWxsJyBkYXlzXG4gICAgICAgIHJldHVybiBJc29JbnRlcnZhbEZvcm1hdFV0aWwuZm9ybWF0RnVsbERheXMoaW50ZXJ2YWwsIGZvcm1hdCwgdGltZXpvbmUsIGxvY2FsZSwgZm9ybWF0RW5kKVxuICAgICAgfVxuICAgICAgY2FzZSBEaXNwbGF5TW9kZS5ERVRBSUxFRDoge1xuICAgICAgICAvLyBObyBzcGVjaWFsIGhhbmRsaW5nLCB3ZSByZW5kZXIgYm90aCBpbnN0YW50c1xuICAgICAgICByZXR1cm4gSXNvSW50ZXJ2YWxGb3JtYXRVdGlsLmZvcm1hdERldGFpbGVkSW50ZXJ2YWwoXG4gICAgICAgICAgaW50ZXJ2YWwsXG4gICAgICAgICAgZm9ybWF0LFxuICAgICAgICAgIHRpbWV6b25lLFxuICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICBmb3JtYXRFbmRcbiAgICAgICAgKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgc3RhdGljIGRldGVybWluZURpc3BsYXlNb2RlKGludGVydmFsOiBJbnRlcnZhbCwgdGltZXpvbmU6IFpvbmVJZCk6IERpc3BsYXlNb2RlIHtcbiAgICBjb25zdCBwZXJpb2QgPSBpbnRlcnZhbC50b1BlcmlvZER1cmF0aW9uKHRpbWV6b25lKVxuICAgIGNvbnN0IHBlcmlvZERheXMgPSBwZXJpb2QucGVyaW9kLmRheXMoKVxuICAgIGNvbnN0IHpvbmVkU3RhcnQgPSBpbnRlcnZhbC5zdGFydC5hdFpvbmUodGltZXpvbmUpXG4gICAgY29uc3Qgem9uZWRFbmRFeGMgPSBpbnRlcnZhbC5lbmQuYXRab25lKHRpbWV6b25lKVxuXG4gICAgY29uc3QgaXNQYXJ0aWFsRGF5ID0gSXNvSW50ZXJ2YWxGb3JtYXRVdGlsLmlzUGFydGlhbERheSh6b25lZFN0YXJ0LCB6b25lZEVuZEV4YywgcGVyaW9kRGF5cylcbiAgICBjb25zdCBpc0Z1bGxEYXlzID1cbiAgICAgIFRpbWVVdGlsLmlzU3RhcnRPZkRheSh6b25lZFN0YXJ0KSAmJiBUaW1lVXRpbC5pc0Z1bGxEYXlzKGludGVydmFsLnRvRHVyYXRpb24oKSlcbiAgICBjb25zdCBpc1NpbmdsZUZ1bGxEYXkgPSBpc0Z1bGxEYXlzICYmIHBlcmlvZERheXMgPT09IDFcblxuICAgIGlmIChpc1BhcnRpYWxEYXkpIHtcbiAgICAgIHJldHVybiBEaXNwbGF5TW9kZS5QQVJUSUFMX0RBWVxuICAgIH0gZWxzZSBpZiAoaXNTaW5nbGVGdWxsRGF5KSB7XG4gICAgICAvLyBtb3JlIHNwZWNpZmljLCBvcmRlciBtYXR0ZXJzIGhlcmVcbiAgICAgIHJldHVybiBEaXNwbGF5TW9kZS5XSE9MRV9EQVlfU0lOR0xFXG4gICAgfSBlbHNlIGlmIChpc0Z1bGxEYXlzKSB7XG4gICAgICByZXR1cm4gRGlzcGxheU1vZGUuV0hPTEVfREFZX01VTFRJUExFXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBEaXNwbGF5TW9kZS5ERVRBSUxFRFxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGZvcm1hdFN1YkRheShcbiAgICBpbnRlcnZhbDogSW50ZXJ2YWwsXG4gICAgZm9ybWF0OiBzdHJpbmcsXG4gICAgdGltZXpvbmU6IFpvbmVJZCxcbiAgICBsb2NhbGU6IHN0cmluZ1xuICApOiBzdHJpbmcge1xuICAgIGNvbnN0IHN0YXJ0RGF5ID0gSXNvSW50ZXJ2YWxGb3JtYXRVdGlsLmZvcm1hdEluc3RhbnQoXG4gICAgICBpbnRlcnZhbC5zdGFydCxcbiAgICAgIGZvcm1hdCB8fCAnc2hvcnQnLFxuICAgICAgdGltZXpvbmUsXG4gICAgICBsb2NhbGVcbiAgICApXG4gICAgY29uc3QgZW5kVGltZSA9IGludGVydmFsLmVuZC5hdFpvbmUodGltZXpvbmUpLnRvTG9jYWxUaW1lKCkudG9TdHJpbmcoKVxuICAgIHJldHVybiBzdGFydERheSArICcgLSAnICsgZW5kVGltZVxuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgZm9ybWF0RnVsbERheXMoXG4gICAgaW50ZXJ2YWw6IEludGVydmFsLFxuICAgIGZvcm1hdDogc3RyaW5nLFxuICAgIHRpbWV6b25lOiBab25lSWQsXG4gICAgbG9jYWxlOiBzdHJpbmcsXG4gICAgZm9ybWF0RW5kOiBzdHJpbmdcbiAgKTogc3RyaW5nIHtcbiAgICBjb25zdCB6b25lZEVuZEV4Y2x1c2l2ZSA9IGludGVydmFsLmVuZC5hdFpvbmUodGltZXpvbmUpXG4gICAgY29uc3QgZW5kRGF5SW5zdGFudCA9IHpvbmVkRW5kRXhjbHVzaXZlLm1pbnVzRGF5cygxKS50b0luc3RhbnQoKVxuICAgIGNvbnN0IHN0YXJ0RGF5ID0gSXNvSW50ZXJ2YWxGb3JtYXRVdGlsLmZvcm1hdEluc3RhbnQoXG4gICAgICBpbnRlcnZhbC5zdGFydCxcbiAgICAgIGZvcm1hdCB8fCAnbWVkaXVtRGF0ZScsXG4gICAgICB0aW1lem9uZSxcbiAgICAgIGxvY2FsZVxuICAgIClcbiAgICBjb25zdCBlbmREYXkgPSBJc29JbnRlcnZhbEZvcm1hdFV0aWwuZm9ybWF0SW5zdGFudChcbiAgICAgIGVuZERheUluc3RhbnQsXG4gICAgICBmb3JtYXRFbmQgfHwgZm9ybWF0IHx8ICdtZWRpdW1EYXRlJyxcbiAgICAgIHRpbWV6b25lLFxuICAgICAgbG9jYWxlXG4gICAgKVxuICAgIHJldHVybiBgJHtzdGFydERheX0gLSAke2VuZERheX1gXG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBmb3JtYXREZXRhaWxlZEludGVydmFsKFxuICAgIGludGVydmFsOiBJbnRlcnZhbCxcbiAgICBmb3JtYXQ6IHN0cmluZyxcbiAgICB0aW1lem9uZTogWm9uZUlkLFxuICAgIGxvY2FsZTogc3RyaW5nLFxuICAgIGZvcm1hdEVuZDogc3RyaW5nXG4gICk6IHN0cmluZyB7XG4gICAgY29uc3Qgc3RhcnQgPSBJc29JbnRlcnZhbEZvcm1hdFV0aWwuZm9ybWF0SW5zdGFudChcbiAgICAgIGludGVydmFsLnN0YXJ0LFxuICAgICAgZm9ybWF0IHx8ICdzaG9ydCcsXG4gICAgICB0aW1lem9uZSxcbiAgICAgIGxvY2FsZVxuICAgIClcbiAgICBjb25zdCBlbmQgPSBJc29JbnRlcnZhbEZvcm1hdFV0aWwuZm9ybWF0SW5zdGFudChcbiAgICAgIGludGVydmFsLmVuZCxcbiAgICAgIGZvcm1hdEVuZCB8fCBmb3JtYXQgfHwgJ3Nob3J0JyxcbiAgICAgIHRpbWV6b25lLFxuICAgICAgbG9jYWxlXG4gICAgKVxuICAgIHJldHVybiBgJHtzdGFydH0gLSAke2VuZH1gXG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBmb3JtYXRJbnN0YW50KFxuICAgIGluc3RhbnQ6IEluc3RhbnQsXG4gICAgZm9ybWF0OiBzdHJpbmcsXG4gICAgdGltZXpvbmU6IFpvbmVJZCxcbiAgICBsb2NhbGU6IHN0cmluZ1xuICApOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gSXNvSW50ZXJ2YWxGb3JtYXRVdGlsLmZvcm1hdERhdGUoaW5zdGFudC50b0Vwb2NoTWlsbGkoKSwgZm9ybWF0LCB0aW1lem9uZSwgbG9jYWxlKVxuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgZm9ybWF0RGF0ZShcbiAgICB2YWx1ZTogc3RyaW5nIHwgRGF0ZSB8IG51bWJlcixcbiAgICBmb3JtYXQ6IHN0cmluZyxcbiAgICB0aW1lem9uZTogWm9uZUlkLFxuICAgIGxvY2FsZTogc3RyaW5nXG4gICk6IHN0cmluZyB8IG51bGwge1xuICAgIGlmICh2YWx1ZSA9PSBudWxsIHx8IHZhbHVlID09PSAnJyB8fCB2YWx1ZSAhPT0gdmFsdWUpIHtcbiAgICAgIC8vIGxhc3QgcGFydCBmaWx0ZXJzIG91dCBOYU4gdmFsdWVzXG4gICAgICByZXR1cm4gbnVsbFxuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBjb25zdCB6b25lSWQgPSB0aW1lem9uZT8uaWQoKVxuICAgICAgcmV0dXJuIGZvcm1hdERhdGUodmFsdWUsIGZvcm1hdCwgbG9jYWxlLCB6b25lSWQpXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IEVycm9yKGBJbnZhbGlkIHBpcGUgYXJndW1lbnQ6ICR7KGVycm9yIGFzIEVycm9yKS5tZXNzYWdlfWApXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgaXNQYXJ0aWFsRGF5KFxuICAgIHpvbmVkU3RhcnQ6IFpvbmVkRGF0ZVRpbWUsXG4gICAgem9uZWRFbmRFeGM6IFpvbmVkRGF0ZVRpbWUsXG4gICAgcGVyaW9kRGF5czogbnVtYmVyXG4gICk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGxvY2FsU3RhcnQgPSB6b25lZFN0YXJ0LnRvTG9jYWxEYXRlKClcbiAgICBjb25zdCBsb2NhbEVuZEV4YyA9IHpvbmVkRW5kRXhjLnRvTG9jYWxEYXRlKClcbiAgICBjb25zdCB6ZXJvUGVyaW9kID0gcGVyaW9kRGF5cyA9PT0gMFxuICAgIGNvbnN0IHN0YXJ0SXNFbmQgPSBsb2NhbFN0YXJ0LmVxdWFscyhsb2NhbEVuZEV4YylcbiAgICBjb25zdCBlbmRJc1N0YXJ0T2ZEYXkgPSBUaW1lVXRpbC5pc1N0YXJ0T2ZEYXkoem9uZWRFbmRFeGMpXG4gICAgcmV0dXJuIHplcm9QZXJpb2QgJiYgKHN0YXJ0SXNFbmQgfHwgZW5kSXNTdGFydE9mRGF5KVxuICB9XG59XG4iXX0=
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export * from './bytes-per-second-format';
|
|
2
|
-
export * from './bytes-format';
|
|
3
|
-
export * from './curency-format-util';
|
|
4
|
-
export * from './iso-interval-format-util';
|
|
5
|
-
export * from './duration-format-util';
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi9mb3JtYXQvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJCQUEyQixDQUFBO0FBQ3pDLGNBQWMsZ0JBQWdCLENBQUE7QUFDOUIsY0FBYyx1QkFBdUIsQ0FBQTtBQUNyQyxjQUFjLDRCQUE0QixDQUFBO0FBQzFDLGNBQWMsd0JBQXdCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2J5dGVzLXBlci1zZWNvbmQtZm9ybWF0J1xuZXhwb3J0ICogZnJvbSAnLi9ieXRlcy1mb3JtYXQnXG5leHBvcnQgKiBmcm9tICcuL2N1cmVuY3ktZm9ybWF0LXV0aWwnXG5leHBvcnQgKiBmcm9tICcuL2lzby1pbnRlcnZhbC1mb3JtYXQtdXRpbCdcbmV4cG9ydCAqIGZyb20gJy4vZHVyYXRpb24tZm9ybWF0LXV0aWwnXG4iXX0=
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { startWith } from 'rxjs/operators';
|
|
2
|
-
export class ElderEntityValueAccessorUtil {
|
|
3
|
-
static entity$(vac) {
|
|
4
|
-
return vac.entityChange.pipe(startWith(vac.entity));
|
|
5
|
-
}
|
|
6
|
-
static entityId$(vac) {
|
|
7
|
-
return vac.entityIdChange.pipe(startWith(vac.entityId));
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
export function isElderEntityValueAccessor(object) {
|
|
11
|
-
if (!object) {
|
|
12
|
-
return false;
|
|
13
|
-
}
|
|
14
|
-
const vac = object;
|
|
15
|
-
return ('entity' in vac && // This might be undefined
|
|
16
|
-
'entityId' in vac && // This might be undefined
|
|
17
|
-
vac.entityIdChange !== undefined &&
|
|
18
|
-
vac.entityChange !== undefined &&
|
|
19
|
-
vac.updateValueByEntity !== undefined &&
|
|
20
|
-
vac.entityToValue !== undefined);
|
|
21
|
-
}
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItZW50aXR5LXZhbHVlLWFjY2Vzc29yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tbW9uL2Zvcm1zL2VsZGVyLWVudGl0eS12YWx1ZS1hY2Nlc3Nvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUE0QzFDLE1BQU0sT0FBTyw0QkFBNEI7SUFDaEMsTUFBTSxDQUFDLE9BQU8sQ0FDbkIsR0FBaUQ7UUFFakQsT0FBTyxHQUFHLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUE7SUFDckQsQ0FBQztJQUNNLE1BQU0sQ0FBQyxTQUFTLENBQU0sR0FBNkM7UUFDeEUsT0FBTyxHQUFHLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUE7SUFDekQsQ0FBQztDQUNGO0FBRUQsTUFBTSxVQUFVLDBCQUEwQixDQUN4QyxNQUFXO0lBRVgsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1osT0FBTyxLQUFLLENBQUE7SUFDZCxDQUFDO0lBRUQsTUFBTSxHQUFHLEdBQUcsTUFBa0QsQ0FBQTtJQUU5RCxPQUFPLENBQ0wsUUFBUSxJQUFJLEdBQUcsSUFBSSwwQkFBMEI7UUFDN0MsVUFBVSxJQUFJLEdBQUcsSUFBSSwwQkFBMEI7UUFDL0MsR0FBRyxDQUFDLGNBQWMsS0FBSyxTQUFTO1FBQ2hDLEdBQUcsQ0FBQyxZQUFZLEtBQUssU0FBUztRQUM5QixHQUFHLENBQUMsbUJBQW1CLEtBQUssU0FBUztRQUNyQyxHQUFHLENBQUMsYUFBYSxLQUFLLFNBQVMsQ0FDaEMsQ0FBQTtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBjb250cm9sIHdoaWNoIGlzIGJhY2tlZCBieSBlbnRpdGllcyAoYWxvbmcgIHZhbHVlcykuXG4gKlxuICogVGhlIGNvcmUgaWRlYSBpcyB0aGF0IGEgY29udHJvbCB0cmFja3MgYW4gaWQgYXMgdmFsdWUsIGJ1dCBpdCB3aWxsXG4gKiBhbHNvIHNpZGUgbG9hZCB0aGUgY29ycmVzcG9uZGluZyBlbnRpdHkgZnJvbSBhIGRhdGFzb3VyY2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUVsZGVyRW50aXR5VmFsdWVBY2Nlc3NvcjxURW50aXR5LCBUSWQsIFRWYWx1ZT4ge1xuICAvKipcbiAgICogR2V0cyBvciBzZXRzIHRoZSBlbnRpdHlcbiAgICovXG4gIGVudGl0eTogVEVudGl0eVxuXG4gIC8qKlxuICAgKiBHZXRzIG9yIHNldHMgdGhlIGVudGl0eSBpZFxuICAgKi9cbiAgZW50aXR5SWQ6IFRJZFxuXG4gIC8qKlxuICAgKiBFbWl0cyB3aGVuIHRoZSBlbnRpdHkgaWQgaGFzIGNoYW5nZWQuXG4gICAqL1xuICBlbnRpdHlJZENoYW5nZTogT2JzZXJ2YWJsZTxUSWQ+XG5cbiAgLyoqXG4gICAqIEVtaXRzIHdoZW4gdGhlIGVudGl0eSBoYXMgY2hhbmdlZC5cbiAgICovXG4gIGVudGl0eUNoYW5nZTogT2JzZXJ2YWJsZTxURW50aXR5PlxuXG4gIC8qKlxuICAgKiBVcGRhdGUgdGhlIGNvbnRyb2wgdmFsdWUgYnkgdGhlIGdpdmVuIGVudGl0eVxuICAgKiBhbmQgZW1pdCBhIHZhbHVlLXVwZGF0ZWQgZXZlbnQgd2hpY2ggc2ltdWxhdGVzXG4gICAqIGEgdXNlciBhY3Rpb24uXG4gICAqIEBwYXJhbSBlbnRpdHlcbiAgICovXG4gIHVwZGF0ZVZhbHVlQnlFbnRpdHkoZW50aXR5OiBURW50aXR5KTogdm9pZFxuXG4gIC8qKlxuICAgKiBDb252ZXJ0IGFuIGVudGl0eSB0byBhIHZhbHVlIGZvciB0aGlzIGNvbnRyb2wuXG4gICAqIEBwYXJhbSBlbnRpdHlcbiAgICovXG4gIGVudGl0eVRvVmFsdWUoZW50aXR5OiBURW50aXR5KTogVFZhbHVlXG59XG5cbmV4cG9ydCBjbGFzcyBFbGRlckVudGl0eVZhbHVlQWNjZXNzb3JVdGlsIHtcbiAgcHVibGljIHN0YXRpYyBlbnRpdHkkPFRFbnRpdHk+KFxuICAgIHZhYzogSUVsZGVyRW50aXR5VmFsdWVBY2Nlc3NvcjxURW50aXR5LCBhbnksIGFueT5cbiAgKTogT2JzZXJ2YWJsZTxURW50aXR5PiB7XG4gICAgcmV0dXJuIHZhYy5lbnRpdHlDaGFuZ2UucGlwZShzdGFydFdpdGgodmFjLmVudGl0eSkpXG4gIH1cbiAgcHVibGljIHN0YXRpYyBlbnRpdHlJZCQ8VElkPih2YWM6IElFbGRlckVudGl0eVZhbHVlQWNjZXNzb3I8YW55LCBUSWQsIGFueT4pOiBPYnNlcnZhYmxlPFRJZD4ge1xuICAgIHJldHVybiB2YWMuZW50aXR5SWRDaGFuZ2UucGlwZShzdGFydFdpdGgodmFjLmVudGl0eUlkKSlcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNFbGRlckVudGl0eVZhbHVlQWNjZXNzb3IoXG4gIG9iamVjdDogYW55XG4pOiBvYmplY3QgaXMgSUVsZGVyRW50aXR5VmFsdWVBY2Nlc3NvcjxhbnksIGFueSwgYW55PiB7XG4gIGlmICghb2JqZWN0KSB7XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cblxuICBjb25zdCB2YWMgPSBvYmplY3QgYXMgSUVsZGVyRW50aXR5VmFsdWVBY2Nlc3NvcjxhbnksIGFueSwgYW55PlxuXG4gIHJldHVybiAoXG4gICAgJ2VudGl0eScgaW4gdmFjICYmIC8vIFRoaXMgbWlnaHQgYmUgdW5kZWZpbmVkXG4gICAgJ2VudGl0eUlkJyBpbiB2YWMgJiYgLy8gVGhpcyBtaWdodCBiZSB1bmRlZmluZWRcbiAgICB2YWMuZW50aXR5SWRDaGFuZ2UgIT09IHVuZGVmaW5lZCAmJlxuICAgIHZhYy5lbnRpdHlDaGFuZ2UgIT09IHVuZGVmaW5lZCAmJlxuICAgIHZhYy51cGRhdGVWYWx1ZUJ5RW50aXR5ICE9PSB1bmRlZmluZWQgJiZcbiAgICB2YWMuZW50aXR5VG9WYWx1ZSAhPT0gdW5kZWZpbmVkXG4gIClcbn1cbiJdfQ==
|
|
@@ -1,188 +0,0 @@
|
|
|
1
|
-
import { ValueAccessorBase } from './value-accessor-base';
|
|
2
|
-
import { mergeWith, Subject } from 'rxjs';
|
|
3
|
-
import { NgControl } from '@angular/forms';
|
|
4
|
-
import { map } from 'rxjs/operators';
|
|
5
|
-
import { computed, DestroyRef, Directive, ElementRef, HostBinding, inject, Input, model, signal, untracked, } from '@angular/core';
|
|
6
|
-
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
7
|
-
import { FocusMonitor } from '@angular/cdk/a11y';
|
|
8
|
-
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
/**
|
|
11
|
-
* Base for custom material form field controls.
|
|
12
|
-
* https://material.angular.io/guide/creating-a-custom-form-field-control
|
|
13
|
-
*
|
|
14
|
-
* Implementors must provide the MatFormFieldControl:
|
|
15
|
-
* providers: [{provide: MatFormFieldControl, useExisting: MyCoolInput}]
|
|
16
|
-
*/
|
|
17
|
-
export class ElderFormFieldControlBase extends ValueAccessorBase {
|
|
18
|
-
/***************************************************************************
|
|
19
|
-
* *
|
|
20
|
-
* Fields *
|
|
21
|
-
* *
|
|
22
|
-
**************************************************************************/
|
|
23
|
-
static { this.nextId = 0; }
|
|
24
|
-
/***************************************************************************
|
|
25
|
-
* *
|
|
26
|
-
* Constructor *
|
|
27
|
-
* *
|
|
28
|
-
**************************************************************************/
|
|
29
|
-
constructor(controlType) {
|
|
30
|
-
super();
|
|
31
|
-
this.hostRef = inject(ElementRef);
|
|
32
|
-
this._focusMonitor = inject(FocusMonitor);
|
|
33
|
-
this._destroyRef = inject(DestroyRef);
|
|
34
|
-
this.ngControl = inject(NgControl, {
|
|
35
|
-
optional: true,
|
|
36
|
-
self: true,
|
|
37
|
-
});
|
|
38
|
-
this.placeholderS = model(undefined, {
|
|
39
|
-
alias: 'placeholder',
|
|
40
|
-
});
|
|
41
|
-
this.disabledS = signal(false);
|
|
42
|
-
this.requiredS = signal(false);
|
|
43
|
-
this.readonlyS = signal(false);
|
|
44
|
-
this.isLockedS = computed(() => {
|
|
45
|
-
const dis = this.disabledS();
|
|
46
|
-
const readonly = this.readonlyS();
|
|
47
|
-
return dis || readonly;
|
|
48
|
-
});
|
|
49
|
-
this._focused = false;
|
|
50
|
-
this.stateChangePusher$ = new Subject();
|
|
51
|
-
this.controlType = controlType;
|
|
52
|
-
this.id = `elder-control-${this.controlType}-${ElderFormFieldControlBase.nextId++}`;
|
|
53
|
-
if (this.ngControl) {
|
|
54
|
-
this.ngControl.valueAccessor = this;
|
|
55
|
-
}
|
|
56
|
-
this.initFocusMonitor();
|
|
57
|
-
}
|
|
58
|
-
/***************************************************************************
|
|
59
|
-
* *
|
|
60
|
-
* Life Cycle *
|
|
61
|
-
* *
|
|
62
|
-
**************************************************************************/
|
|
63
|
-
initFocusMonitor() {
|
|
64
|
-
this._focusMonitor
|
|
65
|
-
.monitor(this.hostRef, true)
|
|
66
|
-
.pipe(takeUntilDestroyed(this._destroyRef))
|
|
67
|
-
.subscribe((focusOrigin) => {
|
|
68
|
-
if (focusOrigin) {
|
|
69
|
-
this.onFocusInternal();
|
|
70
|
-
}
|
|
71
|
-
else {
|
|
72
|
-
this.onBlurInternal();
|
|
73
|
-
}
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
/***************************************************************************
|
|
77
|
-
* *
|
|
78
|
-
* Properties *
|
|
79
|
-
* *
|
|
80
|
-
**************************************************************************/
|
|
81
|
-
get placeholder() {
|
|
82
|
-
return untracked(this.placeholderS);
|
|
83
|
-
}
|
|
84
|
-
set placeholder(value) {
|
|
85
|
-
this.placeholderS.set(value);
|
|
86
|
-
}
|
|
87
|
-
set required(value) {
|
|
88
|
-
const newValue = coerceBooleanProperty(value);
|
|
89
|
-
if (this.required !== newValue) {
|
|
90
|
-
this.requiredS.set(newValue);
|
|
91
|
-
this.emitStateChange();
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
get required() {
|
|
95
|
-
return untracked(this.requiredS);
|
|
96
|
-
}
|
|
97
|
-
set disabled(value) {
|
|
98
|
-
const newValue = coerceBooleanProperty(value);
|
|
99
|
-
if (this.disabled !== newValue) {
|
|
100
|
-
this.disabledS.set(newValue);
|
|
101
|
-
this.emitStateChange();
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
get disabled() {
|
|
105
|
-
return untracked(this.disabledS);
|
|
106
|
-
}
|
|
107
|
-
set readonly(value) {
|
|
108
|
-
const newValue = coerceBooleanProperty(value);
|
|
109
|
-
if (this.readonly !== newValue) {
|
|
110
|
-
this.readonlyS.set(newValue);
|
|
111
|
-
this.emitStateChange();
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
get readonly() {
|
|
115
|
-
return untracked(this.readonlyS);
|
|
116
|
-
}
|
|
117
|
-
get isLocked() {
|
|
118
|
-
return this.disabled || this.readonly;
|
|
119
|
-
}
|
|
120
|
-
get stateChanges() {
|
|
121
|
-
return this.value$.pipe(map((x) => x), mergeWith(this.stateChangePusher$));
|
|
122
|
-
}
|
|
123
|
-
get errorState() {
|
|
124
|
-
return this.ngControl?.invalid && this.ngControl?.dirty;
|
|
125
|
-
}
|
|
126
|
-
get empty() {
|
|
127
|
-
return this.value === undefined || this.value === null || this.value === '';
|
|
128
|
-
}
|
|
129
|
-
get shouldLabelFloat() {
|
|
130
|
-
return !this.empty || this._focused;
|
|
131
|
-
}
|
|
132
|
-
get focused() {
|
|
133
|
-
return this._focused;
|
|
134
|
-
}
|
|
135
|
-
/***************************************************************************
|
|
136
|
-
* *
|
|
137
|
-
* Public API *
|
|
138
|
-
* *
|
|
139
|
-
**************************************************************************/
|
|
140
|
-
onContainerClick(event) {
|
|
141
|
-
this.focus();
|
|
142
|
-
}
|
|
143
|
-
setDescribedByIds(ids) {
|
|
144
|
-
if (ids.length) {
|
|
145
|
-
// this._elementRef.nativeElement.setAttribute('aria-describedby', ids.join(' '));
|
|
146
|
-
}
|
|
147
|
-
else {
|
|
148
|
-
// this._elementRef.nativeElement.removeAttribute('aria-describedby');
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
/***************************************************************************
|
|
152
|
-
* *
|
|
153
|
-
* Internal API *
|
|
154
|
-
* *
|
|
155
|
-
**************************************************************************/
|
|
156
|
-
emitStateChange() {
|
|
157
|
-
this.stateChangePusher$.next();
|
|
158
|
-
}
|
|
159
|
-
writeToControl(value) { }
|
|
160
|
-
onFocusInternal() {
|
|
161
|
-
if (!this.disabled) {
|
|
162
|
-
this._focused = true;
|
|
163
|
-
this.emitStateChange();
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
onBlurInternal() {
|
|
167
|
-
this._focused = false;
|
|
168
|
-
if (!this.disabled) {
|
|
169
|
-
// this._onTouched();
|
|
170
|
-
// this._changeDetectorRef.markForCheck();
|
|
171
|
-
this.emitStateChange();
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderFormFieldControlBase, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive }); }
|
|
175
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.13", type: ElderFormFieldControlBase, inputs: { placeholderS: { classPropertyName: "placeholderS", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: false, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { placeholderS: "placeholderChange" }, host: { properties: { "id": "this.id" } }, usesInheritance: true, ngImport: i0 }); }
|
|
176
|
-
}
|
|
177
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderFormFieldControlBase, decorators: [{
|
|
178
|
-
type: Directive
|
|
179
|
-
}], ctorParameters: () => [{ type: undefined }], propDecorators: { id: [{
|
|
180
|
-
type: HostBinding
|
|
181
|
-
}], required: [{
|
|
182
|
-
type: Input
|
|
183
|
-
}], disabled: [{
|
|
184
|
-
type: Input
|
|
185
|
-
}], readonly: [{
|
|
186
|
-
type: Input
|
|
187
|
-
}] } });
|
|
188
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItZm9ybS1maWVsZC1jb250cm9sLWJhc2UuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tbW9uL2Zvcm1zL2VsZGVyLWZvcm0tZmllbGQtY29udHJvbC1iYXNlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUN6RCxPQUFPLEVBQUUsU0FBUyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUNyRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDMUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3BDLE9BQU8sRUFDTCxRQUFRLEVBQ1IsVUFBVSxFQUNWLFNBQVMsRUFDVCxVQUFVLEVBQ1YsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFnQixxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBQzNFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUNoRCxPQUFPLEVBQUUsa0JBQWtCLEVBQWdCLE1BQU0sNEJBQTRCLENBQUE7O0FBRTdFOzs7Ozs7R0FNRztBQUVILE1BQU0sT0FBZ0IseUJBQ3BCLFNBQVEsaUJBQW9CO0lBRzVCOzs7O2dGQUk0RTthQUU3RCxXQUFNLEdBQUcsQ0FBQyxBQUFKLENBQUk7SUFrQ3pCOzs7O2dGQUk0RTtJQUU1RSxZQUFZLFdBQW1CO1FBQzdCLEtBQUssRUFBRSxDQUFBO1FBdkNRLFlBQU8sR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDNUIsa0JBQWEsR0FBRyxNQUFNLENB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QVE7c0JBRGxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNYXRGb3JtRmllbGRDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCdcbmltcG9ydCB7IFZhbHVlQWNjZXNzb3JCYXNlIH0gZnJvbSAnLi92YWx1ZS1hY2Nlc3Nvci1iYXNlJ1xuaW1wb3J0IHsgbWVyZ2VXaXRoLCBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcydcbmltcG9ydCB7IE5nQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJ1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQge1xuICBjb21wdXRlZCxcbiAgRGVzdHJveVJlZixcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBIb3N0QmluZGluZyxcbiAgaW5qZWN0LFxuICBJbnB1dCxcbiAgbW9kZWwsXG4gIHNpZ25hbCxcbiAgdW50cmFja2VkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQm9vbGVhbklucHV0LCBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nXG5pbXBvcnQgeyBGb2N1c01vbml0b3IgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSdcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCwgdG9PYnNlcnZhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnXG5cbi8qKlxuICogQmFzZSBmb3IgY3VzdG9tIG1hdGVyaWFsIGZvcm0gZmllbGQgY29udHJvbHMuXG4gKiBodHRwczovL21hdGVyaWFsLmFuZ3VsYXIuaW8vZ3VpZGUvY3JlYXRpbmctYS1jdXN0b20tZm9ybS1maWVsZC1jb250cm9sXG4gKlxuICogSW1wbGVtZW50b3JzIG11c3QgcHJvdmlkZSB0aGUgTWF0Rm9ybUZpZWxkQ29udHJvbDpcbiAqIHByb3ZpZGVyczogW3twcm92aWRlOiBNYXRGb3JtRmllbGRDb250cm9sLCB1c2VFeGlzdGluZzogTXlDb29sSW5wdXR9XVxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBFbGRlckZvcm1GaWVsZENvbnRyb2xCYXNlPFQ+XG4gIGV4dGVuZHMgVmFsdWVBY2Nlc3NvckJhc2U8VD5cbiAgaW1wbGVtZW50cyBNYXRGb3JtRmllbGRDb250cm9sPFQ+XG57XG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgc3RhdGljIG5leHRJZCA9IDBcblxuICBwcml2YXRlIHJlYWRvbmx5IGhvc3RSZWYgPSBpbmplY3QoRWxlbWVudFJlZilcbiAgcHJpdmF0ZSByZWFkb25seSBfZm9jdXNNb25pdG9yID0gaW5qZWN0KEZvY3VzTW9uaXRvcilcbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKVxuICBwdWJsaWMgcmVhZG9ubHkgbmdDb250cm9sID0gaW5qZWN0KE5nQ29udHJvbCwge1xuICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgIHNlbGY6IHRydWUsXG4gIH0pXG5cbiAgcHVibGljIHJlYWRvbmx5IHBsYWNlaG9sZGVyUyA9IG1vZGVsPHN0cmluZz4odW5kZWZpbmVkLCB7XG4gICAgYWxpYXM6ICdwbGFjZWhvbGRlcicsXG4gIH0pXG5cbiAgcHVibGljIHJlYWRvbmx5IGRpc2FibGVkUyA9IHNpZ25hbDxib29sZWFuPihmYWxzZSlcbiAgcHVibGljIHJlYWRvbmx5IHJlcXVpcmVkUyA9IHNpZ25hbDxib29sZWFuPihmYWxzZSlcbiAgcHVibGljIHJlYWRvbmx5IHJlYWRvbmx5UyA9IHNpZ25hbDxib29sZWFuPihmYWxzZSlcbiAgcHVibGljIHJlYWRvbmx5IGlzTG9ja2VkUyA9IGNvbXB1dGVkPGJvb2xlYW4+KCgpID0+IHtcbiAgICBjb25zdCBkaXMgPSB0aGlzLmRpc2FibGVkUygpXG4gICAgY29uc3QgcmVhZG9ubHkgPSB0aGlzLnJlYWRvbmx5UygpXG4gICAgcmV0dXJuIGRpcyB8fCByZWFkb25seVxuICB9KVxuXG4gIHByaXZhdGUgX2ZvY3VzZWQgPSBmYWxzZVxuICBwcml2YXRlIHJlYWRvbmx5IHN0YXRlQ2hhbmdlUHVzaGVyJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KClcblxuICBASG9zdEJpbmRpbmcoKSBwdWJsaWMgcmVhZG9ubHkgaWQ6IHN0cmluZ1xuXG4gIHB1YmxpYyBjb250cm9sVHlwZTogc3RyaW5nXG5cbiAgLy8gVE9ETyAuLi5cbiAgcmVhZG9ubHkgYXV0b2ZpbGxlZDogYm9vbGVhblxuICByZWFkb25seSB1c2VyQXJpYURlc2NyaWJlZEJ5OiBzdHJpbmdcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3Rvcihjb250cm9sVHlwZTogc3RyaW5nKSB7XG4gICAgc3VwZXIoKVxuICAgIHRoaXMuY29udHJvbFR5cGUgPSBjb250cm9sVHlwZVxuICAgIHRoaXMuaWQgPSBgZWxkZXItY29udHJvbC0ke3RoaXMuY29udHJvbFR5cGV9LSR7RWxkZXJGb3JtRmllbGRDb250cm9sQmFzZS5uZXh0SWQrK31gXG4gICAgaWYgKHRoaXMubmdDb250cm9sKSB7XG4gICAgICB0aGlzLm5nQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpc1xuICAgIH1cbiAgICB0aGlzLmluaXRGb2N1c01vbml0b3IoKVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIExpZmUgQ3ljbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSBpbml0Rm9jdXNNb25pdG9yKCk6IHZvaWQge1xuICAgIHRoaXMuX2ZvY3VzTW9uaXRvclxuICAgICAgLm1vbml0b3IodGhpcy5ob3N0UmVmLCB0cnVlKVxuICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpKVxuICAgICAgLnN1YnNjcmliZSgoZm9jdXNPcmlnaW4pID0+IHtcbiAgICAgICAgaWYgKGZvY3VzT3JpZ2luKSB7XG4gICAgICAgICAgdGhpcy5vbkZvY3VzSW50ZXJuYWwoKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMub25CbHVySW50ZXJuYWwoKVxuICAgICAgICB9XG4gICAgICB9KVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGdldCBwbGFjZWhvbGRlcigpOiBzdHJpbmcge1xuICAgIHJldHVybiB1bnRyYWNrZWQodGhpcy5wbGFjZWhvbGRlclMpXG4gIH1cblxuICBwdWJsaWMgc2V0IHBsYWNlaG9sZGVyKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnBsYWNlaG9sZGVyUy5zZXQodmFsdWUpXG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHJlcXVpcmVkKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICBjb25zdCBuZXdWYWx1ZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSlcbiAgICBpZiAodGhpcy5yZXF1aXJlZCAhPT0gbmV3VmFsdWUpIHtcbiAgICAgIHRoaXMucmVxdWlyZWRTLnNldChuZXdWYWx1ZSlcbiAgICAgIHRoaXMuZW1pdFN0YXRlQ2hhbmdlKClcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJlcXVpcmVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB1bnRyYWNrZWQodGhpcy5yZXF1aXJlZFMpXG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGRpc2FibGVkKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICBjb25zdCBuZXdWYWx1ZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSlcbiAgICBpZiAodGhpcy5kaXNhYmxlZCAhPT0gbmV3VmFsdWUpIHtcbiAgICAgIHRoaXMuZGlzYWJsZWRTLnNldChuZXdWYWx1ZSlcbiAgICAgIHRoaXMuZW1pdFN0YXRlQ2hhbmdlKClcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB1bnRyYWNrZWQodGhpcy5kaXNhYmxlZFMpXG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHJlYWRvbmx5KHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICBjb25zdCBuZXdWYWx1ZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSlcbiAgICBpZiAodGhpcy5yZWFkb25seSAhPT0gbmV3VmFsdWUpIHtcbiAgICAgIHRoaXMucmVhZG9ubHlTLnNldChuZXdWYWx1ZSlcbiAgICAgIHRoaXMuZW1pdFN0YXRlQ2hhbmdlKClcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJlYWRvbmx5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB1bnRyYWNrZWQodGhpcy5yZWFkb25seVMpXG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzTG9ja2VkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmRpc2FibGVkIHx8IHRoaXMucmVhZG9ubHlcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc3RhdGVDaGFuZ2VzKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLnZhbHVlJC5waXBlKFxuICAgICAgbWFwKCh4KSA9PiA8YW55PngpLFxuICAgICAgbWVyZ2VXaXRoKHRoaXMuc3RhdGVDaGFuZ2VQdXNoZXIkKVxuICAgIClcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZXJyb3JTdGF0ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5uZ0NvbnRyb2w/LmludmFsaWQgJiYgdGhpcy5uZ0NvbnRyb2w/LmRpcnR5XG4gIH1cblxuICBwdWJsaWMgZ2V0IGVtcHR5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnZhbHVlID09PSB1bmRlZmluZWQgfHwgdGhpcy52YWx1ZSA9PT0gbnVsbCB8fCA8YW55PnRoaXMudmFsdWUgPT09ICcnXG4gIH1cblxuICBwdWJsaWMgZ2V0IHNob3VsZExhYmVsRmxvYXQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLmVtcHR5IHx8IHRoaXMuX2ZvY3VzZWRcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZm9jdXNlZFxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIG9uQ29udGFpbmVyQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmZvY3VzKClcbiAgfVxuXG4gIHB1YmxpYyBzZXREZXNjcmliZWRCeUlkcyhpZHM6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgaWYgKGlkcy5sZW5ndGgpIHtcbiAgICAgIC8vIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2FyaWEtZGVzY3JpYmVkYnknLCBpZHMuam9pbignICcpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSgnYXJpYS1kZXNjcmliZWRieScpO1xuICAgIH1cbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBBYnN0cmFjdCBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIC8qKlxuICAgKiBGb2N1cyB0aGlzIGNvbnRyb2wuXG4gICAqIEBwYXJhbSBvcHRpb25zXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgZm9jdXMob3B0aW9ucz86IEZvY3VzT3B0aW9ucyk6IHZvaWRcblxuICAvKipcbiAgICogQmx1ciB0aGlzIGNvbnRyb2wuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgYmx1cigpOiB2b2lkXG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEludGVybmFsIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJvdGVjdGVkIGVtaXRTdGF0ZUNoYW5nZSgpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlQ2hhbmdlUHVzaGVyJC5uZXh0KClcbiAgfVxuXG4gIHByb3RlY3RlZCB3cml0ZVRvQ29udHJvbCh2YWx1ZTogVCk6IHZvaWQge31cblxuICBwcm90ZWN0ZWQgb25Gb2N1c0ludGVybmFsKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5fZm9jdXNlZCA9IHRydWVcbiAgICAgIHRoaXMuZW1pdFN0YXRlQ2hhbmdlKClcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb25CbHVySW50ZXJuYWwoKTogdm9pZCB7XG4gICAgdGhpcy5fZm9jdXNlZCA9IGZhbHNlXG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICAvLyB0aGlzLl9vblRvdWNoZWQoKTtcbiAgICAgIC8vIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgdGhpcy5lbWl0U3RhdGVDaGFuZ2UoKVxuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
import { ContentChild, Directive, ViewChild } from '@angular/core';
|
|
2
|
-
import { BehaviorSubject, switchMap } from 'rxjs';
|
|
3
|
-
import { MatFormField, MatFormFieldControl } from '@angular/material/form-field';
|
|
4
|
-
import { filter, map, startWith } from 'rxjs/operators';
|
|
5
|
-
import { LoggerFactory } from '@elderbyte/ts-logger';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
export class ElderFromFieldBase {
|
|
8
|
-
/***************************************************************************
|
|
9
|
-
* *
|
|
10
|
-
* Constructor *
|
|
11
|
-
* *
|
|
12
|
-
**************************************************************************/
|
|
13
|
-
constructor() {
|
|
14
|
-
/***************************************************************************
|
|
15
|
-
* *
|
|
16
|
-
* Fields *
|
|
17
|
-
* *
|
|
18
|
-
**************************************************************************/
|
|
19
|
-
this._logger = LoggerFactory.getLogger(this.constructor.name);
|
|
20
|
-
this.formFieldControl$ = new BehaviorSubject(null);
|
|
21
|
-
this._controlActionQueue = [];
|
|
22
|
-
this._value$ = this.formFieldControl$.pipe(filter((ctrl) => !!ctrl), switchMap((ctrl) => this.controlValue$(ctrl)));
|
|
23
|
-
}
|
|
24
|
-
/***************************************************************************
|
|
25
|
-
* *
|
|
26
|
-
* Life Cycle *
|
|
27
|
-
* *
|
|
28
|
-
**************************************************************************/
|
|
29
|
-
ngOnInit() {
|
|
30
|
-
const control = this.formFieldControl$.getValue();
|
|
31
|
-
this.matFormField._control = control;
|
|
32
|
-
}
|
|
33
|
-
/***************************************************************************
|
|
34
|
-
* *
|
|
35
|
-
* Properties *
|
|
36
|
-
* *
|
|
37
|
-
**************************************************************************/
|
|
38
|
-
set formFieldControl(ctrl) {
|
|
39
|
-
this.formFieldControl$.next(ctrl);
|
|
40
|
-
if (ctrl) {
|
|
41
|
-
this.executeQueuedActions(ctrl);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
get formFieldControl() {
|
|
45
|
-
return this.formFieldControl$.getValue();
|
|
46
|
-
}
|
|
47
|
-
get value$() {
|
|
48
|
-
return this._value$;
|
|
49
|
-
}
|
|
50
|
-
/***************************************************************************
|
|
51
|
-
* *
|
|
52
|
-
* Public API *
|
|
53
|
-
* *
|
|
54
|
-
**************************************************************************/
|
|
55
|
-
applyToControl(applyFn) {
|
|
56
|
-
const ctrl = this.formFieldControl;
|
|
57
|
-
if (ctrl) {
|
|
58
|
-
applyFn(ctrl);
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
61
|
-
this._controlActionQueue.push(applyFn);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
/***************************************************************************
|
|
65
|
-
* *
|
|
66
|
-
* Private methods *
|
|
67
|
-
* *
|
|
68
|
-
**************************************************************************/
|
|
69
|
-
executeQueuedActions(ctrl) {
|
|
70
|
-
try {
|
|
71
|
-
this._controlActionQueue.forEach((fn) => fn(ctrl));
|
|
72
|
-
this._controlActionQueue.length = 0; // Clear Array
|
|
73
|
-
}
|
|
74
|
-
catch (err) {
|
|
75
|
-
this._logger.error('Applying function to control failed with error. Control: ', ctrl);
|
|
76
|
-
throw err;
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
controlValue$(ctrl) {
|
|
80
|
-
return ctrl.stateChanges.pipe(map(() => ctrl.value), startWith(ctrl.value));
|
|
81
|
-
}
|
|
82
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderFromFieldBase, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
83
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: ElderFromFieldBase, queries: [{ propertyName: "formFieldControl", first: true, predicate: MatFormFieldControl, descendants: true, static: true }], viewQueries: [{ propertyName: "matFormField", first: true, predicate: MatFormField, descendants: true, static: true }], ngImport: i0 }); }
|
|
84
|
-
}
|
|
85
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderFromFieldBase, decorators: [{
|
|
86
|
-
type: Directive
|
|
87
|
-
}], ctorParameters: () => [], propDecorators: { matFormField: [{
|
|
88
|
-
type: ViewChild,
|
|
89
|
-
args: [MatFormField, { static: true }]
|
|
90
|
-
}], formFieldControl: [{
|
|
91
|
-
type: ContentChild,
|
|
92
|
-
args: [MatFormFieldControl, { static: true }]
|
|
93
|
-
}] } });
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItZnJvbS1maWVsZC1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tbW9uL2Zvcm1zL2VsZGVyLWZyb20tZmllbGQtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUUsT0FBTyxFQUFFLGVBQWUsRUFBYyxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBQ2hGLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTs7QUFLcEQsTUFBTSxPQUFnQixrQkFBa0I7SUFvQnRDOzs7O2dGQUk0RTtJQUU1RTtRQXZCQTs7OztvRkFJNEU7UUFFekQsWUFBTyxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUV4RCxzQkFBaUIsR0FBRyxJQUFJLGVBQWUsQ0FBVyxJQUFJLENBQUMsQ0FBQTtRQU96RCx3QkFBbUIsR0FBb0MsRUFBRSxDQUFBO1FBU3hFLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FDeEMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQ3hCLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUM5QyxDQUFBO0lBQ0gsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVyRSxRQUFRO1FBQ2IsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsRUFBRSxDQUFBO1FBQ2pELElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQTtJQUN0QyxDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRTVFLElBQ1csZ0JBQWdCLENBQUMsSUFBYztRQUN4QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ2pDLElBQUksSUFBSSxFQUFFLENBQUM7WUFDVCxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDakMsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFXLGdCQUFnQjtRQUN6QixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQTtJQUMxQyxDQUFDO0lBRUQsSUFBVyxNQUFNO1FBQ2YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFBO0lBQ3JCLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFckUsY0FBYyxDQUFDLE9BQWlDO1FBQ3JELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQTtRQUNsQyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1QsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ2YsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQ3hDLENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRXBFLG9CQUFvQixDQUFDLElBQWM7UUFDekMsSUFBSSxDQUFDO1lBQ0gsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7WUFDbEQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUEsQ0FBQyxjQUFjO1FBQ3BELENBQUM7UUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQ2IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsMkRBQTJELEVBQUUsSUFBSSxDQUFDLENBQUE7WUFDckYsTUFBTSxHQUFHLENBQUE7UUFDWCxDQUFDO0lBQ0gsQ0FBQztJQUVPLGFBQWEsQ0FBQyxJQUFjO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQzNCLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQ3JCLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQ3RCLENBQUE7SUFDSCxDQUFDOytHQXRHbUIsa0JBQWtCO21HQUFsQixrQkFBa0Isd0VBa0R4QixtQkFBbUIsNEdBckN0QixZQUFZOzs0RkFiSCxrQkFBa0I7a0JBRHZDLFNBQVM7d0RBZUQsWUFBWTtzQkFEbEIsU0FBUzt1QkFBQyxZQUFZLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQXNDOUIsZ0JBQWdCO3NCQUQxQixZQUFZO3VCQUFDLG1CQUFtQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnRlbnRDaGlsZCwgRGlyZWN0aXZlLCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBNYXRGb3JtRmllbGQsIE1hdEZvcm1GaWVsZENvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJ1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0IHsgTG9nZ2VyRmFjdG9yeSB9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJ1xuXG5leHBvcnQgdHlwZSBFbGRlckFwcGx5Q29udHJvbEZuPFRDb250cm9sPiA9IChjdHJsOiBUQ29udHJvbCkgPT4gdm9pZFxuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBFbGRlckZyb21GaWVsZEJhc2U8VFZhbHVlLCBUQ29udHJvbCBleHRlbmRzIE1hdEZvcm1GaWVsZENvbnRyb2w8VFZhbHVlPj5cbiAgaW1wbGVtZW50cyBPbkluaXRcbntcbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9sb2dnZXIgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpXG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGZvcm1GaWVsZENvbnRyb2wkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUQ29udHJvbD4obnVsbClcblxuICBAVmlld0NoaWxkKE1hdEZvcm1GaWVsZCwgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIG1hdEZvcm1GaWVsZDogTWF0Rm9ybUZpZWxkXG5cbiAgcHJpdmF0ZSByZWFkb25seSBfdmFsdWUkOiBPYnNlcnZhYmxlPFRWYWx1ZT5cblxuICBwcml2YXRlIHJlYWRvbmx5IF9jb250cm9sQWN0aW9uUXVldWU6IEVsZGVyQXBwbHlDb250cm9sRm48VENvbnRyb2w+W10gPSBbXVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLl92YWx1ZSQgPSB0aGlzLmZvcm1GaWVsZENvbnRyb2wkLnBpcGUoXG4gICAgICBmaWx0ZXIoKGN0cmwpID0+ICEhY3RybCksXG4gICAgICBzd2l0Y2hNYXAoKGN0cmwpID0+IHRoaXMuY29udHJvbFZhbHVlJChjdHJsKSlcbiAgICApXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogTGlmZSBDeWNsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgY29uc3QgY29udHJvbCA9IHRoaXMuZm9ybUZpZWxkQ29udHJvbCQuZ2V0VmFsdWUoKVxuICAgIHRoaXMubWF0Rm9ybUZpZWxkLl9jb250cm9sID0gY29udHJvbFxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQENvbnRlbnRDaGlsZChNYXRGb3JtRmllbGRDb250cm9sLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgc2V0IGZvcm1GaWVsZENvbnRyb2woY3RybDogVENvbnRyb2wpIHtcbiAgICB0aGlzLmZvcm1GaWVsZENvbnRyb2wkLm5leHQoY3RybClcbiAgICBpZiAoY3RybCkge1xuICAgICAgdGhpcy5leGVjdXRlUXVldWVkQWN0aW9ucyhjdHJsKVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgZm9ybUZpZWxkQ29udHJvbCgpOiBUQ29udHJvbCB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUZpZWxkQ29udHJvbCQuZ2V0VmFsdWUoKVxuICB9XG5cbiAgcHVibGljIGdldCB2YWx1ZSQoKTogT2JzZXJ2YWJsZTxUVmFsdWU+IHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWUkXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgYXBwbHlUb0NvbnRyb2woYXBwbHlGbjogKGN0cmw6IFRDb250cm9sKSA9PiB2b2lkKSB7XG4gICAgY29uc3QgY3RybCA9IHRoaXMuZm9ybUZpZWxkQ29udHJvbFxuICAgIGlmIChjdHJsKSB7XG4gICAgICBhcHBseUZuKGN0cmwpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2NvbnRyb2xBY3Rpb25RdWV1ZS5wdXNoKGFwcGx5Rm4pXG4gICAgfVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSBleGVjdXRlUXVldWVkQWN0aW9ucyhjdHJsOiBUQ29udHJvbCk6IHZvaWQge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLl9jb250cm9sQWN0aW9uUXVldWUuZm9yRWFjaCgoZm4pID0+IGZuKGN0cmwpKVxuICAgICAgdGhpcy5fY29udHJvbEFjdGlvblF1ZXVlLmxlbmd0aCA9IDAgLy8gQ2xlYXIgQXJyYXlcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHRoaXMuX2xvZ2dlci5lcnJvcignQXBwbHlpbmcgZnVuY3Rpb24gdG8gY29udHJvbCBmYWlsZWQgd2l0aCBlcnJvci4gQ29udHJvbDogJywgY3RybClcbiAgICAgIHRocm93IGVyclxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY29udHJvbFZhbHVlJChjdHJsOiBUQ29udHJvbCk6IE9ic2VydmFibGU8VFZhbHVlPiB7XG4gICAgcmV0dXJuIGN0cmwuc3RhdGVDaGFuZ2VzLnBpcGUoXG4gICAgICBtYXAoKCkgPT4gY3RybC52YWx1ZSksXG4gICAgICBzdGFydFdpdGgoY3RybC52YWx1ZSlcbiAgICApXG4gIH1cbn1cbiJdfQ==
|