@coolon/angular-ui-powerups 12.4.9 → 13.0.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/assets/activities/activities.scss +1 -1
- package/assets/cards.scss +1 -1
- package/assets/form.scss +1 -1
- package/assets/interaction/editor/inline-string-editor.scss +1 -1
- package/assets/interaction.scss +1 -1
- package/assets/mixins.scss +2 -2
- package/assets/pills.scss +1 -1
- package/assets/styles.scss +1 -1
- package/{esm2015/lib/angular-ui-powerups.module.js → esm2020/lib/angular-ui-powerups.module.mjs} +5 -5
- package/esm2020/lib/components/busy-overlay/busy-overlay.component.mjs +32 -0
- package/{esm2015/lib/components/cards/abstract-card-container.component.js → esm2020/lib/components/cards/abstract-card-container.component.mjs} +4 -4
- package/esm2020/lib/components/cards/card-container/card-container.component.mjs +129 -0
- package/esm2020/lib/components/cards/card-stack/card-stack.component.mjs +81 -0
- package/esm2020/lib/components/commands/command/command.component.mjs +96 -0
- package/{esm2015/lib/components/commands/command-face/command-face.component.js → esm2020/lib/components/commands/command-face/command-face.component.mjs} +5 -10
- package/esm2020/lib/components/commands/command-face.mjs +112 -0
- package/{esm2015/lib/components/commands/flex.component.js → esm2020/lib/components/commands/flex.component.mjs} +4 -4
- package/esm2020/lib/components/commands/group/popup-menu/abstract-popup-menu.component.mjs +84 -0
- package/esm2020/lib/components/commands/group/popup-menu/more-menu.component.mjs +57 -0
- package/esm2020/lib/components/commands/group/popup-menu/popup-menu-renderer/popup-menu-renderer.component.mjs +101 -0
- package/esm2020/lib/components/commands/group/popup-menu/popup-menu.component.mjs +53 -0
- package/esm2020/lib/components/commands/group/tool-bar/tool-bar.component.mjs +31 -0
- package/{esm2015/lib/components/commands/separator.component.js → esm2020/lib/components/commands/separator.component.mjs} +5 -5
- package/{esm2015/lib/components/components.module.js → esm2020/lib/components/components.module.mjs} +6 -6
- package/{esm2015/lib/components/disposable-component.js → esm2020/lib/components/disposable-component.mjs} +4 -4
- package/{esm2015/lib/components/empty-state/empty-state.component.js → esm2020/lib/components/empty-state/empty-state.component.mjs} +6 -10
- package/{esm2015/lib/components/focus-container/focus-container.component.js → esm2020/lib/components/focus-container/focus-container.component.mjs} +6 -11
- package/{esm2015/lib/components/focusable.component.js → esm2020/lib/components/focusable.component.mjs} +6 -8
- package/{esm2015/lib/components/forms/abstract-input.component.js → esm2020/lib/components/forms/abstract-input.component.mjs} +4 -4
- package/{esm2015/lib/components/forms/abstract-list-input.component.js → esm2020/lib/components/forms/abstract-list-input.component.mjs} +4 -4
- package/{esm2015/lib/components/forms/abstract-value-input.component.js → esm2020/lib/components/forms/abstract-value-input.component.mjs} +4 -4
- package/esm2020/lib/components/forms/autocomplete-input/autocomplete-input.component.mjs +72 -0
- package/esm2020/lib/components/forms/checkbox-input/checkbox-input.component.mjs +29 -0
- package/esm2020/lib/components/forms/multiple-select-input/multiple-select-input.component.mjs +52 -0
- package/esm2020/lib/components/forms/number-input/number-input.component.mjs +33 -0
- package/esm2020/lib/components/forms/password-input/password-input.component.mjs +24 -0
- package/esm2020/lib/components/forms/select-input/select-input.component.mjs +57 -0
- package/esm2020/lib/components/forms/string-input/string-input.component.mjs +48 -0
- package/esm2020/lib/components/forms/text-input/text-input.component.mjs +30 -0
- package/esm2020/lib/components/icon/icon.component.mjs +52 -0
- package/esm2020/lib/components/labelled-value/labelled-value.component.mjs +20 -0
- package/esm2020/lib/components/loading-container/loading-container.component.mjs +50 -0
- package/esm2020/lib/components/noop/noop.component.mjs +13 -0
- package/{esm2015/lib/components/resize-aware.component.js → esm2020/lib/components/resize-aware.component.mjs} +4 -4
- package/esm2020/lib/components/scroll-container/scroll-container.component.mjs +15 -0
- package/esm2020/lib/components/section-header/section-header.component.mjs +36 -0
- package/{esm2015/lib/components/switch-case/switch-case.component.js → esm2020/lib/components/switch-case/switch-case.component.mjs} +11 -15
- package/esm2020/lib/components/tables/abstract-table-model.mjs +185 -0
- package/esm2020/lib/components/tables/abstract-table.component.mjs +168 -0
- package/{esm2015/lib/components/tables/table/cell-portal-ref.js → esm2020/lib/components/tables/table/cell-portal-ref.mjs} +2 -2
- package/esm2020/lib/components/tables/table/column-model.mjs +392 -0
- package/esm2020/lib/components/tables/table/column-template/column-template.directive.mjs +35 -0
- package/esm2020/lib/components/tables/table/default-cell-renderer/default-cell-renderer.component.mjs +22 -0
- package/esm2020/lib/components/tables/table/default-header-cell-renderer/default-header-cell-renderer.component.mjs +15 -0
- package/esm2020/lib/components/tables/table/edit-row-controls/edit-row-controls.component.mjs +55 -0
- package/esm2020/lib/components/tables/table/paginator/paginator.component.mjs +40 -0
- package/esm2020/lib/components/tables/table/select-cell-renderer/select-cell-renderer.component.mjs +26 -0
- package/esm2020/lib/components/tables/table/select-header-cell-renderer/select-header-cell-renderer.component.mjs +31 -0
- package/esm2020/lib/components/tables/table/table-cell-renderer/table-cell-renderer.component.mjs +93 -0
- package/esm2020/lib/components/tables/table/table-header-cell-renderer/table-header-cell-renderer.component.mjs +32 -0
- package/{esm2015/lib/components/tables/table/table-row-menu/table-row-menu.component.js → esm2020/lib/components/tables/table/table-row-menu/table-row-menu.component.mjs} +5 -5
- package/esm2020/lib/components/tables/table/table.component.mjs +95 -0
- package/esm2020/lib/components/tables/tree-table/decorated-tree-node.mjs +171 -0
- package/esm2020/lib/components/tables/tree-table/tree-inheritance-icon/tree-inheritance-icon.component.mjs +72 -0
- package/esm2020/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.mjs +91 -0
- package/esm2020/lib/components/tables/tree-table/tree-table-component.mjs +95 -0
- package/{esm2015/lib/components/text/markdown/markdown.component.js → esm2020/lib/components/text/markdown/markdown.component.mjs} +5 -9
- package/{esm2015/lib/components/vertical-focus-container/vertical-focus-container.component.js → esm2020/lib/components/vertical-focus-container/vertical-focus-container.component.mjs} +6 -11
- package/{esm2015/lib/directives/command.directive.js → esm2020/lib/directives/command.directive.mjs} +4 -4
- package/{esm2015/lib/directives/directives.module.js → esm2020/lib/directives/directives.module.mjs} +5 -5
- package/{esm2015/lib/directives/focus-binding-factory.js → esm2020/lib/directives/focus-binding-factory.mjs} +4 -4
- package/{esm2015/lib/directives/focus-binding.directive.js → esm2020/lib/directives/focus-binding.directive.mjs} +4 -4
- package/{esm2015/lib/directives/highlight-text-model.directive.js → esm2020/lib/directives/highlight-text-model.directive.mjs} +4 -4
- package/{esm2015/lib/directives/highlight.pipe.js → esm2020/lib/directives/highlight.pipe.mjs} +6 -7
- package/esm2020/lib/interaction/activity.mjs +87 -0
- package/{esm2015/lib/interaction/components/abstract-confirm-dialog.component.js → esm2020/lib/interaction/components/abstract-confirm-dialog.component.mjs} +4 -4
- package/{esm2015/lib/interaction/components/abstract-dialog.component.js → esm2020/lib/interaction/components/abstract-dialog.component.mjs} +4 -4
- package/esm2020/lib/interaction/components/activity-actions/activity-actions.component.mjs +109 -0
- package/esm2020/lib/interaction/components/activity-body/activity-body.component.mjs +23 -0
- package/esm2020/lib/interaction/components/activity-container/activity-container.component.mjs +205 -0
- package/{esm2015/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.js → esm2020/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.mjs} +5 -9
- package/esm2020/lib/interaction/components/activity-title/activity-title.component.mjs +41 -0
- package/{esm2015/lib/interaction/components/activity-triggers/abstract-activity-trigger.component.js → esm2020/lib/interaction/components/activity-triggers/abstract-activity-trigger.component.mjs} +5 -6
- package/esm2020/lib/interaction/components/activity-triggers/inline-activity-trigger/inline-activity-trigger.component.mjs +24 -0
- package/esm2020/lib/interaction/components/activity-triggers/modal-activity-trigger/modal-activity-trigger.component.mjs +22 -0
- package/esm2020/lib/interaction/components/activity-triggers/popup-activity-trigger/popup-activity-trigger.component.mjs +30 -0
- package/esm2020/lib/interaction/components/add-card-activity/add-card-activity.component.mjs +91 -0
- package/esm2020/lib/interaction/components/add-item-interaction-context/add-item-interaction-context.component.mjs +73 -0
- package/esm2020/lib/interaction/components/alert-dialog/alert-dialog.component.mjs +30 -0
- package/esm2020/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.mjs +30 -0
- package/esm2020/lib/interaction/components/confirm-then-execute-dialog/confirm-then-execute-dialog.component.mjs +34 -0
- package/esm2020/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.mjs +29 -0
- package/esm2020/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.mjs +173 -0
- package/esm2020/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.mjs +91 -0
- package/esm2020/lib/interaction/components/input-activities/input-activity.mjs +103 -0
- package/{esm2015/lib/interaction/components/input-activities/select-input-activity.js → esm2020/lib/interaction/components/input-activities/select-input-activity.mjs} +6 -8
- package/{esm2015/lib/interaction/components/input-activities/string-input-activity.js → esm2020/lib/interaction/components/input-activities/string-input-activity.mjs} +4 -4
- package/{esm2015/lib/interaction/components/popup-interaction-context/popup-interaction-context.component.js → esm2020/lib/interaction/components/popup-interaction-context/popup-interaction-context.component.mjs} +5 -9
- package/{esm2015/lib/interaction/directives/interaction-context-trigger-for.directive.js → esm2020/lib/interaction/directives/interaction-context-trigger-for.directive.mjs} +4 -4
- package/{esm2015/lib/interaction/interaction.module.js → esm2020/lib/interaction/interaction.module.mjs} +5 -11
- package/{esm2015/lib/interaction/services/interaction.service.js → esm2020/lib/interaction/services/interaction.service.mjs} +4 -4
- package/esm2020/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.mjs +47 -0
- package/esm2020/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.mjs +61 -0
- package/{esm2015/lib/place/components/abstract-place-navigation.component.js → esm2020/lib/place/components/abstract-place-navigation.component.mjs} +4 -4
- package/esm2020/lib/place/components/list-place-nav/list-place-nav.component.mjs +23 -0
- package/esm2020/lib/place/components/not-authorised-notice/not-authorised-notice.component.mjs +13 -0
- package/esm2020/lib/place/components/place-outlet/place-outlet.component.mjs +256 -0
- package/esm2020/lib/place/components/side-place-navigation/side-place-navigation.component.mjs +93 -0
- package/esm2020/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.mjs +22 -0
- package/esm2020/lib/place/guards/noop-auth-guard.service.mjs +18 -0
- package/esm2020/lib/place/guards/place.guard.mjs +109 -0
- package/esm2020/lib/place/navigation/place-component-deactivation-handler.mjs +83 -0
- package/esm2020/lib/place/navigation/session/event-cleanup/wait-until-leaving-interaction-transition-cancelled.mjs +43 -0
- package/esm2020/lib/place/navigation/session/event-cleanup/wait-until-link-triggered-navigation-interaction-cancelation-type-determined.mjs +152 -0
- package/esm2020/lib/place/navigation/session/event-cleanup/wait-until-popstate-during-can-deactivate-transition-finishes.mjs +62 -0
- package/esm2020/lib/place/navigation/session/navigation-session.mjs +157 -0
- package/esm2020/lib/place/place-component.mjs +198 -0
- package/esm2020/lib/place/place-history.mjs +138 -0
- package/esm2020/lib/place/place-router.mjs +331 -0
- package/esm2020/lib/place/place.decorator.mjs +18 -0
- package/{esm2015/lib/place/place.module.js → esm2020/lib/place/place.module.mjs} +5 -6
- package/esm2020/lib/place/route/parameter-definition.mjs +123 -0
- package/esm2020/lib/place/route/visit-sanitiser.mjs +41 -0
- package/{esm2015/lib/place/url-service.js → esm2020/lib/place/url-service.mjs} +4 -4
- package/esm2020/lib/place/visit.mjs +69 -0
- package/{esm2015/lib/services/markdown/markdown.service.js → esm2020/lib/services/markdown/markdown.service.mjs} +5 -5
- package/esm2020/lib/services/markdown/pill-plugin.mjs +37 -0
- package/{esm2015/lib/services/visibility-service.js → esm2020/lib/services/visibility-service.mjs} +4 -4
- package/fesm2015/{coolon-angular-ui-powerups.js → coolon-angular-ui-powerups.mjs} +1201 -1415
- package/fesm2015/coolon-angular-ui-powerups.mjs.map +1 -0
- package/fesm2020/coolon-angular-ui-powerups.mjs +9891 -0
- package/fesm2020/coolon-angular-ui-powerups.mjs.map +1 -0
- package/package.json +37 -24
- package/schematics/activity/index.js +3 -3
- package/schematics/activity/index.js.map +1 -1
- package/schematics/aup-i18n/index.js +7 -7
- package/schematics/aup-i18n/index.js.map +1 -1
- package/schematics/bootstrap-app/index.js +9 -9
- package/schematics/bootstrap-app/index.js.map +1 -1
- package/schematics/bootstrap-app/templates/src/styles.scss.template +2 -2
- package/schematics/component/index.js +3 -3
- package/schematics/component/index.js.map +1 -1
- package/schematics/ng-add/index.js +2 -2
- package/schematics/ng-add/index.js.map +1 -1
- package/schematics/place-add/index.js +3 -3
- package/schematics/place-add/index.js.map +1 -1
- package/schematics/place-bootstrap/index.js +1 -1
- package/schematics/place-bootstrap/index.js.map +1 -1
- package/schematics/place-routes/place-builder.js +6 -6
- package/schematics/place-routes/place-builder.js.map +1 -1
- package/schematics/place-routes/place-class-scanner.js +3 -3
- package/schematics/place-routes/place-class-scanner.js.map +1 -1
- package/schematics/place-routes/place-def.js +4 -4
- package/schematics/place-routes/place-def.js.map +1 -1
- package/schematics/utils/decorators/decorated-class.js +1 -1
- package/schematics/utils/decorators/decorated-class.js.map +1 -1
- package/schematics/utils/import-def.js +3 -3
- package/schematics/utils/import-def.js.map +1 -1
- package/schematics/utils/method-scanner.js +4 -4
- package/schematics/utils/method-scanner.js.map +1 -1
- package/schematics/utils/path-helper.js +3 -3
- package/schematics/utils/path-helper.js.map +1 -1
- package/schematics/utils/source-file-scanner.js +5 -5
- package/schematics/utils/source-file-scanner.js.map +1 -1
- package/schematics/utils/source-file-utilities.js +1 -1
- package/schematics/utils/source-file-utilities.js.map +1 -1
- package/schematics/utils/template-utilities.js +4 -4
- package/schematics/utils/template-utilities.js.map +1 -1
- package/bundles/coolon-angular-ui-powerups.umd.js +0 -11847
- package/bundles/coolon-angular-ui-powerups.umd.js.map +0 -1
- package/esm2015/lib/components/busy-overlay/busy-overlay.component.js +0 -36
- package/esm2015/lib/components/cards/card-container/card-container.component.js +0 -133
- package/esm2015/lib/components/cards/card-stack/card-stack.component.js +0 -85
- package/esm2015/lib/components/commands/command/command.component.js +0 -100
- package/esm2015/lib/components/commands/command-face.js +0 -112
- package/esm2015/lib/components/commands/group/popup-menu/abstract-popup-menu.component.js +0 -89
- package/esm2015/lib/components/commands/group/popup-menu/more-menu.component.js +0 -61
- package/esm2015/lib/components/commands/group/popup-menu/popup-menu-renderer/popup-menu-renderer.component.js +0 -104
- package/esm2015/lib/components/commands/group/popup-menu/popup-menu.component.js +0 -58
- package/esm2015/lib/components/commands/group/tool-bar/tool-bar.component.js +0 -36
- package/esm2015/lib/components/forms/autocomplete-input/autocomplete-input.component.js +0 -76
- package/esm2015/lib/components/forms/checkbox-input/checkbox-input.component.js +0 -33
- package/esm2015/lib/components/forms/multiple-select-input/multiple-select-input.component.js +0 -56
- package/esm2015/lib/components/forms/number-input/number-input.component.js +0 -37
- package/esm2015/lib/components/forms/password-input/password-input.component.js +0 -28
- package/esm2015/lib/components/forms/select-input/select-input.component.js +0 -61
- package/esm2015/lib/components/forms/string-input/string-input.component.js +0 -52
- package/esm2015/lib/components/forms/text-input/text-input.component.js +0 -34
- package/esm2015/lib/components/icon/icon.component.js +0 -56
- package/esm2015/lib/components/labelled-value/labelled-value.component.js +0 -24
- package/esm2015/lib/components/loading-container/loading-container.component.js +0 -54
- package/esm2015/lib/components/noop/noop.component.js +0 -17
- package/esm2015/lib/components/scroll-container/scroll-container.component.js +0 -19
- package/esm2015/lib/components/section-header/section-header.component.js +0 -40
- package/esm2015/lib/components/tables/abstract-table-model.js +0 -188
- package/esm2015/lib/components/tables/abstract-table.component.js +0 -170
- package/esm2015/lib/components/tables/table/column-model.js +0 -389
- package/esm2015/lib/components/tables/table/column-template/column-template.directive.js +0 -36
- package/esm2015/lib/components/tables/table/default-cell-renderer/default-cell-renderer.component.js +0 -26
- package/esm2015/lib/components/tables/table/default-header-cell-renderer/default-header-cell-renderer.component.js +0 -19
- package/esm2015/lib/components/tables/table/edit-row-controls/edit-row-controls.component.js +0 -60
- package/esm2015/lib/components/tables/table/paginator/paginator.component.js +0 -44
- package/esm2015/lib/components/tables/table/select-cell-renderer/select-cell-renderer.component.js +0 -32
- package/esm2015/lib/components/tables/table/select-header-cell-renderer/select-header-cell-renderer.component.js +0 -37
- package/esm2015/lib/components/tables/table/table-cell-renderer/table-cell-renderer.component.js +0 -98
- package/esm2015/lib/components/tables/table/table-header-cell-renderer/table-header-cell-renderer.component.js +0 -36
- package/esm2015/lib/components/tables/table/table.component.js +0 -100
- package/esm2015/lib/components/tables/tree-table/decorated-tree-node.js +0 -171
- package/esm2015/lib/components/tables/tree-table/tree-inheritance-icon/tree-inheritance-icon.component.js +0 -76
- package/esm2015/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.js +0 -96
- package/esm2015/lib/components/tables/tree-table/tree-table-component.js +0 -100
- package/esm2015/lib/interaction/activity.js +0 -88
- package/esm2015/lib/interaction/components/activity-actions/activity-actions.component.js +0 -113
- package/esm2015/lib/interaction/components/activity-body/activity-body.component.js +0 -27
- package/esm2015/lib/interaction/components/activity-container/activity-container.component.js +0 -214
- package/esm2015/lib/interaction/components/activity-title/activity-title.component.js +0 -45
- package/esm2015/lib/interaction/components/activity-triggers/inline-activity-trigger/inline-activity-trigger.component.js +0 -28
- package/esm2015/lib/interaction/components/activity-triggers/modal-activity-trigger/modal-activity-trigger.component.js +0 -26
- package/esm2015/lib/interaction/components/activity-triggers/popup-activity-trigger/popup-activity-trigger.component.js +0 -34
- package/esm2015/lib/interaction/components/add-card-activity/add-card-activity.component.js +0 -95
- package/esm2015/lib/interaction/components/add-item-interaction-context/add-item-interaction-context.component.js +0 -77
- package/esm2015/lib/interaction/components/alert-dialog/alert-dialog.component.js +0 -34
- package/esm2015/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.js +0 -34
- package/esm2015/lib/interaction/components/confirm-then-execute-dialog/confirm-then-execute-dialog.component.js +0 -39
- package/esm2015/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js +0 -33
- package/esm2015/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.js +0 -176
- package/esm2015/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.js +0 -96
- package/esm2015/lib/interaction/components/input-activities/input-activity.js +0 -107
- package/esm2015/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.js +0 -41
- package/esm2015/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.js +0 -58
- package/esm2015/lib/place/components/list-place-nav/list-place-nav.component.js +0 -27
- package/esm2015/lib/place/components/not-authorised-notice/not-authorised-notice.component.js +0 -17
- package/esm2015/lib/place/components/place-outlet/place-outlet.component.js +0 -263
- package/esm2015/lib/place/components/side-place-navigation/side-place-navigation.component.js +0 -97
- package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js +0 -26
- package/esm2015/lib/place/guards/noop-auth-guard.service.js +0 -21
- package/esm2015/lib/place/guards/place.guard.js +0 -116
- package/esm2015/lib/place/navigation/place-component-deactivation-handler.js +0 -88
- package/esm2015/lib/place/navigation/session/event-cleanup/wait-until-leaving-interaction-transition-cancelled.js +0 -46
- package/esm2015/lib/place/navigation/session/event-cleanup/wait-until-link-triggered-navigation-interaction-cancelation-type-determined.js +0 -159
- package/esm2015/lib/place/navigation/session/event-cleanup/wait-until-popstate-during-can-deactivate-transition-finishes.js +0 -65
- package/esm2015/lib/place/navigation/session/navigation-session.js +0 -160
- package/esm2015/lib/place/place-component.js +0 -204
- package/esm2015/lib/place/place-history.js +0 -139
- package/esm2015/lib/place/place-router.js +0 -336
- package/esm2015/lib/place/place.decorator.js +0 -19
- package/esm2015/lib/place/route/parameter-definition.js +0 -128
- package/esm2015/lib/place/route/visit-sanitiser.js +0 -44
- package/esm2015/lib/place/visit.js +0 -69
- package/esm2015/lib/services/markdown/pill-plugin.js +0 -38
- package/fesm2015/coolon-angular-ui-powerups.js.map +0 -1
- /package/{esm2015/coolon-angular-ui-powerups.js → esm2020/coolon-angular-ui-powerups.mjs} +0 -0
- /package/{esm2015/index.js → esm2020/index.mjs} +0 -0
- /package/{esm2015/lib/animations/exports.js → esm2020/lib/animations/exports.mjs} +0 -0
- /package/{esm2015/lib/animations/slide-animations.js → esm2020/lib/animations/slide-animations.mjs} +0 -0
- /package/{esm2015/lib/components/alignment.js → esm2020/lib/components/alignment.mjs} +0 -0
- /package/{esm2015/lib/components/commands/group/command-container.js → esm2020/lib/components/commands/group/command-container.mjs} +0 -0
- /package/{esm2015/lib/components/commands/group/popup-aware.component.js → esm2020/lib/components/commands/group/popup-aware.component.mjs} +0 -0
- /package/{esm2015/lib/components/commands/group/popup-container.js → esm2020/lib/components/commands/group/popup-container.mjs} +0 -0
- /package/{esm2015/lib/components/exports.js → esm2020/lib/components/exports.mjs} +0 -0
- /package/{esm2015/lib/components/tables/column-list-model.js → esm2020/lib/components/tables/column-list-model.mjs} +0 -0
- /package/{esm2015/lib/components/tables/edit-session.js → esm2020/lib/components/tables/edit-session.mjs} +0 -0
- /package/{esm2015/lib/components/tables/table/cell-editors.js → esm2020/lib/components/tables/table/cell-editors.mjs} +0 -0
- /package/{esm2015/lib/components/tables/table/cell-renderer.js → esm2020/lib/components/tables/table/cell-renderer.mjs} +0 -0
- /package/{esm2015/lib/components/tables/table/column-text-properties.js → esm2020/lib/components/tables/table/column-text-properties.mjs} +0 -0
- /package/{esm2015/lib/components/tables/table/mutable-cell-renderer.js → esm2020/lib/components/tables/table/mutable-cell-renderer.mjs} +0 -0
- /package/{esm2015/lib/components/tables/table/table-def.js → esm2020/lib/components/tables/table/table-def.mjs} +0 -0
- /package/{esm2015/lib/components/tables/table/table-model.js → esm2020/lib/components/tables/table/table-model.mjs} +0 -0
- /package/{esm2015/lib/components/tables/table/text-search-predicate.js → esm2020/lib/components/tables/table/text-search-predicate.mjs} +0 -0
- /package/{esm2015/lib/components/tables/tree-table/flattened-tree-list-model.js → esm2020/lib/components/tables/tree-table/flattened-tree-list-model.mjs} +0 -0
- /package/{esm2015/lib/components/tables/tree-table/tree-expansion-model.js → esm2020/lib/components/tables/tree-table/tree-expansion-model.mjs} +0 -0
- /package/{esm2015/lib/components/tables/tree-table/tree-label-column-model.js → esm2020/lib/components/tables/tree-table/tree-label-column-model.mjs} +0 -0
- /package/{esm2015/lib/components/tables/tree-table/tree-table-model.js → esm2020/lib/components/tables/tree-table/tree-table-model.mjs} +0 -0
- /package/{esm2015/lib/components/track-by.js → esm2020/lib/components/track-by.mjs} +0 -0
- /package/{esm2015/lib/components/types/bounds.class.js → esm2020/lib/components/types/bounds.class.mjs} +0 -0
- /package/{esm2015/lib/components/types/dimension.class.js → esm2020/lib/components/types/dimension.class.mjs} +0 -0
- /package/{esm2015/lib/components/types/point.class.js → esm2020/lib/components/types/point.class.mjs} +0 -0
- /package/{esm2015/lib/directives/exports.js → esm2020/lib/directives/exports.mjs} +0 -0
- /package/{esm2015/lib/directives/focus-binding.js → esm2020/lib/directives/focus-binding.mjs} +0 -0
- /package/{esm2015/lib/interaction/abstract-interaction-context.js → esm2020/lib/interaction/abstract-interaction-context.mjs} +0 -0
- /package/{esm2015/lib/interaction/activity-ref.js → esm2020/lib/interaction/activity-ref.mjs} +0 -0
- /package/{esm2015/lib/interaction/alert.js → esm2020/lib/interaction/alert.mjs} +0 -0
- /package/{esm2015/lib/interaction/components/editors/edit-context.js → esm2020/lib/interaction/components/editors/edit-context.mjs} +0 -0
- /package/{esm2015/lib/interaction/components/editors/inline-string-editor/inline-editor-model.js → esm2020/lib/interaction/components/editors/inline-string-editor/inline-editor-model.mjs} +0 -0
- /package/{esm2015/lib/interaction/confirm.js → esm2020/lib/interaction/confirm.mjs} +0 -0
- /package/{esm2015/lib/interaction/exports.js → esm2020/lib/interaction/exports.mjs} +0 -0
- /package/{esm2015/lib/interaction/in-place-interaction-context.js → esm2020/lib/interaction/in-place-interaction-context.mjs} +0 -0
- /package/{esm2015/lib/interaction/interaction-context.js → esm2020/lib/interaction/interaction-context.mjs} +0 -0
- /package/{esm2015/lib/interaction/route-synchronisation-adapter.js → esm2020/lib/interaction/route-synchronisation-adapter.mjs} +0 -0
- /package/{esm2015/lib/interaction/services/interaction-service-routing-adapter.js → esm2020/lib/interaction/services/interaction-service-routing-adapter.mjs} +0 -0
- /package/{esm2015/lib/interaction/services/modal-interaction-context.factory.js → esm2020/lib/interaction/services/modal-interaction-context.factory.mjs} +0 -0
- /package/{esm2015/lib/place/components/place-outlet/route-animations.js → esm2020/lib/place/components/place-outlet/route-animations.mjs} +0 -0
- /package/{esm2015/lib/place/exports.js → esm2020/lib/place/exports.mjs} +0 -0
- /package/{esm2015/lib/place/guards/consolidated-param-map.js → esm2020/lib/place/guards/consolidated-param-map.mjs} +0 -0
- /package/{esm2015/lib/place/nav-item.js → esm2020/lib/place/nav-item.mjs} +0 -0
- /package/{esm2015/lib/place/navigation/session/abstract-pop-state-navigation.js → esm2020/lib/place/navigation/session/abstract-pop-state-navigation.mjs} +0 -0
- /package/{esm2015/lib/place/navigation/session/event-cleanup/event-clean-up-session.js → esm2020/lib/place/navigation/session/event-cleanup/event-clean-up-session.mjs} +0 -0
- /package/{esm2015/lib/place/navigation/session/interactions/navigating-during-interaction.js → esm2020/lib/place/navigation/session/interactions/navigating-during-interaction.mjs} +0 -0
- /package/{esm2015/lib/place/navigation/session/interactions/pop-state-during-interaction-navigation.js → esm2020/lib/place/navigation/session/interactions/pop-state-during-interaction-navigation.mjs} +0 -0
- /package/{esm2015/lib/place/navigation/session/interactions/remove-last-interaction-from-url-navigation-session.js → esm2020/lib/place/navigation/session/interactions/remove-last-interaction-from-url-navigation-session.mjs} +0 -0
- /package/{esm2015/lib/place/navigation/session/interactions/synchronise-interaction-context-ids-with-route.js → esm2020/lib/place/navigation/session/interactions/synchronise-interaction-context-ids-with-route.mjs} +0 -0
- /package/{esm2015/lib/place/navigation/session/navigating.js → esm2020/lib/place/navigation/session/navigating.mjs} +0 -0
- /package/{esm2015/lib/place/navigation/session/navigation-context.js → esm2020/lib/place/navigation/session/navigation-context.mjs} +0 -0
- /package/{esm2015/lib/place/navigation/session/pop-state-navigation.js → esm2020/lib/place/navigation/session/pop-state-navigation.mjs} +0 -0
- /package/{esm2015/lib/place/place-access-guard.js → esm2020/lib/place/place-access-guard.mjs} +0 -0
- /package/{esm2015/lib/place/place-config.js → esm2020/lib/place/place-config.mjs} +0 -0
- /package/{esm2015/lib/place/place-definition.js → esm2020/lib/place/place-definition.mjs} +0 -0
- /package/{esm2015/lib/place/route/formatter.js → esm2020/lib/place/route/formatter.mjs} +0 -0
- /package/{esm2015/lib/place/route/json-types.js → esm2020/lib/place/route/json-types.mjs} +0 -0
- /package/{esm2015/lib/place/route/parameter-decorators.js → esm2020/lib/place/route/parameter-decorators.mjs} +0 -0
- /package/{esm2015/lib/place/route/parameter-sanitiser.js → esm2020/lib/place/route/parameter-sanitiser.mjs} +0 -0
- /package/{esm2015/lib/place/route/parameter-snapshot.js → esm2020/lib/place/route/parameter-snapshot.mjs} +0 -0
- /package/{esm2015/lib/place/url-snapshot.js → esm2020/lib/place/url-snapshot.mjs} +0 -0
- /package/{esm2015/lib/services/exports.js → esm2020/lib/services/exports.mjs} +0 -0
- /package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
package/esm2015/lib/place/components/side-place-navigation/side-place-navigation.component.js
DELETED
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
import { __decorate, __metadata } from "tslib";
|
|
2
|
-
import { Component, ContentChild, HostBinding, Input, TemplateRef } from "@angular/core";
|
|
3
|
-
import { MutableValueModel, StoreInValueModel, TrackExternal } from "@coolon/pectin";
|
|
4
|
-
import { PlaceRouter } from '../../place-router';
|
|
5
|
-
import { AbstractPlaceNavigationComponent } from '../abstract-place-navigation.component';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "../../place-router";
|
|
8
|
-
import * as i2 from "@angular/material/list";
|
|
9
|
-
import * as i3 from "../../../components/icon/icon.component";
|
|
10
|
-
import * as i4 from "@angular/common";
|
|
11
|
-
import * as i5 from "../../../directives/command.directive";
|
|
12
|
-
import * as i6 from "@angular/material/tooltip";
|
|
13
|
-
/**
|
|
14
|
-
* @example
|
|
15
|
-
* // Usage
|
|
16
|
-
* <aup-vertical-place-navigation [places]="placeConstructorArray"
|
|
17
|
-
* [placeOutlet]="placeOutletComponent">
|
|
18
|
-
* </aup-vertical-place-navigation>
|
|
19
|
-
* <aup-place-outlet #placeOutletComponent></aup-place-outlet>
|
|
20
|
-
*
|
|
21
|
-
* // CSS overrides:
|
|
22
|
-
* aup-side-place-navigation {
|
|
23
|
-
* --nav-width: 56px
|
|
24
|
-
* --nav-expanded-width: 235px
|
|
25
|
-
* --nav-item-height: var(--nav-width)
|
|
26
|
-
* --nav-background-color: #555;
|
|
27
|
-
* --nav-color: rgba(255, 255, 255, 0.9);
|
|
28
|
-
* }
|
|
29
|
-
*
|
|
30
|
-
* // Content Templates:
|
|
31
|
-
* #navEndTemplate
|
|
32
|
-
* <ng-template #navEndTemplate>
|
|
33
|
-
* <a mat-list-item (click)="logout()" matTooltip="Logout">
|
|
34
|
-
* <mat-icon>exit_to_app</mat-icon>
|
|
35
|
-
* <span *ngIf="sideNav.expanded">Logout</span>
|
|
36
|
-
* </a>
|
|
37
|
-
* </nav-template>
|
|
38
|
-
*
|
|
39
|
-
* // Place nav item in an i18n.yml
|
|
40
|
-
* places:
|
|
41
|
-
* myPlace:
|
|
42
|
-
* nav(NavItem):
|
|
43
|
-
* title: "Activities"
|
|
44
|
-
* icon: "build"
|
|
45
|
-
* tooltip: "Alerts, confirms and dialogs"
|
|
46
|
-
*
|
|
47
|
-
* // In your place
|
|
48
|
-
* (at)Place({
|
|
49
|
-
* path: 'myPlace',
|
|
50
|
-
* data: {
|
|
51
|
-
* nav: I18n.places.myPlace.nav
|
|
52
|
-
* }
|
|
53
|
-
* })
|
|
54
|
-
*/
|
|
55
|
-
export class SidePlaceNavigationComponent extends AbstractPlaceNavigationComponent {
|
|
56
|
-
constructor(router) {
|
|
57
|
-
super(router);
|
|
58
|
-
}
|
|
59
|
-
expandMenu() {
|
|
60
|
-
this.expanded = true;
|
|
61
|
-
}
|
|
62
|
-
collapseMenu() {
|
|
63
|
-
this.expanded = false;
|
|
64
|
-
}
|
|
65
|
-
toggleMenu() {
|
|
66
|
-
this.expanded = !this.expanded;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
SidePlaceNavigationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SidePlaceNavigationComponent, deps: [{ token: i1.PlaceRouter }], target: i0.ɵɵFactoryTarget.Component });
|
|
70
|
-
SidePlaceNavigationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: SidePlaceNavigationComponent, selector: "aup-side-place-navigation", inputs: { expanded$: "expanded$", expanded: "expanded" }, host: { properties: { "class.expanded": "this.expanded" } }, queries: [{ propertyName: "navEndTemplate", first: true, predicate: ["navEndTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<mat-nav-list>\n <a mat-list-item (click)=\"toggleMenu()\" class=\"home\">\n <aup-icon class=\"collapsed-only\" icon=\"mat:menu\"></aup-icon>\n <aup-icon class=\"expanded-only\" icon=\"mat:arrow_back\"></aup-icon>\n <span class=\"expanded-only\">Menu</span>\n </a>\n <a mat-list-item *ngFor=\"let item of menuItems.value; trackBy: trackByPlaceDef\"\n [pectinCommand]=\"commandFactory.create(item.place)\"\n [class.active]=\"item.active\"\n [matTooltip]=\"getNavigationFace(item.place).tooltip()\">\n <aup-icon *ngIf=\"getNavigationFace(item.place).icon()\" [icon]=\"getNavigationFace(item.place).icon()\"></aup-icon>\n <span class=\"expanded-only\">{{getNavigationFace(item.place).text()}}</span>\n </a>\n <span [style.flex]=\"1\"></span>\n <ng-container *ngIf=\"navEndTemplate\" [ngTemplateOutlet]=\"navEndTemplate\"></ng-container>\n</mat-nav-list>\n", styles: [":host{display:flex;flex-direction:column;--resolved-nav-item-width: var(--nav-width, 56px);--resolved-nav-item-height: var(--nav-item-height, var(--resolved-nav-item-width));--resolved-expanded-width: var(--nav-expanded-width, 235px);--resolved-color: var(--nav-color, rgba(255, 255, 255, .9));--resolved-background-color: var(--nav-background-color, #555);width:var(--resolved-nav-item-width);transition:width 125ms linear;background-color:var(--resolved-background-color);color:var(--resolved-color)}:host.expanded{width:var(--resolved-expanded-width);max-width:var(--resolved-expanded-width)}:host-context(.expanded) .expanded-only{max-width:100%}:host-context(.expanded) .collapsed-only{max-width:0}:host-context(.expanded) .mat-list-item aup-icon:not(.collapsed-only){margin-right:12px}:host-context(.expanded) .mat-list-item span{text-wrap:none;white-space:nowrap}.expanded-only{max-width:0;overflow:hidden}.collapsed-only{max-width:100%;overflow:hidden}mat-nav-list{flex:1;display:flex;flex-direction:column}.mat-list-item{width:var(--resolved-nav-item-width);height:var(--resolved-nav-item-height);color:inherit}.mat-list-item.active{background-color:#444}.mat-list-item.home{text-align:left}mat-icon{color:inherit}mat-icon.flip-horizontal{transform:scaleX(-1)}\n"], components: [{ type: i2.MatNavList, selector: "mat-nav-list", inputs: ["disableRipple", "disabled"], exportAs: ["matNavList"] }, { type: i2.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }, { type: i3.IconComponent, selector: "aup-icon", inputs: ["icon"] }], directives: [{ type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter"] }, { type: i6.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
|
|
71
|
-
__decorate([
|
|
72
|
-
TrackExternal(),
|
|
73
|
-
__metadata("design:type", MutableValueModel)
|
|
74
|
-
], SidePlaceNavigationComponent.prototype, "expanded$", void 0);
|
|
75
|
-
__decorate([
|
|
76
|
-
StoreInValueModel("expanded$"),
|
|
77
|
-
__metadata("design:type", Boolean)
|
|
78
|
-
], SidePlaceNavigationComponent.prototype, "expanded", void 0);
|
|
79
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: SidePlaceNavigationComponent, decorators: [{
|
|
80
|
-
type: Component,
|
|
81
|
-
args: [{
|
|
82
|
-
selector: 'aup-side-place-navigation',
|
|
83
|
-
templateUrl: './side-place-navigation.component.html',
|
|
84
|
-
styleUrls: ['./side-place-navigation.component.scss']
|
|
85
|
-
}]
|
|
86
|
-
}], ctorParameters: function () { return [{ type: i1.PlaceRouter }]; }, propDecorators: { expanded$: [{
|
|
87
|
-
type: Input
|
|
88
|
-
}], expanded: [{
|
|
89
|
-
type: Input
|
|
90
|
-
}, {
|
|
91
|
-
type: HostBinding,
|
|
92
|
-
args: ['class.expanded']
|
|
93
|
-
}], navEndTemplate: [{
|
|
94
|
-
type: ContentChild,
|
|
95
|
-
args: ['navEndTemplate']
|
|
96
|
-
}] } });
|
|
97
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1wbGFjZS1uYXZpZ2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL3BsYWNlL2NvbXBvbmVudHMvc2lkZS1wbGFjZS1uYXZpZ2F0aW9uL3NpZGUtcGxhY2UtbmF2aWdhdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9wbGFjZS9jb21wb25lbnRzL3NpZGUtcGxhY2UtbmF2aWdhdGlvbi9zaWRlLXBsYWNlLW5hdmlnYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBVSxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBRSxhQUFhLEVBQWMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDakQsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7Ozs7Ozs7O0FBRzFGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXlDRztBQU1ILE1BQU0sT0FBTyw0QkFBNkIsU0FBUSxnQ0FBZ0M7SUFjaEYsWUFBWSxNQUFtQjtRQUM3QixLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztJQUN2QixDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDakMsQ0FBQzs7MEhBNUJVLDRCQUE0Qjs4R0FBNUIsNEJBQTRCLDZUQ3REekMsdTNCQWdCQTtBRDBDRTtJQURDLGFBQWEsRUFBRTs4QkFDTCxpQkFBaUI7K0RBQVU7QUFLdEM7SUFGQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUM7OzhEQUViOzRGQVRQLDRCQUE0QjtrQkFMeEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxXQUFXLEVBQUUsd0NBQXdDO29CQUNyRCxTQUFTLEVBQUUsQ0FBQyx3Q0FBd0MsQ0FBQztpQkFDdEQ7a0dBS0MsU0FBUztzQkFGUixLQUFLO2dCQU9OLFFBQVE7c0JBSFAsS0FBSzs7c0JBRUwsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBSTdCLGNBQWM7c0JBRGIsWUFBWTt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgSG9zdEJpbmRpbmcsIEluamVjdCwgSW5wdXQsIFRlbXBsYXRlUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBNdXRhYmxlVmFsdWVNb2RlbCwgU3RvcmVJblZhbHVlTW9kZWwsIFRyYWNrRXh0ZXJuYWwsIFZhbHVlTW9kZWwgfSBmcm9tIFwiQGNvb2xvbi9wZWN0aW5cIjtcbmltcG9ydCB7IFBsYWNlUm91dGVyIH0gZnJvbSAnLi4vLi4vcGxhY2Utcm91dGVyJztcbmltcG9ydCB7IEFic3RyYWN0UGxhY2VOYXZpZ2F0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vYWJzdHJhY3QtcGxhY2UtbmF2aWdhdGlvbi5jb21wb25lbnQnO1xuXG5cbi8qKlxuICogQGV4YW1wbGVcbiAqIC8vIFVzYWdlXG4gKiA8YXVwLXZlcnRpY2FsLXBsYWNlLW5hdmlnYXRpb24gW3BsYWNlc109XCJwbGFjZUNvbnN0cnVjdG9yQXJyYXlcIlxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZU91dGxldF09XCJwbGFjZU91dGxldENvbXBvbmVudFwiPlxuICogPC9hdXAtdmVydGljYWwtcGxhY2UtbmF2aWdhdGlvbj5cbiAqIDxhdXAtcGxhY2Utb3V0bGV0ICNwbGFjZU91dGxldENvbXBvbmVudD48L2F1cC1wbGFjZS1vdXRsZXQ+XG4gKlxuICogLy8gQ1NTIG92ZXJyaWRlczpcbiAqIGF1cC1zaWRlLXBsYWNlLW5hdmlnYXRpb24ge1xuICogICAtLW5hdi13aWR0aDogNTZweFxuICogICAtLW5hdi1leHBhbmRlZC13aWR0aDogMjM1cHhcbiAqICAgLS1uYXYtaXRlbS1oZWlnaHQ6IHZhcigtLW5hdi13aWR0aClcbiAqICAgLS1uYXYtYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAqICAgLS1uYXYtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAqIH1cbiAqXG4gKiAvLyBDb250ZW50IFRlbXBsYXRlczpcbiAqICNuYXZFbmRUZW1wbGF0ZVxuICogPG5nLXRlbXBsYXRlICNuYXZFbmRUZW1wbGF0ZT5cbiAqICAgIDxhIG1hdC1saXN0LWl0ZW0gKGNsaWNrKT1cImxvZ291dCgpXCIgbWF0VG9vbHRpcD1cIkxvZ291dFwiPlxuICogICAgPG1hdC1pY29uPmV4aXRfdG9fYXBwPC9tYXQtaWNvbj5cbiAqICAgIDxzcGFuICpuZ0lmPVwic2lkZU5hdi5leHBhbmRlZFwiPkxvZ291dDwvc3Bhbj5cbiAqICAgIDwvYT5cbiAqIDwvbmF2LXRlbXBsYXRlPlxuICpcbiAqIC8vIFBsYWNlIG5hdiBpdGVtIGluIGFuIGkxOG4ueW1sXG4gKiBwbGFjZXM6XG4gKiAgIG15UGxhY2U6XG4gKiAgICAgbmF2KE5hdkl0ZW0pOlxuICogICAgICAgdGl0bGU6IFwiQWN0aXZpdGllc1wiXG4gKiAgICAgICBpY29uOiBcImJ1aWxkXCJcbiAqICAgICAgIHRvb2x0aXA6IFwiQWxlcnRzLCBjb25maXJtcyBhbmQgZGlhbG9nc1wiXG4gKlxuICogLy8gSW4geW91ciBwbGFjZVxuICogKGF0KVBsYWNlKHtcbiAqICAgcGF0aDogJ215UGxhY2UnLFxuICogICBkYXRhOiB7XG4gKiAgICAgbmF2OiBJMThuLnBsYWNlcy5teVBsYWNlLm5hdlxuICogICB9XG4gKiB9KVxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdXAtc2lkZS1wbGFjZS1uYXZpZ2F0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NpZGUtcGxhY2UtbmF2aWdhdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NpZGUtcGxhY2UtbmF2aWdhdGlvbi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFNpZGVQbGFjZU5hdmlnYXRpb25Db21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdFBsYWNlTmF2aWdhdGlvbkNvbXBvbmVudCB7XG5cbiAgQElucHV0KClcbiAgQFRyYWNrRXh0ZXJuYWwoKVxuICBleHBhbmRlZCQ6IE11dGFibGVWYWx1ZU1vZGVsPGJvb2xlYW4+O1xuXG4gIEBJbnB1dCgpXG4gIEBTdG9yZUluVmFsdWVNb2RlbChcImV4cGFuZGVkJFwiKVxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmV4cGFuZGVkJylcbiAgZXhwYW5kZWQ6IGJvb2xlYW47XG5cbiAgQENvbnRlbnRDaGlsZCgnbmF2RW5kVGVtcGxhdGUnKVxuICBuYXZFbmRUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBjb25zdHJ1Y3Rvcihyb3V0ZXI6IFBsYWNlUm91dGVyKSB7XG4gICAgc3VwZXIocm91dGVyKTtcbiAgfVxuXG4gIGV4cGFuZE1lbnUoKSB7XG4gICAgdGhpcy5leHBhbmRlZCA9IHRydWU7XG4gIH1cblxuICBjb2xsYXBzZU1lbnUoKSB7XG4gICAgdGhpcy5leHBhbmRlZCA9IGZhbHNlO1xuICB9XG5cbiAgdG9nZ2xlTWVudSgpIHtcbiAgICB0aGlzLmV4cGFuZGVkID0gIXRoaXMuZXhwYW5kZWQ7XG4gIH1cbn1cbiIsIjxtYXQtbmF2LWxpc3Q+XG4gIDxhIG1hdC1saXN0LWl0ZW0gKGNsaWNrKT1cInRvZ2dsZU1lbnUoKVwiIGNsYXNzPVwiaG9tZVwiPlxuICAgIDxhdXAtaWNvbiBjbGFzcz1cImNvbGxhcHNlZC1vbmx5XCIgaWNvbj1cIm1hdDptZW51XCI+PC9hdXAtaWNvbj5cbiAgICA8YXVwLWljb24gY2xhc3M9XCJleHBhbmRlZC1vbmx5XCIgaWNvbj1cIm1hdDphcnJvd19iYWNrXCI+PC9hdXAtaWNvbj5cbiAgICA8c3BhbiBjbGFzcz1cImV4cGFuZGVkLW9ubHlcIj5NZW51PC9zcGFuPlxuICA8L2E+XG4gIDxhIG1hdC1saXN0LWl0ZW0gKm5nRm9yPVwibGV0IGl0ZW0gb2YgbWVudUl0ZW1zLnZhbHVlOyB0cmFja0J5OiB0cmFja0J5UGxhY2VEZWZcIlxuICAgICBbcGVjdGluQ29tbWFuZF09XCJjb21tYW5kRmFjdG9yeS5jcmVhdGUoaXRlbS5wbGFjZSlcIlxuICAgICBbY2xhc3MuYWN0aXZlXT1cIml0ZW0uYWN0aXZlXCJcbiAgICAgW21hdFRvb2x0aXBdPVwiZ2V0TmF2aWdhdGlvbkZhY2UoaXRlbS5wbGFjZSkudG9vbHRpcCgpXCI+XG4gICAgPGF1cC1pY29uICpuZ0lmPVwiZ2V0TmF2aWdhdGlvbkZhY2UoaXRlbS5wbGFjZSkuaWNvbigpXCIgW2ljb25dPVwiZ2V0TmF2aWdhdGlvbkZhY2UoaXRlbS5wbGFjZSkuaWNvbigpXCI+PC9hdXAtaWNvbj5cbiAgICA8c3BhbiBjbGFzcz1cImV4cGFuZGVkLW9ubHlcIj57e2dldE5hdmlnYXRpb25GYWNlKGl0ZW0ucGxhY2UpLnRleHQoKX19PC9zcGFuPlxuICA8L2E+XG4gIDxzcGFuIFtzdHlsZS5mbGV4XT1cIjFcIj48L3NwYW4+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJuYXZFbmRUZW1wbGF0ZVwiIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm5hdkVuZFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG48L21hdC1uYXYtbGlzdD5cbiJdfQ==
|
package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import { PlaceRouter } from '../../place-router';
|
|
3
|
-
import { AbstractPlaceNavigationComponent } from '../abstract-place-navigation.component';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "../../place-router";
|
|
6
|
-
import * as i2 from "@angular/material/tabs";
|
|
7
|
-
import * as i3 from "../../../components/commands/command-face/command-face.component";
|
|
8
|
-
import * as i4 from "@angular/common";
|
|
9
|
-
import * as i5 from "../../../directives/command.directive";
|
|
10
|
-
import * as i6 from "@angular/material/tooltip";
|
|
11
|
-
export class TabbedPlaceNavigationComponent extends AbstractPlaceNavigationComponent {
|
|
12
|
-
constructor(router) {
|
|
13
|
-
super(router);
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
TabbedPlaceNavigationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: TabbedPlaceNavigationComponent, deps: [{ token: i1.PlaceRouter }], target: i0.ɵɵFactoryTarget.Component });
|
|
17
|
-
TabbedPlaceNavigationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: TabbedPlaceNavigationComponent, selector: "aup-tabbed-place-navigation", usesInheritance: true, ngImport: i0, template: "<nav mat-tab-nav-bar>\n <ng-content select=\"[nav-start]\"></ng-content>\n <a mat-tab-link *ngFor=\"let item of menuItems.value; trackBy: trackByPlaceDef\"\n [pectinCommand]=\"commandFactory.create(item.place)\"\n [active]=\"item.active\"\n [matTooltip]=\"getNavigationFace(item.place).tooltip()\">\n <aup-command-face [faces]=\"[getNavigationFace(item.place)]\"></aup-command-face>\n </a>\n <ng-content select=\"[nav-end]\"></ng-content>\n</nav>\n", styles: [":host{display:block}div.place-holder{border:1px solid green}\n"], components: [{ type: i2.MatTabNav, selector: "[mat-tab-nav-bar]", inputs: ["color"], exportAs: ["matTabNavBar", "matTabNav"] }, { type: i3.CommandFaceComponent, selector: "aup-command-face", inputs: ["faces", "face", "ignoreIcon", "ignoreText", "includeMissingIconInLayout"] }], directives: [{ type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.MatTabLink, selector: "[mat-tab-link], [matTabLink]", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matTabLink"] }, { type: i5.CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter"] }, { type: i6.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }] });
|
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: TabbedPlaceNavigationComponent, decorators: [{
|
|
19
|
-
type: Component,
|
|
20
|
-
args: [{
|
|
21
|
-
selector: 'aup-tabbed-place-navigation',
|
|
22
|
-
templateUrl: './tabbed-place-navigation.component.html',
|
|
23
|
-
styleUrls: ['./tabbed-place-navigation.component.scss']
|
|
24
|
-
}]
|
|
25
|
-
}], ctorParameters: function () { return [{ type: i1.PlaceRouter }]; } });
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiYmVkLXBsYWNlLW5hdmlnYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvcGxhY2UvY29tcG9uZW50cy90YWJiZWQtcGxhY2UtbmF2aWdhdGlvbi90YWJiZWQtcGxhY2UtbmF2aWdhdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9wbGFjZS9jb21wb25lbnRzL3RhYmJlZC1wbGFjZS1uYXZpZ2F0aW9uL3RhYmJlZC1wbGFjZS1uYXZpZ2F0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7Ozs7OztBQU8xRixNQUFNLE9BQU8sOEJBQStCLFNBQVEsZ0NBQWdDO0lBQ2xGLFlBQVksTUFBbUI7UUFDN0IsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hCLENBQUM7OzRIQUhVLDhCQUE4QjtnSEFBOUIsOEJBQThCLDBGQ1QzQyxxZEFVQTs0RkREYSw4QkFBOEI7a0JBTDFDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDZCQUE2QjtvQkFDdkMsV0FBVyxFQUFFLDBDQUEwQztvQkFDdkQsU0FBUyxFQUFFLENBQUMsMENBQTBDLENBQUM7aUJBQ3hEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQbGFjZVJvdXRlciB9IGZyb20gJy4uLy4uL3BsYWNlLXJvdXRlcic7XG5pbXBvcnQgeyBBYnN0cmFjdFBsYWNlTmF2aWdhdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uL2Fic3RyYWN0LXBsYWNlLW5hdmlnYXRpb24uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXVwLXRhYmJlZC1wbGFjZS1uYXZpZ2F0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmJlZC1wbGFjZS1uYXZpZ2F0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFiYmVkLXBsYWNlLW5hdmlnYXRpb24uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBUYWJiZWRQbGFjZU5hdmlnYXRpb25Db21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdFBsYWNlTmF2aWdhdGlvbkNvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKHJvdXRlcjogUGxhY2VSb3V0ZXIpIHtcbiAgICBzdXBlcihyb3V0ZXIpO1xuICB9XG59XG4iLCI8bmF2IG1hdC10YWItbmF2LWJhcj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW25hdi1zdGFydF1cIj48L25nLWNvbnRlbnQ+XG4gIDxhIG1hdC10YWItbGluayAqbmdGb3I9XCJsZXQgaXRlbSBvZiBtZW51SXRlbXMudmFsdWU7IHRyYWNrQnk6IHRyYWNrQnlQbGFjZURlZlwiXG4gICAgIFtwZWN0aW5Db21tYW5kXT1cImNvbW1hbmRGYWN0b3J5LmNyZWF0ZShpdGVtLnBsYWNlKVwiXG4gICAgIFthY3RpdmVdPVwiaXRlbS5hY3RpdmVcIlxuICAgICBbbWF0VG9vbHRpcF09XCJnZXROYXZpZ2F0aW9uRmFjZShpdGVtLnBsYWNlKS50b29sdGlwKClcIj5cbiAgICA8YXVwLWNvbW1hbmQtZmFjZSBbZmFjZXNdPVwiW2dldE5hdmlnYXRpb25GYWNlKGl0ZW0ucGxhY2UpXVwiPjwvYXVwLWNvbW1hbmQtZmFjZT5cbiAgPC9hPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJbbmF2LWVuZF1cIj48L25nLWNvbnRlbnQ+XG48L25hdj5cbiJdfQ==
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class NoopAuthGuard {
|
|
5
|
-
constructor() {
|
|
6
|
-
}
|
|
7
|
-
canActivate(activatedRoute, state) {
|
|
8
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
9
|
-
return true;
|
|
10
|
-
});
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
NoopAuthGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: NoopAuthGuard, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
14
|
-
NoopAuthGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: NoopAuthGuard, providedIn: 'root' });
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: NoopAuthGuard, decorators: [{
|
|
16
|
-
type: Injectable,
|
|
17
|
-
args: [{
|
|
18
|
-
providedIn: 'root'
|
|
19
|
-
}]
|
|
20
|
-
}], ctorParameters: function () { return []; } });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9vcC1hdXRoLWd1YXJkLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9wbGFjZS9ndWFyZHMvbm9vcC1hdXRoLWd1YXJkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTTNDLE1BQU0sT0FBTyxhQUFhO0lBRXhCO0lBQ0EsQ0FBQztJQUVLLFdBQVcsQ0FBQyxjQUFzQyxFQUFFLEtBQTBCOztZQUNsRixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7S0FBQTs7MkdBUFUsYUFBYTsrR0FBYixhQUFhLGNBRlosTUFBTTs0RkFFUCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIENhbkFjdGl2YXRlLCBSb3V0ZXJTdGF0ZVNuYXBzaG90LCBVcmxUcmVlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTm9vcEF1dGhHdWFyZCBpbXBsZW1lbnRzIENhbkFjdGl2YXRlIHtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgfVxuXG4gIGFzeW5jIGNhbkFjdGl2YXRlKGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCk6IFByb21pc2U8Ym9vbGVhbiB8IFVybFRyZWU+IHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuIl19
|
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
import { Injectable, Injector } from '@angular/core';
|
|
3
|
-
import { Router } from '@angular/router';
|
|
4
|
-
import { lang } from '@coolon/pectin';
|
|
5
|
-
import { InteractionService } from '../../interaction/services/interaction.service';
|
|
6
|
-
import { PlaceComponent } from '../place-component';
|
|
7
|
-
import { PlaceHistory } from '../place-history';
|
|
8
|
-
import { PlaceRouter } from '../place-router';
|
|
9
|
-
import { VisitSanitiser } from '../route/visit-sanitiser';
|
|
10
|
-
import { UrlService } from '../url-service';
|
|
11
|
-
import { UrlSnapshot } from '../url-snapshot';
|
|
12
|
-
import { Visit } from '../visit';
|
|
13
|
-
import { ConsolidatedParameterMap } from './consolidated-param-map';
|
|
14
|
-
import * as i0 from "@angular/core";
|
|
15
|
-
import * as i1 from "@angular/router";
|
|
16
|
-
import * as i2 from "../url-service";
|
|
17
|
-
import * as i3 from "../place-router";
|
|
18
|
-
import * as i4 from "../place-history";
|
|
19
|
-
import * as i5 from "../../interaction/services/interaction.service";
|
|
20
|
-
export class PlaceGuard {
|
|
21
|
-
constructor(router, urlService, placeRouter, placeHistory, interactionService, injector) {
|
|
22
|
-
this.router = router;
|
|
23
|
-
this.urlService = urlService;
|
|
24
|
-
this.placeRouter = placeRouter;
|
|
25
|
-
this.placeHistory = placeHistory;
|
|
26
|
-
this.interactionService = interactionService;
|
|
27
|
-
this.injector = injector;
|
|
28
|
-
}
|
|
29
|
-
// @Trace()
|
|
30
|
-
canActivate(activatedRoute, state) {
|
|
31
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
32
|
-
if (PlaceComponent.isPlaceComponentConstructor(activatedRoute.component)) {
|
|
33
|
-
const placeDefinition = PlaceComponent.getDefinition(activatedRoute.component);
|
|
34
|
-
if (placeDefinition.authenticate) {
|
|
35
|
-
if (!(yield this.placeRouter.accessGuard.value.isAuthenticated())) {
|
|
36
|
-
const redirectLocation = this.placeRouter.getAuthenticationFailureRedirect(activatedRoute, state);
|
|
37
|
-
const nextPlaceDef = this.getPlaceDefinition(redirectLocation);
|
|
38
|
-
if (nextPlaceDef.authenticate) {
|
|
39
|
-
lang.illegalState(`handleNotAuthenticated hook returned place ${nextPlaceDef.component.name} that requires authentication.`);
|
|
40
|
-
}
|
|
41
|
-
return this.createUrlTree(redirectLocation);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
const result = yield this.cleanInteractionState(activatedRoute, state, () => __awaiter(this, void 0, void 0, function* () {
|
|
45
|
-
const navigationSession = this.placeRouter.navigationSession;
|
|
46
|
-
// Parse our route params.
|
|
47
|
-
const params = new ConsolidatedParameterMap(activatedRoute.url, activatedRoute.paramMap);
|
|
48
|
-
// console.log("RouteParams", params)
|
|
49
|
-
const parsedParams = placeDefinition.parseRouteParams(params);
|
|
50
|
-
const initialVisit = navigationSession.getVisitFor(placeDefinition) || new Visit(placeDefinition, parsedParams);
|
|
51
|
-
const sanitiser = new VisitSanitiser(navigationSession, activatedRoute, this.router, this.placeHistory, this.injector);
|
|
52
|
-
const sanitisedVisit = yield sanitiser.sanitise(initialVisit.mergeRouteParameters(parsedParams));
|
|
53
|
-
// Save the visit with any updated parameters. We need to save it so we remember any non route parameters
|
|
54
|
-
navigationSession.storeVisit(sanitisedVisit);
|
|
55
|
-
if (initialVisit.hasRoutingChangedFrom(sanitisedVisit)) {
|
|
56
|
-
// Regenerate the url
|
|
57
|
-
const urlSnapshot = this.urlService.parseUrl(state.url).updateVisitSegments(sanitisedVisit);
|
|
58
|
-
// console.log('##### Place Guard Redirect', urlSnapshot);
|
|
59
|
-
return urlSnapshot;
|
|
60
|
-
}
|
|
61
|
-
else {
|
|
62
|
-
return true;
|
|
63
|
-
}
|
|
64
|
-
}));
|
|
65
|
-
return result instanceof UrlSnapshot ? result.urlTree : result;
|
|
66
|
-
}
|
|
67
|
-
else {
|
|
68
|
-
return lang.illegalState(`expected component to be an instance of PlaceComponent, got ${activatedRoute.component}`);
|
|
69
|
-
}
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
// @Trace()
|
|
73
|
-
canDeactivate(component, currentRoute, currentState, nextState) {
|
|
74
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
75
|
-
if (!component) {
|
|
76
|
-
// this happens when the place wasn't authorised and the associated
|
|
77
|
-
// router outlet was removed from the dom.
|
|
78
|
-
return true;
|
|
79
|
-
}
|
|
80
|
-
const currentUrl = this.urlService.parseUrl(currentState.url);
|
|
81
|
-
const nextUrl = this.urlService.parseUrl(nextState.url);
|
|
82
|
-
const result = yield this.placeRouter.navigationSession.canDeactivatePlace(component, currentUrl, nextUrl);
|
|
83
|
-
return result instanceof UrlSnapshot ? result.urlTree : result;
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
getPlaceDefinition(result) {
|
|
87
|
-
return result instanceof Visit ?
|
|
88
|
-
result.placeDefinition :
|
|
89
|
-
PlaceComponent.getDefinition(result);
|
|
90
|
-
}
|
|
91
|
-
createUrlTree(result) {
|
|
92
|
-
const visit = result instanceof Visit ? result : new Visit(PlaceComponent.getDefinition(result), {});
|
|
93
|
-
return this.urlService.createUrlSnapshot(visit).urlTree;
|
|
94
|
-
}
|
|
95
|
-
// @Trace()
|
|
96
|
-
cleanInteractionState(route, state, next) {
|
|
97
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
98
|
-
const url = this.urlService.parseUrl(state.url);
|
|
99
|
-
if (!this.interactionService.isActive() && url.hasInteractions()) {
|
|
100
|
-
// This happens if we reload the page or the url was pasted as the route should only be activated
|
|
101
|
-
// after the interaction context has become active.
|
|
102
|
-
return url.removeInteractionIds();
|
|
103
|
-
}
|
|
104
|
-
else {
|
|
105
|
-
return next();
|
|
106
|
-
}
|
|
107
|
-
});
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
PlaceGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: PlaceGuard, deps: [{ token: i1.Router }, { token: i2.UrlService }, { token: i3.PlaceRouter }, { token: i4.PlaceHistory }, { token: i5.InteractionService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
111
|
-
PlaceGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: PlaceGuard, providedIn: 'root' });
|
|
112
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: PlaceGuard, decorators: [{
|
|
113
|
-
type: Injectable,
|
|
114
|
-
args: [{ providedIn: 'root' }]
|
|
115
|
-
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.UrlService }, { type: i3.PlaceRouter }, { type: i4.PlaceHistory }, { type: i5.InteractionService }, { type: i0.Injector }]; } });
|
|
116
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2UuZ3VhcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9wbGFjZS9ndWFyZHMvcGxhY2UuZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFJTCxNQUFNLEVBR1AsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQWlCLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDakMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7QUFHcEUsTUFBTSxPQUFPLFVBQVU7SUFHckIsWUFBNkIsTUFBYyxFQUN2QixVQUFzQixFQUNiLFdBQXdCLEVBQ3hCLFlBQTBCLEVBQzFCLGtCQUFzQyxFQUN0QyxRQUFrQjtRQUxsQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ3ZCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDYixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLGFBQVEsR0FBUixRQUFRLENBQVU7SUFDL0MsQ0FBQztJQUVELFdBQVc7SUFDTCxXQUFXLENBQUMsY0FBc0MsRUFBRSxLQUEwQjs7WUFFbEYsSUFBSSxjQUFjLENBQUMsMkJBQTJCLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxFQUFFO2dCQUN4RSxNQUFNLGVBQWUsR0FBRyxjQUFjLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFFL0UsSUFBSSxlQUFlLENBQUMsWUFBWSxFQUFFO29CQUVoQyxJQUFJLENBQUMsQ0FBQSxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQSxFQUFFO3dCQUMvRCxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsZ0NBQWdDLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxDQUFDO3dCQUNsRyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQzt3QkFDL0QsSUFBSSxZQUFZLENBQUMsWUFBWSxFQUFFOzRCQUM3QixJQUFJLENBQUMsWUFBWSxDQUFDLDhDQUE4QyxZQUFZLENBQUMsU0FBUyxDQUFDLElBQUksZ0NBQWdDLENBQUMsQ0FBQzt5QkFDOUg7d0JBQ0QsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLENBQUM7cUJBQzdDO2lCQUNGO2dCQUVELE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLHFCQUFxQixDQUFDLGNBQWMsRUFBRSxLQUFLLEVBQUUsR0FBUyxFQUFFO29CQUNoRixNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUM7b0JBRTdELDBCQUEwQjtvQkFDMUIsTUFBTSxNQUFNLEdBQUcsSUFBSSx3QkFBd0IsQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztvQkFDekYscUNBQXFDO29CQUNyQyxNQUFNLFlBQVksR0FBRyxlQUFlLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQzlELE1BQU0sWUFBWSxHQUFHLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsSUFBSSxJQUFJLEtBQUssQ0FBQyxlQUFlLEVBQUUsWUFBWSxDQUFDLENBQUM7b0JBRWhILE1BQU0sU0FBUyxHQUFHLElBQUksY0FBYyxDQUFDLGlCQUFpQixFQUFFLGNBQWMsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO29CQUN2SCxNQUFNLGNBQWMsR0FBRyxNQUFNLFNBQVMsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLG9CQUFvQixDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7b0JBRWpHLDBHQUEwRztvQkFDMUcsaUJBQWlCLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDO29CQUM3QyxJQUFJLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjLENBQUMsRUFBRTt3QkFDdEQscUJBQXFCO3dCQUNyQixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsbUJBQW1CLENBQUMsY0FBYyxDQUFDLENBQUM7d0JBQzVGLDBEQUEwRDt3QkFDMUQsT0FBTyxXQUFXLENBQUM7cUJBQ3BCO3lCQUFNO3dCQUNMLE9BQU8sSUFBSSxDQUFDO3FCQUNiO2dCQUNILENBQUMsQ0FBQSxDQUFDLENBQUM7Z0JBQ0gsT0FBTyxNQUFNLFlBQVksV0FBVyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7YUFFaEU7aUJBQU07Z0JBQ0wsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLCtEQUErRCxjQUFjLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQzthQUNySDtRQUNILENBQUM7S0FBQTtJQUVELFdBQVc7SUFDTCxhQUFhLENBQUMsU0FBeUIsRUFBRSxZQUFvQyxFQUFFLFlBQWlDLEVBQUUsU0FBK0I7O1lBQ3JKLElBQUksQ0FBQyxTQUFTLEVBQUU7Z0JBQ2QsbUVBQW1FO2dCQUNuRSwwQ0FBMEM7Z0JBQzFDLE9BQU8sSUFBSSxDQUFDO2FBQ2I7WUFDRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDOUQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3hELE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQzNHLE9BQU8sTUFBTSxZQUFZLFdBQVcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ2pFLENBQUM7S0FBQTtJQUVPLGtCQUFrQixDQUFDLE1BQTZDO1FBQ3RFLE9BQU8sTUFBTSxZQUFZLEtBQUssQ0FBQyxDQUFDO1lBQzlCLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUN4QixjQUFjLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFTyxhQUFhLENBQUMsTUFBNkM7UUFDakUsTUFBTSxLQUFLLEdBQUcsTUFBTSxZQUFZLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3JHLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDMUQsQ0FBQztJQUVELFdBQVc7SUFDTCxxQkFBcUIsQ0FBQyxLQUE2QixFQUFFLEtBQTBCLEVBQUUsSUFBMEM7O1lBQy9ILE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNoRCxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxJQUFJLEdBQUcsQ0FBQyxlQUFlLEVBQUUsRUFBRTtnQkFDaEUsaUdBQWlHO2dCQUNqRyxtREFBbUQ7Z0JBQ25ELE9BQU8sR0FBRyxDQUFDLG9CQUFvQixFQUFFLENBQUM7YUFDbkM7aUJBQU07Z0JBQ0wsT0FBTyxJQUFJLEVBQUUsQ0FBQzthQUNmO1FBQ0gsQ0FBQztLQUFBOzt3R0E3RlUsVUFBVTs0R0FBVixVQUFVLGNBREcsTUFBTTs0RkFDbkIsVUFBVTtrQkFEdEIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcbiAgQ2FuQWN0aXZhdGUsXG4gIENhbkRlYWN0aXZhdGUsXG4gIFJvdXRlcixcbiAgUm91dGVyU3RhdGVTbmFwc2hvdCxcbiAgVXJsVHJlZVxufSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQ29uc3RydWN0YWJsZSwgbGFuZyB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IEludGVyYWN0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2ludGVyYWN0aW9uL3NlcnZpY2VzL2ludGVyYWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGxhY2VDb21wb25lbnQgfSBmcm9tICcuLi9wbGFjZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgUGxhY2VEZWZpbml0aW9uIH0gZnJvbSAnLi4vcGxhY2UtZGVmaW5pdGlvbic7XG5pbXBvcnQgeyBQbGFjZUhpc3RvcnkgfSBmcm9tICcuLi9wbGFjZS1oaXN0b3J5JztcbmltcG9ydCB7IFBsYWNlUm91dGVyIH0gZnJvbSAnLi4vcGxhY2Utcm91dGVyJztcbmltcG9ydCB7IFZpc2l0U2FuaXRpc2VyIH0gZnJvbSAnLi4vcm91dGUvdmlzaXQtc2FuaXRpc2VyJztcbmltcG9ydCB7IFVybFNlcnZpY2UgfSBmcm9tICcuLi91cmwtc2VydmljZSc7XG5pbXBvcnQgeyBVcmxTbmFwc2hvdCB9IGZyb20gJy4uL3VybC1zbmFwc2hvdCc7XG5pbXBvcnQgeyBWaXNpdCB9IGZyb20gJy4uL3Zpc2l0JztcbmltcG9ydCB7IENvbnNvbGlkYXRlZFBhcmFtZXRlck1hcCB9IGZyb20gJy4vY29uc29saWRhdGVkLXBhcmFtLW1hcCc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgUGxhY2VHdWFyZCBpbXBsZW1lbnRzIENhbkFjdGl2YXRlLCBDYW5EZWFjdGl2YXRlPFBsYWNlQ29tcG9uZW50PiB7XG5cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxuICAgICAgICAgICAgICBwcml2YXRlIHVybFNlcnZpY2U6IFVybFNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcGxhY2VSb3V0ZXI6IFBsYWNlUm91dGVyLFxuICAgICAgICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHBsYWNlSGlzdG9yeTogUGxhY2VIaXN0b3J5LFxuICAgICAgICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGludGVyYWN0aW9uU2VydmljZTogSW50ZXJhY3Rpb25TZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGluamVjdG9yOiBJbmplY3Rvcikge1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgYXN5bmMgY2FuQWN0aXZhdGUoYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90KTogUHJvbWlzZTxib29sZWFuIHwgVXJsVHJlZT4ge1xuXG4gICAgaWYgKFBsYWNlQ29tcG9uZW50LmlzUGxhY2VDb21wb25lbnRDb25zdHJ1Y3RvcihhY3RpdmF0ZWRSb3V0ZS5jb21wb25lbnQpKSB7XG4gICAgICBjb25zdCBwbGFjZURlZmluaXRpb24gPSBQbGFjZUNvbXBvbmVudC5nZXREZWZpbml0aW9uKGFjdGl2YXRlZFJvdXRlLmNvbXBvbmVudCk7XG5cbiAgICAgIGlmIChwbGFjZURlZmluaXRpb24uYXV0aGVudGljYXRlKSB7XG5cbiAgICAgICAgaWYgKCFhd2FpdCB0aGlzLnBsYWNlUm91dGVyLmFjY2Vzc0d1YXJkLnZhbHVlLmlzQXV0aGVudGljYXRlZCgpKSB7XG4gICAgICAgICAgY29uc3QgcmVkaXJlY3RMb2NhdGlvbiA9IHRoaXMucGxhY2VSb3V0ZXIuZ2V0QXV0aGVudGljYXRpb25GYWlsdXJlUmVkaXJlY3QoYWN0aXZhdGVkUm91dGUsIHN0YXRlKTtcbiAgICAgICAgICBjb25zdCBuZXh0UGxhY2VEZWYgPSB0aGlzLmdldFBsYWNlRGVmaW5pdGlvbihyZWRpcmVjdExvY2F0aW9uKTtcbiAgICAgICAgICBpZiAobmV4dFBsYWNlRGVmLmF1dGhlbnRpY2F0ZSkge1xuICAgICAgICAgICAgbGFuZy5pbGxlZ2FsU3RhdGUoYGhhbmRsZU5vdEF1dGhlbnRpY2F0ZWQgaG9vayByZXR1cm5lZCBwbGFjZSAke25leHRQbGFjZURlZi5jb21wb25lbnQubmFtZX0gdGhhdCByZXF1aXJlcyBhdXRoZW50aWNhdGlvbi5gKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlVXJsVHJlZShyZWRpcmVjdExvY2F0aW9uKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmNsZWFuSW50ZXJhY3Rpb25TdGF0ZShhY3RpdmF0ZWRSb3V0ZSwgc3RhdGUsIGFzeW5jICgpID0+IHtcbiAgICAgICAgY29uc3QgbmF2aWdhdGlvblNlc3Npb24gPSB0aGlzLnBsYWNlUm91dGVyLm5hdmlnYXRpb25TZXNzaW9uO1xuXG4gICAgICAgIC8vIFBhcnNlIG91ciByb3V0ZSBwYXJhbXMuXG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBDb25zb2xpZGF0ZWRQYXJhbWV0ZXJNYXAoYWN0aXZhdGVkUm91dGUudXJsLCBhY3RpdmF0ZWRSb3V0ZS5wYXJhbU1hcCk7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKFwiUm91dGVQYXJhbXNcIiwgcGFyYW1zKVxuICAgICAgICBjb25zdCBwYXJzZWRQYXJhbXMgPSBwbGFjZURlZmluaXRpb24ucGFyc2VSb3V0ZVBhcmFtcyhwYXJhbXMpO1xuICAgICAgICBjb25zdCBpbml0aWFsVmlzaXQgPSBuYXZpZ2F0aW9uU2Vzc2lvbi5nZXRWaXNpdEZvcihwbGFjZURlZmluaXRpb24pIHx8IG5ldyBWaXNpdChwbGFjZURlZmluaXRpb24sIHBhcnNlZFBhcmFtcyk7XG5cbiAgICAgICAgY29uc3Qgc2FuaXRpc2VyID0gbmV3IFZpc2l0U2FuaXRpc2VyKG5hdmlnYXRpb25TZXNzaW9uLCBhY3RpdmF0ZWRSb3V0ZSwgdGhpcy5yb3V0ZXIsIHRoaXMucGxhY2VIaXN0b3J5LCB0aGlzLmluamVjdG9yKTtcbiAgICAgICAgY29uc3Qgc2FuaXRpc2VkVmlzaXQgPSBhd2FpdCBzYW5pdGlzZXIuc2FuaXRpc2UoaW5pdGlhbFZpc2l0Lm1lcmdlUm91dGVQYXJhbWV0ZXJzKHBhcnNlZFBhcmFtcykpO1xuXG4gICAgICAgIC8vIFNhdmUgdGhlIHZpc2l0IHdpdGggYW55IHVwZGF0ZWQgcGFyYW1ldGVycy4gIFdlIG5lZWQgdG8gc2F2ZSBpdCBzbyB3ZSByZW1lbWJlciBhbnkgbm9uIHJvdXRlIHBhcmFtZXRlcnNcbiAgICAgICAgbmF2aWdhdGlvblNlc3Npb24uc3RvcmVWaXNpdChzYW5pdGlzZWRWaXNpdCk7XG4gICAgICAgIGlmIChpbml0aWFsVmlzaXQuaGFzUm91dGluZ0NoYW5nZWRGcm9tKHNhbml0aXNlZFZpc2l0KSkge1xuICAgICAgICAgIC8vIFJlZ2VuZXJhdGUgdGhlIHVybFxuICAgICAgICAgIGNvbnN0IHVybFNuYXBzaG90ID0gdGhpcy51cmxTZXJ2aWNlLnBhcnNlVXJsKHN0YXRlLnVybCkudXBkYXRlVmlzaXRTZWdtZW50cyhzYW5pdGlzZWRWaXNpdCk7XG4gICAgICAgICAgLy8gY29uc29sZS5sb2coJyMjIyMjIFBsYWNlIEd1YXJkIFJlZGlyZWN0JywgdXJsU25hcHNob3QpO1xuICAgICAgICAgIHJldHVybiB1cmxTbmFwc2hvdDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICByZXR1cm4gcmVzdWx0IGluc3RhbmNlb2YgVXJsU25hcHNob3QgPyByZXN1bHQudXJsVHJlZSA6IHJlc3VsdDtcblxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbGFuZy5pbGxlZ2FsU3RhdGUoYGV4cGVjdGVkIGNvbXBvbmVudCB0byBiZSBhbiBpbnN0YW5jZSBvZiBQbGFjZUNvbXBvbmVudCwgZ290ICR7YWN0aXZhdGVkUm91dGUuY29tcG9uZW50fWApO1xuICAgIH1cbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIGFzeW5jIGNhbkRlYWN0aXZhdGUoY29tcG9uZW50OiBQbGFjZUNvbXBvbmVudCwgY3VycmVudFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBjdXJyZW50U3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QsIG5leHRTdGF0ZT86IFJvdXRlclN0YXRlU25hcHNob3QpOiBQcm9taXNlPGJvb2xlYW4gfCBVcmxUcmVlPiB7XG4gICAgaWYgKCFjb21wb25lbnQpIHtcbiAgICAgIC8vIHRoaXMgaGFwcGVucyB3aGVuIHRoZSBwbGFjZSB3YXNuJ3QgYXV0aG9yaXNlZCBhbmQgdGhlIGFzc29jaWF0ZWRcbiAgICAgIC8vIHJvdXRlciBvdXRsZXQgd2FzIHJlbW92ZWQgZnJvbSB0aGUgZG9tLlxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGNvbnN0IGN1cnJlbnRVcmwgPSB0aGlzLnVybFNlcnZpY2UucGFyc2VVcmwoY3VycmVudFN0YXRlLnVybCk7XG4gICAgY29uc3QgbmV4dFVybCA9IHRoaXMudXJsU2VydmljZS5wYXJzZVVybChuZXh0U3RhdGUudXJsKTtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLnBsYWNlUm91dGVyLm5hdmlnYXRpb25TZXNzaW9uLmNhbkRlYWN0aXZhdGVQbGFjZShjb21wb25lbnQsIGN1cnJlbnRVcmwsIG5leHRVcmwpO1xuICAgIHJldHVybiByZXN1bHQgaW5zdGFuY2VvZiBVcmxTbmFwc2hvdCA/IHJlc3VsdC51cmxUcmVlIDogcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQbGFjZURlZmluaXRpb24ocmVzdWx0OiBDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50PiB8IFZpc2l0KTogUGxhY2VEZWZpbml0aW9uIHtcbiAgICByZXR1cm4gcmVzdWx0IGluc3RhbmNlb2YgVmlzaXQgP1xuICAgICAgcmVzdWx0LnBsYWNlRGVmaW5pdGlvbiA6XG4gICAgICBQbGFjZUNvbXBvbmVudC5nZXREZWZpbml0aW9uKHJlc3VsdCk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVVybFRyZWUocmVzdWx0OiBDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50PiB8IFZpc2l0KSB7XG4gICAgY29uc3QgdmlzaXQgPSByZXN1bHQgaW5zdGFuY2VvZiBWaXNpdCA/IHJlc3VsdCA6IG5ldyBWaXNpdChQbGFjZUNvbXBvbmVudC5nZXREZWZpbml0aW9uKHJlc3VsdCksIHt9KTtcbiAgICByZXR1cm4gdGhpcy51cmxTZXJ2aWNlLmNyZWF0ZVVybFNuYXBzaG90KHZpc2l0KS51cmxUcmVlO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgYXN5bmMgY2xlYW5JbnRlcmFjdGlvblN0YXRlKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCwgbmV4dDogKCkgPT4gUHJvbWlzZTxib29sZWFuIHwgVXJsU25hcHNob3Q+KTogUHJvbWlzZTxib29sZWFuIHwgVXJsU25hcHNob3Q+IHtcbiAgICBjb25zdCB1cmwgPSB0aGlzLnVybFNlcnZpY2UucGFyc2VVcmwoc3RhdGUudXJsKTtcbiAgICBpZiAoIXRoaXMuaW50ZXJhY3Rpb25TZXJ2aWNlLmlzQWN0aXZlKCkgJiYgdXJsLmhhc0ludGVyYWN0aW9ucygpKSB7XG4gICAgICAvLyBUaGlzIGhhcHBlbnMgaWYgd2UgcmVsb2FkIHRoZSBwYWdlIG9yIHRoZSB1cmwgd2FzIHBhc3RlZCBhcyB0aGUgcm91dGUgc2hvdWxkIG9ubHkgYmUgYWN0aXZhdGVkXG4gICAgICAvLyBhZnRlciB0aGUgaW50ZXJhY3Rpb24gY29udGV4dCBoYXMgYmVjb21lIGFjdGl2ZS5cbiAgICAgIHJldHVybiB1cmwucmVtb3ZlSW50ZXJhY3Rpb25JZHMoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG5leHQoKTtcbiAgICB9XG4gIH1cblxufVxuIl19
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
import { assert } from '@coolon/pectin';
|
|
3
|
-
import { isEqual } from 'lodash';
|
|
4
|
-
/**
|
|
5
|
-
* This class handles the logic around canDeactivate for a given router state transition. It's core responsibilities are:
|
|
6
|
-
* 1. Ensure we only ask the component to deactivate once on a given navigation cycle (since visit sanitisation can result in multiple round trips to through the router.)
|
|
7
|
-
* 2. Ensure only the primary place component is asked when there are nested places. The primary component is the one at the top
|
|
8
|
-
* of the routing change tree.
|
|
9
|
-
* 3. Automatically handle standard interaction scenarios on the components behalf.
|
|
10
|
-
*/
|
|
11
|
-
export class PlaceComponentDeactivationHandler {
|
|
12
|
-
constructor(component, navigationSession, isPrimaryComponent) {
|
|
13
|
-
this.component = component;
|
|
14
|
-
this.navigationSession = navigationSession;
|
|
15
|
-
this.isPrimaryComponent = isPrimaryComponent;
|
|
16
|
-
assert.notNil(component);
|
|
17
|
-
}
|
|
18
|
-
get routerInteractionAdapter() {
|
|
19
|
-
return this.navigationSession.interactionServiceAdapter;
|
|
20
|
-
}
|
|
21
|
-
get urlService() {
|
|
22
|
-
return this.navigationSession.urlService;
|
|
23
|
-
}
|
|
24
|
-
get placeDefinition() {
|
|
25
|
-
return this.component.placeDefinition;
|
|
26
|
-
}
|
|
27
|
-
// @Trace()
|
|
28
|
-
canDeactivate(currentUrl, nextState) {
|
|
29
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
30
|
-
// We'll get called multiple times if there's any parameter sanitisation so
|
|
31
|
-
// we always return true if we accepted promise from a previous cycle of the current
|
|
32
|
-
// navigation session.
|
|
33
|
-
if (!this.canDeactivatePromise) {
|
|
34
|
-
// console.log(`creating deactivate promise for -> ${this.component.constructor.name}`);
|
|
35
|
-
this.canDeactivatePromise = this.canDeactivateComponent(currentUrl, nextState);
|
|
36
|
-
}
|
|
37
|
-
return this.canDeactivatePromise;
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
// @Trace()
|
|
41
|
-
canDeactivateComponent(currentUrl, nextState) {
|
|
42
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
43
|
-
// Automatically cancel any active activities if the navigation session was triggered by the back button.
|
|
44
|
-
// If we handled more than just the pop state then it leads to the UI ignoring clicks and just cancelling things which is deeply disconcerting.
|
|
45
|
-
if (this.navigationSession.isPopState) {
|
|
46
|
-
if (this.isPrimaryComponent && this.routerInteractionAdapter.isModalActive()) {
|
|
47
|
-
const routeIds = this.urlService.getActiveInteractionIdsFromUrl(nextState.url);
|
|
48
|
-
const currentIds = this.routerInteractionAdapter.getActiveInteractionContextIds();
|
|
49
|
-
if (!isEqual(currentIds, routeIds)) { // why am I checking this????
|
|
50
|
-
yield this.routerInteractionAdapter.cancelCurrentModalInteraction();
|
|
51
|
-
return false;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
else {
|
|
55
|
-
// check if the component has an in place interaction
|
|
56
|
-
if (this.routerInteractionAdapter.isComponentInteracting(this.component)) {
|
|
57
|
-
yield this.routerInteractionAdapter.cancelComponentInteraction(this.component);
|
|
58
|
-
return false;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
// No interaction in progress, so ask the component .
|
|
63
|
-
// This may start an interaction, hence checking the interaction context before now. I.e. if the place pops up the dialog, and
|
|
64
|
-
// the user clicks back again, we'll re-enter here and go bang when the component tries to open another dialog.
|
|
65
|
-
if (this.isGoingToADifferentPlace(nextState)) {
|
|
66
|
-
const canLeave = yield this.component._canLeavePlace(this.navigationSession.canDeactivateInteractionContext);
|
|
67
|
-
// The component has an active interaction but no deactivation hook. Rather than guessing what to do
|
|
68
|
-
// we'll just cancel the navigation and print a warning.
|
|
69
|
-
if (canLeave && this.routerInteractionAdapter.isComponentInteracting(this.component)) {
|
|
70
|
-
console.warn('Route changed while component has active interaction, cancelling navigation');
|
|
71
|
-
return false;
|
|
72
|
-
}
|
|
73
|
-
return canLeave;
|
|
74
|
-
}
|
|
75
|
-
else {
|
|
76
|
-
// either an interaction or visit parameter change.
|
|
77
|
-
return yield this.component._canChangeRouteParameters(this.navigationSession.canDeactivateInteractionContext, nextState);
|
|
78
|
-
}
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
isGoingToADifferentPlace(nextState) {
|
|
82
|
-
// Because places with a route-id cover two route segments we get asked to deactivate
|
|
83
|
-
// if the route id is added or removed. So if our path is still present the url
|
|
84
|
-
// then we shouldn't deactivate the place.
|
|
85
|
-
return !nextState.includesPathOf(this.component.placeDefinition);
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2UtY29tcG9uZW50LWRlYWN0aXZhdGlvbi1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvcGxhY2UvbmF2aWdhdGlvbi9wbGFjZS1jb21wb25lbnQtZGVhY3RpdmF0aW9uLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBUyxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUvQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBTWpDOzs7Ozs7R0FNRztBQUNILE1BQU0sT0FBTyxpQ0FBaUM7SUFJNUMsWUFBcUIsU0FBeUIsRUFBVyxpQkFBb0MsRUFBVyxrQkFBMkI7UUFBOUcsY0FBUyxHQUFULFNBQVMsQ0FBZ0I7UUFBVyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQVcsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFTO1FBQ2pJLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQUksd0JBQXdCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLHlCQUF5QixDQUFDO0lBQzFELENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUM7SUFDM0MsQ0FBQztJQUVELElBQUksZUFBZTtRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxXQUFXO0lBQ0wsYUFBYSxDQUFDLFVBQXVCLEVBQUUsU0FBc0I7O1lBQ2pFLDJFQUEyRTtZQUMzRSxvRkFBb0Y7WUFDcEYsc0JBQXNCO1lBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUU7Z0JBQzlCLHdGQUF3RjtnQkFDeEYsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxVQUFVLEVBQUUsU0FBUyxDQUFDLENBQUM7YUFDaEY7WUFDRCxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztRQUNuQyxDQUFDO0tBQUE7SUFHRCxXQUFXO0lBQ0ssc0JBQXNCLENBQUMsVUFBdUIsRUFBRSxTQUFzQjs7WUFDcEYseUdBQXlHO1lBQ3pHLCtJQUErSTtZQUMvSSxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLEVBQUU7Z0JBRXJDLElBQUksSUFBSSxDQUFDLGtCQUFrQixJQUFJLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxhQUFhLEVBQUUsRUFBRTtvQkFDNUUsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyw4QkFBOEIsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQy9FLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyw4QkFBOEIsRUFBRSxDQUFDO29CQUNsRixJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsRUFBRSxFQUFFLDZCQUE2Qjt3QkFDakUsTUFBTSxJQUFJLENBQUMsd0JBQXdCLENBQUMsNkJBQTZCLEVBQUUsQ0FBQzt3QkFDcEUsT0FBTyxLQUFLLENBQUM7cUJBQ2Q7aUJBQ0Y7cUJBQU07b0JBQ0wscURBQXFEO29CQUNyRCxJQUFJLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUU7d0JBQ3hFLE1BQU0sSUFBSSxDQUFDLHdCQUF3QixDQUFDLDBCQUEwQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQzt3QkFDL0UsT0FBTyxLQUFLLENBQUM7cUJBQ2Q7aUJBQ0Y7YUFDRjtZQUVELHFEQUFxRDtZQUNyRCw4SEFBOEg7WUFDOUgsK0dBQStHO1lBQy9HLElBQUksSUFBSSxDQUFDLHdCQUF3QixDQUFDLFNBQVMsQ0FBQyxFQUFFO2dCQUM1QyxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO2dCQUM3RyxxR0FBcUc7Z0JBQ3JHLHdEQUF3RDtnQkFDeEQsSUFBSSxRQUFRLElBQUksSUFBSSxDQUFDLHdCQUF3QixDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRTtvQkFDcEYsT0FBTyxDQUFDLElBQUksQ0FBQyw2RUFBNkUsQ0FBQyxDQUFDO29CQUM1RixPQUFPLEtBQUssQ0FBQztpQkFDZDtnQkFFRCxPQUFPLFFBQVEsQ0FBQzthQUNqQjtpQkFBTTtnQkFDTCxtREFBbUQ7Z0JBQ25ELE9BQU8sTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQywrQkFBK0IsRUFBRSxTQUFTLENBQUMsQ0FBQzthQUMxSDtRQUNILENBQUM7S0FBQTtJQUVTLHdCQUF3QixDQUFDLFNBQXNCO1FBQ3ZELHFGQUFxRjtRQUNyRixnRkFBZ0Y7UUFDaEYsMENBQTBDO1FBQzFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDbkUsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJhY2UsIGFzc2VydCB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcblxuaW1wb3J0IHsgaXNFcXVhbCB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBQbGFjZUNvbXBvbmVudCB9IGZyb20gJy4uL3BsYWNlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBQbGFjZURlZmluaXRpb24gfSBmcm9tICcuLi9wbGFjZS1kZWZpbml0aW9uJztcbmltcG9ydCB7IFVybFNuYXBzaG90IH0gZnJvbSAnLi4vdXJsLXNuYXBzaG90JztcbmltcG9ydCB7IE5hdmlnYXRpb25TZXNzaW9uIH0gZnJvbSAnLi9zZXNzaW9uL25hdmlnYXRpb24tc2Vzc2lvbic7XG5cbi8qKlxuICogVGhpcyBjbGFzcyBoYW5kbGVzIHRoZSBsb2dpYyBhcm91bmQgY2FuRGVhY3RpdmF0ZSBmb3IgYSBnaXZlbiByb3V0ZXIgc3RhdGUgdHJhbnNpdGlvbi4gIEl0J3MgY29yZSByZXNwb25zaWJpbGl0aWVzIGFyZTpcbiAqIDEuIEVuc3VyZSB3ZSBvbmx5IGFzayB0aGUgY29tcG9uZW50IHRvIGRlYWN0aXZhdGUgb25jZSBvbiBhIGdpdmVuIG5hdmlnYXRpb24gY3ljbGUgKHNpbmNlIHZpc2l0IHNhbml0aXNhdGlvbiBjYW4gcmVzdWx0IGluIG11bHRpcGxlIHJvdW5kIHRyaXBzIHRvIHRocm91Z2ggdGhlIHJvdXRlci4pXG4gKiAyLiBFbnN1cmUgb25seSB0aGUgcHJpbWFyeSBwbGFjZSBjb21wb25lbnQgaXMgYXNrZWQgd2hlbiB0aGVyZSBhcmUgbmVzdGVkIHBsYWNlcy4gIFRoZSBwcmltYXJ5IGNvbXBvbmVudCBpcyB0aGUgb25lIGF0IHRoZSB0b3BcbiAqICAgIG9mIHRoZSByb3V0aW5nIGNoYW5nZSB0cmVlLlxuICogMy4gQXV0b21hdGljYWxseSBoYW5kbGUgc3RhbmRhcmQgaW50ZXJhY3Rpb24gc2NlbmFyaW9zIG9uIHRoZSBjb21wb25lbnRzIGJlaGFsZi5cbiAqL1xuZXhwb3J0IGNsYXNzIFBsYWNlQ29tcG9uZW50RGVhY3RpdmF0aW9uSGFuZGxlciB7XG5cbiAgcHJpdmF0ZSBjYW5EZWFjdGl2YXRlUHJvbWlzZTogUHJvbWlzZTxib29sZWFuIHwgVXJsU25hcHNob3Q+O1xuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGNvbXBvbmVudDogUGxhY2VDb21wb25lbnQsIHJlYWRvbmx5IG5hdmlnYXRpb25TZXNzaW9uOiBOYXZpZ2F0aW9uU2Vzc2lvbiwgcmVhZG9ubHkgaXNQcmltYXJ5Q29tcG9uZW50OiBib29sZWFuKSB7XG4gICAgYXNzZXJ0Lm5vdE5pbChjb21wb25lbnQpO1xuICB9XG5cbiAgZ2V0IHJvdXRlckludGVyYWN0aW9uQWRhcHRlcigpIHtcbiAgICByZXR1cm4gdGhpcy5uYXZpZ2F0aW9uU2Vzc2lvbi5pbnRlcmFjdGlvblNlcnZpY2VBZGFwdGVyO1xuICB9XG5cbiAgZ2V0IHVybFNlcnZpY2UoKSB7XG4gICAgcmV0dXJuIHRoaXMubmF2aWdhdGlvblNlc3Npb24udXJsU2VydmljZTtcbiAgfVxuXG4gIGdldCBwbGFjZURlZmluaXRpb24oKTpQbGFjZURlZmluaXRpb24ge1xuICAgIHJldHVybiB0aGlzLmNvbXBvbmVudC5wbGFjZURlZmluaXRpb247XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBhc3luYyBjYW5EZWFjdGl2YXRlKGN1cnJlbnRVcmw6IFVybFNuYXBzaG90LCBuZXh0U3RhdGU6IFVybFNuYXBzaG90KTogUHJvbWlzZTxib29sZWFuIHwgVXJsU25hcHNob3Q+IHtcbiAgICAvLyBXZSdsbCBnZXQgY2FsbGVkIG11bHRpcGxlIHRpbWVzIGlmIHRoZXJlJ3MgYW55IHBhcmFtZXRlciBzYW5pdGlzYXRpb24gc29cbiAgICAvLyB3ZSBhbHdheXMgcmV0dXJuIHRydWUgaWYgd2UgYWNjZXB0ZWQgcHJvbWlzZSBmcm9tIGEgcHJldmlvdXMgY3ljbGUgb2YgdGhlIGN1cnJlbnRcbiAgICAvLyBuYXZpZ2F0aW9uIHNlc3Npb24uXG4gICAgaWYgKCF0aGlzLmNhbkRlYWN0aXZhdGVQcm9taXNlKSB7XG4gICAgICAvLyBjb25zb2xlLmxvZyhgY3JlYXRpbmcgZGVhY3RpdmF0ZSBwcm9taXNlIGZvciAtPiAke3RoaXMuY29tcG9uZW50LmNvbnN0cnVjdG9yLm5hbWV9YCk7XG4gICAgICB0aGlzLmNhbkRlYWN0aXZhdGVQcm9taXNlID0gdGhpcy5jYW5EZWFjdGl2YXRlQ29tcG9uZW50KGN1cnJlbnRVcmwsIG5leHRTdGF0ZSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmNhbkRlYWN0aXZhdGVQcm9taXNlO1xuICB9XG5cblxuICAvLyBAVHJhY2UoKVxuICBwcm90ZWN0ZWQgYXN5bmMgY2FuRGVhY3RpdmF0ZUNvbXBvbmVudChjdXJyZW50VXJsOiBVcmxTbmFwc2hvdCwgbmV4dFN0YXRlOiBVcmxTbmFwc2hvdCk6IFByb21pc2U8VXJsU25hcHNob3QgfCBib29sZWFuPiB7XG4gICAgLy8gQXV0b21hdGljYWxseSBjYW5jZWwgYW55IGFjdGl2ZSBhY3Rpdml0aWVzIGlmIHRoZSBuYXZpZ2F0aW9uIHNlc3Npb24gd2FzIHRyaWdnZXJlZCBieSB0aGUgYmFjayBidXR0b24uXG4gICAgLy8gSWYgd2UgaGFuZGxlZCBtb3JlIHRoYW4ganVzdCB0aGUgcG9wIHN0YXRlIHRoZW4gaXQgbGVhZHMgdG8gdGhlIFVJIGlnbm9yaW5nIGNsaWNrcyBhbmQganVzdCBjYW5jZWxsaW5nIHRoaW5ncyB3aGljaCBpcyBkZWVwbHkgZGlzY29uY2VydGluZy5cbiAgICBpZiAodGhpcy5uYXZpZ2F0aW9uU2Vzc2lvbi5pc1BvcFN0YXRlKSB7XG5cbiAgICAgIGlmICh0aGlzLmlzUHJpbWFyeUNvbXBvbmVudCAmJiB0aGlzLnJvdXRlckludGVyYWN0aW9uQWRhcHRlci5pc01vZGFsQWN0aXZlKCkpIHtcbiAgICAgICAgY29uc3Qgcm91dGVJZHMgPSB0aGlzLnVybFNlcnZpY2UuZ2V0QWN0aXZlSW50ZXJhY3Rpb25JZHNGcm9tVXJsKG5leHRTdGF0ZS51cmwpO1xuICAgICAgICBjb25zdCBjdXJyZW50SWRzID0gdGhpcy5yb3V0ZXJJbnRlcmFjdGlvbkFkYXB0ZXIuZ2V0QWN0aXZlSW50ZXJhY3Rpb25Db250ZXh0SWRzKCk7XG4gICAgICAgIGlmICghaXNFcXVhbChjdXJyZW50SWRzLCByb3V0ZUlkcykpIHsgLy8gd2h5IGFtIEkgY2hlY2tpbmcgdGhpcz8/Pz9cbiAgICAgICAgICBhd2FpdCB0aGlzLnJvdXRlckludGVyYWN0aW9uQWRhcHRlci5jYW5jZWxDdXJyZW50TW9kYWxJbnRlcmFjdGlvbigpO1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gY2hlY2sgaWYgdGhlIGNvbXBvbmVudCBoYXMgYW4gaW4gcGxhY2UgaW50ZXJhY3Rpb25cbiAgICAgICAgaWYgKHRoaXMucm91dGVySW50ZXJhY3Rpb25BZGFwdGVyLmlzQ29tcG9uZW50SW50ZXJhY3RpbmcodGhpcy5jb21wb25lbnQpKSB7XG4gICAgICAgICAgYXdhaXQgdGhpcy5yb3V0ZXJJbnRlcmFjdGlvbkFkYXB0ZXIuY2FuY2VsQ29tcG9uZW50SW50ZXJhY3Rpb24odGhpcy5jb21wb25lbnQpO1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5vIGludGVyYWN0aW9uIGluIHByb2dyZXNzLCBzbyBhc2sgdGhlIGNvbXBvbmVudCAuXG4gICAgLy8gVGhpcyBtYXkgc3RhcnQgYW4gaW50ZXJhY3Rpb24sIGhlbmNlIGNoZWNraW5nIHRoZSBpbnRlcmFjdGlvbiBjb250ZXh0IGJlZm9yZSBub3cuIEkuZS4gaWYgdGhlIHBsYWNlIHBvcHMgdXAgdGhlIGRpYWxvZywgYW5kXG4gICAgLy8gdGhlIHVzZXIgY2xpY2tzIGJhY2sgYWdhaW4sIHdlJ2xsIHJlLWVudGVyIGhlcmUgYW5kIGdvIGJhbmcgd2hlbiB0aGUgY29tcG9uZW50IHRyaWVzIHRvIG9wZW4gYW5vdGhlciBkaWFsb2cuXG4gICAgaWYgKHRoaXMuaXNHb2luZ1RvQURpZmZlcmVudFBsYWNlKG5leHRTdGF0ZSkpIHtcbiAgICAgIGNvbnN0IGNhbkxlYXZlID0gYXdhaXQgdGhpcy5jb21wb25lbnQuX2NhbkxlYXZlUGxhY2UodGhpcy5uYXZpZ2F0aW9uU2Vzc2lvbi5jYW5EZWFjdGl2YXRlSW50ZXJhY3Rpb25Db250ZXh0KTtcbiAgICAgIC8vIFRoZSBjb21wb25lbnQgaGFzIGFuIGFjdGl2ZSBpbnRlcmFjdGlvbiBidXQgbm8gZGVhY3RpdmF0aW9uIGhvb2suICBSYXRoZXIgdGhhbiBndWVzc2luZyB3aGF0IHRvIGRvXG4gICAgICAvLyB3ZSdsbCBqdXN0IGNhbmNlbCB0aGUgbmF2aWdhdGlvbiBhbmQgcHJpbnQgYSB3YXJuaW5nLlxuICAgICAgaWYgKGNhbkxlYXZlICYmIHRoaXMucm91dGVySW50ZXJhY3Rpb25BZGFwdGVyLmlzQ29tcG9uZW50SW50ZXJhY3RpbmcodGhpcy5jb21wb25lbnQpKSB7XG4gICAgICAgIGNvbnNvbGUud2FybignUm91dGUgY2hhbmdlZCB3aGlsZSBjb21wb25lbnQgaGFzIGFjdGl2ZSBpbnRlcmFjdGlvbiwgY2FuY2VsbGluZyBuYXZpZ2F0aW9uJyk7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNhbkxlYXZlO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBlaXRoZXIgYW4gaW50ZXJhY3Rpb24gb3IgdmlzaXQgcGFyYW1ldGVyIGNoYW5nZS5cbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLmNvbXBvbmVudC5fY2FuQ2hhbmdlUm91dGVQYXJhbWV0ZXJzKHRoaXMubmF2aWdhdGlvblNlc3Npb24uY2FuRGVhY3RpdmF0ZUludGVyYWN0aW9uQ29udGV4dCwgbmV4dFN0YXRlKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgaXNHb2luZ1RvQURpZmZlcmVudFBsYWNlKG5leHRTdGF0ZTogVXJsU25hcHNob3QpIHtcbiAgICAvLyBCZWNhdXNlIHBsYWNlcyB3aXRoIGEgcm91dGUtaWQgY292ZXIgdHdvIHJvdXRlIHNlZ21lbnRzIHdlIGdldCBhc2tlZCB0byBkZWFjdGl2YXRlXG4gICAgLy8gaWYgdGhlIHJvdXRlIGlkIGlzIGFkZGVkIG9yIHJlbW92ZWQuICBTbyBpZiBvdXIgcGF0aCBpcyBzdGlsbCBwcmVzZW50IHRoZSB1cmxcbiAgICAvLyB0aGVuIHdlIHNob3VsZG4ndCBkZWFjdGl2YXRlIHRoZSBwbGFjZS5cbiAgICByZXR1cm4gIW5leHRTdGF0ZS5pbmNsdWRlc1BhdGhPZih0aGlzLmNvbXBvbmVudC5wbGFjZURlZmluaXRpb24pO1xuICB9XG59XG4iXX0=
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
import { EventCleanUpSession } from './event-clean-up-session';
|
|
3
|
-
/**
|
|
4
|
-
* The sequence of router events are:
|
|
5
|
-
* NavigationError -> url = url of navigation link
|
|
6
|
-
* NavigationEnd
|
|
7
|
-
* onPopState url = Our currentUrl sans and interaction query params
|
|
8
|
-
* NavigationCancel url == same as above.
|
|
9
|
-
*/
|
|
10
|
-
export class WaitUntilLeavingInteractionTransitionCancelled extends EventCleanUpSession {
|
|
11
|
-
constructor(context, startingUrl, locationChangeTriggerUrl) {
|
|
12
|
-
super(context, startingUrl);
|
|
13
|
-
this.locationChangeTriggerUrl = locationChangeTriggerUrl;
|
|
14
|
-
this.isPopState = false;
|
|
15
|
-
this.firstCancelHandled = false;
|
|
16
|
-
this.popStateHandled = false;
|
|
17
|
-
this.debugPropertyKeys = ['idle', 'startingUrl', 'poppedHistoryUrl', 'locationChangeTriggerUrl', 'popStateEventUrl', 'firstCancelHandled', 'popStateHandled'];
|
|
18
|
-
}
|
|
19
|
-
// @Trace()
|
|
20
|
-
onRouterStarted(event) {
|
|
21
|
-
this.ignore(event);
|
|
22
|
-
}
|
|
23
|
-
// @Trace()
|
|
24
|
-
onRouterCancelled(event) {
|
|
25
|
-
this.repairBrowserHistoryAndUrlAfterGuardCancellation(this.locationChangeTriggerUrl, this.startingUrl);
|
|
26
|
-
this.context.finishRoutingSession();
|
|
27
|
-
}
|
|
28
|
-
// @Trace()
|
|
29
|
-
onRouterEnd(event) {
|
|
30
|
-
this.ignore(event);
|
|
31
|
-
}
|
|
32
|
-
// @Trace()
|
|
33
|
-
onRouterError(event) {
|
|
34
|
-
this.ignore(event);
|
|
35
|
-
}
|
|
36
|
-
// @Trace()
|
|
37
|
-
onPopState(event) {
|
|
38
|
-
this.ignore(event);
|
|
39
|
-
}
|
|
40
|
-
canDeactivatePlace(component, currentUrl, nextUrl) {
|
|
41
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
42
|
-
return false;
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FpdC11bnRpbC1sZWF2aW5nLWludGVyYWN0aW9uLXRyYW5zaXRpb24tY2FuY2VsbGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvcGxhY2UvbmF2aWdhdGlvbi9zZXNzaW9uL2V2ZW50LWNsZWFudXAvd2FpdC11bnRpbC1sZWF2aW5nLWludGVyYWN0aW9uLXRyYW5zaXRpb24tY2FuY2VsbGVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFRQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUvRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLE9BQU8sOENBQStDLFNBQVEsbUJBQW1CO0lBUXJGLFlBQVksT0FBMEIsRUFDMUIsV0FBbUIsRUFDVix3QkFBZ0M7UUFDbkQsS0FBSyxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUMsQ0FBQztRQURULDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBUTtRQVI1QyxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQzVCLHVCQUFrQixHQUFHLEtBQUssQ0FBQztRQUMzQixvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUV4QixzQkFBaUIsR0FBRyxDQUFDLE1BQU0sRUFBRSxhQUFhLEVBQUUsa0JBQWtCLEVBQUUsMEJBQTBCLEVBQUUsa0JBQWtCLEVBQUUsb0JBQW9CLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQU16SixDQUFDO0lBRUQsV0FBVztJQUNYLGVBQWUsQ0FBQyxLQUFzQjtRQUNwQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxXQUFXO0lBQ1gsaUJBQWlCLENBQUMsS0FBdUI7UUFDdkMsSUFBSSxDQUFDLGdEQUFnRCxDQUFDLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDdkcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxXQUFXO0lBQ1gsV0FBVyxDQUFDLEtBQW9CO1FBQzlCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVELFdBQVc7SUFDWCxhQUFhLENBQUMsS0FBc0I7UUFDbEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRUQsV0FBVztJQUNYLFVBQVUsQ0FBQyxLQUFzQjtRQUMvQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFSyxrQkFBa0IsQ0FBQyxTQUF5QixFQUFFLFVBQXVCLEVBQUUsT0FBb0I7O1lBQy9GLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztLQUFBO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOYXZpZ2F0aW9uQ2FuY2VsLCBOYXZpZ2F0aW9uRW5kLCBOYXZpZ2F0aW9uRXJyb3IsIE5hdmlnYXRpb25TdGFydCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBMb2dnZXIsIFRyYWNlIH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHsgUGxhY2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9wbGFjZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgVXJsU25hcHNob3QgfSBmcm9tICcuLi8uLi8uLi91cmwtc25hcHNob3QnO1xuaW1wb3J0IHsgU3luY2hyb25pc2VJbnRlcmFjdGlvbkNvbnRleHRJZHNXaXRoUm91dGUgfSBmcm9tICcuLi9pbnRlcmFjdGlvbnMvc3luY2hyb25pc2UtaW50ZXJhY3Rpb24tY29udGV4dC1pZHMtd2l0aC1yb3V0ZSc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uQ29udGV4dCB9IGZyb20gJy4uL25hdmlnYXRpb24tY29udGV4dCc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uU2Vzc2lvbiB9IGZyb20gJy4uL25hdmlnYXRpb24tc2Vzc2lvbic7XG5pbXBvcnQgeyBsYW5nIH0gZnJvbSAnQGNvb2xvbi90eXBlc2NyaXB0LXV0aWxpdGllcyc7XG5pbXBvcnQgeyBFdmVudENsZWFuVXBTZXNzaW9uIH0gZnJvbSAnLi9ldmVudC1jbGVhbi11cC1zZXNzaW9uJztcblxuLyoqXG4gKiBUaGUgc2VxdWVuY2Ugb2Ygcm91dGVyIGV2ZW50cyBhcmU6XG4gKiBOYXZpZ2F0aW9uRXJyb3IgLT4gdXJsID0gdXJsIG9mIG5hdmlnYXRpb24gbGlua1xuICogTmF2aWdhdGlvbkVuZFxuICogb25Qb3BTdGF0ZSB1cmwgPSBPdXIgY3VycmVudFVybCBzYW5zIGFuZCBpbnRlcmFjdGlvbiBxdWVyeSBwYXJhbXNcbiAqIE5hdmlnYXRpb25DYW5jZWwgdXJsID09IHNhbWUgYXMgYWJvdmUuXG4gKi9cbmV4cG9ydCBjbGFzcyBXYWl0VW50aWxMZWF2aW5nSW50ZXJhY3Rpb25UcmFuc2l0aW9uQ2FuY2VsbGVkIGV4dGVuZHMgRXZlbnRDbGVhblVwU2Vzc2lvbiB7XG5cbiAgcmVhZG9ubHkgaXNQb3BTdGF0ZSA9IGZhbHNlO1xuICBmaXJzdENhbmNlbEhhbmRsZWQgPSBmYWxzZTtcbiAgcG9wU3RhdGVIYW5kbGVkID0gZmFsc2U7XG4gIHBvcFN0YXRlRXZlbnRVcmw6IHN0cmluZztcbiAgZGVidWdQcm9wZXJ0eUtleXMgPSBbJ2lkbGUnLCAnc3RhcnRpbmdVcmwnLCAncG9wcGVkSGlzdG9yeVVybCcsICdsb2NhdGlvbkNoYW5nZVRyaWdnZXJVcmwnLCAncG9wU3RhdGVFdmVudFVybCcsICdmaXJzdENhbmNlbEhhbmRsZWQnLCAncG9wU3RhdGVIYW5kbGVkJ107XG5cbiAgY29uc3RydWN0b3IoY29udGV4dDogTmF2aWdhdGlvbkNvbnRleHQsXG4gICAgICAgICAgICAgIHN0YXJ0aW5nVXJsOiBzdHJpbmcsXG4gICAgICAgICAgICAgIHJlYWRvbmx5IGxvY2F0aW9uQ2hhbmdlVHJpZ2dlclVybDogc3RyaW5nKSB7XG4gICAgc3VwZXIoY29udGV4dCwgc3RhcnRpbmdVcmwpO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgb25Sb3V0ZXJTdGFydGVkKGV2ZW50OiBOYXZpZ2F0aW9uU3RhcnQpOiB2b2lkIHtcbiAgICB0aGlzLmlnbm9yZShldmVudCk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBvblJvdXRlckNhbmNlbGxlZChldmVudDogTmF2aWdhdGlvbkNhbmNlbCk6IHZvaWQge1xuICAgIHRoaXMucmVwYWlyQnJvd3Nlckhpc3RvcnlBbmRVcmxBZnRlckd1YXJkQ2FuY2VsbGF0aW9uKHRoaXMubG9jYXRpb25DaGFuZ2VUcmlnZ2VyVXJsLCB0aGlzLnN0YXJ0aW5nVXJsKTtcbiAgICB0aGlzLmNvbnRleHQuZmluaXNoUm91dGluZ1Nlc3Npb24oKTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIG9uUm91dGVyRW5kKGV2ZW50OiBOYXZpZ2F0aW9uRW5kKTogdm9pZCB7XG4gICAgdGhpcy5pZ25vcmUoZXZlbnQpO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgb25Sb3V0ZXJFcnJvcihldmVudDogTmF2aWdhdGlvbkVycm9yKTogdm9pZCB7XG4gICAgdGhpcy5pZ25vcmUoZXZlbnQpO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgb25Qb3BTdGF0ZShldmVudDogTmF2aWdhdGlvblN0YXJ0KTogdm9pZCB7XG4gICAgdGhpcy5pZ25vcmUoZXZlbnQpO1xuICB9XG5cbiAgYXN5bmMgY2FuRGVhY3RpdmF0ZVBsYWNlKGNvbXBvbmVudDogUGxhY2VDb21wb25lbnQsIGN1cnJlbnRVcmw6IFVybFNuYXBzaG90LCBuZXh0VXJsOiBVcmxTbmFwc2hvdCk6IFByb21pc2U8Ym9vbGVhbiB8IFVybFNuYXBzaG90PiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iXX0=
|