@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
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Constructable, Disposable } 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 AbstractInteractionContext implements InteractionContext {
|
|
7
|
+
abstract readonly identifier: string;
|
|
8
|
+
abstract cancelActiveActivity(): Promise<boolean>;
|
|
9
|
+
abstract dispose(): void;
|
|
10
|
+
abstract registerDisposable<T extends Disposable>(disposable: T): T;
|
|
11
|
+
abstract isActive(): boolean;
|
|
12
|
+
protected abstract createAndLaunchActivity<D, R, E>(activityType: Constructable<Activity<D, R, E>>, data: D, disableClose: boolean): Promise<R>;
|
|
13
|
+
startActivity<D, R, E>(activityType: Constructable<Activity<D, R, E>>, data?: D): Promise<R>;
|
|
14
|
+
confirm(confirm: Confirm): Promise<boolean>;
|
|
15
|
+
alert(alert: Alert): Promise<void>;
|
|
16
|
+
confirmOrReject(confirm: Confirm): Promise<void>;
|
|
17
|
+
/**
|
|
18
|
+
* Presents the confirmation to the user and runs the activity only if the user confirms.
|
|
19
|
+
* @param confirm:Confirm the confirmation to display.
|
|
20
|
+
* @param activityType the activity to run if confirmed.
|
|
21
|
+
* @param data the activity data.
|
|
22
|
+
*/
|
|
23
|
+
confirmThen<D, R, E>(confirm: Confirm, activityType: Constructable<Activity<D, R, E>>, data?: D): Promise<R>;
|
|
24
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Constructable, Deferred } from '@coolon/pectin';
|
|
2
|
+
import { Activity } from './activity';
|
|
3
|
+
import { InteractionContext } from './interaction-context';
|
|
4
|
+
export declare class ActivityRef<D, R, E> {
|
|
5
|
+
readonly activityClass: Constructable<Activity<D, R, E>>;
|
|
6
|
+
readonly activityData: D;
|
|
7
|
+
readonly onComplete: (activityRef: ActivityRef<D, R, E>) => void;
|
|
8
|
+
private _complete;
|
|
9
|
+
private _activity;
|
|
10
|
+
private deferredResult;
|
|
11
|
+
constructor(activityClass: Constructable<Activity<D, R, E>>, activityData: D, onComplete: (activityRef: ActivityRef<D, R, E>) => void);
|
|
12
|
+
isActivityRealised(): boolean;
|
|
13
|
+
isComplete(): boolean;
|
|
14
|
+
readonly activity: Activity<D, R, E>;
|
|
15
|
+
notifyActivityCreated(activity: Activity<D, R, E>, nestedInteractionContext: InteractionContext): void;
|
|
16
|
+
protected finishActivity(resolveOrReject: (deferred: Deferred<R>) => void): void;
|
|
17
|
+
cancel(): void;
|
|
18
|
+
readonly activityResult: Promise<R>;
|
|
19
|
+
}
|
|
@@ -1,16 +1,20 @@
|
|
|
1
1
|
import { InjectionToken } from '@angular/core';
|
|
2
2
|
import { GarbageCollector, ValueModel } from '@coolon/pectin';
|
|
3
|
+
import { InteractionContext } from './interaction-context';
|
|
3
4
|
export declare const ACTIVITY_DATA: InjectionToken<any>;
|
|
4
5
|
export declare abstract class Activity<D, R, E = any> extends GarbageCollector {
|
|
5
6
|
private readonly _busyModel;
|
|
6
7
|
private _activityContext;
|
|
7
|
-
|
|
8
|
+
private _interactionContext;
|
|
9
|
+
initialise(nestedInteractionContext: InteractionContext, activityContext: Activity.Callbacks<R, E>): void;
|
|
10
|
+
readonly interactionContext: InteractionContext;
|
|
8
11
|
done(result?: R): void;
|
|
9
12
|
cancel(error?: E): void;
|
|
10
13
|
onActivityReady(): void;
|
|
11
14
|
readonly busy: ValueModel<boolean>;
|
|
12
15
|
busyWhile(busyModel: ValueModel<boolean>): void;
|
|
13
16
|
isBusy(): boolean;
|
|
17
|
+
isInitialised(): boolean;
|
|
14
18
|
}
|
|
15
19
|
export declare namespace Activity {
|
|
16
20
|
interface Callbacks<R, E> {
|
|
@@ -1,56 +1,55 @@
|
|
|
1
|
-
import { AfterViewInit,
|
|
1
|
+
import { AfterViewInit, OnInit, QueryList } from '@angular/core';
|
|
2
2
|
import { MatTabGroup } from '@angular/material';
|
|
3
|
-
import { Constructable,
|
|
3
|
+
import { Constructable, Disposable } from '@coolon/pectin';
|
|
4
|
+
import { AbstractInteractionContext } from '../../abstract-interaction-context';
|
|
4
5
|
import { Activity } from '../../activity';
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Note: this class is mutable and is stored in a list model. This is normally a big no no but
|
|
11
|
-
* we're manually deriving other models from the list after view state changes. I.e. we not
|
|
12
|
-
* using pectin chains on any of the mutable fields.
|
|
13
|
-
*/
|
|
14
|
-
declare class TabContext<D, R, E> implements ActivityOutletContext<D, R, E> {
|
|
15
|
-
readonly activityData: D;
|
|
16
|
-
readonly activityClass: Constructable<Activity<D, R, E>>;
|
|
17
|
-
readonly interactionContext: InteractionContext;
|
|
18
|
-
readonly activityCallbacks: Activity.Callbacks<R, E>;
|
|
19
|
-
private _complete;
|
|
20
|
-
private _component;
|
|
21
|
-
constructor(activityData: D, activityClass: Constructable<Activity<D, R, E>>, interactionContext: InteractionContext, activityCallbacks: Activity.Callbacks<R, E>);
|
|
22
|
-
isComponentRealised(): boolean;
|
|
23
|
-
isComplete(): boolean;
|
|
24
|
-
componentReady(component: Activity<D, R, E>): void;
|
|
25
|
-
readonly component: Activity<D, R, E>;
|
|
26
|
-
onDone(result: R): void;
|
|
27
|
-
onCancel(error: E): void;
|
|
28
|
-
dispose(): void;
|
|
29
|
-
}
|
|
30
|
-
export declare class ActivityContainerComponent<D, R, E> extends InteractionContextBase implements OnInit, AfterViewInit {
|
|
31
|
-
private readonly throttledNestedActivityFinishEvents;
|
|
32
|
-
private readonly _initialActivityOutletContext;
|
|
33
|
-
initialActivityOutletContext: ActivityOutletContext<D, R, E>;
|
|
34
|
-
initialActivityOutletContextEvent: EventEmitter<ActivityOutletContext<D, R, E>>;
|
|
6
|
+
import { ActivityRef } from '../../activity-ref';
|
|
7
|
+
import { InteractionService } from '../../services/interaction.service';
|
|
8
|
+
import { ActivityOutletComponent } from './activity-outlet/activity-outlet.component';
|
|
9
|
+
export declare class ActivityContainerComponent<D, R, E> extends AbstractInteractionContext implements OnInit, AfterViewInit {
|
|
35
10
|
dynamicHeight: boolean;
|
|
36
11
|
tabs: MatTabGroup;
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
private
|
|
12
|
+
activityOutlets: QueryList<ActivityOutletComponent<any, any, any>>;
|
|
13
|
+
activityTabs: ActivityRef<any, any, any>[];
|
|
14
|
+
private _identifier;
|
|
15
|
+
private _deferredCleanUp;
|
|
16
|
+
private interactionServiceApi;
|
|
17
|
+
private garbage;
|
|
18
|
+
private syncSelectedTabTimeout;
|
|
41
19
|
constructor();
|
|
42
20
|
ngOnInit(): void;
|
|
43
21
|
ngAfterViewInit(): void;
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
22
|
+
initialise(identifier: string, api: InteractionService.Api): void;
|
|
23
|
+
readonly identifier: string;
|
|
24
|
+
isInitialised(): boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Returns true if an activity is currently running.
|
|
27
|
+
*/
|
|
28
|
+
isActive(): boolean;
|
|
29
|
+
registerDisposable<T extends Disposable>(disposable: T): T;
|
|
30
|
+
dispose(): void;
|
|
31
|
+
getActiveActivityRef(): ActivityRef<any, any, any>;
|
|
32
|
+
/**
|
|
33
|
+
* Cancels the current activity and returns true the context is no longer active, false if
|
|
34
|
+
* there is still another activity running.
|
|
35
|
+
*/
|
|
36
|
+
cancelActiveActivity(): Promise<boolean>;
|
|
37
|
+
protected createAndLaunchActivity<D1, R1, E1>(activityType: Constructable<Activity<D1, R1, E1>>, data: D1, disableClose: boolean): Promise<R1>;
|
|
38
|
+
private getActiveActivityCount;
|
|
39
|
+
/**
|
|
40
|
+
* Checks if this interaction context has finished an is in the process of waiting
|
|
41
|
+
* for all the infrastructure (including route updates) to be completed.
|
|
42
|
+
*/
|
|
43
|
+
isCleaningUp(): boolean;
|
|
44
|
+
waitForInteractionContextCleanupToFinish(): Promise<any>;
|
|
45
|
+
private finishAndStartCleanup;
|
|
46
|
+
launchActivity<D1, R1, E1>(activityRef: ActivityRef<D1, R1, E1>): void;
|
|
47
|
+
activityIndex(index: number, activityRef: ActivityRef<any, any, any>): number;
|
|
48
|
+
private onAnimationFinished;
|
|
48
49
|
/**
|
|
49
50
|
* Synchronises the selected tab index. Returns true if there was no change to the selected index.
|
|
50
51
|
*/
|
|
51
52
|
private synchroniseSelectedTabIndex;
|
|
52
|
-
private onAnimationFinished;
|
|
53
|
-
private updateActivityList;
|
|
54
53
|
private getSelectedOutlet;
|
|
54
|
+
private triggerTabSynchronisation;
|
|
55
55
|
}
|
|
56
|
-
export {};
|
|
@@ -1,24 +1,21 @@
|
|
|
1
1
|
import { ComponentFactoryResolver, Injector, OnInit, ViewContainerRef } from '@angular/core';
|
|
2
|
-
import { Activity } from '
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
2
|
+
import { Activity } from '../../../activity';
|
|
3
|
+
import { ActivityRef } from '../../../activity-ref';
|
|
4
|
+
import { InteractionContext } from '../../../interaction-context';
|
|
5
5
|
/**
|
|
6
6
|
* ActivityOutletComponent creates and displays an activity and delegates the interaction context functionality to an
|
|
7
7
|
* external service.
|
|
8
|
-
*
|
|
9
|
-
* It might be nice to have wrapper component that allows more declarative use, i.e.
|
|
10
|
-
* <activity-view [activityClass]="...", [activityData]="..." (done)=".." (cancel)="..."></activity-view>
|
|
11
8
|
*/
|
|
12
9
|
export declare class ActivityOutletComponent<D, R, E> implements OnInit {
|
|
13
10
|
private componentFactoryResolver;
|
|
14
11
|
private viewContainerRef;
|
|
15
12
|
private injector;
|
|
16
|
-
interactionContext: InteractionContext;
|
|
17
|
-
private _activityContext;
|
|
18
|
-
activityContext: ActivityOutletContext<D, R, E>;
|
|
19
13
|
private activityComponentRef;
|
|
14
|
+
nestedInteractionContext: InteractionContext;
|
|
15
|
+
private _activityRef;
|
|
16
|
+
activityRef: ActivityRef<D, R, E>;
|
|
20
17
|
constructor(componentFactoryResolver: ComponentFactoryResolver, viewContainerRef: ViewContainerRef, injector: Injector);
|
|
21
18
|
ngOnInit(): void;
|
|
22
|
-
loadActivity(
|
|
19
|
+
loadActivity(activityRef: ActivityRef<D, R, E>): void;
|
|
23
20
|
readonly component: Activity<D, R, E>;
|
|
24
21
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { OnInit } from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { Activity } from '../../activity';
|
|
3
3
|
import { Alert } from '../../alert';
|
|
4
|
-
export declare class AlertDialogComponent extends
|
|
4
|
+
export declare class AlertDialogComponent extends Activity<Alert, void> implements OnInit {
|
|
5
5
|
readonly alert: Alert;
|
|
6
6
|
constructor(alert: Alert);
|
|
7
7
|
ngOnInit(): void;
|
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
import { OnInit } from '@angular/core';
|
|
2
2
|
import { Constructable } from '@coolon/pectin';
|
|
3
|
-
import { AbstractActivity } from '../../abstract-activity';
|
|
4
3
|
import { Activity } from '../../activity';
|
|
5
4
|
import { Confirm } from '../../confirm';
|
|
6
|
-
|
|
7
|
-
export declare class ConfirmThenDialogComponent<D, R, E> extends AbstractActivity<ConfirmThenDialogComponent.Data<D, R, E>, R, E> implements OnInit {
|
|
5
|
+
export declare class ConfirmThenDialogComponent<D, R, E> extends Activity<ConfirmThenDialogComponent.Data<D, R, E>, R, E> implements OnInit {
|
|
8
6
|
readonly config: ConfirmThenDialogComponent.Data<D, R, E>;
|
|
9
|
-
|
|
10
|
-
constructor(config: ConfirmThenDialogComponent.Data<D, R, E>, interactionContext: InteractionContext);
|
|
7
|
+
constructor(config: ConfirmThenDialogComponent.Data<D, R, E>);
|
|
11
8
|
ngOnInit(): void;
|
|
12
9
|
readonly confirm: Confirm;
|
|
13
10
|
isDestructive(): boolean;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { OnInit } from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { Activity } from '../../activity';
|
|
3
3
|
import { Confirm } from '../../confirm';
|
|
4
|
-
export declare class ConfirmationDialogComponent extends
|
|
4
|
+
export declare class ConfirmationDialogComponent extends Activity<Confirm, void> implements OnInit {
|
|
5
5
|
readonly confirm: Confirm;
|
|
6
6
|
constructor(confirm: Confirm);
|
|
7
7
|
ngOnInit(): void;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { AfterViewInit } from '@angular/core';
|
|
2
|
+
import { Constructable } from '@coolon/pectin';
|
|
3
|
+
import { DisposableComponent } from '../../../components/disposable-component';
|
|
4
|
+
import { Activity } from '../../activity';
|
|
5
|
+
import { Alert } from '../../alert';
|
|
6
|
+
import { Confirm } from '../../confirm';
|
|
7
|
+
import { InteractionContext } from '../../interaction-context';
|
|
8
|
+
import { InteractionService } from '../../services/interaction.service';
|
|
9
|
+
import { ActivityContainerComponent } from '../activity-container/activity-container.component';
|
|
10
|
+
export declare class InPlaceInteractionContextComponent<D, R, E> extends DisposableComponent implements InteractionContext, AfterViewInit {
|
|
11
|
+
readonly interactionService: InteractionService;
|
|
12
|
+
activityContainerComponent: ActivityContainerComponent<any, any, any>;
|
|
13
|
+
constructor(interactionService: InteractionService);
|
|
14
|
+
ngAfterViewInit(): void;
|
|
15
|
+
initialise(id: string, api: InteractionService.Api): void;
|
|
16
|
+
readonly identifier: string;
|
|
17
|
+
alert(alert: Alert): Promise<void>;
|
|
18
|
+
cancelActiveActivity(): Promise<boolean>;
|
|
19
|
+
confirm(confirm: Confirm): Promise<boolean>;
|
|
20
|
+
confirmOrReject(confirm: Confirm): Promise<void>;
|
|
21
|
+
confirmThen<D1, R1, E1>(confirm: Confirm, activityType: Constructable<Activity<D1, R1, E1>>, data?: D1): Promise<R1>;
|
|
22
|
+
isActive(): boolean;
|
|
23
|
+
startActivity<D1, R1, E1>(activityType: Constructable<Activity<D1, R1, E1>>, data?: D1): Promise<R1>;
|
|
24
|
+
}
|
|
@@ -1,21 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @file Automatically generated by barrelsby.
|
|
3
3
|
*/
|
|
4
|
-
export * from "./abstract-
|
|
4
|
+
export * from "./abstract-interaction-context";
|
|
5
|
+
export * from "./activity-ref";
|
|
5
6
|
export * from "./activity";
|
|
6
7
|
export * from "./alert";
|
|
7
8
|
export * from "./confirm";
|
|
8
|
-
export * from "./interaction-context-base";
|
|
9
9
|
export * from "./interaction-context";
|
|
10
10
|
export * from "./interaction.module";
|
|
11
11
|
export * from "./result";
|
|
12
|
+
export * from "./route-synchronisation-adapter";
|
|
12
13
|
export * from "./components/activity-container/activity-container.component";
|
|
13
|
-
export * from "./components/activity-outlet/activity-outlet
|
|
14
|
-
export * from "./components/activity-outlet/activity-outlet.component";
|
|
14
|
+
export * from "./components/activity-container/activity-outlet/activity-outlet.component";
|
|
15
15
|
export * from "./components/alert-dialog/alert-dialog.component";
|
|
16
16
|
export * from "./components/confirm-then-dialog/confirm-then-dialog.component";
|
|
17
17
|
export * from "./components/confirmation-dialog/confirmation-dialog.component";
|
|
18
|
-
export * from "./components/inplace-interaction-context/
|
|
18
|
+
export * from "./components/inplace-interaction-context/in-place-interaction-context.component";
|
|
19
|
+
export * from "./services/interaction-service-routing-adapter";
|
|
19
20
|
export * from "./services/interaction.service";
|
|
20
21
|
export * from "./services/modal-interaction-context.factory";
|
|
21
22
|
export * from "./services/mat-dialog-interaction/dialog-interaction-context-factory";
|
|
@@ -1,35 +1,14 @@
|
|
|
1
|
-
import { Constructable,
|
|
1
|
+
import { Constructable, Disposable } from '@coolon/pectin';
|
|
2
2
|
import { Activity } from './activity';
|
|
3
3
|
import { Alert } from './alert';
|
|
4
4
|
import { Confirm } from './confirm';
|
|
5
|
-
export
|
|
6
|
-
|
|
7
|
-
abstract readonly activityList: ListModel<Activity<any, any, any>>;
|
|
8
|
-
abstract readonly activeActivity: ValueModel<Activity<any, any, any>>;
|
|
9
|
-
/**
|
|
10
|
-
* Returns true if an activity is currently running.
|
|
11
|
-
*/
|
|
5
|
+
export interface InteractionContext extends Disposable, Disposable.Collector {
|
|
6
|
+
readonly identifier: string;
|
|
12
7
|
isActive(): boolean;
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Cancels the current activity and returns true the context is no longer active, false if
|
|
16
|
-
* there is still another activity running.
|
|
17
|
-
*/
|
|
8
|
+
startActivity<D, R, E>(activityType: Constructable<Activity<D, R, E>>, data?: D): Promise<R>;
|
|
18
9
|
cancelActiveActivity(): Promise<boolean>;
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
abstract getActiveActivity(): Promise<Activity<any, any>>;
|
|
24
|
-
abstract startActivity<D, R, E>(activityType: Constructable<Activity<D, R, E>>, data?: D): Promise<R>;
|
|
25
|
-
abstract alert(alert: Alert): Promise<void>;
|
|
26
|
-
abstract confirm(confirm: Confirm): Promise<boolean>;
|
|
27
|
-
abstract confirmOrReject(confirm: Confirm): Promise<void>;
|
|
28
|
-
/**
|
|
29
|
-
* Presents the confirmation to the user and runs the activity only if the user confirms.
|
|
30
|
-
* @param confirm:Confirm the confirmation to display.
|
|
31
|
-
* @param activityType the activity to run if confirmed.
|
|
32
|
-
* @param data the activity data.
|
|
33
|
-
*/
|
|
34
|
-
abstract confirmThen<D, R, E>(confirm: Confirm, activityType: Constructable<Activity<D, R, E>>, data?: D): Promise<R>;
|
|
10
|
+
confirm(confirm: Confirm): Promise<boolean>;
|
|
11
|
+
alert(alert: Alert): Promise<void>;
|
|
12
|
+
confirmOrReject(confirm: Confirm): Promise<void>;
|
|
13
|
+
confirmThen<D, R, E>(confirm: Confirm, activityType: Constructable<Activity<D, R, E>>, data?: D): Promise<R>;
|
|
35
14
|
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ListModel, ValueModel } from '@coolon/pectin';
|
|
2
|
+
import { PlaceComponent } from '../../place/place-component';
|
|
3
|
+
import { InteractionContext } from '../interaction-context';
|
|
4
|
+
export declare class InteractionServiceRoutingAdapter {
|
|
5
|
+
private readonly activeInteractionContextIds;
|
|
6
|
+
private readonly activeModalContext;
|
|
7
|
+
readonly createExclusiveInteractionContext: () => InteractionContext;
|
|
8
|
+
constructor(activeInteractionContextIds: ListModel<string>, activeModalContext: ValueModel<InteractionContext>, createExclusiveInteractionContext: () => InteractionContext);
|
|
9
|
+
isActive(): boolean;
|
|
10
|
+
isModalActive(): boolean;
|
|
11
|
+
isComponentInteracting(component: PlaceComponent): boolean;
|
|
12
|
+
getActiveInteractionContextIds(): string[];
|
|
13
|
+
cancelCurrentModalInteraction(): Promise<boolean>;
|
|
14
|
+
cancelComponentInteraction(component: PlaceComponent): Promise<boolean>;
|
|
15
|
+
}
|
|
@@ -1,20 +1,23 @@
|
|
|
1
|
-
import { BooleanValueModelChain, Disposable, GarbageCollector,
|
|
1
|
+
import { BooleanValueModelChain, Disposable, GarbageCollector, ListModel, ListModelChain, ValueModel } from '@coolon/pectin';
|
|
2
|
+
import { PlaceRouter } from '../../place/place-router';
|
|
3
|
+
import { InPlaceInteractionContextComponent } from '../components/inplace-interaction-context/in-place-interaction-context.component';
|
|
2
4
|
import { InteractionContext } from '../interaction-context';
|
|
5
|
+
import { InteractionServiceRoutingAdapter } from './interaction-service-routing-adapter';
|
|
3
6
|
import { ModalInteractionContextFactory } from './modal-interaction-context.factory';
|
|
4
7
|
export declare class InteractionService {
|
|
5
8
|
readonly modelInteractionContextFactory: ModalInteractionContextFactory;
|
|
6
9
|
private readonly garbage;
|
|
7
10
|
readonly active: BooleanValueModelChain;
|
|
8
|
-
private readonly
|
|
9
|
-
private
|
|
10
|
-
private
|
|
11
|
-
private
|
|
11
|
+
private readonly _navigationInProgress;
|
|
12
|
+
private placeRouter;
|
|
13
|
+
private exclusiveInteractionRegistry;
|
|
14
|
+
private modalInteractionRegistry;
|
|
15
|
+
private inPlaceInteractionRegistry;
|
|
16
|
+
private activeModalContext;
|
|
12
17
|
readonly activeInteractionContextIds: ListModelChain<string>;
|
|
13
|
-
readonly
|
|
14
|
-
readonly inlineInteractionActive: BooleanValueModelChain;
|
|
18
|
+
readonly inModalInteraction: BooleanValueModelChain;
|
|
15
19
|
constructor(modelInteractionContextFactory: ModalInteractionContextFactory);
|
|
16
20
|
isActive(): boolean;
|
|
17
|
-
isModalActive(): boolean;
|
|
18
21
|
/**
|
|
19
22
|
* @deprecated use #createModalInteractionContextDisposedWith instead.
|
|
20
23
|
* @param disposable
|
|
@@ -25,8 +28,7 @@ export declare class InteractionService {
|
|
|
25
28
|
* @param disposable
|
|
26
29
|
*/
|
|
27
30
|
createModalInteractionContextDisposedWith(disposable: Disposable.Collector): InteractionContext;
|
|
28
|
-
|
|
29
|
-
getActiveContext(): InteractionContext;
|
|
31
|
+
registerInplaceInteractionContext(interactionContext: InPlaceInteractionContextComponent<any, any, any>): void;
|
|
30
32
|
/**
|
|
31
33
|
* Creates an interaction context that will prevent any other contexts from starting an
|
|
32
34
|
* activity until it is disposed. This is intended for use by the router for passing
|
|
@@ -34,22 +36,48 @@ export declare class InteractionService {
|
|
|
34
36
|
* try and interact in a way that we can't track and synchronise with the browser back
|
|
35
37
|
* button.
|
|
36
38
|
*/
|
|
37
|
-
|
|
39
|
+
registerPlaceRouter(router: PlaceRouter): InteractionServiceRoutingAdapter;
|
|
38
40
|
}
|
|
39
41
|
export declare namespace InteractionService {
|
|
40
|
-
interface
|
|
41
|
-
|
|
42
|
-
|
|
42
|
+
interface Api {
|
|
43
|
+
/**
|
|
44
|
+
* Notifies the interaction service that a particular interactionContext has become active. The interaction
|
|
45
|
+
* services will then push changes to the router to track state. If the router is idle, the promise will
|
|
46
|
+
* resolve when the routing has finished updating. Otherwise it will return immediately.
|
|
47
|
+
* @param interactionContext
|
|
48
|
+
*/
|
|
49
|
+
notifyActive(interactionContext: InteractionContext): Promise<unknown>;
|
|
50
|
+
/**
|
|
51
|
+
* Notifies the interaction service that a particular interactionContext has become idle. The interaction
|
|
52
|
+
* services will then push changes to the router to track state. If the router is idle, the promise will
|
|
53
|
+
* resolve when the routing has finished updating. Otherwise it will return immediately.
|
|
54
|
+
* @param interactionContext
|
|
55
|
+
*/
|
|
56
|
+
notifyFinished(interactionContext: InteractionContext): Promise<unknown>;
|
|
43
57
|
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
private
|
|
52
|
-
|
|
53
|
-
|
|
58
|
+
/**
|
|
59
|
+
* Provides a mechanism for the service to keep track of what the API adapters are doing to
|
|
60
|
+
* ensure the rules are followed, i.e. modal or in-place interaction aren't started while
|
|
61
|
+
* an exclusive routing interaction is active.
|
|
62
|
+
*/
|
|
63
|
+
class ContextRegistry extends GarbageCollector {
|
|
64
|
+
private _interactions;
|
|
65
|
+
private _disabledDelegate;
|
|
66
|
+
readonly active: BooleanValueModelChain;
|
|
67
|
+
readonly interactionContextIds: ListModelChain<string>;
|
|
68
|
+
constructor();
|
|
69
|
+
readonly interactionContexts: ListModel<InteractionContext>;
|
|
70
|
+
start(context: InteractionContext): void;
|
|
71
|
+
finish(context: InteractionContext): void;
|
|
72
|
+
isActive(): boolean;
|
|
73
|
+
disableWhen(disabled: ValueModel<boolean>): void;
|
|
74
|
+
}
|
|
75
|
+
class ApiAdapter implements Api {
|
|
76
|
+
private readonly placeRouter;
|
|
77
|
+
private readonly contextRegistry;
|
|
78
|
+
constructor(placeRouter: PlaceRouter, contextRegistry: ContextRegistry);
|
|
79
|
+
notifyActive(context: InteractionContext): Promise<any>;
|
|
80
|
+
private isNavigationInProgress;
|
|
81
|
+
notifyFinished(context: InteractionContext): Promise<any>;
|
|
54
82
|
}
|
|
55
83
|
}
|
package/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import { MatDialog } from '@angular/material';
|
|
|
3
3
|
import { MatDialogConfig } from '@angular/material/dialog';
|
|
4
4
|
import { BooleanValueModelChain } from '@coolon/pectin';
|
|
5
5
|
import { InteractionContext } from '../../interaction-context';
|
|
6
|
+
import { InteractionService } from '../interaction.service';
|
|
6
7
|
import { ModalInteractionContextFactory } from '../modal-interaction-context.factory';
|
|
7
8
|
export declare const DIALOG_INTERACTION_SERVICE_DEFAULTS: InjectionToken<MatDialogConfig<any>>;
|
|
8
9
|
export declare class DialogInteractionContextFactory extends ModalInteractionContextFactory {
|
|
@@ -11,5 +12,5 @@ export declare class DialogInteractionContextFactory extends ModalInteractionCon
|
|
|
11
12
|
readonly matDialogDefaultConfig: MatDialogConfig<any>;
|
|
12
13
|
readonly active: BooleanValueModelChain;
|
|
13
14
|
constructor(dialogService: MatDialog, dialogServiceDefaults: MatDialogConfig<any>, matDialogDefaultConfig: MatDialogConfig<any>);
|
|
14
|
-
createInteractionContext(): InteractionContext;
|
|
15
|
+
createInteractionContext(identifier: string, api: InteractionService.Api): InteractionContext;
|
|
15
16
|
}
|
|
@@ -1,18 +1,21 @@
|
|
|
1
1
|
import { MatDialog } from '@angular/material';
|
|
2
2
|
import { MatDialogConfig } from '@angular/material/dialog';
|
|
3
|
-
import { Constructable,
|
|
3
|
+
import { Constructable, Disposable } from '@coolon/pectin';
|
|
4
|
+
import { AbstractInteractionContext } from '../../abstract-interaction-context';
|
|
4
5
|
import { Activity } from '../../activity';
|
|
5
|
-
import {
|
|
6
|
-
export declare class DialogInteractionContext extends
|
|
6
|
+
import { InteractionService } from '../interaction.service';
|
|
7
|
+
export declare class DialogInteractionContext extends AbstractInteractionContext {
|
|
8
|
+
readonly identifier: string;
|
|
9
|
+
private readonly api;
|
|
7
10
|
private readonly dialogService;
|
|
8
11
|
readonly config: MatDialogConfig<any>;
|
|
9
|
-
private
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
12
|
+
private garbage;
|
|
13
|
+
private _currentActivityRef;
|
|
14
|
+
private activityContainer;
|
|
15
|
+
constructor(identifier: string, api: InteractionService.Api, dialogService: MatDialog, config: MatDialogConfig<any>);
|
|
16
|
+
cancelActiveActivity(): Promise<boolean>;
|
|
17
|
+
dispose(): void;
|
|
18
|
+
registerDisposable<T extends Disposable>(disposable: T): T;
|
|
19
|
+
isActive(): boolean;
|
|
20
|
+
protected createAndLaunchActivity<D, R, E>(activityType: Constructable<Activity<D, R, E>>, data: D, disableClose: boolean): Promise<R>;
|
|
18
21
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { InteractionContext } from '../interaction-context';
|
|
2
|
+
import { InteractionService } from './interaction.service';
|
|
2
3
|
export declare abstract class ModalInteractionContextFactory {
|
|
3
|
-
abstract createInteractionContext(): InteractionContext;
|
|
4
|
+
abstract createInteractionContext(identifier: string, api: InteractionService.Api): InteractionContext;
|
|
4
5
|
}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { OnInit } from '@angular/core';
|
|
2
|
-
import { Command, Constructable, ListModel, ListModelChain, ValueModel
|
|
2
|
+
import { Command, Constructable, DelegatingValueModel, ListModel, ListModelChain, ValueModel } from '@coolon/pectin';
|
|
3
3
|
import { DisposableComponent } from '../../components/disposable-component';
|
|
4
4
|
import { NavItem } from '../nav-item';
|
|
5
5
|
import { PlaceComponent } from '../place-component';
|
|
6
6
|
import { PlaceDefinition } from '../place-definition';
|
|
7
|
+
import { PlaceRouter } from '../place-router';
|
|
7
8
|
import { PlaceOutletComponent } from './place-outlet/place-outlet.component';
|
|
8
9
|
export declare class AbstractPlaceNavigationComponent extends DisposableComponent implements OnInit {
|
|
9
10
|
places: Constructable<PlaceComponent>[];
|
|
@@ -12,8 +13,9 @@ export declare class AbstractPlaceNavigationComponent extends DisposableComponen
|
|
|
12
13
|
placeOutletModel: ValueModel<PlaceOutletComponent>;
|
|
13
14
|
readonly placeDefinitions: ListModelChain<PlaceDefinition>;
|
|
14
15
|
readonly commandFactory: Command.Factory<PlaceDefinition, void>;
|
|
15
|
-
readonly
|
|
16
|
-
|
|
16
|
+
readonly _activePlaceComponent: DelegatingValueModel<PlaceComponent>;
|
|
17
|
+
private activePlaceDefinition;
|
|
18
|
+
constructor(placeRouter: PlaceRouter);
|
|
17
19
|
getNav(placeDef: PlaceDefinition): NavItem;
|
|
18
20
|
isActive(place: PlaceDefinition): boolean;
|
|
19
21
|
ngOnInit(): void;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { PlaceRouter } from '../../place-router';
|
|
1
2
|
import { AbstractPlaceNavigationComponent } from '../abstract-place-navigation.component';
|
|
2
3
|
export declare class ListPlaceNavComponent extends AbstractPlaceNavigationComponent {
|
|
3
4
|
expanded: boolean;
|
|
4
|
-
constructor();
|
|
5
|
+
constructor(placeRouter: PlaceRouter);
|
|
5
6
|
expandMenu(): void;
|
|
6
7
|
collapseMenu(): void;
|
|
7
8
|
toggleMenu(): void;
|
|
@@ -16,30 +16,29 @@ export declare class PlaceOutletComponent extends DisposableComponent implements
|
|
|
16
16
|
customPlaceAnimationOrder: Constructable<PlaceComponent>[];
|
|
17
17
|
readonly placeChanged: EventEmitter<PlaceComponent>;
|
|
18
18
|
routerOut: RouterOutlet;
|
|
19
|
-
private
|
|
20
|
-
private readonly _activePlaceVisitModel;
|
|
21
|
-
private readonly _inOutletActivation;
|
|
22
|
-
private readonly _inOutletDeactivation;
|
|
23
|
-
private readonly _inOutletUpdate;
|
|
24
|
-
private readonly _inRouteVisitUpdate;
|
|
19
|
+
private outletActivated;
|
|
25
20
|
private readonly _activatedRouteModel;
|
|
26
|
-
private readonly
|
|
21
|
+
private readonly _activePlaceModel;
|
|
22
|
+
private readonly _activePlaceDefinition;
|
|
27
23
|
private parentOutletModel;
|
|
28
24
|
readonly placeAnimationOrder: ValueModelChain<number>;
|
|
29
25
|
private initialPlaceIndex;
|
|
30
|
-
private
|
|
26
|
+
private routerVisitModel;
|
|
27
|
+
private _isPushingVisitToRoute;
|
|
28
|
+
private navigationInProgress;
|
|
31
29
|
constructor(router: Router, placeRouter: PlaceRouter, placeConfig: PlaceConfig, parentOutlet: PlaceOutletComponent);
|
|
32
30
|
ngOnInit(): void;
|
|
33
31
|
getAnimationOrder(): number;
|
|
34
32
|
readonly animationDuration: string;
|
|
35
33
|
navigate(visit: Visit): void;
|
|
36
34
|
readonly parentOutlet: PlaceOutletComponent;
|
|
37
|
-
pushRouteChangesToVisit(): void;
|
|
38
|
-
pushVisitChangesToRoute(next: Visit, previous: Visit): void;
|
|
39
35
|
readonly activePlaceModel: ValueModel<PlaceComponent>;
|
|
40
36
|
readonly activatedRouteModel: ValueModel<ActivatedRoute>;
|
|
41
37
|
onOutletActivated(routerOutlet: RouterOutlet, place: PlaceComponent): void;
|
|
42
38
|
onOutletDeactivated(): void;
|
|
39
|
+
private checkStateAndInitialise;
|
|
40
|
+
private initialisePlace;
|
|
41
|
+
private pushVisitChangeToRoute;
|
|
43
42
|
animationStarted(): void;
|
|
44
43
|
animationDone(): void;
|
|
45
44
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
+
import { PlaceRouter } from '../../place-router';
|
|
1
2
|
import { AbstractPlaceNavigationComponent } from '../abstract-place-navigation.component';
|
|
2
3
|
export declare class TabbedPlaceNavigationComponent extends AbstractPlaceNavigationComponent {
|
|
3
|
-
constructor();
|
|
4
|
+
constructor(placeRouter: PlaceRouter);
|
|
4
5
|
}
|