@elderbyte/ngx-starter 13.3.1 → 13.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/common/enums/elder-enum-translation.service.mjs +3 -3
- package/esm2020/lib/common/forms/form-field-base.component.mjs +3 -3
- package/esm2020/lib/common/forms/multi-model-base.component.mjs +3 -3
- package/esm2020/lib/common/forms/template-composite-control.mjs +3 -3
- package/esm2020/lib/common/forms/value-accessor-base.mjs +3 -3
- package/esm2020/lib/common/http/http-client-builder.service.mjs +3 -3
- package/esm2020/lib/common/http/http-client-pristine.mjs +3 -3
- package/esm2020/lib/common/http/transfer/data-transfer-factory.mjs +3 -3
- package/esm2020/lib/common/url/elder-url-fragment-params.service.mjs +3 -3
- package/esm2020/lib/components/access-denied/elder-access-denied.component.mjs +3 -3
- package/esm2020/lib/components/access-denied/elder-access-denied.module.mjs +4 -4
- package/esm2020/lib/components/auditing/audited-entity/elder-audited-entity.component.mjs +3 -3
- package/esm2020/lib/components/auditing/elder-audit.module.mjs +4 -4
- package/esm2020/lib/components/button-group/elder-button-group/elder-button-group.component.mjs +3 -3
- package/esm2020/lib/components/button-group/elder-button-group.module.mjs +4 -4
- package/esm2020/lib/components/card-organizer/card-organizer/elder-card-organizer.component.mjs +3 -3
- package/esm2020/lib/components/card-organizer/card-organizer/elder-stack-card.directive.mjs +3 -3
- package/esm2020/lib/components/card-organizer/card-stack/elder-card-stack.component.mjs +4 -4
- package/esm2020/lib/components/card-organizer/elder-card-organizer.module.mjs +4 -4
- package/esm2020/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.mjs +3 -3
- package/esm2020/lib/components/cards/elder-card/elder-card.component.mjs +18 -18
- package/esm2020/lib/components/cards/elder-card/elder-card.module.mjs +4 -4
- package/esm2020/lib/components/connectivity/elder-connectivity.module.mjs +4 -4
- package/esm2020/lib/components/connectivity/elder-connectivity.service.mjs +3 -3
- package/esm2020/lib/components/connectivity/offline-indicator/elder-offline-indicator.component.mjs +3 -3
- package/esm2020/lib/components/containers/elder-containers.module.mjs +4 -4
- package/esm2020/lib/components/containers/elder-scroll-container/elder-scroll-container.component.mjs +3 -3
- package/esm2020/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.mjs +3 -3
- package/esm2020/lib/components/csv/elder-csv-stream-exporter-builder.service.mjs +3 -3
- package/esm2020/lib/components/csv/elder-csv.module.mjs +4 -4
- package/esm2020/lib/components/currency/elder-currency.module.mjs +4 -4
- package/esm2020/lib/components/currency/elder-currency.pipe.mjs +3 -3
- package/esm2020/lib/components/data-transfer/elder-data-transfer.module.mjs +4 -4
- package/esm2020/lib/components/data-transfer/elder-data-transfer.service.mjs +3 -3
- package/esm2020/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.mjs +3 -3
- package/esm2020/lib/components/data-transfer/http-data-transfer-aggregate/http-data-transfer-aggregate.component.mjs +3 -3
- package/esm2020/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.mjs +4 -4
- package/esm2020/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.mjs +3 -3
- package/esm2020/lib/components/data-view/base/elder-data-view-base.mjs +3 -3
- package/esm2020/lib/components/data-view/base/elder-data-view-base.module.mjs +4 -4
- package/esm2020/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.mjs +3 -3
- package/esm2020/lib/components/data-view/common/elder-data-common.module.mjs +4 -4
- package/esm2020/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.mjs +6 -6
- package/esm2020/lib/components/data-view/common/elder-single-sort/elder-single-sort.component.mjs +3 -3
- package/esm2020/lib/components/data-view/common/selection/data-context-selection.directive.mjs +3 -3
- package/esm2020/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.mjs +3 -3
- package/esm2020/lib/components/data-view/grid/elder-grid/elder-grid.component.mjs +11 -11
- package/esm2020/lib/components/data-view/grid/elder-grid.module.mjs +4 -4
- package/esm2020/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.component.mjs +3 -3
- package/esm2020/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.module.mjs +4 -4
- package/esm2020/lib/components/data-view/table/activation/elder-table-activation.directive.mjs +3 -3
- package/esm2020/lib/components/data-view/table/elder-number-cell.directive.mjs +3 -3
- package/esm2020/lib/components/data-view/table/elder-paginator-intl.mjs +3 -3
- package/esm2020/lib/components/data-view/table/elder-table/elder-table-toolbar.directive.mjs +3 -3
- package/esm2020/lib/components/data-view/table/elder-table/elder-table.component.mjs +5 -5
- package/esm2020/lib/components/data-view/table/elder-table-column.directive.mjs +3 -3
- package/esm2020/lib/components/data-view/table/elder-table-extension.directive.mjs +3 -3
- package/esm2020/lib/components/data-view/table/elder-table-root.directive.mjs +3 -3
- package/esm2020/lib/components/data-view/table/elder-table-row.directive.mjs +3 -3
- package/esm2020/lib/components/data-view/table/elder-table-sort.directive.mjs +3 -3
- package/esm2020/lib/components/data-view/table/elder-table.module.mjs +4 -4
- package/esm2020/lib/components/data-view/table/model/elder-table-model.mjs +3 -3
- package/esm2020/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.mjs +3 -3
- package/esm2020/lib/components/dialogs/elder-dialog.module.mjs +7 -7
- package/esm2020/lib/components/dialogs/elder-dialog.service.mjs +3 -3
- package/esm2020/lib/components/dialogs/question-dialog/elder-question-dialog.component.mjs +3 -3
- package/esm2020/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.mjs +3 -3
- package/esm2020/lib/components/dialogs/selection-dialog/elder-selection-dialog.directive.mjs +3 -3
- package/esm2020/lib/components/errors/elder-error.module.mjs +6 -5
- package/esm2020/lib/components/errors/error-util.mjs +94 -0
- package/esm2020/lib/components/errors/exception-detail/elder-exception-detail.component.mjs +3 -3
- package/esm2020/lib/components/expand-toggle-button/elder-expand-toggle-button.component.mjs +3 -3
- package/esm2020/lib/components/expand-toggle-button/elder-expand-toggle-button.module.mjs +4 -4
- package/esm2020/lib/components/files/blob-viewer/elder-blob-viewer.component.mjs +3 -3
- package/esm2020/lib/components/files/elder-file-drop-zone.directive.mjs +3 -3
- package/esm2020/lib/components/files/elder-file-select.directive.mjs +3 -3
- package/esm2020/lib/components/files/elder-file.module.mjs +4 -4
- package/esm2020/lib/components/files/file-select/file-select.component.mjs +3 -3
- package/esm2020/lib/components/files/file-upload/file-upload.component.mjs +3 -3
- package/esm2020/lib/components/forms/clipboard/elder-clipboard.service.mjs +3 -3
- package/esm2020/lib/components/forms/directives/elder-clipboard-put.directive.mjs +3 -3
- package/esm2020/lib/components/forms/directives/elder-delayed-focus.directive.mjs +3 -3
- package/esm2020/lib/components/forms/directives/elder-form-field-dense.directive.mjs +3 -3
- package/esm2020/lib/components/forms/directives/elder-form-field-label.directive.mjs +3 -3
- package/esm2020/lib/components/forms/directives/elder-form-field-no-spinner.directive.mjs +3 -3
- package/esm2020/lib/components/forms/directives/elder-forms-directives.module.mjs +13 -13
- package/esm2020/lib/components/forms/directives/elder-key-event.directive.mjs +3 -3
- package/esm2020/lib/components/forms/directives/elder-max.directive.mjs +3 -3
- package/esm2020/lib/components/forms/directives/elder-min.directive.mjs +3 -3
- package/esm2020/lib/components/forms/directives/elder-next-focusable.directive.mjs +3 -3
- package/esm2020/lib/components/forms/directives/elder-plug-parent-form.directive.mjs +3 -3
- package/esm2020/lib/components/forms/directives/elder-stop-event-propagation.directive.mjs +3 -3
- package/esm2020/lib/components/forms/directives/elder-tab-focus-trap.directive.mjs +3 -3
- package/esm2020/lib/components/forms/directives/elder-touched.directive.mjs +3 -3
- package/esm2020/lib/components/forms/directives/elder-triple-state-checkbox.directive.mjs +3 -3
- package/esm2020/lib/components/forms/directives/validation/elder-multiple-of.validator.mjs +3 -3
- package/esm2020/lib/components/forms/directives/validation/elder-required-ignore-zero.validator.mjs +3 -3
- package/esm2020/lib/components/forms/elder-forms.module.mjs +4 -4
- package/esm2020/lib/components/forms/search/elder-search-context.directive.mjs +3 -3
- package/esm2020/lib/components/forms/search/elder-search-input.directive.mjs +3 -3
- package/esm2020/lib/components/forms/search/elder-search.module.mjs +4 -4
- package/esm2020/lib/components/forms/search/search-box/elder-search-box.component.mjs +3 -3
- package/esm2020/lib/components/forms/search/search-box/elder-search-panel.component.mjs +3 -3
- package/esm2020/lib/components/global-search/elder-global-search.component.mjs +3 -3
- package/esm2020/lib/components/global-search/elder-global-search.module.mjs +4 -4
- package/esm2020/lib/components/global-search/elder-global-search.service.mjs +3 -3
- package/esm2020/lib/components/graph/elder-progress-bar/elder-progress-bar.component.mjs +3 -3
- package/esm2020/lib/components/graph/elder-progress-bar/elder-progress-bar.module.mjs +4 -4
- package/esm2020/lib/components/headers/elder-header/elder-header.component.mjs +3 -3
- package/esm2020/lib/components/headers/elder-header.module.mjs +4 -4
- package/esm2020/lib/components/http-support/elder-http-client.service.mjs +3 -3
- package/esm2020/lib/components/i18n/entities/elder-i18n-entities.module.mjs +4 -4
- package/esm2020/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.mjs +3 -3
- package/esm2020/lib/components/i18n/entities/elder-localized-input-dialog/elder-localized-input-dialog.component.mjs +3 -3
- package/esm2020/lib/components/i18n/entities/elder-localized-input-dialog.service.mjs +3 -3
- package/esm2020/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.mjs +3 -3
- package/esm2020/lib/components/i18n/entities/elder-localized-text-column.directive.mjs +3 -3
- package/esm2020/lib/components/i18n/entities/elder-localized-texts.directive.mjs +3 -3
- package/esm2020/lib/components/i18n/entities/picker/i18n-pick-async.pipe.mjs +3 -3
- package/esm2020/lib/components/i18n/entities/picker/i18n-pick.pipe.mjs +3 -3
- package/esm2020/lib/components/i18n/entities/picker/localisation-picker.service.mjs +3 -3
- package/esm2020/lib/components/i18n/language/elder-language-interceptor.mjs +3 -3
- package/esm2020/lib/components/i18n/language/elder-language.module.mjs +4 -4
- package/esm2020/lib/components/i18n/language/elder-language.service.mjs +3 -3
- package/esm2020/lib/components/i18n/language/language-switcher/elder-language-switcher.component.mjs +4 -4
- package/esm2020/lib/components/i18n/locales/elder-locales-de-ch.module.mjs +4 -4
- package/esm2020/lib/components/iframes/elder-iframe.module.mjs +4 -4
- package/esm2020/lib/components/iframes/iframe-close.directive.mjs +3 -3
- package/esm2020/lib/components/iframes/iframe-dialog/iframe-dialog.component.mjs +3 -3
- package/esm2020/lib/components/iframes/iframe-host/iframe-host.component.mjs +3 -3
- package/esm2020/lib/components/iframes/iframe-side-content/iframe-side-content.component.mjs +3 -3
- package/esm2020/lib/components/iframes/iframe.service.mjs +3 -3
- package/esm2020/lib/components/infinitescroll/elder-infinite-autocomplete.directive.mjs +3 -3
- package/esm2020/lib/components/infinitescroll/elder-infinite-scroll.directive.mjs +3 -3
- package/esm2020/lib/components/infinitescroll/elder-infinite-scroll.module.mjs +7 -7
- package/esm2020/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete.component.mjs +3 -3
- package/esm2020/lib/components/input/autocomplete/elder-autocomplete.directive.mjs +3 -3
- package/esm2020/lib/components/input/autocomplete/elder-autocomplete.module.mjs +4 -4
- package/esm2020/lib/components/labels/elder-labels.module.mjs +4 -4
- package/esm2020/lib/components/labels/labels-input/labels-input.component.mjs +3 -3
- package/esm2020/lib/components/measures/dimensions-input/elder-dimensions-input.component.mjs +3 -3
- package/esm2020/lib/components/measures/directives/elder-unit-select.directive.mjs +3 -3
- package/esm2020/lib/components/measures/elder-measures.module.mjs +8 -8
- package/esm2020/lib/components/measures/elder-quantity-transform.pipe.mjs +3 -3
- package/esm2020/lib/components/measures/elder-quantity.pipe.mjs +3 -3
- package/esm2020/lib/components/measures/elder-unit.service.mjs +3 -3
- package/esm2020/lib/components/measures/quantity-input/elder-quantity-input.component.mjs +4 -4
- package/esm2020/lib/components/measures/util/elder-quantity.service.mjs +3 -3
- package/esm2020/lib/components/multi-autocomplete/elder-multi-auto-complete.module.mjs +4 -4
- package/esm2020/lib/components/multi-autocomplete/elder-multi-autocomplete.component.mjs +3 -3
- package/esm2020/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.mjs +3 -3
- package/esm2020/lib/components/navigation/bread-crumbs/elder-bread-crumbs.module.mjs +4 -4
- package/esm2020/lib/components/navigation/nav/elder-nav.module.mjs +4 -4
- package/esm2020/lib/components/navigation/nav/nav-group/elder-nav-group.component.mjs +3 -3
- package/esm2020/lib/components/navigation/nav/nav-link/elder-nav-link.component.mjs +3 -3
- package/esm2020/lib/components/navigation/nav/nav-list/elder-nav-list.component.mjs +3 -3
- package/esm2020/lib/components/navigation/toolbar/elder-toolbar-column.directive.mjs +3 -3
- package/esm2020/lib/components/navigation/toolbar/elder-toolbar.module.mjs +4 -4
- package/esm2020/lib/components/navigation/toolbar/elder-toolbar.service.mjs +3 -3
- package/esm2020/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.mjs +3 -3
- package/esm2020/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.mjs +3 -3
- package/esm2020/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.service.mjs +3 -3
- package/esm2020/lib/components/overlays/elder-overlay-origin.directive.mjs +3 -3
- package/esm2020/lib/components/overlays/elder-overlay-trigger.directive.mjs +3 -3
- package/esm2020/lib/components/overlays/elder-overlay.component.mjs +3 -3
- package/esm2020/lib/components/overlays/elder-overlay.module.mjs +4 -4
- package/esm2020/lib/components/panels/card-panel/elder-card-panel.component.mjs +3 -3
- package/esm2020/lib/components/panels/elder-panel.module.mjs +4 -4
- package/esm2020/lib/components/panels/flat/elder-panel.component.mjs +3 -3
- package/esm2020/lib/components/select/elder-select/elder-select.component.mjs +4 -4
- package/esm2020/lib/components/select/elder-select-base.mjs +3 -3
- package/esm2020/lib/components/select/elder-select-chip.directive.mjs +3 -3
- package/esm2020/lib/components/select/elder-select-value.directive.mjs +3 -3
- package/esm2020/lib/components/select/elder-select.module.mjs +4 -4
- package/esm2020/lib/components/select/multi/elder-multi-select-base.mjs +3 -3
- package/esm2020/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.mjs +3 -3
- package/esm2020/lib/components/select/popup/selection-model-popup.directive.mjs +3 -3
- package/esm2020/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.mjs +3 -3
- package/esm2020/lib/components/select/select-on-tab.directive.mjs +3 -3
- package/esm2020/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.mjs +3 -3
- package/esm2020/lib/components/select-chip-list/elder-chip-list-select.module.mjs +4 -4
- package/esm2020/lib/components/select-list/elder-select-list.module.mjs +4 -4
- package/esm2020/lib/components/select-list/select-list/elder-select-list.component.mjs +3 -3
- package/esm2020/lib/components/select-list/select-list-item/elder-select-list-item.component.mjs +3 -3
- package/esm2020/lib/components/shell/drawers/elder-route-outlet-drawer.service.mjs +3 -3
- package/esm2020/lib/components/shell/drawers/elder-router-outlet.service.mjs +3 -3
- package/esm2020/lib/components/shell/elder-shell-slot.directive.mjs +3 -3
- package/esm2020/lib/components/shell/elder-shell.module.mjs +4 -4
- package/esm2020/lib/components/shell/elder-shell.service.mjs +3 -3
- package/esm2020/lib/components/shell/header/elder-app-header/elder-app-header.component.mjs +3 -3
- package/esm2020/lib/components/shell/shell/elder-shell.component.mjs +12 -12
- package/esm2020/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.mjs +3 -3
- package/esm2020/lib/components/tabs/elder-tab/elder-tab.directive.mjs +3 -3
- package/esm2020/lib/components/tabs/elder-tab-group-routing/elder-tab-group-routing.directive.mjs +95 -36
- package/esm2020/lib/components/tabs/elder-tab.module.mjs +4 -4
- package/esm2020/lib/components/time/date-adapters/custom-date-adapter.mjs +3 -3
- package/esm2020/lib/components/time/duration/elder-duration-input/elder-duration-input.component.mjs +4 -4
- package/esm2020/lib/components/time/elder-date-switcher/elder-date-switcher.component.mjs +3 -3
- package/esm2020/lib/components/time/elder-date-time-input/elder-date-time-input.component.mjs +4 -4
- package/esm2020/lib/components/time/elder-interval-input/elder-interval-input.component.mjs +3 -3
- package/esm2020/lib/components/time/elder-local-date-input/elder-local-date-input.component.mjs +4 -4
- package/esm2020/lib/components/time/elder-local-time-input/elder-local-time-input.component.mjs +4 -4
- package/esm2020/lib/components/time/elder-time.module.mjs +8 -8
- package/esm2020/lib/components/time/period/elder-period-input/elder-period-input.component.mjs +4 -4
- package/esm2020/lib/components/toasts/elder-toast.module.mjs +4 -4
- package/esm2020/lib/components/toasts/elder-toast.service.mjs +27 -59
- package/esm2020/lib/components/toasts/standard-toast/standard-toast.component.mjs +3 -3
- package/esm2020/lib/components/url-fragment/elder-url-fragment.module.mjs +4 -4
- package/esm2020/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.mjs +3 -3
- package/esm2020/lib/components/viewers/elder-svg-viewer/elder-svg-viewer.component.mjs +3 -3
- package/esm2020/lib/components/viewers/elder-viewers.module.mjs +4 -4
- package/esm2020/lib/features/event-source/elder-event-source.service.mjs +3 -3
- package/esm2020/lib/features/kafent/access-token-provider.mjs +3 -3
- package/esm2020/lib/features/kafent/kafent-config.mjs +3 -3
- package/esm2020/lib/features/kafent/kafent-event-stream.mjs +3 -3
- package/esm2020/lib/features/kafent/kafent-event.service.mjs +3 -3
- package/esm2020/lib/features/kafent/kafent.module.mjs +4 -4
- package/esm2020/lib/features/kafent/sse/kafent-event-stream-sse.service.mjs +3 -3
- package/esm2020/lib/pipes/bytes.pipe.mjs +3 -3
- package/esm2020/lib/pipes/elder-pipes.module.mjs +7 -7
- package/esm2020/lib/pipes/elder-repeat.pipe.mjs +3 -3
- package/esm2020/lib/pipes/elder-round.pipe.mjs +3 -3
- package/esm2020/lib/pipes/elder-safe-url.pipe.mjs +3 -3
- package/esm2020/lib/pipes/iso-duration.pipe.mjs +3 -3
- package/esm2020/lib/pipes/iso-interval-parse.pipe.mjs +3 -3
- package/esm2020/lib/pipes/iso-interval.pipe.mjs +3 -3
- package/esm2020/lib/pipes/time-ago.pipe.mjs +3 -3
- package/esm2020/lib/pipes/time-duration.pipe.mjs +3 -3
- package/esm2020/lib/pipes/weight.pipe.mjs +3 -3
- package/fesm2015/elderbyte-ngx-starter.mjs +1006 -887
- package/fesm2015/elderbyte-ngx-starter.mjs.map +1 -1
- package/fesm2020/elderbyte-ngx-starter.mjs +1005 -887
- package/fesm2020/elderbyte-ngx-starter.mjs.map +1 -1
- package/lib/components/errors/elder-error.module.d.ts +1 -0
- package/lib/components/errors/error-util.d.ts +23 -0
- package/lib/components/tabs/elder-tab-group-routing/elder-tab-group-routing.directive.d.ts +19 -3
- package/lib/components/toasts/elder-toast.service.d.ts +0 -2
- package/package.json +2 -2
|
@@ -18,9 +18,9 @@ export class ElderShellSideLeftDirective {
|
|
|
18
18
|
this.viewContainer = viewContainer;
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
|
-
ElderShellSideLeftDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
22
|
-
ElderShellSideLeftDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
21
|
+
ElderShellSideLeftDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ElderShellSideLeftDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
22
|
+
ElderShellSideLeftDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.2", type: ElderShellSideLeftDirective, selector: "[elderShellSideLeft], [ebsShellSideLeft]", ngImport: i0 });
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ElderShellSideLeftDirective, decorators: [{
|
|
24
24
|
type: Directive,
|
|
25
25
|
args: [{ selector: '[elderShellSideLeft], [ebsShellSideLeft]' }]
|
|
26
26
|
}], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }]; } });
|
|
@@ -30,9 +30,9 @@ export class ElderShellSideRightDirective {
|
|
|
30
30
|
this.viewContainer = viewContainer;
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
|
-
ElderShellSideRightDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
34
|
-
ElderShellSideRightDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.
|
|
35
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
33
|
+
ElderShellSideRightDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ElderShellSideRightDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
34
|
+
ElderShellSideRightDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.2", type: ElderShellSideRightDirective, selector: "[elderShellSideRight], [ebsShellSideRight]", ngImport: i0 });
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ElderShellSideRightDirective, decorators: [{
|
|
36
36
|
type: Directive,
|
|
37
37
|
args: [{ selector: '[elderShellSideRight], [ebsShellSideRight]' }]
|
|
38
38
|
}], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }]; } });
|
|
@@ -42,9 +42,9 @@ export class ElderShellCenterDirective {
|
|
|
42
42
|
this.viewContainer = viewContainer;
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
|
-
ElderShellCenterDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
46
|
-
ElderShellCenterDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.
|
|
47
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
45
|
+
ElderShellCenterDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ElderShellCenterDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
46
|
+
ElderShellCenterDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.2", type: ElderShellCenterDirective, selector: "[elderShellCenter], [ebsShellCenter]", ngImport: i0 });
|
|
47
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ElderShellCenterDirective, decorators: [{
|
|
48
48
|
type: Directive,
|
|
49
49
|
args: [{ selector: '[elderShellCenter], [ebsShellCenter]' }]
|
|
50
50
|
}], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }]; } });
|
|
@@ -141,9 +141,9 @@ export class ElderShellComponent {
|
|
|
141
141
|
}, 5);
|
|
142
142
|
}
|
|
143
143
|
}
|
|
144
|
-
ElderShellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
145
|
-
ElderShellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.
|
|
146
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
144
|
+
ElderShellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ElderShellComponent, deps: [{ token: i1.ElderShellService }, { token: i2.ElderRouteOutletDrawerService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
145
|
+
ElderShellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: ElderShellComponent, selector: "elder-shell, ebs-shell", inputs: { sideNavToggleEnabled: "sideNavToggleEnabled", color: "color", menuColor: "menuColor", leftSideAutoFocus: "leftSideAutoFocus", rightSideAutoFocus: "rightSideAutoFocus" }, queries: [{ propertyName: "sideContentLeft", first: true, predicate: ElderShellSideLeftDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "sideContentRight", first: true, predicate: ElderShellSideRightDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "centerContent", first: true, predicate: ElderShellCenterDirective, descendants: true, read: TemplateRef, static: true }], viewQueries: [{ propertyName: "rightSideDrawer", first: true, predicate: ["rightSideDetail"], descendants: true, static: true }], ngImport: i0, template: "\n<mat-sidenav-container style=\"height:100%; width: 100%\" (backdropClick)=\"onBackdropClick($event)\">\n\n <!-- Left Side Nav -->\n <mat-sidenav position=\"start\"\n mode=\"over\"\n [fixedInViewport]=\"true\"\n [autoFocus]=\"leftSideAutoFocus\"\n [opened]=\"leftSideContentOpen$ | async\"\n (closed)=\"closeLeftSideContent()\">\n <div fxFill fxLayout=\"column\">\n <ng-container *ngTemplateOutlet=\"sideContentLeft || fallbackSideContentLeft;\"></ng-container>\n </div>\n </mat-sidenav>\n\n <!-- Main Content -->\n <mat-sidenav-content>\n <div fxLayout=\"column\" fxFill>\n <ng-container *ngTemplateOutlet=\"centerContent || fallbackCenterContent;\"></ng-container>\n </div>\n </mat-sidenav-content>\n\n <!-- Right Side Detail -->\n <mat-sidenav mode=\"over\" #rightSideDetail id=\"elder-right-side-detail\"\n position=\"end\"\n [fixedInViewport]=\"true\"\n [autoFocus]=\"rightSideAutoFocus\"\n [disableClose]=\"true\" (keydown.escape)=\"onEscapeRightSide($event)\">\n <div fxFill fxLayout=\"column\">\n <ng-container *ngTemplateOutlet=\"sideContentRight || fallbackSideContentRight;\"></ng-container>\n </div>\n </mat-sidenav>\n\n</mat-sidenav-container>\n\n<ng-template #fallbackSideContentLeft>\n <div fxLayout=\"column\" fxFlex>\n <p class=\"noselect\">No Left Side Content Defined!</p>\n </div>\n</ng-template>\n\n<ng-template #fallbackSideContentRight>\n <router-outlet name=\"side\" class=\"router-flex\"></router-outlet>\n</ng-template>\n\n<ng-template #fallbackCenterContent>\n <div fxLayout=\"column\" fxFill>\n\n <!-- Header -->\n <ng-container *ngTemplateOutlet=\"(headerTemplate$ | async) || defaultHeaderTemplate\"></ng-container>\n\n <!-- Center -->\n <ng-container *ngTemplateOutlet=\"(centerTemplate$ | async) || defaultCenterTemplate\"></ng-container>\n\n <!-- Footer -->\n <ng-container *ngTemplateOutlet=\"(footerTemplate$ | async) || defaultFooterTemplate\"></ng-container>\n\n </div>\n</ng-template>\n\n\n<ng-template #defaultHeaderTemplate>\n\n <elder-toolbar [color]=\"color\">\n\n <!-- Toolbar Prefix: Sidenav Toggle -->\n <mat-toolbar *ngIf=\"sideNavToggleEnabled\" fxFlex=\"0\"\n fxLayout=\"row\" fxLayoutAlign=\"center center\"\n [color]=\"menuColor\">\n <button mat-icon-button type=\"button\" (click)=\"toggleSideNav()\">\n <mat-icon>menu</mat-icon>\n </button>\n </mat-toolbar>\n </elder-toolbar>\n\n</ng-template>\n\n<ng-template #defaultCenterTemplate>\n\n <!-- Primary Router Outlet -->\n <router-outlet class=\"router-flex\"></router-outlet>\n\n</ng-template>\n\n<ng-template #defaultFooterTemplate>\n <!-- Default Footer is empty -->\n</ng-template>\n", styles: ["mat-sidenav{margin:0;height:100%;overflow:hidden}mat-sidenav-container{margin:0;width:100%;height:100%;overflow:hidden}\n"], components: [{ type: i3.MatSidenavContainer, selector: "mat-sidenav-container", exportAs: ["matSidenavContainer"] }, { type: i3.MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { type: i3.MatSidenavContent, selector: "mat-sidenav-content" }, { type: i4.ElderToolbarComponent, selector: "elder-toolbar, ebs-toolbar", inputs: ["color"] }, { type: i5.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { type: i6.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i8.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { type: i8.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i9.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i8.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i10.RouterOutlet, selector: "router-outlet", outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }], pipes: { "async": i9.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
146
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ElderShellComponent, decorators: [{
|
|
147
147
|
type: Component,
|
|
148
148
|
args: [{ selector: 'elder-shell, ebs-shell', changeDetection: ChangeDetectionStrategy.OnPush, template: "\n<mat-sidenav-container style=\"height:100%; width: 100%\" (backdropClick)=\"onBackdropClick($event)\">\n\n <!-- Left Side Nav -->\n <mat-sidenav position=\"start\"\n mode=\"over\"\n [fixedInViewport]=\"true\"\n [autoFocus]=\"leftSideAutoFocus\"\n [opened]=\"leftSideContentOpen$ | async\"\n (closed)=\"closeLeftSideContent()\">\n <div fxFill fxLayout=\"column\">\n <ng-container *ngTemplateOutlet=\"sideContentLeft || fallbackSideContentLeft;\"></ng-container>\n </div>\n </mat-sidenav>\n\n <!-- Main Content -->\n <mat-sidenav-content>\n <div fxLayout=\"column\" fxFill>\n <ng-container *ngTemplateOutlet=\"centerContent || fallbackCenterContent;\"></ng-container>\n </div>\n </mat-sidenav-content>\n\n <!-- Right Side Detail -->\n <mat-sidenav mode=\"over\" #rightSideDetail id=\"elder-right-side-detail\"\n position=\"end\"\n [fixedInViewport]=\"true\"\n [autoFocus]=\"rightSideAutoFocus\"\n [disableClose]=\"true\" (keydown.escape)=\"onEscapeRightSide($event)\">\n <div fxFill fxLayout=\"column\">\n <ng-container *ngTemplateOutlet=\"sideContentRight || fallbackSideContentRight;\"></ng-container>\n </div>\n </mat-sidenav>\n\n</mat-sidenav-container>\n\n<ng-template #fallbackSideContentLeft>\n <div fxLayout=\"column\" fxFlex>\n <p class=\"noselect\">No Left Side Content Defined!</p>\n </div>\n</ng-template>\n\n<ng-template #fallbackSideContentRight>\n <router-outlet name=\"side\" class=\"router-flex\"></router-outlet>\n</ng-template>\n\n<ng-template #fallbackCenterContent>\n <div fxLayout=\"column\" fxFill>\n\n <!-- Header -->\n <ng-container *ngTemplateOutlet=\"(headerTemplate$ | async) || defaultHeaderTemplate\"></ng-container>\n\n <!-- Center -->\n <ng-container *ngTemplateOutlet=\"(centerTemplate$ | async) || defaultCenterTemplate\"></ng-container>\n\n <!-- Footer -->\n <ng-container *ngTemplateOutlet=\"(footerTemplate$ | async) || defaultFooterTemplate\"></ng-container>\n\n </div>\n</ng-template>\n\n\n<ng-template #defaultHeaderTemplate>\n\n <elder-toolbar [color]=\"color\">\n\n <!-- Toolbar Prefix: Sidenav Toggle -->\n <mat-toolbar *ngIf=\"sideNavToggleEnabled\" fxFlex=\"0\"\n fxLayout=\"row\" fxLayoutAlign=\"center center\"\n [color]=\"menuColor\">\n <button mat-icon-button type=\"button\" (click)=\"toggleSideNav()\">\n <mat-icon>menu</mat-icon>\n </button>\n </mat-toolbar>\n </elder-toolbar>\n\n</ng-template>\n\n<ng-template #defaultCenterTemplate>\n\n <!-- Primary Router Outlet -->\n <router-outlet class=\"router-flex\"></router-outlet>\n\n</ng-template>\n\n<ng-template #defaultFooterTemplate>\n <!-- Default Footer is empty -->\n</ng-template>\n", styles: ["mat-sidenav{margin:0;height:100%;overflow:hidden}mat-sidenav-container{margin:0;width:100%;height:100%;overflow:hidden}\n"] }]
|
|
149
149
|
}], ctorParameters: function () { return [{ type: i1.ElderShellService }, { type: i2.ElderRouteOutletDrawerService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { sideNavToggleEnabled: [{
|
|
@@ -124,9 +124,9 @@ export class ElderShellNavigationToggleComponent {
|
|
|
124
124
|
return parts.join('/');
|
|
125
125
|
}
|
|
126
126
|
}
|
|
127
|
-
ElderShellNavigationToggleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
128
|
-
ElderShellNavigationToggleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.
|
|
129
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
127
|
+
ElderShellNavigationToggleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ElderShellNavigationToggleComponent, deps: [{ token: i1.Router }, { token: i2.ElderShellService }], target: i0.ɵɵFactoryTarget.Component });
|
|
128
|
+
ElderShellNavigationToggleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: ElderShellNavigationToggleComponent, selector: "elder-shell-nav-toggle", inputs: { roots: "roots", hide: "hide" }, ngImport: i0, template: "\n<button mat-icon-button type=\"button\" (click)=\"onClick()\" *ngIf=\"showComponent()\">\n <mat-icon>{{icon | async}}</mat-icon>\n</button>\n", styles: [""], components: [{ type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i5.AsyncPipe } });
|
|
129
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ElderShellNavigationToggleComponent, decorators: [{
|
|
130
130
|
type: Component,
|
|
131
131
|
args: [{ selector: 'elder-shell-nav-toggle', template: "\n<button mat-icon-button type=\"button\" (click)=\"onClick()\" *ngIf=\"showComponent()\">\n <mat-icon>{{icon | async}}</mat-icon>\n</button>\n", styles: [""] }]
|
|
132
132
|
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.ElderShellService }]; }, propDecorators: { roots: [{
|
|
@@ -11,9 +11,9 @@ export class ElderTabDirective {
|
|
|
11
11
|
this.tab = tab;
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
|
-
ElderTabDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
15
|
-
ElderTabDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.
|
|
16
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
14
|
+
ElderTabDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ElderTabDirective, deps: [{ token: i1.MatTab }], target: i0.ɵɵFactoryTarget.Directive });
|
|
15
|
+
ElderTabDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.2", type: ElderTabDirective, selector: "[elderTab]", inputs: { id: ["elderTab", "id"] }, ngImport: i0 });
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ElderTabDirective, decorators: [{
|
|
17
17
|
type: Directive,
|
|
18
18
|
args: [{
|
|
19
19
|
selector: '[elderTab]'
|
package/esm2020/lib/components/tabs/elder-tab-group-routing/elder-tab-group-routing.directive.mjs
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { ContentChildren, Directive, Input } from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { takeUntil } from 'rxjs/operators';
|
|
3
3
|
import { Subject } from 'rxjs';
|
|
4
|
+
import { MatTab } from '@angular/material/tabs';
|
|
4
5
|
import { LoggerFactory } from '@elderbyte/ts-logger';
|
|
5
6
|
import { ElderTabDirective } from '../elder-tab/elder-tab.directive';
|
|
7
|
+
import { QueryListBinding } from '../../../common/utils/query-list-binding';
|
|
6
8
|
import * as i0 from "@angular/core";
|
|
7
9
|
import * as i1 from "../../../common/url/elder-url-fragment-params.service";
|
|
8
10
|
import * as i2 from "@angular/material/tabs";
|
|
@@ -29,7 +31,9 @@ export class ElderTabGroupRoutingDirective {
|
|
|
29
31
|
**************************************************************************/
|
|
30
32
|
this._log = LoggerFactory.getLogger(this.constructor.name);
|
|
31
33
|
this._destroy$ = new Subject();
|
|
32
|
-
this.tabGroup.selectedTabChange
|
|
34
|
+
this.tabGroup.selectedTabChange
|
|
35
|
+
.pipe(takeUntil(this._destroy$))
|
|
36
|
+
.subscribe(event => this.handleTabChangeEvent(event));
|
|
33
37
|
}
|
|
34
38
|
/***************************************************************************
|
|
35
39
|
* *
|
|
@@ -37,7 +41,17 @@ export class ElderTabGroupRoutingDirective {
|
|
|
37
41
|
* *
|
|
38
42
|
**************************************************************************/
|
|
39
43
|
ngAfterViewInit() {
|
|
40
|
-
this.
|
|
44
|
+
this.fragmentParamsService.params$
|
|
45
|
+
.pipe(takeUntil(this._destroy$))
|
|
46
|
+
.subscribe(params => this.handleFragmentParamsChange(params));
|
|
47
|
+
QueryListBinding
|
|
48
|
+
.of(this.tabs)
|
|
49
|
+
.updated(() => this.retryLastFailedActivation())
|
|
50
|
+
.bindUntil(this._destroy$);
|
|
51
|
+
QueryListBinding
|
|
52
|
+
.of(this.elderTabs)
|
|
53
|
+
.updated(() => this.retryLastFailedActivation())
|
|
54
|
+
.bindUntil(this._destroy$);
|
|
41
55
|
}
|
|
42
56
|
ngOnDestroy() {
|
|
43
57
|
this.removeFragmentParam();
|
|
@@ -60,26 +74,24 @@ export class ElderTabGroupRoutingDirective {
|
|
|
60
74
|
* Private Methods *
|
|
61
75
|
* *
|
|
62
76
|
**************************************************************************/
|
|
63
|
-
|
|
64
|
-
this.
|
|
65
|
-
|
|
66
|
-
.
|
|
67
|
-
|
|
68
|
-
if (tabMarker) {
|
|
69
|
-
this._log.trace('Registered tab marker to activate: ', tabMarker);
|
|
70
|
-
this.activateTabByMarker(tabMarker);
|
|
71
|
-
}
|
|
72
|
-
});
|
|
77
|
+
handleFragmentParamsChange(params) {
|
|
78
|
+
const tabMarker = this.getTabMarker(params);
|
|
79
|
+
if (tabMarker) {
|
|
80
|
+
this.activateTabByMarker(tabMarker);
|
|
81
|
+
}
|
|
73
82
|
}
|
|
74
83
|
activateTabByMarker(tabMarker) {
|
|
84
|
+
let success;
|
|
75
85
|
if (this.isIndexMarker(tabMarker)) {
|
|
76
86
|
const index = this.parseIndexMarker(tabMarker);
|
|
77
|
-
this.activateTabByIndex(index);
|
|
87
|
+
success = this.activateTabByIndex(index);
|
|
78
88
|
}
|
|
79
89
|
else {
|
|
80
90
|
// if no index is given we assume the marker is the id of the tab.
|
|
81
|
-
this.activateTabById(tabMarker);
|
|
91
|
+
success = this.activateTabById(tabMarker);
|
|
82
92
|
}
|
|
93
|
+
// remember tab marker in case of failure to retry later.
|
|
94
|
+
this.lastFailedTabMarker = success ? null : tabMarker;
|
|
83
95
|
}
|
|
84
96
|
activateTabByIndex(indexToActivate) {
|
|
85
97
|
if (indexToActivate !== this.activeTabIndex) {
|
|
@@ -87,62 +99,106 @@ export class ElderTabGroupRoutingDirective {
|
|
|
87
99
|
// First try to identify corresponding elder tab, so that we may work with its ID instead of index.
|
|
88
100
|
const elderTab = this.findElderTabByIndex(indexToActivate);
|
|
89
101
|
if (elderTab) {
|
|
90
|
-
this.activateElderTab(elderTab);
|
|
102
|
+
return this.activateElderTab(elderTab);
|
|
91
103
|
}
|
|
92
104
|
else {
|
|
93
105
|
// If no elder tab found, clear active elder tab to ensure consistent state.
|
|
94
106
|
this.activeElderTab = null;
|
|
95
|
-
this.setSelectedIndex(indexToActivate);
|
|
107
|
+
return this.setSelectedIndex(indexToActivate);
|
|
96
108
|
}
|
|
97
109
|
}
|
|
110
|
+
else {
|
|
111
|
+
return true;
|
|
112
|
+
}
|
|
98
113
|
}
|
|
99
114
|
activateTabById(tabId) {
|
|
100
115
|
const elderTab = this.findElderTabById(tabId);
|
|
101
116
|
if (elderTab) {
|
|
102
|
-
this.activateElderTab(elderTab);
|
|
117
|
+
return this.activateElderTab(elderTab);
|
|
103
118
|
}
|
|
104
119
|
else {
|
|
105
120
|
// If no elder tab found, clear active elder tab to ensure consistent state.
|
|
106
121
|
this.activeElderTab = null;
|
|
107
|
-
this._log.warn('Could not
|
|
122
|
+
this._log.warn('Could not find tab with ID "' + tabId + '". Ensure elderTab directive is added to corresponding tab.');
|
|
123
|
+
return false;
|
|
108
124
|
}
|
|
109
125
|
}
|
|
110
126
|
activateElderTab(elderTab) {
|
|
111
|
-
this.activeElderTab
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
this.
|
|
115
|
-
|
|
127
|
+
if (this.activeElderTab !== elderTab) {
|
|
128
|
+
this.activeElderTab = elderTab;
|
|
129
|
+
const indexToActivate = this.getIndexOfTab(elderTab.tab);
|
|
130
|
+
return this.setSelectedIndex(indexToActivate);
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
return true;
|
|
116
134
|
}
|
|
117
135
|
}
|
|
118
136
|
handleTabChangeEvent(tabChangeEvent) {
|
|
119
137
|
this._log.trace('Handling tabChangeEvent: ', tabChangeEvent);
|
|
120
|
-
this.
|
|
138
|
+
this.lastFailedTabMarker = null;
|
|
139
|
+
this.activeElderTab = this.findElderTabByTab(tabChangeEvent.tab);
|
|
121
140
|
this.updateFragmentParam();
|
|
122
141
|
}
|
|
142
|
+
retryLastFailedActivation() {
|
|
143
|
+
if (this.lastFailedTabMarker) {
|
|
144
|
+
this._log.trace('Retrying to activate tab by marker:', this.lastFailedTabMarker);
|
|
145
|
+
this.activateTabByMarker(this.lastFailedTabMarker);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
123
148
|
setSelectedIndex(index) {
|
|
124
|
-
if (this.activeTabIndex
|
|
125
|
-
this.
|
|
126
|
-
|
|
149
|
+
if (index !== this.activeTabIndex) {
|
|
150
|
+
if (this.isValidIndex(index)) {
|
|
151
|
+
this._log.trace('Activating tab by index ', index);
|
|
152
|
+
this.tabGroup.selectedIndex = index;
|
|
153
|
+
return true;
|
|
154
|
+
}
|
|
155
|
+
else {
|
|
156
|
+
this._log.warn('Could not find tab with index "' + index + '".');
|
|
157
|
+
return false;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
else {
|
|
161
|
+
return true;
|
|
127
162
|
}
|
|
128
163
|
}
|
|
164
|
+
isValidIndex(index) {
|
|
165
|
+
return this.tabs.length > index;
|
|
166
|
+
}
|
|
129
167
|
findElderTabById(tabId) {
|
|
130
168
|
return this.elderTabs.find(t => t.id === tabId);
|
|
131
169
|
}
|
|
132
170
|
findElderTabByIndex(tabIndex) {
|
|
133
|
-
|
|
134
|
-
|
|
171
|
+
const tab = this.findTabByIndex(tabIndex);
|
|
172
|
+
if (tab) {
|
|
173
|
+
return this.findElderTabByTab(tab);
|
|
135
174
|
}
|
|
136
175
|
else {
|
|
137
176
|
return null;
|
|
138
177
|
}
|
|
139
178
|
}
|
|
179
|
+
findElderTabByTab(tab) {
|
|
180
|
+
return this.elderTabs.find(elderTab => elderTab.tab === tab);
|
|
181
|
+
}
|
|
182
|
+
findTabByIndex(tabIndex) {
|
|
183
|
+
if (this.tabs.length > tabIndex) {
|
|
184
|
+
return this.tabs.get(tabIndex);
|
|
185
|
+
}
|
|
186
|
+
else {
|
|
187
|
+
return null;
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
getIndexOfTab(tab) {
|
|
191
|
+
return this.tabs.toArray().indexOf(tab);
|
|
192
|
+
}
|
|
140
193
|
updateFragmentParam() {
|
|
194
|
+
const currentTabMarker = this.getTabMarker(this.fragmentParamsService.params);
|
|
141
195
|
// If possible, use tab ID as marker. If not, use tab index as fallback.
|
|
142
|
-
const
|
|
196
|
+
const newTabMarker = this.activeTabId
|
|
143
197
|
? this.activeTabId
|
|
144
198
|
: this.serializeIndexMarker(this.activeTabIndex);
|
|
145
|
-
|
|
199
|
+
if (newTabMarker !== currentTabMarker) {
|
|
200
|
+
this.setFragmentParam(newTabMarker);
|
|
201
|
+
}
|
|
146
202
|
}
|
|
147
203
|
setFragmentParam(value) {
|
|
148
204
|
const params = this.fragmentParamsService.params;
|
|
@@ -179,9 +235,9 @@ export class ElderTabGroupRoutingDirective {
|
|
|
179
235
|
* Prefix used to indicate and index-based tab marker.
|
|
180
236
|
*/
|
|
181
237
|
ElderTabGroupRoutingDirective.TAB_INDEX_PREFIX = 'idx:';
|
|
182
|
-
ElderTabGroupRoutingDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
183
|
-
ElderTabGroupRoutingDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.
|
|
184
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
238
|
+
ElderTabGroupRoutingDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ElderTabGroupRoutingDirective, deps: [{ token: i1.ElderUrlFragmentParamsService }, { token: i2.MatTabGroup }], target: i0.ɵɵFactoryTarget.Directive });
|
|
239
|
+
ElderTabGroupRoutingDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.2", type: ElderTabGroupRoutingDirective, selector: "[elderTabGroupRouting]", inputs: { tabGroupQueryParamKey: ["elderTabGroupRouting", "tabGroupQueryParamKey"] }, queries: [{ propertyName: "tabs", predicate: MatTab }, { propertyName: "elderTabs", predicate: ElderTabDirective }], exportAs: ["elderTabGroupRouting"], ngImport: i0 });
|
|
240
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ElderTabGroupRoutingDirective, decorators: [{
|
|
185
241
|
type: Directive,
|
|
186
242
|
args: [{
|
|
187
243
|
selector: '[elderTabGroupRouting]',
|
|
@@ -190,8 +246,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImpor
|
|
|
190
246
|
}], ctorParameters: function () { return [{ type: i1.ElderUrlFragmentParamsService }, { type: i2.MatTabGroup }]; }, propDecorators: { tabGroupQueryParamKey: [{
|
|
191
247
|
type: Input,
|
|
192
248
|
args: ['elderTabGroupRouting']
|
|
249
|
+
}], tabs: [{
|
|
250
|
+
type: ContentChildren,
|
|
251
|
+
args: [MatTab]
|
|
193
252
|
}], elderTabs: [{
|
|
194
253
|
type: ContentChildren,
|
|
195
254
|
args: [ElderTabDirective]
|
|
196
255
|
}] } });
|
|
197
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItdGFiLWdyb3VwLXJvdXRpbmcuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy90YWJzL2VsZGVyLXRhYi1ncm91cC1yb3V0aW5nL2VsZGVyLXRhYi1ncm91cC1yb3V0aW5nLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLGVBQWUsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQyxNQUFNLGVBQWUsQ0FBQztBQUVuSCxPQUFPLEVBQUMsS0FBSyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFN0IsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGtDQUFrQyxDQUFDOzs7O0FBSW5FOzs7Ozs7R0FNRztBQUtILE1BQU0sT0FBTyw2QkFBNkI7SUFtQ3hDOzs7O2dGQUk0RTtJQUU1RSxZQUNVLHFCQUFvRCxFQUNwRCxRQUFxQjtRQURyQiwwQkFBcUIsR0FBckIscUJBQXFCLENBQStCO1FBQ3BELGFBQVEsR0FBUixRQUFRLENBQWE7UUFwQy9COzs7O29GQUk0RTtRQUUzRCxTQUFJLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RELGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBK0J6QyxJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FDbEMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FDMUIsQ0FBQyxTQUFTLENBQ1QsY0FBYyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsb0JB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QUMsT0FBTyxDQUFDLDZCQUE2QixDQUFDLGdCQUFnQixFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3BGLE9BQU8sTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ3pCO2FBQU07WUFDTCxNQUFNLElBQUksS0FBSyxDQUFDLG1DQUFtQyxHQUFHLE1BQU0sR0FBRyxvQ0FBb0MsQ0FBQyxDQUFDO1NBQ3RHO0lBQ0gsQ0FBQztJQUVPLG9CQUFvQixDQUFDLEtBQWE7UUFDeEMsT0FBTyw2QkFBNkIsQ0FBQyxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEUsQ0FBQzs7QUF6T0Q7O0dBRUc7QUFDcUIsOENBQWdCLEdBQUcsTUFBTyxDQUFBOzBIQUx2Qyw2QkFBNkI7OEdBQTdCLDZCQUE2Qiw4S0F5QnZCLGlCQUFpQjsyRkF6QnZCLDZCQUE2QjtrQkFKekMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxRQUFRLEVBQUUsc0JBQXNCO2lCQUNqQzs4SUFxQlEscUJBQXFCO3NCQUQzQixLQUFLO3VCQUFDLHNCQUFzQjtnQkFPdEIsU0FBUztzQkFEZixlQUFlO3VCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ29udGVudENoaWxkcmVuLCBEaXJlY3RpdmUsIElucHV0LCBPbkRlc3Ryb3ksIFF1ZXJ5TGlzdCwgVmlld0NoaWxkcmVufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGUsIFBhcmFtcywgUm91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtmaXJzdCwgdGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1N1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtNYXRUYWJDaGFuZ2VFdmVudCwgTWF0VGFiR3JvdXB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYnMnO1xuaW1wb3J0IHtMb2dnZXJGYWN0b3J5fSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcic7XG5pbXBvcnQge0VsZGVyVGFiRGlyZWN0aXZlfSBmcm9tICcuLi9lbGRlci10YWIvZWxkZXItdGFiLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0VsZGVyVXJsRnJhZ21lbnRQYXJhbXNTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9jb21tb24vdXJsL2VsZGVyLXVybC1mcmFnbWVudC1wYXJhbXMuc2VydmljZSc7XG5pbXBvcnQge1VybFF1ZXJ5UGFyYW1zfSBmcm9tICcuLi8uLi8uLi9jb21tb24vdXJsL3VybC1xdWVyeS1wYXJhbXMnO1xuXG4vKipcbiAqIEFkZHMgb3V0LW9mLXRoZS1ib3ggdXJsLWZyYWdtZW50IGJhc2VkIHRhYiBuYXZpZ2F0aW9uXG4gKiB3aXRoaW4gdGhlIG1hdC10YWItZ3JvdXAgaXQgaXMgcGxhY2VkIHVwb24uXG4gKlxuICogQWRkIGVsZGVyVGFiIGRpcmVjdGl2ZSB0byBlYWNoIHRhYiBvZiB0aGUgZ3JvdXAgdG9cbiAqIHN1cHBvcnQgaWQtYmFzZWQgdGFiIG5hdmlnYXRpb24uXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tlbGRlclRhYkdyb3VwUm91dGluZ10nLFxuICBleHBvcnRBczogJ2VsZGVyVGFiR3JvdXBSb3V0aW5nJ1xufSlcbmV4cG9ydCBjbGFzcyBFbGRlclRhYkdyb3VwUm91dGluZ0RpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG5cbiAgLyoqXG4gICAqIFByZWZpeCB1c2VkIHRvIGluZGljYXRlIGFuZCBpbmRleC1iYXNlZCB0YWIgbWFya2VyLlxuICAgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgVEFCX0lOREVYX1BSRUZJWCA9ICdpZHg6JztcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IF9sb2cgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgLyoqXG4gICAqIFN0cmluZyB0byB1c2UgYXMgcXVlcnkgcGFyYW0ga2V5LlxuICAgKi9cbiAgQElucHV0KCdlbGRlclRhYkdyb3VwUm91dGluZycpXG4gIHB1YmxpYyB0YWJHcm91cFF1ZXJ5UGFyYW1LZXk6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGNoaWxkIHRhYnMgd2l0aGluIHRoaXMgbmF2aWdhdGlvbiBjb250ZXh0LlxuICAgKi9cbiAgQENvbnRlbnRDaGlsZHJlbihFbGRlclRhYkRpcmVjdGl2ZSlcbiAgcHVibGljIGVsZGVyVGFiczogUXVlcnlMaXN0PEVsZGVyVGFiRGlyZWN0aXZlPjtcblxuICAvKipcbiAgICogVGhlIHRhYiBtYXJrZWQgd2l0aCBlbGRlclRhYiBkaXJlY3RpdmUgd2hpY2hcbiAgICogaXMgY3VycmVudGx5IGFjdGl2ZS4gTWF5IGJlIG51bGwgaWZcbiAgICogZWxkZXJUYWIgbWFya2VycyBhcmUgbm90IHVzZWQuXG4gICAqL1xuICBwdWJsaWMgYWN0aXZlRWxkZXJUYWI6IEVsZGVyVGFiRGlyZWN0aXZlO1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZnJhZ21lbnRQYXJhbXNTZXJ2aWNlOiBFbGRlclVybEZyYWdtZW50UGFyYW1zU2VydmljZSxcbiAgICBwcml2YXRlIHRhYkdyb3VwOiBNYXRUYWJHcm91cFxuICApIHtcbiAgICB0aGlzLnRhYkdyb3VwLnNlbGVjdGVkVGFiQ2hhbmdlLnBpcGUoXG4gICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpXG4gICAgKS5zdWJzY3JpYmUoXG4gICAgICB0YWJDaGFuZ2VFdmVudCA9PiB0aGlzLmhhbmRsZVRhYkNoYW5nZUV2ZW50KHRhYkNoYW5nZUV2ZW50KVxuICAgICk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogTGlmZSBDeWNsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaWJlRnJhZ21lbnRQYXJhbXNDaGFuZ2UoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnJlbW92ZUZyYWdtZW50UGFyYW0oKTtcblxuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGdldCBhY3RpdmVUYWJJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmFjdGl2ZUVsZGVyVGFiPy5pZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYWN0aXZlVGFiSW5kZXgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy50YWJHcm91cC5zZWxlY3RlZEluZGV4O1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgTWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSBzdWJzY3JpYmVGcmFnbWVudFBhcmFtc0NoYW5nZSgpOiB2b2lkIHtcbiAgICB0aGlzLmZyYWdtZW50UGFyYW1zU2VydmljZS5wYXJhbXMkXG4gICAgICAucGlwZShcbiAgICAgICAgZmlyc3QoKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgcGFyYW1zID0+IHtcblxuICAgICAgICAgIGNvbnN0IHRhYk1hcmtlciA9IHRoaXMuZ2V0VGFiTWFya2VyKHBhcmFtcyk7XG5cbiAgICAgICAgICBpZiAodGFiTWFya2VyKSB7XG4gICAgICAgICAgICB0aGlzLl9sb2cudHJhY2UoJ1JlZ2lzdGVyZWQgdGFiIG1hcmtlciB0byBhY3RpdmF0ZTogJywgdGFiTWFya2VyKTtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZhdGVUYWJCeU1hcmtlcih0YWJNYXJrZXIpO1xuICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBhY3RpdmF0ZVRhYkJ5TWFya2VyKHRhYk1hcmtlcjogc3RyaW5nKTogdm9pZCB7XG5cbiAgICBpZiAodGhpcy5pc0luZGV4TWFya2VyKHRhYk1hcmtlcikpIHtcbiAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5wYXJzZUluZGV4TWFya2VyKHRhYk1hcmtlcik7XG4gICAgICB0aGlzLmFjdGl2YXRlVGFiQnlJbmRleChpbmRleCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGlmIG5vIGluZGV4IGlzIGdpdmVuIHdlIGFzc3VtZSB0aGUgbWFya2VyIGlzIHRoZSBpZCBvZiB0aGUgdGFiLlxuICAgICAgdGhpcy5hY3RpdmF0ZVRhYkJ5SWQodGFiTWFya2VyKTtcbiAgICB9XG5cbiAgfVxuXG4gIHByaXZhdGUgYWN0aXZhdGVUYWJCeUluZGV4KGluZGV4VG9BY3RpdmF0ZTogbnVtYmVyKTogdm9pZCB7XG5cbiAgICBpZiAoaW5kZXhUb0FjdGl2YXRlICE9PSB0aGlzLmFjdGl2ZVRhYkluZGV4KSB7XG4gICAgICB0aGlzLl9sb2cudHJhY2UoJ0FjdGl2YXRpbmcgdGFiIGJ5IGluZGV4ICcsIGluZGV4VG9BY3RpdmF0ZSk7XG5cbiAgICAgIC8vIEZpcnN0IHRyeSB0byBpZGVudGlmeSBjb3JyZXNwb25kaW5nIGVsZGVyIHRhYiwgc28gdGhhdCB3ZSBtYXkgd29yayB3aXRoIGl0cyBJRCBpbnN0ZWFkIG9mIGluZGV4LlxuICAgICAgY29uc3QgZWxkZXJUYWIgPSB0aGlzLmZpbmRFbGRlclRhYkJ5SW5kZXgoaW5kZXhUb0FjdGl2YXRlKTtcblxuICAgICAgaWYgKGVsZGVyVGFiKSB7XG4gICAgICAgIHRoaXMuYWN0aXZhdGVFbGRlclRhYihlbGRlclRhYik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBJZiBubyBlbGRlciB0YWIgZm91bmQsIGNsZWFyIGFjdGl2ZSBlbGRlciB0YWIgdG8gZW5zdXJlIGNvbnNpc3RlbnQgc3RhdGUuXG4gICAgICAgIHRoaXMuYWN0aXZlRWxkZXJUYWIgPSBudWxsO1xuICAgICAgICB0aGlzLnNldFNlbGVjdGVkSW5kZXgoaW5kZXhUb0FjdGl2YXRlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG4gIHByaXZhdGUgYWN0aXZhdGVUYWJCeUlkKHRhYklkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBlbGRlclRhYiA9IHRoaXMuZmluZEVsZGVyVGFiQnlJZCh0YWJJZCk7XG5cbiAgICBpZiAoZWxkZXJUYWIpIHtcbiAgICAgIHRoaXMuYWN0aXZhdGVFbGRlclRhYihlbGRlclRhYik7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIElmIG5vIGVsZGVyIHRhYiBmb3VuZCwgY2xlYXIgYWN0aXZlIGVsZGVyIHRhYiB0byBlbnN1cmUgY29uc2lzdGVudCBzdGF0ZS5cbiAgICAgIHRoaXMuYWN0aXZlRWxkZXJUYWIgPSBudWxsO1xuICAgICAgdGhpcy5fbG9nLndhcm4oJ0NvdWxkIG5vdCBpZGVudGlmeSBhbnkgdGFiIHdpdGggaWQgXCInICsgdGFiSWQgKyAnXCIuIEVuc3VyZSBlbGRlclRhYiBkaXJlY3RpdmUgaXMgYWRkZWQgdG8gY29ycmVzcG9uZGluZyB0YWIuJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhY3RpdmF0ZUVsZGVyVGFiKGVsZGVyVGFiOiBFbGRlclRhYkRpcmVjdGl2ZSk6IHZvaWQge1xuICAgIHRoaXMuYWN0aXZlRWxkZXJUYWIgPSBlbGRlclRhYjtcbiAgICBjb25zdCBpbmRleFRvQWN0aXZhdGUgPSBlbGRlclRhYi50YWIucG9zaXRpb247XG5cbiAgICBpZiAoaW5kZXhUb0FjdGl2YXRlICE9PSB0aGlzLmFjdGl2ZVRhYkluZGV4KSB7XG4gICAgICB0aGlzLl9sb2cudHJhY2UoJ0FjdGl2YXRpbmcgdGFiIGluZGV4ICcsIGluZGV4VG9BY3RpdmF0ZSk7XG4gICAgICB0aGlzLnNldFNlbGVjdGVkSW5kZXgoaW5kZXhUb0FjdGl2YXRlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVRhYkNoYW5nZUV2ZW50KHRhYkNoYW5nZUV2ZW50OiBNYXRUYWJDaGFuZ2VFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuX2xvZy50cmFjZSgnSGFuZGxpbmcgdGFiQ2hhbmdlRXZlbnQ6ICcsIHRhYkNoYW5nZUV2ZW50KTtcbiAgICB0aGlzLmFjdGl2ZUVsZGVyVGFiID0gdGhpcy5maW5kRWxkZXJUYWJCeUluZGV4KHRhYkNoYW5nZUV2ZW50LmluZGV4KTtcbiAgICB0aGlzLnVwZGF0ZUZyYWdtZW50UGFyYW0oKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0U2VsZWN0ZWRJbmRleChpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYWN0aXZlVGFiSW5kZXggIT09IGluZGV4KSB7XG4gICAgICB0aGlzLnRhYkdyb3VwLnNlbGVjdGVkSW5kZXggPSBpbmRleDtcbiAgICAgIHRoaXMudXBkYXRlRnJhZ21lbnRQYXJhbSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZmluZEVsZGVyVGFiQnlJZCh0YWJJZDogc3RyaW5nKTogRWxkZXJUYWJEaXJlY3RpdmUge1xuICAgIHJldHVybiB0aGlzLmVsZGVyVGFicy5maW5kKHQgPT4gdC5pZCA9PT0gdGFiSWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBmaW5kRWxkZXJUYWJCeUluZGV4KHRhYkluZGV4OiBudW1iZXIpOiBFbGRlclRhYkRpcmVjdGl2ZSB7XG4gICAgaWYgKHRoaXMuZWxkZXJUYWJzLmxlbmd0aCA+PSB0YWJJbmRleCkge1xuICAgICAgcmV0dXJuIHRoaXMuZWxkZXJUYWJzLmdldCh0YWJJbmRleCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlRnJhZ21lbnRQYXJhbSgpOiB2b2lkIHtcblxuICAgIC8vIElmIHBvc3NpYmxlLCB1c2UgdGFiIElEIGFzIG1hcmtlci4gSWYgbm90LCB1c2UgdGFiIGluZGV4IGFzIGZhbGxiYWNrLlxuICAgIGNvbnN0IHRhYk1hcmtlciA9IHRoaXMuYWN0aXZlVGFiSWRcbiAgICAgID8gdGhpcy5hY3RpdmVUYWJJZFxuICAgICAgOiB0aGlzLnNlcmlhbGl6ZUluZGV4TWFya2VyKHRoaXMuYWN0aXZlVGFiSW5kZXgpO1xuXG4gICAgdGhpcy5zZXRGcmFnbWVudFBhcmFtKHRhYk1hcmtlcik7XG4gIH1cblxuICBwcml2YXRlIHNldEZyYWdtZW50UGFyYW0odmFsdWU6IHN0cmluZyk6IHZvaWQge1xuXG4gICAgY29uc3QgcGFyYW1zID0gdGhpcy5mcmFnbWVudFBhcmFtc1NlcnZpY2UucGFyYW1zO1xuICAgIHBhcmFtcy5zZXQodGhpcy50YWJHcm91cFF1ZXJ5UGFyYW1LZXksIHZhbHVlKTtcblxuICAgIHRoaXMuZnJhZ21lbnRQYXJhbXNTZXJ2aWNlLnNldFBhcmFtcyhwYXJhbXMpO1xuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVGcmFnbWVudFBhcmFtKCk6IHZvaWQge1xuXG4gICAgY29uc3QgcGFyYW1zID0gdGhpcy5mcmFnbWVudFBhcmFtc1NlcnZpY2UucGFyYW1zO1xuICAgIHBhcmFtcy5yZW1vdmUodGhpcy50YWJHcm91cFF1ZXJ5UGFyYW1LZXkpO1xuXG4gICAgdGhpcy5mcmFnbWVudFBhcmFtc1NlcnZpY2Uuc2V0UGFyYW1zKHBhcmFtcyk7XG4gIH1cblxuICBwcml2YXRlIGdldFRhYk1hcmtlcihxdWVyeVBhcmFtczogVXJsUXVlcnlQYXJhbXMpOiBzdHJpbmcge1xuICAgIHJldHVybiBxdWVyeVBhcmFtcy5oYXModGhpcy50YWJHcm91cFF1ZXJ5UGFyYW1LZXkpXG4gICAgICA/IHF1ZXJ5UGFyYW1zLmdldCh0aGlzLnRhYkdyb3VwUXVlcnlQYXJhbUtleSlcbiAgICAgIDogbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgaXNJbmRleE1hcmtlcihtYXJrZXI6IHN0cmluZykge1xuICAgIHJldHVybiBtYXJrZXIgJiYgbWFya2VyLnN0YXJ0c1dpdGgoRWxkZXJUYWJHcm91cFJvdXRpbmdEaXJlY3RpdmUuVEFCX0lOREVYX1BSRUZJWCk7XG4gIH1cblxuICBwcml2YXRlIHBhcnNlSW5kZXhNYXJrZXIobWFya2VyOiBzdHJpbmcpOiBudW1iZXIge1xuXG4gICAgaWYgKHRoaXMuaXNJbmRleE1hcmtlcihtYXJrZXIpKSB7XG4gICAgICBjb25zdCBpbmRleFN0ciA9IG1hcmtlci5yZXBsYWNlKEVsZGVyVGFiR3JvdXBSb3V0aW5nRGlyZWN0aXZlLlRBQl9JTkRFWF9QUkVGSVgsICcnKTtcbiAgICAgIHJldHVybiBOdW1iZXIoaW5kZXhTdHIpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBwYXJzZSBpbmRleCBmcm9tIG1hcmtlciAgXCInICsgbWFya2VyICsgJ1wiLiBDaGVjayB3aXRoIGlzSW5kZXhNYXJrZXIgZmlyc3QhJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXJpYWxpemVJbmRleE1hcmtlcihpbmRleDogbnVtYmVyKTogc3RyaW5nIHtcbiAgICByZXR1cm4gRWxkZXJUYWJHcm91cFJvdXRpbmdEaXJlY3RpdmUuVEFCX0lOREVYX1BSRUZJWCArIFN0cmluZyhpbmRleCk7XG4gIH1cbn1cbiJdfQ==
|
|
256
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItdGFiLWdyb3VwLXJvdXRpbmcuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy90YWJzL2VsZGVyLXRhYi1ncm91cC1yb3V0aW5nL2VsZGVyLXRhYi1ncm91cC1yb3V0aW5nLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLGVBQWUsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUF1QixNQUFNLGVBQWUsQ0FBQztBQUNyRyxPQUFPLEVBQVEsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEVBQUMsTUFBTSxFQUFpQyxNQUFNLHdCQUF3QixDQUFDO0FBQzlFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUduRSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQzs7OztBQUUxRTs7Ozs7O0dBTUc7QUFLSCxNQUFNLE9BQU8sNkJBQTZCO0lBaUR4Qzs7OztnRkFJNEU7SUFFNUUsWUFDVSxxQkFBb0QsRUFDcEQsUUFBcUI7UUFEckIsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUErQjtRQUNwRCxhQUFRLEdBQVIsUUFBUSxDQUFhO1FBbEQvQjs7OztvRkFJNEU7UUFFM0QsU0FBSSxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0RCxjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQTZDekMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUI7YUFDNUIsSUFBSSxDQUFDLFNBQVMs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QUFnQixHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4RSxDQUFDOztBQXZTRDs7R0FFRztBQUNxQiw4Q0FBZ0IsR0FBRyxNQUFPLENBQUE7MEhBTHZDLDZCQUE2Qjs4R0FBN0IsNkJBQTZCLHlLQWdDdkIsTUFBTSw0Q0FPTixpQkFBaUI7MkZBdkN2Qiw2QkFBNkI7a0JBSnpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtvQkFDbEMsUUFBUSxFQUFFLHNCQUFzQjtpQkFDakM7OElBNEJRLHFCQUFxQjtzQkFEM0IsS0FBSzt1QkFBQyxzQkFBc0I7Z0JBT3RCLElBQUk7c0JBRFYsZUFBZTt1QkFBQyxNQUFNO2dCQVFoQixTQUFTO3NCQURmLGVBQWU7dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdJbml0LCBDb250ZW50Q2hpbGRyZW4sIERpcmVjdGl2ZSwgSW5wdXQsIE9uRGVzdHJveSwgUXVlcnlMaXN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Zmlyc3QsIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7TWF0VGFiLCBNYXRUYWJDaGFuZ2VFdmVudCwgTWF0VGFiR3JvdXB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYnMnO1xuaW1wb3J0IHtMb2dnZXJGYWN0b3J5fSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcic7XG5pbXBvcnQge0VsZGVyVGFiRGlyZWN0aXZlfSBmcm9tICcuLi9lbGRlci10YWIvZWxkZXItdGFiLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0VsZGVyVXJsRnJhZ21lbnRQYXJhbXNTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9jb21tb24vdXJsL2VsZGVyLXVybC1mcmFnbWVudC1wYXJhbXMuc2VydmljZSc7XG5pbXBvcnQge1VybFF1ZXJ5UGFyYW1zfSBmcm9tICcuLi8uLi8uLi9jb21tb24vdXJsL3VybC1xdWVyeS1wYXJhbXMnO1xuaW1wb3J0IHtRdWVyeUxpc3RCaW5kaW5nfSBmcm9tICcuLi8uLi8uLi9jb21tb24vdXRpbHMvcXVlcnktbGlzdC1iaW5kaW5nJztcblxuLyoqXG4gKiBBZGRzIG91dC1vZi10aGUtYm94IHVybC1mcmFnbWVudCBiYXNlZCB0YWIgbmF2aWdhdGlvblxuICogd2l0aGluIHRoZSBtYXQtdGFiLWdyb3VwIGl0IGlzIHBsYWNlZCB1cG9uLlxuICpcbiAqIEFkZCBlbGRlclRhYiBkaXJlY3RpdmUgdG8gZWFjaCB0YWIgb2YgdGhlIGdyb3VwIHRvXG4gKiBzdXBwb3J0IGlkLWJhc2VkIHRhYiBuYXZpZ2F0aW9uLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZWxkZXJUYWJHcm91cFJvdXRpbmddJyxcbiAgZXhwb3J0QXM6ICdlbGRlclRhYkdyb3VwUm91dGluZydcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJUYWJHcm91cFJvdXRpbmdEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuXG4gIC8qKlxuICAgKiBQcmVmaXggdXNlZCB0byBpbmRpY2F0ZSBhbmQgaW5kZXgtYmFzZWQgdGFiIG1hcmtlci5cbiAgICovXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IFRBQl9JTkRFWF9QUkVGSVggPSAnaWR4Oic7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBfbG9nID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xuXG4gIC8qKlxuICAgKiBTdG9yZXMgdGhlIGxhc3QgdGFiIG1hcmtlciAoZWl0aGVyIElEIG9yIGluZGV4KVxuICAgKiB3aGljaCBjb3VsZCBub3QgYmUgYWN0aXZhdGVkLiBUaGlzIGlzIHVzZWQgdG8gcmV0cnlcbiAgICogYWN0aXZhdGlvbiBvbmNlIGNoYW5nZXMgb24gdGFiIHN0cnVjdHVyZSBvY2N1ci5cbiAgICovXG4gIHByaXZhdGUgbGFzdEZhaWxlZFRhYk1hcmtlcjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTdHJpbmcgdG8gdXNlIGFzIHF1ZXJ5IHBhcmFtIGtleS5cbiAgICovXG4gIEBJbnB1dCgnZWxkZXJUYWJHcm91cFJvdXRpbmcnKVxuICBwdWJsaWMgdGFiR3JvdXBRdWVyeVBhcmFtS2V5OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBjaGlsZCB0YWJzIHdpdGhpbiB0aGlzIG5hdmlnYXRpb24gY29udGV4dC5cbiAgICovXG4gIEBDb250ZW50Q2hpbGRyZW4oTWF0VGFiKVxuICBwdWJsaWMgdGFiczogUXVlcnlMaXN0PE1hdFRhYj47XG5cbiAgLyoqXG4gICAqIFRoZSBjaGlsZCB0YWJzIHdpdGhpbiB0aGlzIG5hdmlnYXRpb24gY29udGV4dFxuICAgKiBtYXJrZWQgd2l0aCB0aGUgZWxkZXJUYWJzIGRpcmVjdGl2ZS5cbiAgICovXG4gIEBDb250ZW50Q2hpbGRyZW4oRWxkZXJUYWJEaXJlY3RpdmUpXG4gIHB1YmxpYyBlbGRlclRhYnM6IFF1ZXJ5TGlzdDxFbGRlclRhYkRpcmVjdGl2ZT47XG5cbiAgLyoqXG4gICAqIFRoZSB0YWIgbWFya2VkIHdpdGggZWxkZXJUYWIgZGlyZWN0aXZlIHdoaWNoXG4gICAqIGlzIGN1cnJlbnRseSBhY3RpdmUuIE1heSBiZSBudWxsIGlmXG4gICAqIGVsZGVyVGFiIG1hcmtlcnMgYXJlIG5vdCB1c2VkLlxuICAgKi9cbiAgcHVibGljIGFjdGl2ZUVsZGVyVGFiOiBFbGRlclRhYkRpcmVjdGl2ZTtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZyYWdtZW50UGFyYW1zU2VydmljZTogRWxkZXJVcmxGcmFnbWVudFBhcmFtc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSB0YWJHcm91cDogTWF0VGFiR3JvdXBcbiAgKSB7XG4gICAgdGhpcy50YWJHcm91cC5zZWxlY3RlZFRhYkNoYW5nZVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoZXZlbnQgPT4gdGhpcy5oYW5kbGVUYWJDaGFuZ2VFdmVudChldmVudCkpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIExpZmUgQ3ljbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmZyYWdtZW50UGFyYW1zU2VydmljZS5wYXJhbXMkXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZShwYXJhbXMgPT4gdGhpcy5oYW5kbGVGcmFnbWVudFBhcmFtc0NoYW5nZShwYXJhbXMpKTtcblxuICAgIFF1ZXJ5TGlzdEJpbmRpbmdcbiAgICAgIC5vZih0aGlzLnRhYnMpXG4gICAgICAudXBkYXRlZCgoKSA9PiB0aGlzLnJldHJ5TGFzdEZhaWxlZEFjdGl2YXRpb24oKSlcbiAgICAgIC5iaW5kVW50aWwodGhpcy5fZGVzdHJveSQpO1xuXG4gICAgUXVlcnlMaXN0QmluZGluZ1xuICAgICAgLm9mKHRoaXMuZWxkZXJUYWJzKVxuICAgICAgLnVwZGF0ZWQoKCkgPT4gdGhpcy5yZXRyeUxhc3RGYWlsZWRBY3RpdmF0aW9uKCkpXG4gICAgICAuYmluZFVudGlsKHRoaXMuX2Rlc3Ryb3kkKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnJlbW92ZUZyYWdtZW50UGFyYW0oKTtcblxuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGdldCBhY3RpdmVUYWJJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmFjdGl2ZUVsZGVyVGFiPy5pZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYWN0aXZlVGFiSW5kZXgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy50YWJHcm91cC5zZWxlY3RlZEluZGV4O1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgTWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSBoYW5kbGVGcmFnbWVudFBhcmFtc0NoYW5nZShwYXJhbXM6IFVybFF1ZXJ5UGFyYW1zKTogdm9pZCB7XG4gICAgY29uc3QgdGFiTWFya2VyID0gdGhpcy5nZXRUYWJNYXJrZXIocGFyYW1zKTtcblxuICAgIGlmICh0YWJNYXJrZXIpIHtcbiAgICAgIHRoaXMuYWN0aXZhdGVUYWJCeU1hcmtlcih0YWJNYXJrZXIpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYWN0aXZhdGVUYWJCeU1hcmtlcih0YWJNYXJrZXI6IHN0cmluZyk6IHZvaWQge1xuXG4gICAgbGV0IHN1Y2Nlc3M6IGJvb2xlYW47XG4gICAgaWYgKHRoaXMuaXNJbmRleE1hcmtlcih0YWJNYXJrZXIpKSB7XG4gICAgICBjb25zdCBpbmRleCA9IHRoaXMucGFyc2VJbmRleE1hcmtlcih0YWJNYXJrZXIpO1xuICAgICAgc3VjY2VzcyA9IHRoaXMuYWN0aXZhdGVUYWJCeUluZGV4KGluZGV4KTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gaWYgbm8gaW5kZXggaXMgZ2l2ZW4gd2UgYXNzdW1lIHRoZSBtYXJrZXIgaXMgdGhlIGlkIG9mIHRoZSB0YWIuXG4gICAgICBzdWNjZXNzID0gdGhpcy5hY3RpdmF0ZVRhYkJ5SWQodGFiTWFya2VyKTtcbiAgICB9XG5cbiAgICAvLyByZW1lbWJlciB0YWIgbWFya2VyIGluIGNhc2Ugb2YgZmFpbHVyZSB0byByZXRyeSBsYXRlci5cbiAgICB0aGlzLmxhc3RGYWlsZWRUYWJNYXJrZXIgPSBzdWNjZXNzID8gbnVsbCA6IHRhYk1hcmtlcjtcbiAgfVxuXG4gIHByaXZhdGUgYWN0aXZhdGVUYWJCeUluZGV4KGluZGV4VG9BY3RpdmF0ZTogbnVtYmVyKTogYm9vbGVhbiB7XG5cbiAgICBpZiAoaW5kZXhUb0FjdGl2YXRlICE9PSB0aGlzLmFjdGl2ZVRhYkluZGV4KSB7XG4gICAgICB0aGlzLl9sb2cudHJhY2UoJ0FjdGl2YXRpbmcgdGFiIGJ5IGluZGV4ICcsIGluZGV4VG9BY3RpdmF0ZSk7XG5cbiAgICAgIC8vIEZpcnN0IHRyeSB0byBpZGVudGlmeSBjb3JyZXNwb25kaW5nIGVsZGVyIHRhYiwgc28gdGhhdCB3ZSBtYXkgd29yayB3aXRoIGl0cyBJRCBpbnN0ZWFkIG9mIGluZGV4LlxuICAgICAgY29uc3QgZWxkZXJUYWIgPSB0aGlzLmZpbmRFbGRlclRhYkJ5SW5kZXgoaW5kZXhUb0FjdGl2YXRlKTtcblxuICAgICAgaWYgKGVsZGVyVGFiKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFjdGl2YXRlRWxkZXJUYWIoZWxkZXJUYWIpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gSWYgbm8gZWxkZXIgdGFiIGZvdW5kLCBjbGVhciBhY3RpdmUgZWxkZXIgdGFiIHRvIGVuc3VyZSBjb25zaXN0ZW50IHN0YXRlLlxuICAgICAgICB0aGlzLmFjdGl2ZUVsZGVyVGFiID0gbnVsbDtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2V0U2VsZWN0ZWRJbmRleChpbmRleFRvQWN0aXZhdGUpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgfVxuXG4gIHByaXZhdGUgYWN0aXZhdGVUYWJCeUlkKHRhYklkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCBlbGRlclRhYiA9IHRoaXMuZmluZEVsZGVyVGFiQnlJZCh0YWJJZCk7XG5cbiAgICBpZiAoZWxkZXJUYWIpIHtcbiAgICAgIHJldHVybiB0aGlzLmFjdGl2YXRlRWxkZXJUYWIoZWxkZXJUYWIpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBJZiBubyBlbGRlciB0YWIgZm91bmQsIGNsZWFyIGFjdGl2ZSBlbGRlciB0YWIgdG8gZW5zdXJlIGNvbnNpc3RlbnQgc3RhdGUuXG4gICAgICB0aGlzLmFjdGl2ZUVsZGVyVGFiID0gbnVsbDtcbiAgICAgIHRoaXMuX2xvZy53YXJuKCdDb3VsZCBub3QgZmluZCB0YWIgd2l0aCBJRCBcIicgKyB0YWJJZCArICdcIi4gRW5zdXJlIGVsZGVyVGFiIGRpcmVjdGl2ZSBpcyBhZGRlZCB0byBjb3JyZXNwb25kaW5nIHRhYi4nKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFjdGl2YXRlRWxkZXJUYWIoZWxkZXJUYWI6IEVsZGVyVGFiRGlyZWN0aXZlKTogYm9vbGVhbiB7XG5cbiAgICBpZiAodGhpcy5hY3RpdmVFbGRlclRhYiAhPT0gZWxkZXJUYWIpIHtcbiAgICAgIHRoaXMuYWN0aXZlRWxkZXJUYWIgPSBlbGRlclRhYjtcbiAgICAgIGNvbnN0IGluZGV4VG9BY3RpdmF0ZSA9IHRoaXMuZ2V0SW5kZXhPZlRhYihlbGRlclRhYi50YWIpO1xuICAgICAgcmV0dXJuIHRoaXMuc2V0U2VsZWN0ZWRJbmRleChpbmRleFRvQWN0aXZhdGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlVGFiQ2hhbmdlRXZlbnQodGFiQ2hhbmdlRXZlbnQ6IE1hdFRhYkNoYW5nZUV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5fbG9nLnRyYWNlKCdIYW5kbGluZyB0YWJDaGFuZ2VFdmVudDogJywgdGFiQ2hhbmdlRXZlbnQpO1xuICAgIHRoaXMubGFzdEZhaWxlZFRhYk1hcmtlciA9IG51bGw7XG4gICAgdGhpcy5hY3RpdmVFbGRlclRhYiA9IHRoaXMuZmluZEVsZGVyVGFiQnlUYWIodGFiQ2hhbmdlRXZlbnQudGFiKTtcbiAgICB0aGlzLnVwZGF0ZUZyYWdtZW50UGFyYW0oKTtcbiAgfVxuXG4gIHByaXZhdGUgcmV0cnlMYXN0RmFpbGVkQWN0aXZhdGlvbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5sYXN0RmFpbGVkVGFiTWFya2VyKSB7XG4gICAgICB0aGlzLl9sb2cudHJhY2UoJ1JldHJ5aW5nIHRvIGFjdGl2YXRlIHRhYiBieSBtYXJrZXI6JywgdGhpcy5sYXN0RmFpbGVkVGFiTWFya2VyKTtcbiAgICAgIHRoaXMuYWN0aXZhdGVUYWJCeU1hcmtlcih0aGlzLmxhc3RGYWlsZWRUYWJNYXJrZXIpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0U2VsZWN0ZWRJbmRleChpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgaWYgKGluZGV4ICE9PSB0aGlzLmFjdGl2ZVRhYkluZGV4KSB7XG5cbiAgICAgIGlmICh0aGlzLmlzVmFsaWRJbmRleChpbmRleCkpIHtcbiAgICAgICAgdGhpcy5fbG9nLnRyYWNlKCdBY3RpdmF0aW5nIHRhYiBieSBpbmRleCAnLCBpbmRleCk7XG4gICAgICAgIHRoaXMudGFiR3JvdXAuc2VsZWN0ZWRJbmRleCA9IGluZGV4O1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX2xvZy53YXJuKCdDb3VsZCBub3QgZmluZCB0YWIgd2l0aCBpbmRleCBcIicgKyBpbmRleCArICdcIi4nKTtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGlzVmFsaWRJbmRleChpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudGFicy5sZW5ndGggPiBpbmRleDtcbiAgfVxuXG4gIHByaXZhdGUgZmluZEVsZGVyVGFiQnlJZCh0YWJJZDogc3RyaW5nKTogRWxkZXJUYWJEaXJlY3RpdmUgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5lbGRlclRhYnMuZmluZCh0ID0+IHQuaWQgPT09IHRhYklkKTtcbiAgfVxuXG4gIHByaXZhdGUgZmluZEVsZGVyVGFiQnlJbmRleCh0YWJJbmRleDogbnVtYmVyKTogRWxkZXJUYWJEaXJlY3RpdmUgfCBudWxsIHtcbiAgICBjb25zdCB0YWIgPSB0aGlzLmZpbmRUYWJCeUluZGV4KHRhYkluZGV4KTtcbiAgICBpZiAodGFiKSB7XG4gICAgICByZXR1cm4gdGhpcy5maW5kRWxkZXJUYWJCeVRhYih0YWIpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGZpbmRFbGRlclRhYkJ5VGFiKHRhYjogTWF0VGFiKTogRWxkZXJUYWJEaXJlY3RpdmUgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5lbGRlclRhYnMuZmluZChlbGRlclRhYiA9PiBlbGRlclRhYi50YWIgPT09IHRhYik7XG4gIH1cblxuICBwcml2YXRlIGZpbmRUYWJCeUluZGV4KHRhYkluZGV4OiBudW1iZXIpOiBNYXRUYWIgfCBudWxsIHtcbiAgICBpZiAodGhpcy50YWJzLmxlbmd0aCA+IHRhYkluZGV4KSB7XG4gICAgICByZXR1cm4gdGhpcy50YWJzLmdldCh0YWJJbmRleCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0SW5kZXhPZlRhYih0YWI6IE1hdFRhYik6IG51bWJlciB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnRhYnMudG9BcnJheSgpLmluZGV4T2YodGFiKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlRnJhZ21lbnRQYXJhbSgpOiB2b2lkIHtcblxuICAgIGNvbnN0IGN1cnJlbnRUYWJNYXJrZXIgPSB0aGlzLmdldFRhYk1hcmtlcih0aGlzLmZyYWdtZW50UGFyYW1zU2VydmljZS5wYXJhbXMpO1xuXG4gICAgLy8gSWYgcG9zc2libGUsIHVzZSB0YWIgSUQgYXMgbWFya2VyLiBJZiBub3QsIHVzZSB0YWIgaW5kZXggYXMgZmFsbGJhY2suXG4gICAgY29uc3QgbmV3VGFiTWFya2VyID0gdGhpcy5hY3RpdmVUYWJJZFxuICAgICAgPyB0aGlzLmFjdGl2ZVRhYklkXG4gICAgICA6IHRoaXMuc2VyaWFsaXplSW5kZXhNYXJrZXIodGhpcy5hY3RpdmVUYWJJbmRleCk7XG5cbiAgICBpZiAobmV3VGFiTWFya2VyICE9PSBjdXJyZW50VGFiTWFya2VyKSB7XG4gICAgICB0aGlzLnNldEZyYWdtZW50UGFyYW0obmV3VGFiTWFya2VyKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldEZyYWdtZW50UGFyYW0odmFsdWU6IHN0cmluZyk6IHZvaWQge1xuXG4gICAgY29uc3QgcGFyYW1zID0gdGhpcy5mcmFnbWVudFBhcmFtc1NlcnZpY2UucGFyYW1zO1xuICAgIHBhcmFtcy5zZXQodGhpcy50YWJHcm91cFF1ZXJ5UGFyYW1LZXksIHZhbHVlKTtcblxuICAgIHRoaXMuZnJhZ21lbnRQYXJhbXNTZXJ2aWNlLnNldFBhcmFtcyhwYXJhbXMpO1xuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVGcmFnbWVudFBhcmFtKCk6IHZvaWQge1xuXG4gICAgY29uc3QgcGFyYW1zID0gdGhpcy5mcmFnbWVudFBhcmFtc1NlcnZpY2UucGFyYW1zO1xuICAgIHBhcmFtcy5yZW1vdmUodGhpcy50YWJHcm91cFF1ZXJ5UGFyYW1LZXkpO1xuXG4gICAgdGhpcy5mcmFnbWVudFBhcmFtc1NlcnZpY2Uuc2V0UGFyYW1zKHBhcmFtcyk7XG4gIH1cblxuICBwcml2YXRlIGdldFRhYk1hcmtlcihxdWVyeVBhcmFtczogVXJsUXVlcnlQYXJhbXMpOiBzdHJpbmcge1xuICAgIHJldHVybiBxdWVyeVBhcmFtcy5oYXModGhpcy50YWJHcm91cFF1ZXJ5UGFyYW1LZXkpXG4gICAgICA/IHF1ZXJ5UGFyYW1zLmdldCh0aGlzLnRhYkdyb3VwUXVlcnlQYXJhbUtleSlcbiAgICAgIDogbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgaXNJbmRleE1hcmtlcihtYXJrZXI6IHN0cmluZykge1xuICAgIHJldHVybiBtYXJrZXIgJiYgbWFya2VyLnN0YXJ0c1dpdGgoRWxkZXJUYWJHcm91cFJvdXRpbmdEaXJlY3RpdmUuVEFCX0lOREVYX1BSRUZJWCk7XG4gIH1cblxuICBwcml2YXRlIHBhcnNlSW5kZXhNYXJrZXIobWFya2VyOiBzdHJpbmcpOiBudW1iZXIge1xuXG4gICAgaWYgKHRoaXMuaXNJbmRleE1hcmtlcihtYXJrZXIpKSB7XG4gICAgICBjb25zdCBpbmRleFN0ciA9IG1hcmtlci5yZXBsYWNlKEVsZGVyVGFiR3JvdXBSb3V0aW5nRGlyZWN0aXZlLlRBQl9JTkRFWF9QUkVGSVgsICcnKTtcbiAgICAgIHJldHVybiBOdW1iZXIoaW5kZXhTdHIpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBwYXJzZSBpbmRleCBmcm9tIG1hcmtlciAgXCInICsgbWFya2VyICsgJ1wiLiBDaGVjayB3aXRoIGlzSW5kZXhNYXJrZXIgZmlyc3QhJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXJpYWxpemVJbmRleE1hcmtlcihpbmRleDogbnVtYmVyKTogc3RyaW5nIHtcbiAgICByZXR1cm4gRWxkZXJUYWJHcm91cFJvdXRpbmdEaXJlY3RpdmUuVEFCX0lOREVYX1BSRUZJWCArIFN0cmluZyhpbmRleCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -9,16 +9,16 @@ export * from './elder-tab/elder-tab.directive';
|
|
|
9
9
|
export * from './elder-tab-group-routing/elder-tab-group-routing.directive';
|
|
10
10
|
export class ElderTabModule {
|
|
11
11
|
}
|
|
12
|
-
ElderTabModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
13
|
-
ElderTabModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.
|
|
12
|
+
ElderTabModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ElderTabModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
13
|
+
ElderTabModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ElderTabModule, declarations: [ElderTabDirective,
|
|
14
14
|
ElderTabGroupRoutingDirective], imports: [CommonModule, MatCommonModule,
|
|
15
15
|
FlexLayoutModule], exports: [ElderTabDirective,
|
|
16
16
|
ElderTabGroupRoutingDirective] });
|
|
17
|
-
ElderTabModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.
|
|
17
|
+
ElderTabModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ElderTabModule, imports: [[
|
|
18
18
|
CommonModule, MatCommonModule,
|
|
19
19
|
FlexLayoutModule
|
|
20
20
|
]] });
|
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ElderTabModule, decorators: [{
|
|
22
22
|
type: NgModule,
|
|
23
23
|
args: [{
|
|
24
24
|
imports: [
|
|
@@ -15,9 +15,9 @@ export class CustomDateAdapter extends NativeDateAdapter {
|
|
|
15
15
|
return 1;
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
|
-
CustomDateAdapter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
19
|
-
CustomDateAdapter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
18
|
+
CustomDateAdapter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: CustomDateAdapter, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
19
|
+
CustomDateAdapter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: CustomDateAdapter });
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: CustomDateAdapter, decorators: [{
|
|
21
21
|
type: Injectable
|
|
22
22
|
}] });
|
|
23
23
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWRhdGUtYWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvdGltZS9kYXRlLWFkYXB0ZXJzL2N1c3RvbS1kYXRlLWFkYXB0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsd0ZBQXdGO0FBQ3hGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDOztBQUVuRDs7R0FFRztBQUVILE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxpQkFBaUI7SUFEeEQ7O1FBR21CLFdBQU0sR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7S0FzQjFFO0lBcEJDLGlCQUFpQjtRQUNmLE9BQU8sQ0FBQyxDQUFDO0lBQ1gsQ0FBQzs7OEdBTlUsaUJBQWlCO2tIQUFqQixpQkFBaUI7MkZBQWpCLGlCQUFpQjtrQkFEN0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBBZGFwdHMgdGhlIG5hdGl2ZSBKUyBEYXRlIGZvciB1c2Ugd2l0aCBjZGstYmFzZWQgY29tcG9uZW50cyB0aGF0IHdvcmsgd2l0aCBkYXRlcy4gKi9cbmltcG9ydCB7IE5hdGl2ZURhdGVBZGFwdGVyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0xvZ2dlckZhY3Rvcnl9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJztcblxuLyoqXG4gKiBNYWtlcyB3ZWVrIHN0YXJ0aW5nIGF0IG1vbmRheS4gRm9yIGV4YW1wbGUgTWF0RGF0ZVBpY2tlci5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEN1c3RvbURhdGVBZGFwdGVyIGV4dGVuZHMgTmF0aXZlRGF0ZUFkYXB0ZXIge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKTtcblxuICBnZXRGaXJzdERheU9mV2VlaygpOiBudW1iZXIge1xuICAgIHJldHVybiAxO1xuICB9XG5cbiAgLypcbiAgcGFyc2UodmFsdWU6IGFueSk6IERhdGUgfCBudWxsIHtcblxuICAgIGlmICh2YWx1ZSkge1xuXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gbmV3IERhdGUodmFsdWUpO1xuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcignRmFpbGVkIHRvIHBhcnNlIGRhdGUgJyArIHZhbHVlLCBlcnIpO1xuICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfSovXG5cbn1cbiJdfQ==
|