@elderbyte/ngx-starter 18.11.0 → 18.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/_index.scss +38 -33
- package/esm2022/lib/common/arrays.mjs +1 -1
- package/esm2022/lib/common/async/public_api.mjs +1 -1
- package/esm2022/lib/common/async/refreshing-entity.mjs +5 -3
- package/esm2022/lib/common/csv/csv-serializer.mjs +5 -5
- package/esm2022/lib/common/csv/csv-spec.mjs +2 -2
- package/esm2022/lib/common/csv/public_api.mjs +1 -1
- package/esm2022/lib/common/data/continuable-listing.mjs +1 -1
- package/esm2022/lib/common/data/data-context/data-context-active-page.mjs +5 -4
- package/esm2022/lib/common/data/data-context/data-context-auto-starter.mjs +7 -5
- package/esm2022/lib/common/data/data-context/data-context-base.mjs +19 -12
- package/esm2022/lib/common/data/data-context/data-context-builder.mjs +5 -7
- package/esm2022/lib/common/data/data-context/data-context-continuable-base.mjs +5 -7
- package/esm2022/lib/common/data/data-context/data-context-continuable-paged.mjs +2 -2
- package/esm2022/lib/common/data/data-context/data-context-continuable-token.mjs +17 -7
- package/esm2022/lib/common/data/data-context/data-context-life-cycle-binding.mjs +2 -2
- package/esm2022/lib/common/data/data-context/data-context-simple.mjs +5 -4
- package/esm2022/lib/common/data/data-context/data-context-source-event-binding.mjs +25 -8
- package/esm2022/lib/common/data/data-context/data-context-status.mjs +1 -1
- package/esm2022/lib/common/data/data-context/data-context.mjs +5 -5
- package/esm2022/lib/common/data/data-context/indexed-entities.mjs +2 -2
- package/esm2022/lib/common/data/data-context/mat-table-data-context-binding.mjs +14 -8
- package/esm2022/lib/common/data/data-context/public_api.mjs +1 -1
- package/esm2022/lib/common/data/datasource/data-source-adapter.mjs +9 -5
- package/esm2022/lib/common/data/datasource/data-source-base.mjs +1 -1
- package/esm2022/lib/common/data/datasource/data-source-change-event.mjs +20 -10
- package/esm2022/lib/common/data/datasource/data-source-processor.mjs +14 -15
- package/esm2022/lib/common/data/datasource/data-source.mjs +4 -4
- package/esm2022/lib/common/data/datasource/entity-id-util.mjs +2 -2
- package/esm2022/lib/common/data/datasource/fetcher/delegate-data-source.mjs +2 -2
- package/esm2022/lib/common/data/datasource/local/local-list-data-source.mjs +9 -11
- package/esm2022/lib/common/data/datasource/local/local-paged-data-source.mjs +4 -2
- package/esm2022/lib/common/data/datasource/patch/deep-partial-patcher.mjs +58 -0
- package/esm2022/lib/common/data/datasource/public_api.mjs +1 -1
- package/esm2022/lib/common/data/datasource/rest/public_api.mjs +1 -1
- package/esm2022/lib/common/data/datasource/rest/rest-client.mjs +44 -39
- package/esm2022/lib/common/data/entity-set-patch.mjs +6 -9
- package/esm2022/lib/common/data/field-comparator.mjs +2 -2
- package/esm2022/lib/common/data/filters/filter-commons.mjs +1 -1
- package/esm2022/lib/common/data/filters/filter-context.mjs +9 -9
- package/esm2022/lib/common/data/filters/filter-value.mjs +1 -1
- package/esm2022/lib/common/data/filters/filter.mjs +2 -2
- package/esm2022/lib/common/data/http-params-builder.mjs +5 -7
- package/esm2022/lib/common/data/page.mjs +1 -1
- package/esm2022/lib/common/data/public_api.mjs +1 -1
- package/esm2022/lib/common/data/required-filter-evaluator.mjs +7 -10
- package/esm2022/lib/common/data/sort-context.mjs +4 -6
- package/esm2022/lib/common/data/sort.mjs +1 -1
- package/esm2022/lib/common/data/token-chunk-request.mjs +1 -1
- package/esm2022/lib/common/enums/elder-enum-translation.service.mjs +9 -9
- package/esm2022/lib/common/enums/public_api.mjs +1 -1
- package/esm2022/lib/common/errors/exception-detail.mjs +1 -1
- package/esm2022/lib/common/errors/public_api.mjs +1 -1
- package/esm2022/lib/common/errors/standard-error-detail.mjs +1 -1
- package/esm2022/lib/common/format/bytes-format.mjs +2 -9
- package/esm2022/lib/common/format/bytes-per-second-format.mjs +1 -1
- package/esm2022/lib/common/format/curency-format-util.mjs +1 -1
- package/esm2022/lib/common/format/duration-format-util.mjs +1 -1
- package/esm2022/lib/common/format/iso-interval-format-util.mjs +6 -4
- package/esm2022/lib/common/format/public_api.mjs +1 -1
- package/esm2022/lib/common/forms/elder-entity-value-accessor.mjs +7 -7
- package/esm2022/lib/common/forms/elder-form-field-control-base.directive.mjs +7 -7
- package/esm2022/lib/common/forms/elder-from-field-base.mjs +3 -3
- package/esm2022/lib/common/forms/elder-from-field-customizable-base.mjs +1 -1
- package/esm2022/lib/common/forms/elder-from-field-entity-base.mjs +5 -5
- package/esm2022/lib/common/forms/elder-from-field-multi-entity-base.mjs +7 -7
- package/esm2022/lib/common/forms/elder-multi-entity-value-accessor.mjs +7 -7
- package/esm2022/lib/common/forms/form-field-base.component.mjs +3 -4
- package/esm2022/lib/common/forms/multi-model-base.component.mjs +2 -2
- package/esm2022/lib/common/forms/public_api.mjs +1 -1
- package/esm2022/lib/common/forms/template-composite-control.mjs +17 -13
- package/esm2022/lib/common/forms/value-accessor-base.mjs +3 -3
- package/esm2022/lib/common/forms/view-providers.mjs +1 -1
- package/esm2022/lib/common/http/http-client-builder.service.mjs +2 -2
- package/esm2022/lib/common/http/http-client-pristine.mjs +2 -2
- package/esm2022/lib/common/http/public_api.mjs +1 -1
- package/esm2022/lib/common/http/transfer/data-transfer-base.mjs +2 -2
- package/esm2022/lib/common/http/transfer/data-transfer-factory.mjs +4 -4
- package/esm2022/lib/common/http/transfer/data-transfer-progress-aggregate.mjs +6 -5
- package/esm2022/lib/common/http/transfer/data-transfer-progress.mjs +1 -1
- package/esm2022/lib/common/http/transfer/data-transfer-state.mjs +1 -1
- package/esm2022/lib/common/http/transfer/data-transfer-status.mjs +1 -1
- package/esm2022/lib/common/http/transfer/data-transfer.mjs +1 -1
- package/esm2022/lib/common/http/transfer/http-data-transfer.mjs +9 -9
- package/esm2022/lib/common/http/transfer/public_api.mjs +1 -1
- package/esm2022/lib/common/http/upload/file-upload-client.mjs +2 -2
- package/esm2022/lib/common/i18n/entity/impl/i18n-base.mjs +1 -1
- package/esm2022/lib/common/i18n/entity/impl/i18n-text.mjs +1 -1
- package/esm2022/lib/common/i18n/entity/impl/translated.mjs +1 -1
- package/esm2022/lib/common/i18n/entity/language-tag.mjs +1 -1
- package/esm2022/lib/common/i18n/entity/locale.mjs +1 -1
- package/esm2022/lib/common/i18n/entity/localisation-picker.mjs +4 -4
- package/esm2022/lib/common/i18n/entity/localized.mjs +1 -1
- package/esm2022/lib/common/i18n/entity/public_api.mjs +1 -1
- package/esm2022/lib/common/i18n/entity/translated-converter.mjs +4 -4
- package/esm2022/lib/common/i18n/entity/translated.mjs +1 -1
- package/esm2022/lib/common/i18n/public_api.mjs +1 -1
- package/esm2022/lib/common/json-map.mjs +3 -4
- package/esm2022/lib/common/objects.mjs +1 -1
- package/esm2022/lib/common/public_api.mjs +1 -1
- package/esm2022/lib/common/reactive-map.mjs +5 -5
- package/esm2022/lib/common/rxjs/operators/lazy-sample.mjs +2 -2
- package/esm2022/lib/common/rxjs/public_api.mjs +1 -1
- package/esm2022/lib/common/selection/public_api.mjs +1 -1
- package/esm2022/lib/common/selection/selection-model.mjs +8 -8
- package/esm2022/lib/common/sets.mjs +3 -2
- package/esm2022/lib/common/suggestion-provider.mjs +1 -1
- package/esm2022/lib/common/templates/template-slot-manager.mjs +2 -2
- package/esm2022/lib/common/theme-sizes.mjs +1 -1
- package/esm2022/lib/common/time/date-util.mjs +8 -10
- package/esm2022/lib/common/time/interval-coerce.mjs +3 -3
- package/esm2022/lib/common/time/interval.mjs +19 -16
- package/esm2022/lib/common/time/period-duration.mjs +1 -1
- package/esm2022/lib/common/time/public_api.mjs +1 -1
- package/esm2022/lib/common/time/temporal-plain-date-interval.mjs +1 -1
- package/esm2022/lib/common/time/temporal-util.mjs +7 -1
- package/esm2022/lib/common/time/time-util.mjs +3 -6
- package/esm2022/lib/common/url/elder-router.service.mjs +2 -2
- package/esm2022/lib/common/url/elder-url-fragment-params.service.mjs +4 -6
- package/esm2022/lib/common/url/public_api.mjs +1 -1
- package/esm2022/lib/common/url/url-query-params.mjs +2 -2
- package/esm2022/lib/common/utils/batcher.mjs +2 -2
- package/esm2022/lib/common/utils/collection-util.mjs +7 -5
- package/esm2022/lib/common/utils/filter-util.mjs +10 -8
- package/esm2022/lib/common/utils/focus-util.mjs +1 -1
- package/esm2022/lib/common/utils/input-utils.mjs +1 -1
- package/esm2022/lib/common/utils/next-number-util.mjs +4 -3
- package/esm2022/lib/common/utils/ng-zone-utils.mjs +2 -2
- package/esm2022/lib/common/utils/parse-util.mjs +1 -1
- package/esm2022/lib/common/utils/property-path-util.mjs +2 -2
- package/esm2022/lib/common/utils/public_api.mjs +1 -1
- package/esm2022/lib/common/utils/query-list-binding.mjs +5 -4
- package/esm2022/lib/common/utils/sort-util.mjs +2 -2
- package/esm2022/lib/common/utils/url-builder.mjs +1 -1
- package/esm2022/lib/common/utils/uuid-util.mjs +3 -4
- package/esm2022/lib/common/utils/value-wrapper.mjs +1 -1
- package/esm2022/lib/components/access-denied/elder-access-denied.component.mjs +4 -5
- package/esm2022/lib/components/access-denied/elder-access-denied.module.mjs +5 -15
- package/esm2022/lib/components/auditing/audited-entity/elder-audited-entity.component.mjs +16 -6
- package/esm2022/lib/components/auditing/elder-audit.module.mjs +4 -6
- package/esm2022/lib/components/auditing/i-audited-entity.mjs +1 -1
- package/esm2022/lib/components/badge/elder-badge/elder-badge.component.mjs +18 -12
- package/esm2022/lib/components/badge/elder-badge.directive.mjs +7 -7
- package/esm2022/lib/components/badge/elder-badge.module.mjs +4 -4
- package/esm2022/lib/components/button-group/elder-button-group/elder-button-group.component.mjs +3 -5
- package/esm2022/lib/components/button-group/elder-button-group.module.mjs +5 -20
- package/esm2022/lib/components/card-organizer/card-organizer/elder-card-organizer.component.mjs +4 -5
- package/esm2022/lib/components/card-organizer/card-organizer/elder-stack-card.directive.mjs +2 -2
- package/esm2022/lib/components/card-organizer/card-organizer-data.mjs +7 -7
- package/esm2022/lib/components/card-organizer/card-stack/elder-card-stack.component.mjs +24 -12
- package/esm2022/lib/components/card-organizer/card-stack.mjs +3 -3
- package/esm2022/lib/components/card-organizer/elder-card-organizer.module.mjs +18 -7
- package/esm2022/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.mjs +3 -3
- package/esm2022/lib/components/cards/elder-card/elder-card.component.mjs +9 -9
- package/esm2022/lib/components/cards/elder-card/elder-card.module.mjs +16 -10
- package/esm2022/lib/components/chips/elder-chip-label.directive.mjs +3 -3
- package/esm2022/lib/components/chips/elder-chips.module.mjs +3 -5
- package/esm2022/lib/components/connectivity/elder-connectivity.module.mjs +9 -8
- package/esm2022/lib/components/connectivity/elder-connectivity.service.mjs +10 -12
- package/esm2022/lib/components/connectivity/offline-indicator/elder-offline-indicator.component.mjs +3 -3
- package/esm2022/lib/components/connectivity/public_api.mjs +1 -1
- package/esm2022/lib/components/containers/elder-containers.module.mjs +4 -10
- package/esm2022/lib/components/containers/elder-scroll-container/elder-scroll-container.component.mjs +4 -4
- package/esm2022/lib/components/containers/public_api.mjs +1 -1
- package/esm2022/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.mjs +6 -6
- package/esm2022/lib/components/csv/elder-csv-stream-exporter-builder.mjs +2 -4
- package/esm2022/lib/components/csv/elder-csv-stream-exporter-builder.service.mjs +2 -2
- package/esm2022/lib/components/csv/elder-csv-stream-exporter.mjs +12 -12
- package/esm2022/lib/components/csv/elder-csv.module.mjs +6 -19
- package/esm2022/lib/components/currency/elder-currency.module.mjs +6 -18
- package/esm2022/lib/components/currency/elder-currency.pipe.mjs +2 -2
- package/esm2022/lib/components/currency/model/currency-code.mjs +1 -1
- package/esm2022/lib/components/currency/model/currency-unit-registry.mjs +1 -1
- package/esm2022/lib/components/currency/model/currency-unit.mjs +1 -1
- package/esm2022/lib/components/currency/model/currency.mjs +1 -1
- package/esm2022/lib/components/currency/public_api.mjs +1 -1
- package/esm2022/lib/components/data-transfer/elder-data-transfer.module.mjs +28 -16
- package/esm2022/lib/components/data-transfer/elder-data-transfer.service.mjs +12 -10
- package/esm2022/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.mjs +23 -12
- package/esm2022/lib/components/data-transfer/http-data-transfer-aggregate/http-data-transfer-aggregate.component.mjs +3 -3
- package/esm2022/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.mjs +13 -3
- package/esm2022/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.mjs +11 -3
- package/esm2022/lib/components/data-view/base/data-view-options-provider-binding.mjs +4 -2
- package/esm2022/lib/components/data-view/base/elder-data-view-base.mjs +4 -5
- package/esm2022/lib/components/data-view/base/elder-data-view-options-provider.mjs +1 -1
- package/esm2022/lib/components/data-view/base/elder-data-view-options.mjs +1 -1
- package/esm2022/lib/components/data-view/base/elder-data-view.mjs +1 -1
- package/esm2022/lib/components/data-view/base/public_api.mjs +1 -1
- package/esm2022/lib/components/data-view/common/composite-sort/composite-sort-context.mjs +2 -2
- package/esm2022/lib/components/data-view/common/composite-sort/composite-sort-dc.directive.mjs +5 -7
- package/esm2022/lib/components/data-view/common/composite-sort/composite-sort.mjs +4 -5
- package/esm2022/lib/components/data-view/common/composite-sort/elder-composite-sort/elder-composite-sort.component.mjs +6 -6
- package/esm2022/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.mjs +4 -5
- package/esm2022/lib/components/data-view/common/elder-data-common.module.mjs +38 -20
- package/esm2022/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.mjs +5 -13
- package/esm2022/lib/components/data-view/common/elder-single-sort/elder-single-sort.component.mjs +16 -6
- package/esm2022/lib/components/data-view/common/selection/data-context-selection.directive.mjs +6 -4
- package/esm2022/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.mjs +4 -5
- package/esm2022/lib/components/data-view/common/selection/master-selection-state.mjs +1 -1
- package/esm2022/lib/components/data-view/elder-data-view-interaction-mode.mjs +1 -1
- package/esm2022/lib/components/data-view/grid/elder-grid/elder-grid.component.mjs +46 -26
- package/esm2022/lib/components/data-view/grid/elder-grid.module.mjs +30 -21
- package/esm2022/lib/components/data-view/master-detail/elder-detail-dialog/elder-detail-dialog.component.mjs +15 -9
- package/esm2022/lib/components/data-view/master-detail/elder-detail.directive.mjs +5 -7
- package/esm2022/lib/components/data-view/master-detail/elder-master-activation.directive.mjs +8 -6
- package/esm2022/lib/components/data-view/master-detail/elder-master-detail-provider.mjs +2 -2
- package/esm2022/lib/components/data-view/master-detail/elder-master-detail.component.mjs +19 -25
- package/esm2022/lib/components/data-view/master-detail/elder-master-detail.module.mjs +4 -4
- package/esm2022/lib/components/data-view/master-detail/elder-master-detail.service.mjs +5 -4
- package/esm2022/lib/components/data-view/master-detail/elder-master.directive.mjs +2 -2
- package/esm2022/lib/components/data-view/master-detail/master-detail-activation-event.mjs +1 -1
- package/esm2022/lib/components/data-view/public_api.mjs +1 -1
- package/esm2022/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.component.mjs +4 -5
- package/esm2022/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.module.mjs +41 -16
- package/esm2022/lib/components/data-view/table/activation/activation-event-source.mjs +1 -1
- package/esm2022/lib/components/data-view/table/activation/elder-activation-context.mjs +1 -1
- package/esm2022/lib/components/data-view/table/activation/elder-delete-active.directive.mjs +6 -6
- package/esm2022/lib/components/data-view/table/activation/elder-table-activation-options.mjs +1 -1
- package/esm2022/lib/components/data-view/table/activation/elder-table-activation.directive.mjs +23 -15
- package/esm2022/lib/components/data-view/table/activation/item-activation-event.mjs +1 -1
- package/esm2022/lib/components/data-view/table/activation/item-activation-options.mjs +1 -1
- package/esm2022/lib/components/data-view/table/activation/public_api.mjs +1 -1
- package/esm2022/lib/components/data-view/table/elder-center-cell.directive.mjs +4 -5
- package/esm2022/lib/components/data-view/table/elder-number-cell.directive.mjs +3 -3
- package/esm2022/lib/components/data-view/table/elder-paginator-intl.mjs +8 -7
- package/esm2022/lib/components/data-view/table/elder-table/elder-table-toolbar.directive.mjs +2 -2
- package/esm2022/lib/components/data-view/table/elder-table/elder-table.component.mjs +54 -38
- package/esm2022/lib/components/data-view/table/elder-table-column.directive.mjs +2 -2
- package/esm2022/lib/components/data-view/table/elder-table-extension.directive.mjs +6 -11
- package/esm2022/lib/components/data-view/table/elder-table-root.directive.mjs +4 -8
- package/esm2022/lib/components/data-view/table/elder-table-row.directive.mjs +8 -6
- package/esm2022/lib/components/data-view/table/elder-table-sort.directive.mjs +2 -2
- package/esm2022/lib/components/data-view/table/elder-table.module.mjs +57 -25
- package/esm2022/lib/components/data-view/table/model/elder-column-layout.mjs +7 -7
- package/esm2022/lib/components/data-view/table/model/elder-table-model-cdk-table-binding.mjs +15 -11
- package/esm2022/lib/components/data-view/table/model/elder-table-model-provider.mjs +4 -4
- package/esm2022/lib/components/data-view/table/model/elder-table-model-query-group.mjs +11 -9
- package/esm2022/lib/components/data-view/table/model/elder-table-model.mjs +7 -5
- package/esm2022/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.mjs +13 -3
- package/esm2022/lib/components/dialogs/elder-dialog-config.mjs +1 -1
- package/esm2022/lib/components/dialogs/elder-dialog.module.mjs +34 -13
- package/esm2022/lib/components/dialogs/elder-dialog.service.mjs +19 -22
- package/esm2022/lib/components/dialogs/question-dialog/elder-question-dialog.component.mjs +17 -5
- package/esm2022/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.mjs +4 -5
- package/esm2022/lib/components/dialogs/selection-dialog/elder-selection-dialog.directive.mjs +5 -5
- package/esm2022/lib/components/errors/elder-error.module.mjs +4 -6
- package/esm2022/lib/components/errors/error-util.mjs +4 -4
- package/esm2022/lib/components/errors/exception-detail/elder-exception-detail.component.mjs +17 -6
- package/esm2022/lib/components/expand-toggle-button/elder-expand-toggle-button.component.mjs +3 -3
- package/esm2022/lib/components/expand-toggle-button/elder-expand-toggle-button.module.mjs +15 -8
- package/esm2022/lib/components/files/blob-url.mjs +1 -1
- package/esm2022/lib/components/files/blob-viewer/elder-blob-viewer.component.mjs +16 -11
- package/esm2022/lib/components/files/drag-n-drop/elder-drop-zone/elder-drop-zone.component.mjs +3 -3
- package/esm2022/lib/components/files/drag-n-drop/global-drag-drop.service.mjs +4 -4
- package/esm2022/lib/components/files/elder-file-drop-zone.directive.mjs +7 -7
- package/esm2022/lib/components/files/elder-file-select-input.mjs +3 -3
- package/esm2022/lib/components/files/elder-file-select.directive.mjs +14 -16
- package/esm2022/lib/components/files/elder-file.module.mjs +16 -10
- package/esm2022/lib/components/files/file-select/file-select.component.mjs +5 -6
- package/esm2022/lib/components/files/file-system-api.mjs +2 -2
- package/esm2022/lib/components/files/file-upload/file-upload.component.mjs +16 -3
- package/esm2022/lib/components/files/listing/file-entry.mjs +3 -3
- package/esm2022/lib/components/files/listing/file-listing-rx.mjs +5 -5
- package/esm2022/lib/components/files/listing/file-listing-system-handle.mjs +3 -3
- package/esm2022/lib/components/files/listing/file-listing-webkit.mjs +10 -11
- package/esm2022/lib/components/forms/clipboard/elder-clipboard.service.mjs +2 -2
- package/esm2022/lib/components/forms/directives/base/elder-class-hostbinding-base.mjs +1 -1
- package/esm2022/lib/components/forms/directives/elder-clipboard-put.directive.mjs +5 -3
- package/esm2022/lib/components/forms/directives/elder-delayed-focus.directive.mjs +2 -2
- package/esm2022/lib/components/forms/directives/elder-form-field-dense.directive.mjs +1 -1
- package/esm2022/lib/components/forms/directives/elder-form-field-label.directive.mjs +2 -2
- package/esm2022/lib/components/forms/directives/elder-form-field-no-hint.directive.mjs +2 -2
- package/esm2022/lib/components/forms/directives/elder-form-field-no-spinner.directive.mjs +2 -2
- package/esm2022/lib/components/forms/directives/elder-forms-directives.module.mjs +13 -6
- package/esm2022/lib/components/forms/directives/elder-initial-value.directive.mjs +5 -5
- package/esm2022/lib/components/forms/directives/elder-input-pattern.directive.mjs +2 -2
- package/esm2022/lib/components/forms/directives/elder-key-event.directive.mjs +2 -2
- package/esm2022/lib/components/forms/directives/elder-next-focusable.directive.mjs +3 -3
- package/esm2022/lib/components/forms/directives/elder-plug-parent-form.directive.mjs +6 -6
- package/esm2022/lib/components/forms/directives/elder-stop-event-propagation.directive.mjs +2 -2
- package/esm2022/lib/components/forms/directives/elder-tab-focus-trap.directive.mjs +13 -10
- package/esm2022/lib/components/forms/directives/elder-touched.directive.mjs +2 -2
- package/esm2022/lib/components/forms/directives/elder-triple-state-checkbox.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/validation/elder-validation-error.directive.mjs +5 -3
- package/esm2022/lib/components/forms/directives/validation/strategies/common-validation-message-strategy.mjs +2 -2
- package/esm2022/lib/components/forms/directives/validation/strategies/dynamic-validation-message-strategy.mjs +2 -2
- package/esm2022/lib/components/forms/directives/validation/strategies/fallback-validation-message-strategy.mjs +1 -1
- package/esm2022/lib/components/forms/directives/validation/validation-message-renderer.service.mjs +4 -6
- package/esm2022/lib/components/forms/directives/validation/validation-message-strategy.mjs +1 -1
- package/esm2022/lib/components/forms/directives/validation/validators/elder-max.validator.mjs +4 -9
- package/esm2022/lib/components/forms/directives/validation/validators/elder-min.validator.mjs +4 -9
- package/esm2022/lib/components/forms/directives/validation/validators/elder-multiple-of.validator.mjs +12 -11
- package/esm2022/lib/components/forms/directives/validation/validators/elder-required-ignore-zero.validator.mjs +4 -4
- package/esm2022/lib/components/forms/elder-forms.module.mjs +1 -1
- package/esm2022/lib/components/forms/public_api.mjs +1 -1
- package/esm2022/lib/components/forms/search/domain/context/search-context.mjs +7 -3
- package/esm2022/lib/components/forms/search/domain/context/search-context.service.mjs +2 -2
- package/esm2022/lib/components/forms/search/domain/input/input-value.mjs +1 -1
- package/esm2022/lib/components/forms/search/domain/input/search-input-state.mjs +2 -2
- package/esm2022/lib/components/forms/search/domain/input/search-input.mjs +1 -1
- package/esm2022/lib/components/forms/search/domain/input/simple-search-input.mjs +1 -1
- package/esm2022/lib/components/forms/search/domain/url/elder-search-url.directive.mjs +14 -8
- package/esm2022/lib/components/forms/search/domain/url/elder-search-url.service.mjs +15 -12
- package/esm2022/lib/components/forms/search/domain/url/search-query-params-parser.mjs +3 -3
- package/esm2022/lib/components/forms/search/elder-search-context.directive.mjs +30 -25
- package/esm2022/lib/components/forms/search/elder-search-input.directive.mjs +14 -19
- package/esm2022/lib/components/forms/search/elder-search.module.mjs +24 -13
- package/esm2022/lib/components/forms/search/filter/default-input-filter-converter.mjs +2 -4
- package/esm2022/lib/components/forms/search/filter/input-filter-converter.mjs +1 -1
- package/esm2022/lib/components/forms/search/search-box/elder-search-box.component.mjs +27 -8
- package/esm2022/lib/components/forms/search/search-box/elder-search-panel.component.mjs +4 -4
- package/esm2022/lib/components/global-search/elder-global-search.component.mjs +19 -10
- package/esm2022/lib/components/global-search/elder-global-search.module.mjs +24 -6
- package/esm2022/lib/components/global-search/elder-global-search.service.mjs +8 -6
- package/esm2022/lib/components/graph/elder-progress-bar/elder-progress-bar.component.mjs +6 -6
- package/esm2022/lib/components/graph/elder-progress-bar/elder-progress-bar.module.mjs +4 -10
- package/esm2022/lib/components/graph/elder-progress-bar/sub-bar.mjs +1 -1
- package/esm2022/lib/components/graph/public_api.mjs +1 -1
- package/esm2022/lib/components/headers/elder-header/elder-header.component.mjs +3 -3
- package/esm2022/lib/components/headers/elder-header.module.mjs +12 -14
- package/esm2022/lib/components/http-support/elder-http-client.service.mjs +4 -9
- package/esm2022/lib/components/http-support/public_api.mjs +1 -1
- package/esm2022/lib/components/i18n/entities/elder-i18n-entities.module.mjs +3 -3
- package/esm2022/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.mjs +31 -20
- package/esm2022/lib/components/i18n/entities/elder-localized-input-dialog/elder-localized-input-dialog.component.mjs +14 -5
- package/esm2022/lib/components/i18n/entities/elder-localized-input-dialog.service.mjs +4 -4
- package/esm2022/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.mjs +42 -19
- package/esm2022/lib/components/i18n/entities/elder-localized-text-column.directive.mjs +2 -2
- package/esm2022/lib/components/i18n/entities/elder-localized-texts.directive.mjs +4 -5
- package/esm2022/lib/components/i18n/entities/picker/i18n-pick-async.pipe.mjs +3 -3
- package/esm2022/lib/components/i18n/entities/picker/i18n-pick.pipe.mjs +2 -2
- package/esm2022/lib/components/i18n/entities/picker/localisation-picker.service.mjs +6 -6
- package/esm2022/lib/components/i18n/language/elder-language-config.mjs +1 -1
- package/esm2022/lib/components/i18n/language/elder-language-interceptor.mjs +8 -7
- package/esm2022/lib/components/i18n/language/elder-language.module.mjs +11 -10
- package/esm2022/lib/components/i18n/language/elder-language.service.mjs +3 -4
- package/esm2022/lib/components/i18n/language/language-switcher/elder-language-switcher.component.mjs +17 -5
- package/esm2022/lib/components/i18n/locales/elder-locales-de-ch.module.mjs +7 -7
- package/esm2022/lib/components/i18n/public_api.mjs +1 -1
- package/esm2022/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.mjs +13 -13
- package/esm2022/lib/components/iframes/data-view/data-view-iframe-adapter.directive.mjs +13 -11
- package/esm2022/lib/components/iframes/elder-iframe.module.mjs +4 -4
- package/esm2022/lib/components/iframes/iframe-close.directive.mjs +2 -3
- package/esm2022/lib/components/iframes/iframe-dialog/iframe-dialog.component.mjs +3 -3
- package/esm2022/lib/components/iframes/iframe-host/iframe-host.component.mjs +12 -4
- package/esm2022/lib/components/iframes/iframe-messages.mjs +1 -1
- package/esm2022/lib/components/iframes/iframe-side-content/iframe-side-content.component.mjs +11 -9
- package/esm2022/lib/components/iframes/iframe.service.mjs +7 -5
- package/esm2022/lib/components/iframes/typed-event-message.mjs +1 -1
- package/esm2022/lib/components/infinitescroll/elder-infinite-autocomplete.directive.mjs +10 -6
- package/esm2022/lib/components/infinitescroll/elder-infinite-scroll.directive.mjs +12 -7
- package/esm2022/lib/components/infinitescroll/elder-infinite-scroll.module.mjs +4 -10
- package/esm2022/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete-option-selected.mjs +1 -1
- package/esm2022/lib/components/input/autocomplete/elder-autocomplete/elder-suggestion-panel.component.mjs +26 -17
- package/esm2022/lib/components/input/autocomplete/elder-autocomplete-many.directive.mjs +11 -7
- package/esm2022/lib/components/input/autocomplete/elder-autocomplete.directive.mjs +8 -6
- package/esm2022/lib/components/input/autocomplete/elder-autocomplete.module.mjs +9 -6
- package/esm2022/lib/components/input/autocomplete/many/word-position-finder.mjs +1 -1
- package/esm2022/lib/components/input/public_api.mjs +1 -1
- package/esm2022/lib/components/labels/elder-labels.module.mjs +26 -8
- package/esm2022/lib/components/labels/labels-input/labels-input.component.mjs +28 -11
- package/esm2022/lib/components/measures/dimensions/dimensions-input/elder-dimensions-input.component.mjs +22 -21
- package/esm2022/lib/components/measures/dimensions/validation/elder-required-dimensions.validator.mjs +4 -4
- package/esm2022/lib/components/measures/directives/elder-unit-select.directive.mjs +2 -2
- package/esm2022/lib/components/measures/elder-measures.module.mjs +7 -19
- package/esm2022/lib/components/measures/elder-quantity-transform.pipe.mjs +2 -2
- package/esm2022/lib/components/measures/elder-quantity.pipe.mjs +2 -2
- package/esm2022/lib/components/measures/elder-unit.service.mjs +4 -6
- package/esm2022/lib/components/measures/model/dimensions.mjs +1 -1
- package/esm2022/lib/components/measures/model/quantity.mjs +1 -1
- package/esm2022/lib/components/measures/model/unit-dimension.mjs +1 -1
- package/esm2022/lib/components/measures/model/unit-registry.mjs +1 -1
- package/esm2022/lib/components/measures/model/unit.mjs +1 -1
- package/esm2022/lib/components/measures/public_api.mjs +1 -1
- package/esm2022/lib/components/measures/quantity-input/quantity-form-field/elder-quantity-form-field.component.mjs +13 -3
- package/esm2022/lib/components/measures/quantity-input/quantity-input-control/elder-quantity-input-control.component.mjs +18 -16
- package/esm2022/lib/components/measures/quantity-input/validation/elder-quantity-range.validator.mjs +4 -8
- package/esm2022/lib/components/measures/quantity-input/validation/elder-required-quantity.validator.mjs +4 -8
- package/esm2022/lib/components/measures/util/elder-quantity.service.mjs +15 -10
- package/esm2022/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.mjs +26 -6
- package/esm2022/lib/components/navigation/bread-crumbs/elder-bread-crumbs.module.mjs +12 -8
- package/esm2022/lib/components/navigation/bread-crumbs/path/path.mjs +1 -1
- package/esm2022/lib/components/navigation/nav/elder-nav.module.mjs +26 -20
- package/esm2022/lib/components/navigation/nav/nav-group/elder-nav-group.component.mjs +15 -21
- package/esm2022/lib/components/navigation/nav/nav-link/elder-nav-link.component.mjs +20 -7
- package/esm2022/lib/components/navigation/nav/nav-list/elder-nav-list.component.mjs +3 -3
- package/esm2022/lib/components/navigation/public_api.mjs +1 -1
- package/esm2022/lib/components/navigation/toolbar/elder-toolbar-column.directive.mjs +2 -2
- package/esm2022/lib/components/navigation/toolbar/elder-toolbar.module.mjs +26 -20
- package/esm2022/lib/components/navigation/toolbar/elder-toolbar.service.mjs +2 -2
- package/esm2022/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.mjs +12 -7
- package/esm2022/lib/components/navigation/toolbar/toolbar-column-position.mjs +1 -1
- package/esm2022/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.mjs +4 -5
- package/esm2022/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.service.mjs +5 -4
- package/esm2022/lib/components/overlays/elder-overlay-origin.directive.mjs +2 -2
- package/esm2022/lib/components/overlays/elder-overlay-ref.mjs +1 -1
- package/esm2022/lib/components/overlays/elder-overlay-trigger.directive.mjs +3 -3
- package/esm2022/lib/components/overlays/elder-overlay.component.mjs +23 -14
- package/esm2022/lib/components/overlays/elder-overlay.module.mjs +4 -10
- package/esm2022/lib/components/page/exit-guard/page-exit-guard.module.mjs +5 -12
- package/esm2022/lib/components/page/exit-guard/page-exit-guard.service.mjs +6 -6
- package/esm2022/lib/components/page/exit-guard/page-exit-lock/page-exit-lock.component.mjs +3 -5
- package/esm2022/lib/components/page/exit-guard/page-exit-lock-indicator/page-exit-lock-indicator.component.mjs +3 -8
- package/esm2022/lib/components/page/exit-guard/page-exit-lock-overview/page-exit-lock-overview.component.mjs +3 -7
- package/esm2022/lib/components/panels/card-panel/elder-card-panel.component.mjs +3 -3
- package/esm2022/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.mjs +3 -3
- package/esm2022/lib/components/panels/elder-panel.module.mjs +10 -7
- package/esm2022/lib/components/panels/flat/elder-panel.component.mjs +4 -4
- package/esm2022/lib/components/panels/toggle-panel/elder-toggle-panel-trigger.directive.mjs +2 -2
- package/esm2022/lib/components/panels/toggle-panel/elder-toggle-panel.component.mjs +6 -6
- package/esm2022/lib/components/public_api.mjs +1 -1
- package/esm2022/lib/components/scrollbar/elder-scrollbar.directive.mjs +2 -2
- package/esm2022/lib/components/scrollbar/elder-scrollbar.module.mjs +2 -2
- package/esm2022/lib/components/select/auto/elder-auto-select-first.directive.mjs +5 -8
- package/esm2022/lib/components/select/auto/elder-auto-select-first.service.mjs +1 -1
- package/esm2022/lib/components/select/auto/elder-auto-select-suggest-first.directive.mjs +7 -9
- package/esm2022/lib/components/select/auto/elder-select-first-util.mjs +7 -4
- package/esm2022/lib/components/select/elder-select-base.mjs +12 -13
- package/esm2022/lib/components/select/elder-select-chip.directive.mjs +4 -4
- package/esm2022/lib/components/select/elder-select-on-tab.directive.mjs +10 -5
- package/esm2022/lib/components/select/elder-select-value.directive.mjs +2 -2
- package/esm2022/lib/components/select/elder-select.module.mjs +65 -29
- package/esm2022/lib/components/select/filter/elder-chip-filter-style-resolver.mjs +9 -9
- package/esm2022/lib/components/select/filter/elder-chips-include-exclude.directive.mjs +19 -15
- package/esm2022/lib/components/select/filter/elder-filter-chip-template/elder-filter-chip-template.component.mjs +3 -3
- package/esm2022/lib/components/select/filter/include-exclude-model-filter-adapter.mjs +6 -8
- package/esm2022/lib/components/select/filter/include-exclude-selection-model.mjs +7 -11
- package/esm2022/lib/components/select/multi/elder-chip-select-option/elder-select-option.component.mjs +2 -3
- package/esm2022/lib/components/select/multi/elder-multi-select-base.mjs +29 -27
- package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/chip-options-provider.mjs +12 -10
- package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/elder-multi-select-chip-options.component.mjs +40 -29
- package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/select-option-chip-spec.mjs +4 -4
- package/esm2022/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.mjs +41 -21
- package/esm2022/lib/components/select/multi/elder-multi-select-chips/select-chip-spec.mjs +4 -4
- package/esm2022/lib/components/select/multi/elder-multi-select-form-field.mjs +2 -2
- package/esm2022/lib/components/select/multi/elder-mutli-select-all-directive.mjs +7 -8
- package/esm2022/lib/components/select/multi/elder-search-include-exclude.directive.mjs +8 -10
- package/esm2022/lib/components/select/popup/selection-model-popup-trigger-adapter.directive.mjs +7 -5
- package/esm2022/lib/components/select/popup/selection-model-popup.directive.mjs +13 -13
- package/esm2022/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.mjs +15 -5
- package/esm2022/lib/components/select/public_api.mjs +1 -1
- package/esm2022/lib/components/select/single/elder-clear-select.directive.mjs +5 -3
- package/esm2022/lib/components/select/single/elder-select/elder-select.component.mjs +39 -29
- package/esm2022/lib/components/select/single/elder-select-form-field.mjs +1 -1
- package/esm2022/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.mjs +11 -12
- package/esm2022/lib/components/select-chip-list/elder-chip-list-select.module.mjs +3 -5
- package/esm2022/lib/components/shell/drawers/drawer-outlet-binding.mjs +8 -4
- package/esm2022/lib/components/shell/drawers/elder-route-outlet-drawer.service.mjs +6 -4
- package/esm2022/lib/components/shell/drawers/elder-router-outlet.service.mjs +7 -7
- package/esm2022/lib/components/shell/elder-shell-slot.directive.mjs +2 -2
- package/esm2022/lib/components/shell/elder-shell.module.mjs +10 -7
- package/esm2022/lib/components/shell/elder-shell.service.mjs +6 -9
- package/esm2022/lib/components/shell/header/elder-app-header/elder-app-header.component.mjs +6 -6
- package/esm2022/lib/components/shell/shell/elder-shell.component.mjs +34 -14
- package/esm2022/lib/components/shell/shell-content-slot.mjs +1 -1
- package/esm2022/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.mjs +5 -5
- package/esm2022/lib/components/tabs/elder-tab/elder-tab.directive.mjs +2 -2
- package/esm2022/lib/components/tabs/elder-tab-group-routing/elder-tab-group-routing.directive.mjs +12 -12
- package/esm2022/lib/components/tabs/elder-tab.module.mjs +4 -14
- package/esm2022/lib/components/theme/elder-theme-applier.directive.mjs +5 -6
- package/esm2022/lib/components/theme/elder-theme-preference.service.mjs +3 -4
- package/esm2022/lib/components/theme/elder-theme-toggle/elder-theme-toggle.component.mjs +6 -7
- package/esm2022/lib/components/theme/elder-theme.directive.mjs +5 -3
- package/esm2022/lib/components/theme/elder-theme.module.mjs +9 -15
- package/esm2022/lib/components/theme/elder-theme.service.mjs +7 -9
- package/esm2022/lib/components/theme/known-elder-themes.mjs +1 -1
- package/esm2022/lib/components/theme/public_api.mjs +1 -1
- package/esm2022/lib/components/theme/theme-spec.mjs +3 -7
- package/esm2022/lib/components/time/date-adapters/custom-date-adapter.mjs +1 -1
- package/esm2022/lib/components/time/date-formats/locale-date-formats.mjs +2 -2
- package/esm2022/lib/components/time/duration/duration-bucket.mjs +3 -2
- package/esm2022/lib/components/time/duration/duration-format.mjs +1 -1
- package/esm2022/lib/components/time/duration/elder-duration-input/elder-duration-input.component.mjs +6 -12
- package/esm2022/lib/components/time/duration/iso-duration-str.mjs +1 -1
- package/esm2022/lib/components/time/elder-date-switcher/elder-date-switcher.component.mjs +13 -7
- package/esm2022/lib/components/time/elder-date-time-input/elder-date-time-input.component.mjs +7 -13
- package/esm2022/lib/components/time/elder-interval-input/elder-interval-input.component.mjs +27 -27
- package/esm2022/lib/components/time/elder-interval-picker/elder-interval-picker-binding.directive.mjs +1 -1
- package/esm2022/lib/components/time/elder-interval-picker/elder-interval-picker-toggle/elder-interval-picker-toggle.component.mjs +15 -18
- package/esm2022/lib/components/time/elder-interval-picker/elder-interval-picker.component.mjs +8 -11
- package/esm2022/lib/components/time/elder-interval-picker/elder-interval-picker.service.mjs +16 -11
- package/esm2022/lib/components/time/elder-local-date-input/elder-local-date-input.component.mjs +22 -13
- package/esm2022/lib/components/time/elder-local-time-input/elder-local-time-input.component.mjs +7 -13
- package/esm2022/lib/components/time/elder-time.module.mjs +29 -21
- package/esm2022/lib/components/time/period/elder-period-input/elder-period-input.component.mjs +6 -12
- package/esm2022/lib/components/time/period/period-bucket.mjs +1 -1
- package/esm2022/lib/components/time/period/period-format.mjs +1 -1
- package/esm2022/lib/components/time/pipes/to-iso-date-string.pipe.mjs +2 -2
- package/esm2022/lib/components/time/public_api.mjs +1 -1
- package/esm2022/lib/components/toasts/elder-toast.module.mjs +18 -4
- package/esm2022/lib/components/toasts/elder-toast.service.mjs +9 -10
- package/esm2022/lib/components/toasts/standard-toast/standard-toast.component.mjs +21 -14
- package/esm2022/lib/components/toasts/toast-type.mjs +1 -1
- package/esm2022/lib/components/toasts/toast.mjs +1 -1
- package/esm2022/lib/components/url-fragment/elder-url-fragment.mjs +1 -1
- package/esm2022/lib/components/url-fragment/elder-url-fragment.module.mjs +3 -5
- package/esm2022/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.mjs +16 -5
- package/esm2022/lib/components/viewers/elder-svg-viewer/elder-svg-viewer.component.mjs +3 -4
- package/esm2022/lib/components/viewers/elder-viewers.module.mjs +4 -10
- package/esm2022/lib/features/event-source/fetch/public_api.mjs +1 -1
- package/esm2022/lib/features/event-source/fetch/reactive-fetch-event-source.mjs +14 -14
- package/esm2022/lib/features/event-source/fetch/reactive-fetch-event-source.service.mjs +2 -2
- package/esm2022/lib/features/event-source/public_api.mjs +1 -1
- package/esm2022/lib/features/event-source/standard/elder-event-source.service.mjs +2 -2
- package/esm2022/lib/features/event-source/standard/public_api.mjs +1 -1
- package/esm2022/lib/features/event-source/standard/reactive-event-source.mjs +8 -7
- package/esm2022/lib/features/kafent/access-token-provider.mjs +1 -1
- package/esm2022/lib/features/kafent/kafent-config.mjs +1 -1
- package/esm2022/lib/features/kafent/kafent-event-stream.mjs +1 -1
- package/esm2022/lib/features/kafent/kafent-event.mjs +1 -1
- package/esm2022/lib/features/kafent/kafent-event.service.mjs +16 -8
- package/esm2022/lib/features/kafent/kafent-live-event-request.mjs +1 -1
- package/esm2022/lib/features/kafent/kafent.module.mjs +10 -13
- package/esm2022/lib/features/kafent/sse/kafent-event-stream-sse.service.mjs +12 -9
- package/esm2022/lib/features/kafent/sse/kafent-topic-sse.mjs +2 -3
- package/esm2022/lib/features/public_api.mjs +1 -1
- package/esm2022/lib/pipes/bytes.pipe.mjs +2 -2
- package/esm2022/lib/pipes/elder-pipes.module.mjs +52 -8
- package/esm2022/lib/pipes/elder-repeat.pipe.mjs +2 -2
- package/esm2022/lib/pipes/elder-round.pipe.mjs +2 -2
- package/esm2022/lib/pipes/elder-safe-url.pipe.mjs +2 -2
- package/esm2022/lib/pipes/elder-truncate.pipe.mjs +3 -3
- package/esm2022/lib/pipes/iso-duration.pipe.mjs +2 -2
- package/esm2022/lib/pipes/iso-interval-parse.pipe.mjs +4 -5
- package/esm2022/lib/pipes/iso-interval.pipe.mjs +2 -2
- package/esm2022/lib/pipes/public_api.mjs +1 -1
- package/esm2022/lib/pipes/time-ago.pipe.mjs +12 -7
- package/esm2022/lib/pipes/time-duration.pipe.mjs +6 -4
- package/esm2022/lib/pipes/weight.pipe.mjs +4 -3
- package/esm2022/public_api.mjs +1 -1
- package/fesm2022/elderbyte-ngx-starter.mjs +3054 -2329
- package/fesm2022/elderbyte-ngx-starter.mjs.map +1 -1
- package/lib/common/arrays.d.ts +1 -1
- package/lib/common/data/data-context/data-context-active-page.d.ts +1 -1
- package/lib/common/data/data-context/data-context-base.d.ts +1 -1
- package/lib/common/data/data-context/data-context-builder.d.ts +2 -2
- package/lib/common/data/data-context/data-context-continuable-base.d.ts +1 -1
- package/lib/common/data/data-context/data-context-continuable-paged.d.ts +1 -1
- package/lib/common/data/data-context/data-context-continuable-token.d.ts +1 -1
- package/lib/common/data/data-context/data-context-simple.d.ts +1 -1
- package/lib/common/data/data-context/data-context-source-event-binding.d.ts +2 -5
- package/lib/common/data/datasource/data-source-change-event.d.ts +14 -5
- package/lib/common/data/datasource/local/local-list-data-source.d.ts +3 -3
- package/lib/common/data/datasource/local/local-paged-data-source.d.ts +1 -1
- package/lib/common/data/datasource/patch/deep-partial-patcher.d.ts +28 -0
- package/lib/common/json-map.d.ts +1 -1
- package/lib/common/selection/selection-model.d.ts +2 -2
- package/lib/common/time/interval.d.ts +4 -4
- package/lib/common/time/temporal-util.d.ts +2 -0
- package/lib/common/utils/collection-util.d.ts +1 -1
- package/lib/components/card-organizer/card-organizer-data.d.ts +3 -3
- package/lib/components/card-organizer/card-stack.d.ts +2 -2
- package/lib/components/data-view/base/elder-data-view-options-provider.d.ts +1 -1
- package/lib/components/data-view/common/elder-data-common.module.d.ts +1 -1
- package/lib/components/data-view/elder-data-view-interaction-mode.d.ts +2 -2
- package/lib/components/data-view/grid/elder-grid.module.d.ts +1 -1
- package/lib/components/forms/search/elder-search-input.directive.d.ts +1 -1
- package/lib/components/navigation/toolbar/elder-toolbar.module.d.ts +1 -1
- package/lib/components/navigation/toolbar/toolbar-column-position.d.ts +3 -3
- package/lib/components/select/elder-select.module.d.ts +1 -1
- package/lib/components/time/elder-interval-input/elder-interval-input.component.d.ts +4 -4
- package/lib/components/time/elder-interval-picker/elder-interval-picker-toggle/elder-interval-picker-toggle.component.d.ts +2 -2
- package/lib/components/time/elder-interval-picker/elder-interval-picker.component.d.ts +2 -1
- package/lib/components/time/elder-interval-picker/elder-interval-picker.service.d.ts +4 -2
- package/package.json +1 -1
- package/src/assets/i18n/de.json +0 -1
- package/src/assets/i18n/en.json +0 -1
- package/src/lib/components/access-denied/elder-access-denied.component.scss +1 -5
- package/src/lib/components/auditing/audited-entity/elder-audited-entity.component.scss +0 -1
- package/src/lib/components/badge/elder-badge/elder-badge.component.scss +2 -7
- package/src/lib/components/card-organizer/card-organizer/elder-card-organizer.component.scss +0 -1
- package/src/lib/components/card-organizer/card-stack/elder-card-stack.component.scss +4 -14
- package/src/lib/components/cards/elder-card/elder-card.component.scss +3 -9
- package/src/lib/components/chips/_elder-chip-theme.scss +5 -9
- package/src/lib/components/containers/elder-scroll-container/elder-scroll-container.component.scss +0 -1
- package/src/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.scss +0 -1
- package/src/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.scss +0 -1
- package/src/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.scss +4 -5
- package/src/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.scss +1 -1
- package/src/lib/components/data-view/grid/elder-grid/elder-grid.component.scss +21 -13
- package/src/lib/components/data-view/table/elder-table/elder-table.component.scss +12 -21
- package/src/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.scss +2 -3
- package/src/lib/components/errors/exception-detail/elder-exception-detail.component.scss +2 -4
- package/src/lib/components/expand-toggle-button/elder-expand-toggle-button.component.scss +0 -4
- package/src/lib/components/files/blob-viewer/elder-blob-viewer.component.scss +2 -4
- package/src/lib/components/files/drag-n-drop/elder-drop-zone/elder-drop-zone.component.scss +2 -7
- package/src/lib/components/forms/search/search-box/elder-search-box.component.scss +0 -2
- package/src/lib/components/global-search/elder-global-search.component.scss +1 -2
- package/src/lib/components/graph/elder-progress-bar/elder-progress-bar.component.scss +0 -1
- package/src/lib/components/iframes/iframe-host/iframe-host.component.scss +0 -1
- package/src/lib/components/labels/labels-input/labels-input.component.scss +0 -2
- package/src/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.scss +0 -2
- package/src/lib/components/navigation/nav/_elder-nav-theme.scss +4 -8
- package/src/lib/components/navigation/nav/nav-group/elder-nav-group.component.scss +6 -6
- package/src/lib/components/navigation/nav/nav-list/elder-nav-list.component.scss +0 -1
- package/src/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.scss +1 -2
- package/src/lib/components/panels/card-panel/elder-card-panel.component.scss +0 -3
- package/src/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.scss +0 -1
- package/src/lib/components/panels/flat/_elder-panel-theme.scss +0 -2
- package/src/lib/components/panels/flat/elder-panel.component.scss +1 -2
- package/src/lib/components/select/_elder-select-base.scss +0 -1
- package/src/lib/components/select/filter/elder-filter-chip-template/elder-filter-chip-template.component.scss +7 -7
- package/src/lib/components/select/multi/elder-multi-select-chip-options/elder-multi-select-chip-options.component.scss +3 -4
- package/src/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.scss +7 -7
- package/src/lib/components/select/single/elder-select/elder-select.component.scss +1 -1
- package/src/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.scss +2 -3
- package/src/lib/components/shell/header/elder-app-header/elder-app-header.component.scss +1 -2
- package/src/lib/components/shell/shell/elder-shell.component.scss +0 -1
- package/src/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.scss +1 -2
- package/src/lib/components/time/_elder-time-input.theme.scss +2 -2
- package/src/lib/components/time/duration/elder-duration-input/elder-duration-input.component.scss +0 -4
- package/src/lib/components/time/elder-date-time-input/elder-date-time-input.component.scss +1 -3
- package/src/lib/components/time/elder-interval-input/elder-interval-input.component.scss +0 -1
- package/src/lib/components/time/elder-local-date-input/elder-local-date-input.component.scss +2 -5
- package/src/lib/components/time/period/elder-period-input/elder-period-input.component.scss +0 -4
- package/src/lib/components/toasts/standard-toast/standard-toast.component.scss +0 -1
- package/src/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.scss +0 -5
- package/src/lib/components/viewers/elder-svg-viewer/elder-svg-viewer.component.scss +0 -1
- package/theming/_elder-common.scss +10 -11
- package/theming/_elder-defaults.scss +2 -4
- package/theming/_elder-flex-layout.scss +7 -8
- package/theming/_elder-mdc-support.scss +22 -19
- package/theming/_elder-palettes.scss +28 -25
- package/theming/_elder-scrollbar-theme.scss +0 -2
- package/theming/_elder-style-fixes.scss +10 -7
- package/theming/_elder-theme.scss +6 -1
- package/theming/_elder-toast-theme.scss +0 -2
- package/theming/_mat-icon-button-size.scss +3 -2
- package/theming/_mixins.scss +11 -9
|
@@ -2,7 +2,7 @@ import { ChangeDetectionStrategy, Component, contentChild, effect, Input, viewCh
|
|
|
2
2
|
import { LoggerFactory } from '@elderbyte/ts-logger';
|
|
3
3
|
import { ElderSearchPanelComponent } from './elder-search-panel.component';
|
|
4
4
|
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
5
|
-
import { MatFormField, MatPrefix, MatHint, MatSuffix } from '@angular/material/form-field';
|
|
5
|
+
import { MatFormField, MatPrefix, MatHint, MatSuffix, } from '@angular/material/form-field';
|
|
6
6
|
import { TranslateModule } from '@ngx-translate/core';
|
|
7
7
|
import { ElderDialogPanelComponent } from '../../../panels/elder-dialog-panel/elder-dialog-panel.component';
|
|
8
8
|
import { ElderOverlayComponent } from '../../../overlays/elder-overlay.component';
|
|
@@ -46,9 +46,8 @@ export class ElderSearchBoxComponent {
|
|
|
46
46
|
this.queryKey = 'query';
|
|
47
47
|
this._dense = false;
|
|
48
48
|
this.autocomplete = 'off';
|
|
49
|
-
this.touchedSearchInputs$ = searchContextDirective.touchedSearchInputs
|
|
50
|
-
|
|
51
|
-
);
|
|
49
|
+
this.touchedSearchInputs$ = searchContextDirective.touchedSearchInputs$
|
|
50
|
+
.pipe();
|
|
52
51
|
effect(() => {
|
|
53
52
|
const customSearchPanel = this.customSearchPanel();
|
|
54
53
|
const overlay = this.overlayComponent();
|
|
@@ -56,7 +55,7 @@ export class ElderSearchBoxComponent {
|
|
|
56
55
|
customSearchPanel.overlay.set(overlay);
|
|
57
56
|
}
|
|
58
57
|
}, {
|
|
59
|
-
allowSignalWrites: true
|
|
58
|
+
allowSignalWrites: true,
|
|
60
59
|
});
|
|
61
60
|
}
|
|
62
61
|
/***************************************************************************
|
|
@@ -85,11 +84,31 @@ export class ElderSearchBoxComponent {
|
|
|
85
84
|
this.searchContextDirective.reset();
|
|
86
85
|
}
|
|
87
86
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: ElderSearchBoxComponent, deps: [{ token: i1.ElderSearchContextDirective }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
88
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.2", type: ElderSearchBoxComponent, isStandalone: true, selector: "elder-search-box", inputs: { autoPanel: "autoPanel", name: "name", queryKey: "queryKey", placeholder: "placeholder", label: "label", hint: "hint", autocomplete: "autocomplete", appearance: "appearance", dense: "dense" }, host: { classAttribute: "elder-form-field-host" }, queries: [{ propertyName: "customSearchPanel", first: true, predicate: ElderSearchPanelComponent, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "search", first: true, predicate: ["search"], descendants: true, isSignal: true }, { propertyName: "overlayComponent", first: true, predicate: ElderOverlayComponent, descendants: true, isSignal: true }], exportAs: ["elderSearchBox"], ngImport: i0, template: "<div class=\"layout-row place-stretch-center full flex\">\n <mat-form-field\n [appearance]=\"appearance\"\n class=\"elder-search-box-field flex-auto\"
|
|
87
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.2", type: ElderSearchBoxComponent, isStandalone: true, selector: "elder-search-box", inputs: { autoPanel: "autoPanel", name: "name", queryKey: "queryKey", placeholder: "placeholder", label: "label", hint: "hint", autocomplete: "autocomplete", appearance: "appearance", dense: "dense" }, host: { classAttribute: "elder-form-field-host" }, queries: [{ propertyName: "customSearchPanel", first: true, predicate: ElderSearchPanelComponent, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "search", first: true, predicate: ["search"], descendants: true, isSignal: true }, { propertyName: "overlayComponent", first: true, predicate: ElderOverlayComponent, descendants: true, isSignal: true }], exportAs: ["elderSearchBox"], ngImport: i0, template: "<div class=\"layout-row place-stretch-center full flex\">\n <mat-form-field\n [appearance]=\"appearance\"\n class=\"elder-search-box-field flex-auto\"\n subscriptSizing=\"dynamic\"\n [elderDense]=\"dense\"\n >\n <button\n matPrefix\n mat-icon-button\n type=\"button\"\n [elderOverlayTrigger]=\"searchPanel\"\n (click)=\"blurFocus($event)\"\n >\n <mat-icon>search</mat-icon>\n </button>\n\n <input\n matInput\n type=\"text\"\n [name]=\"name\"\n [placeholder]=\"placeholder\"\n #search\n cdkFocusInitial\n ngModel\n elderSearchInput\n [elderSearchInputKey]=\"queryKey\"\n #searchInput=\"elderSearchInput\"\n [autocomplete]=\"autoPanel && customSearchPanel() ? 'off' : autocomplete\"\n [elderOverlayOrigin]=\"searchPanel\"\n [elderOverlayTrigger]=\"searchPanel\"\n [elderOverlayTriggerType]=\"'focus'\"\n [elderOverlayTriggerEnabled]=\"\n autoPanel && customSearchPanel() && (searchInput?.state$ | async)?.pristine\n \"\n />\n\n @if (hint) {\n <mat-hint>{{ hint }}</mat-hint>\n }\n\n <div class=\"layout-row\" matSuffix>\n @if (touchedSearchInputs$ | async; as touchedInputs) {\n @if (touchedInputs.length > 0) {\n <button\n mat-icon-button\n type=\"button\"\n (click)=\"clearSearch($event)\"\n name=\"clear\"\n aria-label=\"Clear\"\n >\n <mat-icon>close</mat-icon>\n </button>\n }\n\n @if (customSearchPanel()) {\n <button\n mat-icon-button\n type=\"button\"\n name=\"openPanel\"\n [elderOverlayTrigger]=\"searchPanel\"\n (click)=\"blurFocus($event)\"\n >\n <mat-icon\n [matBadge]=\"touchedInputs.length\"\n matBadgeSize=\"small\"\n [matBadgeOverlap]=\"true\"\n [matBadgeHidden]=\"touchedInputs.length === 0\"\n matBadgeColor=\"accent\"\n [color]=\"touchedInputs.length > 0 ? 'accent' : undefined\"\n >\n filter_list\n </mat-icon>\n </button>\n }\n }\n </div>\n </mat-form-field>\n</div>\n\n<!-- Overlay Panel for advanced search -->\n<elder-overlay #searchPanel=\"elderOverlay\">\n <elder-dialog-panel class=\"elder-search-panel-container\">\n <!-- Project the users custom search panel here -->\n <ng-content select=\"elder-search-panel\"></ng-content>\n\n <div class=\"layout-row place-between-center\">\n <button mat-raised-button type=\"button\" name=\"clear\" (click)=\"clearSearch($event)\">\n {{ 'context.reset' | translate }}\n </button>\n\n <button\n mat-raised-button\n type=\"button\"\n name=\"ok\"\n color=\"primary\"\n (click)=\"searchPanel.closeOverlay()\"\n >\n Ok\n </button>\n </div>\n </elder-dialog-panel>\n</elder-overlay>\n", styles: [".elder-search-box-field{margin-top:4px;margin-bottom:4px}.elder-search-panel-container{min-width:250px}\n"], dependencies: [{ kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: ElderFormFieldDenseDirective, selector: "mat-form-field[elderDense]", inputs: ["elderDense", "subscriptSizing", "floatLabel"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: ElderOverlayTriggerDirective, selector: "[elderOverlayTrigger]", inputs: ["elderOverlayTrigger", "elderOverlayTriggerType", "elderOverlayTriggerEnabled"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: ElderSearchInputDirective, selector: "[elderSearchInput]", inputs: ["elderSearchInputTransform", "elderSearchInput", "elderSearchInputFallback", "valueAsId", "elderSearchInputKey"], exportAs: ["elderSearchInput"] }, { kind: "directive", type: ElderOverlayOriginDirective, selector: "[elderOverlayOrigin]", inputs: ["elderOverlayOrigin"] }, { kind: "directive", type: MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: ElderOverlayComponent, selector: "elder-overlay", inputs: ["originX", "originY", "overlayX", "overlayY", "offsetY", "offsetX", "backdrop", "backdropVisible", "origin", "positionStrategy", "overlaySize"], outputs: ["keydownEvents", "attachedChange"], exportAs: ["elderOverlay"] }, { kind: "component", type: ElderDialogPanelComponent, selector: "elder-dialog-panel" }, { kind: "component", type: MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
89
88
|
}
|
|
90
89
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: ElderSearchBoxComponent, decorators: [{
|
|
91
90
|
type: Component,
|
|
92
|
-
args: [{ selector: 'elder-search-box', exportAs: 'elderSearchBox', host: {
|
|
91
|
+
args: [{ selector: 'elder-search-box', exportAs: 'elderSearchBox', host: { class: 'elder-form-field-host' }, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
92
|
+
NgIf,
|
|
93
|
+
MatFormField,
|
|
94
|
+
ElderFormFieldDenseDirective,
|
|
95
|
+
MatIconButton,
|
|
96
|
+
MatPrefix,
|
|
97
|
+
ElderOverlayTriggerDirective,
|
|
98
|
+
MatIcon,
|
|
99
|
+
MatInput,
|
|
100
|
+
FormsModule,
|
|
101
|
+
ElderSearchInputDirective,
|
|
102
|
+
ElderOverlayOriginDirective,
|
|
103
|
+
MatHint,
|
|
104
|
+
MatSuffix,
|
|
105
|
+
MatBadge,
|
|
106
|
+
ElderOverlayComponent,
|
|
107
|
+
ElderDialogPanelComponent,
|
|
108
|
+
MatButton,
|
|
109
|
+
AsyncPipe,
|
|
110
|
+
TranslateModule,
|
|
111
|
+
], template: "<div class=\"layout-row place-stretch-center full flex\">\n <mat-form-field\n [appearance]=\"appearance\"\n class=\"elder-search-box-field flex-auto\"\n subscriptSizing=\"dynamic\"\n [elderDense]=\"dense\"\n >\n <button\n matPrefix\n mat-icon-button\n type=\"button\"\n [elderOverlayTrigger]=\"searchPanel\"\n (click)=\"blurFocus($event)\"\n >\n <mat-icon>search</mat-icon>\n </button>\n\n <input\n matInput\n type=\"text\"\n [name]=\"name\"\n [placeholder]=\"placeholder\"\n #search\n cdkFocusInitial\n ngModel\n elderSearchInput\n [elderSearchInputKey]=\"queryKey\"\n #searchInput=\"elderSearchInput\"\n [autocomplete]=\"autoPanel && customSearchPanel() ? 'off' : autocomplete\"\n [elderOverlayOrigin]=\"searchPanel\"\n [elderOverlayTrigger]=\"searchPanel\"\n [elderOverlayTriggerType]=\"'focus'\"\n [elderOverlayTriggerEnabled]=\"\n autoPanel && customSearchPanel() && (searchInput?.state$ | async)?.pristine\n \"\n />\n\n @if (hint) {\n <mat-hint>{{ hint }}</mat-hint>\n }\n\n <div class=\"layout-row\" matSuffix>\n @if (touchedSearchInputs$ | async; as touchedInputs) {\n @if (touchedInputs.length > 0) {\n <button\n mat-icon-button\n type=\"button\"\n (click)=\"clearSearch($event)\"\n name=\"clear\"\n aria-label=\"Clear\"\n >\n <mat-icon>close</mat-icon>\n </button>\n }\n\n @if (customSearchPanel()) {\n <button\n mat-icon-button\n type=\"button\"\n name=\"openPanel\"\n [elderOverlayTrigger]=\"searchPanel\"\n (click)=\"blurFocus($event)\"\n >\n <mat-icon\n [matBadge]=\"touchedInputs.length\"\n matBadgeSize=\"small\"\n [matBadgeOverlap]=\"true\"\n [matBadgeHidden]=\"touchedInputs.length === 0\"\n matBadgeColor=\"accent\"\n [color]=\"touchedInputs.length > 0 ? 'accent' : undefined\"\n >\n filter_list\n </mat-icon>\n </button>\n }\n }\n </div>\n </mat-form-field>\n</div>\n\n<!-- Overlay Panel for advanced search -->\n<elder-overlay #searchPanel=\"elderOverlay\">\n <elder-dialog-panel class=\"elder-search-panel-container\">\n <!-- Project the users custom search panel here -->\n <ng-content select=\"elder-search-panel\"></ng-content>\n\n <div class=\"layout-row place-between-center\">\n <button mat-raised-button type=\"button\" name=\"clear\" (click)=\"clearSearch($event)\">\n {{ 'context.reset' | translate }}\n </button>\n\n <button\n mat-raised-button\n type=\"button\"\n name=\"ok\"\n color=\"primary\"\n (click)=\"searchPanel.closeOverlay()\"\n >\n Ok\n </button>\n </div>\n </elder-dialog-panel>\n</elder-overlay>\n", styles: [".elder-search-box-field{margin-top:4px;margin-bottom:4px}.elder-search-panel-container{min-width:250px}\n"] }]
|
|
93
112
|
}], ctorParameters: () => [{ type: i1.ElderSearchContextDirective }], propDecorators: { autoPanel: [{
|
|
94
113
|
type: Input
|
|
95
114
|
}], name: [{
|
|
@@ -109,4 +128,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
|
|
|
109
128
|
}], dense: [{
|
|
110
129
|
type: Input
|
|
111
130
|
}] } });
|
|
112
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItc2VhcmNoLWJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL3NlYXJjaC9zZWFyY2gtYm94L2VsZGVyLXNlYXJjaC1ib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9mb3Jtcy9zZWFyY2gvc2VhcmNoLWJveC9lbGRlci1zZWFyY2gtYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDYSx1QkFBdUIsRUFDekMsU0FBUyxFQUFFLFlBQVksRUFBZ0IsTUFBTSxFQUNqQyxLQUFLLEVBQXFCLFNBQVMsR0FFaEQsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRW5ELE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBRXpFLE9BQU8sRUFBZSxxQkFBcUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQzFFLE9BQU8sRUFBeUIsWUFBWSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDakgsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLGlFQUFpRSxDQUFDO0FBQzFHLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQ2hGLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxrREFBa0QsQ0FBQztBQUM3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LGlHQUFFLE9BQU8sOEVBQUUsU0FBUyxxSEFBRSxRQUFRLGtOQUFFLHFCQUFxQiw4UkFBRSx5QkFBeUIsK0RBQUUsU0FBUyw0S0FBRSxTQUFTLDZDQUFFLGVBQWU7OzJGQUV0VCx1QkFBdUI7a0JBWG5DLFNBQVM7K0JBQ0Usa0JBQWtCLFlBQ2xCLGdCQUFnQixRQUlwQixFQUFDLE9BQU8sRUFBRSx1QkFBdUIsRUFBQyxtQkFDdkIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1AsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLDRCQUE0QixFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsNEJBQTRCLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUseUJBQXlCLEVBQUUsMkJBQTJCLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUscUJBQXFCLEVBQUUseUJBQXlCLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxlQUFlLENBQUM7Z0dBc0IzVCxTQUFTO3NCQURmLEtBQUs7Z0JBSUMsSUFBSTtzQkFEVixLQUFLO2dCQUlDLFFBQVE7c0JBRGQsS0FBSztnQkFJQyxXQUFXO3NCQURqQixLQUFLO2dCQUlDLEtBQUs7c0JBRFgsS0FBSztnQkFJQyxJQUFJO3NCQURWLEtBQUs7Z0JBTUMsWUFBWTtzQkFEbEIsS0FBSztnQkFJQyxVQUFVO3NCQURoQixLQUFLO2dCQW1DSyxLQUFLO3NCQURmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LCBjb250ZW50Q2hpbGQsIENvbnRlbnRDaGlsZCwgZWZmZWN0LFxuICBFbGVtZW50UmVmLCBJbnB1dCwgT25EZXN0cm95LCBzaWduYWwsIHZpZXdDaGlsZCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuaW1wb3J0IHtFbGRlclNlYXJjaENvbnRleHREaXJlY3RpdmV9IGZyb20gJy4uL2VsZGVyLXNlYXJjaC1jb250ZXh0LmRpcmVjdGl2ZSc7XG5pbXBvcnQge0VsZGVyU2VhcmNoUGFuZWxDb21wb25lbnR9IGZyb20gJy4vZWxkZXItc2VhcmNoLXBhbmVsLmNvbXBvbmVudCc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0Jvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5fSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtNYXRGb3JtRmllbGRBcHBlYXJhbmNlLCBNYXRGb3JtRmllbGQsIE1hdFByZWZpeCwgTWF0SGludCwgTWF0U3VmZml4fSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7RWxkZXJEaWFsb2dQYW5lbENvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vcGFuZWxzL2VsZGVyLWRpYWxvZy1wYW5lbC9lbGRlci1kaWFsb2ctcGFuZWwuY29tcG9uZW50JztcbmltcG9ydCB7RWxkZXJPdmVybGF5Q29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi9vdmVybGF5cy9lbGRlci1vdmVybGF5LmNvbXBvbmVudCc7XG5pbXBvcnQge01hdEJhZGdlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9iYWRnZSc7XG5pbXBvcnQge0VsZGVyT3ZlcmxheU9yaWdpbkRpcmVjdGl2ZX0gZnJvbSAnLi4vLi4vLi4vb3ZlcmxheXMvZWxkZXItb3ZlcmxheS1vcmlnaW4uZGlyZWN0aXZlJztcbmltcG9ydCB7RWxkZXJTZWFyY2hJbnB1dERpcmVjdGl2ZX0gZnJvbSAnLi4vZWxkZXItc2VhcmNoLWlucHV0LmRpcmVjdGl2ZSc7XG5pbXBvcnQge0Zvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge01hdElucHV0fSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQge01hdEljb259IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHtFbGRlck92ZXJsYXlUcmlnZ2VyRGlyZWN0aXZlfSBmcm9tICcuLi8uLi8uLi9vdmVybGF5cy9lbGRlci1vdmVybGF5LXRyaWdnZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7TWF0SWNvbkJ1dHRvbiwgTWF0QnV0dG9ufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHtFbGRlckZvcm1GaWVsZERlbnNlRGlyZWN0aXZlfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2VsZGVyLWZvcm0tZmllbGQtZGVuc2UuZGlyZWN0aXZlJztcbmltcG9ydCB7TmdJZiwgQXN5bmNQaXBlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtTZWFyY2hJbnB1dFN0YXRlfSBmcm9tICcuLi9kb21haW4vaW5wdXQvc2VhcmNoLWlucHV0LXN0YXRlJztcbmltcG9ydCB7T3ZlcmxheVJlZn0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VsZGVyLXNlYXJjaC1ib3gnLFxuICBleHBvcnRBczogJ2VsZGVyU2VhcmNoQm94JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2VsZGVyLXNlYXJjaC1ib3guY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9lbGRlci1zZWFyY2gtYm94LmNvbXBvbmVudC5zY3NzJ10sXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taG9zdC1tZXRhZGF0YS1wcm9wZXJ0eVxuICBob3N0OiB7J2NsYXNzJzogJ2VsZGVyLWZvcm0tZmllbGQtaG9zdCd9LFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nSWYsIE1hdEZvcm1GaWVsZCwgRWxkZXJGb3JtRmllbGREZW5zZURpcmVjdGl2ZSwgTWF0SWNvbkJ1dHRvbiwgTWF0UHJlZml4LCBFbGRlck92ZXJsYXlUcmlnZ2VyRGlyZWN0aXZlLCBNYXRJY29uLCBNYXRJbnB1dCwgRm9ybXNNb2R1bGUsIEVsZGVyU2VhcmNoSW5wdXREaXJlY3RpdmUsIEVsZGVyT3ZlcmxheU9yaWdpbkRpcmVjdGl2ZSwgTWF0SGludCwgTWF0U3VmZml4LCBNYXRCYWRnZSwgRWxkZXJPdmVybGF5Q29tcG9uZW50LCBFbGRlckRpYWxvZ1BhbmVsQ29tcG9uZW50LCBNYXRCdXR0b24sIEFzeW5jUGlwZSwgVHJhbnNsYXRlTW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBFbGRlclNlYXJjaEJveENvbXBvbmVudCAge1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKTtcblxuICAvLyBUaGUgc2VhcmNoIGV4cHJlc3Npb24gaW5wdXQgRWxlbWVudFxuICBwdWJsaWMgc2VhcmNoID0gdmlld0NoaWxkLnJlcXVpcmVkPEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD4+KCdzZWFyY2gnKTtcbiAgcHVibGljIHJlYWRvbmx5IG92ZXJsYXlDb21wb25lbnQgPSB2aWV3Q2hpbGQucmVxdWlyZWQoRWxkZXJPdmVybGF5Q29tcG9uZW50KTtcblxuICBwdWJsaWMgcmVhZG9ubHkgY3VzdG9tU2VhcmNoUGFuZWwgPSBjb250ZW50Q2hpbGQoRWxkZXJTZWFyY2hQYW5lbENvbXBvbmVudCk7XG5cbiAgLyoqXG4gICAqIERpc3BsYXkgdGhlIHNlYXJjaCBwYW5lbCBpbW1lZGlhdGVseSB3aGVuIHRoZSB1c2VyIGVudGVycyB0aGUgc2VhcmNoIGJveC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhdXRvUGFuZWwgPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBuYW1lID0gJ3NlYXJjaEV4cHJlc3Npb24nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBxdWVyeUtleSA9ICdxdWVyeSc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGxhYmVsOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGhpbnQ6IHN0cmluZztcblxuICBwcml2YXRlIF9kZW5zZSA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhdXRvY29tcGxldGUgPSAnb2ZmJztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgYXBwZWFyYW5jZTogTWF0Rm9ybUZpZWxkQXBwZWFyYW5jZTtcblxuICBwdWJsaWMgcmVhZG9ubHkgdG91Y2hlZFNlYXJjaElucHV0cyQ6IE9ic2VydmFibGU8U2VhcmNoSW5wdXRTdGF0ZVtdPjtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgc2VhcmNoQ29udGV4dERpcmVjdGl2ZTogRWxkZXJTZWFyY2hDb250ZXh0RGlyZWN0aXZlLFxuICApIHtcbiAgICB0aGlzLnRvdWNoZWRTZWFyY2hJbnB1dHMkID0gc2VhcmNoQ29udGV4dERpcmVjdGl2ZS50b3VjaGVkU2VhcmNoSW5wdXRzJC5waXBlKFxuICAgICAgLy8gdGFwKGF0dHJzID0+IHRoaXMubG9nZ2VyLmVycm9yKCdBdHRycycsIGF0dHJzKSlcbiAgICApO1xuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBjb25zdCBjdXN0b21TZWFyY2hQYW5lbCA9IHRoaXMuY3VzdG9tU2VhcmNoUGFuZWwoKTtcbiAgICAgIGNvbnN0IG92ZXJsYXkgPSB0aGlzLm92ZXJsYXlDb21wb25lbnQoKTtcbiAgICAgIGlmIChjdXN0b21TZWFyY2hQYW5lbCkge1xuICAgICAgICBjdXN0b21TZWFyY2hQYW5lbC5vdmVybGF5LnNldChvdmVybGF5KTtcbiAgICAgIH1cbiAgICB9LCB7XG4gICAgICBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZVxuICAgIH0pO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkZW5zZSh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgdGhpcy5fZGVuc2UgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICB9XG5cbiAgcHVibGljIGdldCBkZW5zZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZGVuc2U7XG4gIH1cblxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBibHVyRm9jdXMoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5zZWFyY2goKS5uYXRpdmVFbGVtZW50LmJsdXIoKSwgMCk7XG4gIH1cblxuICAvKipcbiAgICogT2NjdXJzIHdoZW4gdGhlIHVzZXIgY2xpY2tzIHRoZSBjbGVhciBzZWFyY2ggYnV0dG9uXG4gICAqL1xuICBwdWJsaWMgY2xlYXJTZWFyY2goZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuc2VhcmNoQ29udGV4dERpcmVjdGl2ZS5yZXNldCgpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJsYXlvdXQtcm93IHBsYWNlLXN0cmV0Y2gtY2VudGVyIGZ1bGwgZmxleFwiPlxuICA8bWF0LWZvcm0tZmllbGRcbiAgICBbYXBwZWFyYW5jZV09XCJhcHBlYXJhbmNlXCJcbiAgICBjbGFzcz1cImVsZGVyLXNlYXJjaC1ib3gtZmllbGQgZmxleC1hdXRvXCIgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiXG4gICAgW2VsZGVyRGVuc2VdPVwiZGVuc2VcIj5cblxuICAgIDxidXR0b24gbWF0UHJlZml4IG1hdC1pY29uLWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIFtlbGRlck92ZXJsYXlUcmlnZ2VyXT1cInNlYXJjaFBhbmVsXCIgKGNsaWNrKT1cImJsdXJGb2N1cygkZXZlbnQpXCJcbiAgICA+XG4gICAgICA8bWF0LWljb24+c2VhcmNoPC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cblxuICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPVwidGV4dFwiIFtuYW1lXT1cIm5hbWVcIiBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIiAjc2VhcmNoIGNka0ZvY3VzSW5pdGlhbFxuICAgICAgICAgICBuZ01vZGVsXG4gICAgICAgICAgIGVsZGVyU2VhcmNoSW5wdXQgW2VsZGVyU2VhcmNoSW5wdXRLZXldPVwicXVlcnlLZXlcIiAjc2VhcmNoSW5wdXQ9XCJlbGRlclNlYXJjaElucHV0XCJcbiAgICAgICAgICAgW2F1dG9jb21wbGV0ZV09XCIoYXV0b1BhbmVsICYmIGN1c3RvbVNlYXJjaFBhbmVsKCkpID8gJ29mZicgOiBhdXRvY29tcGxldGVcIlxuICAgICAgICAgICBbZWxkZXJPdmVybGF5T3JpZ2luXT1cInNlYXJjaFBhbmVsXCJcbiAgICAgICAgICAgW2VsZGVyT3ZlcmxheVRyaWdnZXJdPVwic2VhcmNoUGFuZWxcIlxuICAgICAgICAgICBbZWxkZXJPdmVybGF5VHJpZ2dlclR5cGVdPVwiJ2ZvY3VzJ1wiXG4gICAgICAgICAgIFtlbGRlck92ZXJsYXlUcmlnZ2VyRW5hYmxlZF09XCJhdXRvUGFuZWwgJiYgY3VzdG9tU2VhcmNoUGFuZWwoKSAmJiAoc2VhcmNoSW5wdXQ/LnN0YXRlJCB8IGFzeW5jKT8ucHJpc3RpbmVcIlxuICAgID5cblxuICAgIEBpZiAoaGludCkge1xuICAgICAgPG1hdC1oaW50Pnt7IGhpbnQgfX08L21hdC1oaW50PlxuICAgIH1cblxuICAgIDxkaXYgY2xhc3M9XCJsYXlvdXQtcm93XCIgbWF0U3VmZml4PlxuICAgICAgQGlmICh0b3VjaGVkU2VhcmNoSW5wdXRzJCB8IGFzeW5jOyBhcyB0b3VjaGVkSW5wdXRzKSB7XG4gICAgICAgIEBpZiAodG91Y2hlZElucHV0cy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2xlYXJTZWFyY2goJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICBuYW1lPVwiY2xlYXJcIiBhcmlhLWxhYmVsPVwiQ2xlYXJcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKGN1c3RvbVNlYXJjaFBhbmVsKCkpIHtcbiAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgIG5hbWU9XCJvcGVuUGFuZWxcIlxuICAgICAgICAgICAgICAgICAgW2VsZGVyT3ZlcmxheVRyaWdnZXJdPVwic2VhcmNoUGFuZWxcIiAoY2xpY2spPVwiYmx1ckZvY3VzKCRldmVudClcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgICBbbWF0QmFkZ2VdPVwidG91Y2hlZElucHV0cy5sZW5ndGhcIlxuICAgICAgICAgICAgICBtYXRCYWRnZVNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgICAgIFttYXRCYWRnZU92ZXJsYXBdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIFttYXRCYWRnZUhpZGRlbl09XCJ0b3VjaGVkSW5wdXRzLmxlbmd0aCA9PT0gMFwiXG4gICAgICAgICAgICAgIG1hdEJhZGdlQ29sb3I9XCJhY2NlbnRcIlxuICAgICAgICAgICAgICBbY29sb3JdPVwidG91Y2hlZElucHV0cy5sZW5ndGggPiAwID8gJ2FjY2VudCcgOiB1bmRlZmluZWRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICBmaWx0ZXJfbGlzdFxuICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgfVxuICAgICAgfVxuICAgIDwvZGl2PlxuXG4gIDwvbWF0LWZvcm0tZmllbGQ+XG48L2Rpdj5cblxuXG48IS0tIE92ZXJsYXkgUGFuZWwgZm9yIGFkdmFuY2VkIHNlYXJjaCAtLT5cbjxlbGRlci1vdmVybGF5ICNzZWFyY2hQYW5lbD1cImVsZGVyT3ZlcmxheVwiPlxuICA8ZWxkZXItZGlhbG9nLXBhbmVsIGNsYXNzPVwiZWxkZXItc2VhcmNoLXBhbmVsLWNvbnRhaW5lclwiPlxuXG4gICAgPCEtLSBQcm9qZWN0IHRoZSB1c2VycyBjdXN0b20gc2VhcmNoIHBhbmVsIGhlcmUgLS0+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZWxkZXItc2VhcmNoLXBhbmVsXCI+PC9uZy1jb250ZW50PlxuXG4gICAgPGRpdiBjbGFzcz1cImxheW91dC1yb3cgcGxhY2UtYmV0d2Vlbi1jZW50ZXJcIj5cbiAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gdHlwZT1cImJ1dHRvblwiIG5hbWU9XCJjbGVhclwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJjbGVhclNlYXJjaCgkZXZlbnQpXCI+e3sgJ2NvbnRleHQucmVzZXQnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2J1dHRvbj5cblxuICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbmFtZT1cIm9rXCIgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInNlYXJjaFBhbmVsLmNsb3NlT3ZlcmxheSgpXCI+T2tcbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2VsZGVyLWRpYWxvZy1wYW5lbD5cbjwvZWxkZXItb3ZlcmxheT5cbiJdfQ==
|
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItc2VhcmNoLWJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL3NlYXJjaC9zZWFyY2gtYm94L2VsZGVyLXNlYXJjaC1ib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9mb3Jtcy9zZWFyY2gvc2VhcmNoLWJveC9lbGRlci1zZWFyY2gtYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFFWixNQUFNLEVBRU4sS0FBSyxFQUdMLFNBQVMsR0FFVixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFFcEQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUE7QUFFMUUsT0FBTyxFQUFnQixxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBQzNFLE9BQU8sRUFFTCxZQUFZLEVBQ1osU0FBUyxFQUNULE9BQU8sRUFDUCxTQUFTLEdBQ1YsTUFBTSw4QkFBOEIsQ0FBQTtBQUNyQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDckQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUVBQWlFLENBQUE7QUFDM0csT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkNBQTJDLENBQUE7QUFDakYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQ2xELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtEQUFrRCxDQUFBO0FBQzlGLE9B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UCxTQUFTLHFIQUNULFFBQVEsa05BQ1IscUJBQXFCLDhSQUNyQix5QkFBeUIsK0RBQ3pCLFNBQVMsNEtBQ1QsU0FBUyw2Q0FDVCxlQUFlOzsyRkFHTix1QkFBdUI7a0JBL0JuQyxTQUFTOytCQUNFLGtCQUFrQixZQUNsQixnQkFBZ0IsUUFJcEIsRUFBRSxLQUFLLEVBQUUsdUJBQXVCLEVBQUUsbUJBQ3ZCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNQLElBQUk7d0JBQ0osWUFBWTt3QkFDWiw0QkFBNEI7d0JBQzVCLGFBQWE7d0JBQ2IsU0FBUzt3QkFDVCw0QkFBNEI7d0JBQzVCLE9BQU87d0JBQ1AsUUFBUTt3QkFDUixXQUFXO3dCQUNYLHlCQUF5Qjt3QkFDekIsMkJBQTJCO3dCQUMzQixPQUFPO3dCQUNQLFNBQVM7d0JBQ1QsUUFBUTt3QkFDUixxQkFBcUI7d0JBQ3JCLHlCQUF5Qjt3QkFDekIsU0FBUzt3QkFDVCxTQUFTO3dCQUNULGVBQWU7cUJBQ2hCO2dHQXFCTSxTQUFTO3NCQURmLEtBQUs7Z0JBSUMsSUFBSTtzQkFEVixLQUFLO2dCQUlDLFFBQVE7c0JBRGQsS0FBSztnQkFJQyxXQUFXO3NCQURqQixLQUFLO2dCQUlDLEtBQUs7c0JBRFgsS0FBSztnQkFJQyxJQUFJO3NCQURWLEtBQUs7Z0JBTUMsWUFBWTtzQkFEbEIsS0FBSztnQkFJQyxVQUFVO3NCQURoQixLQUFLO2dCQXFDSyxLQUFLO3NCQURmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBjb250ZW50Q2hpbGQsXG4gIENvbnRlbnRDaGlsZCxcbiAgZWZmZWN0LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBzaWduYWwsXG4gIHZpZXdDaGlsZCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgTG9nZ2VyRmFjdG9yeSB9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJ1xuaW1wb3J0IHsgRWxkZXJTZWFyY2hDb250ZXh0RGlyZWN0aXZlIH0gZnJvbSAnLi4vZWxkZXItc2VhcmNoLWNvbnRleHQuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgRWxkZXJTZWFyY2hQYW5lbENvbXBvbmVudCB9IGZyb20gJy4vZWxkZXItc2VhcmNoLXBhbmVsLmNvbXBvbmVudCdcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBCb29sZWFuSW5wdXQsIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbidcbmltcG9ydCB7XG4gIE1hdEZvcm1GaWVsZEFwcGVhcmFuY2UsXG4gIE1hdEZvcm1GaWVsZCxcbiAgTWF0UHJlZml4LFxuICBNYXRIaW50LFxuICBNYXRTdWZmaXgsXG59IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgRWxkZXJEaWFsb2dQYW5lbENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL3BhbmVscy9lbGRlci1kaWFsb2ctcGFuZWwvZWxkZXItZGlhbG9nLXBhbmVsLmNvbXBvbmVudCdcbmltcG9ydCB7IEVsZGVyT3ZlcmxheUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL292ZXJsYXlzL2VsZGVyLW92ZXJsYXkuY29tcG9uZW50J1xuaW1wb3J0IHsgTWF0QmFkZ2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9iYWRnZSdcbmltcG9ydCB7IEVsZGVyT3ZlcmxheU9yaWdpbkRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL292ZXJsYXlzL2VsZGVyLW92ZXJsYXktb3JpZ2luLmRpcmVjdGl2ZSdcbmltcG9ydCB7IEVsZGVyU2VhcmNoSW5wdXREaXJlY3RpdmUgfSBmcm9tICcuLi9lbGRlci1zZWFyY2gtaW5wdXQuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3JtcydcbmltcG9ydCB7IE1hdElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnXG5pbXBvcnQgeyBNYXRJY29uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbidcbmltcG9ydCB7IEVsZGVyT3ZlcmxheVRyaWdnZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9vdmVybGF5cy9lbGRlci1vdmVybGF5LXRyaWdnZXIuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgTWF0SWNvbkJ1dHRvbiwgTWF0QnV0dG9uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJ1xuaW1wb3J0IHsgRWxkZXJGb3JtRmllbGREZW5zZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvZWxkZXItZm9ybS1maWVsZC1kZW5zZS5kaXJlY3RpdmUnXG5pbXBvcnQgeyBOZ0lmLCBBc3luY1BpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBTZWFyY2hJbnB1dFN0YXRlIH0gZnJvbSAnLi4vZG9tYWluL2lucHV0L3NlYXJjaC1pbnB1dC1zdGF0ZSdcbmltcG9ydCB7IE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWxkZXItc2VhcmNoLWJveCcsXG4gIGV4cG9ydEFzOiAnZWxkZXJTZWFyY2hCb3gnLFxuICB0ZW1wbGF0ZVVybDogJy4vZWxkZXItc2VhcmNoLWJveC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2VsZGVyLXNlYXJjaC1ib3guY29tcG9uZW50LnNjc3MnXSxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1ob3N0LW1ldGFkYXRhLXByb3BlcnR5XG4gIGhvc3Q6IHsgY2xhc3M6ICdlbGRlci1mb3JtLWZpZWxkLWhvc3QnIH0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTmdJZixcbiAgICBNYXRGb3JtRmllbGQsXG4gICAgRWxkZXJGb3JtRmllbGREZW5zZURpcmVjdGl2ZSxcbiAgICBNYXRJY29uQnV0dG9uLFxuICAgIE1hdFByZWZpeCxcbiAgICBFbGRlck92ZXJsYXlUcmlnZ2VyRGlyZWN0aXZlLFxuICAgIE1hdEljb24sXG4gICAgTWF0SW5wdXQsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgRWxkZXJTZWFyY2hJbnB1dERpcmVjdGl2ZSxcbiAgICBFbGRlck92ZXJsYXlPcmlnaW5EaXJlY3RpdmUsXG4gICAgTWF0SGludCxcbiAgICBNYXRTdWZmaXgsXG4gICAgTWF0QmFkZ2UsXG4gICAgRWxkZXJPdmVybGF5Q29tcG9uZW50LFxuICAgIEVsZGVyRGlhbG9nUGFuZWxDb21wb25lbnQsXG4gICAgTWF0QnV0dG9uLFxuICAgIEFzeW5jUGlwZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyU2VhcmNoQm94Q29tcG9uZW50IHtcbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBsb2cgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpXG5cbiAgLy8gVGhlIHNlYXJjaCBleHByZXNzaW9uIGlucHV0IEVsZW1lbnRcbiAgcHVibGljIHNlYXJjaCA9IHZpZXdDaGlsZC5yZXF1aXJlZDxFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+Pignc2VhcmNoJylcbiAgcHVibGljIHJlYWRvbmx5IG92ZXJsYXlDb21wb25lbnQgPSB2aWV3Q2hpbGQucmVxdWlyZWQoRWxkZXJPdmVybGF5Q29tcG9uZW50KVxuXG4gIHB1YmxpYyByZWFkb25seSBjdXN0b21TZWFyY2hQYW5lbCA9IGNvbnRlbnRDaGlsZChFbGRlclNlYXJjaFBhbmVsQ29tcG9uZW50KVxuXG4gIC8qKlxuICAgKiBEaXNwbGF5IHRoZSBzZWFyY2ggcGFuZWwgaW1tZWRpYXRlbHkgd2hlbiB0aGUgdXNlciBlbnRlcnMgdGhlIHNlYXJjaCBib3guXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgYXV0b1BhbmVsID0gdHJ1ZVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBuYW1lID0gJ3NlYXJjaEV4cHJlc3Npb24nXG5cbiAgQElucHV0KClcbiAgcHVibGljIHF1ZXJ5S2V5ID0gJ3F1ZXJ5J1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwbGFjZWhvbGRlcjogc3RyaW5nXG5cbiAgQElucHV0KClcbiAgcHVibGljIGxhYmVsOiBzdHJpbmdcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaGludDogc3RyaW5nXG5cbiAgcHJpdmF0ZSBfZGVuc2UgPSBmYWxzZVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhdXRvY29tcGxldGUgPSAnb2ZmJ1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhcHBlYXJhbmNlOiBNYXRGb3JtRmllbGRBcHBlYXJhbmNlXG5cbiAgcHVibGljIHJlYWRvbmx5IHRvdWNoZWRTZWFyY2hJbnB1dHMkOiBPYnNlcnZhYmxlPFNlYXJjaElucHV0U3RhdGVbXT5cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgc2VhcmNoQ29udGV4dERpcmVjdGl2ZTogRWxkZXJTZWFyY2hDb250ZXh0RGlyZWN0aXZlKSB7XG4gICAgdGhpcy50b3VjaGVkU2VhcmNoSW5wdXRzJCA9IHNlYXJjaENvbnRleHREaXJlY3RpdmUudG91Y2hlZFNlYXJjaElucHV0cyRcbiAgICAgIC5waXBlXG4gICAgICAvLyB0YXAoYXR0cnMgPT4gdGhpcy5sb2dnZXIuZXJyb3IoJ0F0dHJzJywgYXR0cnMpKVxuICAgICAgKClcbiAgICBlZmZlY3QoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGN1c3RvbVNlYXJjaFBhbmVsID0gdGhpcy5jdXN0b21TZWFyY2hQYW5lbCgpXG4gICAgICAgIGNvbnN0IG92ZXJsYXkgPSB0aGlzLm92ZXJsYXlDb21wb25lbnQoKVxuICAgICAgICBpZiAoY3VzdG9tU2VhcmNoUGFuZWwpIHtcbiAgICAgICAgICBjdXN0b21TZWFyY2hQYW5lbC5vdmVybGF5LnNldChvdmVybGF5KVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSxcbiAgICAgIH1cbiAgICApXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGRlbnNlKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICB0aGlzLl9kZW5zZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSlcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGVuc2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2RlbnNlXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgYmx1ckZvY3VzKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuc2VhcmNoKCkubmF0aXZlRWxlbWVudC5ibHVyKCksIDApXG4gIH1cblxuICAvKipcbiAgICogT2NjdXJzIHdoZW4gdGhlIHVzZXIgY2xpY2tzIHRoZSBjbGVhciBzZWFyY2ggYnV0dG9uXG4gICAqL1xuICBwdWJsaWMgY2xlYXJTZWFyY2goZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuc2VhcmNoQ29udGV4dERpcmVjdGl2ZS5yZXNldCgpXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbn1cbiIsIjxkaXYgY2xhc3M9XCJsYXlvdXQtcm93IHBsYWNlLXN0cmV0Y2gtY2VudGVyIGZ1bGwgZmxleFwiPlxuICA8bWF0LWZvcm0tZmllbGRcbiAgICBbYXBwZWFyYW5jZV09XCJhcHBlYXJhbmNlXCJcbiAgICBjbGFzcz1cImVsZGVyLXNlYXJjaC1ib3gtZmllbGQgZmxleC1hdXRvXCJcbiAgICBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCJcbiAgICBbZWxkZXJEZW5zZV09XCJkZW5zZVwiXG4gID5cbiAgICA8YnV0dG9uXG4gICAgICBtYXRQcmVmaXhcbiAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBbZWxkZXJPdmVybGF5VHJpZ2dlcl09XCJzZWFyY2hQYW5lbFwiXG4gICAgICAoY2xpY2spPVwiYmx1ckZvY3VzKCRldmVudClcIlxuICAgID5cbiAgICAgIDxtYXQtaWNvbj5zZWFyY2g8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuXG4gICAgPGlucHV0XG4gICAgICBtYXRJbnB1dFxuICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgW25hbWVdPVwibmFtZVwiXG4gICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgI3NlYXJjaFxuICAgICAgY2RrRm9jdXNJbml0aWFsXG4gICAgICBuZ01vZGVsXG4gICAgICBlbGRlclNlYXJjaElucHV0XG4gICAgICBbZWxkZXJTZWFyY2hJbnB1dEtleV09XCJxdWVyeUtleVwiXG4gICAgICAjc2VhcmNoSW5wdXQ9XCJlbGRlclNlYXJjaElucHV0XCJcbiAgICAgIFthdXRvY29tcGxldGVdPVwiYXV0b1BhbmVsICYmIGN1c3RvbVNlYXJjaFBhbmVsKCkgPyAnb2ZmJyA6IGF1dG9jb21wbGV0ZVwiXG4gICAgICBbZWxkZXJPdmVybGF5T3JpZ2luXT1cInNlYXJjaFBhbmVsXCJcbiAgICAgIFtlbGRlck92ZXJsYXlUcmlnZ2VyXT1cInNlYXJjaFBhbmVsXCJcbiAgICAgIFtlbGRlck92ZXJsYXlUcmlnZ2VyVHlwZV09XCInZm9jdXMnXCJcbiAgICAgIFtlbGRlck92ZXJsYXlUcmlnZ2VyRW5hYmxlZF09XCJcbiAgICAgICAgYXV0b1BhbmVsICYmIGN1c3RvbVNlYXJjaFBhbmVsKCkgJiYgKHNlYXJjaElucHV0Py5zdGF0ZSQgfCBhc3luYyk/LnByaXN0aW5lXG4gICAgICBcIlxuICAgIC8+XG5cbiAgICBAaWYgKGhpbnQpIHtcbiAgICAgIDxtYXQtaGludD57eyBoaW50IH19PC9tYXQtaGludD5cbiAgICB9XG5cbiAgICA8ZGl2IGNsYXNzPVwibGF5b3V0LXJvd1wiIG1hdFN1ZmZpeD5cbiAgICAgIEBpZiAodG91Y2hlZFNlYXJjaElucHV0cyQgfCBhc3luYzsgYXMgdG91Y2hlZElucHV0cykge1xuICAgICAgICBAaWYgKHRvdWNoZWRJbnB1dHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAoY2xpY2spPVwiY2xlYXJTZWFyY2goJGV2ZW50KVwiXG4gICAgICAgICAgICBuYW1lPVwiY2xlYXJcIlxuICAgICAgICAgICAgYXJpYS1sYWJlbD1cIkNsZWFyXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICB9XG5cbiAgICAgICAgQGlmIChjdXN0b21TZWFyY2hQYW5lbCgpKSB7XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIG5hbWU9XCJvcGVuUGFuZWxcIlxuICAgICAgICAgICAgW2VsZGVyT3ZlcmxheVRyaWdnZXJdPVwic2VhcmNoUGFuZWxcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImJsdXJGb2N1cygkZXZlbnQpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgICAgW21hdEJhZGdlXT1cInRvdWNoZWRJbnB1dHMubGVuZ3RoXCJcbiAgICAgICAgICAgICAgbWF0QmFkZ2VTaXplPVwic21hbGxcIlxuICAgICAgICAgICAgICBbbWF0QmFkZ2VPdmVybGFwXT1cInRydWVcIlxuICAgICAgICAgICAgICBbbWF0QmFkZ2VIaWRkZW5dPVwidG91Y2hlZElucHV0cy5sZW5ndGggPT09IDBcIlxuICAgICAgICAgICAgICBtYXRCYWRnZUNvbG9yPVwiYWNjZW50XCJcbiAgICAgICAgICAgICAgW2NvbG9yXT1cInRvdWNoZWRJbnB1dHMubGVuZ3RoID4gMCA/ICdhY2NlbnQnIDogdW5kZWZpbmVkXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgZmlsdGVyX2xpc3RcbiAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgPC9tYXQtZm9ybS1maWVsZD5cbjwvZGl2PlxuXG48IS0tIE92ZXJsYXkgUGFuZWwgZm9yIGFkdmFuY2VkIHNlYXJjaCAtLT5cbjxlbGRlci1vdmVybGF5ICNzZWFyY2hQYW5lbD1cImVsZGVyT3ZlcmxheVwiPlxuICA8ZWxkZXItZGlhbG9nLXBhbmVsIGNsYXNzPVwiZWxkZXItc2VhcmNoLXBhbmVsLWNvbnRhaW5lclwiPlxuICAgIDwhLS0gUHJvamVjdCB0aGUgdXNlcnMgY3VzdG9tIHNlYXJjaCBwYW5lbCBoZXJlIC0tPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImVsZGVyLXNlYXJjaC1wYW5lbFwiPjwvbmctY29udGVudD5cblxuICAgIDxkaXYgY2xhc3M9XCJsYXlvdXQtcm93IHBsYWNlLWJldHdlZW4tY2VudGVyXCI+XG4gICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIHR5cGU9XCJidXR0b25cIiBuYW1lPVwiY2xlYXJcIiAoY2xpY2spPVwiY2xlYXJTZWFyY2goJGV2ZW50KVwiPlxuICAgICAgICB7eyAnY29udGV4dC5yZXNldCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvYnV0dG9uPlxuXG4gICAgICA8YnV0dG9uXG4gICAgICAgIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBuYW1lPVwib2tcIlxuICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICAoY2xpY2spPVwic2VhcmNoUGFuZWwuY2xvc2VPdmVybGF5KClcIlxuICAgICAgPlxuICAgICAgICBPa1xuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZWxkZXItZGlhbG9nLXBhbmVsPlxuPC9lbGRlci1vdmVybGF5PlxuIl19
|
|
@@ -6,8 +6,8 @@ import * as i0 from "@angular/core";
|
|
|
6
6
|
export class ElderSearchPanelComponent {
|
|
7
7
|
constructor() {
|
|
8
8
|
this.overlay = signal(undefined);
|
|
9
|
-
const overlay$ = toObservable(this.overlay).pipe(filter(overlay => !!overlay));
|
|
10
|
-
this.open$ = overlay$.pipe(switchMap(overlay => overlay.attachedChange.pipe(startWith(overlay.attached))));
|
|
9
|
+
const overlay$ = toObservable(this.overlay).pipe(filter((overlay) => !!overlay));
|
|
10
|
+
this.open$ = overlay$.pipe(switchMap((overlay) => overlay.attachedChange.pipe(startWith(overlay.attached))));
|
|
11
11
|
}
|
|
12
12
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: ElderSearchPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
13
13
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: ElderSearchPanelComponent, isStandalone: true, selector: "elder-search-panel", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
@@ -18,7 +18,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
|
|
|
18
18
|
selector: 'elder-search-panel',
|
|
19
19
|
template: '<ng-content></ng-content>',
|
|
20
20
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
21
|
-
standalone: true
|
|
21
|
+
standalone: true,
|
|
22
22
|
}]
|
|
23
23
|
}], ctorParameters: () => [] });
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItc2VhcmNoLXBhbmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvc2VhcmNoL3NlYXJjaC1ib3gvZWxkZXItc2VhcmNoLXBhbmVsLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFrQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFFMUYsT0FBTyxFQUFjLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUM1QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUFDekQsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTs7QUFRbEQsTUFBTSxPQUFPLHlCQUF5QjtJQUtwQztRQUpnQixZQUFPLEdBQUcsTUFBTSxDQUF3QixTQUFTLENBQUMsQ0FBQTtRQUtoRSxNQUFNLFFBQVEsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFBO1FBRWhGLElBQUksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FDeEIsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FDakYsQ0FBQTtJQUNILENBQUM7OEdBWFUseUJBQXlCO2tHQUF6Qix5QkFBeUIsOEVBSjFCLDJCQUEyQjs7MkZBSTFCLHlCQUF5QjtrQkFOckMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT3V0cHV0LCBvdXRwdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBFbGRlck92ZXJsYXlDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9vdmVybGF5cy9lbGRlci1vdmVybGF5LmNvbXBvbmVudCdcbmltcG9ydCB7IE9ic2VydmFibGUsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyB0b09ic2VydmFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCdcbmltcG9ydCB7IGZpbHRlciwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VsZGVyLXNlYXJjaC1wYW5lbCcsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBFbGRlclNlYXJjaFBhbmVsQ29tcG9uZW50IHtcbiAgcHVibGljIHJlYWRvbmx5IG92ZXJsYXkgPSBzaWduYWw8RWxkZXJPdmVybGF5Q29tcG9uZW50Pih1bmRlZmluZWQpXG5cbiAgcHVibGljIHJlYWRvbmx5IG9wZW4kOiBPYnNlcnZhYmxlPGJvb2xlYW4+XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgY29uc3Qgb3ZlcmxheSQgPSB0b09ic2VydmFibGUodGhpcy5vdmVybGF5KS5waXBlKGZpbHRlcigob3ZlcmxheSkgPT4gISFvdmVybGF5KSlcblxuICAgIHRoaXMub3BlbiQgPSBvdmVybGF5JC5waXBlKFxuICAgICAgc3dpdGNoTWFwKChvdmVybGF5KSA9PiBvdmVybGF5LmF0dGFjaGVkQ2hhbmdlLnBpcGUoc3RhcnRXaXRoKG92ZXJsYXkuYXR0YWNoZWQpKSlcbiAgICApXG4gIH1cbn1cbiJdfQ==
|
|
@@ -27,14 +27,11 @@ export class ElderGlobalSearchComponent {
|
|
|
27
27
|
this._availableSort = [];
|
|
28
28
|
this.sortAsc = false;
|
|
29
29
|
this.globalSearchDisabled = !globalSearch.showGlobalSearch;
|
|
30
|
-
this._subs.push(globalSearch.showGlobalSearchObservable
|
|
31
|
-
.subscribe(value => {
|
|
30
|
+
this._subs.push(globalSearch.showGlobalSearchObservable.subscribe((value) => {
|
|
32
31
|
this.globalSearchDisabled = !value;
|
|
33
|
-
}), this.globalSearch.availableSortsObservable
|
|
34
|
-
.subscribe(available => {
|
|
32
|
+
}), this.globalSearch.availableSortsObservable.subscribe((available) => {
|
|
35
33
|
this.availableSort = available;
|
|
36
|
-
}), router.events.pipe(filter(event => event instanceof NavigationEnd))
|
|
37
|
-
.subscribe(() => {
|
|
34
|
+
}), router.events.pipe(filter((event) => event instanceof NavigationEnd)).subscribe(() => {
|
|
38
35
|
this.searchCollapsed = true;
|
|
39
36
|
}));
|
|
40
37
|
}
|
|
@@ -54,7 +51,7 @@ export class ElderGlobalSearchComponent {
|
|
|
54
51
|
this.searchCollapsed = true;
|
|
55
52
|
}
|
|
56
53
|
ngOnDestroy() {
|
|
57
|
-
this._subs.forEach(sub => sub.unsubscribe());
|
|
54
|
+
this._subs.forEach((sub) => sub.unsubscribe());
|
|
58
55
|
}
|
|
59
56
|
get searchCollapsed() {
|
|
60
57
|
return this._searchCollapsed;
|
|
@@ -109,11 +106,23 @@ export class ElderGlobalSearchComponent {
|
|
|
109
106
|
return '';
|
|
110
107
|
}
|
|
111
108
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: ElderGlobalSearchComponent, deps: [{ token: i1.Router }, { token: i2.ElderGlobalSearchService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
112
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: ElderGlobalSearchComponent, isStandalone: true, selector: "elder-global-search", inputs: { hideWhenDisabled: "hideWhenDisabled", searchCollapsed: "searchCollapsed" }, outputs: { searchCollapsedChange: "searchCollapsedChange" }, viewQueries: [{ propertyName: "txtSearch", first: true, predicate: ["txtSearch"], descendants: true }], ngImport: i0, template: "<div class=\"layout-row place-center-center\">\n
|
|
109
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: ElderGlobalSearchComponent, isStandalone: true, selector: "elder-global-search", inputs: { hideWhenDisabled: "hideWhenDisabled", searchCollapsed: "searchCollapsed" }, outputs: { searchCollapsedChange: "searchCollapsedChange" }, viewQueries: [{ propertyName: "txtSearch", first: true, predicate: ["txtSearch"], descendants: true }], ngImport: i0, template: "<div class=\"layout-row place-center-center\">\n <span *ngIf=\"searchCollapsed\" class=\"flex\"></span>\n\n <div *ngIf=\"!searchCollapsed\" class=\"layout-row place-center-center flex\">\n <!-- Query Keywords -->\n <mat-form-field color=\"accent\" floatPlaceholder=\"never\" class=\"flex\">\n <mat-icon matPrefix>search</mat-icon>\n <input matInput type=\"search\" (keyup)=\"onQueryChanged()\" #txtSearch />\n </mat-form-field>\n\n <!-- Sort -->\n <mat-menu #sortMenu=\"matMenu\">\n <button\n mat-menu-item\n type=\"button\"\n *ngFor=\"let sort of availableSort\"\n class=\"layout-row place-between-center\"\n (click)=\"sortBy(sort)\"\n >\n {{ sort.name | translate }}\n <mat-icon *ngIf=\"selectedSort?.id == sort.id\">check</mat-icon>\n </button>\n </mat-menu>\n <button mat-icon-button type=\"button\" *ngIf=\"canSort\" [matMenuTriggerFor]=\"sortMenu\">\n <mat-icon>sort</mat-icon>\n </button>\n\n <!-- Sort Asc/Desc-->\n <button mat-icon-button type=\"button\" *ngIf=\"canSort\" (click)=\"toggleSortAsc()\">\n <mat-icon>{{ sortAsc ? 'arrow_downward' : 'arrow_upward' }}</mat-icon>\n </button>\n </div>\n\n <!-- Toggle Global Search -->\n <button\n mat-icon-button\n type=\"button\"\n *ngIf=\"!isSearchHidden\"\n (click)=\"toggleSearch()\"\n [disabled]=\"globalSearchDisabled\"\n >\n <mat-icon>{{ toggleIcon }}</mat-icon>\n </button>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
|
|
113
110
|
}
|
|
114
111
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: ElderGlobalSearchComponent, decorators: [{
|
|
115
112
|
type: Component,
|
|
116
|
-
args: [{ selector: 'elder-global-search', standalone: true, imports: [
|
|
113
|
+
args: [{ selector: 'elder-global-search', standalone: true, imports: [
|
|
114
|
+
NgIf,
|
|
115
|
+
MatFormField,
|
|
116
|
+
MatIcon,
|
|
117
|
+
MatPrefix,
|
|
118
|
+
MatInput,
|
|
119
|
+
MatMenu,
|
|
120
|
+
NgFor,
|
|
121
|
+
MatMenuItem,
|
|
122
|
+
MatIconButton,
|
|
123
|
+
MatMenuTrigger,
|
|
124
|
+
TranslateModule,
|
|
125
|
+
], template: "<div class=\"layout-row place-center-center\">\n <span *ngIf=\"searchCollapsed\" class=\"flex\"></span>\n\n <div *ngIf=\"!searchCollapsed\" class=\"layout-row place-center-center flex\">\n <!-- Query Keywords -->\n <mat-form-field color=\"accent\" floatPlaceholder=\"never\" class=\"flex\">\n <mat-icon matPrefix>search</mat-icon>\n <input matInput type=\"search\" (keyup)=\"onQueryChanged()\" #txtSearch />\n </mat-form-field>\n\n <!-- Sort -->\n <mat-menu #sortMenu=\"matMenu\">\n <button\n mat-menu-item\n type=\"button\"\n *ngFor=\"let sort of availableSort\"\n class=\"layout-row place-between-center\"\n (click)=\"sortBy(sort)\"\n >\n {{ sort.name | translate }}\n <mat-icon *ngIf=\"selectedSort?.id == sort.id\">check</mat-icon>\n </button>\n </mat-menu>\n <button mat-icon-button type=\"button\" *ngIf=\"canSort\" [matMenuTriggerFor]=\"sortMenu\">\n <mat-icon>sort</mat-icon>\n </button>\n\n <!-- Sort Asc/Desc-->\n <button mat-icon-button type=\"button\" *ngIf=\"canSort\" (click)=\"toggleSortAsc()\">\n <mat-icon>{{ sortAsc ? 'arrow_downward' : 'arrow_upward' }}</mat-icon>\n </button>\n </div>\n\n <!-- Toggle Global Search -->\n <button\n mat-icon-button\n type=\"button\"\n *ngIf=\"!isSearchHidden\"\n (click)=\"toggleSearch()\"\n [disabled]=\"globalSearchDisabled\"\n >\n <mat-icon>{{ toggleIcon }}</mat-icon>\n </button>\n</div>\n" }]
|
|
117
126
|
}], ctorParameters: () => [{ type: i1.Router }, { type: i2.ElderGlobalSearchService }], propDecorators: { searchCollapsedChange: [{
|
|
118
127
|
type: Output
|
|
119
128
|
}], hideWhenDisabled: [{
|
|
@@ -124,4 +133,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
|
|
|
124
133
|
type: ViewChild,
|
|
125
134
|
args: ['txtSearch']
|
|
126
135
|
}] } });
|
|
127
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItZ2xvYmFsLXNlYXJjaC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2dsb2JhbC1zZWFyY2gvZWxkZXItZ2xvYmFsLXNlYXJjaC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2dsb2JhbC1zZWFyY2gvZWxkZXItZ2xvYmFsLXNlYXJjaC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxTQUFTLEdBQ2pGLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBMkIsV0FBVyxFQUFhLE1BQU0sK0JBQStCLENBQUM7QUFDaEcsT0FBTyxFQUFDLGFBQWEsRUFBUyxNQUFNLGlCQUFpQixDQUFDO0FBQ3RELE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUU1QyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDakQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQy9DLE9BQU8sRUFBQyxZQUFZLEVBQUUsU0FBUyxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDckUsT0FB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QUM7SUFDNUQsQ0FBQztJQUVELElBQVksYUFBYTtRQUN2QixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNwQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWlDLENBQUM7WUFDbkUsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDO1FBQ3hCLENBQUM7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7OEdBeklVLDBCQUEwQjtrR0FBMUIsMEJBQTBCLDBVQzNCdkMsNGlEQW1EQSwwREQxQmMsSUFBSSw2RkFBRSxZQUFZLDRMQUFFLE9BQU8sMklBQUUsU0FBUyxxSEFBRSxRQUFRLGlVQUFFLE9BQU8sMlFBQUUsS0FBSyxtSEFBRSxXQUFXLHNJQUFFLGFBQWEsNkZBQUUsY0FBYyxvU0FBRSxlQUFlOzsyRkFFOUgsMEJBQTBCO2tCQVB0QyxTQUFTOytCQUNJLHFCQUFxQixjQUduQixJQUFJLFdBQ1AsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsZUFBZSxDQUFDO2tIQVNuSSxxQkFBcUI7c0JBRDNCLE1BQU07Z0JBSUEsZ0JBQWdCO3NCQUR0QixLQUFLO2dCQThERixlQUFlO3NCQURsQixLQUFLO2dCQU1GLFNBQVM7c0JBRFosU0FBUzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtFbGRlckdsb2JhbFNlYXJjaFNlcnZpY2UsIFNlYXJjaFF1ZXJ5LCBTb3J0T3B0aW9ufSBmcm9tICcuL2VsZGVyLWdsb2JhbC1zZWFyY2guc2VydmljZSc7XG5pbXBvcnQge05hdmlnYXRpb25FbmQsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7U29ydH0gZnJvbSAnLi4vLi4vY29tbW9uL2RhdGEvc29ydCc7XG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2ZpbHRlcn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtUcmFuc2xhdGVNb2R1bGV9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtNYXRJY29uQnV0dG9ufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHtNYXRNZW51LCBNYXRNZW51SXRlbSwgTWF0TWVudVRyaWdnZXJ9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xuaW1wb3J0IHtNYXRJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHtNYXRJY29ufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7TWF0Rm9ybUZpZWxkLCBNYXRQcmVmaXh9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHtOZ0lmLCBOZ0Zvcn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuXG4vKipcbiAqIEBkZXByZWNhdGVkIFRoaXMgY29tcG9uZW50IGlzIGNvbnNpZGVyZWQgRU9MXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZWxkZXItZ2xvYmFsLXNlYXJjaCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2VsZGVyLWdsb2JhbC1zZWFyY2guY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2VsZGVyLWdsb2JhbC1zZWFyY2guY29tcG9uZW50LnNjc3MnXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtOZ0lmLCBNYXRGb3JtRmllbGQsIE1hdEljb24sIE1hdFByZWZpeCwgTWF0SW5wdXQsIE1hdE1lbnUsIE5nRm9yLCBNYXRNZW51SXRlbSwgTWF0SWNvbkJ1dHRvbiwgTWF0TWVudVRyaWdnZXIsIFRyYW5zbGF0ZU1vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJHbG9iYWxTZWFyY2hDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgcHJpdmF0ZSBfc2VhcmNoQ29sbGFwc2VkID0gdHJ1ZTtcbiAgcHJpdmF0ZSBfdHh0U2VhcmNoOiBFbGVtZW50UmVmO1xuICBwcml2YXRlIF9zdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgc2VhcmNoQ29sbGFwc2VkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBoaWRlV2hlbkRpc2FibGVkOiBib29sZWFuO1xuXG4gIHByaXZhdGUgX2F2YWlsYWJsZVNvcnQ6IFNvcnRPcHRpb25bXSA9IFtdO1xuICBwdWJsaWMgc2VsZWN0ZWRTb3J0OiBTb3J0T3B0aW9uO1xuICBwdWJsaWMgc29ydEFzYyA9IGZhbHNlO1xuICBwdWJsaWMgZ2xvYmFsU2VhcmNoRGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIGdsb2JhbFNlYXJjaDogRWxkZXJHbG9iYWxTZWFyY2hTZXJ2aWNlKSB7XG5cbiAgICB0aGlzLmdsb2JhbFNlYXJjaERpc2FibGVkID0gIWdsb2JhbFNlYXJjaC5zaG93R2xvYmFsU2VhcmNoO1xuXG5cbiAgICB0aGlzLl9zdWJzLnB1c2goXG5cbiAgICAgIGdsb2JhbFNlYXJjaC5zaG93R2xvYmFsU2VhcmNoT2JzZXJ2YWJsZVxuICAgICAgICAuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgICAgICB0aGlzLmdsb2JhbFNlYXJjaERpc2FibGVkID0gIXZhbHVlO1xuICAgICAgICB9KSxcblxuICAgICAgdGhpcy5nbG9iYWxTZWFyY2guYXZhaWxhYmxlU29ydHNPYnNlcnZhYmxlXG4gICAgICAgIC5zdWJzY3JpYmUoYXZhaWxhYmxlID0+IHtcbiAgICAgICAgICB0aGlzLmF2YWlsYWJsZVNvcnQgPSBhdmFpbGFibGU7XG4gICAgICAgIH0pLFxuXG4gICAgICByb3V0ZXIuZXZlbnRzLnBpcGUoXG4gICAgICAgICBmaWx0ZXIoZXZlbnQgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuc2VhcmNoQ29sbGFwc2VkID0gdHJ1ZTtcbiAgICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHNldCBhdmFpbGFibGVTb3J0KGF2YWlsYWJsZTogU29ydE9wdGlvbltdKSB7XG4gICAgdGhpcy5fYXZhaWxhYmxlU29ydCA9IGF2YWlsYWJsZTtcbiAgICBpZiAoYXZhaWxhYmxlLmxlbmd0aCA+IDApIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFNvcnQgPSBhdmFpbGFibGVbMF07XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBhdmFpbGFibGVTb3J0KCk6IFNvcnRPcHRpb25bXSB7XG4gICAgICByZXR1cm4gdGhpcy5fYXZhaWxhYmxlU29ydDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2FuU29ydCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fYXZhaWxhYmxlU29ydCAmJiB0aGlzLmF2YWlsYWJsZVNvcnQubGVuZ3RoID4gMDtcbiAgfVxuXG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zZWFyY2hDb2xsYXBzZWQgPSB0cnVlO1xuICB9XG5cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzLmZvckVhY2goc3ViID0+IHN1Yi51bnN1YnNjcmliZSgpKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGdldCBzZWFyY2hDb2xsYXBzZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3NlYXJjaENvbGxhcHNlZDtcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoJ3R4dFNlYXJjaCcpXG4gIHNldCB0eHRTZWFyY2goaW5wdXQ6IEVsZW1lbnRSZWYpIHtcbiAgICB0aGlzLl90eHRTZWFyY2ggPSBpbnB1dDtcbiAgfVxuXG4gIHNldCBzZWFyY2hDb2xsYXBzZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9zZWFyY2hDb2xsYXBzZWQgPSB2YWx1ZTtcbiAgICB0aGlzLnNlYXJjaENvbGxhcHNlZENoYW5nZS5lbWl0KHRoaXMuc2VhcmNoQ29sbGFwc2VkKTtcbiAgICBpZiAoIXRoaXMuX3NlYXJjaENvbGxhcHNlZCkge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLl90eHRTZWFyY2gubmF0aXZlRWxlbWVudC5mb2N1cygpLCAwKTtcbiAgICB9XG4gIH1cblxuICBnZXQgdG9nZ2xlSWNvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnNlYXJjaENvbGxhcHNlZCA/ICdzZWFyY2gnIDogJ2Nsb3NlJztcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVTZWFyY2goKSB7XG4gICAgaWYgKHRoaXMuc2VhcmNoQ29sbGFwc2VkKSB7XG4gICAgICAvLyBTaG93IHNlYXJjaFxuICAgICAgdGhpcy5zZWFyY2hDb2xsYXBzZWQgPSBmYWxzZTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gQ29sbGFwc2Ugc2VhcmNoXG4gICAgICB0aGlzLnNlYXJjaENvbGxhcHNlZCA9IHRydWU7XG4gICAgICB0aGlzLmdsb2JhbFNlYXJjaC5xdWVyeSA9IFNlYXJjaFF1ZXJ5LkVtcHR5O1xuICAgIH1cbiAgfVxuXG4gIGdldCBpc1NlYXJjaEhpZGRlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oaWRlV2hlbkRpc2FibGVkICYmIHRoaXMuZ2xvYmFsU2VhcmNoRGlzYWJsZWQ7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlU29ydEFzYygpOiB2b2lkIHtcbiAgICB0aGlzLnNvcnRBc2MgPSAhdGhpcy5zb3J0QXNjO1xuICAgIHRoaXMub25RdWVyeUNoYW5nZWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBzb3J0Qnkoc29ydDogU29ydE9wdGlvbikge1xuICAgIHRoaXMuc2VsZWN0ZWRTb3J0ID0gc29ydDtcbiAgICB0aGlzLm9uUXVlcnlDaGFuZ2VkKCk7XG4gIH1cblxuICBwdWJsaWMgb25RdWVyeUNoYW5nZWQoKSB7XG5cbiAgICBjb25zdCBzb3J0cyA9IHRoaXMuc2VsZWN0ZWRTb3J0ID8gW3RoaXMuY29udmVydFRvU29ydCh0aGlzLnNlbGVjdGVkU29ydCldIDogW107XG5cbiAgICB0aGlzLmdsb2JhbFNlYXJjaC5xdWVyeSA9IG5ldyBTZWFyY2hRdWVyeShcbiAgICAgICAgdGhpcy5rZXl3b3Jkc1ZhbHVlLFxuICAgICAgICBzb3J0c1xuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGNvbnZlcnRUb1NvcnQoc29ydDogU29ydE9wdGlvbik6IFNvcnQge1xuICAgICAgcmV0dXJuIG5ldyBTb3J0KHNvcnQuaWQsIHRoaXMuc29ydEFzYyA/ICdhc2MnIDogJ2Rlc2MnKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGtleXdvcmRzVmFsdWUoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5fdHh0U2VhcmNoKSB7XG4gICAgICBjb25zdCB0eHRJbnB1dCA9IHRoaXMuX3R4dFNlYXJjaC5uYXRpdmVFbGVtZW50IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgICByZXR1cm4gdHh0SW5wdXQudmFsdWU7XG4gICAgfVxuICAgIHJldHVybiAnJztcbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwibGF5b3V0LXJvdyBwbGFjZS1jZW50ZXItY2VudGVyXCI+XG5cbiAgPHNwYW4gKm5nSWY9XCJzZWFyY2hDb2xsYXBzZWRcIiBjbGFzcz1cImZsZXhcIj48L3NwYW4+XG5cblxuICA8ZGl2ICpuZ0lmPVwiIXNlYXJjaENvbGxhcHNlZFwiIGNsYXNzPVwibGF5b3V0LXJvdyBwbGFjZS1jZW50ZXItY2VudGVyIGZsZXhcIj5cblxuICAgIDwhLS0gUXVlcnkgS2V5d29yZHMgLS0+XG4gICAgPG1hdC1mb3JtLWZpZWxkIGNvbG9yPVwiYWNjZW50XCIgZmxvYXRQbGFjZWhvbGRlcj1cIm5ldmVyXCIgY2xhc3M9XCJmbGV4XCI+XG4gICAgICA8bWF0LWljb24gbWF0UHJlZml4PnNlYXJjaDwvbWF0LWljb24+XG4gICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT1cInNlYXJjaFwiXG4gICAgICAgICAgICAgKGtleXVwKT1cIm9uUXVlcnlDaGFuZ2VkKClcIlxuICAgICAgICAgICAgICN0eHRTZWFyY2g+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgIDwhLS0gU29ydCAtLT5cbiAgICA8bWF0LW1lbnUgI3NvcnRNZW51PVwibWF0TWVudVwiPlxuICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgc29ydCBvZiBhdmFpbGFibGVTb3J0XCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJsYXlvdXQtcm93IHBsYWNlLWJldHdlZW4tY2VudGVyXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInNvcnRCeShzb3J0KVwiXG4gICAgICA+XG4gICAgICAgIHt7c29ydC5uYW1lIHwgdHJhbnNsYXRlfX1cbiAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwic2VsZWN0ZWRTb3J0Py5pZD09c29ydC5pZFwiPmNoZWNrPC9tYXQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvbWF0LW1lbnU+XG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAqbmdJZj1cImNhblNvcnRcIlxuICAgICAgICAgICAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cInNvcnRNZW51XCI+XG4gICAgICA8bWF0LWljb24+c29ydDwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG5cbiAgICA8IS0tIFNvcnQgQXNjL0Rlc2MtLT5cbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICpuZ0lmPVwiY2FuU29ydFwiXG4gICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlU29ydEFzYygpXCI+XG4gICAgICA8bWF0LWljb24+e3tzb3J0QXNjID8gXCJhcnJvd19kb3dud2FyZFwiIDogXCJhcnJvd191cHdhcmRcIn19PC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG5cblxuICA8IS0tIFRvZ2dsZSBHbG9iYWwgU2VhcmNoIC0tPlxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAqbmdJZj1cIiFpc1NlYXJjaEhpZGRlblwiXG4gICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZVNlYXJjaCgpXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZ2xvYmFsU2VhcmNoRGlzYWJsZWRcIiA+XG4gICAgPG1hdC1pY29uPnt7dG9nZ2xlSWNvbn19PC9tYXQtaWNvbj5cbiAgPC9idXR0b24+XG48L2Rpdj5cblxuXG4iXX0=
|
|
136
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItZ2xvYmFsLXNlYXJjaC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2dsb2JhbC1zZWFyY2gvZWxkZXItZ2xvYmFsLXNlYXJjaC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2dsb2JhbC1zZWFyY2gvZWxkZXItZ2xvYmFsLXNlYXJjaC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQTRCLFdBQVcsRUFBYyxNQUFNLCtCQUErQixDQUFBO0FBQ2pHLE9BQU8sRUFBRSxhQUFhLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQTtBQUN2RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFFN0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3ZDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFDeEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDN0UsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQ2xELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUNoRCxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBQ3RFLE9BQU8s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QUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ3pELENBQUM7SUFFRCxJQUFZLGFBQWE7UUFDdkIsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDcEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFpQyxDQUFBO1lBQ2xFLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQTtRQUN2QixDQUFDO1FBQ0QsT0FBTyxFQUFFLENBQUE7SUFDWCxDQUFDOzhHQTNIVSwwQkFBMEI7a0dBQTFCLDBCQUEwQiwwVUM3Q3ZDLGk5Q0E0Q0EsMEREWkksSUFBSSw2RkFDSixZQUFZLDRMQUNaLE9BQU8sMklBQ1AsU0FBUyxxSEFDVCxRQUFRLGlVQUNSLE9BQU8sMlFBQ1AsS0FBSyxtSEFDTCxXQUFXLHNJQUNYLGFBQWEsNkZBQ2IsY0FBYyxvU0FDZCxlQUFlOzsyRkFHTiwwQkFBMEI7a0JBbkJ0QyxTQUFTOytCQUNFLHFCQUFxQixjQUduQixJQUFJLFdBQ1A7d0JBQ1AsSUFBSTt3QkFDSixZQUFZO3dCQUNaLE9BQU87d0JBQ1AsU0FBUzt3QkFDVCxRQUFRO3dCQUNSLE9BQU87d0JBQ1AsS0FBSzt3QkFDTCxXQUFXO3dCQUNYLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxlQUFlO3FCQUNoQjtrSEFRTSxxQkFBcUI7c0JBRDNCLE1BQU07Z0JBSUEsZ0JBQWdCO3NCQUR0QixLQUFLO2dCQXFERixlQUFlO3NCQURsQixLQUFLO2dCQU1GLFNBQVM7c0JBRFosU0FBUzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBFbGRlckdsb2JhbFNlYXJjaFNlcnZpY2UsIFNlYXJjaFF1ZXJ5LCBTb3J0T3B0aW9uIH0gZnJvbSAnLi9lbGRlci1nbG9iYWwtc2VhcmNoLnNlcnZpY2UnXG5pbXBvcnQgeyBOYXZpZ2F0aW9uRW5kLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInXG5pbXBvcnQgeyBTb3J0IH0gZnJvbSAnLi4vLi4vY29tbW9uL2RhdGEvc29ydCdcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBNYXRJY29uQnV0dG9uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJ1xuaW1wb3J0IHsgTWF0TWVudSwgTWF0TWVudUl0ZW0sIE1hdE1lbnVUcmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSdcbmltcG9ydCB7IE1hdElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnXG5pbXBvcnQgeyBNYXRJY29uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbidcbmltcG9ydCB7IE1hdEZvcm1GaWVsZCwgTWF0UHJlZml4IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCdcbmltcG9ydCB7IE5nSWYsIE5nRm9yIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIFRoaXMgY29tcG9uZW50IGlzIGNvbnNpZGVyZWQgRU9MXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VsZGVyLWdsb2JhbC1zZWFyY2gnLFxuICB0ZW1wbGF0ZVVybDogJy4vZWxkZXItZ2xvYmFsLXNlYXJjaC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2VsZGVyLWdsb2JhbC1zZWFyY2guY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE5nSWYsXG4gICAgTWF0Rm9ybUZpZWxkLFxuICAgIE1hdEljb24sXG4gICAgTWF0UHJlZml4LFxuICAgIE1hdElucHV0LFxuICAgIE1hdE1lbnUsXG4gICAgTmdGb3IsXG4gICAgTWF0TWVudUl0ZW0sXG4gICAgTWF0SWNvbkJ1dHRvbixcbiAgICBNYXRNZW51VHJpZ2dlcixcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyR2xvYmFsU2VhcmNoQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIF9zZWFyY2hDb2xsYXBzZWQgPSB0cnVlXG4gIHByaXZhdGUgX3R4dFNlYXJjaDogRWxlbWVudFJlZlxuICBwcml2YXRlIF9zdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdXG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBzZWFyY2hDb2xsYXBzZWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KClcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaGlkZVdoZW5EaXNhYmxlZDogYm9vbGVhblxuXG4gIHByaXZhdGUgX2F2YWlsYWJsZVNvcnQ6IFNvcnRPcHRpb25bXSA9IFtdXG4gIHB1YmxpYyBzZWxlY3RlZFNvcnQ6IFNvcnRPcHRpb25cbiAgcHVibGljIHNvcnRBc2MgPSBmYWxzZVxuICBwdWJsaWMgZ2xvYmFsU2VhcmNoRGlzYWJsZWQ6IGJvb2xlYW5cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgZ2xvYmFsU2VhcmNoOiBFbGRlckdsb2JhbFNlYXJjaFNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5nbG9iYWxTZWFyY2hEaXNhYmxlZCA9ICFnbG9iYWxTZWFyY2guc2hvd0dsb2JhbFNlYXJjaFxuXG4gICAgdGhpcy5fc3Vicy5wdXNoKFxuICAgICAgZ2xvYmFsU2VhcmNoLnNob3dHbG9iYWxTZWFyY2hPYnNlcnZhYmxlLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgICAgdGhpcy5nbG9iYWxTZWFyY2hEaXNhYmxlZCA9ICF2YWx1ZVxuICAgICAgfSksXG5cbiAgICAgIHRoaXMuZ2xvYmFsU2VhcmNoLmF2YWlsYWJsZVNvcnRzT2JzZXJ2YWJsZS5zdWJzY3JpYmUoKGF2YWlsYWJsZSkgPT4ge1xuICAgICAgICB0aGlzLmF2YWlsYWJsZVNvcnQgPSBhdmFpbGFibGVcbiAgICAgIH0pLFxuXG4gICAgICByb3V0ZXIuZXZlbnRzLnBpcGUoZmlsdGVyKChldmVudCkgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5zZWFyY2hDb2xsYXBzZWQgPSB0cnVlXG4gICAgICB9KVxuICAgIClcbiAgfVxuXG4gIHB1YmxpYyBzZXQgYXZhaWxhYmxlU29ydChhdmFpbGFibGU6IFNvcnRPcHRpb25bXSkge1xuICAgIHRoaXMuX2F2YWlsYWJsZVNvcnQgPSBhdmFpbGFibGVcbiAgICBpZiAoYXZhaWxhYmxlLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRTb3J0ID0gYXZhaWxhYmxlWzBdXG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBhdmFpbGFibGVTb3J0KCk6IFNvcnRPcHRpb25bXSB7XG4gICAgcmV0dXJuIHRoaXMuX2F2YWlsYWJsZVNvcnRcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2FuU29ydCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fYXZhaWxhYmxlU29ydCAmJiB0aGlzLmF2YWlsYWJsZVNvcnQubGVuZ3RoID4gMFxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zZWFyY2hDb2xsYXBzZWQgPSB0cnVlXG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzLmZvckVhY2goKHN1YikgPT4gc3ViLnVuc3Vic2NyaWJlKCkpXG4gIH1cblxuICBASW5wdXQoKVxuICBnZXQgc2VhcmNoQ29sbGFwc2VkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9zZWFyY2hDb2xsYXBzZWRcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoJ3R4dFNlYXJjaCcpXG4gIHNldCB0eHRTZWFyY2goaW5wdXQ6IEVsZW1lbnRSZWYpIHtcbiAgICB0aGlzLl90eHRTZWFyY2ggPSBpbnB1dFxuICB9XG5cbiAgc2V0IHNlYXJjaENvbGxhcHNlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX3NlYXJjaENvbGxhcHNlZCA9IHZhbHVlXG4gICAgdGhpcy5zZWFyY2hDb2xsYXBzZWRDaGFuZ2UuZW1pdCh0aGlzLnNlYXJjaENvbGxhcHNlZClcbiAgICBpZiAoIXRoaXMuX3NlYXJjaENvbGxhcHNlZCkge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLl90eHRTZWFyY2gubmF0aXZlRWxlbWVudC5mb2N1cygpLCAwKVxuICAgIH1cbiAgfVxuXG4gIGdldCB0b2dnbGVJY29uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuc2VhcmNoQ29sbGFwc2VkID8gJ3NlYXJjaCcgOiAnY2xvc2UnXG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlU2VhcmNoKCkge1xuICAgIGlmICh0aGlzLnNlYXJjaENvbGxhcHNlZCkge1xuICAgICAgLy8gU2hvdyBzZWFyY2hcbiAgICAgIHRoaXMuc2VhcmNoQ29sbGFwc2VkID0gZmFsc2VcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gQ29sbGFwc2Ugc2VhcmNoXG4gICAgICB0aGlzLnNlYXJjaENvbGxhcHNlZCA9IHRydWVcbiAgICAgIHRoaXMuZ2xvYmFsU2VhcmNoLnF1ZXJ5ID0gU2VhcmNoUXVlcnkuRW1wdHlcbiAgICB9XG4gIH1cblxuICBnZXQgaXNTZWFyY2hIaWRkZW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGlkZVdoZW5EaXNhYmxlZCAmJiB0aGlzLmdsb2JhbFNlYXJjaERpc2FibGVkXG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlU29ydEFzYygpOiB2b2lkIHtcbiAgICB0aGlzLnNvcnRBc2MgPSAhdGhpcy5zb3J0QXNjXG4gICAgdGhpcy5vblF1ZXJ5Q2hhbmdlZCgpXG4gIH1cblxuICBwdWJsaWMgc29ydEJ5KHNvcnQ6IFNvcnRPcHRpb24pIHtcbiAgICB0aGlzLnNlbGVjdGVkU29ydCA9IHNvcnRcbiAgICB0aGlzLm9uUXVlcnlDaGFuZ2VkKClcbiAgfVxuXG4gIHB1YmxpYyBvblF1ZXJ5Q2hhbmdlZCgpIHtcbiAgICBjb25zdCBzb3J0cyA9IHRoaXMuc2VsZWN0ZWRTb3J0ID8gW3RoaXMuY29udmVydFRvU29ydCh0aGlzLnNlbGVjdGVkU29ydCldIDogW11cblxuICAgIHRoaXMuZ2xvYmFsU2VhcmNoLnF1ZXJ5ID0gbmV3IFNlYXJjaFF1ZXJ5KHRoaXMua2V5d29yZHNWYWx1ZSwgc29ydHMpXG4gIH1cblxuICBwcml2YXRlIGNvbnZlcnRUb1NvcnQoc29ydDogU29ydE9wdGlvbik6IFNvcnQge1xuICAgIHJldHVybiBuZXcgU29ydChzb3J0LmlkLCB0aGlzLnNvcnRBc2MgPyAnYXNjJyA6ICdkZXNjJylcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGtleXdvcmRzVmFsdWUoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5fdHh0U2VhcmNoKSB7XG4gICAgICBjb25zdCB0eHRJbnB1dCA9IHRoaXMuX3R4dFNlYXJjaC5uYXRpdmVFbGVtZW50IGFzIEhUTUxJbnB1dEVsZW1lbnRcbiAgICAgIHJldHVybiB0eHRJbnB1dC52YWx1ZVxuICAgIH1cbiAgICByZXR1cm4gJydcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImxheW91dC1yb3cgcGxhY2UtY2VudGVyLWNlbnRlclwiPlxuICA8c3BhbiAqbmdJZj1cInNlYXJjaENvbGxhcHNlZFwiIGNsYXNzPVwiZmxleFwiPjwvc3Bhbj5cblxuICA8ZGl2ICpuZ0lmPVwiIXNlYXJjaENvbGxhcHNlZFwiIGNsYXNzPVwibGF5b3V0LXJvdyBwbGFjZS1jZW50ZXItY2VudGVyIGZsZXhcIj5cbiAgICA8IS0tIFF1ZXJ5IEtleXdvcmRzIC0tPlxuICAgIDxtYXQtZm9ybS1maWVsZCBjb2xvcj1cImFjY2VudFwiIGZsb2F0UGxhY2Vob2xkZXI9XCJuZXZlclwiIGNsYXNzPVwiZmxleFwiPlxuICAgICAgPG1hdC1pY29uIG1hdFByZWZpeD5zZWFyY2g8L21hdC1pY29uPlxuICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9XCJzZWFyY2hcIiAoa2V5dXApPVwib25RdWVyeUNoYW5nZWQoKVwiICN0eHRTZWFyY2ggLz5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgPCEtLSBTb3J0IC0tPlxuICAgIDxtYXQtbWVudSAjc29ydE1lbnU9XCJtYXRNZW51XCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIG1hdC1tZW51LWl0ZW1cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICpuZ0Zvcj1cImxldCBzb3J0IG9mIGF2YWlsYWJsZVNvcnRcIlxuICAgICAgICBjbGFzcz1cImxheW91dC1yb3cgcGxhY2UtYmV0d2Vlbi1jZW50ZXJcIlxuICAgICAgICAoY2xpY2spPVwic29ydEJ5KHNvcnQpXCJcbiAgICAgID5cbiAgICAgICAge3sgc29ydC5uYW1lIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cInNlbGVjdGVkU29ydD8uaWQgPT0gc29ydC5pZFwiPmNoZWNrPC9tYXQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvbWF0LW1lbnU+XG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gdHlwZT1cImJ1dHRvblwiICpuZ0lmPVwiY2FuU29ydFwiIFttYXRNZW51VHJpZ2dlckZvcl09XCJzb3J0TWVudVwiPlxuICAgICAgPG1hdC1pY29uPnNvcnQ8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuXG4gICAgPCEtLSBTb3J0IEFzYy9EZXNjLS0+XG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gdHlwZT1cImJ1dHRvblwiICpuZ0lmPVwiY2FuU29ydFwiIChjbGljayk9XCJ0b2dnbGVTb3J0QXNjKClcIj5cbiAgICAgIDxtYXQtaWNvbj57eyBzb3J0QXNjID8gJ2Fycm93X2Rvd253YXJkJyA6ICdhcnJvd191cHdhcmQnIH19PC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG5cbiAgPCEtLSBUb2dnbGUgR2xvYmFsIFNlYXJjaCAtLT5cbiAgPGJ1dHRvblxuICAgIG1hdC1pY29uLWJ1dHRvblxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgICpuZ0lmPVwiIWlzU2VhcmNoSGlkZGVuXCJcbiAgICAoY2xpY2spPVwidG9nZ2xlU2VhcmNoKClcIlxuICAgIFtkaXNhYmxlZF09XCJnbG9iYWxTZWFyY2hEaXNhYmxlZFwiXG4gID5cbiAgICA8bWF0LWljb24+e3sgdG9nZ2xlSWNvbiB9fTwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
|
|
@@ -14,16 +14,34 @@ export * from './elder-global-search.service';
|
|
|
14
14
|
*/
|
|
15
15
|
export class ElderGlobalSearchModule {
|
|
16
16
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: ElderGlobalSearchModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
17
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: ElderGlobalSearchModule, imports: [CommonModule,
|
|
18
|
-
|
|
17
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: ElderGlobalSearchModule, imports: [CommonModule,
|
|
18
|
+
MatIconModule,
|
|
19
|
+
MatInputModule,
|
|
20
|
+
MatButtonModule,
|
|
21
|
+
MatMenuModule,
|
|
22
|
+
TranslateModule,
|
|
23
|
+
ElderGlobalSearchComponent], exports: [ElderGlobalSearchComponent] }); }
|
|
24
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: ElderGlobalSearchModule, imports: [CommonModule,
|
|
25
|
+
MatIconModule,
|
|
26
|
+
MatInputModule,
|
|
27
|
+
MatButtonModule,
|
|
28
|
+
MatMenuModule,
|
|
29
|
+
TranslateModule,
|
|
30
|
+
ElderGlobalSearchComponent] }); }
|
|
19
31
|
}
|
|
20
32
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: ElderGlobalSearchModule, decorators: [{
|
|
21
33
|
type: NgModule,
|
|
22
34
|
args: [{
|
|
23
|
-
exports: [
|
|
24
|
-
|
|
35
|
+
exports: [ElderGlobalSearchComponent],
|
|
36
|
+
imports: [
|
|
37
|
+
CommonModule,
|
|
38
|
+
MatIconModule,
|
|
39
|
+
MatInputModule,
|
|
40
|
+
MatButtonModule,
|
|
41
|
+
MatMenuModule,
|
|
42
|
+
TranslateModule,
|
|
43
|
+
ElderGlobalSearchComponent,
|
|
25
44
|
],
|
|
26
|
-
imports: [CommonModule, MatIconModule, MatInputModule, MatButtonModule, MatMenuModule, TranslateModule, ElderGlobalSearchComponent]
|
|
27
45
|
}]
|
|
28
46
|
}] });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItZ2xvYmFsLXNlYXJjaC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2dsb2JhbC1zZWFyY2gvZWxkZXItZ2xvYmFsLXNlYXJjaC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQTtBQUM1RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFDMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDdEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTs7QUFFckQsY0FBYyxpQ0FBaUMsQ0FBQTtBQUMvQyxjQUFjLCtCQUErQixDQUFBO0FBRTdDOztHQUVHO0FBYUgsTUFBTSxPQUFPLHVCQUF1Qjs4R0FBdkIsdUJBQXVCOytHQUF2Qix1QkFBdUIsWUFUaEMsWUFBWTtZQUNaLGFBQWE7WUFDYixjQUFjO1lBQ2QsZUFBZTtZQUNmLGFBQWE7WUFDYixlQUFlO1lBQ2YsMEJBQTBCLGFBUmxCLDBCQUEwQjsrR0FXekIsdUJBQXVCLFlBVGhDLFlBQVk7WUFDWixhQUFhO1lBQ2IsY0FBYztZQUNkLGVBQWU7WUFDZixhQUFhO1lBQ2IsZUFBZTtZQUNmLDBCQUEwQjs7MkZBR2pCLHVCQUF1QjtrQkFabkMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztvQkFDckMsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixlQUFlO3dCQUNmLDBCQUEwQjtxQkFDM0I7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBFbGRlckdsb2JhbFNlYXJjaENvbXBvbmVudCB9IGZyb20gJy4vZWxkZXItZ2xvYmFsLXNlYXJjaC5jb21wb25lbnQnXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbidcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnXG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSdcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5cbmV4cG9ydCAqIGZyb20gJy4vZWxkZXItZ2xvYmFsLXNlYXJjaC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2VsZGVyLWdsb2JhbC1zZWFyY2guc2VydmljZSdcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBUaGlzIG1vZHVsZSBpcyBjb25zaWRlcmVkIEVPTFxuICovXG5ATmdNb2R1bGUoe1xuICBleHBvcnRzOiBbRWxkZXJHbG9iYWxTZWFyY2hDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdE1lbnVNb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIEVsZGVyR2xvYmFsU2VhcmNoQ29tcG9uZW50LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBFbGRlckdsb2JhbFNlYXJjaE1vZHVsZSB7fVxuIl19
|
|
@@ -39,15 +39,17 @@ export class ElderGlobalSearchService {
|
|
|
39
39
|
this._showGlobalSearchSubject = new Subject();
|
|
40
40
|
this._querySubject = new Subject();
|
|
41
41
|
this._availableSorts = new Subject();
|
|
42
|
-
router.events
|
|
42
|
+
router.events
|
|
43
|
+
.pipe(filter((event) => event instanceof NavigationEnd), map(() => router.routerState.root), map((route) => {
|
|
43
44
|
while (route.firstChild) {
|
|
44
45
|
route = route.firstChild;
|
|
45
46
|
}
|
|
46
47
|
return route;
|
|
47
|
-
}), filter(route => route.outlet === 'primary'), mergeMap(route => route.data))
|
|
48
|
-
.subscribe(currentRouteData => {
|
|
48
|
+
}), filter((route) => route.outlet === 'primary'), mergeMap((route) => route.data))
|
|
49
|
+
.subscribe((currentRouteData) => {
|
|
49
50
|
const enableGlobalSearch = currentRouteData['enableGlobalSearch'];
|
|
50
|
-
this.showGlobalSearch =
|
|
51
|
+
this.showGlobalSearch =
|
|
52
|
+
enableGlobalSearch != null ? !!enableGlobalSearch : !!currentRouteData['showGlobalSearch'];
|
|
51
53
|
});
|
|
52
54
|
}
|
|
53
55
|
/***************************************************************************
|
|
@@ -87,7 +89,7 @@ export class ElderGlobalSearchService {
|
|
|
87
89
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: ElderGlobalSearchService, decorators: [{
|
|
88
90
|
type: Injectable,
|
|
89
91
|
args: [{
|
|
90
|
-
providedIn: 'root'
|
|
92
|
+
providedIn: 'root',
|
|
91
93
|
}]
|
|
92
94
|
}], ctorParameters: () => [{ type: i1.Router }] });
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItZ2xvYmFsLXNlYXJjaC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9nbG9iYWwtc2VhcmNoL2VsZGVyLWdsb2JhbC1zZWFyY2guc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzFDLE9BQU8sRUFBRSxhQUFhLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQTtBQUN2RCxPQUFPLEVBQUUsT0FBTyxFQUFjLE1BQU0sTUFBTSxDQUFBO0FBQzFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFBOzs7QUFHdEQsTUFBTSxPQUFPLFVBQVU7SUFDckIsWUFDUyxFQUFVLEVBQ1YsSUFBWTtRQURaLE9BQUUsR0FBRixFQUFFLENBQVE7UUFDVixTQUFJLEdBQUosSUFBSSxDQUFRO0lBQ2xCLENBQUM7Q0FDTDtBQUVEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFdBQVc7YUFDUixVQUFLLEdBQUcsSUFBSSxXQUFXLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBRTdDLFlBQ1MsUUFBZ0IsRUFDaEIsS0FBYTtRQURiLGFBQVEsR0FBUixRQUFRLENBQVE7UUFDaEIsVUFBSyxHQUFMLEtBQUssQ0FBUTtJQUNuQixDQUFDOztBQUdOOztHQUVHO0FBSUgsTUFBTSxPQUFPLHdCQUF3QjtJQWNuQzs7OztnRkFJNEU7SUFFNUUsWUFBWSxNQUFjO1FBbkIxQjs7OztvRkFJNEU7UUFFcEUsc0JBQWlCLEdBQUcsS0FBSyxDQUFBO1FBQ3pCLDZCQUF3QixHQUFHLElBQUksT0FBTyxFQUFXLENBQUE7UUFHakQsa0JBQWEsR0FBRyxJQUFJLE9BQU8sRUFBZSxDQUFBO1FBQzFDLG9CQUFlLEdBQUcsSUFBSSxPQUFPLEVBQWdCLENBQUE7UUFTbkQsTUFBTSxDQUFDLE1BQU07YUFDVixJQUFJLENBQ0gsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLFlBQVksYUFBYSxDQUFDLEVBQ2pELEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUNsQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNaLE9BQU8sS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUN4QixLQUFLLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQTtZQUMxQixDQUFDO1lBQ0QsT0FBTyxLQUFLLENBQUE7UUFDZCxDQUFDLENBQUMsRUFDRixNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssU0FBUyxDQUFDLEVBQzdDLFFBQVEsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUNoQzthQUNBLFNBQVMsQ0FBQyxDQUFDLGdCQUFnQixFQUFFLEVBQUU7WUFDOUIsTUFBTSxrQkFBa0IsR0FBRyxnQkFBZ0IsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFBO1lBQ2pFLElBQUksQ0FBQyxnQkFBZ0I7Z0JBQ25CLGtCQUFrQixJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtRQUM5RixDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFNUUsSUFBVyx3QkFBd0I7UUFDakMsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFBO0lBQzdCLENBQUM7SUFFRCxJQUFXLGNBQWMsQ0FBQyxLQUFtQjtRQUMzQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNsQyxDQUFDO0lBRUQsSUFBVyxlQUFlO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQTtJQUMzQixDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFBO0lBQ3BCLENBQUM7SUFFRCxJQUFXLEtBQUssQ0FBQyxLQUFrQjtRQUNqQyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQTtRQUNuQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNoQyxDQUFDO0lBRUQsSUFBVywwQkFBMEI7UUFDbkMsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUE7SUFDdEMsQ0FBQztJQUVELElBQVcsZ0JBQWdCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFBO0lBQy9CLENBQUM7SUFFRCxJQUFXLGdCQUFnQixDQUFDLEtBQWM7UUFDeEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQTtRQUM5QixJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQzNDLENBQUM7OEdBL0VVLHdCQUF3QjtrSEFBeEIsd0JBQXdCLGNBRnZCLE1BQU07OzJGQUVQLHdCQUF3QjtrQkFIcEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcidcbmltcG9ydCB7IFN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIG1lcmdlTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQgeyBTb3J0IH0gZnJvbSAnLi4vLi4vY29tbW9uL2RhdGEvc29ydCdcblxuZXhwb3J0IGNsYXNzIFNvcnRPcHRpb24ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgaWQ6IHN0cmluZyxcbiAgICBwdWJsaWMgbmFtZTogc3RyaW5nXG4gICkge31cbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSBzZWFyY2ggcXVlcnkgd2hpY2ggdGhlIHVzZXIgaGFzIGNvbmZpZ3VyZWRcbiAqL1xuZXhwb3J0IGNsYXNzIFNlYXJjaFF1ZXJ5IHtcbiAgcHVibGljIHN0YXRpYyBFbXB0eSA9IG5ldyBTZWFyY2hRdWVyeSgnJywgW10pXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGtleXdvcmRzOiBzdHJpbmcsXG4gICAgcHVibGljIHNvcnRzOiBTb3J0W11cbiAgKSB7fVxufVxuXG4vKipcbiAqIEBkZXByZWNhdGVkIFRoaXMgc2VydmljZSBpcyBjb25zaWRlcmVkIEVPTFxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJHbG9iYWxTZWFyY2hTZXJ2aWNlIHtcbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSBfc2hvd0dsb2JhbFNlYXJjaCA9IGZhbHNlXG4gIHByaXZhdGUgX3Nob3dHbG9iYWxTZWFyY2hTdWJqZWN0ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKVxuXG4gIHByaXZhdGUgX3F1ZXJ5OiBTZWFyY2hRdWVyeVxuICBwcml2YXRlIF9xdWVyeVN1YmplY3QgPSBuZXcgU3ViamVjdDxTZWFyY2hRdWVyeT4oKVxuICBwcml2YXRlIF9hdmFpbGFibGVTb3J0cyA9IG5ldyBTdWJqZWN0PFNvcnRPcHRpb25bXT4oKVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKHJvdXRlcjogUm91dGVyKSB7XG4gICAgcm91dGVyLmV2ZW50c1xuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigoZXZlbnQpID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCksXG4gICAgICAgIG1hcCgoKSA9PiByb3V0ZXIucm91dGVyU3RhdGUucm9vdCksXG4gICAgICAgIG1hcCgocm91dGUpID0+IHtcbiAgICAgICAgICB3aGlsZSAocm91dGUuZmlyc3RDaGlsZCkge1xuICAgICAgICAgICAgcm91dGUgPSByb3V0ZS5maXJzdENoaWxkXG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiByb3V0ZVxuICAgICAgICB9KSxcbiAgICAgICAgZmlsdGVyKChyb3V0ZSkgPT4gcm91dGUub3V0bGV0ID09PSAncHJpbWFyeScpLFxuICAgICAgICBtZXJnZU1hcCgocm91dGUpID0+IHJvdXRlLmRhdGEpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChjdXJyZW50Um91dGVEYXRhKSA9PiB7XG4gICAgICAgIGNvbnN0IGVuYWJsZUdsb2JhbFNlYXJjaCA9IGN1cnJlbnRSb3V0ZURhdGFbJ2VuYWJsZUdsb2JhbFNlYXJjaCddXG4gICAgICAgIHRoaXMuc2hvd0dsb2JhbFNlYXJjaCA9XG4gICAgICAgICAgZW5hYmxlR2xvYmFsU2VhcmNoICE9IG51bGwgPyAhIWVuYWJsZUdsb2JhbFNlYXJjaCA6ICEhY3VycmVudFJvdXRlRGF0YVsnc2hvd0dsb2JhbFNlYXJjaCddXG4gICAgICB9KVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGdldCBhdmFpbGFibGVTb3J0c09ic2VydmFibGUoKTogT2JzZXJ2YWJsZTxTb3J0T3B0aW9uW10+IHtcbiAgICByZXR1cm4gdGhpcy5fYXZhaWxhYmxlU29ydHNcbiAgfVxuXG4gIHB1YmxpYyBzZXQgYXZhaWxhYmxlU29ydHMoc29ydHM6IFNvcnRPcHRpb25bXSkge1xuICAgIHRoaXMuX2F2YWlsYWJsZVNvcnRzLm5leHQoc29ydHMpXG4gIH1cblxuICBwdWJsaWMgZ2V0IHF1ZXJ5T2JzZXJ2YWJsZSgpOiBPYnNlcnZhYmxlPFNlYXJjaFF1ZXJ5PiB7XG4gICAgcmV0dXJuIHRoaXMuX3F1ZXJ5U3ViamVjdFxuICB9XG5cbiAgcHVibGljIGdldCBxdWVyeSgpOiBTZWFyY2hRdWVyeSB7XG4gICAgcmV0dXJuIHRoaXMuX3F1ZXJ5XG4gIH1cblxuICBwdWJsaWMgc2V0IHF1ZXJ5KHZhbHVlOiBTZWFyY2hRdWVyeSkge1xuICAgIHRoaXMuX3F1ZXJ5ID0gdmFsdWVcbiAgICB0aGlzLl9xdWVyeVN1YmplY3QubmV4dCh2YWx1ZSlcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2hvd0dsb2JhbFNlYXJjaE9ic2VydmFibGUoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX3Nob3dHbG9iYWxTZWFyY2hTdWJqZWN0XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNob3dHbG9iYWxTZWFyY2goKSB7XG4gICAgcmV0dXJuIHRoaXMuX3Nob3dHbG9iYWxTZWFyY2hcbiAgfVxuXG4gIHB1YmxpYyBzZXQgc2hvd0dsb2JhbFNlYXJjaCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX3Nob3dHbG9iYWxTZWFyY2ggPSB2YWx1ZVxuICAgIHRoaXMuX3Nob3dHbG9iYWxTZWFyY2hTdWJqZWN0Lm5leHQodmFsdWUpXG4gIH1cbn1cbiJdfQ==
|