@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
package/esm2015/lib/interaction/components/activity-container/activity-container.component.js
CHANGED
|
@@ -2,269 +2,239 @@
|
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
3
|
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
|
-
import
|
|
5
|
+
import * as tslib_1 from "tslib";
|
|
6
|
+
import { Component, Input, QueryList, ViewChild, ViewChildren } from '@angular/core';
|
|
6
7
|
import { MatTabGroup } from '@angular/material';
|
|
7
|
-
import { assert, Dsl,
|
|
8
|
-
import {
|
|
9
|
-
import
|
|
8
|
+
import { assert, Dsl, GarbageCollector, Trace } from '@coolon/pectin';
|
|
9
|
+
import { lang } from '@coolon/typescript-utilities';
|
|
10
|
+
import _ from 'lodash';
|
|
11
|
+
import { AbstractInteractionContext } from '../../abstract-interaction-context';
|
|
12
|
+
import { ActivityRef } from '../../activity-ref';
|
|
13
|
+
import { ActivityOutletComponent } from './activity-outlet/activity-outlet.component';
|
|
10
14
|
/**
|
|
11
|
-
* Note: this class is mutable and is stored in a list model. This is normally a big no no but
|
|
12
|
-
* we're manually deriving other models from the list after view state changes. I.e. we not
|
|
13
|
-
* using pectin chains on any of the mutable fields.
|
|
14
15
|
* @template D, R, E
|
|
15
16
|
*/
|
|
16
|
-
class
|
|
17
|
+
export class ActivityContainerComponent extends AbstractInteractionContext {
|
|
18
|
+
constructor() {
|
|
19
|
+
super();
|
|
20
|
+
this.dynamicHeight = false;
|
|
21
|
+
this.activityTabs = [];
|
|
22
|
+
this.garbage = new GarbageCollector();
|
|
23
|
+
}
|
|
17
24
|
/**
|
|
18
|
-
* @
|
|
19
|
-
* @param {?} activityClass
|
|
20
|
-
* @param {?} interactionContext
|
|
21
|
-
* @param {?} activityCallbacks
|
|
25
|
+
* @return {?}
|
|
22
26
|
*/
|
|
23
|
-
|
|
24
|
-
this.activityData = activityData;
|
|
25
|
-
this.activityClass = activityClass;
|
|
26
|
-
this.interactionContext = interactionContext;
|
|
27
|
-
this.activityCallbacks = activityCallbacks;
|
|
28
|
-
this._complete = false;
|
|
27
|
+
ngOnInit() {
|
|
29
28
|
}
|
|
30
29
|
/**
|
|
31
30
|
* @return {?}
|
|
32
31
|
*/
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
ngAfterViewInit() {
|
|
33
|
+
const { chain, observe } = Dsl.disposeWith(this);
|
|
34
|
+
observe.valuesFrom(this.tabs.animationDone).subscribe((/**
|
|
35
|
+
* @return {?}
|
|
36
|
+
*/
|
|
37
|
+
() => this.onAnimationFinished()));
|
|
35
38
|
}
|
|
36
39
|
/**
|
|
40
|
+
* @param {?} identifier
|
|
41
|
+
* @param {?} api
|
|
37
42
|
* @return {?}
|
|
38
43
|
*/
|
|
39
|
-
|
|
40
|
-
|
|
44
|
+
initialise(identifier, api) {
|
|
45
|
+
assert.isFalsey(this.isInitialised());
|
|
46
|
+
assert.notNil(identifier);
|
|
47
|
+
assert.notNil(api);
|
|
48
|
+
this._identifier = identifier;
|
|
49
|
+
this.interactionServiceApi = api;
|
|
41
50
|
}
|
|
42
51
|
/**
|
|
43
|
-
* @param {?} component
|
|
44
52
|
* @return {?}
|
|
45
53
|
*/
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
this._component = component;
|
|
54
|
+
get identifier() {
|
|
55
|
+
return this._identifier;
|
|
49
56
|
}
|
|
50
57
|
/**
|
|
51
58
|
* @return {?}
|
|
52
59
|
*/
|
|
53
|
-
|
|
54
|
-
return this.
|
|
60
|
+
isInitialised() {
|
|
61
|
+
return !!this.identifier;
|
|
55
62
|
}
|
|
56
|
-
// @Trace()
|
|
57
63
|
/**
|
|
58
|
-
*
|
|
64
|
+
* Returns true if an activity is currently running.
|
|
59
65
|
* @return {?}
|
|
60
66
|
*/
|
|
61
|
-
|
|
62
|
-
this.
|
|
63
|
-
this.activityCallbacks.onDone(result);
|
|
67
|
+
isActive() {
|
|
68
|
+
return this.getActiveActivityCount() > 0;
|
|
64
69
|
}
|
|
65
|
-
// @Trace()
|
|
66
70
|
/**
|
|
67
|
-
* @
|
|
71
|
+
* @template T
|
|
72
|
+
* @param {?} disposable
|
|
68
73
|
* @return {?}
|
|
69
74
|
*/
|
|
70
|
-
|
|
71
|
-
this.
|
|
72
|
-
this.activityCallbacks.onCancel(error);
|
|
75
|
+
registerDisposable(disposable) {
|
|
76
|
+
return this.garbage.registerDisposable(disposable);
|
|
73
77
|
}
|
|
74
78
|
/**
|
|
75
79
|
* @return {?}
|
|
76
80
|
*/
|
|
77
81
|
dispose() {
|
|
78
|
-
|
|
82
|
+
// TODO: think about auto cancelling any outstanding activity on dispose.
|
|
83
|
+
// See NavigationState.Navigating for a use-case.
|
|
84
|
+
assert.isFalsey(this.isActive());
|
|
85
|
+
this.garbage.dispose();
|
|
79
86
|
}
|
|
80
|
-
}
|
|
81
|
-
if (false) {
|
|
82
|
-
/**
|
|
83
|
-
* @type {?}
|
|
84
|
-
* @private
|
|
85
|
-
*/
|
|
86
|
-
TabContext.prototype._complete;
|
|
87
87
|
/**
|
|
88
|
-
* @
|
|
89
|
-
* @private
|
|
88
|
+
* @return {?}
|
|
90
89
|
*/
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
TabContext.prototype.interactionContext;
|
|
98
|
-
/** @type {?} */
|
|
99
|
-
TabContext.prototype.activityCallbacks;
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* @template D, R, E
|
|
103
|
-
*/
|
|
104
|
-
export class ActivityContainerComponent extends InteractionContextBase {
|
|
105
|
-
constructor() {
|
|
106
|
-
super();
|
|
107
|
-
this.throttledNestedActivityFinishEvents = new MutableStream();
|
|
108
|
-
this._initialActivityOutletContext = new MutableValueModel();
|
|
109
|
-
// tslint:disable-next-line:no-output-rename
|
|
110
|
-
this.initialActivityOutletContextEvent = new EventEmitter();
|
|
111
|
-
this.dynamicHeight = false;
|
|
112
|
-
this.activityTabs = new MutableListModel();
|
|
113
|
-
this._activityList = new MutableListModel();
|
|
114
|
-
const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
|
|
115
|
-
chain(this.throttledNestedActivityFinishEvents).throttle(50).subscribe((/**
|
|
90
|
+
getActiveActivityRef() {
|
|
91
|
+
if (!this.isActive()) {
|
|
92
|
+
lang.illegalState('no activity in progress');
|
|
93
|
+
}
|
|
94
|
+
return _.findLast(this.activityTabs, (/**
|
|
95
|
+
* @param {?} tab
|
|
116
96
|
* @return {?}
|
|
117
97
|
*/
|
|
118
|
-
|
|
119
|
-
this.setActivityList(this._activityList.readonly);
|
|
120
|
-
this.active = chain(this._initialActivityOutletContext).isNotNil();
|
|
98
|
+
tab => !tab.isComplete()));
|
|
121
99
|
}
|
|
122
100
|
/**
|
|
123
|
-
*
|
|
101
|
+
* Cancels the current activity and returns true the context is no longer active, false if
|
|
102
|
+
* there is still another activity running.
|
|
124
103
|
* @return {?}
|
|
125
104
|
*/
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
105
|
+
// @Trace()
|
|
106
|
+
cancelActiveActivity() {
|
|
107
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
108
|
+
/** @type {?} */
|
|
109
|
+
const activity = this.getActiveActivityRef();
|
|
110
|
+
activity.cancel();
|
|
111
|
+
if (this.isCleaningUp()) {
|
|
112
|
+
return this.waitForInteractionContextCleanupToFinish();
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
return !this.isActive();
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
// TODO: this handling of multiple nested activities is only used by the activity component and is not a general case.
|
|
120
|
+
// @Trace()
|
|
121
|
+
/**
|
|
122
|
+
* @protected
|
|
123
|
+
* @template D1, R1, E1
|
|
124
|
+
* @param {?} activityType
|
|
125
|
+
* @param {?} data
|
|
126
|
+
* @param {?} disableClose
|
|
127
|
+
* @return {?}
|
|
128
|
+
*/
|
|
129
|
+
createAndLaunchActivity(activityType, data, disableClose) {
|
|
130
|
+
assert.isTruthy(this.isInitialised()); // make sure we've been initialised
|
|
131
|
+
// make sure we've been initialised
|
|
132
132
|
/** @type {?} */
|
|
133
|
-
const
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
initialContext.onCancel(error);
|
|
152
|
-
})
|
|
153
|
-
}));
|
|
133
|
+
const activityRef = new ActivityRef(activityType, data, (/**
|
|
134
|
+
* @return {?}
|
|
135
|
+
*/
|
|
136
|
+
() => {
|
|
137
|
+
/** @type {?} */
|
|
138
|
+
const activeActivityCount = this.getActiveActivityCount() > 0;
|
|
139
|
+
if (activeActivityCount) {
|
|
140
|
+
this.triggerTabSynchronisation();
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
this.finishAndStartCleanup();
|
|
144
|
+
}
|
|
145
|
+
}));
|
|
146
|
+
this.launchActivity(activityRef);
|
|
147
|
+
// if this is the first activity let the interaction service know.
|
|
148
|
+
if (this.activityTabs.length === 1) {
|
|
149
|
+
// console.log('Now active!!!');
|
|
150
|
+
this.interactionServiceApi.notifyActive(this);
|
|
154
151
|
}
|
|
152
|
+
return activityRef.activityResult;
|
|
155
153
|
}
|
|
156
154
|
/**
|
|
155
|
+
* @private
|
|
157
156
|
* @return {?}
|
|
158
157
|
*/
|
|
159
|
-
|
|
160
|
-
return this.
|
|
158
|
+
getActiveActivityCount() {
|
|
159
|
+
return this.activityTabs.filter((/**
|
|
160
|
+
* @param {?} ref
|
|
161
|
+
* @return {?}
|
|
162
|
+
*/
|
|
163
|
+
ref => !ref.isComplete())).length;
|
|
161
164
|
}
|
|
162
165
|
/**
|
|
166
|
+
* Checks if this interaction context has finished an is in the process of waiting
|
|
167
|
+
* for all the infrastructure (including route updates) to be completed.
|
|
163
168
|
* @return {?}
|
|
164
169
|
*/
|
|
165
|
-
|
|
170
|
+
isCleaningUp() {
|
|
171
|
+
return !!this._deferredCleanUp;
|
|
166
172
|
}
|
|
167
173
|
/**
|
|
168
174
|
* @return {?}
|
|
169
175
|
*/
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
* @return {?}
|
|
177
|
-
*/
|
|
178
|
-
() => this.updateActivityList()))));
|
|
179
|
-
observe.valuesFrom(this.tabs.animationDone).subscribe((/**
|
|
180
|
-
* @return {?}
|
|
181
|
-
*/
|
|
182
|
-
() => this.onAnimationFinished()));
|
|
183
|
-
this.updateActivityList();
|
|
176
|
+
waitForInteractionContextCleanupToFinish() {
|
|
177
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
178
|
+
return this._deferredCleanUp ?
|
|
179
|
+
this._deferredCleanUp :
|
|
180
|
+
true;
|
|
181
|
+
});
|
|
184
182
|
}
|
|
183
|
+
// @Trace()
|
|
185
184
|
/**
|
|
186
|
-
* @
|
|
187
|
-
* @param {?} activityType
|
|
188
|
-
* @param {?=} data
|
|
185
|
+
* @private
|
|
189
186
|
* @return {?}
|
|
190
187
|
*/
|
|
191
|
-
|
|
192
|
-
this.
|
|
193
|
-
/** @type {?} */
|
|
194
|
-
const self = this;
|
|
195
|
-
return new Promise((/**
|
|
196
|
-
* @param {?} resolve
|
|
197
|
-
* @param {?} reject
|
|
198
|
-
* @return {?}
|
|
199
|
-
*/
|
|
200
|
-
(resolve, reject) => {
|
|
188
|
+
finishAndStartCleanup() {
|
|
189
|
+
if (!this._deferredCleanUp) {
|
|
201
190
|
/** @type {?} */
|
|
202
|
-
const
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
onCancel: (/**
|
|
212
|
-
* @param {?} error
|
|
213
|
-
* @return {?}
|
|
214
|
-
*/
|
|
215
|
-
function (error) {
|
|
216
|
-
reject(error);
|
|
217
|
-
self.throttledNestedActivityFinishEvents.publish({});
|
|
218
|
-
})
|
|
219
|
-
});
|
|
220
|
-
self.activityTabs.push(context);
|
|
221
|
-
self.tabs.selectedIndex = this.activityTabs.length;
|
|
222
|
-
}));
|
|
191
|
+
const promise = this.interactionServiceApi.notifyFinished(this);
|
|
192
|
+
this._deferredCleanUp = promise
|
|
193
|
+
.finally((/**
|
|
194
|
+
* @return {?}
|
|
195
|
+
*/
|
|
196
|
+
() => {
|
|
197
|
+
this._deferredCleanUp = null;
|
|
198
|
+
}));
|
|
199
|
+
}
|
|
223
200
|
}
|
|
201
|
+
// @Trace()
|
|
224
202
|
/**
|
|
225
|
-
* @
|
|
203
|
+
* @template D1, R1, E1
|
|
204
|
+
* @param {?} activityRef
|
|
226
205
|
* @return {?}
|
|
227
206
|
*/
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
this.
|
|
231
|
-
|
|
207
|
+
launchActivity(activityRef) {
|
|
208
|
+
/** @type {?} */
|
|
209
|
+
const cleanedTabs = this.activityTabs.filter((/**
|
|
210
|
+
* @param {?} tab
|
|
211
|
+
* @return {?}
|
|
212
|
+
*/
|
|
213
|
+
tab => !tab.isComplete()));
|
|
214
|
+
this.activityTabs = cleanedTabs.concat(activityRef);
|
|
215
|
+
this.tabs.selectedIndex = this.activityTabs.length;
|
|
232
216
|
}
|
|
233
|
-
// @Trace()
|
|
234
217
|
/**
|
|
235
|
-
* @
|
|
218
|
+
* @param {?} index
|
|
219
|
+
* @param {?} activityRef
|
|
236
220
|
* @return {?}
|
|
237
221
|
*/
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
this.updateActivityList();
|
|
222
|
+
activityIndex(index, activityRef) {
|
|
223
|
+
return index;
|
|
241
224
|
}
|
|
225
|
+
;
|
|
242
226
|
// @Trace()
|
|
243
227
|
/**
|
|
244
228
|
* @private
|
|
245
229
|
* @return {?}
|
|
246
230
|
*/
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
const finishedActivityTabs = tabs.slice(1 + this.tabs.selectedIndex);
|
|
255
|
-
finishedActivityTabs.forEach((/**
|
|
256
|
-
* @param {?} a
|
|
257
|
-
* @return {?}
|
|
258
|
-
*/
|
|
259
|
-
a => a.dispose()));
|
|
260
|
-
this.activityTabs.runInTransaction((/**
|
|
261
|
-
* @param {?} draft
|
|
262
|
-
* @return {?}
|
|
263
|
-
*/
|
|
264
|
-
draft => {
|
|
265
|
-
draft.value = remainingActivities;
|
|
266
|
-
}));
|
|
267
|
-
}
|
|
231
|
+
onAnimationFinished() {
|
|
232
|
+
this.getSelectedOutlet().component.onActivityReady();
|
|
233
|
+
this.activityTabs = this.activityTabs.filter((/**
|
|
234
|
+
* @param {?} tab
|
|
235
|
+
* @return {?}
|
|
236
|
+
*/
|
|
237
|
+
tab => !tab.isComplete()));
|
|
268
238
|
}
|
|
269
239
|
/**
|
|
270
240
|
* Synchronises the selected tab index. Returns true if there was no change to the selected index.
|
|
@@ -276,90 +246,89 @@ export class ActivityContainerComponent extends InteractionContextBase {
|
|
|
276
246
|
/** @type {?} */
|
|
277
247
|
const previousIndex = this.tabs.selectedIndex;
|
|
278
248
|
/** @type {?} */
|
|
279
|
-
const newIndex = this.
|
|
280
|
-
* @param {?} t
|
|
281
|
-
* @return {?}
|
|
282
|
-
*/
|
|
283
|
-
t => t.isComplete())) - 1;
|
|
249
|
+
const newIndex = this.getActiveActivityCount() - 1;
|
|
284
250
|
this.tabs.selectedIndex = newIndex;
|
|
285
251
|
return previousIndex === newIndex;
|
|
286
252
|
}
|
|
287
|
-
// @Trace()
|
|
288
253
|
/**
|
|
289
254
|
* @private
|
|
290
255
|
* @return {?}
|
|
291
256
|
*/
|
|
292
|
-
|
|
293
|
-
this.
|
|
294
|
-
this.cleanupStaleNestedActivities();
|
|
295
|
-
this.updateActivityList();
|
|
257
|
+
getSelectedOutlet() {
|
|
258
|
+
return this.activityOutlets.toArray()[this.tabs.selectedIndex];
|
|
296
259
|
}
|
|
260
|
+
// @Trace()
|
|
297
261
|
/**
|
|
298
262
|
* @private
|
|
299
263
|
* @return {?}
|
|
300
264
|
*/
|
|
301
|
-
|
|
302
|
-
this.
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
t => !t.isComplete() && t.isComponentRealised())).map((/**
|
|
307
|
-
* @param {?} t
|
|
265
|
+
triggerTabSynchronisation() {
|
|
266
|
+
if (this.syncSelectedTabTimeout) {
|
|
267
|
+
clearTimeout(this.syncSelectedTabTimeout);
|
|
268
|
+
}
|
|
269
|
+
this.syncSelectedTabTimeout = setTimeout((/**
|
|
308
270
|
* @return {?}
|
|
309
271
|
*/
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
* @return {?}
|
|
315
|
-
*/
|
|
316
|
-
getSelectedOutlet() {
|
|
317
|
-
return this.outlets.toArray()[this.tabs.selectedIndex];
|
|
272
|
+
() => {
|
|
273
|
+
this.syncSelectedTabTimeout = null;
|
|
274
|
+
this.synchroniseSelectedTabIndex();
|
|
275
|
+
}), 75);
|
|
318
276
|
}
|
|
319
277
|
}
|
|
320
278
|
ActivityContainerComponent.decorators = [
|
|
321
279
|
{ type: Component, args: [{
|
|
322
280
|
selector: 'aup-activity-container',
|
|
323
|
-
template: "<mat-tab-group #tabs no-tab-header [dynamicHeight]=\"dynamicHeight\" [class.full-height-tabs]=\"!dynamicHeight\">\n <mat-tab *ngFor=\"let tab of activityTabs
|
|
281
|
+
template: "<mat-tab-group #tabs no-tab-header [dynamicHeight]=\"dynamicHeight\" [class.full-height-tabs]=\"!dynamicHeight\">\n <mat-tab *ngFor=\"let tab of activityTabs; trackBy: activityIndex\" >\n <aup-activity-outlet [nestedInteractionContext]=\"this\" [activityRef]=\"tab\"></aup-activity-outlet>\n </mat-tab>\n</mat-tab-group>\n",
|
|
324
282
|
styles: [":host{display:flex;flex-direction:column}mat-tab-group{flex:1}"]
|
|
325
283
|
}] }
|
|
326
284
|
];
|
|
327
285
|
/** @nocollapse */
|
|
328
286
|
ActivityContainerComponent.ctorParameters = () => [];
|
|
329
287
|
ActivityContainerComponent.propDecorators = {
|
|
330
|
-
initialActivityOutletContext: [{ type: Input }],
|
|
331
|
-
initialActivityOutletContextEvent: [{ type: Output, args: ['initialActivityOutletContext',] }],
|
|
332
288
|
dynamicHeight: [{ type: Input }],
|
|
333
289
|
tabs: [{ type: ViewChild, args: ['tabs', { static: true },] }],
|
|
334
|
-
|
|
290
|
+
activityOutlets: [{ type: ViewChildren, args: [ActivityOutletComponent,] }]
|
|
335
291
|
};
|
|
292
|
+
tslib_1.__decorate([
|
|
293
|
+
Trace(),
|
|
294
|
+
tslib_1.__metadata("design:type", Function),
|
|
295
|
+
tslib_1.__metadata("design:paramtypes", []),
|
|
296
|
+
tslib_1.__metadata("design:returntype", void 0)
|
|
297
|
+
], ActivityContainerComponent.prototype, "dispose", null);
|
|
336
298
|
if (false) {
|
|
299
|
+
/** @type {?} */
|
|
300
|
+
ActivityContainerComponent.prototype.dynamicHeight;
|
|
301
|
+
/** @type {?} */
|
|
302
|
+
ActivityContainerComponent.prototype.tabs;
|
|
303
|
+
/** @type {?} */
|
|
304
|
+
ActivityContainerComponent.prototype.activityOutlets;
|
|
305
|
+
/** @type {?} */
|
|
306
|
+
ActivityContainerComponent.prototype.activityTabs;
|
|
337
307
|
/**
|
|
338
308
|
* @type {?}
|
|
339
309
|
* @private
|
|
340
310
|
*/
|
|
341
|
-
ActivityContainerComponent.prototype.
|
|
311
|
+
ActivityContainerComponent.prototype._identifier;
|
|
342
312
|
/**
|
|
343
313
|
* @type {?}
|
|
344
314
|
* @private
|
|
345
315
|
*/
|
|
346
|
-
ActivityContainerComponent.prototype.
|
|
347
|
-
/**
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
ActivityContainerComponent.prototype.
|
|
357
|
-
/** @type {?} */
|
|
358
|
-
ActivityContainerComponent.prototype.active;
|
|
316
|
+
ActivityContainerComponent.prototype._deferredCleanUp;
|
|
317
|
+
/**
|
|
318
|
+
* @type {?}
|
|
319
|
+
* @private
|
|
320
|
+
*/
|
|
321
|
+
ActivityContainerComponent.prototype.interactionServiceApi;
|
|
322
|
+
/**
|
|
323
|
+
* @type {?}
|
|
324
|
+
* @private
|
|
325
|
+
*/
|
|
326
|
+
ActivityContainerComponent.prototype.garbage;
|
|
359
327
|
/**
|
|
360
328
|
* @type {?}
|
|
361
329
|
* @private
|
|
362
330
|
*/
|
|
363
|
-
ActivityContainerComponent.prototype.
|
|
331
|
+
ActivityContainerComponent.prototype.syncSelectedTabTimeout;
|
|
332
|
+
/* Skipping unhandled member: ;*/
|
|
364
333
|
}
|
|
365
334
|
//# sourceMappingURL=activity-container.component.js.map
|
package/esm2015/lib/interaction/components/activity-container/activity-container.component.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activity-container.component.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/interaction/components/activity-container/activity-container.component.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n AfterViewInit,\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n QueryList,\n ViewChild,\n ViewChildren\n} from '@angular/core';\nimport { MatTabGroup } from '@angular/material';\nimport {\n assert,\n Constructable,\n Dsl,\n MutableListModel,\n MutableStream,\n MutableValueModel,\n ValueModel\n} from '@coolon/pectin';\n\nimport { Activity } from '../../activity';\nimport { InteractionContext } from '../../interaction-context';\nimport { InteractionContextBase } from '../../interaction-context-base';\nimport { ActivityOutletContext } from '../activity-outlet/activity-outlet-context';\nimport { ActivityOutletComponent } from '../activity-outlet/activity-outlet.component';\n\n/**\n * Note: this class is mutable and is stored in a list model. This is normally a big no no but\n * we're manually deriving other models from the list after view state changes. I.e. we not\n * using pectin chains on any of the mutable fields.\n */\nclass TabContext<D, R, E> implements ActivityOutletContext<D, R, E> {\n\n private _complete = false;\n private _component: Activity<D, R, E>;\n\n constructor(readonly activityData: D,\n readonly activityClass: Constructable<Activity<D, R, E>>,\n readonly interactionContext: InteractionContext,\n readonly activityCallbacks: Activity.Callbacks<R, E>) {\n }\n\n isComponentRealised(): boolean {\n return !!this._component;\n }\n\n isComplete() {\n return this._complete;\n }\n\n componentReady(component: Activity<D, R, E>) {\n assert.isNil(this._component);\n this._component = component;\n }\n\n get component(): Activity<D, R, E> {\n return this._component;\n }\n\n // @Trace()\n onDone(result: R): void {\n this._complete = true;\n this.activityCallbacks.onDone(result);\n }\n\n // @Trace()\n onCancel(error: E): void {\n this._complete = true;\n this.activityCallbacks.onCancel(error);\n }\n\n dispose() {\n this.component.dispose();\n }\n\n}\n\n\n@Component({\n selector: 'aup-activity-container',\n templateUrl: './activity-container.component.html',\n styleUrls: ['./activity-container.component.scss']\n})\nexport class ActivityContainerComponent<D, R, E> extends InteractionContextBase implements OnInit, AfterViewInit {\n\n private readonly throttledNestedActivityFinishEvents = new MutableStream<any>();\n\n private readonly _initialActivityOutletContext = new MutableValueModel<ActivityOutletContext<D, R, E>>();\n\n @Input()\n set initialActivityOutletContext(initialContext: ActivityOutletContext<D, R, E>) {\n assert.isNil(this._initialActivityOutletContext.value);\n // we clean up at the start as we leave the initial activity in place after it finishes\n // so that the activity remains visible during the inplace-interaction-context animations.\n this.activityTabs.value = [];\n this._activityList.value = [];\n const self = this;\n if (initialContext) {\n this._initialActivityOutletContext.value = initialContext;\n this.activityTabs.push(new TabContext(initialContext.activityData, initialContext.activityClass, this, {\n onDone: (result: R) => {\n self.finishInitialActivity();\n initialContext.onDone(result);\n },\n onCancel: (error: E) => {\n self.finishInitialActivity();\n initialContext.onCancel(error);\n }\n }));\n }\n }\n\n get initialActivityOutletContext() {\n return this._initialActivityOutletContext.value;\n }\n\n // tslint:disable-next-line:no-output-rename\n @Output('initialActivityOutletContext')\n initialActivityOutletContextEvent = new EventEmitter<ActivityOutletContext<D, R, E>>();\n\n @Input()\n dynamicHeight = false;\n\n @ViewChild('tabs', { static: true })\n tabs: MatTabGroup;\n\n @ViewChildren(ActivityOutletComponent)\n outlets: QueryList<ActivityOutletComponent<any, any, any>>;\n\n readonly activityTabs = new MutableListModel<TabContext<any, any, any>>();\n\n readonly active:ValueModel<boolean>;\n\n private readonly _activityList = new MutableListModel<Activity<any, any>>();\n\n constructor() {\n super();\n const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);\n chain(this.throttledNestedActivityFinishEvents).throttle(50).subscribe(() => this.onNestedActivityFinished());\n this.setActivityList(this._activityList.readonly);\n this.active = chain(this._initialActivityOutletContext).isNotNil();\n }\n\n ngOnInit() {\n }\n\n ngAfterViewInit(): void {\n const { chain, observe } = Dsl.disposeWith(this);\n observe.valuesFrom(this.outlets.changes).subscribe(() => setTimeout(() => this.updateActivityList()));\n observe.valuesFrom(this.tabs.animationDone).subscribe(() => this.onAnimationFinished());\n this.updateActivityList();\n }\n\n _startActivity<D1, R1, E1>(activityType: Constructable<Activity<D1, R1, E1>>, data?: D1): Promise<R1> {\n this.cleanupStaleNestedActivities();\n const self = this;\n return new Promise<R1>((resolve, reject) => {\n const context = new TabContext(data, activityType, self, {\n onDone: function(result: R1) {\n resolve(result);\n self.throttledNestedActivityFinishEvents.publish({});\n },\n onCancel: function(error: E1) {\n reject(error);\n self.throttledNestedActivityFinishEvents.publish({});\n }\n });\n self.activityTabs.push(context);\n self.tabs.selectedIndex = this.activityTabs.length;\n });\n }\n\n private finishInitialActivity() {\n this.updateActivityList();\n this._initialActivityOutletContext.value = null;\n this.initialActivityOutletContextEvent.emit(null);\n }\n\n // @Trace()\n private onNestedActivityFinished() {\n this.synchroniseSelectedTabIndex();\n this.updateActivityList();\n }\n\n // @Trace()\n private cleanupStaleNestedActivities() {\n if (this.tabs.selectedIndex < this.activityTabs.length - 1) {\n const tabs = this.activityTabs.value;\n const remainingActivities = tabs.slice(0, 1 + this.tabs.selectedIndex);\n const finishedActivityTabs = tabs.slice(1 + this.tabs.selectedIndex);\n finishedActivityTabs.forEach(a => a.dispose());\n this.activityTabs.runInTransaction(draft => {\n\n draft.value = remainingActivities;\n });\n }\n }\n\n /**\n * Synchronises the selected tab index. Returns true if there was no change to the selected index.\n */\n // @Trace()\n private synchroniseSelectedTabIndex(): boolean {\n const previousIndex = this.tabs.selectedIndex;\n const newIndex = this.activityTabs.query().findIndex(t => t.isComplete()) - 1;\n this.tabs.selectedIndex = newIndex;\n return previousIndex === newIndex;\n }\n\n // @Trace()\n private onAnimationFinished() {\n this.getSelectedOutlet().component.onActivityReady();\n this.cleanupStaleNestedActivities();\n this.updateActivityList();\n }\n\n private updateActivityList() {\n this._activityList.value = this.activityTabs.value.filter(t => !t.isComplete() && t.isComponentRealised()).map(t => t.component);\n }\n\n private getSelectedOutlet() {\n return this.outlets.toArray()[this.tabs.selectedIndex];\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"activity-container.component.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/interaction/components/activity-container/activity-container.component.ts"],"names":[],"mappings":"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","sourcesContent":["import { AfterViewInit, Component, Input, OnInit, QueryList, ViewChild, ViewChildren } from '@angular/core';\nimport { MatTabGroup } from '@angular/material';\nimport { assert, Constructable, Disposable, Dsl, GarbageCollector, Trace, ValueModel } from '@coolon/pectin';\nimport { lang } from '@coolon/typescript-utilities';\nimport _ from 'lodash';\nimport { AbstractInteractionContext } from '../../abstract-interaction-context';\nimport { Activity } from '../../activity';\nimport { ActivityRef } from '../../activity-ref';\nimport { InteractionService } from '../../services/interaction.service';\nimport { ActivityOutletComponent } from './activity-outlet/activity-outlet.component';\n\n@Component({\n selector: 'aup-activity-container',\n templateUrl: './activity-container.component.html',\n styleUrls: ['./activity-container.component.scss']\n})\nexport class ActivityContainerComponent<D, R, E> extends AbstractInteractionContext implements OnInit, AfterViewInit {\n\n @Input()\n dynamicHeight = false;\n\n @ViewChild('tabs', { static: true })\n tabs: MatTabGroup;\n\n @ViewChildren(ActivityOutletComponent)\n activityOutlets: QueryList<ActivityOutletComponent<any, any, any>>;\n\n activityTabs: ActivityRef<any, any, any>[] = [];\n\n private _identifier: string;\n private _deferredCleanUp: Promise<any>;\n\n private interactionServiceApi: InteractionService.Api;\n\n private garbage = new GarbageCollector();\n private syncSelectedTabTimeout: any;\n\n constructor() {\n super();\n }\n\n ngOnInit() {\n }\n\n ngAfterViewInit(): void {\n const { chain, observe } = Dsl.disposeWith(this);\n observe.valuesFrom(this.tabs.animationDone).subscribe(() => this.onAnimationFinished());\n }\n\n initialise(identifier: string, api: InteractionService.Api) {\n assert.isFalsey(this.isInitialised());\n assert.notNil(identifier);\n assert.notNil(api);\n this._identifier = identifier;\n this.interactionServiceApi = api;\n }\n\n get identifier() {\n return this._identifier;\n }\n\n isInitialised() {\n return !!this.identifier;\n }\n\n /**\n * Returns true if an activity is currently running.\n */\n isActive(): boolean {\n return this.getActiveActivityCount() > 0;\n }\n\n registerDisposable<T extends Disposable>(disposable: T): T {\n return this.garbage.registerDisposable(disposable);\n }\n\n @Trace()\n dispose(): void {\n // TODO: think about auto cancelling any outstanding activity on dispose.\n // See NavigationState.Navigating for a use-case.\n assert.isFalsey(this.isActive());\n this.garbage.dispose();\n }\n\n getActiveActivityRef(): ActivityRef<any, any, any> {\n if (!this.isActive()) {\n lang.illegalState('no activity in progress');\n }\n return _.findLast(this.activityTabs, tab => !tab.isComplete());\n }\n\n /**\n * Cancels the current activity and returns true the context is no longer active, false if\n * there is still another activity running.\n */\n // @Trace()\n async cancelActiveActivity(): Promise<boolean> {\n const activity = this.getActiveActivityRef();\n activity.cancel();\n if (this.isCleaningUp()) {\n return this.waitForInteractionContextCleanupToFinish();\n } else {\n return !this.isActive();\n }\n }\n\n // TODO: this handling of multiple nested activities is only used by the activity component and is not a general case.\n // @Trace()\n protected createAndLaunchActivity<D1, R1, E1>(activityType: Constructable<Activity<D1, R1, E1>>, data: D1, disableClose: boolean): Promise<R1> {\n assert.isTruthy(this.isInitialised()); // make sure we've been initialised\n const activityRef = new ActivityRef<D1, R1, E1>(activityType, data, () => {\n const activeActivityCount = this.getActiveActivityCount() > 0;\n if (activeActivityCount) {\n this.triggerTabSynchronisation();\n } else {\n this.finishAndStartCleanup();\n }\n });\n this.launchActivity(activityRef);\n // if this is the first activity let the interaction service know.\n if (this.activityTabs.length === 1) {\n // console.log('Now active!!!');\n this.interactionServiceApi.notifyActive(this);\n }\n return activityRef.activityResult;\n }\n\n private getActiveActivityCount(): number {\n return this.activityTabs.filter(ref => !ref.isComplete()).length;\n }\n\n /**\n * Checks if this interaction context has finished an is in the process of waiting\n * for all the infrastructure (including route updates) to be completed.\n */\n isCleaningUp(): boolean {\n return !!this._deferredCleanUp;\n }\n\n async waitForInteractionContextCleanupToFinish(): Promise<any> {\n return this._deferredCleanUp ?\n this._deferredCleanUp :\n true;\n }\n\n // @Trace()\n private finishAndStartCleanup(): void {\n if (!this._deferredCleanUp) {\n const promise = this.interactionServiceApi.notifyFinished(this);\n this._deferredCleanUp = promise\n .finally(() => {\n this._deferredCleanUp = null;\n });\n }\n }\n\n// @Trace()\n launchActivity<D1, R1, E1>(activityRef: ActivityRef<D1, R1, E1>) {\n const cleanedTabs = this.activityTabs.filter(tab => !tab.isComplete());\n this.activityTabs = cleanedTabs.concat(activityRef);\n this.tabs.selectedIndex = this.activityTabs.length;\n }\n\n activityIndex(index: number, activityRef: ActivityRef<any, any, any>) {\n return index;\n };\n\n\n // @Trace()\n private onAnimationFinished() {\n this.getSelectedOutlet().component.onActivityReady();\n this.activityTabs = this.activityTabs.filter(tab => !tab.isComplete());\n }\n\n /**\n * Synchronises the selected tab index. Returns true if there was no change to the selected index.\n */\n // @Trace()\n private synchroniseSelectedTabIndex(): boolean {\n const previousIndex = this.tabs.selectedIndex;\n const newIndex = this.getActiveActivityCount() - 1;\n this.tabs.selectedIndex = newIndex;\n return previousIndex === newIndex;\n }\n\n private getSelectedOutlet() {\n return this.activityOutlets.toArray()[this.tabs.selectedIndex];\n }\n\n // @Trace()\n private triggerTabSynchronisation() {\n if (this.syncSelectedTabTimeout) {\n clearTimeout(this.syncSelectedTabTimeout);\n }\n this.syncSelectedTabTimeout = setTimeout(() => {\n this.syncSelectedTabTimeout = null;\n this.synchroniseSelectedTabIndex();\n }, 75);\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"__symbolic":"module","version":4,"metadata":{"ActivityContainerComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../../interaction-context
|
|
1
|
+
[{"__symbolic":"module","version":4,"metadata":{"ActivityContainerComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../../abstract-interaction-context","name":"AbstractInteractionContext","line":16,"character":57},"arity":3,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"selector":"aup-activity-container","template":"<mat-tab-group #tabs no-tab-header [dynamicHeight]=\"dynamicHeight\" [class.full-height-tabs]=\"!dynamicHeight\">\n <mat-tab *ngFor=\"let tab of activityTabs; trackBy: activityIndex\" >\n <aup-activity-outlet [nestedInteractionContext]=\"this\" [activityRef]=\"tab\"></aup-activity-outlet>\n </mat-tab>\n</mat-tab-group>\n","styles":[":host{display:flex;flex-direction:column}mat-tab-group{flex:1}"]}]}],"members":{"dynamicHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"tabs":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":21,"character":3},"arguments":["tabs",{"static":true}]}]}],"activityOutlets":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":24,"character":3},"arguments":[{"__symbolic":"reference","module":"./activity-outlet/activity-outlet.component","name":"ActivityOutletComponent","line":24,"character":16}]}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"initialise":[{"__symbolic":"method"}],"isInitialised":[{"__symbolic":"method"}],"isActive":[{"__symbolic":"method"}],"registerDisposable":[{"__symbolic":"method"}],"dispose":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@coolon/pectin","name":"Trace","line":76,"character":3}}]}],"getActiveActivityRef":[{"__symbolic":"method"}],"cancelActiveActivity":[{"__symbolic":"method"}],"createAndLaunchActivity":[{"__symbolic":"method"}],"getActiveActivityCount":[{"__symbolic":"method"}],"isCleaningUp":[{"__symbolic":"method"}],"waitForInteractionContextCleanupToFinish":[{"__symbolic":"method"}],"finishAndStartCleanup":[{"__symbolic":"method"}],"launchActivity":[{"__symbolic":"method"}],"activityIndex":[{"__symbolic":"method"}],"onAnimationFinished":[{"__symbolic":"method"}],"synchroniseSelectedTabIndex":[{"__symbolic":"method"}],"getSelectedOutlet":[{"__symbolic":"method"}],"triggerTabSynchronisation":[{"__symbolic":"method"}]}}}}]
|