@elderbyte/ngx-starter 14.12.0-beta6 → 14.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/elderbyte-ngx-starter.mjs +5 -0
- package/esm2020/lib/common/async/public_api.mjs +2 -0
- package/esm2020/lib/common/async/refreshing-entity.mjs +86 -0
- package/esm2020/lib/common/csv/csv-serializer.mjs +55 -0
- package/esm2020/lib/common/csv/csv-spec.mjs +99 -0
- package/esm2020/lib/common/csv/public_api.mjs +3 -0
- package/esm2020/lib/common/data/continuable-listing.mjs +10 -0
- package/esm2020/lib/common/data/data-context/data-context-active-page.mjs +130 -0
- package/esm2020/lib/common/data/data-context/data-context-auto-starter.mjs +74 -0
- package/esm2020/lib/common/data/data-context/data-context-base.mjs +283 -0
- package/esm2020/lib/common/data/data-context/data-context-builder.mjs +246 -0
- package/esm2020/lib/common/data/data-context/data-context-continuable-base.mjs +69 -0
- package/esm2020/lib/common/data/data-context/data-context-continuable-paged.mjs +143 -0
- package/esm2020/lib/common/data/data-context/data-context-continuable-token.mjs +136 -0
- package/esm2020/lib/common/data/data-context/data-context-life-cycle-binding.mjs +30 -0
- package/esm2020/lib/common/data/data-context/data-context-simple.mjs +59 -0
- package/esm2020/lib/common/data/data-context/data-context-source-auto-reloader.mjs +12 -0
- package/esm2020/lib/common/data/data-context/data-context-status.mjs +46 -0
- package/esm2020/lib/common/data/data-context/data-context.mjs +30 -0
- package/esm2020/lib/common/data/data-context/mat-table-data-context-binding.mjs +139 -0
- package/esm2020/lib/common/data/data-context/public_api.mjs +14 -0
- package/esm2020/lib/common/data/datasource/data-source-adapter.mjs +55 -0
- package/esm2020/lib/common/data/datasource/data-source-processor.mjs +199 -0
- package/esm2020/lib/common/data/datasource/data-source.mjs +23 -0
- package/esm2020/lib/common/data/datasource/entity-id-util.mjs +11 -0
- package/esm2020/lib/common/data/datasource/fetcher/delegate-data-source.mjs +127 -0
- package/esm2020/lib/common/data/datasource/local/local-list-data-source.mjs +102 -0
- package/esm2020/lib/common/data/datasource/local/local-paged-data-source.mjs +73 -0
- package/esm2020/lib/common/data/datasource/public_api.mjs +8 -0
- package/esm2020/lib/common/data/datasource/rest/public_api.mjs +2 -0
- package/esm2020/lib/common/data/datasource/rest/rest-client.mjs +294 -0
- package/esm2020/lib/common/data/entity-set-patch.mjs +164 -0
- package/esm2020/lib/common/data/field-comparator.mjs +99 -0
- package/esm2020/lib/common/data/filters/filter-context.mjs +141 -0
- package/esm2020/lib/common/data/filters/filter.mjs +109 -0
- package/esm2020/lib/common/data/http-params-builder.mjs +110 -0
- package/esm2020/lib/common/data/page.mjs +58 -0
- package/esm2020/lib/common/data/public_api.mjs +12 -0
- package/esm2020/lib/common/data/required-filter-evaluator.mjs +70 -0
- package/esm2020/lib/common/data/sort-context.mjs +75 -0
- package/esm2020/lib/common/data/sort.mjs +11 -0
- package/esm2020/lib/common/data/token-chunk-request.mjs +8 -0
- package/esm2020/lib/common/enums/elder-enum-translation.service.mjs +81 -0
- package/esm2020/lib/common/enums/public_api.mjs +2 -0
- package/esm2020/lib/common/errors/exception-detail.mjs +2 -0
- package/esm2020/lib/common/errors/public_api.mjs +3 -0
- package/esm2020/lib/common/errors/standard-error-detail.mjs +2 -0
- package/esm2020/lib/common/format/bytes-format.mjs +22 -0
- package/esm2020/lib/common/format/bytes-per-second-format.mjs +41 -0
- package/esm2020/lib/common/format/public_api.mjs +3 -0
- package/esm2020/lib/common/forms/elder-entity-value-accessor.mjs +22 -0
- package/esm2020/lib/common/forms/elder-form-field-control-base.directive.mjs +178 -0
- package/esm2020/lib/common/forms/elder-from-field-base.mjs +94 -0
- package/esm2020/lib/common/forms/elder-from-field-entity-base.mjs +39 -0
- package/esm2020/lib/common/forms/elder-from-field-multi-entity-base.mjs +47 -0
- package/esm2020/lib/common/forms/elder-multi-entity-value-accessor.mjs +22 -0
- package/esm2020/lib/common/forms/form-field-base.component.mjs +106 -0
- package/esm2020/lib/common/forms/multi-model-base.component.mjs +32 -0
- package/esm2020/lib/common/forms/public_api.mjs +12 -0
- package/esm2020/lib/common/forms/template-composite-control.mjs +133 -0
- package/esm2020/lib/common/forms/value-accessor-base.mjs +146 -0
- package/esm2020/lib/common/forms/view-providers.mjs +30 -0
- package/esm2020/lib/common/http/http-client-builder.service.mjs +14 -0
- package/esm2020/lib/common/http/http-client-pristine.mjs +21 -0
- package/esm2020/lib/common/http/public_api.mjs +5 -0
- package/esm2020/lib/common/http/transfer/data-transfer-factory.mjs +95 -0
- package/esm2020/lib/common/http/transfer/data-transfer-progress-aggregate.mjs +49 -0
- package/esm2020/lib/common/http/transfer/data-transfer-progress.mjs +17 -0
- package/esm2020/lib/common/http/transfer/data-transfer-state.mjs +82 -0
- package/esm2020/lib/common/http/transfer/data-transfer-status.mjs +24 -0
- package/esm2020/lib/common/http/transfer/http-data-transfer.mjs +180 -0
- package/esm2020/lib/common/http/transfer/public_api.mjs +7 -0
- package/esm2020/lib/common/http/upload/file-upload-client.mjs +42 -0
- package/esm2020/lib/common/i18n/entity/impl/i18n-base.mjs +6 -0
- package/esm2020/lib/common/i18n/entity/impl/i18n-text.mjs +16 -0
- package/esm2020/lib/common/i18n/entity/language-tag.mjs +12 -0
- package/esm2020/lib/common/i18n/entity/locale.mjs +12 -0
- package/esm2020/lib/common/i18n/entity/localisation-picker.mjs +30 -0
- package/esm2020/lib/common/i18n/entity/localized.mjs +2 -0
- package/esm2020/lib/common/i18n/entity/public_api.mjs +6 -0
- package/esm2020/lib/common/i18n/public_api.mjs +2 -0
- package/esm2020/lib/common/json-map.mjs +18 -0
- package/esm2020/lib/common/objects.mjs +41 -0
- package/esm2020/lib/common/public_api.mjs +19 -0
- package/esm2020/lib/common/reactive-map.mjs +69 -0
- package/esm2020/lib/common/selection/public_api.mjs +2 -0
- package/esm2020/lib/common/selection/selection-model.mjs +212 -0
- package/esm2020/lib/common/sets.mjs +44 -0
- package/esm2020/lib/common/suggestion-provider.mjs +12 -0
- package/esm2020/lib/common/templates/template-slot-manager.mjs +135 -0
- package/esm2020/lib/common/time/date-util.mjs +93 -0
- package/esm2020/lib/common/time/interval.mjs +419 -0
- package/esm2020/lib/common/time/period-duration.mjs +130 -0
- package/esm2020/lib/common/time/public_api.mjs +5 -0
- package/esm2020/lib/common/time/time-util.mjs +41 -0
- package/esm2020/lib/common/url/elder-router.service.mjs +54 -0
- package/esm2020/lib/common/url/elder-url-fragment-params.service.mjs +119 -0
- package/esm2020/lib/common/url/public_api.mjs +4 -0
- package/esm2020/lib/common/url/url-query-params.mjs +133 -0
- package/esm2020/lib/common/utils/batcher.mjs +35 -0
- package/esm2020/lib/common/utils/collection-util.mjs +109 -0
- package/esm2020/lib/common/utils/filter-util.mjs +52 -0
- package/esm2020/lib/common/utils/next-number-util.mjs +88 -0
- package/esm2020/lib/common/utils/ng-zone-utils.mjs +16 -0
- package/esm2020/lib/common/utils/parse-util.mjs +16 -0
- package/esm2020/lib/common/utils/property-path-util.mjs +28 -0
- package/esm2020/lib/common/utils/public_api.mjs +12 -0
- package/esm2020/lib/common/utils/query-list-binding.mjs +67 -0
- package/esm2020/lib/common/utils/sort-util.mjs +30 -0
- package/esm2020/lib/common/utils/url-builder.mjs +275 -0
- package/esm2020/lib/common/utils/uuid-util.mjs +29 -0
- package/esm2020/lib/common/utils/value-wrapper.mjs +19 -0
- package/esm2020/lib/components/access-denied/elder-access-denied.component.mjs +16 -0
- package/esm2020/lib/components/access-denied/elder-access-denied.module.mjs +30 -0
- package/esm2020/lib/components/auditing/audited-entity/elder-audited-entity.component.mjs +39 -0
- package/esm2020/lib/components/auditing/elder-audit.module.mjs +42 -0
- package/esm2020/lib/components/auditing/i-audited-entity.mjs +3 -0
- package/esm2020/lib/components/button-group/elder-button-group/elder-button-group.component.mjs +15 -0
- package/esm2020/lib/components/button-group/elder-button-group.module.mjs +35 -0
- package/esm2020/lib/components/card-organizer/card-organizer/elder-card-organizer.component.mjs +123 -0
- package/esm2020/lib/components/card-organizer/card-organizer/elder-stack-card.directive.mjs +15 -0
- package/esm2020/lib/components/card-organizer/card-organizer-data.mjs +93 -0
- package/esm2020/lib/components/card-organizer/card-stack/elder-card-stack.component.mjs +205 -0
- package/esm2020/lib/components/card-organizer/card-stack.mjs +176 -0
- package/esm2020/lib/components/card-organizer/elder-card-organizer.module.mjs +49 -0
- package/esm2020/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.mjs +17 -0
- package/esm2020/lib/components/cards/elder-card/elder-card.component.mjs +156 -0
- package/esm2020/lib/components/cards/elder-card/elder-card.module.mjs +65 -0
- package/esm2020/lib/components/connectivity/elder-connectivity.module.mjs +56 -0
- package/esm2020/lib/components/connectivity/elder-connectivity.service.mjs +63 -0
- package/esm2020/lib/components/connectivity/offline-indicator/elder-offline-indicator.component.mjs +46 -0
- package/esm2020/lib/components/connectivity/public_api.mjs +3 -0
- package/esm2020/lib/components/containers/elder-containers.module.mjs +25 -0
- package/esm2020/lib/components/containers/elder-scroll-container/elder-scroll-container.component.mjs +24 -0
- package/esm2020/lib/components/containers/public_api.mjs +2 -0
- package/esm2020/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.mjs +77 -0
- package/esm2020/lib/components/csv/elder-csv-stream-exporter-builder.mjs +40 -0
- package/esm2020/lib/components/csv/elder-csv-stream-exporter-builder.service.mjs +38 -0
- package/esm2020/lib/components/csv/elder-csv-stream-exporter.mjs +114 -0
- package/esm2020/lib/components/csv/elder-csv.module.mjs +37 -0
- package/esm2020/lib/components/currency/elder-currency.module.mjs +24 -0
- package/esm2020/lib/components/currency/elder-currency.pipe.mjs +33 -0
- package/esm2020/lib/components/currency/model/currency-code.mjs +38 -0
- package/esm2020/lib/components/currency/model/currency-unit-registry.mjs +30 -0
- package/esm2020/lib/components/currency/model/currency-unit.mjs +10 -0
- package/esm2020/lib/components/currency/model/currency.mjs +15 -0
- package/esm2020/lib/components/currency/public_api.mjs +7 -0
- package/esm2020/lib/components/data-transfer/elder-data-transfer.module.mjs +75 -0
- package/esm2020/lib/components/data-transfer/elder-data-transfer.service.mjs +89 -0
- package/esm2020/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.mjs +67 -0
- package/esm2020/lib/components/data-transfer/http-data-transfer-aggregate/http-data-transfer-aggregate.component.mjs +34 -0
- package/esm2020/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.mjs +47 -0
- package/esm2020/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.mjs +32 -0
- package/esm2020/lib/components/data-view/base/data-view-options-provider-binding.mjs +67 -0
- package/esm2020/lib/components/data-view/base/elder-data-view-base.mjs +259 -0
- package/esm2020/lib/components/data-view/base/elder-data-view-options-provider.mjs +44 -0
- package/esm2020/lib/components/data-view/base/elder-data-view-options.mjs +45 -0
- package/esm2020/lib/components/data-view/base/elder-data-view.mjs +3 -0
- package/esm2020/lib/components/data-view/base/public_api.mjs +6 -0
- package/esm2020/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.mjs +45 -0
- package/esm2020/lib/components/data-view/common/elder-data-common.module.mjs +89 -0
- package/esm2020/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.mjs +149 -0
- package/esm2020/lib/components/data-view/common/elder-single-sort/elder-single-sort.component.mjs +89 -0
- package/esm2020/lib/components/data-view/common/selection/data-context-selection.directive.mjs +98 -0
- package/esm2020/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.mjs +37 -0
- package/esm2020/lib/components/data-view/common/selection/master-selection-state.mjs +10 -0
- package/esm2020/lib/components/data-view/elder-data-view-interaction-mode.mjs +2 -0
- package/esm2020/lib/components/data-view/grid/elder-grid/elder-grid.component.mjs +306 -0
- package/esm2020/lib/components/data-view/grid/elder-grid.module.mjs +81 -0
- package/esm2020/lib/components/data-view/public_api.mjs +6 -0
- package/esm2020/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.component.mjs +19 -0
- package/esm2020/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.module.mjs +78 -0
- package/esm2020/lib/components/data-view/table/activation/elder-item-activator.mjs +2 -0
- package/esm2020/lib/components/data-view/table/activation/elder-table-activation-options.mjs +2 -0
- package/esm2020/lib/components/data-view/table/activation/elder-table-activation.directive.mjs +261 -0
- package/esm2020/lib/components/data-view/table/elder-number-cell.directive.mjs +29 -0
- package/esm2020/lib/components/data-view/table/elder-paginator-intl.mjs +72 -0
- package/esm2020/lib/components/data-view/table/elder-table/elder-table-toolbar.directive.mjs +18 -0
- package/esm2020/lib/components/data-view/table/elder-table/elder-table.component.mjs +321 -0
- package/esm2020/lib/components/data-view/table/elder-table-column.directive.mjs +17 -0
- package/esm2020/lib/components/data-view/table/elder-table-extension.directive.mjs +96 -0
- package/esm2020/lib/components/data-view/table/elder-table-root.directive.mjs +29 -0
- package/esm2020/lib/components/data-view/table/elder-table-row.directive.mjs +136 -0
- package/esm2020/lib/components/data-view/table/elder-table-sort.directive.mjs +20 -0
- package/esm2020/lib/components/data-view/table/elder-table.module.mjs +141 -0
- package/esm2020/lib/components/data-view/table/model/elder-column-layout.mjs +110 -0
- package/esm2020/lib/components/data-view/table/model/elder-table-model-cdk-table-binding.mjs +81 -0
- package/esm2020/lib/components/data-view/table/model/elder-table-model-provider.mjs +40 -0
- package/esm2020/lib/components/data-view/table/model/elder-table-model-query-group.mjs +87 -0
- package/esm2020/lib/components/data-view/table/model/elder-table-model.mjs +165 -0
- package/esm2020/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.mjs +25 -0
- package/esm2020/lib/components/dialogs/elder-dialog-config.mjs +3 -0
- package/esm2020/lib/components/dialogs/elder-dialog.module.mjs +84 -0
- package/esm2020/lib/components/dialogs/elder-dialog.service.mjs +168 -0
- package/esm2020/lib/components/dialogs/question-dialog/elder-question-dialog.component.mjs +43 -0
- package/esm2020/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.mjs +43 -0
- package/esm2020/lib/components/dialogs/selection-dialog/elder-selection-dialog.directive.mjs +46 -0
- package/esm2020/lib/components/errors/elder-error.module.mjs +41 -0
- package/esm2020/lib/components/errors/error-util.mjs +94 -0
- package/esm2020/lib/components/errors/exception-detail/elder-exception-detail.component.mjs +66 -0
- package/esm2020/lib/components/expand-toggle-button/elder-expand-toggle-button.component.mjs +55 -0
- package/esm2020/lib/components/expand-toggle-button/elder-expand-toggle-button.module.mjs +27 -0
- package/esm2020/lib/components/files/blob-url.mjs +10 -0
- package/esm2020/lib/components/files/blob-viewer/elder-blob-viewer.component.mjs +225 -0
- package/esm2020/lib/components/files/elder-file-drop-zone.directive.mjs +109 -0
- package/esm2020/lib/components/files/elder-file-select.directive.mjs +143 -0
- package/esm2020/lib/components/files/elder-file.module.mjs +67 -0
- package/esm2020/lib/components/files/file-select/file-select.component.mjs +55 -0
- package/esm2020/lib/components/files/file-upload/file-upload.component.mjs +74 -0
- package/esm2020/lib/components/forms/clipboard/elder-clipboard.service.mjs +51 -0
- package/esm2020/lib/components/forms/directives/base/elder-class-hostbinding-base.mjs +34 -0
- package/esm2020/lib/components/forms/directives/elder-clipboard-put.directive.mjs +35 -0
- package/esm2020/lib/components/forms/directives/elder-delayed-focus.directive.mjs +42 -0
- package/esm2020/lib/components/forms/directives/elder-form-field-dense.directive.mjs +34 -0
- package/esm2020/lib/components/forms/directives/elder-form-field-label.directive.mjs +82 -0
- package/esm2020/lib/components/forms/directives/elder-form-field-no-hint.directive.mjs +34 -0
- package/esm2020/lib/components/forms/directives/elder-form-field-no-spinner.directive.mjs +34 -0
- package/esm2020/lib/components/forms/directives/elder-forms-directives.module.mjs +159 -0
- package/esm2020/lib/components/forms/directives/elder-input-pattern.directive.mjs +77 -0
- package/esm2020/lib/components/forms/directives/elder-key-event.directive.mjs +111 -0
- package/esm2020/lib/components/forms/directives/elder-max.directive.mjs +39 -0
- package/esm2020/lib/components/forms/directives/elder-min.directive.mjs +39 -0
- package/esm2020/lib/components/forms/directives/elder-next-focusable.directive.mjs +101 -0
- package/esm2020/lib/components/forms/directives/elder-plug-parent-form.directive.mjs +36 -0
- package/esm2020/lib/components/forms/directives/elder-stop-event-propagation.directive.mjs +29 -0
- package/esm2020/lib/components/forms/directives/elder-tab-focus-trap.directive.mjs +157 -0
- package/esm2020/lib/components/forms/directives/elder-touched.directive.mjs +27 -0
- package/esm2020/lib/components/forms/directives/elder-triple-state-checkbox.directive.mjs +120 -0
- package/esm2020/lib/components/forms/directives/validation/elder-multiple-of.validator.mjs +57 -0
- package/esm2020/lib/components/forms/directives/validation/elder-required-ignore-zero.validator.mjs +68 -0
- package/esm2020/lib/components/forms/elder-forms.module.mjs +22 -0
- package/esm2020/lib/components/forms/public_api.mjs +2 -0
- package/esm2020/lib/components/forms/search/elder-search-context.directive.mjs +146 -0
- package/esm2020/lib/components/forms/search/elder-search-input.directive.mjs +185 -0
- package/esm2020/lib/components/forms/search/elder-search.module.mjs +66 -0
- package/esm2020/lib/components/forms/search/model/search-input-state.mjs +78 -0
- package/esm2020/lib/components/forms/search/model/search-input.mjs +2 -0
- package/esm2020/lib/components/forms/search/search-box/elder-search-box.component.mjs +123 -0
- package/esm2020/lib/components/forms/search/search-box/elder-search-panel.component.mjs +16 -0
- package/esm2020/lib/components/global-search/elder-global-search.component.mjs +126 -0
- package/esm2020/lib/components/global-search/elder-global-search.module.mjs +32 -0
- package/esm2020/lib/components/global-search/elder-global-search.service.mjs +93 -0
- package/esm2020/lib/components/graph/elder-progress-bar/elder-progress-bar.component.mjs +90 -0
- package/esm2020/lib/components/graph/elder-progress-bar/elder-progress-bar.module.mjs +26 -0
- package/esm2020/lib/components/graph/elder-progress-bar/sub-bar.mjs +7 -0
- package/esm2020/lib/components/graph/public_api.mjs +2 -0
- package/esm2020/lib/components/headers/elder-header/elder-header.component.mjs +28 -0
- package/esm2020/lib/components/headers/elder-header.module.mjs +43 -0
- package/esm2020/lib/components/http-support/elder-http-client.service.mjs +68 -0
- package/esm2020/lib/components/http-support/public_api.mjs +2 -0
- package/esm2020/lib/components/i18n/entities/elder-i18n-entities.module.mjs +119 -0
- package/esm2020/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.mjs +135 -0
- package/esm2020/lib/components/i18n/entities/elder-localized-input-dialog/elder-localized-input-dialog.component.mjs +28 -0
- package/esm2020/lib/components/i18n/entities/elder-localized-input-dialog.service.mjs +30 -0
- package/esm2020/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.mjs +151 -0
- package/esm2020/lib/components/i18n/entities/elder-localized-text-column.directive.mjs +28 -0
- package/esm2020/lib/components/i18n/entities/elder-localized-texts.directive.mjs +56 -0
- package/esm2020/lib/components/i18n/entities/picker/i18n-pick-async.pipe.mjs +39 -0
- package/esm2020/lib/components/i18n/entities/picker/i18n-pick.pipe.mjs +30 -0
- package/esm2020/lib/components/i18n/entities/picker/localisation-picker.service.mjs +74 -0
- package/esm2020/lib/components/i18n/language/elder-language-config.mjs +3 -0
- package/esm2020/lib/components/i18n/language/elder-language-interceptor.mjs +69 -0
- package/esm2020/lib/components/i18n/language/elder-language.module.mjs +72 -0
- package/esm2020/lib/components/i18n/language/elder-language.service.mjs +121 -0
- package/esm2020/lib/components/i18n/language/language-switcher/elder-language-switcher.component.mjs +65 -0
- package/esm2020/lib/components/i18n/locales/elder-locales-de-ch.module.mjs +53 -0
- package/esm2020/lib/components/i18n/public_api.mjs +4 -0
- package/esm2020/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.mjs +127 -0
- package/esm2020/lib/components/iframes/data-view/data-view-iframe-adapter.directive.mjs +136 -0
- package/esm2020/lib/components/iframes/elder-iframe.module.mjs +95 -0
- package/esm2020/lib/components/iframes/iframe-close.directive.mjs +41 -0
- package/esm2020/lib/components/iframes/iframe-dialog/iframe-dialog.component.mjs +51 -0
- package/esm2020/lib/components/iframes/iframe-host/iframe-host.component.mjs +126 -0
- package/esm2020/lib/components/iframes/iframe-side-content/iframe-side-content.component.mjs +78 -0
- package/esm2020/lib/components/iframes/iframe.service.mjs +48 -0
- package/esm2020/lib/components/iframes/typed-event-message.mjs +42 -0
- package/esm2020/lib/components/infinitescroll/elder-infinite-autocomplete.directive.mjs +61 -0
- package/esm2020/lib/components/infinitescroll/elder-infinite-scroll.directive.mjs +157 -0
- package/esm2020/lib/components/infinitescroll/elder-infinite-scroll.module.mjs +40 -0
- package/esm2020/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete-option-selected.mjs +9 -0
- package/esm2020/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete.component.mjs +186 -0
- package/esm2020/lib/components/input/autocomplete/elder-autocomplete-many.directive.mjs +197 -0
- package/esm2020/lib/components/input/autocomplete/elder-autocomplete.directive.mjs +114 -0
- package/esm2020/lib/components/input/autocomplete/elder-autocomplete.module.mjs +58 -0
- package/esm2020/lib/components/input/autocomplete/many/word-position-finder.mjs +58 -0
- package/esm2020/lib/components/input/public_api.mjs +2 -0
- package/esm2020/lib/components/labels/elder-labels.module.mjs +30 -0
- package/esm2020/lib/components/labels/labels-input/labels-input.component.mjs +230 -0
- package/esm2020/lib/components/measures/dimensions-input/elder-dimensions-input.component.mjs +229 -0
- package/esm2020/lib/components/measures/directives/elder-unit-select.directive.mjs +64 -0
- package/esm2020/lib/components/measures/elder-measures.module.mjs +116 -0
- package/esm2020/lib/components/measures/elder-quantity-transform.pipe.mjs +41 -0
- package/esm2020/lib/components/measures/elder-quantity.pipe.mjs +73 -0
- package/esm2020/lib/components/measures/elder-unit.service.mjs +115 -0
- package/esm2020/lib/components/measures/model/dimensions.mjs +17 -0
- package/esm2020/lib/components/measures/model/quantity.mjs +12 -0
- package/esm2020/lib/components/measures/model/unit-dimension.mjs +14 -0
- package/esm2020/lib/components/measures/model/unit-registry.mjs +81 -0
- package/esm2020/lib/components/measures/model/unit.mjs +143 -0
- package/esm2020/lib/components/measures/public_api.mjs +8 -0
- package/esm2020/lib/components/measures/quantity-input/elder-quantity-input.component.mjs +189 -0
- package/esm2020/lib/components/measures/util/elder-quantity.service.mjs +237 -0
- package/esm2020/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.mjs +164 -0
- package/esm2020/lib/components/navigation/bread-crumbs/elder-bread-crumbs.module.mjs +55 -0
- package/esm2020/lib/components/navigation/bread-crumbs/path/path.mjs +37 -0
- package/esm2020/lib/components/navigation/nav/elder-nav.module.mjs +51 -0
- package/esm2020/lib/components/navigation/nav/nav-group/elder-nav-group.component.mjs +93 -0
- package/esm2020/lib/components/navigation/nav/nav-link/elder-nav-link.component.mjs +64 -0
- package/esm2020/lib/components/navigation/nav/nav-list/elder-nav-list.component.mjs +12 -0
- package/esm2020/lib/components/navigation/public_api.mjs +4 -0
- package/esm2020/lib/components/navigation/toolbar/elder-toolbar-column.directive.mjs +46 -0
- package/esm2020/lib/components/navigation/toolbar/elder-toolbar.module.mjs +76 -0
- package/esm2020/lib/components/navigation/toolbar/elder-toolbar.service.mjs +68 -0
- package/esm2020/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.mjs +66 -0
- package/esm2020/lib/components/navigation/toolbar/toolbar-column-position.mjs +2 -0
- package/esm2020/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.mjs +39 -0
- package/esm2020/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.service.mjs +85 -0
- package/esm2020/lib/components/overlays/elder-overlay-origin.directive.mjs +43 -0
- package/esm2020/lib/components/overlays/elder-overlay-trigger.directive.mjs +72 -0
- package/esm2020/lib/components/overlays/elder-overlay.component.mjs +204 -0
- package/esm2020/lib/components/overlays/elder-overlay.module.mjs +41 -0
- package/esm2020/lib/components/panels/card-panel/elder-card-panel.component.mjs +12 -0
- package/esm2020/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.mjs +12 -0
- package/esm2020/lib/components/panels/elder-panel.module.mjs +38 -0
- package/esm2020/lib/components/panels/flat/elder-panel.component.mjs +26 -0
- package/esm2020/lib/components/public_api.mjs +40 -0
- package/esm2020/lib/components/select/auto/elder-auto-select-first.directive.mjs +77 -0
- package/esm2020/lib/components/select/auto/elder-select-first-util.mjs +62 -0
- package/esm2020/lib/components/select/elder-select-base.mjs +284 -0
- package/esm2020/lib/components/select/elder-select-chip.directive.mjs +45 -0
- package/esm2020/lib/components/select/elder-select-on-tab.directive.mjs +133 -0
- package/esm2020/lib/components/select/elder-select-value.directive.mjs +15 -0
- package/esm2020/lib/components/select/elder-select.module.mjs +133 -0
- package/esm2020/lib/components/select/multi/elder-multi-select-base.mjs +356 -0
- package/esm2020/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.mjs +237 -0
- package/esm2020/lib/components/select/multi/elder-multi-select-form-field.mjs +67 -0
- package/esm2020/lib/components/select/popup/selection-model-popup-trigger-adapter.directive.mjs +86 -0
- package/esm2020/lib/components/select/popup/selection-model-popup.directive.mjs +126 -0
- package/esm2020/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.mjs +47 -0
- package/esm2020/lib/components/select/public_api.mjs +6 -0
- package/esm2020/lib/components/select/single/elder-clear-select.directive.mjs +57 -0
- package/esm2020/lib/components/select/single/elder-select/elder-select.component.mjs +442 -0
- package/esm2020/lib/components/select/single/elder-select-form-field.mjs +45 -0
- package/esm2020/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.mjs +152 -0
- package/esm2020/lib/components/select-chip-list/elder-chip-list-select.module.mjs +48 -0
- package/esm2020/lib/components/select-list/elder-select-list.module.mjs +36 -0
- package/esm2020/lib/components/select-list/select-list/elder-select-list.component.mjs +75 -0
- package/esm2020/lib/components/select-list/select-list-item/elder-select-list-item.component.mjs +118 -0
- package/esm2020/lib/components/shell/drawers/drawer-outlet-binding.mjs +60 -0
- package/esm2020/lib/components/shell/drawers/elder-route-outlet-drawer.service.mjs +117 -0
- package/esm2020/lib/components/shell/drawers/elder-router-outlet.service.mjs +128 -0
- package/esm2020/lib/components/shell/elder-shell-slot.directive.mjs +46 -0
- package/esm2020/lib/components/shell/elder-shell.module.mjs +90 -0
- package/esm2020/lib/components/shell/elder-shell.service.mjs +145 -0
- package/esm2020/lib/components/shell/header/elder-app-header/elder-app-header.component.mjs +73 -0
- package/esm2020/lib/components/shell/shell/elder-shell.component.mjs +206 -0
- package/esm2020/lib/components/shell/shell-content-slot.mjs +2 -0
- package/esm2020/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.mjs +137 -0
- package/esm2020/lib/components/tabs/elder-tab/elder-tab.directive.mjs +25 -0
- package/esm2020/lib/components/tabs/elder-tab-group-routing/elder-tab-group-routing.directive.mjs +256 -0
- package/esm2020/lib/components/tabs/elder-tab.module.mjs +32 -0
- package/esm2020/lib/components/theme/elder-theme-applier.directive.mjs +62 -0
- package/esm2020/lib/components/theme/elder-theme-preference.service.mjs +74 -0
- package/esm2020/lib/components/theme/elder-theme-toggle/elder-theme-toggle.component.mjs +72 -0
- package/esm2020/lib/components/theme/elder-theme.directive.mjs +61 -0
- package/esm2020/lib/components/theme/elder-theme.module.mjs +74 -0
- package/esm2020/lib/components/theme/elder-theme.service.mjs +123 -0
- package/esm2020/lib/components/theme/known-elder-themes.mjs +6 -0
- package/esm2020/lib/components/theme/public_api.mjs +2 -0
- package/esm2020/lib/components/theme/theme-spec.mjs +15 -0
- package/esm2020/lib/components/time/date-adapters/custom-date-adapter.mjs +23 -0
- package/esm2020/lib/components/time/duration/duration-bucket.mjs +67 -0
- package/esm2020/lib/components/time/duration/duration-format.mjs +271 -0
- package/esm2020/lib/components/time/duration/elder-duration-input/elder-duration-input.component.mjs +109 -0
- package/esm2020/lib/components/time/duration/iso-duration-str.mjs +2 -0
- package/esm2020/lib/components/time/elder-date-switcher/elder-date-switcher.component.mjs +100 -0
- package/esm2020/lib/components/time/elder-date-time-input/elder-date-time-input.component.mjs +79 -0
- package/esm2020/lib/components/time/elder-interval-input/elder-interval-input.component.mjs +126 -0
- package/esm2020/lib/components/time/elder-local-date-input/elder-local-date-input.component.mjs +189 -0
- package/esm2020/lib/components/time/elder-local-time-input/elder-local-time-input.component.mjs +84 -0
- package/esm2020/lib/components/time/elder-time.module.mjs +133 -0
- package/esm2020/lib/components/time/period/elder-period-input/elder-period-input.component.mjs +119 -0
- package/esm2020/lib/components/time/period/period-bucket.mjs +31 -0
- package/esm2020/lib/components/time/period/period-format.mjs +89 -0
- package/esm2020/lib/components/time/public_api.mjs +8 -0
- package/esm2020/lib/components/toasts/elder-toast.module.mjs +22 -0
- package/esm2020/lib/components/toasts/elder-toast.service.mjs +197 -0
- package/esm2020/lib/components/toasts/standard-toast/standard-toast.component.mjs +73 -0
- package/esm2020/lib/components/toasts/toast-type.mjs +7 -0
- package/esm2020/lib/components/toasts/toast.mjs +2 -0
- package/esm2020/lib/components/url-fragment/elder-url-fragment.mjs +9 -0
- package/esm2020/lib/components/url-fragment/elder-url-fragment.module.mjs +54 -0
- package/esm2020/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.mjs +84 -0
- package/esm2020/lib/components/viewers/elder-svg-viewer/elder-svg-viewer.component.mjs +65 -0
- package/esm2020/lib/components/viewers/elder-viewers.module.mjs +25 -0
- package/esm2020/lib/features/event-source/elder-event-source.service.mjs +56 -0
- package/esm2020/lib/features/event-source/public_api.mjs +3 -0
- package/esm2020/lib/features/event-source/reactive-event-source.mjs +198 -0
- package/esm2020/lib/features/kafent/access-token-provider.mjs +20 -0
- package/esm2020/lib/features/kafent/kafent-config.mjs +24 -0
- package/esm2020/lib/features/kafent/kafent-event-stream.mjs +25 -0
- package/esm2020/lib/features/kafent/kafent-event.mjs +3 -0
- package/esm2020/lib/features/kafent/kafent-event.service.mjs +107 -0
- package/esm2020/lib/features/kafent/kafent-live-event-request.mjs +2 -0
- package/esm2020/lib/features/kafent/kafent.module.mjs +61 -0
- package/esm2020/lib/features/kafent/sse/kafent-event-stream-sse.service.mjs +128 -0
- package/esm2020/lib/features/kafent/sse/kafent-topic-sse.mjs +98 -0
- package/esm2020/lib/features/public_api.mjs +3 -0
- package/esm2020/lib/pipes/bytes.pipe.mjs +24 -0
- package/esm2020/lib/pipes/elder-pipes.module.mjs +67 -0
- package/esm2020/lib/pipes/elder-repeat.pipe.mjs +21 -0
- package/esm2020/lib/pipes/elder-round.pipe.mjs +35 -0
- package/esm2020/lib/pipes/elder-safe-url.pipe.mjs +20 -0
- package/esm2020/lib/pipes/elder-truncate.pipe.mjs +40 -0
- package/esm2020/lib/pipes/iso-duration.pipe.mjs +58 -0
- package/esm2020/lib/pipes/iso-interval-parse.pipe.mjs +49 -0
- package/esm2020/lib/pipes/iso-interval.pipe.mjs +109 -0
- package/esm2020/lib/pipes/public_api.mjs +2 -0
- package/esm2020/lib/pipes/time-ago.pipe.mjs +104 -0
- package/esm2020/lib/pipes/time-duration.pipe.mjs +98 -0
- package/esm2020/lib/pipes/weight.pipe.mjs +56 -0
- package/esm2020/public_api.mjs +8 -0
- package/fesm2015/elderbyte-ngx-starter.mjs +27485 -0
- package/fesm2015/elderbyte-ngx-starter.mjs.map +1 -0
- package/fesm2020/elderbyte-ngx-starter.mjs +27371 -0
- package/fesm2020/elderbyte-ngx-starter.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/common/async/public_api.d.ts +1 -0
- package/lib/common/async/refreshing-entity.d.ts +55 -0
- package/lib/common/csv/csv-serializer.d.ts +33 -0
- package/lib/common/csv/csv-spec.d.ts +71 -0
- package/lib/common/csv/public_api.d.ts +2 -0
- package/lib/common/data/continuable-listing.d.ts +28 -0
- package/lib/common/data/data-context/data-context-active-page.d.ts +75 -0
- package/lib/common/data/data-context/data-context-auto-starter.d.ts +41 -0
- package/lib/common/data/data-context/data-context-base.d.ts +149 -0
- package/lib/common/data/data-context/data-context-builder.d.ts +142 -0
- package/lib/common/data/data-context/data-context-continuable-base.d.ts +43 -0
- package/lib/common/data/data-context/data-context-continuable-paged.d.ts +58 -0
- package/lib/common/data/data-context/data-context-continuable-token.d.ts +48 -0
- package/lib/common/data/data-context/data-context-life-cycle-binding.d.ts +33 -0
- package/lib/common/data/data-context/data-context-simple.d.ts +30 -0
- package/lib/common/data/data-context/data-context-source-auto-reloader.d.ts +8 -0
- package/lib/common/data/data-context/data-context-status.d.ts +30 -0
- package/lib/common/data/data-context/data-context.d.ts +154 -0
- package/lib/common/data/data-context/mat-table-data-context-binding.d.ts +60 -0
- package/lib/common/data/data-context/public_api.d.ts +13 -0
- package/lib/common/data/datasource/data-source-adapter.d.ts +39 -0
- package/lib/common/data/datasource/data-source-processor.d.ts +106 -0
- package/lib/common/data/datasource/data-source.d.ts +58 -0
- package/lib/common/data/datasource/entity-id-util.d.ts +3 -0
- package/lib/common/data/datasource/fetcher/delegate-data-source.d.ts +84 -0
- package/lib/common/data/datasource/local/local-list-data-source.d.ts +61 -0
- package/lib/common/data/datasource/local/local-paged-data-source.d.ts +49 -0
- package/lib/common/data/datasource/public_api.d.ts +7 -0
- package/lib/common/data/datasource/rest/public_api.d.ts +1 -0
- package/lib/common/data/datasource/rest/rest-client.d.ts +162 -0
- package/lib/common/data/entity-set-patch.d.ts +74 -0
- package/lib/common/data/field-comparator.d.ts +43 -0
- package/lib/common/data/filters/filter-context.d.ts +63 -0
- package/lib/common/data/filters/filter.d.ts +52 -0
- package/lib/common/data/http-params-builder.d.ts +45 -0
- package/lib/common/data/page.d.ts +41 -0
- package/lib/common/data/public_api.d.ts +11 -0
- package/lib/common/data/required-filter-evaluator.d.ts +46 -0
- package/lib/common/data/sort-context.d.ts +42 -0
- package/lib/common/data/sort.d.ts +8 -0
- package/lib/common/data/token-chunk-request.d.ts +8 -0
- package/lib/common/enums/elder-enum-translation.service.d.ts +52 -0
- package/lib/common/enums/public_api.d.ts +1 -0
- package/lib/common/errors/exception-detail.d.ts +5 -0
- package/{src/lib/common/errors/public_api.ts → lib/common/errors/public_api.d.ts} +0 -0
- package/lib/common/errors/standard-error-detail.d.ts +22 -0
- package/lib/common/format/bytes-format.d.ts +4 -0
- package/lib/common/format/bytes-per-second-format.d.ts +5 -0
- package/{src/lib/common/format/public_api.ts → lib/common/format/public_api.d.ts} +0 -0
- package/lib/common/forms/elder-entity-value-accessor.d.ts +42 -0
- package/lib/common/forms/elder-form-field-control-base.directive.d.ts +103 -0
- package/lib/common/forms/elder-from-field-base.d.ts +52 -0
- package/lib/common/forms/elder-from-field-entity-base.d.ts +31 -0
- package/lib/common/forms/elder-from-field-multi-entity-base.d.ts +35 -0
- package/lib/common/forms/elder-multi-entity-value-accessor.d.ts +52 -0
- package/lib/common/forms/form-field-base.component.d.ts +74 -0
- package/lib/common/forms/multi-model-base.component.d.ts +23 -0
- package/lib/common/forms/public_api.d.ts +11 -0
- package/lib/common/forms/template-composite-control.d.ts +64 -0
- package/lib/common/forms/value-accessor-base.d.ts +98 -0
- package/lib/common/forms/view-providers.d.ts +23 -0
- package/lib/common/http/http-client-builder.service.d.ts +6 -0
- package/lib/common/http/http-client-pristine.d.ts +10 -0
- package/lib/common/http/public_api.d.ts +4 -0
- package/lib/common/http/transfer/data-transfer-factory.d.ts +70 -0
- package/lib/common/http/transfer/data-transfer-progress-aggregate.d.ts +27 -0
- package/lib/common/http/transfer/data-transfer-progress.d.ts +13 -0
- package/lib/common/http/transfer/data-transfer-state.d.ts +52 -0
- package/lib/common/http/transfer/data-transfer-status.d.ts +22 -0
- package/lib/common/http/transfer/http-data-transfer.d.ts +96 -0
- package/lib/common/http/transfer/public_api.d.ts +6 -0
- package/lib/common/http/upload/file-upload-client.d.ts +38 -0
- package/lib/common/i18n/entity/impl/i18n-base.d.ts +6 -0
- package/lib/common/i18n/entity/impl/i18n-text.d.ts +11 -0
- package/lib/common/i18n/entity/language-tag.d.ts +15 -0
- package/lib/common/i18n/entity/locale.d.ts +8 -0
- package/lib/common/i18n/entity/localisation-picker.d.ts +14 -0
- package/lib/common/i18n/entity/localized.d.ts +10 -0
- package/lib/common/i18n/entity/public_api.d.ts +5 -0
- package/lib/common/i18n/public_api.d.ts +1 -0
- package/lib/common/json-map.d.ts +7 -0
- package/lib/common/objects.d.ts +19 -0
- package/lib/common/public_api.d.ts +18 -0
- package/lib/common/reactive-map.d.ts +40 -0
- package/{src/lib/common/selection/public_api.ts → lib/common/selection/public_api.d.ts} +0 -0
- package/lib/common/selection/selection-model.d.ts +82 -0
- package/lib/common/sets.d.ts +20 -0
- package/lib/common/suggestion-provider.d.ts +13 -0
- package/lib/common/templates/template-slot-manager.d.ts +70 -0
- package/lib/common/time/date-util.d.ts +54 -0
- package/lib/common/time/interval.d.ts +287 -0
- package/lib/common/time/period-duration.d.ts +84 -0
- package/lib/common/time/public_api.d.ts +4 -0
- package/lib/common/time/time-util.d.ts +15 -0
- package/lib/common/url/elder-router.service.d.ts +36 -0
- package/lib/common/url/elder-url-fragment-params.service.d.ts +62 -0
- package/lib/common/url/public_api.d.ts +3 -0
- package/lib/common/url/url-query-params.d.ts +96 -0
- package/lib/common/utils/batcher.d.ts +14 -0
- package/lib/common/utils/collection-util.d.ts +35 -0
- package/lib/common/utils/filter-util.d.ts +7 -0
- package/lib/common/utils/next-number-util.d.ts +39 -0
- package/lib/common/utils/ng-zone-utils.d.ts +7 -0
- package/lib/common/utils/parse-util.d.ts +8 -0
- package/lib/common/utils/property-path-util.d.ts +8 -0
- package/{src/lib/common/utils/public_api.ts → lib/common/utils/public_api.d.ts} +0 -0
- package/lib/common/utils/query-list-binding.d.ts +57 -0
- package/lib/common/utils/sort-util.d.ts +10 -0
- package/lib/common/utils/url-builder.d.ts +160 -0
- package/lib/common/utils/uuid-util.d.ts +18 -0
- package/lib/common/utils/value-wrapper.d.ts +15 -0
- package/lib/components/access-denied/elder-access-denied.component.d.ts +8 -0
- package/lib/components/access-denied/elder-access-denied.module.d.ts +11 -0
- package/lib/components/auditing/audited-entity/elder-audited-entity.component.d.ts +20 -0
- package/lib/components/auditing/elder-audit.module.d.ts +14 -0
- package/lib/components/auditing/i-audited-entity.d.ts +13 -0
- package/lib/components/button-group/elder-button-group/elder-button-group.component.d.ts +8 -0
- package/lib/components/button-group/elder-button-group.module.d.ts +12 -0
- package/lib/components/card-organizer/card-organizer/elder-card-organizer.component.d.ts +64 -0
- package/lib/components/card-organizer/card-organizer/elder-stack-card.directive.d.ts +9 -0
- package/lib/components/card-organizer/card-organizer-data.d.ts +57 -0
- package/lib/components/card-organizer/card-stack/elder-card-stack.component.d.ts +89 -0
- package/lib/components/card-organizer/card-stack.d.ts +146 -0
- package/lib/components/card-organizer/elder-card-organizer.module.d.ts +22 -0
- package/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.d.ts +6 -0
- package/lib/components/cards/elder-card/elder-card.component.d.ts +68 -0
- package/lib/components/cards/elder-card/elder-card.module.d.ts +13 -0
- package/lib/components/connectivity/elder-connectivity.module.d.ts +14 -0
- package/lib/components/connectivity/elder-connectivity.service.d.ts +36 -0
- package/lib/components/connectivity/offline-indicator/elder-offline-indicator.component.d.ts +33 -0
- package/lib/components/connectivity/public_api.d.ts +2 -0
- package/lib/components/containers/elder-containers.module.d.ts +9 -0
- package/lib/components/containers/elder-scroll-container/elder-scroll-container.component.d.ts +12 -0
- package/lib/components/containers/public_api.d.ts +1 -0
- package/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.d.ts +51 -0
- package/lib/components/csv/elder-csv-stream-exporter-builder.d.ts +35 -0
- package/lib/components/csv/elder-csv-stream-exporter-builder.service.d.ts +28 -0
- package/lib/components/csv/elder-csv-stream-exporter.d.ts +58 -0
- package/lib/components/csv/elder-csv.module.d.ts +14 -0
- package/lib/components/currency/elder-currency.module.d.ts +8 -0
- package/lib/components/currency/elder-currency.pipe.d.ts +21 -0
- package/lib/components/currency/model/currency-code.d.ts +36 -0
- package/lib/components/currency/model/currency-unit-registry.d.ts +23 -0
- package/lib/components/currency/model/currency-unit.d.ts +7 -0
- package/lib/components/currency/model/currency.d.ts +10 -0
- package/lib/components/currency/public_api.d.ts +6 -0
- package/lib/components/data-transfer/elder-data-transfer.module.d.ts +26 -0
- package/lib/components/data-transfer/elder-data-transfer.service.d.ts +55 -0
- package/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.d.ts +30 -0
- package/lib/components/data-transfer/http-data-transfer-aggregate/http-data-transfer-aggregate.component.d.ts +29 -0
- package/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.d.ts +31 -0
- package/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.d.ts +28 -0
- package/lib/components/data-view/base/data-view-options-provider-binding.d.ts +39 -0
- package/lib/components/data-view/base/elder-data-view-base.d.ts +129 -0
- package/lib/components/data-view/base/elder-data-view-options-provider.d.ts +38 -0
- package/lib/components/data-view/base/elder-data-view-options.d.ts +34 -0
- package/lib/components/data-view/base/elder-data-view.d.ts +7 -0
- package/lib/components/data-view/base/public_api.d.ts +5 -0
- package/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.d.ts +32 -0
- package/lib/components/data-view/common/elder-data-common.module.d.ts +29 -0
- package/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.d.ts +66 -0
- package/lib/components/data-view/common/elder-single-sort/elder-single-sort.component.d.ts +45 -0
- package/lib/components/data-view/common/selection/data-context-selection.directive.d.ts +48 -0
- package/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.d.ts +26 -0
- package/lib/components/data-view/common/selection/master-selection-state.d.ts +8 -0
- package/lib/components/data-view/elder-data-view-interaction-mode.d.ts +21 -0
- package/lib/components/data-view/grid/elder-grid/elder-grid.component.d.ts +113 -0
- package/lib/components/data-view/grid/elder-grid.module.d.ts +24 -0
- package/lib/components/data-view/public_api.d.ts +5 -0
- package/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.component.d.ts +9 -0
- package/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.module.d.ts +28 -0
- package/lib/components/data-view/table/activation/elder-item-activator.d.ts +3 -0
- package/lib/components/data-view/table/activation/elder-table-activation-options.d.ts +16 -0
- package/lib/components/data-view/table/activation/elder-table-activation.directive.d.ts +78 -0
- package/lib/components/data-view/table/elder-number-cell.directive.d.ts +12 -0
- package/lib/components/data-view/table/elder-paginator-intl.d.ts +38 -0
- package/lib/components/data-view/table/elder-table/elder-table-toolbar.directive.d.ts +12 -0
- package/lib/components/data-view/table/elder-table/elder-table.component.d.ts +129 -0
- package/lib/components/data-view/table/elder-table-column.directive.d.ts +9 -0
- package/lib/components/data-view/table/elder-table-extension.directive.d.ts +53 -0
- package/lib/components/data-view/table/elder-table-root.directive.d.ts +15 -0
- package/lib/components/data-view/table/elder-table-row.directive.d.ts +63 -0
- package/lib/components/data-view/table/elder-table-sort.directive.d.ts +11 -0
- package/lib/components/data-view/table/elder-table.module.d.ts +47 -0
- package/lib/components/data-view/table/model/elder-column-layout.d.ts +44 -0
- package/lib/components/data-view/table/model/elder-table-model-cdk-table-binding.d.ts +44 -0
- package/lib/components/data-view/table/model/elder-table-model-provider.d.ts +25 -0
- package/lib/components/data-view/table/model/elder-table-model-query-group.d.ts +53 -0
- package/lib/components/data-view/table/model/elder-table-model.d.ts +83 -0
- package/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.d.ts +22 -0
- package/lib/components/dialogs/elder-dialog-config.d.ts +16 -0
- package/lib/components/dialogs/elder-dialog.module.d.ts +37 -0
- package/lib/components/dialogs/elder-dialog.service.d.ts +72 -0
- package/lib/components/dialogs/question-dialog/elder-question-dialog.component.d.ts +22 -0
- package/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.d.ts +29 -0
- package/lib/components/dialogs/selection-dialog/elder-selection-dialog.directive.d.ts +24 -0
- package/lib/components/errors/elder-error.module.d.ts +16 -0
- package/lib/components/errors/error-util.d.ts +23 -0
- package/lib/components/errors/exception-detail/elder-exception-detail.component.d.ts +42 -0
- package/lib/components/expand-toggle-button/elder-expand-toggle-button.component.d.ts +33 -0
- package/lib/components/expand-toggle-button/elder-expand-toggle-button.module.d.ts +11 -0
- package/lib/components/files/blob-url.d.ts +6 -0
- package/lib/components/files/blob-viewer/elder-blob-viewer.component.d.ts +107 -0
- package/lib/components/files/elder-file-drop-zone.directive.d.ts +45 -0
- package/lib/components/files/elder-file-select.directive.d.ts +66 -0
- package/lib/components/files/elder-file.module.d.ts +23 -0
- package/lib/components/files/file-select/file-select.component.d.ts +34 -0
- package/lib/components/files/file-upload/file-upload.component.d.ts +45 -0
- package/lib/components/forms/clipboard/elder-clipboard.service.d.ts +26 -0
- package/lib/components/forms/directives/base/elder-class-hostbinding-base.d.ts +32 -0
- package/lib/components/forms/directives/elder-clipboard-put.directive.d.ts +22 -0
- package/lib/components/forms/directives/elder-delayed-focus.directive.d.ts +21 -0
- package/lib/components/forms/directives/elder-form-field-dense.directive.d.ts +19 -0
- package/lib/components/forms/directives/elder-form-field-label.directive.d.ts +58 -0
- package/lib/components/forms/directives/elder-form-field-no-hint.directive.d.ts +19 -0
- package/lib/components/forms/directives/elder-form-field-no-spinner.directive.d.ts +19 -0
- package/lib/components/forms/directives/elder-forms-directives.module.d.ts +68 -0
- package/lib/components/forms/directives/elder-input-pattern.directive.d.ts +41 -0
- package/lib/components/forms/directives/elder-key-event.directive.d.ts +58 -0
- package/lib/components/forms/directives/elder-max.directive.d.ts +11 -0
- package/lib/components/forms/directives/elder-min.directive.d.ts +11 -0
- package/lib/components/forms/directives/elder-next-focusable.directive.d.ts +48 -0
- package/lib/components/forms/directives/elder-plug-parent-form.directive.d.ts +13 -0
- package/lib/components/forms/directives/elder-stop-event-propagation.directive.d.ts +16 -0
- package/lib/components/forms/directives/elder-tab-focus-trap.directive.d.ts +63 -0
- package/lib/components/forms/directives/elder-touched.directive.d.ts +14 -0
- package/lib/components/forms/directives/elder-triple-state-checkbox.directive.d.ts +51 -0
- package/lib/components/forms/directives/validation/elder-multiple-of.validator.d.ts +20 -0
- package/lib/components/forms/directives/validation/elder-required-ignore-zero.validator.d.ts +33 -0
- package/lib/components/forms/elder-forms.module.d.ts +12 -0
- package/lib/components/forms/public_api.d.ts +1 -0
- package/lib/components/forms/search/elder-search-context.directive.d.ts +79 -0
- package/lib/components/forms/search/elder-search-input.directive.d.ts +85 -0
- package/lib/components/forms/search/elder-search.module.d.ts +25 -0
- package/lib/components/forms/search/model/search-input-state.d.ts +67 -0
- package/lib/components/forms/search/model/search-input.d.ts +21 -0
- package/lib/components/forms/search/search-box/elder-search-box.component.d.ts +72 -0
- package/lib/components/forms/search/search-box/elder-search-panel.component.d.ts +6 -0
- package/lib/components/global-search/elder-global-search.component.d.ts +39 -0
- package/lib/components/global-search/elder-global-search.module.d.ts +18 -0
- package/lib/components/global-search/elder-global-search.service.d.ts +54 -0
- package/lib/components/graph/elder-progress-bar/elder-progress-bar.component.d.ts +47 -0
- package/lib/components/graph/elder-progress-bar/elder-progress-bar.module.d.ts +10 -0
- package/lib/components/graph/elder-progress-bar/sub-bar.d.ts +5 -0
- package/{src/lib/components/graph/public_api.ts → lib/components/graph/public_api.d.ts} +0 -0
- package/lib/components/headers/elder-header/elder-header.component.d.ts +25 -0
- package/lib/components/headers/elder-header.module.d.ts +11 -0
- package/lib/components/http-support/elder-http-client.service.d.ts +48 -0
- package/lib/components/http-support/public_api.d.ts +1 -0
- package/lib/components/i18n/entities/elder-i18n-entities.module.d.ts +37 -0
- package/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.d.ts +62 -0
- package/lib/components/i18n/entities/elder-localized-input-dialog/elder-localized-input-dialog.component.d.ts +22 -0
- package/lib/components/i18n/entities/elder-localized-input-dialog.service.d.ts +13 -0
- package/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.d.ts +67 -0
- package/lib/components/i18n/entities/elder-localized-text-column.directive.d.ts +17 -0
- package/lib/components/i18n/entities/elder-localized-texts.directive.d.ts +37 -0
- package/lib/components/i18n/entities/picker/i18n-pick-async.pipe.d.ts +23 -0
- package/lib/components/i18n/entities/picker/i18n-pick.pipe.d.ts +22 -0
- package/lib/components/i18n/entities/picker/localisation-picker.service.d.ts +44 -0
- package/lib/components/i18n/language/elder-language-config.d.ts +14 -0
- package/lib/components/i18n/language/elder-language-interceptor.d.ts +41 -0
- package/lib/components/i18n/language/elder-language.module.d.ts +26 -0
- package/lib/components/i18n/language/elder-language.service.d.ts +77 -0
- package/lib/components/i18n/language/language-switcher/elder-language-switcher.component.d.ts +37 -0
- package/lib/components/i18n/locales/elder-locales-de-ch.module.d.ts +10 -0
- package/{src/lib/components/i18n/public_api.ts → lib/components/i18n/public_api.d.ts} +0 -0
- package/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.d.ts +68 -0
- package/lib/components/iframes/data-view/data-view-iframe-adapter.directive.d.ts +62 -0
- package/lib/components/iframes/elder-iframe.module.d.ts +27 -0
- package/lib/components/iframes/iframe-close.directive.d.ts +24 -0
- package/lib/components/iframes/iframe-dialog/iframe-dialog.component.d.ts +36 -0
- package/lib/components/iframes/iframe-host/iframe-host.component.d.ts +92 -0
- package/lib/components/iframes/iframe-side-content/iframe-side-content.component.d.ts +48 -0
- package/lib/components/iframes/iframe.service.d.ts +25 -0
- package/lib/components/iframes/typed-event-message.d.ts +26 -0
- package/lib/components/infinitescroll/elder-infinite-autocomplete.directive.d.ts +30 -0
- package/lib/components/infinitescroll/elder-infinite-scroll.directive.d.ts +63 -0
- package/lib/components/infinitescroll/elder-infinite-scroll.module.d.ts +19 -0
- package/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete-option-selected.d.ts +8 -0
- package/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete.component.d.ts +87 -0
- package/lib/components/input/autocomplete/elder-autocomplete-many.directive.d.ts +78 -0
- package/lib/components/input/autocomplete/elder-autocomplete.directive.d.ts +60 -0
- package/lib/components/input/autocomplete/elder-autocomplete.module.d.ts +19 -0
- package/lib/components/input/autocomplete/many/word-position-finder.d.ts +15 -0
- package/lib/components/input/public_api.d.ts +1 -0
- package/lib/components/labels/elder-labels.module.d.ts +15 -0
- package/lib/components/labels/labels-input/labels-input.component.d.ts +91 -0
- package/lib/components/measures/dimensions-input/elder-dimensions-input.component.d.ts +109 -0
- package/lib/components/measures/directives/elder-unit-select.directive.d.ts +30 -0
- package/lib/components/measures/elder-measures.module.d.ts +32 -0
- package/lib/components/measures/elder-quantity-transform.pipe.d.ts +22 -0
- package/lib/components/measures/elder-quantity.pipe.d.ts +40 -0
- package/lib/components/measures/elder-unit.service.d.ts +39 -0
- package/lib/components/measures/model/dimensions.d.ts +11 -0
- package/lib/components/measures/model/quantity.d.ts +7 -0
- package/lib/components/measures/model/unit-dimension.d.ts +12 -0
- package/lib/components/measures/model/unit-registry.d.ts +46 -0
- package/lib/components/measures/model/unit.d.ts +111 -0
- package/lib/components/measures/public_api.d.ts +7 -0
- package/lib/components/measures/quantity-input/elder-quantity-input.component.d.ts +94 -0
- package/lib/components/measures/util/elder-quantity.service.d.ts +116 -0
- package/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.d.ts +69 -0
- package/lib/components/navigation/bread-crumbs/elder-bread-crumbs.module.d.ts +18 -0
- package/lib/components/navigation/bread-crumbs/path/path.d.ts +31 -0
- package/lib/components/navigation/nav/elder-nav.module.d.ts +18 -0
- package/lib/components/navigation/nav/nav-group/elder-nav-group.component.d.ts +45 -0
- package/lib/components/navigation/nav/nav-link/elder-nav-link.component.d.ts +27 -0
- package/lib/components/navigation/nav/nav-list/elder-nav-list.component.d.ts +6 -0
- package/{src/lib/components/navigation/public_api.ts → lib/components/navigation/public_api.d.ts} +0 -0
- package/lib/components/navigation/toolbar/elder-toolbar-column.directive.d.ts +34 -0
- package/lib/components/navigation/toolbar/elder-toolbar.module.d.ts +23 -0
- package/lib/components/navigation/toolbar/elder-toolbar.service.d.ts +46 -0
- package/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.d.ts +42 -0
- package/lib/components/navigation/toolbar/toolbar-column-position.d.ts +9 -0
- package/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.d.ts +30 -0
- package/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.service.d.ts +47 -0
- package/lib/components/overlays/elder-overlay-origin.directive.d.ts +28 -0
- package/lib/components/overlays/elder-overlay-trigger.directive.d.ts +36 -0
- package/lib/components/overlays/elder-overlay.component.d.ts +88 -0
- package/lib/components/overlays/elder-overlay.module.d.ts +14 -0
- package/lib/components/panels/card-panel/elder-card-panel.component.d.ts +6 -0
- package/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.d.ts +6 -0
- package/lib/components/panels/elder-panel.module.d.ts +14 -0
- package/lib/components/panels/flat/elder-panel.component.d.ts +15 -0
- package/{src/lib/components/public_api.ts → lib/components/public_api.d.ts} +0 -0
- package/lib/components/select/auto/elder-auto-select-first.directive.d.ts +45 -0
- package/lib/components/select/auto/elder-select-first-util.d.ts +22 -0
- package/lib/components/select/elder-select-base.d.ts +149 -0
- package/lib/components/select/elder-select-chip.directive.d.ts +23 -0
- package/lib/components/select/elder-select-on-tab.directive.d.ts +55 -0
- package/lib/components/select/elder-select-value.directive.d.ts +9 -0
- package/lib/components/select/elder-select.module.d.ts +48 -0
- package/lib/components/select/multi/elder-multi-select-base.d.ts +120 -0
- package/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.d.ts +105 -0
- package/lib/components/select/multi/elder-multi-select-form-field.d.ts +34 -0
- package/lib/components/select/popup/selection-model-popup-trigger-adapter.directive.d.ts +42 -0
- package/lib/components/select/popup/selection-model-popup.directive.d.ts +49 -0
- package/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.d.ts +32 -0
- package/lib/components/select/public_api.d.ts +5 -0
- package/lib/components/select/single/elder-clear-select.directive.d.ts +34 -0
- package/lib/components/select/single/elder-select/elder-select.component.d.ts +155 -0
- package/lib/components/select/single/elder-select-form-field.d.ts +30 -0
- package/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.d.ts +78 -0
- package/lib/components/select-chip-list/elder-chip-list-select.module.d.ts +12 -0
- package/lib/components/select-list/elder-select-list.module.d.ts +15 -0
- package/lib/components/select-list/select-list/elder-select-list.component.d.ts +53 -0
- package/lib/components/select-list/select-list-item/elder-select-list-item.component.d.ts +57 -0
- package/lib/components/shell/drawers/drawer-outlet-binding.d.ts +36 -0
- package/lib/components/shell/drawers/elder-route-outlet-drawer.service.d.ts +55 -0
- package/lib/components/shell/drawers/elder-router-outlet.service.d.ts +64 -0
- package/lib/components/shell/elder-shell-slot.directive.d.ts +34 -0
- package/lib/components/shell/elder-shell.module.d.ts +30 -0
- package/lib/components/shell/elder-shell.service.d.ts +98 -0
- package/lib/components/shell/header/elder-app-header/elder-app-header.component.d.ts +43 -0
- package/lib/components/shell/shell/elder-shell.component.d.ts +99 -0
- package/lib/components/shell/shell-content-slot.d.ts +4 -0
- package/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.d.ts +66 -0
- package/lib/components/tabs/elder-tab/elder-tab.directive.d.ts +19 -0
- package/lib/components/tabs/elder-tab-group-routing/elder-tab-group-routing.directive.d.ts +100 -0
- package/lib/components/tabs/elder-tab.module.d.ts +12 -0
- package/lib/components/theme/elder-theme-applier.directive.d.ts +36 -0
- package/lib/components/theme/elder-theme-preference.service.d.ts +35 -0
- package/lib/components/theme/elder-theme-toggle/elder-theme-toggle.component.d.ts +37 -0
- package/lib/components/theme/elder-theme.directive.d.ts +38 -0
- package/lib/components/theme/elder-theme.module.d.ts +22 -0
- package/lib/components/theme/elder-theme.service.d.ts +51 -0
- package/lib/components/theme/known-elder-themes.d.ts +5 -0
- package/{src/lib/components/theme/public_api.ts → lib/components/theme/public_api.d.ts} +0 -0
- package/lib/components/theme/theme-spec.d.ts +18 -0
- package/lib/components/time/date-adapters/custom-date-adapter.d.ts +12 -0
- package/lib/components/time/duration/duration-bucket.d.ts +37 -0
- package/lib/components/time/duration/duration-format.d.ts +62 -0
- package/lib/components/time/duration/elder-duration-input/elder-duration-input.component.d.ts +58 -0
- package/lib/components/time/duration/iso-duration-str.d.ts +5 -0
- package/lib/components/time/elder-date-switcher/elder-date-switcher.component.d.ts +60 -0
- package/lib/components/time/elder-date-time-input/elder-date-time-input.component.d.ts +42 -0
- package/lib/components/time/elder-interval-input/elder-interval-input.component.d.ts +84 -0
- package/lib/components/time/elder-local-date-input/elder-local-date-input.component.d.ts +78 -0
- package/lib/components/time/elder-local-time-input/elder-local-time-input.component.d.ts +47 -0
- package/lib/components/time/elder-time.module.d.ts +38 -0
- package/lib/components/time/period/elder-period-input/elder-period-input.component.d.ts +71 -0
- package/lib/components/time/period/period-bucket.d.ts +21 -0
- package/lib/components/time/period/period-format.d.ts +43 -0
- package/lib/components/time/public_api.d.ts +7 -0
- package/lib/components/toasts/elder-toast.module.d.ts +12 -0
- package/lib/components/toasts/elder-toast.service.d.ts +96 -0
- package/lib/components/toasts/standard-toast/standard-toast.component.d.ts +38 -0
- package/lib/components/toasts/toast-type.d.ts +5 -0
- package/lib/components/toasts/toast.d.ts +7 -0
- package/lib/components/url-fragment/elder-url-fragment.d.ts +7 -0
- package/lib/components/url-fragment/elder-url-fragment.module.d.ts +17 -0
- package/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.d.ts +38 -0
- package/lib/components/viewers/elder-svg-viewer/elder-svg-viewer.component.d.ts +41 -0
- package/lib/components/viewers/elder-viewers.module.d.ts +9 -0
- package/lib/features/event-source/elder-event-source.service.d.ts +43 -0
- package/lib/features/event-source/public_api.d.ts +2 -0
- package/lib/features/event-source/reactive-event-source.d.ts +97 -0
- package/lib/features/kafent/access-token-provider.d.ts +12 -0
- package/lib/features/kafent/kafent-config.d.ts +32 -0
- package/lib/features/kafent/kafent-event-stream.d.ts +28 -0
- package/lib/features/kafent/kafent-event.d.ts +11 -0
- package/lib/features/kafent/kafent-event.service.d.ts +77 -0
- package/lib/features/kafent/kafent-live-event-request.d.ts +58 -0
- package/lib/features/kafent/kafent.module.d.ts +30 -0
- package/lib/features/kafent/sse/kafent-event-stream-sse.service.d.ts +56 -0
- package/lib/features/kafent/sse/kafent-topic-sse.d.ts +70 -0
- package/lib/features/public_api.d.ts +2 -0
- package/lib/pipes/bytes.pipe.d.ts +7 -0
- package/lib/pipes/elder-pipes.module.d.ts +46 -0
- package/lib/pipes/elder-repeat.pipe.d.ts +7 -0
- package/lib/pipes/elder-round.pipe.d.ts +23 -0
- package/lib/pipes/elder-safe-url.pipe.d.ts +10 -0
- package/lib/pipes/elder-truncate.pipe.d.ts +17 -0
- package/lib/pipes/iso-duration.pipe.d.ts +26 -0
- package/lib/pipes/iso-interval-parse.pipe.d.ts +30 -0
- package/lib/pipes/iso-interval.pipe.d.ts +43 -0
- package/lib/pipes/public_api.d.ts +1 -0
- package/lib/pipes/time-ago.pipe.d.ts +18 -0
- package/lib/pipes/time-duration.pipe.d.ts +13 -0
- package/lib/pipes/weight.pipe.d.ts +7 -0
- package/package.json +22 -6
- package/public_api.d.ts +4 -0
- package/.eslintrc.json +0 -44
- package/karma-ci.conf.js +0 -46
- package/karma.conf.js +0 -44
- package/ng-package.json +0 -15
- package/ng-package.prod.json +0 -14
- package/src/lib/common/async/public_api.ts +0 -3
- package/src/lib/common/async/refreshing-entity.ts +0 -128
- package/src/lib/common/csv/csv-serializer.ts +0 -82
- package/src/lib/common/csv/csv-spec.ts +0 -148
- package/src/lib/common/csv/public_api.ts +0 -3
- package/src/lib/common/data/continuable-listing.ts +0 -35
- package/src/lib/common/data/data-context/data-context-active-page.ts +0 -184
- package/src/lib/common/data/data-context/data-context-auto-starter.ts +0 -108
- package/src/lib/common/data/data-context/data-context-base.ts +0 -406
- package/src/lib/common/data/data-context/data-context-builder.ts +0 -354
- package/src/lib/common/data/data-context/data-context-continuable-base.ts +0 -100
- package/src/lib/common/data/data-context/data-context-continuable-paged.ts +0 -191
- package/src/lib/common/data/data-context/data-context-continuable-token.ts +0 -177
- package/src/lib/common/data/data-context/data-context-life-cycle-binding.ts +0 -59
- package/src/lib/common/data/data-context/data-context-simple.ts +0 -80
- package/src/lib/common/data/data-context/data-context-source-auto-reloader.ts +0 -21
- package/src/lib/common/data/data-context/data-context-status.ts +0 -56
- package/src/lib/common/data/data-context/data-context.ts +0 -204
- package/src/lib/common/data/data-context/mat-table-data-context-binding.ts +0 -209
- package/src/lib/common/data/data-context/public_api.ts +0 -19
- package/src/lib/common/data/datasource/data-source-adapter.ts +0 -96
- package/src/lib/common/data/datasource/data-source-processor.ts +0 -318
- package/src/lib/common/data/datasource/data-source.ts +0 -87
- package/src/lib/common/data/datasource/entity-id-util.ts +0 -11
- package/src/lib/common/data/datasource/fetcher/delegate-data-source.ts +0 -230
- package/src/lib/common/data/datasource/local/local-list-data-source.ts +0 -161
- package/src/lib/common/data/datasource/local/local-paged-data-source.ts +0 -129
- package/src/lib/common/data/datasource/public_api.ts +0 -14
- package/src/lib/common/data/datasource/rest/public_api.ts +0 -2
- package/src/lib/common/data/datasource/rest/rest-client.ts +0 -474
- package/src/lib/common/data/entity-set-patch.ts +0 -210
- package/src/lib/common/data/field-comparator.ts +0 -122
- package/src/lib/common/data/filters/filter-context.spec.ts +0 -150
- package/src/lib/common/data/filters/filter-context.ts +0 -163
- package/src/lib/common/data/filters/filter.spec.ts +0 -136
- package/src/lib/common/data/filters/filter.ts +0 -137
- package/src/lib/common/data/http-params-builder.ts +0 -138
- package/src/lib/common/data/page.ts +0 -92
- package/src/lib/common/data/public_api.ts +0 -12
- package/src/lib/common/data/required-filter-evaluator.ts +0 -122
- package/src/lib/common/data/sort-context.ts +0 -90
- package/src/lib/common/data/sort.ts +0 -16
- package/src/lib/common/data/token-chunk-request.ts +0 -10
- package/src/lib/common/enums/elder-enum-translation.service.ts +0 -116
- package/src/lib/common/enums/public_api.ts +0 -3
- package/src/lib/common/errors/exception-detail.ts +0 -6
- package/src/lib/common/errors/standard-error-detail.ts +0 -27
- package/src/lib/common/format/bytes-format.ts +0 -25
- package/src/lib/common/format/bytes-per-second-format.ts +0 -44
- package/src/lib/common/forms/elder-entity-value-accessor.ts +0 -70
- package/src/lib/common/forms/elder-form-field-control-base.directive.ts +0 -240
- package/src/lib/common/forms/elder-from-field-base.ts +0 -113
- package/src/lib/common/forms/elder-from-field-entity-base.ts +0 -63
- package/src/lib/common/forms/elder-from-field-multi-entity-base.ts +0 -86
- package/src/lib/common/forms/elder-multi-entity-value-accessor.ts +0 -84
- package/src/lib/common/forms/form-field-base.component.ts +0 -152
- package/src/lib/common/forms/multi-model-base.component.ts +0 -40
- package/src/lib/common/forms/public_api.ts +0 -12
- package/src/lib/common/forms/template-composite-control.ts +0 -158
- package/src/lib/common/forms/value-accessor-base.ts +0 -165
- package/src/lib/common/forms/view-providers.ts +0 -34
- package/src/lib/common/http/http-client-builder.service.ts +0 -55
- package/src/lib/common/http/http-client-pristine.ts +0 -15
- package/src/lib/common/http/public_api.ts +0 -5
- package/src/lib/common/http/transfer/data-transfer-factory.ts +0 -145
- package/src/lib/common/http/transfer/data-transfer-progress-aggregate.ts +0 -74
- package/src/lib/common/http/transfer/data-transfer-progress.ts +0 -18
- package/src/lib/common/http/transfer/data-transfer-state.ts +0 -129
- package/src/lib/common/http/transfer/data-transfer-status.ts +0 -28
- package/src/lib/common/http/transfer/http-data-transfer.ts +0 -276
- package/src/lib/common/http/transfer/public_api.ts +0 -9
- package/src/lib/common/http/upload/file-upload-client.ts +0 -74
- package/src/lib/common/i18n/entity/impl/i18n-base.ts +0 -9
- package/src/lib/common/i18n/entity/impl/i18n-text.ts +0 -25
- package/src/lib/common/i18n/entity/language-tag.ts +0 -19
- package/src/lib/common/i18n/entity/locale.ts +0 -20
- package/src/lib/common/i18n/entity/localisation-picker.ts +0 -51
- package/src/lib/common/i18n/entity/localized.ts +0 -11
- package/src/lib/common/i18n/entity/public_api.ts +0 -7
- package/src/lib/common/i18n/public_api.ts +0 -3
- package/src/lib/common/json-map.ts +0 -26
- package/src/lib/common/objects.ts +0 -46
- package/src/lib/common/public_api.ts +0 -20
- package/src/lib/common/reactive-map.ts +0 -113
- package/src/lib/common/selection/selection-model.ts +0 -274
- package/src/lib/common/sets.ts +0 -48
- package/src/lib/common/suggestion-provider.ts +0 -28
- package/src/lib/common/templates/public_api.ts +0 -1
- package/src/lib/common/templates/template-slot-manager.ts +0 -153
- package/src/lib/common/time/date-util.ts +0 -120
- package/src/lib/common/time/interval.spec.ts +0 -53
- package/src/lib/common/time/interval.ts +0 -539
- package/src/lib/common/time/period-duration.ts +0 -147
- package/src/lib/common/time/public_api.ts +0 -6
- package/src/lib/common/time/time-util.ts +0 -54
- package/src/lib/common/url/elder-router.service.ts +0 -55
- package/src/lib/common/url/elder-url-fragment-params.service.ts +0 -139
- package/src/lib/common/url/public_api.ts +0 -5
- package/src/lib/common/url/url-query-params.ts +0 -169
- package/src/lib/common/utils/batcher.spec.ts +0 -39
- package/src/lib/common/utils/batcher.ts +0 -55
- package/src/lib/common/utils/collection-util.ts +0 -125
- package/src/lib/common/utils/filter-util.ts +0 -67
- package/src/lib/common/utils/next-number-util.ts +0 -102
- package/src/lib/common/utils/ng-zone-utils.ts +0 -18
- package/src/lib/common/utils/parse-util.ts +0 -17
- package/src/lib/common/utils/property-path-util.ts +0 -29
- package/src/lib/common/utils/query-list-binding.ts +0 -105
- package/src/lib/common/utils/sort-util.spec.ts +0 -41
- package/src/lib/common/utils/sort-util.ts +0 -38
- package/src/lib/common/utils/url-builder.spec.ts +0 -83
- package/src/lib/common/utils/url-builder.ts +0 -363
- package/src/lib/common/utils/uuid-util.ts +0 -34
- package/src/lib/common/utils/value-wrapper.ts +0 -25
- package/src/lib/components/access-denied/elder-access-denied.component.html +0 -12
- package/src/lib/components/access-denied/elder-access-denied.component.ts +0 -16
- package/src/lib/components/access-denied/elder-access-denied.module.ts +0 -23
- package/src/lib/components/auditing/audited-entity/elder-audited-entity.component.html +0 -23
- package/src/lib/components/auditing/audited-entity/elder-audited-entity.component.ts +0 -39
- package/src/lib/components/auditing/elder-audit.module.ts +0 -28
- package/src/lib/components/auditing/i-audited-entity.ts +0 -17
- package/src/lib/components/button-group/elder-button-group/elder-button-group.component.html +0 -3
- package/src/lib/components/button-group/elder-button-group/elder-button-group.component.ts +0 -21
- package/src/lib/components/button-group/elder-button-group.module.ts +0 -23
- package/src/lib/components/card-organizer/card-organizer/elder-card-organizer.component.html +0 -26
- package/src/lib/components/card-organizer/card-organizer/elder-card-organizer.component.ts +0 -148
- package/src/lib/components/card-organizer/card-organizer/elder-stack-card.directive.ts +0 -9
- package/src/lib/components/card-organizer/card-organizer-data.ts +0 -124
- package/src/lib/components/card-organizer/card-stack/elder-card-stack.component.html +0 -70
- package/src/lib/components/card-organizer/card-stack/elder-card-stack.component.ts +0 -250
- package/src/lib/components/card-organizer/card-stack.ts +0 -231
- package/src/lib/components/card-organizer/elder-card-organizer.module.ts +0 -37
- package/src/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.css +0 -5
- package/src/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.html +0 -16
- package/src/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.ts +0 -14
- package/src/lib/components/cards/elder-card/elder-card.component.html +0 -21
- package/src/lib/components/cards/elder-card/elder-card.component.ts +0 -141
- package/src/lib/components/cards/elder-card/elder-card.module.ts +0 -47
- package/src/lib/components/connectivity/elder-connectivity.module.ts +0 -37
- package/src/lib/components/connectivity/elder-connectivity.service.ts +0 -83
- package/src/lib/components/connectivity/offline-indicator/elder-offline-indicator.component.html +0 -11
- package/src/lib/components/connectivity/offline-indicator/elder-offline-indicator.component.ts +0 -51
- package/src/lib/components/connectivity/public_api.ts +0 -3
- package/src/lib/components/containers/elder-containers.module.ts +0 -18
- package/src/lib/components/containers/elder-scroll-container/elder-scroll-container.component.html +0 -14
- package/src/lib/components/containers/elder-scroll-container/elder-scroll-container.component.ts +0 -30
- package/src/lib/components/containers/public_api.ts +0 -3
- package/src/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.html +0 -5
- package/src/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.ts +0 -105
- package/src/lib/components/csv/elder-csv-stream-exporter-builder.service.ts +0 -56
- package/src/lib/components/csv/elder-csv-stream-exporter-builder.ts +0 -68
- package/src/lib/components/csv/elder-csv-stream-exporter.ts +0 -192
- package/src/lib/components/csv/elder-csv.module.ts +0 -27
- package/src/lib/components/currency/elder-currency.module.ts +0 -18
- package/src/lib/components/currency/elder-currency.pipe.ts +0 -44
- package/src/lib/components/currency/elder-currency.service.ts +0 -83
- package/src/lib/components/currency/model/currency-code.ts +0 -37
- package/src/lib/components/currency/model/currency-unit-registry.ts +0 -39
- package/src/lib/components/currency/model/currency-unit.ts +0 -18
- package/src/lib/components/currency/model/currency.ts +0 -22
- package/src/lib/components/currency/public_api.ts +0 -7
- package/src/lib/components/data-transfer/elder-data-transfer.module.ts +0 -52
- package/src/lib/components/data-transfer/elder-data-transfer.service.ts +0 -120
- package/src/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.html +0 -47
- package/src/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.ts +0 -82
- package/src/lib/components/data-transfer/http-data-transfer-aggregate/http-data-transfer-aggregate.component.html +0 -26
- package/src/lib/components/data-transfer/http-data-transfer-aggregate/http-data-transfer-aggregate.component.ts +0 -46
- package/src/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.html +0 -31
- package/src/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.ts +0 -61
- package/src/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.html +0 -24
- package/src/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.ts +0 -41
- package/src/lib/components/data-view/base/data-view-options-provider-binding.ts +0 -99
- package/src/lib/components/data-view/base/elder-data-view-base.ts +0 -322
- package/src/lib/components/data-view/base/elder-data-view-options-provider.ts +0 -55
- package/src/lib/components/data-view/base/elder-data-view-options.ts +0 -89
- package/src/lib/components/data-view/base/elder-data-view.ts +0 -14
- package/src/lib/components/data-view/base/public_api.ts +0 -5
- package/src/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.html +0 -50
- package/src/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.ts +0 -51
- package/src/lib/components/data-view/common/elder-data-common.module.ts +0 -62
- package/src/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.html +0 -113
- package/src/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.ts +0 -181
- package/src/lib/components/data-view/common/elder-single-sort/elder-single-sort.component.html +0 -25
- package/src/lib/components/data-view/common/elder-single-sort/elder-single-sort.component.ts +0 -99
- package/src/lib/components/data-view/common/selection/data-context-selection.directive.ts +0 -127
- package/src/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.html +0 -22
- package/src/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.ts +0 -53
- package/src/lib/components/data-view/common/selection/master-selection-state.ts +0 -10
- package/src/lib/components/data-view/elder-data-view-interaction-mode.ts +0 -26
- package/src/lib/components/data-view/grid/elder-grid/elder-grid.component.html +0 -158
- package/src/lib/components/data-view/grid/elder-grid/elder-grid.component.ts +0 -359
- package/src/lib/components/data-view/grid/elder-grid.module.ts +0 -54
- package/src/lib/components/data-view/public_api.ts +0 -5
- package/src/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.component.css +0 -0
- package/src/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.component.html +0 -3
- package/src/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.component.ts +0 -22
- package/src/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.module.ts +0 -50
- package/src/lib/components/data-view/table/activation/elder-item-activator.ts +0 -6
- package/src/lib/components/data-view/table/activation/elder-table-activation-options.ts +0 -19
- package/src/lib/components/data-view/table/activation/elder-table-activation.directive.ts +0 -308
- package/src/lib/components/data-view/table/elder-number-cell.directive.ts +0 -26
- package/src/lib/components/data-view/table/elder-paginator-intl.ts +0 -92
- package/src/lib/components/data-view/table/elder-table/elder-table-toolbar.directive.ts +0 -14
- package/src/lib/components/data-view/table/elder-table/elder-table.component.html +0 -99
- package/src/lib/components/data-view/table/elder-table/elder-table.component.ts +0 -388
- package/src/lib/components/data-view/table/elder-table-column.directive.ts +0 -29
- package/src/lib/components/data-view/table/elder-table-extension.directive.ts +0 -107
- package/src/lib/components/data-view/table/elder-table-root.directive.ts +0 -24
- package/src/lib/components/data-view/table/elder-table-row.directive.ts +0 -154
- package/src/lib/components/data-view/table/elder-table-sort.directive.ts +0 -16
- package/src/lib/components/data-view/table/elder-table.module.ts +0 -94
- package/src/lib/components/data-view/table/model/elder-column-layout.ts +0 -164
- package/src/lib/components/data-view/table/model/elder-table-model-cdk-table-binding.ts +0 -115
- package/src/lib/components/data-view/table/model/elder-table-model-provider.ts +0 -49
- package/src/lib/components/data-view/table/model/elder-table-model-query-group.ts +0 -153
- package/src/lib/components/data-view/table/model/elder-table-model.ts +0 -221
- package/src/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.html +0 -34
- package/src/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.ts +0 -34
- package/src/lib/components/dialogs/elder-dialog-config.ts +0 -21
- package/src/lib/components/dialogs/elder-dialog.module.ts +0 -66
- package/src/lib/components/dialogs/elder-dialog.service.ts +0 -204
- package/src/lib/components/dialogs/question-dialog/elder-question-dialog.component.html +0 -36
- package/src/lib/components/dialogs/question-dialog/elder-question-dialog.component.ts +0 -44
- package/src/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.html +0 -27
- package/src/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.ts +0 -55
- package/src/lib/components/dialogs/selection-dialog/elder-selection-dialog.directive.ts +0 -54
- package/src/lib/components/errors/elder-error.module.ts +0 -28
- package/src/lib/components/errors/error-util.ts +0 -107
- package/src/lib/components/errors/exception-detail/elder-exception-detail.component.html +0 -33
- package/src/lib/components/errors/exception-detail/elder-exception-detail.component.ts +0 -77
- package/src/lib/components/expand-toggle-button/elder-expand-toggle-button.component.html +0 -14
- package/src/lib/components/expand-toggle-button/elder-expand-toggle-button.component.ts +0 -57
- package/src/lib/components/expand-toggle-button/elder-expand-toggle-button.module.ts +0 -23
- package/src/lib/components/files/blob-url.ts +0 -13
- package/src/lib/components/files/blob-viewer/elder-blob-viewer.component.html +0 -62
- package/src/lib/components/files/blob-viewer/elder-blob-viewer.component.ts +0 -304
- package/src/lib/components/files/elder-file-drop-zone.directive.ts +0 -116
- package/src/lib/components/files/elder-file-select.directive.ts +0 -184
- package/src/lib/components/files/elder-file.module.ts +0 -49
- package/src/lib/components/files/file-select/file-select.component.html +0 -9
- package/src/lib/components/files/file-select/file-select.component.ts +0 -61
- package/src/lib/components/files/file-upload/file-upload.component.html +0 -36
- package/src/lib/components/files/file-upload/file-upload.component.ts +0 -81
- package/src/lib/components/forms/clipboard/elder-clipboard.service.ts +0 -57
- package/src/lib/components/forms/directives/base/elder-class-hostbinding-base.ts +0 -55
- package/src/lib/components/forms/directives/elder-clipboard-put.directive.ts +0 -44
- package/src/lib/components/forms/directives/elder-delayed-focus.directive.ts +0 -44
- package/src/lib/components/forms/directives/elder-form-field-dense.directive.ts +0 -31
- package/src/lib/components/forms/directives/elder-form-field-label.directive.ts +0 -92
- package/src/lib/components/forms/directives/elder-form-field-no-hint.directive.ts +0 -28
- package/src/lib/components/forms/directives/elder-form-field-no-spinner.directive.ts +0 -32
- package/src/lib/components/forms/directives/elder-forms-directives.module.ts +0 -115
- package/src/lib/components/forms/directives/elder-input-pattern.directive.ts +0 -76
- package/src/lib/components/forms/directives/elder-key-event.directive.ts +0 -126
- package/src/lib/components/forms/directives/elder-max.directive.ts +0 -38
- package/src/lib/components/forms/directives/elder-min.directive.ts +0 -38
- package/src/lib/components/forms/directives/elder-next-focusable.directive.ts +0 -101
- package/src/lib/components/forms/directives/elder-plug-parent-form.directive.ts +0 -28
- package/src/lib/components/forms/directives/elder-stop-event-propagation.directive.ts +0 -22
- package/src/lib/components/forms/directives/elder-tab-focus-trap.directive.ts +0 -188
- package/src/lib/components/forms/directives/elder-touched.directive.ts +0 -25
- package/src/lib/components/forms/directives/elder-triple-state-checkbox.directive.ts +0 -132
- package/src/lib/components/forms/directives/validation/elder-multiple-of.validator.ts +0 -59
- package/src/lib/components/forms/directives/validation/elder-required-ignore-zero.validator.ts +0 -80
- package/src/lib/components/forms/elder-forms.module.ts +0 -17
- package/src/lib/components/forms/public_api.ts +0 -3
- package/src/lib/components/forms/search/elder-search-context.directive.ts +0 -181
- package/src/lib/components/forms/search/elder-search-input.directive.ts +0 -244
- package/src/lib/components/forms/search/elder-search.module.ts +0 -48
- package/src/lib/components/forms/search/model/search-input-state.ts +0 -95
- package/src/lib/components/forms/search/model/search-input.ts +0 -30
- package/src/lib/components/forms/search/model/simple-search-input.ts +0 -69
- package/src/lib/components/forms/search/search-box/elder-search-box.component.html +0 -66
- package/src/lib/components/forms/search/search-box/elder-search-box.component.ts +0 -149
- package/src/lib/components/forms/search/search-box/elder-search-panel.component.ts +0 -10
- package/src/lib/components/global-search/elder-global-search.component.html +0 -51
- package/src/lib/components/global-search/elder-global-search.component.ts +0 -158
- package/src/lib/components/global-search/elder-global-search.module.ts +0 -27
- package/src/lib/components/global-search/elder-global-search.service.ts +0 -118
- package/src/lib/components/graph/elder-progress-bar/elder-progress-bar.component.html +0 -19
- package/src/lib/components/graph/elder-progress-bar/elder-progress-bar.component.ts +0 -102
- package/src/lib/components/graph/elder-progress-bar/elder-progress-bar.module.ts +0 -20
- package/src/lib/components/graph/elder-progress-bar/sub-bar.ts +0 -6
- package/src/lib/components/headers/elder-header/elder-header.component.css +0 -0
- package/src/lib/components/headers/elder-header/elder-header.component.html +0 -4
- package/src/lib/components/headers/elder-header/elder-header.component.ts +0 -38
- package/src/lib/components/headers/elder-header.module.ts +0 -28
- package/src/lib/components/http-support/elder-http-client.service.ts +0 -82
- package/src/lib/components/http-support/public_api.ts +0 -3
- package/src/lib/components/i18n/entities/elder-i18n-entities.module.ts +0 -74
- package/src/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.html +0 -40
- package/src/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.ts +0 -176
- package/src/lib/components/i18n/entities/elder-localized-input-dialog/elder-localized-input-dialog.component.html +0 -36
- package/src/lib/components/i18n/entities/elder-localized-input-dialog/elder-localized-input-dialog.component.ts +0 -33
- package/src/lib/components/i18n/entities/elder-localized-input-dialog.service.ts +0 -35
- package/src/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.html +0 -56
- package/src/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.ts +0 -200
- package/src/lib/components/i18n/entities/elder-localized-text-column.directive.ts +0 -34
- package/src/lib/components/i18n/entities/elder-localized-texts.directive.ts +0 -62
- package/src/lib/components/i18n/entities/picker/i18n-pick-async.pipe.ts +0 -49
- package/src/lib/components/i18n/entities/picker/i18n-pick.pipe.ts +0 -36
- package/src/lib/components/i18n/entities/picker/localisation-picker.service.ts +0 -104
- package/src/lib/components/i18n/language/elder-language-config.ts +0 -18
- package/src/lib/components/i18n/language/elder-language-interceptor.ts +0 -94
- package/src/lib/components/i18n/language/elder-language.module.ts +0 -57
- package/src/lib/components/i18n/language/elder-language.service.ts +0 -139
- package/src/lib/components/i18n/language/language-switcher/elder-language-switcher.component.html +0 -24
- package/src/lib/components/i18n/language/language-switcher/elder-language-switcher.component.ts +0 -71
- package/src/lib/components/i18n/locales/elder-locales-de-ch.module.ts +0 -46
- package/src/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.html +0 -6
- package/src/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.ts +0 -173
- package/src/lib/components/iframes/data-view/data-view-iframe-adapter.directive.ts +0 -150
- package/src/lib/components/iframes/elder-iframe.module.ts +0 -61
- package/src/lib/components/iframes/iframe-close.directive.ts +0 -49
- package/src/lib/components/iframes/iframe-dialog/iframe-dialog.component.html +0 -9
- package/src/lib/components/iframes/iframe-dialog/iframe-dialog.component.ts +0 -63
- package/src/lib/components/iframes/iframe-host/iframe-host.component.html +0 -41
- package/src/lib/components/iframes/iframe-host/iframe-host.component.ts +0 -172
- package/src/lib/components/iframes/iframe-side-content/iframe-side-content.component.html +0 -8
- package/src/lib/components/iframes/iframe-side-content/iframe-side-content.component.ts +0 -102
- package/src/lib/components/iframes/iframe.service.ts +0 -59
- package/src/lib/components/iframes/typed-event-message.ts +0 -66
- package/src/lib/components/infinitescroll/elder-infinite-autocomplete.directive.ts +0 -79
- package/src/lib/components/infinitescroll/elder-infinite-scroll.directive.ts +0 -187
- package/src/lib/components/infinitescroll/elder-infinite-scroll.module.ts +0 -32
- package/src/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete-option-selected.ts +0 -11
- package/src/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete.component.html +0 -66
- package/src/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete.component.ts +0 -233
- package/src/lib/components/input/autocomplete/elder-autocomplete-many.directive.ts +0 -244
- package/src/lib/components/input/autocomplete/elder-autocomplete.directive.ts +0 -145
- package/src/lib/components/input/autocomplete/elder-autocomplete.module.ts +0 -39
- package/src/lib/components/input/autocomplete/many/word-position-finder.spec.ts +0 -74
- package/src/lib/components/input/autocomplete/many/word-position-finder.ts +0 -76
- package/src/lib/components/input/public_api.ts +0 -3
- package/src/lib/components/labels/elder-labels.module.ts +0 -22
- package/src/lib/components/labels/labels-input/labels-input.component.html +0 -44
- package/src/lib/components/labels/labels-input/labels-input.component.ts +0 -255
- package/src/lib/components/measures/dimensions-input/elder-dimensions-input.component.html +0 -64
- package/src/lib/components/measures/dimensions-input/elder-dimensions-input.component.ts +0 -293
- package/src/lib/components/measures/directives/elder-unit-select.directive.ts +0 -70
- package/src/lib/components/measures/elder-measures.module.ts +0 -76
- package/src/lib/components/measures/elder-quantity-transform.pipe.ts +0 -46
- package/src/lib/components/measures/elder-quantity.pipe.ts +0 -102
- package/src/lib/components/measures/elder-unit.service.ts +0 -135
- package/src/lib/components/measures/model/dimensions.ts +0 -40
- package/src/lib/components/measures/model/quantity.ts +0 -19
- package/src/lib/components/measures/model/unit-dimension.ts +0 -16
- package/src/lib/components/measures/model/unit-registry.ts +0 -110
- package/src/lib/components/measures/model/unit.ts +0 -192
- package/src/lib/components/measures/public_api.ts +0 -9
- package/src/lib/components/measures/quantity-input/elder-quantity-input.component.html +0 -63
- package/src/lib/components/measures/quantity-input/elder-quantity-input.component.ts +0 -221
- package/src/lib/components/measures/util/elder-quantity.service.ts +0 -313
- package/src/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.html +0 -82
- package/src/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.ts +0 -221
- package/src/lib/components/navigation/bread-crumbs/elder-bread-crumbs.module.ts +0 -37
- package/src/lib/components/navigation/bread-crumbs/path/path.ts +0 -49
- package/src/lib/components/navigation/nav/elder-nav.module.ts +0 -35
- package/src/lib/components/navigation/nav/nav-group/elder-nav-group.component.html +0 -30
- package/src/lib/components/navigation/nav/nav-group/elder-nav-group.component.ts +0 -94
- package/src/lib/components/navigation/nav/nav-link/elder-nav-link.component.html +0 -86
- package/src/lib/components/navigation/nav/nav-link/elder-nav-link.component.ts +0 -78
- package/src/lib/components/navigation/nav/nav-list/elder-nav-list.component.html +0 -5
- package/src/lib/components/navigation/nav/nav-list/elder-nav-list.component.ts +0 -11
- package/src/lib/components/navigation/toolbar/elder-toolbar-column.directive.ts +0 -53
- package/src/lib/components/navigation/toolbar/elder-toolbar.module.ts +0 -51
- package/src/lib/components/navigation/toolbar/elder-toolbar.service.ts +0 -77
- package/src/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.html +0 -47
- package/src/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.ts +0 -78
- package/src/lib/components/navigation/toolbar/toolbar-column-position.ts +0 -20
- package/src/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.html +0 -1
- package/src/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.ts +0 -54
- package/src/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.service.ts +0 -107
- package/src/lib/components/overlays/elder-overlay-origin.directive.ts +0 -45
- package/src/lib/components/overlays/elder-overlay-trigger.directive.ts +0 -71
- package/src/lib/components/overlays/elder-overlay.component.ts +0 -262
- package/src/lib/components/overlays/elder-overlay.module.ts +0 -29
- package/src/lib/components/panels/card-panel/elder-card-panel.component.html +0 -4
- package/src/lib/components/panels/card-panel/elder-card-panel.component.ts +0 -11
- package/src/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.html +0 -4
- package/src/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.ts +0 -11
- package/src/lib/components/panels/elder-panel.module.ts +0 -28
- package/src/lib/components/panels/flat/elder-panel.component.html +0 -2
- package/src/lib/components/panels/flat/elder-panel.component.ts +0 -30
- package/src/lib/components/select/auto/elder-auto-select-first.directive.ts +0 -87
- package/src/lib/components/select/auto/elder-select-first-util.ts +0 -98
- package/src/lib/components/select/elder-select-base.ts +0 -355
- package/src/lib/components/select/elder-select-chip.directive.ts +0 -32
- package/src/lib/components/select/elder-select-on-tab.directive.ts +0 -150
- package/src/lib/components/select/elder-select-value.directive.ts +0 -9
- package/src/lib/components/select/elder-select.module.ts +0 -93
- package/src/lib/components/select/multi/elder-multi-select-base.ts +0 -451
- package/src/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.html +0 -89
- package/src/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.ts +0 -316
- package/src/lib/components/select/multi/elder-multi-select-form-field.ts +0 -80
- package/src/lib/components/select/popup/selection-model-popup-trigger-adapter.directive.ts +0 -102
- package/src/lib/components/select/popup/selection-model-popup.directive.ts +0 -145
- package/src/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.html +0 -18
- package/src/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.ts +0 -56
- package/src/lib/components/select/public_api.ts +0 -5
- package/src/lib/components/select/single/elder-clear-select.directive.ts +0 -64
- package/src/lib/components/select/single/elder-select/elder-select.component.html +0 -90
- package/src/lib/components/select/single/elder-select/elder-select.component.ts +0 -530
- package/src/lib/components/select/single/elder-select-form-field.ts +0 -57
- package/src/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.html +0 -13
- package/src/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.ts +0 -169
- package/src/lib/components/select-chip-list/elder-chip-list-select.module.ts +0 -30
- package/src/lib/components/select-list/elder-select-list.module.ts +0 -26
- package/src/lib/components/select-list/select-list/elder-select-list.component.html +0 -5
- package/src/lib/components/select-list/select-list/elder-select-list.component.ts +0 -91
- package/src/lib/components/select-list/select-list-item/elder-select-list-item.component.html +0 -29
- package/src/lib/components/select-list/select-list-item/elder-select-list-item.component.ts +0 -135
- package/src/lib/components/shell/drawers/drawer-outlet-binding.ts +0 -73
- package/src/lib/components/shell/drawers/elder-route-outlet-drawer.service.ts +0 -137
- package/src/lib/components/shell/drawers/elder-router-outlet.service.ts +0 -145
- package/src/lib/components/shell/elder-shell-slot.directive.ts +0 -61
- package/src/lib/components/shell/elder-shell.module.ts +0 -68
- package/src/lib/components/shell/elder-shell.service.ts +0 -176
- package/src/lib/components/shell/header/elder-app-header/elder-app-header.component.html +0 -25
- package/src/lib/components/shell/header/elder-app-header/elder-app-header.component.ts +0 -89
- package/src/lib/components/shell/shell/elder-shell.component.html +0 -86
- package/src/lib/components/shell/shell/elder-shell.component.ts +0 -243
- package/src/lib/components/shell/shell-content-slot.ts +0 -8
- package/src/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.html +0 -4
- package/src/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.ts +0 -153
- package/src/lib/components/tabs/elder-tab/elder-tab.directive.ts +0 -31
- package/src/lib/components/tabs/elder-tab-group-routing/elder-tab-group-routing.directive.ts +0 -320
- package/src/lib/components/tabs/elder-tab.module.ts +0 -24
- package/src/lib/components/theme/elder-theme-applier.directive.ts +0 -73
- package/src/lib/components/theme/elder-theme-preference.service.ts +0 -79
- package/src/lib/components/theme/elder-theme-toggle/elder-theme-toggle.component.html +0 -9
- package/src/lib/components/theme/elder-theme-toggle/elder-theme-toggle.component.ts +0 -86
- package/src/lib/components/theme/elder-theme.directive.ts +0 -65
- package/src/lib/components/theme/elder-theme.module.ts +0 -52
- package/src/lib/components/theme/elder-theme.service.ts +0 -151
- package/src/lib/components/theme/known-elder-themes.ts +0 -17
- package/src/lib/components/theme/theme-spec.ts +0 -32
- package/src/lib/components/time/date-adapters/custom-date-adapter.ts +0 -34
- package/src/lib/components/time/duration/duration-bucket.ts +0 -143
- package/src/lib/components/time/duration/duration-format.ts +0 -346
- package/src/lib/components/time/duration/elder-duration-input/elder-duration-input.component.html +0 -51
- package/src/lib/components/time/duration/elder-duration-input/elder-duration-input.component.ts +0 -132
- package/src/lib/components/time/duration/iso-duration-str.ts +0 -5
- package/src/lib/components/time/elder-date-switcher/elder-date-switcher.component.html +0 -29
- package/src/lib/components/time/elder-date-switcher/elder-date-switcher.component.ts +0 -120
- package/src/lib/components/time/elder-date-time-input/elder-date-time-input.component.html +0 -15
- package/src/lib/components/time/elder-date-time-input/elder-date-time-input.component.ts +0 -93
- package/src/lib/components/time/elder-interval-input/elder-interval-input.component.html +0 -92
- package/src/lib/components/time/elder-interval-input/elder-interval-input.component.ts +0 -222
- package/src/lib/components/time/elder-local-date-input/elder-local-date-input.component.html +0 -40
- package/src/lib/components/time/elder-local-date-input/elder-local-date-input.component.ts +0 -213
- package/src/lib/components/time/elder-local-time-input/elder-local-time-input.component.html +0 -18
- package/src/lib/components/time/elder-local-time-input/elder-local-time-input.component.ts +0 -98
- package/src/lib/components/time/elder-time.module.ts +0 -89
- package/src/lib/components/time/period/elder-period-input/elder-period-input.component.html +0 -40
- package/src/lib/components/time/period/elder-period-input/elder-period-input.component.ts +0 -148
- package/src/lib/components/time/period/period-bucket.ts +0 -51
- package/src/lib/components/time/period/period-format.ts +0 -127
- package/src/lib/components/time/public_api.ts +0 -8
- package/src/lib/components/toasts/elder-toast.module.ts +0 -21
- package/src/lib/components/toasts/elder-toast.service.ts +0 -244
- package/src/lib/components/toasts/standard-toast/standard-toast.component.html +0 -34
- package/src/lib/components/toasts/standard-toast/standard-toast.component.ts +0 -80
- package/src/lib/components/toasts/toast-type.ts +0 -5
- package/src/lib/components/toasts/toast.ts +0 -12
- package/src/lib/components/url-fragment/elder-url-fragment.module.ts +0 -34
- package/src/lib/components/url-fragment/elder-url-fragment.ts +0 -10
- package/src/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.html +0 -25
- package/src/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.ts +0 -107
- package/src/lib/components/viewers/elder-svg-viewer/elder-svg-viewer.component.html +0 -1
- package/src/lib/components/viewers/elder-svg-viewer/elder-svg-viewer.component.ts +0 -81
- package/src/lib/components/viewers/elder-viewers.module.ts +0 -18
- package/src/lib/features/event-source/elder-event-source.service.ts +0 -71
- package/src/lib/features/event-source/public_api.ts +0 -3
- package/src/lib/features/event-source/reactive-event-source.ts +0 -252
- package/src/lib/features/kafent/access-token-provider.ts +0 -21
- package/src/lib/features/kafent/kafent-config.ts +0 -42
- package/src/lib/features/kafent/kafent-event-stream.ts +0 -48
- package/src/lib/features/kafent/kafent-event.service.ts +0 -128
- package/src/lib/features/kafent/kafent-event.ts +0 -14
- package/src/lib/features/kafent/kafent-live-event-request.ts +0 -75
- package/src/lib/features/kafent/kafent.module.ts +0 -61
- package/src/lib/features/kafent/sse/kafent-event-stream-sse.service.ts +0 -167
- package/src/lib/features/kafent/sse/kafent-topic-sse.ts +0 -145
- package/src/lib/features/public_api.ts +0 -4
- package/src/lib/i18n/elder-composite-translation-loader.ts +0 -14
- package/src/lib/i18n/elder-starter-translation-loader.ts +0 -20
- package/src/lib/pipes/bytes.pipe.ts +0 -18
- package/src/lib/pipes/elder-pipes.module.ts +0 -51
- package/src/lib/pipes/elder-repeat.pipe.ts +0 -16
- package/src/lib/pipes/elder-round.pipe.ts +0 -37
- package/src/lib/pipes/elder-safe-url.pipe.ts +0 -12
- package/src/lib/pipes/elder-truncate.pipe.ts +0 -45
- package/src/lib/pipes/iso-duration.pipe.ts +0 -64
- package/src/lib/pipes/iso-interval-parse.pipe.ts +0 -61
- package/src/lib/pipes/iso-interval.pipe.ts +0 -146
- package/src/lib/pipes/public_api.ts +0 -3
- package/src/lib/pipes/time-ago.pipe.ts +0 -88
- package/src/lib/pipes/time-duration.pipe.ts +0 -81
- package/src/lib/pipes/weight.pipe.ts +0 -45
- package/src/public_api.ts +0 -8
- package/src/test.ts +0 -28
- package/tsconfig.lib.json +0 -33
- package/tsconfig.lib.prod.json +0 -10
- package/tsconfig.spec.json +0 -17
|
@@ -0,0 +1,294 @@
|
|
|
1
|
+
import { EMPTY, forkJoin, of, Subject } from 'rxjs';
|
|
2
|
+
import { expand, map, reduce, tap } from 'rxjs/operators';
|
|
3
|
+
import { HttpParamsBuilder } from '../../http-params-builder';
|
|
4
|
+
import { Filter } from '../../filters/filter';
|
|
5
|
+
import { Pageable } from '../../page';
|
|
6
|
+
import { LoggerFactory } from '@elderbyte/ts-logger';
|
|
7
|
+
import { TokenChunkRequest } from '../../token-chunk-request';
|
|
8
|
+
import { EntityIdUtil } from '../entity-id-util';
|
|
9
|
+
import { Batcher } from '../../../utils/batcher';
|
|
10
|
+
export class InternalRestClientConfig {
|
|
11
|
+
constructor(userConfig) {
|
|
12
|
+
this.idField = 'id';
|
|
13
|
+
this.idsParam = 'ids';
|
|
14
|
+
if (userConfig) {
|
|
15
|
+
if (userConfig.idField) {
|
|
16
|
+
this.idField = userConfig.idField;
|
|
17
|
+
}
|
|
18
|
+
if (userConfig.idsParam) {
|
|
19
|
+
this.idsParam = userConfig.idsParam;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Allows to customize the rest client
|
|
26
|
+
*/
|
|
27
|
+
export class RestClientConfig {
|
|
28
|
+
}
|
|
29
|
+
export class RestClient {
|
|
30
|
+
/***************************************************************************
|
|
31
|
+
* *
|
|
32
|
+
* Constructor *
|
|
33
|
+
* *
|
|
34
|
+
**************************************************************************/
|
|
35
|
+
constructor(restEndpoint, http, config) {
|
|
36
|
+
this.restEndpoint = restEndpoint;
|
|
37
|
+
this.http = http;
|
|
38
|
+
/***************************************************************************
|
|
39
|
+
* *
|
|
40
|
+
* Fields *
|
|
41
|
+
* *
|
|
42
|
+
**************************************************************************/
|
|
43
|
+
this._logger = LoggerFactory.getLogger(this.constructor.name);
|
|
44
|
+
this.localChangeSubject = new Subject();
|
|
45
|
+
this.config = new InternalRestClientConfig(config);
|
|
46
|
+
}
|
|
47
|
+
/***************************************************************************
|
|
48
|
+
* *
|
|
49
|
+
* Properties *
|
|
50
|
+
* *
|
|
51
|
+
**************************************************************************/
|
|
52
|
+
get dataChanged() {
|
|
53
|
+
return this.localChangeSubject.asObservable();
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* @deprecated Use dataChanged
|
|
57
|
+
*/
|
|
58
|
+
get localChanged() {
|
|
59
|
+
return this.dataChanged;
|
|
60
|
+
}
|
|
61
|
+
/***************************************************************************
|
|
62
|
+
* *
|
|
63
|
+
* Public API *
|
|
64
|
+
* *
|
|
65
|
+
**************************************************************************/
|
|
66
|
+
findById(id, params) {
|
|
67
|
+
params = HttpParamsBuilder.start(params).build();
|
|
68
|
+
return this.http.get(this.getEntityUrl(id), { params: params });
|
|
69
|
+
}
|
|
70
|
+
findByIds(ids, params) {
|
|
71
|
+
this._logger.warn('Very inefficient findByIds handling ' + ids.length);
|
|
72
|
+
return forkJoin(ids.map(id => this.findById(id, params)));
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Creates or Updates the given entity depending if it already has a valid id.
|
|
76
|
+
*/
|
|
77
|
+
save(entity, params) {
|
|
78
|
+
const id = this.getId(entity);
|
|
79
|
+
return ((!!id) ? this.update(entity, params) : this.create(entity, params));
|
|
80
|
+
}
|
|
81
|
+
create(newEntity, params) {
|
|
82
|
+
return this.http.post(this.restEndpoint, newEntity, {
|
|
83
|
+
params: params
|
|
84
|
+
})
|
|
85
|
+
.pipe(tap(e => this.onLocalChanged(e)));
|
|
86
|
+
}
|
|
87
|
+
update(updatedEntity, params) {
|
|
88
|
+
return this.http.put(this.getEntityUrlBy(updatedEntity), updatedEntity, {
|
|
89
|
+
params: params
|
|
90
|
+
})
|
|
91
|
+
.pipe(tap(e => this.onLocalChanged(e)));
|
|
92
|
+
}
|
|
93
|
+
updateAll(updatedEntities, params) {
|
|
94
|
+
return this.http.put(this.restEndpoint, updatedEntities, {
|
|
95
|
+
params: params
|
|
96
|
+
})
|
|
97
|
+
.pipe(tap(e => this.onLocalChanged()));
|
|
98
|
+
}
|
|
99
|
+
delete(entity, params) {
|
|
100
|
+
return this.http.delete(this.getEntityUrlBy(entity), {
|
|
101
|
+
responseType: 'text',
|
|
102
|
+
params: params
|
|
103
|
+
}).pipe(tap(() => this.onLocalChanged(entity)));
|
|
104
|
+
}
|
|
105
|
+
deleteAll(entities, params) {
|
|
106
|
+
const ids = entities.map(e => String(this.getId(e)));
|
|
107
|
+
const maxBatchSize = 100;
|
|
108
|
+
const deleteRequests = Batcher.batchMap(ids, maxBatchSize, batch => this.deleteIdBatch(batch, params));
|
|
109
|
+
this._logger.debug('Deleting ' + entities.length + ' in ' + deleteRequests.length + ' batches: ', deleteRequests);
|
|
110
|
+
return forkJoin(deleteRequests);
|
|
111
|
+
}
|
|
112
|
+
getId(entity) {
|
|
113
|
+
return EntityIdUtil.getId(entity, this.config.idField);
|
|
114
|
+
}
|
|
115
|
+
/***************************************************************************
|
|
116
|
+
* *
|
|
117
|
+
* Sub Resource Builder *
|
|
118
|
+
* *
|
|
119
|
+
**************************************************************************/
|
|
120
|
+
subResourceList(parent, subPath, config) {
|
|
121
|
+
return new RestClientList(this.getEntityUrlBy(parent) + '/' + subPath, this.http, config);
|
|
122
|
+
}
|
|
123
|
+
subResourcePaged(parent, subPath, config) {
|
|
124
|
+
return new RestClientPaged(this.getEntityUrlBy(parent) + '/' + subPath, this.http, config);
|
|
125
|
+
}
|
|
126
|
+
subResourceContinuable(parent, subPath, config) {
|
|
127
|
+
return new RestClientContinuable(this.getEntityUrlBy(parent) + '/' + subPath, this.http, config);
|
|
128
|
+
}
|
|
129
|
+
/***************************************************************************
|
|
130
|
+
* *
|
|
131
|
+
* Protected methods *
|
|
132
|
+
* *
|
|
133
|
+
**************************************************************************/
|
|
134
|
+
patchInternal(id, entityPatch, params) {
|
|
135
|
+
return this.http.patch(this.getEntityUrl(id), entityPatch, {
|
|
136
|
+
params: params
|
|
137
|
+
}).pipe(tap(e => this.onLocalChanged()));
|
|
138
|
+
}
|
|
139
|
+
patchAllInternal(entityPatches, params) {
|
|
140
|
+
return this.http.patch(this.restEndpoint, entityPatches, {
|
|
141
|
+
params: params
|
|
142
|
+
}).pipe(tap(e => this.onLocalChanged()));
|
|
143
|
+
}
|
|
144
|
+
onLocalChanged(entity) {
|
|
145
|
+
this.localChangeSubject.next(entity);
|
|
146
|
+
}
|
|
147
|
+
getEntityUrlBy(entity) {
|
|
148
|
+
return this.getEntityUrl(this.getId(entity));
|
|
149
|
+
}
|
|
150
|
+
getEntityUrl(id) {
|
|
151
|
+
return this.restEndpoint + '/' + id;
|
|
152
|
+
}
|
|
153
|
+
/***************************************************************************
|
|
154
|
+
* *
|
|
155
|
+
* Private methods *
|
|
156
|
+
* *
|
|
157
|
+
**************************************************************************/
|
|
158
|
+
/**
|
|
159
|
+
* Deletes the given ids in a batch call.
|
|
160
|
+
* Note that due HTTP Request URI limitations,
|
|
161
|
+
* the number of ids that can be deleted in a single batch is
|
|
162
|
+
* limited (around 150, depending on id length, since they are
|
|
163
|
+
* part of the request uri parameters.
|
|
164
|
+
*/
|
|
165
|
+
deleteIdBatch(ids, params) {
|
|
166
|
+
const builder = HttpParamsBuilder.start(params);
|
|
167
|
+
builder.appendFilter(new Filter(this.config.idsParam, ids));
|
|
168
|
+
return this.http.delete(this.restEndpoint, {
|
|
169
|
+
params: builder.build(),
|
|
170
|
+
responseType: 'text'
|
|
171
|
+
})
|
|
172
|
+
.pipe(tap(() => this.onLocalChanged()));
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
export class RestClientList extends RestClient {
|
|
176
|
+
/***************************************************************************
|
|
177
|
+
* *
|
|
178
|
+
* Constructor *
|
|
179
|
+
* *
|
|
180
|
+
**************************************************************************/
|
|
181
|
+
constructor(restEndpoint, http, config) {
|
|
182
|
+
super(restEndpoint, http, config);
|
|
183
|
+
}
|
|
184
|
+
/***************************************************************************
|
|
185
|
+
* *
|
|
186
|
+
* Public API *
|
|
187
|
+
* *
|
|
188
|
+
**************************************************************************/
|
|
189
|
+
findAllFiltered(filters, sorts, params) {
|
|
190
|
+
return this.findAll(HttpParamsBuilder.start(params)
|
|
191
|
+
.appendFilters(filters)
|
|
192
|
+
.appendSorts(sorts)
|
|
193
|
+
.build());
|
|
194
|
+
}
|
|
195
|
+
findByIds(ids, params) {
|
|
196
|
+
if (ids?.length > 0) {
|
|
197
|
+
return this.findAllFiltered([new Filter(this.config.idsParam, ids)], [], params);
|
|
198
|
+
}
|
|
199
|
+
else {
|
|
200
|
+
return of([]);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
findAll(params) {
|
|
204
|
+
return this.http.get(this.restEndpoint, {
|
|
205
|
+
params: params
|
|
206
|
+
});
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
export class RestClientPaged extends RestClient {
|
|
210
|
+
/***************************************************************************
|
|
211
|
+
* *
|
|
212
|
+
* Constructor *
|
|
213
|
+
* *
|
|
214
|
+
**************************************************************************/
|
|
215
|
+
constructor(restEndpoint, http, config) {
|
|
216
|
+
super(restEndpoint, http, config);
|
|
217
|
+
}
|
|
218
|
+
/***************************************************************************
|
|
219
|
+
* *
|
|
220
|
+
* Public API *
|
|
221
|
+
* *
|
|
222
|
+
**************************************************************************/
|
|
223
|
+
findAllPaged(pageable, filters, params) {
|
|
224
|
+
return this.getPaged(this.restEndpoint, pageable, filters, params);
|
|
225
|
+
}
|
|
226
|
+
findByIds(ids, params) {
|
|
227
|
+
if (ids?.length > 0) {
|
|
228
|
+
return this.findAllPaged(new Pageable(0, ids.length), [new Filter(this.config.idsParam, ids)], params).pipe(map(page => page.content));
|
|
229
|
+
}
|
|
230
|
+
else {
|
|
231
|
+
return of([]);
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
/***************************************************************************
|
|
235
|
+
* *
|
|
236
|
+
* Private methods *
|
|
237
|
+
* *
|
|
238
|
+
**************************************************************************/
|
|
239
|
+
/**
|
|
240
|
+
* Gets the requested data page as Page<T>
|
|
241
|
+
* @param url The resource url
|
|
242
|
+
* @param pageable The page request
|
|
243
|
+
* @param filters The filtersSnapshot request
|
|
244
|
+
* @param params Additional parameters
|
|
245
|
+
*/
|
|
246
|
+
getPaged(url, pageable, filters, params) {
|
|
247
|
+
params = HttpParamsBuilder.start(params)
|
|
248
|
+
.appendPageable(pageable)
|
|
249
|
+
.appendFilters(filters)
|
|
250
|
+
.build();
|
|
251
|
+
return this.http.get(url, { params: params });
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
export class RestClientContinuable extends RestClient {
|
|
255
|
+
/***************************************************************************
|
|
256
|
+
* *
|
|
257
|
+
* Constructor *
|
|
258
|
+
* *
|
|
259
|
+
**************************************************************************/
|
|
260
|
+
constructor(restEndpoint, http, config) {
|
|
261
|
+
super(restEndpoint, http, config);
|
|
262
|
+
}
|
|
263
|
+
/***************************************************************************
|
|
264
|
+
* *
|
|
265
|
+
* Public API *
|
|
266
|
+
* *
|
|
267
|
+
**************************************************************************/
|
|
268
|
+
findAllContinuable(request, params) {
|
|
269
|
+
return this.http.get(this.restEndpoint, {
|
|
270
|
+
params: HttpParamsBuilder.start(params)
|
|
271
|
+
.appendContinuationRequest(request)
|
|
272
|
+
.build()
|
|
273
|
+
});
|
|
274
|
+
}
|
|
275
|
+
findByIds(ids, params) {
|
|
276
|
+
if (ids?.length > 0) {
|
|
277
|
+
return this.loadAll([new Filter(this.config.idsParam, ids)], [], params);
|
|
278
|
+
}
|
|
279
|
+
else {
|
|
280
|
+
return of([]);
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
loadAll(filters, sorts, params) {
|
|
284
|
+
return this.findAllContinuable(new TokenChunkRequest(null, filters, sorts), params).pipe(expand((listing) => {
|
|
285
|
+
return listing.nextContinuationToken // if there's "nextContinuationToken", we refetch or we EMPTY to complete the "expand()"
|
|
286
|
+
? this.findAllContinuable(new TokenChunkRequest(listing.nextContinuationToken, filters, sorts), params)
|
|
287
|
+
: EMPTY;
|
|
288
|
+
}), map(listing => listing.content), reduce((agg, listing) => {
|
|
289
|
+
agg.push(...listing);
|
|
290
|
+
return agg;
|
|
291
|
+
}, []));
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdC1jbGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21tb24vZGF0YS9kYXRhc291cmNlL3Jlc3QvcmVzdC1jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLEtBQUssRUFBRSxRQUFRLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUM5RCxPQUFPLEVBQUMsTUFBTSxFQUFFLEdBQUcsRUFBWSxNQUFNLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFFNUQsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzVDLE9BQU8sRUFBTyxRQUFRLEVBQUMsTUFBTSxZQUFZLENBQUM7QUFDMUMsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRW5ELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBRTVELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUMvQyxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFFL0MsTUFBTSxPQUFPLHdCQUF3QjtJQUtuQyxZQUFZLFVBQTZCO1FBSGxDLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFDZixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBR3RCLElBQUksVUFBVSxFQUFFO1lBQ2QsSUFBSSxVQUFVLENBQUMsT0FBTyxFQUFFO2dCQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUM7YUFDbkM7WUFDRCxJQUFJLFVBQVUsQ0FBQyxRQUFRLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQzthQUNyQztTQUNGO0lBQ0gsQ0FBQztDQUNGO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sZ0JBQWdCO0NBVzVCO0FBR0QsTUFBTSxPQUFPLFVBQVU7SUFhckI7Ozs7Z0ZBSTRFO0lBRTVFLFlBQ3FCLFlBQW9CLEVBQ3BCLElBQWdCLEVBQ25DLE1BQXlCO1FBRk4saUJBQVksR0FBWixZQUFZLENBQVE7UUFDcEIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQW5CckM7Ozs7b0ZBSTRFO1FBRTNELFlBQU8sR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFekQsdUJBQWtCLEdBQUcsSUFBSSxPQUFPLEVBQUssQ0FBQztRQWNyRCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksd0JBQXdCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUU1RSxJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDaEQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxZQUFZO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRXJFLFFBQVEsQ0FBQyxFQUFPLEVBQUUsTUFBbUI7UUFDMUMsTUFBTSxHQUFHLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNqRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBQyxNQUFNLEVBQUUsTUFBTSxFQUFDLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRU0sU0FBUyxDQUFDLEdBQVUsRUFBRSxNQUFtQjtRQUM5QyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxzQ0FBc0MsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdkUsT0FBTyxRQUFRLENBQ2IsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQ3pDLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSSxJQUFJLENBQUMsTUFBUyxFQUFFLE1BQW1CO1FBQ3hDLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDOUIsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRU0sTUFBTSxDQUFTLFNBQWEsRUFBRSxNQUFtQjtRQUN0RCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsU0FBUyxFQUFFO1lBQ3JELE1BQU0sRUFBRSxNQUFNO1NBQ2YsQ0FBQzthQUNDLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQ2pDLENBQUM7SUFDTixDQUFDO0lBRU0sTUFBTSxDQUFDLGFBQWdCLEVBQUUsTUFBbUI7UUFDakQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FDbEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsRUFDbEMsYUFBYSxFQUNiO1lBQ0UsTUFBTSxFQUFFLE1BQU07U0FDZixDQUNGO2FBQ0UsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDakMsQ0FBQztJQUNOLENBQUM7SUFFTSxTQUFTLENBQUMsZUFBb0IsRUFBRSxNQUFtQjtRQUV4RCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUNsQixJQUFJLENBQUMsWUFBWSxFQUFFLGVBQWUsRUFBRTtZQUNsQyxNQUFNLEVBQUUsTUFBTTtTQUNmLENBQUM7YUFDRCxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQ2hDLENBQUM7SUFDTixDQUFDO0lBRU0sTUFBTSxDQUFDLE1BQVMsRUFBRSxNQUFtQjtRQUUxQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUNyQixJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxFQUMzQjtZQUNFLFlBQVksRUFBRSxNQUFNO1lBQ3BCLE1BQU0sRUFBRSxNQUFNO1NBQ2YsQ0FDRixDQUFDLElBQUksQ0FDSixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUN2QyxDQUFDO0lBQ0osQ0FBQztJQUVNLFNBQVMsQ0FBQyxRQUFhLEVBQUUsTUFBbUI7UUFDakQsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVyRCxNQUFNLFlBQVksR0FBRyxHQUFHLENBQUM7UUFDekIsTUFBTSxjQUFjLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FDckMsR0FBRyxFQUNILFlBQVksRUFDWixLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUMzQyxDQUFDO1FBQ0YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQyxNQUFNLEdBQUcsTUFBTSxHQUFHLGNBQWMsQ0FBQyxNQUFNLEdBQUcsWUFBWSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQ2xILE9BQU8sUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFTSxLQUFLLENBQUMsTUFBUztRQUNwQixPQUFPLFlBQVksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVyRSxlQUFlLENBQVcsTUFBUyxFQUFFLE9BQWUsRUFBRSxNQUF5QjtRQUNwRixPQUFPLElBQUksY0FBYyxDQUN2QixJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsR0FBRyxPQUFPLEVBQzNDLElBQUksQ0FBQyxJQUFJLEVBQ1QsTUFBTSxDQUNQLENBQUM7SUFDSixDQUFDO0lBRU0sZ0JBQWdCLENBQVcsTUFBUyxFQUFFLE9BQWUsRUFBRSxNQUF5QjtRQUNyRixPQUFPLElBQUksZUFBZSxDQUN4QixJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsR0FBRyxPQUFPLEVBQzNDLElBQUksQ0FBQyxJQUFJLEVBQ1QsTUFBTSxDQUNQLENBQUM7SUFDSixDQUFDO0lBRU0sc0JBQXNCLENBQVcsTUFBUyxFQUFFLE9BQWUsRUFBRSxNQUF5QjtRQUMzRixPQUFPLElBQUkscUJBQXFCLENBQzlCLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxHQUFHLE9BQU8sRUFDM0MsSUFBSSxDQUFDLElBQUksRUFDVCxNQUFNLENBQ1AsQ0FBQztJQUNKLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFbEUsYUFBYSxDQUFXLEVBQU8sRUFBRSxXQUFjLEVBQUUsTUFBbUI7UUFDNUUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FDcEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsRUFDckIsV0FBVyxFQUNYO1lBQ0UsTUFBTSxFQUFFLE1BQU07U0FDZixDQUNGLENBQUMsSUFBSSxDQUNKLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUNoQyxDQUFDO0lBQ0osQ0FBQztJQUVTLGdCQUFnQixDQUFXLGFBQWtCLEVBQUUsTUFBbUI7UUFDMUUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FDcEIsSUFBSSxDQUFDLFlBQVksRUFDakIsYUFBYSxFQUNiO1lBQ0UsTUFBTSxFQUFFLE1BQU07U0FDZixDQUNGLENBQUMsSUFBSSxDQUNKLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUNoQyxDQUFDO0lBQ0osQ0FBQztJQUVTLGNBQWMsQ0FBQyxNQUFVO1FBQ2pDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVTLGNBQWMsQ0FBQyxNQUFTO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVTLFlBQVksQ0FBQyxFQUFPO1FBQzVCLE9BQU8sSUFBSSxDQUFDLFlBQVksR0FBRyxHQUFHLEdBQUcsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFNUU7Ozs7OztPQU1HO0lBQ0ssYUFBYSxDQUFDLEdBQWEsRUFBRSxNQUFtQjtRQUN0RCxNQUFNLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEQsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzVELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksRUFDdkM7WUFDRSxNQUFNLEVBQUUsT0FBTyxDQUFDLEtBQUssRUFBRTtZQUN2QixZQUFZLEVBQUUsTUFBTTtTQUNyQixDQUFDO2FBQ0QsSUFBSSxDQUNILEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FDakMsQ0FBQztJQUNOLENBQUM7Q0FDRjtBQUdELE1BQU0sT0FBTyxjQUF1QixTQUFRLFVBQWtCO0lBRTVEOzs7O2dGQUk0RTtJQUU1RSxZQUNFLFlBQW9CLEVBQ3BCLElBQWdCLEVBQ2hCLE1BQXlCO1FBRXpCLEtBQUssQ0FBQyxZQUFZLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFckUsZUFBZSxDQUNwQixPQUFrQixFQUNsQixLQUFjLEVBQ2QsTUFBbUI7UUFFbkIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUNqQixpQkFBaUIsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO2FBQzVCLGFBQWEsQ0FBQyxPQUFPLENBQUM7YUFDdEIsV0FBVyxDQUFDLEtBQUssQ0FBQzthQUNsQixLQUFLLEVBQUUsQ0FDWCxDQUFDO0lBQ0osQ0FBQztJQUVNLFNBQVMsQ0FBQyxHQUFVLEVBQUUsTUFBbUI7UUFDOUMsSUFBSSxHQUFHLEVBQUUsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNuQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQ3pCLENBQUMsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFDdkMsRUFBRSxFQUNGLE1BQU0sQ0FDUCxDQUFDO1NBQ0g7YUFBTTtZQUNMLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ2Y7SUFDSCxDQUFDO0lBRU0sT0FBTyxDQUFDLE1BQW1CO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQU0sSUFBSSxDQUFDLFlBQVksRUFBRTtZQUMzQyxNQUFNLEVBQUUsTUFBTTtTQUNmLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FHRjtBQUVELE1BQU0sT0FBTyxlQUF3QixTQUFRLFVBQWtCO0lBRTdEOzs7O2dGQUk0RTtJQUU1RSxZQUNFLFlBQW9CLEVBQ3BCLElBQWdCLEVBQ2hCLE1BQXlCO1FBRXpCLEtBQUssQ0FBQyxZQUFZLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFckUsWUFBWSxDQUFDLFFBQWtCLEVBQUUsT0FBa0IsRUFBRSxNQUFtQjtRQUM3RSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFTSxTQUFTLENBQUMsR0FBVSxFQUFFLE1BQW1CO1FBQzlDLElBQUksR0FBRyxFQUFFLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDbkIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUN0QixJQUFJLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUMzQixDQUFDLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQ3ZDLE1BQU0sQ0FDUCxDQUFDLElBQUksQ0FDSixHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQzFCLENBQUM7U0FDSDthQUFNO1lBQ0wsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDZjtJQUNILENBQUM7SUFFRDs7OztnRkFJNEU7SUFHNUU7Ozs7OztPQU1HO0lBQ0ssUUFBUSxDQUFDLEdBQVcsRUFBRSxRQUFrQixFQUFFLE9BQWtCLEVBQUUsTUFBbUI7UUFDdkYsTUFBTSxHQUFHLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7YUFDckMsY0FBYyxDQUFDLFFBQVEsQ0FBQzthQUN4QixhQUFhLENBQUMsT0FBTyxDQUFDO2FBQ3RCLEtBQUssRUFBRSxDQUFDO1FBQ1gsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBVSxHQUFHLEVBQUUsRUFBQyxNQUFNLEVBQUUsTUFBTSxFQUFDLENBQUMsQ0FBQztJQUN2RCxDQUFDO0NBRUY7QUFFRCxNQUFNLE9BQU8scUJBQThCLFNBQVEsVUFBa0I7SUFFbkU7Ozs7Z0ZBSTRFO0lBRTVFLFlBQ0UsWUFBb0IsRUFDcEIsSUFBZ0IsRUFDaEIsTUFBeUI7UUFFekIsS0FBSyxDQUFDLFlBQVksRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVyRSxrQkFBa0IsQ0FBQyxPQUEwQixFQUFFLE1BQW1CO1FBQ3ZFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQXdCLElBQUksQ0FBQyxZQUFZLEVBQzNEO1lBQ0UsTUFBTSxFQUFFLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7aUJBQ3BDLHlCQUF5QixDQUFDLE9BQU8sQ0FBQztpQkFDbEMsS0FBSyxFQUFFO1NBQ1gsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVNLFNBQVMsQ0FBQyxHQUFVLEVBQUUsTUFBbUI7UUFDOUMsSUFBSSxHQUFHLEVBQUUsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNuQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQ2pCLENBQUMsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFDdkMsRUFBRSxFQUNGLE1BQU0sQ0FDUCxDQUFDO1NBQ0g7YUFBTTtZQUNMLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ2Y7SUFDSCxDQUFDO0lBRU8sT0FBTyxDQUNiLE9BQWtCLEVBQ2xCLEtBQWMsRUFDZCxNQUFtQjtRQUVuQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FDNUIsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxFQUMzQyxNQUFNLENBQ1AsQ0FBQyxJQUFJLENBQ0osTUFBTSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDakIsT0FBTyxPQUFPLENBQUMscUJBQXFCLENBQUMsd0ZBQXdGO2dCQUMzSCxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUN2QixJQUFJLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLEVBQ3BFLE1BQU0sQ0FDUDtnQkFDRCxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ1osQ0FBQyxDQUFDLEVBQ0YsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUMvQixNQUFNLENBQ0osQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLEVBQUU7WUFDZixHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUM7WUFDckIsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLEVBQ0ksRUFBRSxDQUNSLENBQ0YsQ0FBQztJQUNKLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SHR0cENsaWVudCwgSHR0cFBhcmFtc30gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtFTVBUWSwgZm9ya0pvaW4sIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZXhwYW5kLCBtYXAsIG1lcmdlQWxsLCByZWR1Y2UsIHRhcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtIdHRwUGFyYW1zQnVpbGRlcn0gZnJvbSAnLi4vLi4vaHR0cC1wYXJhbXMtYnVpbGRlcic7XG5pbXBvcnQge1NvcnR9IGZyb20gJy4uLy4uL3NvcnQnO1xuaW1wb3J0IHtGaWx0ZXJ9IGZyb20gJy4uLy4uL2ZpbHRlcnMvZmlsdGVyJztcbmltcG9ydCB7UGFnZSwgUGFnZWFibGV9IGZyb20gJy4uLy4uL3BhZ2UnO1xuaW1wb3J0IHtMb2dnZXJGYWN0b3J5fSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcic7XG5pbXBvcnQge0NvbnRpbnVhYmxlTGlzdGluZ30gZnJvbSAnLi4vLi4vY29udGludWFibGUtbGlzdGluZyc7XG5pbXBvcnQge1Rva2VuQ2h1bmtSZXF1ZXN0fSBmcm9tICcuLi8uLi90b2tlbi1jaHVuay1yZXF1ZXN0JztcbmltcG9ydCB7SUNvbnRpbnVhYmxlRGF0YVNvdXJjZSwgSURhdGFTb3VyY2UsIElMaXN0RGF0YVNvdXJjZSwgSVBhZ2VkRGF0YVNvdXJjZX0gZnJvbSAnLi4vZGF0YS1zb3VyY2UnO1xuaW1wb3J0IHtFbnRpdHlJZFV0aWx9IGZyb20gJy4uL2VudGl0eS1pZC11dGlsJztcbmltcG9ydCB7QmF0Y2hlcn0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvYmF0Y2hlcic7XG5cbmV4cG9ydCBjbGFzcyBJbnRlcm5hbFJlc3RDbGllbnRDb25maWcge1xuXG4gIHB1YmxpYyBpZEZpZWxkID0gJ2lkJztcbiAgcHVibGljIGlkc1BhcmFtID0gJ2lkcyc7XG5cbiAgY29uc3RydWN0b3IodXNlckNvbmZpZz86IFJlc3RDbGllbnRDb25maWcpIHtcbiAgICBpZiAodXNlckNvbmZpZykge1xuICAgICAgaWYgKHVzZXJDb25maWcuaWRGaWVsZCkge1xuICAgICAgICB0aGlzLmlkRmllbGQgPSB1c2VyQ29uZmlnLmlkRmllbGQ7XG4gICAgICB9XG4gICAgICBpZiAodXNlckNvbmZpZy5pZHNQYXJhbSkge1xuICAgICAgICB0aGlzLmlkc1BhcmFtID0gdXNlckNvbmZpZy5pZHNQYXJhbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBBbGxvd3MgdG8gY3VzdG9taXplIHRoZSByZXN0IGNsaWVudFxuICovXG5leHBvcnQgY2xhc3MgUmVzdENsaWVudENvbmZpZyB7XG5cbiAgLyoqXG4gICAqIFRoZSBmaWVsZCB0byB1c2UgYXMgaWQuIERlZmF1bHRzIHRvICdpZCcuXG4gICAqL1xuICBwdWJsaWMgaWRGaWVsZD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHF1ZXJ5IHBhcmFtIHRvIHVzZSBmb3IgbXVsdGlwbGUgaWRzLiBEZWZhdWx0cyB0byAnaWRzJ1xuICAgKi9cbiAgcHVibGljIGlkc1BhcmFtPzogc3RyaW5nO1xufVxuXG5cbmV4cG9ydCBjbGFzcyBSZXN0Q2xpZW50PFQsIFRJRD4gaW1wbGVtZW50cyBJRGF0YVNvdXJjZTxUPiB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBfbG9nZ2VyID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGxvY2FsQ2hhbmdlU3ViamVjdCA9IG5ldyBTdWJqZWN0PFQ+KCk7XG4gIHByb3RlY3RlZCByZWFkb25seSBjb25maWc6IEludGVybmFsUmVzdENsaWVudENvbmZpZztcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgcmVzdEVuZHBvaW50OiBzdHJpbmcsXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGh0dHA6IEh0dHBDbGllbnQsXG4gICAgY29uZmlnPzogUmVzdENsaWVudENvbmZpZ1xuICApIHtcbiAgICB0aGlzLmNvbmZpZyA9IG5ldyBJbnRlcm5hbFJlc3RDbGllbnRDb25maWcoY29uZmlnKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBnZXQgZGF0YUNoYW5nZWQoKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgcmV0dXJuIHRoaXMubG9jYWxDaGFuZ2VTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFVzZSBkYXRhQ2hhbmdlZFxuICAgKi9cbiAgcHVibGljIGdldCBsb2NhbENoYW5nZWQoKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YUNoYW5nZWQ7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgZmluZEJ5SWQoaWQ6IFRJRCwgcGFyYW1zPzogSHR0cFBhcmFtcyk6IE9ic2VydmFibGU8VD4ge1xuICAgIHBhcmFtcyA9IEh0dHBQYXJhbXNCdWlsZGVyLnN0YXJ0KHBhcmFtcykuYnVpbGQoKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxUPih0aGlzLmdldEVudGl0eVVybChpZCksIHtwYXJhbXM6IHBhcmFtc30pO1xuICB9XG5cbiAgcHVibGljIGZpbmRCeUlkcyhpZHM6IGFueVtdLCBwYXJhbXM/OiBIdHRwUGFyYW1zKTogT2JzZXJ2YWJsZTxUW10+IHtcbiAgICB0aGlzLl9sb2dnZXIud2FybignVmVyeSBpbmVmZmljaWVudCBmaW5kQnlJZHMgaGFuZGxpbmcgJyArIGlkcy5sZW5ndGgpO1xuICAgIHJldHVybiBmb3JrSm9pbihcbiAgICAgIGlkcy5tYXAoaWQgPT4gdGhpcy5maW5kQnlJZChpZCwgcGFyYW1zKSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgb3IgVXBkYXRlcyB0aGUgZ2l2ZW4gZW50aXR5IGRlcGVuZGluZyBpZiBpdCBhbHJlYWR5IGhhcyBhIHZhbGlkIGlkLlxuICAgKi9cbiAgcHVibGljIHNhdmUoZW50aXR5OiBULCBwYXJhbXM/OiBIdHRwUGFyYW1zKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgY29uc3QgaWQgPSB0aGlzLmdldElkKGVudGl0eSk7XG4gICAgcmV0dXJuICgoISFpZCkgPyB0aGlzLnVwZGF0ZShlbnRpdHksIHBhcmFtcykgOiB0aGlzLmNyZWF0ZShlbnRpdHksIHBhcmFtcykpO1xuICB9XG5cbiAgcHVibGljIGNyZWF0ZTxUQyA9IFQ+KG5ld0VudGl0eTogVEMsIHBhcmFtcz86IEh0dHBQYXJhbXMpOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8VD4odGhpcy5yZXN0RW5kcG9pbnQsIG5ld0VudGl0eSwge1xuICAgICAgcGFyYW1zOiBwYXJhbXNcbiAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcChlID0+IHRoaXMub25Mb2NhbENoYW5nZWQoZSkpXG4gICAgICApO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZSh1cGRhdGVkRW50aXR5OiBULCBwYXJhbXM/OiBIdHRwUGFyYW1zKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8VD4oXG4gICAgICB0aGlzLmdldEVudGl0eVVybEJ5KHVwZGF0ZWRFbnRpdHkpLFxuICAgICAgdXBkYXRlZEVudGl0eSxcbiAgICAgIHtcbiAgICAgICAgcGFyYW1zOiBwYXJhbXNcbiAgICAgIH1cbiAgICApXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKGUgPT4gdGhpcy5vbkxvY2FsQ2hhbmdlZChlKSlcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlQWxsKHVwZGF0ZWRFbnRpdGllczogVFtdLCBwYXJhbXM/OiBIdHRwUGFyYW1zKTogT2JzZXJ2YWJsZTxUW10+IHtcblxuICAgIHJldHVybiB0aGlzLmh0dHAucHV0PFRbXT4oXG4gICAgICB0aGlzLnJlc3RFbmRwb2ludCwgdXBkYXRlZEVudGl0aWVzLCB7XG4gICAgICAgIHBhcmFtczogcGFyYW1zXG4gICAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcChlID0+IHRoaXMub25Mb2NhbENoYW5nZWQoKSlcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgZGVsZXRlKGVudGl0eTogVCwgcGFyYW1zPzogSHR0cFBhcmFtcyk6IE9ic2VydmFibGU8YW55PiB7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZShcbiAgICAgIHRoaXMuZ2V0RW50aXR5VXJsQnkoZW50aXR5KSxcbiAgICAgIHtcbiAgICAgICAgcmVzcG9uc2VUeXBlOiAndGV4dCcsXG4gICAgICAgIHBhcmFtczogcGFyYW1zXG4gICAgICB9XG4gICAgKS5waXBlKFxuICAgICAgdGFwKCgpID0+IHRoaXMub25Mb2NhbENoYW5nZWQoZW50aXR5KSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGRlbGV0ZUFsbChlbnRpdGllczogVFtdLCBwYXJhbXM/OiBIdHRwUGFyYW1zKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBpZHMgPSBlbnRpdGllcy5tYXAoZSA9PiBTdHJpbmcodGhpcy5nZXRJZChlKSkpO1xuXG4gICAgY29uc3QgbWF4QmF0Y2hTaXplID0gMTAwO1xuICAgIGNvbnN0IGRlbGV0ZVJlcXVlc3RzID0gQmF0Y2hlci5iYXRjaE1hcChcbiAgICAgIGlkcyxcbiAgICAgIG1heEJhdGNoU2l6ZSxcbiAgICAgIGJhdGNoID0+IHRoaXMuZGVsZXRlSWRCYXRjaChiYXRjaCwgcGFyYW1zKVxuICAgICk7XG4gICAgdGhpcy5fbG9nZ2VyLmRlYnVnKCdEZWxldGluZyAnICsgZW50aXRpZXMubGVuZ3RoICsgJyBpbiAnICsgZGVsZXRlUmVxdWVzdHMubGVuZ3RoICsgJyBiYXRjaGVzOiAnLCBkZWxldGVSZXF1ZXN0cyk7XG4gICAgcmV0dXJuIGZvcmtKb2luKGRlbGV0ZVJlcXVlc3RzKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRJZChlbnRpdHk6IFQpOiBUSUQge1xuICAgIHJldHVybiBFbnRpdHlJZFV0aWwuZ2V0SWQoZW50aXR5LCB0aGlzLmNvbmZpZy5pZEZpZWxkKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBTdWIgUmVzb3VyY2UgQnVpbGRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBzdWJSZXNvdXJjZUxpc3Q8VFMsIFRTSUQ+KHBhcmVudDogVCwgc3ViUGF0aDogc3RyaW5nLCBjb25maWc/OiBSZXN0Q2xpZW50Q29uZmlnKTogUmVzdENsaWVudExpc3Q8VFMsIFRTSUQ+IHtcbiAgICByZXR1cm4gbmV3IFJlc3RDbGllbnRMaXN0KFxuICAgICAgdGhpcy5nZXRFbnRpdHlVcmxCeShwYXJlbnQpICsgJy8nICsgc3ViUGF0aCxcbiAgICAgIHRoaXMuaHR0cCxcbiAgICAgIGNvbmZpZ1xuICAgICk7XG4gIH1cblxuICBwdWJsaWMgc3ViUmVzb3VyY2VQYWdlZDxUUywgVFNJRD4ocGFyZW50OiBULCBzdWJQYXRoOiBzdHJpbmcsIGNvbmZpZz86IFJlc3RDbGllbnRDb25maWcpOiBSZXN0Q2xpZW50UGFnZWQ8VFMsIFRTSUQ+IHtcbiAgICByZXR1cm4gbmV3IFJlc3RDbGllbnRQYWdlZChcbiAgICAgIHRoaXMuZ2V0RW50aXR5VXJsQnkocGFyZW50KSArICcvJyArIHN1YlBhdGgsXG4gICAgICB0aGlzLmh0dHAsXG4gICAgICBjb25maWdcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHN1YlJlc291cmNlQ29udGludWFibGU8VFMsIFRTSUQ+KHBhcmVudDogVCwgc3ViUGF0aDogc3RyaW5nLCBjb25maWc/OiBSZXN0Q2xpZW50Q29uZmlnKTogUmVzdENsaWVudENvbnRpbnVhYmxlPFRTLCBUU0lEPiB7XG4gICAgcmV0dXJuIG5ldyBSZXN0Q2xpZW50Q29udGludWFibGUoXG4gICAgICB0aGlzLmdldEVudGl0eVVybEJ5KHBhcmVudCkgKyAnLycgKyBzdWJQYXRoLFxuICAgICAgdGhpcy5odHRwLFxuICAgICAgY29uZmlnXG4gICAgKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm90ZWN0ZWQgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByb3RlY3RlZCBwYXRjaEludGVybmFsPFAsIFIgPSBUPihpZDogVElELCBlbnRpdHlQYXRjaDogUCwgcGFyYW1zPzogSHR0cFBhcmFtcyk6IE9ic2VydmFibGU8Uj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucGF0Y2g8Uj4oXG4gICAgICB0aGlzLmdldEVudGl0eVVybChpZCksXG4gICAgICBlbnRpdHlQYXRjaCxcbiAgICAgIHtcbiAgICAgICAgcGFyYW1zOiBwYXJhbXNcbiAgICAgIH1cbiAgICApLnBpcGUoXG4gICAgICB0YXAoZSA9PiB0aGlzLm9uTG9jYWxDaGFuZ2VkKCkpXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBwYXRjaEFsbEludGVybmFsPFAsIFIgPSBUPihlbnRpdHlQYXRjaGVzOiBQW10sIHBhcmFtcz86IEh0dHBQYXJhbXMpOiBPYnNlcnZhYmxlPFJbXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucGF0Y2g8UltdPihcbiAgICAgIHRoaXMucmVzdEVuZHBvaW50LFxuICAgICAgZW50aXR5UGF0Y2hlcyxcbiAgICAgIHtcbiAgICAgICAgcGFyYW1zOiBwYXJhbXNcbiAgICAgIH1cbiAgICApLnBpcGUoXG4gICAgICB0YXAoZSA9PiB0aGlzLm9uTG9jYWxDaGFuZ2VkKCkpXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvbkxvY2FsQ2hhbmdlZChlbnRpdHk/OiBUKTogdm9pZCB7XG4gICAgdGhpcy5sb2NhbENoYW5nZVN1YmplY3QubmV4dChlbnRpdHkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldEVudGl0eVVybEJ5KGVudGl0eTogVCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0RW50aXR5VXJsKHRoaXMuZ2V0SWQoZW50aXR5KSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0RW50aXR5VXJsKGlkOiBUSUQpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnJlc3RFbmRwb2ludCArICcvJyArIGlkO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgLyoqXG4gICAqIERlbGV0ZXMgdGhlIGdpdmVuIGlkcyBpbiBhIGJhdGNoIGNhbGwuXG4gICAqIE5vdGUgdGhhdCBkdWUgSFRUUCBSZXF1ZXN0IFVSSSBsaW1pdGF0aW9ucyxcbiAgICogdGhlIG51bWJlciBvZiBpZHMgdGhhdCBjYW4gYmUgZGVsZXRlZCBpbiBhIHNpbmdsZSBiYXRjaCBpc1xuICAgKiBsaW1pdGVkIChhcm91bmQgMTUwLCBkZXBlbmRpbmcgb24gaWQgbGVuZ3RoLCBzaW5jZSB0aGV5IGFyZVxuICAgKiBwYXJ0IG9mIHRoZSByZXF1ZXN0IHVyaSBwYXJhbWV0ZXJzLlxuICAgKi9cbiAgcHJpdmF0ZSBkZWxldGVJZEJhdGNoKGlkczogc3RyaW5nW10sIHBhcmFtcz86IEh0dHBQYXJhbXMpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IGJ1aWxkZXIgPSBIdHRwUGFyYW1zQnVpbGRlci5zdGFydChwYXJhbXMpO1xuICAgIGJ1aWxkZXIuYXBwZW5kRmlsdGVyKG5ldyBGaWx0ZXIodGhpcy5jb25maWcuaWRzUGFyYW0sIGlkcykpO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKHRoaXMucmVzdEVuZHBvaW50LFxuICAgICAge1xuICAgICAgICBwYXJhbXM6IGJ1aWxkZXIuYnVpbGQoKSxcbiAgICAgICAgcmVzcG9uc2VUeXBlOiAndGV4dCdcbiAgICAgIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKCgpID0+IHRoaXMub25Mb2NhbENoYW5nZWQoKSlcbiAgICAgICk7XG4gIH1cbn1cblxuXG5leHBvcnQgY2xhc3MgUmVzdENsaWVudExpc3Q8VCwgVElEPiBleHRlbmRzIFJlc3RDbGllbnQ8VCwgVElEPiBpbXBsZW1lbnRzIElMaXN0RGF0YVNvdXJjZTxUPiB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcmVzdEVuZHBvaW50OiBzdHJpbmcsXG4gICAgaHR0cDogSHR0cENsaWVudCxcbiAgICBjb25maWc/OiBSZXN0Q2xpZW50Q29uZmlnXG4gICkge1xuICAgIHN1cGVyKHJlc3RFbmRwb2ludCwgaHR0cCwgY29uZmlnKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBmaW5kQWxsRmlsdGVyZWQoXG4gICAgZmlsdGVycz86IEZpbHRlcltdLFxuICAgIHNvcnRzPzogU29ydFtdLFxuICAgIHBhcmFtcz86IEh0dHBQYXJhbXNcbiAgKTogT2JzZXJ2YWJsZTxUW10+IHtcbiAgICByZXR1cm4gdGhpcy5maW5kQWxsKFxuICAgICAgSHR0cFBhcmFtc0J1aWxkZXIuc3RhcnQocGFyYW1zKVxuICAgICAgICAuYXBwZW5kRmlsdGVycyhmaWx0ZXJzKVxuICAgICAgICAuYXBwZW5kU29ydHMoc29ydHMpXG4gICAgICAgIC5idWlsZCgpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBmaW5kQnlJZHMoaWRzOiBhbnlbXSwgcGFyYW1zPzogSHR0cFBhcmFtcyk6IE9ic2VydmFibGU8VFtdPiB7XG4gICAgaWYgKGlkcz8ubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIHRoaXMuZmluZEFsbEZpbHRlcmVkKFxuICAgICAgICBbbmV3IEZpbHRlcih0aGlzLmNvbmZpZy5pZHNQYXJhbSwgaWRzKV0sXG4gICAgICAgIFtdLFxuICAgICAgICBwYXJhbXNcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBvZihbXSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGZpbmRBbGwocGFyYW1zPzogSHR0cFBhcmFtcyk6IE9ic2VydmFibGU8VFtdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8VFtdPih0aGlzLnJlc3RFbmRwb2ludCwge1xuICAgICAgcGFyYW1zOiBwYXJhbXNcbiAgICB9KTtcbiAgfVxuXG5cbn1cblxuZXhwb3J0IGNsYXNzIFJlc3RDbGllbnRQYWdlZDxULCBUSUQ+IGV4dGVuZHMgUmVzdENsaWVudDxULCBUSUQ+IGltcGxlbWVudHMgSVBhZ2VkRGF0YVNvdXJjZTxUPiB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcmVzdEVuZHBvaW50OiBzdHJpbmcsXG4gICAgaHR0cDogSHR0cENsaWVudCxcbiAgICBjb25maWc/OiBSZXN0Q2xpZW50Q29uZmlnXG4gICkge1xuICAgIHN1cGVyKHJlc3RFbmRwb2ludCwgaHR0cCwgY29uZmlnKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBmaW5kQWxsUGFnZWQocGFnZWFibGU6IFBhZ2VhYmxlLCBmaWx0ZXJzPzogRmlsdGVyW10sIHBhcmFtcz86IEh0dHBQYXJhbXMpOiBPYnNlcnZhYmxlPFBhZ2U8VD4+IHtcbiAgICByZXR1cm4gdGhpcy5nZXRQYWdlZCh0aGlzLnJlc3RFbmRwb2ludCwgcGFnZWFibGUsIGZpbHRlcnMsIHBhcmFtcyk7XG4gIH1cblxuICBwdWJsaWMgZmluZEJ5SWRzKGlkczogYW55W10sIHBhcmFtcz86IEh0dHBQYXJhbXMpOiBPYnNlcnZhYmxlPFRbXT4ge1xuICAgIGlmIChpZHM/Lmxlbmd0aCA+IDApIHtcbiAgICAgIHJldHVybiB0aGlzLmZpbmRBbGxQYWdlZChcbiAgICAgICAgbmV3IFBhZ2VhYmxlKDAsIGlkcy5sZW5ndGgpLFxuICAgICAgICBbbmV3IEZpbHRlcih0aGlzLmNvbmZpZy5pZHNQYXJhbSwgaWRzKV0sXG4gICAgICAgIHBhcmFtc1xuICAgICAgKS5waXBlKFxuICAgICAgICBtYXAocGFnZSA9PiBwYWdlLmNvbnRlbnQpXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gb2YoW10pO1xuICAgIH1cbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHJlcXVlc3RlZCBkYXRhIHBhZ2UgYXMgUGFnZTxUPlxuICAgKiBAcGFyYW0gdXJsIFRoZSByZXNvdXJjZSB1cmxcbiAgICogQHBhcmFtIHBhZ2VhYmxlIFRoZSBwYWdlIHJlcXVlc3RcbiAgICogQHBhcmFtIGZpbHRlcnMgVGhlIGZpbHRlcnNTbmFwc2hvdCByZXF1ZXN0XG4gICAqIEBwYXJhbSBwYXJhbXMgQWRkaXRpb25hbCBwYXJhbWV0ZXJzXG4gICAqL1xuICBwcml2YXRlIGdldFBhZ2VkKHVybDogc3RyaW5nLCBwYWdlYWJsZTogUGFnZWFibGUsIGZpbHRlcnM/OiBGaWx0ZXJbXSwgcGFyYW1zPzogSHR0cFBhcmFtcyk6IE9ic2VydmFibGU8UGFnZTxUPj4ge1xuICAgIHBhcmFtcyA9IEh0dHBQYXJhbXNCdWlsZGVyLnN0YXJ0KHBhcmFtcylcbiAgICAgIC5hcHBlbmRQYWdlYWJsZShwYWdlYWJsZSlcbiAgICAgIC5hcHBlbmRGaWx0ZXJzKGZpbHRlcnMpXG4gICAgICAuYnVpbGQoKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxQYWdlPFQ+Pih1cmwsIHtwYXJhbXM6IHBhcmFtc30pO1xuICB9XG5cbn1cblxuZXhwb3J0IGNsYXNzIFJlc3RDbGllbnRDb250aW51YWJsZTxULCBUSUQ+IGV4dGVuZHMgUmVzdENsaWVudDxULCBUSUQ+IGltcGxlbWVudHMgSUNvbnRpbnVhYmxlRGF0YVNvdXJjZTxUPiB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcmVzdEVuZHBvaW50OiBzdHJpbmcsXG4gICAgaHR0cDogSHR0cENsaWVudCxcbiAgICBjb25maWc/OiBSZXN0Q2xpZW50Q29uZmlnXG4gICkge1xuICAgIHN1cGVyKHJlc3RFbmRwb2ludCwgaHR0cCwgY29uZmlnKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBmaW5kQWxsQ29udGludWFibGUocmVxdWVzdDogVG9rZW5DaHVua1JlcXVlc3QsIHBhcmFtcz86IEh0dHBQYXJhbXMpOiBPYnNlcnZhYmxlPENvbnRpbnVhYmxlTGlzdGluZzxUPj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PENvbnRpbnVhYmxlTGlzdGluZzxUPj4odGhpcy5yZXN0RW5kcG9pbnQsXG4gICAgICB7XG4gICAgICAgIHBhcmFtczogSHR0cFBhcmFtc0J1aWxkZXIuc3RhcnQocGFyYW1zKVxuICAgICAgICAgIC5hcHBlbmRDb250aW51YXRpb25SZXF1ZXN0KHJlcXVlc3QpXG4gICAgICAgICAgLmJ1aWxkKClcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgcHVibGljIGZpbmRCeUlkcyhpZHM6IGFueVtdLCBwYXJhbXM/OiBIdHRwUGFyYW1zKTogT2JzZXJ2YWJsZTxUW10+IHtcbiAgICBpZiAoaWRzPy5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4gdGhpcy5sb2FkQWxsKFxuICAgICAgICBbbmV3IEZpbHRlcih0aGlzLmNvbmZpZy5pZHNQYXJhbSwgaWRzKV0sXG4gICAgICAgIFtdLFxuICAgICAgICBwYXJhbXNcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBvZihbXSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBsb2FkQWxsKFxuICAgIGZpbHRlcnM/OiBGaWx0ZXJbXSxcbiAgICBzb3J0cz86IFNvcnRbXSxcbiAgICBwYXJhbXM/OiBIdHRwUGFyYW1zXG4gICk6IE9ic2VydmFibGU8VFtdPiB7XG4gICAgcmV0dXJuIHRoaXMuZmluZEFsbENvbnRpbnVhYmxlKFxuICAgICAgbmV3IFRva2VuQ2h1bmtSZXF1ZXN0KG51bGwsIGZpbHRlcnMsIHNvcnRzKSxcbiAgICAgIHBhcmFtc1xuICAgICkucGlwZShcbiAgICAgIGV4cGFuZCgobGlzdGluZykgPT4geyAvLyB0aGUgcHJldmlvdXMgXCJsaXN0aW5nXCIgLT4gVGhpcyBpcyByZWN1cnNpdmVcbiAgICAgICAgcmV0dXJuIGxpc3RpbmcubmV4dENvbnRpbnVhdGlvblRva2VuIC8vIGlmIHRoZXJlJ3MgXCJuZXh0Q29udGludWF0aW9uVG9rZW5cIiwgd2UgcmVmZXRjaCBvciB3ZSBFTVBUWSB0byBjb21wbGV0ZSB0aGUgXCJleHBhbmQoKVwiXG4gICAgICAgICAgPyB0aGlzLmZpbmRBbGxDb250aW51YWJsZShcbiAgICAgICAgICAgIG5ldyBUb2tlbkNodW5rUmVxdWVzdChsaXN0aW5nLm5leHRDb250aW51YXRpb25Ub2tlbiwgZmlsdGVycywgc29ydHMpLFxuICAgICAgICAgICAgcGFyYW1zXG4gICAgICAgICAgKVxuICAgICAgICAgIDogRU1QVFk7XG4gICAgICB9KSxcbiAgICAgIG1hcChsaXN0aW5nID0+IGxpc3RpbmcuY29udGVudCksXG4gICAgICByZWR1Y2UoXG4gICAgICAgIChhZ2csIGxpc3RpbmcpID0+IHtcbiAgICAgICAgICBhZ2cucHVzaCguLi5saXN0aW5nKTtcbiAgICAgICAgICByZXR1cm4gYWdnO1xuICAgICAgICB9LFxuICAgICAgICA8VFtdPltdXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG59XG4iXX0=
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
import { JsonMapUtil } from '../json-map';
|
|
2
|
+
export class EntitySetPatch {
|
|
3
|
+
/***************************************************************************
|
|
4
|
+
* *
|
|
5
|
+
* Constructor *
|
|
6
|
+
* *
|
|
7
|
+
**************************************************************************/
|
|
8
|
+
constructor(idToMapKeyFn) {
|
|
9
|
+
this.upsertsById = {};
|
|
10
|
+
this.updatesById = {};
|
|
11
|
+
this.upsertOnes = [];
|
|
12
|
+
this.updateOnes = [];
|
|
13
|
+
this.idToMapKeyFn = idToMapKeyFn ?? EntitySetPatch.idToMapKeyDefault;
|
|
14
|
+
}
|
|
15
|
+
/***************************************************************************
|
|
16
|
+
* *
|
|
17
|
+
* Static Builder *
|
|
18
|
+
* *
|
|
19
|
+
**************************************************************************/
|
|
20
|
+
static start(idToMapKeyFn) {
|
|
21
|
+
return new EntitySetPatch(idToMapKeyFn);
|
|
22
|
+
}
|
|
23
|
+
static idToMapKeyDefault(id) {
|
|
24
|
+
if (typeof id === 'string') {
|
|
25
|
+
return id;
|
|
26
|
+
}
|
|
27
|
+
else if (typeof id === 'number') {
|
|
28
|
+
return id;
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
return id + '';
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
/***************************************************************************
|
|
35
|
+
* *
|
|
36
|
+
* Query *
|
|
37
|
+
* *
|
|
38
|
+
**************************************************************************/
|
|
39
|
+
getUpsertsById() {
|
|
40
|
+
return JsonMapUtil.toMap(this.upsertsById);
|
|
41
|
+
}
|
|
42
|
+
getUpdatesById() {
|
|
43
|
+
return JsonMapUtil.toMap(this.updatesById);
|
|
44
|
+
}
|
|
45
|
+
getUpsertOnes() {
|
|
46
|
+
return [...this.upsertOnes];
|
|
47
|
+
}
|
|
48
|
+
getUpdateOnes() {
|
|
49
|
+
return [...this.updateOnes];
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Gets all ids which should be deleted.
|
|
53
|
+
* Also consider isDeleteOther, which means
|
|
54
|
+
* everything gets deleted.
|
|
55
|
+
*/
|
|
56
|
+
collectDeletions() {
|
|
57
|
+
return [
|
|
58
|
+
...Array.from(this.getUpsertsById().entries())
|
|
59
|
+
.filter(([id, update]) => !update)
|
|
60
|
+
.map(([id, update]) => id),
|
|
61
|
+
...Array.from(this.getUpdatesById().entries())
|
|
62
|
+
.filter(([id, update]) => !update)
|
|
63
|
+
.map(([id, update]) => id),
|
|
64
|
+
];
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Delete all entities which are not
|
|
68
|
+
* explicitly defined in this update.
|
|
69
|
+
* "Replace with" semantics.
|
|
70
|
+
*/
|
|
71
|
+
get isDeleteOther() {
|
|
72
|
+
return this.deleteOther;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Collects all upserts. (Updates are ignored)
|
|
76
|
+
*/
|
|
77
|
+
collectUpserts() {
|
|
78
|
+
return [
|
|
79
|
+
...Array.from(this.getUpsertsById().entries())
|
|
80
|
+
.filter(([id, update]) => !!update)
|
|
81
|
+
.map(([id, update]) => update),
|
|
82
|
+
...this.upsertOnes
|
|
83
|
+
];
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Collects all updates. (Upserts are ignored)
|
|
87
|
+
*/
|
|
88
|
+
collectUpdates() {
|
|
89
|
+
return [
|
|
90
|
+
...Array.from(this.getUpdatesById().entries())
|
|
91
|
+
.filter(([id, update]) => !!update)
|
|
92
|
+
.map(([id, update]) => update),
|
|
93
|
+
...this.updateOnes
|
|
94
|
+
];
|
|
95
|
+
}
|
|
96
|
+
collectUpdatesAndUpserts() {
|
|
97
|
+
return [
|
|
98
|
+
...this.collectUpserts(),
|
|
99
|
+
...this.collectUpdates()
|
|
100
|
+
];
|
|
101
|
+
}
|
|
102
|
+
/***************************************************************************
|
|
103
|
+
* *
|
|
104
|
+
* Builder API *
|
|
105
|
+
* *
|
|
106
|
+
**************************************************************************/
|
|
107
|
+
update(updateOne) {
|
|
108
|
+
this.updateOnes.push(updateOne);
|
|
109
|
+
return this;
|
|
110
|
+
}
|
|
111
|
+
updateAll(updateOne) {
|
|
112
|
+
this.updateOnes.push(...updateOne);
|
|
113
|
+
return this;
|
|
114
|
+
}
|
|
115
|
+
updateById(id, updateOne) {
|
|
116
|
+
this.updatesById[this.idToMapKeyFn(id)] = updateOne;
|
|
117
|
+
return this;
|
|
118
|
+
}
|
|
119
|
+
updateAllById(updates) {
|
|
120
|
+
updates.forEach((v, k) => this.updateById(k, v));
|
|
121
|
+
return this;
|
|
122
|
+
}
|
|
123
|
+
upsert(updateOne) {
|
|
124
|
+
this.upsertOnes.push(updateOne);
|
|
125
|
+
return this;
|
|
126
|
+
}
|
|
127
|
+
upsertAll(updateOne) {
|
|
128
|
+
this.upsertOnes.push(...updateOne);
|
|
129
|
+
return this;
|
|
130
|
+
}
|
|
131
|
+
upsertById(id, updateOne) {
|
|
132
|
+
this.upsertsById[this.idToMapKeyFn(id)] = updateOne;
|
|
133
|
+
return this;
|
|
134
|
+
}
|
|
135
|
+
upsertAllById(upserts) {
|
|
136
|
+
upserts.forEach((v, k) => this.upsertById(k, v));
|
|
137
|
+
return this;
|
|
138
|
+
}
|
|
139
|
+
deleteById(...idArgs) {
|
|
140
|
+
idArgs.forEach(id => this.upsertById(id, null));
|
|
141
|
+
return this;
|
|
142
|
+
}
|
|
143
|
+
deleteByIds(ids) {
|
|
144
|
+
ids.forEach(id => this.upsertById(id, null));
|
|
145
|
+
return this;
|
|
146
|
+
}
|
|
147
|
+
deleteAllOther() {
|
|
148
|
+
this.deleteOther = true;
|
|
149
|
+
return this;
|
|
150
|
+
}
|
|
151
|
+
deleteAll() {
|
|
152
|
+
this.clear();
|
|
153
|
+
this.deleteAllOther();
|
|
154
|
+
return this;
|
|
155
|
+
}
|
|
156
|
+
clear() {
|
|
157
|
+
this.upsertOnes = [];
|
|
158
|
+
this.upsertsById = {};
|
|
159
|
+
this.updateOnes = [];
|
|
160
|
+
this.updatesById = {};
|
|
161
|
+
return this;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LXNldC1wYXRjaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi9kYXRhL2VudGl0eS1zZXQtcGF0Y2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFVLFdBQVcsRUFBQyxNQUFNLGFBQWEsQ0FBQztBQUdqRCxNQUFNLE9BQU8sY0FBYztJQXNDekI7Ozs7Z0ZBSTRFO0lBRTVFLFlBQ0UsWUFBMEM7UUFuQ3BDLGdCQUFXLEdBQXdCLEVBQUUsQ0FBQztRQUN0QyxnQkFBVyxHQUF3QixFQUFFLENBQUM7UUFDdEMsZUFBVSxHQUFpQixFQUFFLENBQUM7UUFDOUIsZUFBVSxHQUFpQixFQUFFLENBQUM7UUFrQ3BDLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxJQUFJLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQztJQUN2RSxDQUFDO0lBaENEOzs7O2dGQUk0RTtJQUVyRSxNQUFNLENBQUMsS0FBSyxDQUNqQixZQUEwQztRQUUxQyxPQUFPLElBQUksY0FBYyxDQUFpQixZQUFZLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRU8sTUFBTSxDQUFDLGlCQUFpQixDQUFLLEVBQU07UUFDekMsSUFBSSxPQUFPLEVBQUUsS0FBSyxRQUFRLEVBQUU7WUFDMUIsT0FBTyxFQUFFLENBQUM7U0FDWDthQUFNLElBQUksT0FBTyxFQUFFLEtBQUssUUFBUSxFQUFFO1lBQ2pDLE9BQU8sRUFBRSxDQUFDO1NBQ1g7YUFBTTtZQUNMLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQztTQUNoQjtJQUNILENBQUM7SUFjRDs7OztnRkFJNEU7SUFFckUsY0FBYztRQUNuQixPQUFPLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFTSxjQUFjO1FBQ25CLE9BQU8sV0FBVyxDQUFDLEtBQUss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RUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDN0MsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sY0FBYztRQUNuQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUN4QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxTQUFTO1FBQ2QsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2IsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3RCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLEtBQUs7UUFDVixJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUN0QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SnNvbk1hcCwgSnNvbk1hcFV0aWx9IGZyb20gJy4uL2pzb24tbWFwJztcblxuXG5leHBvcnQgY2xhc3MgRW50aXR5U2V0UGF0Y2g8SUQsIEl0ZW1VcGRhdGU+IHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGlkVG9NYXBLZXlGbjogKGlkOiBJRCkgPT4gc3RyaW5nIHwgbnVtYmVyO1xuXG4gIHByaXZhdGUgdXBzZXJ0c0J5SWQ6IEpzb25NYXA8SXRlbVVwZGF0ZT4gPSB7fTtcbiAgcHJpdmF0ZSB1cGRhdGVzQnlJZDogSnNvbk1hcDxJdGVtVXBkYXRlPiA9IHt9O1xuICBwcml2YXRlIHVwc2VydE9uZXM6IEl0ZW1VcGRhdGVbXSA9IFtdO1xuICBwcml2YXRlIHVwZGF0ZU9uZXM6IEl0ZW1VcGRhdGVbXSA9IFtdO1xuICBwcml2YXRlIGRlbGV0ZU90aGVyPzogYm9vbGVhbjtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogU3RhdGljIEJ1aWxkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgc3RhdGljIHN0YXJ0PElELCBJdGVtVXBkYXRlPihcbiAgICBpZFRvTWFwS2V5Rm4/OiAoaWQ6IElEKSA9PiBzdHJpbmcgfCBudW1iZXJcbiAgKTogRW50aXR5U2V0UGF0Y2g8SUQsIEl0ZW1VcGRhdGU+IHtcbiAgICByZXR1cm4gbmV3IEVudGl0eVNldFBhdGNoPElELCBJdGVtVXBkYXRlPihpZFRvTWFwS2V5Rm4pO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgaWRUb01hcEtleURlZmF1bHQ8SUQ+KGlkOiBJRCk6IHN0cmluZyB8IG51bWJlciB7XG4gICAgaWYgKHR5cGVvZiBpZCA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybiBpZDtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBpZCA9PT0gJ251bWJlcicpIHtcbiAgICAgIHJldHVybiBpZDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGlkICsgJyc7XG4gICAgfVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgaWRUb01hcEtleUZuPzogKGlkOiBJRCkgPT4gc3RyaW5nIHwgbnVtYmVyXG4gICkge1xuICAgIHRoaXMuaWRUb01hcEtleUZuID0gaWRUb01hcEtleUZuID8/IEVudGl0eVNldFBhdGNoLmlkVG9NYXBLZXlEZWZhdWx0O1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFF1ZXJ5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGdldFVwc2VydHNCeUlkKCk6IE1hcDxJRCwgSXRlbVVwZGF0ZT4ge1xuICAgIHJldHVybiBKc29uTWFwVXRpbC50b01hcCh0aGlzLnVwc2VydHNCeUlkKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRVcGRhdGVzQnlJZCgpOiBNYXA8SUQsIEl0ZW1VcGRhdGU+IHtcbiAgICByZXR1cm4gSnNvbk1hcFV0aWwudG9NYXAodGhpcy51cGRhdGVzQnlJZCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0VXBzZXJ0T25lcygpOiBJdGVtVXBkYXRlW10ge1xuICAgIHJldHVybiBbLi4udGhpcy51cHNlcnRPbmVzXTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRVcGRhdGVPbmVzKCk6IEl0ZW1VcGRhdGVbXSB7XG4gICAgcmV0dXJuIFsuLi50aGlzLnVwZGF0ZU9uZXNdO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgYWxsIGlkcyB3aGljaCBzaG91bGQgYmUgZGVsZXRlZC5cbiAgICogQWxzbyBjb25zaWRlciBpc0RlbGV0ZU90aGVyLCB3aGljaCBtZWFuc1xuICAgKiBldmVyeXRoaW5nIGdldHMgZGVsZXRlZC5cbiAgICovXG4gIHB1YmxpYyBjb2xsZWN0RGVsZXRpb25zKCk6IElEW10ge1xuICAgIHJldHVybiBbXG4gICAgICAuLi5BcnJheS5mcm9tKHRoaXMuZ2V0VXBzZXJ0c0J5SWQoKS5lbnRyaWVzKCkpXG4gICAgICAgIC5maWx0ZXIoKFtpZCwgdXBkYXRlXSkgPT4gIXVwZGF0ZSlcbiAgICAgICAgLm1hcCgoW2lkLCB1cGRhdGVdKSA9PiBpZCksXG4gICAgICAuLi5BcnJheS5mcm9tKHRoaXMuZ2V0VXBkYXRlc0J5SWQoKS5lbnRyaWVzKCkpXG4gICAgICAgIC5maWx0ZXIoKFtpZCwgdXBkYXRlXSkgPT4gIXVwZGF0ZSlcbiAgICAgICAgLm1hcCgoW2lkLCB1cGRhdGVdKSA9PiBpZCksXG4gICAgXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWxldGUgYWxsIGVudGl0aWVzIHdoaWNoIGFyZSBub3RcbiAgICogZXhwbGljaXRseSBkZWZpbmVkIGluIHRoaXMgdXBkYXRlLlxuICAgKiBcIlJlcGxhY2Ugd2l0aFwiIHNlbWFudGljcy5cbiAgICovXG4gIHB1YmxpYyBnZXQgaXNEZWxldGVPdGhlcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5kZWxldGVPdGhlcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb2xsZWN0cyBhbGwgdXBzZXJ0cy4gKFVwZGF0ZXMgYXJlIGlnbm9yZWQpXG4gICAqL1xuICBwdWJsaWMgY29sbGVjdFVwc2VydHMoKTogSXRlbVVwZGF0ZVtdIHtcbiAgICByZXR1cm4gW1xuICAgICAgLi4uQXJyYXkuZnJvbSh0aGlzLmdldFVwc2VydHNCeUlkKCkuZW50cmllcygpKVxuICAgICAgICAuZmlsdGVyKChbaWQsIHVwZGF0ZV0pID0+ICEhdXBkYXRlKVxuICAgICAgICAubWFwKChbaWQsIHVwZGF0ZV0pID0+IHVwZGF0ZSksXG4gICAgICAuLi50aGlzLnVwc2VydE9uZXNcbiAgICBdO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbGxlY3RzIGFsbCB1cGRhdGVzLiAoVXBzZXJ0cyBhcmUgaWdub3JlZClcbiAgICovXG4gIHB1YmxpYyBjb2xsZWN0VXBkYXRlcygpOiBJdGVtVXBkYXRlW10ge1xuICAgIHJldHVybiBbXG4gICAgICAuLi5BcnJheS5mcm9tKHRoaXMuZ2V0VXBkYXRlc0J5SWQoKS5lbnRyaWVzKCkpXG4gICAgICAgIC5maWx0ZXIoKFtpZCwgdXBkYXRlXSkgPT4gISF1cGRhdGUpXG4gICAgICAgIC5tYXAoKFtpZCwgdXBkYXRlXSkgPT4gdXBkYXRlKSxcbiAgICAgIC4uLnRoaXMudXBkYXRlT25lc1xuICAgIF07XG4gIH1cblxuICBwdWJsaWMgY29sbGVjdFVwZGF0ZXNBbmRVcHNlcnRzKCk6IEl0ZW1VcGRhdGVbXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIC4uLnRoaXMuY29sbGVjdFVwc2VydHMoKSxcbiAgICAgIC4uLnRoaXMuY29sbGVjdFVwZGF0ZXMoKVxuICAgIF07XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQnVpbGRlciBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgdXBkYXRlKHVwZGF0ZU9uZTogSXRlbVVwZGF0ZSk6IHRoaXMge1xuICAgIHRoaXMudXBkYXRlT25lcy5wdXNoKHVwZGF0ZU9uZSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlQWxsKHVwZGF0ZU9uZTogSXRlbVVwZGF0ZVtdKTogdGhpcyB7XG4gICAgdGhpcy51cGRhdGVPbmVzLnB1c2goLi4udXBkYXRlT25lKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVCeUlkKGlkOiBJRCwgdXBkYXRlT25lOiBJdGVtVXBkYXRlKTogdGhpcyB7XG4gICAgdGhpcy51cGRhdGVzQnlJZFt0aGlzLmlkVG9NYXBLZXlGbihpZCldID0gdXBkYXRlT25lO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZUFsbEJ5SWQodXBkYXRlczogTWFwPElELCBJdGVtVXBkYXRlPik6IHRoaXMge1xuICAgIHVwZGF0ZXMuZm9yRWFjaCgodiwgaykgPT4gdGhpcy51cGRhdGVCeUlkKGssIHYpKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyB1cHNlcnQodXBkYXRlT25lOiBJdGVtVXBkYXRlKTogdGhpcyB7XG4gICAgdGhpcy51cHNlcnRPbmVzLnB1c2godXBkYXRlT25lKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyB1cHNlcnRBbGwodXBkYXRlT25lOiBJdGVtVXBkYXRlW10pOiB0aGlzIHtcbiAgICB0aGlzLnVwc2VydE9uZXMucHVzaCguLi51cGRhdGVPbmUpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHVwc2VydEJ5SWQoaWQ6IElELCB1cGRhdGVPbmU6IEl0ZW1VcGRhdGUpOiB0aGlzIHtcbiAgICB0aGlzLnVwc2VydHNCeUlkW3RoaXMuaWRUb01hcEtleUZuKGlkKV0gPSB1cGRhdGVPbmU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgdXBzZXJ0QWxsQnlJZCh1cHNlcnRzOiBNYXA8SUQsIEl0ZW1VcGRhdGU+KTogdGhpcyB7XG4gICAgdXBzZXJ0cy5mb3JFYWNoKCh2LCBrKSA9PiB0aGlzLnVwc2VydEJ5SWQoaywgdikpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIGRlbGV0ZUJ5SWQoLi4uaWRBcmdzOiBJRFtdKTogdGhpcyB7XG4gICAgaWRBcmdzLmZvckVhY2goaWQgPT4gdGhpcy51cHNlcnRCeUlkKGlkLCBudWxsKSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgZGVsZXRlQnlJZHMoaWRzOiBJRFtdKTogdGhpcyB7XG4gICAgaWRzLmZvckVhY2goaWQgPT4gdGhpcy51cHNlcnRCeUlkKGlkLCBudWxsKSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgZGVsZXRlQWxsT3RoZXIoKTogdGhpcyB7XG4gICAgdGhpcy5kZWxldGVPdGhlciA9IHRydWU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgZGVsZXRlQWxsKCk6IHRoaXMge1xuICAgIHRoaXMuY2xlYXIoKTtcbiAgICB0aGlzLmRlbGV0ZUFsbE90aGVyKCk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgY2xlYXIoKTogdGhpcyB7XG4gICAgdGhpcy51cHNlcnRPbmVzID0gW107XG4gICAgdGhpcy51cHNlcnRzQnlJZCA9IHt9O1xuICAgIHRoaXMudXBkYXRlT25lcyA9IFtdO1xuICAgIHRoaXMudXBkYXRlc0J5SWQgPSB7fTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG59XG5cblxuXG4iXX0=
|