@coolon/angular-ui-powerups 0.0.125 → 0.0.128
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/bundles/coolon-angular-ui-powerups.umd.js +3743 -3012
- package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
- package/bundles/coolon-angular-ui-powerups.umd.min.js +1 -1
- package/bundles/coolon-angular-ui-powerups.umd.min.js.map +1 -1
- package/coolon-angular-ui-powerups.d.ts +17 -18
- package/coolon-angular-ui-powerups.metadata.json +1 -1
- package/esm2015/coolon-angular-ui-powerups.js +16 -17
- package/esm2015/coolon-angular-ui-powerups.js.map +1 -1
- package/esm2015/coolon-angular-ui-powerups.metadata.json +1 -1
- package/esm2015/index.js +1 -1
- package/esm2015/index.js.map +1 -1
- package/esm2015/lib/angular-ui-powerups.module.ngfactory.js.map +1 -1
- package/esm2015/lib/interaction/abstract-interaction-context.js +104 -0
- package/esm2015/lib/interaction/abstract-interaction-context.js.map +1 -0
- package/esm2015/lib/interaction/abstract-interaction-context.metadata.json +1 -0
- package/esm2015/lib/interaction/activity-ref.js +123 -0
- package/esm2015/lib/interaction/activity-ref.js.map +1 -0
- package/esm2015/lib/interaction/activity-ref.metadata.json +1 -0
- package/esm2015/lib/interaction/activity.js +21 -1
- package/esm2015/lib/interaction/activity.js.map +1 -1
- package/esm2015/lib/interaction/activity.metadata.json +1 -1
- package/esm2015/lib/interaction/components/activity-container/activity-container.component.js +199 -230
- package/esm2015/lib/interaction/components/activity-container/activity-container.component.js.map +1 -1
- package/esm2015/lib/interaction/components/activity-container/activity-container.component.metadata.json +1 -1
- package/esm2015/lib/interaction/components/{activity-outlet → activity-container/activity-outlet}/activity-outlet.component.js +24 -31
- package/esm2015/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.js.map +1 -0
- package/esm2015/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.metadata.json +1 -0
- package/esm2015/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.ngfactory.js.map +1 -0
- package/esm2015/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.scss.shim.ngstyle.js.map +1 -0
- package/esm2015/lib/interaction/components/alert-dialog/alert-dialog.component.js +2 -3
- package/esm2015/lib/interaction/components/alert-dialog/alert-dialog.component.js.map +1 -1
- package/esm2015/lib/interaction/components/alert-dialog/alert-dialog.component.metadata.json +1 -1
- package/esm2015/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.js +4 -11
- package/esm2015/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.js.map +1 -1
- package/esm2015/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.metadata.json +1 -1
- package/esm2015/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js +2 -3
- package/esm2015/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js.map +1 -1
- package/esm2015/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.metadata.json +1 -1
- package/esm2015/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.js +113 -0
- package/esm2015/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.js.map +1 -0
- package/esm2015/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.metadata.json +1 -0
- package/esm2015/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.ngfactory.js.map +1 -0
- package/esm2015/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.scss.shim.ngstyle.js.map +1 -0
- package/esm2015/lib/interaction/index.js +7 -6
- package/esm2015/lib/interaction/index.js.map +1 -1
- package/esm2015/lib/interaction/index.metadata.json +1 -1
- package/esm2015/lib/interaction/interaction-context.js +12 -67
- package/esm2015/lib/interaction/interaction-context.js.map +1 -1
- package/esm2015/lib/interaction/interaction-context.metadata.json +1 -1
- package/esm2015/lib/interaction/interaction.module.js +4 -4
- package/esm2015/lib/interaction/interaction.module.js.map +1 -1
- package/esm2015/lib/interaction/interaction.module.metadata.json +1 -1
- package/esm2015/lib/interaction/interaction.module.ngfactory.js.map +1 -1
- package/esm2015/lib/interaction/route-synchronisation-adapter.js +17 -0
- package/esm2015/lib/interaction/route-synchronisation-adapter.js.map +1 -0
- package/esm2015/lib/interaction/route-synchronisation-adapter.metadata.json +1 -0
- package/esm2015/lib/interaction/services/interaction-service-routing-adapter.js +72 -0
- package/esm2015/lib/interaction/services/interaction-service-routing-adapter.js.map +1 -0
- package/esm2015/lib/interaction/services/interaction-service-routing-adapter.metadata.json +1 -0
- package/esm2015/lib/interaction/services/interaction.service.js +174 -104
- package/esm2015/lib/interaction/services/interaction.service.js.map +1 -1
- package/esm2015/lib/interaction/services/interaction.service.metadata.json +1 -1
- package/esm2015/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.js +4 -2
- package/esm2015/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.js.map +1 -1
- package/esm2015/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.metadata.json +1 -1
- package/esm2015/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.js +79 -87
- package/esm2015/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.js.map +1 -1
- package/esm2015/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.metadata.json +1 -1
- package/esm2015/lib/interaction/services/modal-interaction-context.factory.js +3 -1
- package/esm2015/lib/interaction/services/modal-interaction-context.factory.js.map +1 -1
- package/esm2015/lib/place/components/abstract-place-navigation.component.js +27 -6
- package/esm2015/lib/place/components/abstract-place-navigation.component.js.map +1 -1
- package/esm2015/lib/place/components/abstract-place-navigation.component.metadata.json +1 -1
- package/esm2015/lib/place/components/list-place-nav/list-place-nav.component.js +9 -3
- package/esm2015/lib/place/components/list-place-nav/list-place-nav.component.js.map +1 -1
- package/esm2015/lib/place/components/list-place-nav/list-place-nav.component.metadata.json +1 -1
- package/esm2015/lib/place/components/place-outlet/place-outlet.component.js +98 -110
- package/esm2015/lib/place/components/place-outlet/place-outlet.component.js.map +1 -1
- package/esm2015/lib/place/components/place-outlet/place-outlet.component.metadata.json +1 -1
- package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js +9 -3
- package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js.map +1 -1
- package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.metadata.json +1 -1
- package/esm2015/lib/place/guards/place.guard.js +14 -13
- package/esm2015/lib/place/guards/place.guard.js.map +1 -1
- package/esm2015/lib/place/guards/place.guard.metadata.json +1 -1
- package/esm2015/lib/place/index.js +15 -2
- package/esm2015/lib/place/index.js.map +1 -1
- package/esm2015/lib/place/index.metadata.json +1 -1
- package/esm2015/lib/place/{guards → navigation}/place-component-deactivation-handler.js +28 -22
- package/esm2015/lib/place/navigation/place-component-deactivation-handler.js.map +1 -0
- package/esm2015/lib/place/navigation/place-component-deactivation-handler.metadata.json +1 -0
- package/esm2015/lib/place/navigation/session/abstract-pop-state-navigation.js +37 -0
- package/esm2015/lib/place/navigation/session/abstract-pop-state-navigation.js.map +1 -0
- package/esm2015/lib/place/navigation/session/abstract-pop-state-navigation.metadata.json +1 -0
- package/esm2015/lib/place/navigation/session/event-cleanup/event-clean-up-session.js +19 -0
- package/esm2015/lib/place/navigation/session/event-cleanup/event-clean-up-session.js.map +1 -0
- package/esm2015/lib/place/navigation/session/event-cleanup/event-clean-up-session.metadata.json +1 -0
- package/esm2015/lib/place/navigation/session/event-cleanup/wait-until-leaving-interaction-transition-cancelled.js +95 -0
- package/esm2015/lib/place/navigation/session/event-cleanup/wait-until-leaving-interaction-transition-cancelled.js.map +1 -0
- package/esm2015/lib/place/navigation/session/event-cleanup/wait-until-leaving-interaction-transition-cancelled.metadata.json +1 -0
- package/esm2015/lib/place/navigation/session/event-cleanup/wait-until-link-triggered-interaction-cancelation-finishes.js +132 -0
- package/esm2015/lib/place/navigation/session/event-cleanup/wait-until-link-triggered-interaction-cancelation-finishes.js.map +1 -0
- package/esm2015/lib/place/navigation/session/event-cleanup/wait-until-link-triggered-interaction-cancelation-finishes.metadata.json +1 -0
- package/esm2015/lib/place/navigation/session/event-cleanup/wait-until-popstate-during-can-deactivate-transition-finishes.js +123 -0
- package/esm2015/lib/place/navigation/session/event-cleanup/wait-until-popstate-during-can-deactivate-transition-finishes.js.map +1 -0
- package/esm2015/lib/place/navigation/session/event-cleanup/wait-until-popstate-during-can-deactivate-transition-finishes.metadata.json +1 -0
- package/esm2015/lib/place/navigation/session/interactions/navigating-during-interaction.js +62 -0
- package/esm2015/lib/place/navigation/session/interactions/navigating-during-interaction.js.map +1 -0
- package/esm2015/lib/place/navigation/session/interactions/navigating-during-interaction.metadata.json +1 -0
- package/esm2015/lib/place/navigation/session/interactions/pop-state-during-interaction-navigation.js +48 -0
- package/esm2015/lib/place/navigation/session/interactions/pop-state-during-interaction-navigation.js.map +1 -0
- package/esm2015/lib/place/navigation/session/interactions/pop-state-during-interaction-navigation.metadata.json +1 -0
- package/esm2015/lib/place/navigation/session/interactions/remove-last-interaction-from-url-navigation-session.js +104 -0
- package/esm2015/lib/place/navigation/session/interactions/remove-last-interaction-from-url-navigation-session.js.map +1 -0
- package/esm2015/lib/place/navigation/session/interactions/remove-last-interaction-from-url-navigation-session.metadata.json +1 -0
- package/esm2015/lib/place/navigation/session/interactions/synchronise-interaction-context-ids-with-route.js +141 -0
- package/esm2015/lib/place/navigation/session/interactions/synchronise-interaction-context-ids-with-route.js.map +1 -0
- package/esm2015/lib/place/navigation/session/interactions/synchronise-interaction-context-ids-with-route.metadata.json +1 -0
- package/esm2015/lib/place/navigation/session/navigating.js +54 -0
- package/esm2015/lib/place/navigation/session/navigating.js.map +1 -0
- package/esm2015/lib/place/navigation/session/navigating.metadata.json +1 -0
- package/esm2015/lib/place/navigation/session/navigation-context.js +38 -0
- package/esm2015/lib/place/navigation/session/navigation-context.js.map +1 -0
- package/esm2015/lib/place/navigation/session/navigation-context.metadata.json +1 -0
- package/esm2015/lib/place/navigation/session/navigation-session.js +326 -0
- package/esm2015/lib/place/navigation/session/navigation-session.js.map +1 -0
- package/esm2015/lib/place/navigation/session/navigation-session.metadata.json +1 -0
- package/esm2015/lib/place/navigation/session/pop-state-navigation.js +31 -0
- package/esm2015/lib/place/navigation/session/pop-state-navigation.js.map +1 -0
- package/esm2015/lib/place/navigation/session/pop-state-navigation.metadata.json +1 -0
- package/esm2015/lib/place/place-component.js +47 -22
- package/esm2015/lib/place/place-component.js.map +1 -1
- package/esm2015/lib/place/place-component.metadata.json +1 -1
- package/esm2015/lib/place/place-router.js +314 -309
- package/esm2015/lib/place/place-router.js.map +1 -1
- package/esm2015/lib/place/place-router.metadata.json +1 -1
- package/esm2015/lib/place/place.module.js.map +1 -1
- package/esm2015/lib/place/place.module.metadata.json +1 -1
- package/esm2015/lib/place/place.module.ngfactory.js.map +1 -1
- package/esm2015/lib/place/route/parameter-decorators.js +1 -0
- package/esm2015/lib/place/route/parameter-decorators.js.map +1 -1
- package/esm2015/lib/place/route/parameter-decorators.metadata.json +1 -1
- package/esm2015/lib/place/url-service.js +126 -0
- package/esm2015/lib/place/url-service.js.map +1 -0
- package/esm2015/lib/place/url-service.metadata.json +1 -0
- package/esm2015/lib/place/url-service.ngfactory.js.map +1 -0
- package/esm2015/lib/place/url-snapshot.js +15 -1
- package/esm2015/lib/place/url-snapshot.js.map +1 -1
- package/esm2015/lib/place/url-snapshot.metadata.json +1 -1
- package/esm2015/lib/place/visit.js +10 -0
- package/esm2015/lib/place/visit.js.map +1 -1
- package/esm2015/lib/place/visit.metadata.json +1 -1
- package/esm2015/public_api.js +2 -2
- package/esm2015/public_api.js.map +1 -1
- package/esm5/coolon-angular-ui-powerups.js +16 -17
- package/esm5/coolon-angular-ui-powerups.js.map +1 -1
- package/esm5/index.js +1 -1
- package/esm5/index.js.map +1 -1
- package/esm5/lib/angular-ui-powerups.module.ngfactory.js.map +1 -1
- package/esm5/lib/interaction/abstract-interaction-context.js +146 -0
- package/esm5/lib/interaction/abstract-interaction-context.js.map +1 -0
- package/esm5/lib/interaction/activity-ref.js +153 -0
- package/esm5/lib/interaction/activity-ref.js.map +1 -0
- package/esm5/lib/interaction/activity.js +29 -1
- package/esm5/lib/interaction/activity.js.map +1 -1
- package/esm5/lib/interaction/components/activity-container/activity-container.component.js +273 -265
- package/esm5/lib/interaction/components/activity-container/activity-container.component.js.map +1 -1
- package/esm5/lib/interaction/components/{activity-outlet → activity-container/activity-outlet}/activity-outlet.component.js +25 -32
- package/esm5/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.js.map +1 -0
- package/esm5/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.ngfactory.js.map +1 -0
- package/esm5/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.scss.shim.ngstyle.js.map +1 -0
- package/esm5/lib/interaction/components/alert-dialog/alert-dialog.component.js +2 -3
- package/esm5/lib/interaction/components/alert-dialog/alert-dialog.component.js.map +1 -1
- package/esm5/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.js +4 -10
- package/esm5/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.js.map +1 -1
- package/esm5/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js +2 -3
- package/esm5/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js.map +1 -1
- package/esm5/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.js +158 -0
- package/esm5/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.js.map +1 -0
- package/esm5/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.ngfactory.js.map +1 -0
- package/esm5/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.scss.shim.ngstyle.js.map +1 -0
- package/esm5/lib/interaction/index.js +7 -6
- package/esm5/lib/interaction/index.js.map +1 -1
- package/esm5/lib/interaction/interaction-context.js +12 -106
- package/esm5/lib/interaction/interaction-context.js.map +1 -1
- package/esm5/lib/interaction/interaction.module.js +4 -4
- package/esm5/lib/interaction/interaction.module.js.map +1 -1
- package/esm5/lib/interaction/interaction.module.ngfactory.js.map +1 -1
- package/esm5/lib/interaction/route-synchronisation-adapter.js +17 -0
- package/esm5/lib/interaction/route-synchronisation-adapter.js.map +1 -0
- package/esm5/lib/interaction/services/interaction-service-routing-adapter.js +98 -0
- package/esm5/lib/interaction/services/interaction-service-routing-adapter.js.map +1 -0
- package/esm5/lib/interaction/services/interaction.service.js +243 -117
- package/esm5/lib/interaction/services/interaction.service.js.map +1 -1
- package/esm5/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.js +6 -2
- package/esm5/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.js.map +1 -1
- package/esm5/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.js +96 -107
- package/esm5/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.js.map +1 -1
- package/esm5/lib/interaction/services/modal-interaction-context.factory.js +3 -1
- package/esm5/lib/interaction/services/modal-interaction-context.factory.js.map +1 -1
- package/esm5/lib/place/components/abstract-place-navigation.component.js +24 -6
- package/esm5/lib/place/components/abstract-place-navigation.component.js.map +1 -1
- package/esm5/lib/place/components/list-place-nav/list-place-nav.component.js +6 -3
- package/esm5/lib/place/components/list-place-nav/list-place-nav.component.js.map +1 -1
- package/esm5/lib/place/components/place-outlet/place-outlet.component.js +130 -129
- package/esm5/lib/place/components/place-outlet/place-outlet.component.js.map +1 -1
- package/esm5/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js +6 -3
- package/esm5/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js.map +1 -1
- package/esm5/lib/place/guards/place.guard.js +17 -13
- package/esm5/lib/place/guards/place.guard.js.map +1 -1
- package/esm5/lib/place/index.js +15 -2
- package/esm5/lib/place/index.js.map +1 -1
- package/esm5/lib/place/{guards → navigation}/place-component-deactivation-handler.js +45 -21
- package/esm5/lib/place/navigation/place-component-deactivation-handler.js.map +1 -0
- package/esm5/lib/place/navigation/session/abstract-pop-state-navigation.js +49 -0
- package/esm5/lib/place/navigation/session/abstract-pop-state-navigation.js.map +1 -0
- package/esm5/lib/place/navigation/session/event-cleanup/event-clean-up-session.js +36 -0
- package/esm5/lib/place/navigation/session/event-cleanup/event-clean-up-session.js.map +1 -0
- package/esm5/lib/place/navigation/session/event-cleanup/wait-until-leaving-interaction-transition-cancelled.js +151 -0
- package/esm5/lib/place/navigation/session/event-cleanup/wait-until-leaving-interaction-transition-cancelled.js.map +1 -0
- package/esm5/lib/place/navigation/session/event-cleanup/wait-until-link-triggered-interaction-cancelation-finishes.js +221 -0
- package/esm5/lib/place/navigation/session/event-cleanup/wait-until-link-triggered-interaction-cancelation-finishes.js.map +1 -0
- package/esm5/lib/place/navigation/session/event-cleanup/wait-until-popstate-during-can-deactivate-transition-finishes.js +186 -0
- package/esm5/lib/place/navigation/session/event-cleanup/wait-until-popstate-during-can-deactivate-transition-finishes.js.map +1 -0
- package/esm5/lib/place/navigation/session/interactions/navigating-during-interaction.js +107 -0
- package/esm5/lib/place/navigation/session/interactions/navigating-during-interaction.js.map +1 -0
- package/esm5/lib/place/navigation/session/interactions/pop-state-during-interaction-navigation.js +77 -0
- package/esm5/lib/place/navigation/session/interactions/pop-state-during-interaction-navigation.js.map +1 -0
- package/esm5/lib/place/navigation/session/interactions/remove-last-interaction-from-url-navigation-session.js +167 -0
- package/esm5/lib/place/navigation/session/interactions/remove-last-interaction-from-url-navigation-session.js.map +1 -0
- package/esm5/lib/place/navigation/session/interactions/synchronise-interaction-context-ids-with-route.js +185 -0
- package/esm5/lib/place/navigation/session/interactions/synchronise-interaction-context-ids-with-route.js.map +1 -0
- package/esm5/lib/place/navigation/session/navigating.js +75 -0
- package/esm5/lib/place/navigation/session/navigating.js.map +1 -0
- package/esm5/lib/place/navigation/session/navigation-context.js +32 -0
- package/esm5/lib/place/navigation/session/navigation-context.js.map +1 -0
- package/esm5/lib/place/navigation/session/navigation-session.js +450 -0
- package/esm5/lib/place/navigation/session/navigation-session.js.map +1 -0
- package/esm5/lib/place/navigation/session/pop-state-navigation.js +50 -0
- package/esm5/lib/place/navigation/session/pop-state-navigation.js.map +1 -0
- package/esm5/lib/place/place-component.js +66 -25
- package/esm5/lib/place/place-component.js.map +1 -1
- package/esm5/lib/place/place-router.js +414 -401
- package/esm5/lib/place/place-router.js.map +1 -1
- package/esm5/lib/place/place.module.js.map +1 -1
- package/esm5/lib/place/place.module.ngfactory.js.map +1 -1
- package/esm5/lib/place/route/parameter-decorators.js +1 -0
- package/esm5/lib/place/route/parameter-decorators.js.map +1 -1
- package/esm5/lib/place/url-service.js +176 -0
- package/esm5/lib/place/url-service.js.map +1 -0
- package/esm5/lib/place/url-service.ngfactory.js.map +1 -0
- package/esm5/lib/place/url-snapshot.js +22 -1
- package/esm5/lib/place/url-snapshot.js.map +1 -1
- package/esm5/lib/place/visit.js +14 -0
- package/esm5/lib/place/visit.js.map +1 -1
- package/esm5/public_api.js +2 -2
- package/esm5/public_api.js.map +1 -1
- package/fesm2015/coolon-angular-ui-powerups.js +2641 -2268
- package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
- package/fesm5/coolon-angular-ui-powerups.js +3703 -2984
- package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
- package/lib/interaction/abstract-interaction-context.d.ts +24 -0
- package/lib/interaction/activity-ref.d.ts +19 -0
- package/lib/interaction/activity.d.ts +5 -1
- package/lib/interaction/components/activity-container/activity-container.component.d.ts +42 -43
- package/lib/interaction/components/{activity-outlet → activity-container/activity-outlet}/activity-outlet.component.d.ts +7 -10
- package/lib/interaction/components/alert-dialog/alert-dialog.component.d.ts +2 -2
- package/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.d.ts +2 -5
- package/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.d.ts +2 -2
- package/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.d.ts +24 -0
- package/lib/interaction/index.d.ts +6 -5
- package/lib/interaction/interaction-context.d.ts +8 -29
- package/lib/interaction/route-synchronisation-adapter.d.ts +5 -0
- package/lib/interaction/services/interaction-service-routing-adapter.d.ts +15 -0
- package/lib/interaction/services/interaction.service.d.ts +52 -24
- package/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.d.ts +2 -1
- package/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.d.ts +15 -12
- package/lib/interaction/services/modal-interaction-context.factory.d.ts +2 -1
- package/lib/place/components/abstract-place-navigation.component.d.ts +5 -3
- package/lib/place/components/list-place-nav/list-place-nav.component.d.ts +2 -1
- package/lib/place/components/place-outlet/place-outlet.component.d.ts +9 -10
- package/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.d.ts +2 -1
- package/lib/place/guards/place.guard.d.ts +4 -3
- package/lib/place/index.d.ts +15 -2
- package/lib/place/navigation/place-component-deactivation-handler.d.ts +22 -0
- package/lib/place/navigation/session/abstract-pop-state-navigation.d.ts +9 -0
- package/lib/place/navigation/session/event-cleanup/event-clean-up-session.d.ts +4 -0
- package/lib/place/navigation/session/event-cleanup/wait-until-leaving-interaction-transition-cancelled.d.ts +27 -0
- package/lib/place/navigation/session/event-cleanup/wait-until-link-triggered-interaction-cancelation-finishes.d.ts +43 -0
- package/lib/place/navigation/session/event-cleanup/wait-until-popstate-during-can-deactivate-transition-finishes.d.ts +33 -0
- package/lib/place/navigation/session/interactions/navigating-during-interaction.d.ts +15 -0
- package/lib/place/navigation/session/interactions/pop-state-during-interaction-navigation.d.ts +17 -0
- package/lib/place/navigation/session/interactions/remove-last-interaction-from-url-navigation-session.d.ts +24 -0
- package/lib/place/navigation/session/interactions/synchronise-interaction-context-ids-with-route.d.ts +15 -0
- package/lib/place/navigation/session/navigating.d.ts +11 -0
- package/lib/place/navigation/session/navigation-context.d.ts +28 -0
- package/lib/place/navigation/session/navigation-session.d.ts +51 -0
- package/lib/place/navigation/session/pop-state-navigation.d.ts +7 -0
- package/lib/place/place-component.d.ts +6 -3
- package/lib/place/place-router.d.ts +39 -35
- package/lib/place/url-service.d.ts +30 -0
- package/lib/place/url-snapshot.d.ts +3 -1
- package/lib/place/visit.d.ts +1 -0
- package/package.json +1 -1
- package/schematics/place-routes/templates/place-routes.ts.template +4 -3
- package/esm2015/lib/interaction/abstract-activity.js +0 -13
- package/esm2015/lib/interaction/abstract-activity.js.map +0 -1
- package/esm2015/lib/interaction/abstract-activity.metadata.json +0 -1
- package/esm2015/lib/interaction/components/activity-outlet/activity-outlet-context.js +0 -21
- package/esm2015/lib/interaction/components/activity-outlet/activity-outlet-context.js.map +0 -1
- package/esm2015/lib/interaction/components/activity-outlet/activity-outlet-context.metadata.json +0 -1
- package/esm2015/lib/interaction/components/activity-outlet/activity-outlet.component.js.map +0 -1
- package/esm2015/lib/interaction/components/activity-outlet/activity-outlet.component.metadata.json +0 -1
- package/esm2015/lib/interaction/components/activity-outlet/activity-outlet.component.ngfactory.js.map +0 -1
- package/esm2015/lib/interaction/components/activity-outlet/activity-outlet.component.scss.shim.ngstyle.js.map +0 -1
- package/esm2015/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.js +0 -102
- package/esm2015/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.js.map +0 -1
- package/esm2015/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.metadata.json +0 -1
- package/esm2015/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.ngfactory.js.map +0 -1
- package/esm2015/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.scss.shim.ngstyle.js.map +0 -1
- package/esm2015/lib/interaction/interaction-context-base.js +0 -171
- package/esm2015/lib/interaction/interaction-context-base.js.map +0 -1
- package/esm2015/lib/interaction/interaction-context-base.metadata.json +0 -1
- package/esm2015/lib/place/guards/navigation-state.js +0 -1118
- package/esm2015/lib/place/guards/navigation-state.js.map +0 -1
- package/esm2015/lib/place/guards/navigation-state.metadata.json +0 -1
- package/esm2015/lib/place/guards/place-component-deactivation-handler.js.map +0 -1
- package/esm2015/lib/place/guards/place-component-deactivation-handler.metadata.json +0 -1
- package/esm5/lib/interaction/abstract-activity.js +0 -30
- package/esm5/lib/interaction/abstract-activity.js.map +0 -1
- package/esm5/lib/interaction/components/activity-outlet/activity-outlet-context.js +0 -21
- package/esm5/lib/interaction/components/activity-outlet/activity-outlet-context.js.map +0 -1
- package/esm5/lib/interaction/components/activity-outlet/activity-outlet.component.js.map +0 -1
- package/esm5/lib/interaction/components/activity-outlet/activity-outlet.component.ngfactory.js.map +0 -1
- package/esm5/lib/interaction/components/activity-outlet/activity-outlet.component.scss.shim.ngstyle.js.map +0 -1
- package/esm5/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.js +0 -119
- package/esm5/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.js.map +0 -1
- package/esm5/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.ngfactory.js.map +0 -1
- package/esm5/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.scss.shim.ngstyle.js.map +0 -1
- package/esm5/lib/interaction/interaction-context-base.js +0 -228
- package/esm5/lib/interaction/interaction-context-base.js.map +0 -1
- package/esm5/lib/place/guards/navigation-state.js +0 -1491
- package/esm5/lib/place/guards/navigation-state.js.map +0 -1
- package/esm5/lib/place/guards/place-component-deactivation-handler.js.map +0 -1
- package/lib/interaction/abstract-activity.d.ts +0 -6
- package/lib/interaction/components/activity-outlet/activity-outlet-context.d.ts +0 -7
- package/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.d.ts +0 -17
- package/lib/interaction/interaction-context-base.d.ts +0 -29
- package/lib/place/guards/navigation-state.d.ts +0 -228
- package/lib/place/guards/place-component-deactivation-handler.d.ts +0 -15
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"navigation-state.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/guards/navigation-state.ts"],"names":[],"mappings":"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","sourcesContent":["import { NavigationCancel, NavigationEnd, NavigationError, NavigationStart, RouterEvent } from '@angular/router';\nimport { Dsl, GarbageCollector, lang, Logger } from '@coolon/pectin';\nimport { InteractionContext } from '../../interaction/interaction-context';\nimport { InteractionService } from '../../interaction/services/interaction.service';\nimport { PlaceComponent } from '../place-component';\nimport { PlaceDefinition } from '../place-definition';\nimport { PlaceRouter } from '../place-router';\nimport { UrlSnapshot } from '../url-snapshot';\nimport { Visit } from '../visit';\nimport { PlaceComponentDeactivationHandler } from './place-component-deactivation-handler';\n\nexport abstract class NavigationState extends GarbageCollector {\n\n private _visits = new Map<PlaceDefinition, Visit>();\n\n abstract readonly isTransitional: boolean;\n abstract readonly startingUrl: string;\n abstract readonly isPopState: boolean;\n debugPropertyKeys: string[] = [];\n\n constructor(protected readonly context: NavigationState.Context) {\n super();\n }\n\n get name(): string {\n return this.constructor.name;\n }\n\n get idle() {\n return !this.isTransitional;\n }\n\n get placeRouter(): PlaceRouter {\n return this.context.placeRouter;\n }\n\n get interactionService(): InteractionService {\n return this.context.interactionService;\n }\n\n get interactionContext(): InteractionContext {\n return null;\n }\n\n storeVisit(visit: Visit) {\n this._visits.set(visit.placeDefinition, visit);\n }\n\n getVisitFor(placeDef: PlaceDefinition) {\n return this._visits.get(placeDef);\n }\n\n onPlaceNavigationStart(visit: Visit, initialUrl: string): NavigationState {\n return this.illegalTransition('onPlaceNavigationStart');\n }\n\n onPopState(event: NavigationStart): NavigationState {\n return this.illegalTransition(event);\n }\n\n onRouterStarted(event: NavigationStart): NavigationState {\n return this.illegalTransition(event);\n }\n\n onRouterCancelled(event: NavigationCancel): NavigationState {\n return this.illegalTransition(event);\n }\n\n onRouterError(event: NavigationError): NavigationState {\n return this.illegalTransition(event);\n }\n\n onRouterEnd(event: NavigationEnd): NavigationState {\n return this.illegalTransition(event);\n }\n\n onBackClickedDuringNavigationInteraction(newUrl: string): NavigationState {\n return this.illegalTransition('onBackClickedDuringNavigationInteraction');\n }\n\n async canDeactivatePlace(component: PlaceComponent, currentUrl: UrlSnapshot, nextUrl: UrlSnapshot): Promise<boolean | UrlSnapshot> {\n return this.illegalTransition('canDeactivatePlace');\n }\n\n getVisits(): Visit[] {\n return Array.from(this._visits.values());\n }\n\n protected illegalTransition<R>(message: string | RouterEvent): R {\n return lang.illegalState(`${message.toString()} not supported by ${this.toString()}`);\n }\n\n protected currentRouterUrl(): string {\n return this.placeRouter.getCurrentRouterUrl();\n }\n\n protected createTransitionStateFor(event: NavigationStart) {\n const popstate = event.navigationTrigger === 'popstate';\n const inInteraction = this.interactionService.isActive();\n if (popstate) {\n return inInteraction ?\n new NavigationState.LeavingInteractionAfterPopStateTransition(this.context, this.currentRouterUrl(), event.url) :\n new NavigationState.PopStateTransition(this.context, this.currentRouterUrl(), event.url);\n } else {\n return inInteraction ?\n new NavigationState.StartingInteractionTransition(this.context, this.currentRouterUrl()) :\n new NavigationState.NavigationTransition(this.context, this.currentRouterUrl());\n }\n }\n\n protected createIdleState() {\n return this.interactionService.isActive() ?\n new NavigationState.IdleDuringInteraction(this.context, this.currentRouterUrl()) :\n new NavigationState.Idle(this.context);\n }\n\n\n resetBrowserLocation(url, options: {replaceCurrent: boolean} = {replaceCurrent: false}) {\n this.placeRouter.resetBrowserLocation(url, options);\n }\n\n ignore(event: RouterEvent, reason?: string): NavigationState {\n reason = reason ? ` -> ${reason}` : '';\n Logger.get(this).info(`Ignoring router event${reason}: ${event.constructor.name} -> ${event.url} :: ${this.toString()}`);\n return this;\n }\n\n toString(): string {\n return `${this.constructor.name}(${this.debugState()})`;\n }\n\n protected debugState(properties?: string[]) {\n return (properties || this.debugPropertyKeys).map(p => {\n return `${p}: ${this[p]}`;\n }).join(', ');\n }\n\n protected replaceBuggeredUrlAfterAngularRouterCancelled(url:string) {\n // Angular calls _this.resetUrlToCurrentUrlTree() on cancelling and fucks our history.\n // So this means that the top of the stack is the url we want to go back to, and not the one that was on\n // it before the cancel event fired.\n // So we need to:\n // - replace the just inserted url with the one that used to be there.\n // - push our actual url back onto the top of the stack.\n this.resetBrowserLocation(url, {replaceCurrent: true});\n }\n\n}\n\nexport namespace NavigationState {\n\n export class Context {\n constructor(\n readonly placeRouter: PlaceRouter,\n readonly interactionService: InteractionService,\n readonly notifySuccess: (success: NavigationState) => void) {\n }\n }\n\n export class Idle extends NavigationState {\n readonly isTransitional = false;\n readonly startingUrl = null;\n readonly isPopState = false;\n\n constructor(context: Context) {\n super(context);\n }\n\n onPlaceNavigationStart(visit: Visit, initialUrl: string): NavigationState {\n const navigationTransition = new NavigationTransition(this.context, initialUrl);\n navigationTransition.storeVisit(visit);\n return navigationTransition;\n }\n\n onRouterStarted(event: NavigationStart): NavigationState {\n\n // calling angularLocation.go() to clear back state can trigger router cycles to the current url if we don't ignore them\n if (event.url === this.currentRouterUrl()) {\n Logger.get(this).info(`navigation started to same url -> ${event.url}`);\n return this;\n }\n\n if (this.placeRouter.hasActiveInteractionIds(event.url)) {\n Logger.get(this).info(`navigation started with interaction outlet -> ${event.url}`);\n return new StartingInteractionTransition(this.context, event.url);\n } else {\n return this.createTransitionStateFor(event);\n }\n }\n\n onPopState(event: NavigationStart): NavigationState {\n return this.createTransitionStateFor(event);\n }\n }\n\n export abstract class AbstractNavigationTransition extends NavigationState {\n readonly isTransitional = true;\n private componentDeactivationHandlers = new Map<PlaceComponent, PlaceComponentDeactivationHandler>();\n private _interactionContext: InteractionContext;\n\n constructor(context: Context, readonly startingUrl: string) {\n super(context);\n this._interactionContext = this.interactionService._createExclusiveModalInteractionContext();\n this.onDispose(() => {\n // the interaction context can be detached during the back button cancellation state transition\n // as the transition is synchronous and activityCancellation isn't. Otherwise dispose will be\n // called before the context has been cancelled. It might be work having the interaction context\n // automatically cancel if the context is disposed so we don't have worry about detaching etc.\n if (this._interactionContext) {\n this._interactionContext.dispose(); // or do something like cancelAndDispose?\n }\n });\n }\n\n get interactionContext(): InteractionContext {\n return this._interactionContext;\n }\n\n onRouterStarted(event: NavigationStart): NavigationState {\n // active sessions can have many cancel start cycles due\n // to place guard redirects\n return this;\n }\n\n onRouterEnd(event: NavigationEnd): NavigationState {\n // navigation succeeded\n this.context.notifySuccess(this);\n return new Idle(this.context);\n }\n\n\n onBackClickedDuringNavigationInteraction(newUrl: string): NavigationState {\n Logger.get(this).info(`back button pressed during navigation session interaction promise`);\n // detach the interaction from the session so it doesn't get disposed until the activity has completed.\n const navigationInteraction = this.detachInteractionContext();\n const { when } = Dsl.disposeWith(navigationInteraction);\n // TODO: I need to make the exclusive interaction context disallow nested activities or\n // that would mess things up entirely. Or, can I do a context.abortAll().then(..)\n Logger.get(this).info('cancelling current navigation activity..');\n navigationInteraction.cancelActiveActivity().then(() => {\n navigationInteraction.dispose();\n });\n\n return this.createNavigationInteractionCancelledState(newUrl);\n }\n\n abstract createNavigationInteractionCancelledState(newUrl: string): NavigationState\n\n async canDeactivatePlace(component: PlaceComponent, currentUrl: UrlSnapshot, nextUrl: UrlSnapshot): Promise<boolean | UrlSnapshot> {\n // lookup the handler and create it if we've not seen it yet\n let handler = this.componentDeactivationHandlers.get(component);\n if (!handler) {\n const isPrimaryHandler = this.componentDeactivationHandlers.size === 0; // only primary handler cancels the app model interations\n handler = new PlaceComponentDeactivationHandler(component, this, isPrimaryHandler);\n this.componentDeactivationHandlers.set(component, handler);\n }\n return handler.canDeactivate(currentUrl, nextUrl);\n }\n\n protected detachInteractionContext(): InteractionContext {\n const context = this._interactionContext;\n this._interactionContext = null;\n return context;\n }\n }\n\n export class NavigationTransition extends AbstractNavigationTransition {\n readonly isPopState = false;\n debugPropertyKeys = ['startingUrl'];\n\n onRouterCancelled(event: NavigationCancel): NavigationState {\n return this;\n }\n\n onRouterError(event: NavigationError): NavigationState {\n // navigation was aborted.\n return new Idle(this.context);\n }\n\n createNavigationInteractionCancelledState(newUrl: string): NavigationState {\n return new LinkTriggeredNavigationInteractionCancelled(\n this.context,\n this.startingUrl,\n newUrl\n );\n }\n\n }\n\n export class PopStateTransition extends AbstractNavigationTransition {\n readonly isPopState = true;\n debugPropertyKeys = ['startingUrl', 'poppedHistoryUrl'];\n\n constructor(context: NavigationState.Context, startingUrl: string, readonly poppedHistoryUrl: string) {\n super(context, startingUrl);\n }\n\n onRouterCancelled(event: NavigationCancel): NavigationState {\n this.replaceBuggeredUrlAfterAngularRouterCancelled(this.poppedHistoryUrl);\n // Angular doesn't preserve the url when a guard cancels the back button.\n // See https://github.com/angular/angular/issues/13586#issuecomment-432795720\n Logger.get(this).info('WORK-AROUND: Updating browser location after pop state - see angular issue #13586');\n this.resetBrowserLocation(this.startingUrl);\n return new Idle(this.context);\n }\n\n\n onRouterError(event: NavigationError): NavigationState {\n // // navigation was aborted.\n // if (this.currentRouterUrl() !== this.startingUrl) {\n // // Angular doesn't preserve the url when a guard cancels the back button.\n // // See https://github.com/angular/angular/issues/13586#issuecomment-432795720\n // Logger.get(this).info('WORK-AROUND: Updating browser location after pop state - see angular issue #13586');\n // this.restoreHistory([\n // this.poppedHistoryUrl,\n // this.startingUrl\n // ]);\n // }\n // return new Idle(this.context);\n return this.illegalTransition(\"when do I get this???\")\n }\n\n createNavigationInteractionCancelledState(locationTriggerUrl: string): NavigationState {\n return new PopStateTriggeredNavigationInteractionCancelled(this.context,\n this.startingUrl,\n locationTriggerUrl,\n this.poppedHistoryUrl);\n }\n\n }\n\n export abstract class AbstractInteractionTransition extends AbstractNavigationTransition {\n readonly isTransitional = true;\n\n constructor(context: Context, readonly startingUrl: string) {\n super(context, startingUrl);\n }\n\n }\n\n\n// The following states exist to handle all events while any kind of navigation is in progress. That way all other states can\n// happily ignore interaction contexts.\n\n /**\n * This is the non transitional (i.e. rest) state that is used whenever an interaction context is active.\n */\n export class IdleDuringInteraction extends NavigationState {\n readonly isTransitional = false;\n readonly isPopState = false;\n debugPropertyKeys = ['startingUrl'];\n\n constructor(context: Context, readonly startingUrl: string) {\n super(context);\n }\n\n onPlaceNavigationStart(visit: Visit, initialUrl: string): NavigationState {\n // we're in an interaction and the user clicked back\n const navigationTransition = new StartingInteractionTransition(this.context, initialUrl);\n navigationTransition.storeVisit(visit);\n return navigationTransition;\n }\n\n onRouterStarted(event: NavigationStart): NavigationState {\n return new StartingInteractionTransition(this.context, event.url);\n }\n\n onPopState(event: NavigationStart): NavigationState {\n // we're in an interaction and the user clicked back\n return new LeavingInteractionAfterPopStateTransition(this.context, event.url, event.url);\n }\n }\n\n /**\n * This state exists to handle all events while any kind of navigation is in progress. That way all other states can\n * happily ignore interaction contexts.\n * NOTE: This state is activated when ever an interaction is started. It might be better to split it into\n * different states for different scenarios, e.g. starting model, starting model during route guard etc.\n */\n export class StartingInteractionTransition extends AbstractInteractionTransition {\n readonly isPopState = false;\n\n\n onRouterCancelled(event: NavigationCancel): NavigationState {\n // TODO: this.replaceBuggeredUrlAfterAngularRouterCancells(...);???\n if (this.context.interactionService.isActive()) {\n const interactionIds = this.interactionService.activeInteractionContextIds.value;\n this.resetBrowserLocation(this.placeRouter.parseUrl(this.startingUrl).updateInteractionIds(interactionIds).url);\n return new IdleDuringInteraction(this.context, this.startingUrl);\n } else {\n return new Idle(this.context);\n }\n }\n\n\n onRouterError(event: NavigationError): NavigationState {\n // navigation was aborted.\n return new IdleDuringInteraction(this.context, this.startingUrl);\n }\n\n\n onRouterEnd(event: NavigationEnd): NavigationState {\n if (this.context.interactionService.isActive()) {\n return new IdleDuringInteraction(this.context, this.startingUrl);\n } else {\n return new Idle(this.context);\n }\n }\n\n createNavigationInteractionCancelledState(locationTriggerUrl: string): NavigationState {\n return new LeavingInteractionTransitionCancelled(this.context,\n this.startingUrl,\n locationTriggerUrl);\n }\n }\n\n /**\n * The sequence of router events are:\n * Error -> url = url of navigation link\n * End\n * onPopState url = current intereaction url sans the query params\n * Cancel url == same as above.\n */\n export class LeavingInteractionTransitionCancelled extends NavigationState {\n\n readonly isPopState = false;\n firstCancelHandled = false;\n popStateHandled = false;\n popStateEventUrl: string;\n debugPropertyKeys = ['idle', 'startingUrl', 'poppedHistoryUrl', 'locationChangeTriggerUrl', 'popStateEventUrl', 'firstCancelHandled', 'popStateHandled'];\n\n constructor(context: Context,\n readonly startingUrl: string,\n readonly locationChangeTriggerUrl: string) {\n super(context);\n }\n\n get isTransitional() {\n return true;\n }\n\n onRouterStarted(event: NavigationStart): NavigationState {\n return this.ignore(event);\n }\n\n onRouterCancelled(event: NavigationCancel): NavigationState {\n // Angular doesn't preserve the url when a guard cancels the back button.\n // See https://github.com/angular/angular/issues/13586#issuecomment-432795720\n Logger.get(this).info('WORK-AROUND: Updating browser location after pop state - see angular issue #13586');\n if (this.interactionService.isActive()) {\n const interactionIds = this.interactionService.activeInteractionContextIds.value;\n this.resetBrowserLocation(this.placeRouter.parseUrl(this.startingUrl).updateInteractionIds(interactionIds).url);\n } else {\n // this.replaceBuggeredUrlAfterAngularRouterCancells(this.start)\n this.resetBrowserLocation(this.startingUrl); // and now put our own url back in.\n }\n return this.createIdleState();\n }\n\n onRouterEnd(event: NavigationEnd): NavigationState {\n return this.ignore(event);\n }\n\n onRouterError(event: NavigationError): NavigationState {\n return this.ignore(event);\n }\n\n onPopState(event: NavigationStart): NavigationState {\n return this.ignore(event);\n }\n\n async canDeactivatePlace(component: PlaceComponent, currentUrl: UrlSnapshot, nextUrl: UrlSnapshot): Promise<boolean | UrlSnapshot> {\n return false;\n }\n }\n\n\n /**\n * This state exists to handle all events while any kind of navigation is in progress. That way all other states can\n * happily ignore interaction contexts.\n */\n export class LeavingInteractionAfterPopStateTransition extends AbstractInteractionTransition {\n readonly isPopState = true;\n\n constructor(context: NavigationState.Context, startingUrl: string, readonly poppedHistoryUrl: string) {\n super(context, startingUrl);\n }\n\n onRouterCancelled(event: NavigationCancel): NavigationState {\n // TODO: this.replaceBuggeredUrlAfterAngularRouterCancells(...);???\n if (this.interactionService.isActive()) {\n const interactionIds = this.interactionService.activeInteractionContextIds.value;\n this.resetBrowserLocation(this.placeRouter.parseUrl(this.startingUrl).updateInteractionIds(interactionIds).url);\n return new IdleDuringInteraction(this.context, this.startingUrl);\n } else {\n return new Idle(this.context);\n }\n }\n\n\n onRouterEnd(event: NavigationEnd): NavigationState {\n if (this.context.interactionService.isActive()) {\n return new IdleDuringInteraction(this.context, this.startingUrl);\n } else {\n return new Idle(this.context);\n }\n }\n\n createNavigationInteractionCancelledState(newUrl: string): NavigationState {\n return this.illegalTransition('Leaving interaction after pop-state should\\'t block so should never see a back button click');\n }\n\n }\n\n /**\n * This state handles the scenario where a link navigation triggered an interaction and the user clicked back a to cancel it.\n * The routing event sequence is different depending on the link that was clicked.\n *\n * If the link was the same as the previous history location (i.e. they've gone back via a link rather than clicking back) then the sequence is:\n *\n * -> Idle -> NavigationTransition\n * -> confirm dialog shown.\n * -> click back\n * -> NavigationCancel -> clickedLinkUrl === cancel.url\n * -> NavigationEnd\n *\n * Otherwise if the link is different from teh history location then the sequence is:\n *\n * -> Idle -> NavigationTransition\n * -> confirm dialog shown.\n * -> click back\n * -> NavigationCancel -> clickedLinkUrl !== cancel.url\n * -> NavigationEnd\n * -> PopState\n * -> NavigationCancel\n */\n export class LinkTriggeredNavigationInteractionCancelled extends NavigationState {\n\n readonly isPopState = false;\n firstCancelEventUrl: string;\n popStateEventUrl: string;\n clickedLinkMatchedBackButtonUrl = false;\n debugPropertyKeys = ['idle', 'startingUrl', 'clickedLinkUrl', 'firstCancelEventUrl', 'clickedLinkMatchedBackButtonUrl', 'popStateEventUrl'];\n\n constructor(context: Context,\n readonly startingUrl: string,\n readonly clickedLinkUrl: string) {\n super(context);\n }\n\n get isTransitional() {\n return true;\n }\n\n onRouterStarted(event: NavigationStart): NavigationState {\n return this.ignore(event);\n }\n\n onRouterCancelled(event: NavigationCancel): NavigationState {\n // TODO: should really split this into two sub states in the first cancel event.\n if (!this.firstCancelEventUrl) {\n this.firstCancelEventUrl = event.url;\n this.clickedLinkMatchedBackButtonUrl = event.url === this.clickedLinkUrl;\n return this.ignore(event);\n } else {\n // we wait for our popped state to come in.\n if (!this.clickedLinkMatchedBackButtonUrl && this.popStateEventUrl) {\n return this.finaliseRouting();\n }\n }\n }\n\n onRouterEnd(event: NavigationEnd): NavigationState {\n if (this.clickedLinkMatchedBackButtonUrl) {\n return this.finaliseRouting();\n } else {\n return this.ignore(event);\n }\n }\n\n onRouterError(event: NavigationError): NavigationState {\n return this.ignore(event);\n }\n\n onPopState(event: NavigationStart): NavigationState {\n this.popStateEventUrl = event.url;\n return this.ignore(event);\n }\n\n finaliseRouting() {\n Logger.get(this).info('WORK-AROUND: Updating browser location after pop state - see angular issue #13586');\n this.replaceBuggeredUrlAfterAngularRouterCancelled(this.clickedLinkUrl); // put the back click one back in.\n if (this.interactionService.isActive()) {\n const interactionIds = this.interactionService.activeInteractionContextIds.value;\n // Angular doesn't preserve the url when a guard cancels the back button.\n // See https://github.com/angular/angular/issues/13586#issuecomment-432795720\n this.resetBrowserLocation(this.placeRouter.parseUrl(this.startingUrl).updateInteractionIds(interactionIds).url);\n } else {\n this.resetBrowserLocation(this.startingUrl); // and now put our own url back in.\n }\n return this.createIdleState();\n }\n\n async canDeactivatePlace(component: PlaceComponent, currentUrl: UrlSnapshot, nextUrl: UrlSnapshot): Promise<boolean | UrlSnapshot> {\n return false;\n }\n }\n\n /**\n * This state handles the scenario where a pop state triggered and interaction and the user clickeb back a second time to cancel it.\n * The sequence of routing events/state transitions is as follows.\n * -> Idle -> PopStateTransition (poppedHistoryUrl == page to go to, startingUrl = page to stay on )\n * -> confirm dialog shown.\n * -> click back\n * -> PopStateTransition -> CancelledDuringBackButtonNavigationInteraction(trigger url is the page before the popped history url)\n * -> NavigationCancel (for the previous back)\n * -> PopState\n * -> NavigationCancel\n */\n export class PopStateTriggeredNavigationInteractionCancelled extends NavigationState {\n\n readonly isPopState = false;\n firstCancelHandled = false;\n popStateHandled = false;\n popStateEventUrl: string;\n debugPropertyKeys = ['idle', 'startingUrl', 'poppedHistoryUrl', 'locationChangeTriggerUrl', 'popStateEventUrl', 'firstCancelHandled', 'popStateHandled'];\n\n constructor(context: Context,\n readonly startingUrl: string,\n readonly locationChangeTriggerUrl: string,\n readonly poppedHistoryUrl: string) {\n super(context);\n }\n\n get isTransitional() {\n return true;\n }\n\n onRouterStarted(event: NavigationStart): NavigationState {\n return this.ignore(event);\n }\n\n onRouterCancelled(event: NavigationCancel): NavigationState {\n\n if (this.firstCancelHandled && this.popStateHandled) {\n // Angular doesn't preserve the url when a guard cancels the back button.\n // See https://github.com/angular/angular/issues/13586#issuecomment-432795720\n Logger.get(this).info('WORK-AROUND: Updating browser location after pop state - see angular issue #13586');\n\n // Angular calls _this.resetUrlToCurrentUrlTree() on cancelling and fucks our history.\n // So this means that the top of the stack is the url we want to go back to, and not the one that was on\n // it before the cancel event fired.\n // So we need to:\n // - replace the just inserted url with the one that used to be there.\n // - push our actual url back onto the top of the stack.\n this.replaceBuggeredUrlAfterAngularRouterCancelled(this.locationChangeTriggerUrl);\n this.resetBrowserLocation(this.poppedHistoryUrl); // put the first back click one back in.\n if (this.interactionService.isActive()) {\n const interactionIds = this.interactionService.activeInteractionContextIds.value;\n this.resetBrowserLocation(this.placeRouter.parseUrl(this.startingUrl).updateInteractionIds(interactionIds).url);\n } else {\n this.resetBrowserLocation(this.startingUrl); // and now put our own url back in.\n }\n return this.createIdleState();\n } else {\n this.firstCancelHandled = true;\n return this.ignore(event);\n }\n }\n\n onRouterEnd(event: NavigationEnd): NavigationState {\n return this.ignore(event);\n }\n\n onRouterError(event: NavigationError): NavigationState {\n return this.ignore(event);\n }\n\n onPopState(event: NavigationStart): NavigationState {\n this.popStateHandled = true;\n this.popStateEventUrl = event.url;\n return this.ignore(event);\n }\n\n async canDeactivatePlace(component: PlaceComponent, currentUrl: UrlSnapshot, nextUrl: UrlSnapshot): Promise<boolean | UrlSnapshot> {\n return false;\n }\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"place-component-deactivation-handler.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/guards/place-component-deactivation-handler.ts"],"names":[],"mappings":"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","sourcesContent":["import { Trace } from '@coolon/pectin';\nimport * as _ from 'lodash';\nimport { PlaceComponent } from '../place-component';\nimport { UrlSnapshot } from '../url-snapshot';\nimport { NavigationState } from './navigation-state';\n\nexport class PlaceComponentDeactivationHandler {\n\n private canDeactivatePromise: Promise<boolean | UrlSnapshot>;\n\n constructor(readonly component: PlaceComponent, readonly navigationState: NavigationState, readonly isPrimaryComponent: boolean) {\n }\n\n get interactionService() {\n return this.navigationState.interactionService;\n }\n\n get placeRouter() {\n return this.navigationState.placeRouter;\n }\n\n async canDeactivate(currentUrl: UrlSnapshot, nextState: UrlSnapshot): Promise<boolean | UrlSnapshot> {\n // We'll get called multiple times if there's any parameter sanitisation so\n // we always return true if we accepted promise from a previous cycle of the current\n // navigation session.\n if (!this.canDeactivatePromise) {\n // console.log(`creating deactivate promise for -> ${this.component.constructor.name}`);\n this.canDeactivatePromise = this.canDeactivateComponent(currentUrl, nextState);\n }\n return this.canDeactivatePromise;\n }\n\n\n // @Trace()\n protected async canDeactivateComponent(currentUrl: UrlSnapshot, nextState: UrlSnapshot): Promise<UrlSnapshot | boolean> {\n // console.log(this.navigationState.toString());\n // Automatically cancel any active activities if the navigation session was triggered by the back button.\n // 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.\n if (this.navigationState.isPopState) {\n if (this.isPrimaryComponent && this.interactionService.isModalActive()) {\n const routeIds = this.placeRouter.getActiveInteractionIdsFromUrl(nextState.url);\n const currentIds = this.interactionService.activeInteractionContextIds.value;\n\n if (!_.isEqual(currentIds, routeIds)) {\n await this.interactionService.getActiveContext().cancelActiveActivity();\n return currentUrl.updateInteractionIds(this.interactionService.activeInteractionContextIds.value);\n }\n } else {\n // check if the component has an in place interaction\n if (this.component.interactionContext && this.component.interactionContext.isActive()) {\n await this.component.interactionContext.cancelActiveActivity();\n return currentUrl\n .updateInteractionIds(this.interactionService.activeInteractionContextIds.value)\n }\n }\n }\n\n\n // Ok, so now we're really leaving, so we ask the component if we should.;\n if (this.isNotJustAChangeInRouteId(nextState)) {\n\n if (this.component.canDeactivate) {\n // No interaction in progress, so ask the component .\n // This may start an interaction, hence checking the interaction context before now. I.e. if the place pops up the dialog, and\n // the user clicks back again, we'll re-enter here and go bang when the component tries to open another dialog.\n return this.component.canDeactivate(this.navigationState.interactionContext);\n }\n\n // The component has an active interaction but no deactivation hook. Rather than guessing what to do\n // we'll just cancel the navigation and print a warning.\n if (this.component.interactionContext && this.component.interactionContext.isActive()) {\n console.warn('Route changed while component has active interaction, cancelling navigation');\n return false;\n }\n\n }\n return true;\n }\n\n protected isNotJustAChangeInRouteId(nextState: UrlSnapshot) {\n // Because places with a route-id cover two route segments we get asked to deactivate\n // if the route id is added or removed. So if our path is still present the url\n // then we shouldn't deactivate the place.\n return !nextState.includesPathOf(this.component.placeDefinition);\n }\n}\n"]}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { Constructable } from '@coolon/pectin';
|
|
2
|
-
import { Activity } from '../../activity';
|
|
3
|
-
export interface ActivityOutletContext<D, R, E> extends Activity.Callbacks<R, E> {
|
|
4
|
-
activityClass: Constructable<Activity<D, R, E>>;
|
|
5
|
-
activityData: D;
|
|
6
|
-
componentReady?(component: Activity<D, R, E>): any;
|
|
7
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { AfterViewInit } from '@angular/core';
|
|
2
|
-
import { Constructable } from '@coolon/pectin';
|
|
3
|
-
import { Activity } from '../../activity';
|
|
4
|
-
import { InteractionContextBase } from '../../interaction-context-base';
|
|
5
|
-
import { InteractionService } from '../../services/interaction.service';
|
|
6
|
-
import { ActivityContainerComponent } from '../activity-container/activity-container.component';
|
|
7
|
-
import { ActivityOutletContext } from '../activity-outlet/activity-outlet-context';
|
|
8
|
-
export declare class InplaceInteractionContextComponent<D, R, E> extends InteractionContextBase implements AfterViewInit {
|
|
9
|
-
readonly interactionService: InteractionService;
|
|
10
|
-
interactionContext: ActivityContainerComponent<any, any, any>;
|
|
11
|
-
initialActivityContext: ActivityOutletContext<D, R, E>;
|
|
12
|
-
private _active;
|
|
13
|
-
constructor(interactionService: InteractionService);
|
|
14
|
-
ngAfterViewInit(): void;
|
|
15
|
-
readonly active: import("@coolon/pectin").ValueModel<boolean>;
|
|
16
|
-
protected _startActivity<D1, R1, E1>(activityType: Constructable<Activity<D1, R1, E1>>, data?: D1): Promise<R1>;
|
|
17
|
-
}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { Constructable, ListModel, ValueModel } from '@coolon/pectin';
|
|
2
|
-
import { Activity } from './activity';
|
|
3
|
-
import { Alert } from './alert';
|
|
4
|
-
import { Confirm } from './confirm';
|
|
5
|
-
import { InteractionContext } from './interaction-context';
|
|
6
|
-
export declare abstract class InteractionContextBase extends InteractionContext {
|
|
7
|
-
/**
|
|
8
|
-
* Returns the current list of activities that are in progress.
|
|
9
|
-
* This model is only updated in the next tick after the view has been updated.
|
|
10
|
-
*/
|
|
11
|
-
private readonly _activityListDelegate;
|
|
12
|
-
private deferredGetCurrentActivity;
|
|
13
|
-
private _currentActivity;
|
|
14
|
-
protected constructor();
|
|
15
|
-
protected setActivityList(activityList: ListModel<Activity<any, any>>): void;
|
|
16
|
-
readonly activityList: ListModel<Activity<any, any, any>>;
|
|
17
|
-
readonly activeActivity: ValueModel<Activity<any, any, any>>;
|
|
18
|
-
/**
|
|
19
|
-
* Returns the activity that is currently active.
|
|
20
|
-
* This model is only updated in the next tick after the view has been updated.
|
|
21
|
-
*/
|
|
22
|
-
getActiveActivity(): Promise<Activity<any, any>>;
|
|
23
|
-
protected abstract _startActivity<D, R, E>(activityType: Constructable<Activity<D, R, E>>, data?: D, disableClose?: boolean): Promise<R>;
|
|
24
|
-
startActivity<D, R, E>(activityType: Constructable<Activity<D, R, E>>, data?: D): Promise<R>;
|
|
25
|
-
confirm(confirm: Confirm): Promise<boolean>;
|
|
26
|
-
alert(alert: Alert): Promise<void>;
|
|
27
|
-
confirmOrReject(confirm: Confirm): Promise<void>;
|
|
28
|
-
confirmThen<D, R, E>(confirm: Confirm, activityType: Constructable<Activity<D, R, E>>, data?: D): Promise<R>;
|
|
29
|
-
}
|
|
@@ -1,228 +0,0 @@
|
|
|
1
|
-
import { NavigationCancel, NavigationEnd, NavigationError, NavigationStart, RouterEvent } from '@angular/router';
|
|
2
|
-
import { GarbageCollector } from '@coolon/pectin';
|
|
3
|
-
import { InteractionContext } from '../../interaction/interaction-context';
|
|
4
|
-
import { InteractionService } from '../../interaction/services/interaction.service';
|
|
5
|
-
import { PlaceComponent } from '../place-component';
|
|
6
|
-
import { PlaceDefinition } from '../place-definition';
|
|
7
|
-
import { PlaceRouter } from '../place-router';
|
|
8
|
-
import { UrlSnapshot } from '../url-snapshot';
|
|
9
|
-
import { Visit } from '../visit';
|
|
10
|
-
export declare abstract class NavigationState extends GarbageCollector {
|
|
11
|
-
protected readonly context: NavigationState.Context;
|
|
12
|
-
private _visits;
|
|
13
|
-
abstract readonly isTransitional: boolean;
|
|
14
|
-
abstract readonly startingUrl: string;
|
|
15
|
-
abstract readonly isPopState: boolean;
|
|
16
|
-
debugPropertyKeys: string[];
|
|
17
|
-
constructor(context: NavigationState.Context);
|
|
18
|
-
readonly name: string;
|
|
19
|
-
readonly idle: boolean;
|
|
20
|
-
readonly placeRouter: PlaceRouter;
|
|
21
|
-
readonly interactionService: InteractionService;
|
|
22
|
-
readonly interactionContext: InteractionContext;
|
|
23
|
-
storeVisit(visit: Visit): void;
|
|
24
|
-
getVisitFor(placeDef: PlaceDefinition): Visit;
|
|
25
|
-
onPlaceNavigationStart(visit: Visit, initialUrl: string): NavigationState;
|
|
26
|
-
onPopState(event: NavigationStart): NavigationState;
|
|
27
|
-
onRouterStarted(event: NavigationStart): NavigationState;
|
|
28
|
-
onRouterCancelled(event: NavigationCancel): NavigationState;
|
|
29
|
-
onRouterError(event: NavigationError): NavigationState;
|
|
30
|
-
onRouterEnd(event: NavigationEnd): NavigationState;
|
|
31
|
-
onBackClickedDuringNavigationInteraction(newUrl: string): NavigationState;
|
|
32
|
-
canDeactivatePlace(component: PlaceComponent, currentUrl: UrlSnapshot, nextUrl: UrlSnapshot): Promise<boolean | UrlSnapshot>;
|
|
33
|
-
getVisits(): Visit[];
|
|
34
|
-
protected illegalTransition<R>(message: string | RouterEvent): R;
|
|
35
|
-
protected currentRouterUrl(): string;
|
|
36
|
-
protected createTransitionStateFor(event: NavigationStart): any;
|
|
37
|
-
protected createIdleState(): any;
|
|
38
|
-
resetBrowserLocation(url: any, options?: {
|
|
39
|
-
replaceCurrent: boolean;
|
|
40
|
-
}): void;
|
|
41
|
-
ignore(event: RouterEvent, reason?: string): NavigationState;
|
|
42
|
-
toString(): string;
|
|
43
|
-
protected debugState(properties?: string[]): string;
|
|
44
|
-
protected replaceBuggeredUrlAfterAngularRouterCancelled(url: string): void;
|
|
45
|
-
}
|
|
46
|
-
export declare namespace NavigationState {
|
|
47
|
-
class Context {
|
|
48
|
-
readonly placeRouter: PlaceRouter;
|
|
49
|
-
readonly interactionService: InteractionService;
|
|
50
|
-
readonly notifySuccess: (success: NavigationState) => void;
|
|
51
|
-
constructor(placeRouter: PlaceRouter, interactionService: InteractionService, notifySuccess: (success: NavigationState) => void);
|
|
52
|
-
}
|
|
53
|
-
class Idle extends NavigationState {
|
|
54
|
-
readonly isTransitional = false;
|
|
55
|
-
readonly startingUrl: any;
|
|
56
|
-
readonly isPopState = false;
|
|
57
|
-
constructor(context: Context);
|
|
58
|
-
onPlaceNavigationStart(visit: Visit, initialUrl: string): NavigationState;
|
|
59
|
-
onRouterStarted(event: NavigationStart): NavigationState;
|
|
60
|
-
onPopState(event: NavigationStart): NavigationState;
|
|
61
|
-
}
|
|
62
|
-
abstract class AbstractNavigationTransition extends NavigationState {
|
|
63
|
-
readonly startingUrl: string;
|
|
64
|
-
readonly isTransitional = true;
|
|
65
|
-
private componentDeactivationHandlers;
|
|
66
|
-
private _interactionContext;
|
|
67
|
-
constructor(context: Context, startingUrl: string);
|
|
68
|
-
readonly interactionContext: InteractionContext;
|
|
69
|
-
onRouterStarted(event: NavigationStart): NavigationState;
|
|
70
|
-
onRouterEnd(event: NavigationEnd): NavigationState;
|
|
71
|
-
onBackClickedDuringNavigationInteraction(newUrl: string): NavigationState;
|
|
72
|
-
abstract createNavigationInteractionCancelledState(newUrl: string): NavigationState;
|
|
73
|
-
canDeactivatePlace(component: PlaceComponent, currentUrl: UrlSnapshot, nextUrl: UrlSnapshot): Promise<boolean | UrlSnapshot>;
|
|
74
|
-
protected detachInteractionContext(): InteractionContext;
|
|
75
|
-
}
|
|
76
|
-
class NavigationTransition extends AbstractNavigationTransition {
|
|
77
|
-
readonly isPopState = false;
|
|
78
|
-
debugPropertyKeys: string[];
|
|
79
|
-
onRouterCancelled(event: NavigationCancel): NavigationState;
|
|
80
|
-
onRouterError(event: NavigationError): NavigationState;
|
|
81
|
-
createNavigationInteractionCancelledState(newUrl: string): NavigationState;
|
|
82
|
-
}
|
|
83
|
-
class PopStateTransition extends AbstractNavigationTransition {
|
|
84
|
-
readonly poppedHistoryUrl: string;
|
|
85
|
-
readonly isPopState = true;
|
|
86
|
-
debugPropertyKeys: string[];
|
|
87
|
-
constructor(context: NavigationState.Context, startingUrl: string, poppedHistoryUrl: string);
|
|
88
|
-
onRouterCancelled(event: NavigationCancel): NavigationState;
|
|
89
|
-
onRouterError(event: NavigationError): NavigationState;
|
|
90
|
-
createNavigationInteractionCancelledState(locationTriggerUrl: string): NavigationState;
|
|
91
|
-
}
|
|
92
|
-
abstract class AbstractInteractionTransition extends AbstractNavigationTransition {
|
|
93
|
-
readonly startingUrl: string;
|
|
94
|
-
readonly isTransitional = true;
|
|
95
|
-
constructor(context: Context, startingUrl: string);
|
|
96
|
-
}
|
|
97
|
-
/**
|
|
98
|
-
* This is the non transitional (i.e. rest) state that is used whenever an interaction context is active.
|
|
99
|
-
*/
|
|
100
|
-
class IdleDuringInteraction extends NavigationState {
|
|
101
|
-
readonly startingUrl: string;
|
|
102
|
-
readonly isTransitional = false;
|
|
103
|
-
readonly isPopState = false;
|
|
104
|
-
debugPropertyKeys: string[];
|
|
105
|
-
constructor(context: Context, startingUrl: string);
|
|
106
|
-
onPlaceNavigationStart(visit: Visit, initialUrl: string): NavigationState;
|
|
107
|
-
onRouterStarted(event: NavigationStart): NavigationState;
|
|
108
|
-
onPopState(event: NavigationStart): NavigationState;
|
|
109
|
-
}
|
|
110
|
-
/**
|
|
111
|
-
* This state exists to handle all events while any kind of navigation is in progress. That way all other states can
|
|
112
|
-
* happily ignore interaction contexts.
|
|
113
|
-
* NOTE: This state is activated when ever an interaction is started. It might be better to split it into
|
|
114
|
-
* different states for different scenarios, e.g. starting model, starting model during route guard etc.
|
|
115
|
-
*/
|
|
116
|
-
class StartingInteractionTransition extends AbstractInteractionTransition {
|
|
117
|
-
readonly isPopState = false;
|
|
118
|
-
onRouterCancelled(event: NavigationCancel): NavigationState;
|
|
119
|
-
onRouterError(event: NavigationError): NavigationState;
|
|
120
|
-
onRouterEnd(event: NavigationEnd): NavigationState;
|
|
121
|
-
createNavigationInteractionCancelledState(locationTriggerUrl: string): NavigationState;
|
|
122
|
-
}
|
|
123
|
-
/**
|
|
124
|
-
* The sequence of router events are:
|
|
125
|
-
* Error -> url = url of navigation link
|
|
126
|
-
* End
|
|
127
|
-
* onPopState url = current intereaction url sans the query params
|
|
128
|
-
* Cancel url == same as above.
|
|
129
|
-
*/
|
|
130
|
-
class LeavingInteractionTransitionCancelled extends NavigationState {
|
|
131
|
-
readonly startingUrl: string;
|
|
132
|
-
readonly locationChangeTriggerUrl: string;
|
|
133
|
-
readonly isPopState = false;
|
|
134
|
-
firstCancelHandled: boolean;
|
|
135
|
-
popStateHandled: boolean;
|
|
136
|
-
popStateEventUrl: string;
|
|
137
|
-
debugPropertyKeys: string[];
|
|
138
|
-
constructor(context: Context, startingUrl: string, locationChangeTriggerUrl: string);
|
|
139
|
-
readonly isTransitional: boolean;
|
|
140
|
-
onRouterStarted(event: NavigationStart): NavigationState;
|
|
141
|
-
onRouterCancelled(event: NavigationCancel): NavigationState;
|
|
142
|
-
onRouterEnd(event: NavigationEnd): NavigationState;
|
|
143
|
-
onRouterError(event: NavigationError): NavigationState;
|
|
144
|
-
onPopState(event: NavigationStart): NavigationState;
|
|
145
|
-
canDeactivatePlace(component: PlaceComponent, currentUrl: UrlSnapshot, nextUrl: UrlSnapshot): Promise<boolean | UrlSnapshot>;
|
|
146
|
-
}
|
|
147
|
-
/**
|
|
148
|
-
* This state exists to handle all events while any kind of navigation is in progress. That way all other states can
|
|
149
|
-
* happily ignore interaction contexts.
|
|
150
|
-
*/
|
|
151
|
-
class LeavingInteractionAfterPopStateTransition extends AbstractInteractionTransition {
|
|
152
|
-
readonly poppedHistoryUrl: string;
|
|
153
|
-
readonly isPopState = true;
|
|
154
|
-
constructor(context: NavigationState.Context, startingUrl: string, poppedHistoryUrl: string);
|
|
155
|
-
onRouterCancelled(event: NavigationCancel): NavigationState;
|
|
156
|
-
onRouterEnd(event: NavigationEnd): NavigationState;
|
|
157
|
-
createNavigationInteractionCancelledState(newUrl: string): NavigationState;
|
|
158
|
-
}
|
|
159
|
-
/**
|
|
160
|
-
* This state handles the scenario where a link navigation triggered an interaction and the user clicked back a to cancel it.
|
|
161
|
-
* The routing event sequence is different depending on the link that was clicked.
|
|
162
|
-
*
|
|
163
|
-
* If the link was the same as the previous history location (i.e. they've gone back via a link rather than clicking back) then the sequence is:
|
|
164
|
-
*
|
|
165
|
-
* -> Idle -> NavigationTransition
|
|
166
|
-
* -> confirm dialog shown.
|
|
167
|
-
* -> click back
|
|
168
|
-
* -> NavigationCancel -> clickedLinkUrl === cancel.url
|
|
169
|
-
* -> NavigationEnd
|
|
170
|
-
*
|
|
171
|
-
* Otherwise if the link is different from teh history location then the sequence is:
|
|
172
|
-
*
|
|
173
|
-
* -> Idle -> NavigationTransition
|
|
174
|
-
* -> confirm dialog shown.
|
|
175
|
-
* -> click back
|
|
176
|
-
* -> NavigationCancel -> clickedLinkUrl !== cancel.url
|
|
177
|
-
* -> NavigationEnd
|
|
178
|
-
* -> PopState
|
|
179
|
-
* -> NavigationCancel
|
|
180
|
-
*/
|
|
181
|
-
class LinkTriggeredNavigationInteractionCancelled extends NavigationState {
|
|
182
|
-
readonly startingUrl: string;
|
|
183
|
-
readonly clickedLinkUrl: string;
|
|
184
|
-
readonly isPopState = false;
|
|
185
|
-
firstCancelEventUrl: string;
|
|
186
|
-
popStateEventUrl: string;
|
|
187
|
-
clickedLinkMatchedBackButtonUrl: boolean;
|
|
188
|
-
debugPropertyKeys: string[];
|
|
189
|
-
constructor(context: Context, startingUrl: string, clickedLinkUrl: string);
|
|
190
|
-
readonly isTransitional: boolean;
|
|
191
|
-
onRouterStarted(event: NavigationStart): NavigationState;
|
|
192
|
-
onRouterCancelled(event: NavigationCancel): NavigationState;
|
|
193
|
-
onRouterEnd(event: NavigationEnd): NavigationState;
|
|
194
|
-
onRouterError(event: NavigationError): NavigationState;
|
|
195
|
-
onPopState(event: NavigationStart): NavigationState;
|
|
196
|
-
finaliseRouting(): any;
|
|
197
|
-
canDeactivatePlace(component: PlaceComponent, currentUrl: UrlSnapshot, nextUrl: UrlSnapshot): Promise<boolean | UrlSnapshot>;
|
|
198
|
-
}
|
|
199
|
-
/**
|
|
200
|
-
* This state handles the scenario where a pop state triggered and interaction and the user clickeb back a second time to cancel it.
|
|
201
|
-
* The sequence of routing events/state transitions is as follows.
|
|
202
|
-
* -> Idle -> PopStateTransition (poppedHistoryUrl == page to go to, startingUrl = page to stay on )
|
|
203
|
-
* -> confirm dialog shown.
|
|
204
|
-
* -> click back
|
|
205
|
-
* -> PopStateTransition -> CancelledDuringBackButtonNavigationInteraction(trigger url is the page before the popped history url)
|
|
206
|
-
* -> NavigationCancel (for the previous back)
|
|
207
|
-
* -> PopState
|
|
208
|
-
* -> NavigationCancel
|
|
209
|
-
*/
|
|
210
|
-
class PopStateTriggeredNavigationInteractionCancelled extends NavigationState {
|
|
211
|
-
readonly startingUrl: string;
|
|
212
|
-
readonly locationChangeTriggerUrl: string;
|
|
213
|
-
readonly poppedHistoryUrl: string;
|
|
214
|
-
readonly isPopState = false;
|
|
215
|
-
firstCancelHandled: boolean;
|
|
216
|
-
popStateHandled: boolean;
|
|
217
|
-
popStateEventUrl: string;
|
|
218
|
-
debugPropertyKeys: string[];
|
|
219
|
-
constructor(context: Context, startingUrl: string, locationChangeTriggerUrl: string, poppedHistoryUrl: string);
|
|
220
|
-
readonly isTransitional: boolean;
|
|
221
|
-
onRouterStarted(event: NavigationStart): NavigationState;
|
|
222
|
-
onRouterCancelled(event: NavigationCancel): NavigationState;
|
|
223
|
-
onRouterEnd(event: NavigationEnd): NavigationState;
|
|
224
|
-
onRouterError(event: NavigationError): NavigationState;
|
|
225
|
-
onPopState(event: NavigationStart): NavigationState;
|
|
226
|
-
canDeactivatePlace(component: PlaceComponent, currentUrl: UrlSnapshot, nextUrl: UrlSnapshot): Promise<boolean | UrlSnapshot>;
|
|
227
|
-
}
|
|
228
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { PlaceComponent } from '../place-component';
|
|
2
|
-
import { UrlSnapshot } from '../url-snapshot';
|
|
3
|
-
import { NavigationState } from './navigation-state';
|
|
4
|
-
export declare class PlaceComponentDeactivationHandler {
|
|
5
|
-
readonly component: PlaceComponent;
|
|
6
|
-
readonly navigationState: NavigationState;
|
|
7
|
-
readonly isPrimaryComponent: boolean;
|
|
8
|
-
private canDeactivatePromise;
|
|
9
|
-
constructor(component: PlaceComponent, navigationState: NavigationState, isPrimaryComponent: boolean);
|
|
10
|
-
readonly interactionService: import("../../interaction").InteractionService;
|
|
11
|
-
readonly placeRouter: import("..").PlaceRouter;
|
|
12
|
-
canDeactivate(currentUrl: UrlSnapshot, nextState: UrlSnapshot): Promise<boolean | UrlSnapshot>;
|
|
13
|
-
protected canDeactivateComponent(currentUrl: UrlSnapshot, nextState: UrlSnapshot): Promise<UrlSnapshot | boolean>;
|
|
14
|
-
protected isNotJustAChangeInRouteId(nextState: UrlSnapshot): boolean;
|
|
15
|
-
}
|