@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.
Files changed (350) hide show
  1. package/bundles/coolon-angular-ui-powerups.umd.js +3743 -3012
  2. package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
  3. package/bundles/coolon-angular-ui-powerups.umd.min.js +1 -1
  4. package/bundles/coolon-angular-ui-powerups.umd.min.js.map +1 -1
  5. package/coolon-angular-ui-powerups.d.ts +17 -18
  6. package/coolon-angular-ui-powerups.metadata.json +1 -1
  7. package/esm2015/coolon-angular-ui-powerups.js +16 -17
  8. package/esm2015/coolon-angular-ui-powerups.js.map +1 -1
  9. package/esm2015/coolon-angular-ui-powerups.metadata.json +1 -1
  10. package/esm2015/index.js +1 -1
  11. package/esm2015/index.js.map +1 -1
  12. package/esm2015/lib/angular-ui-powerups.module.ngfactory.js.map +1 -1
  13. package/esm2015/lib/interaction/abstract-interaction-context.js +104 -0
  14. package/esm2015/lib/interaction/abstract-interaction-context.js.map +1 -0
  15. package/esm2015/lib/interaction/abstract-interaction-context.metadata.json +1 -0
  16. package/esm2015/lib/interaction/activity-ref.js +123 -0
  17. package/esm2015/lib/interaction/activity-ref.js.map +1 -0
  18. package/esm2015/lib/interaction/activity-ref.metadata.json +1 -0
  19. package/esm2015/lib/interaction/activity.js +21 -1
  20. package/esm2015/lib/interaction/activity.js.map +1 -1
  21. package/esm2015/lib/interaction/activity.metadata.json +1 -1
  22. package/esm2015/lib/interaction/components/activity-container/activity-container.component.js +199 -230
  23. package/esm2015/lib/interaction/components/activity-container/activity-container.component.js.map +1 -1
  24. package/esm2015/lib/interaction/components/activity-container/activity-container.component.metadata.json +1 -1
  25. package/esm2015/lib/interaction/components/{activity-outlet → activity-container/activity-outlet}/activity-outlet.component.js +24 -31
  26. package/esm2015/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.js.map +1 -0
  27. package/esm2015/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.metadata.json +1 -0
  28. package/esm2015/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.ngfactory.js.map +1 -0
  29. package/esm2015/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.scss.shim.ngstyle.js.map +1 -0
  30. package/esm2015/lib/interaction/components/alert-dialog/alert-dialog.component.js +2 -3
  31. package/esm2015/lib/interaction/components/alert-dialog/alert-dialog.component.js.map +1 -1
  32. package/esm2015/lib/interaction/components/alert-dialog/alert-dialog.component.metadata.json +1 -1
  33. package/esm2015/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.js +4 -11
  34. package/esm2015/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.js.map +1 -1
  35. package/esm2015/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.metadata.json +1 -1
  36. package/esm2015/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js +2 -3
  37. package/esm2015/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js.map +1 -1
  38. package/esm2015/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.metadata.json +1 -1
  39. package/esm2015/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.js +113 -0
  40. package/esm2015/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.js.map +1 -0
  41. package/esm2015/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.metadata.json +1 -0
  42. package/esm2015/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.ngfactory.js.map +1 -0
  43. package/esm2015/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.scss.shim.ngstyle.js.map +1 -0
  44. package/esm2015/lib/interaction/index.js +7 -6
  45. package/esm2015/lib/interaction/index.js.map +1 -1
  46. package/esm2015/lib/interaction/index.metadata.json +1 -1
  47. package/esm2015/lib/interaction/interaction-context.js +12 -67
  48. package/esm2015/lib/interaction/interaction-context.js.map +1 -1
  49. package/esm2015/lib/interaction/interaction-context.metadata.json +1 -1
  50. package/esm2015/lib/interaction/interaction.module.js +4 -4
  51. package/esm2015/lib/interaction/interaction.module.js.map +1 -1
  52. package/esm2015/lib/interaction/interaction.module.metadata.json +1 -1
  53. package/esm2015/lib/interaction/interaction.module.ngfactory.js.map +1 -1
  54. package/esm2015/lib/interaction/route-synchronisation-adapter.js +17 -0
  55. package/esm2015/lib/interaction/route-synchronisation-adapter.js.map +1 -0
  56. package/esm2015/lib/interaction/route-synchronisation-adapter.metadata.json +1 -0
  57. package/esm2015/lib/interaction/services/interaction-service-routing-adapter.js +72 -0
  58. package/esm2015/lib/interaction/services/interaction-service-routing-adapter.js.map +1 -0
  59. package/esm2015/lib/interaction/services/interaction-service-routing-adapter.metadata.json +1 -0
  60. package/esm2015/lib/interaction/services/interaction.service.js +174 -104
  61. package/esm2015/lib/interaction/services/interaction.service.js.map +1 -1
  62. package/esm2015/lib/interaction/services/interaction.service.metadata.json +1 -1
  63. package/esm2015/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.js +4 -2
  64. package/esm2015/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.js.map +1 -1
  65. package/esm2015/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.metadata.json +1 -1
  66. package/esm2015/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.js +79 -87
  67. package/esm2015/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.js.map +1 -1
  68. package/esm2015/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.metadata.json +1 -1
  69. package/esm2015/lib/interaction/services/modal-interaction-context.factory.js +3 -1
  70. package/esm2015/lib/interaction/services/modal-interaction-context.factory.js.map +1 -1
  71. package/esm2015/lib/place/components/abstract-place-navigation.component.js +27 -6
  72. package/esm2015/lib/place/components/abstract-place-navigation.component.js.map +1 -1
  73. package/esm2015/lib/place/components/abstract-place-navigation.component.metadata.json +1 -1
  74. package/esm2015/lib/place/components/list-place-nav/list-place-nav.component.js +9 -3
  75. package/esm2015/lib/place/components/list-place-nav/list-place-nav.component.js.map +1 -1
  76. package/esm2015/lib/place/components/list-place-nav/list-place-nav.component.metadata.json +1 -1
  77. package/esm2015/lib/place/components/place-outlet/place-outlet.component.js +98 -110
  78. package/esm2015/lib/place/components/place-outlet/place-outlet.component.js.map +1 -1
  79. package/esm2015/lib/place/components/place-outlet/place-outlet.component.metadata.json +1 -1
  80. package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js +9 -3
  81. package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js.map +1 -1
  82. package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.metadata.json +1 -1
  83. package/esm2015/lib/place/guards/place.guard.js +14 -13
  84. package/esm2015/lib/place/guards/place.guard.js.map +1 -1
  85. package/esm2015/lib/place/guards/place.guard.metadata.json +1 -1
  86. package/esm2015/lib/place/index.js +15 -2
  87. package/esm2015/lib/place/index.js.map +1 -1
  88. package/esm2015/lib/place/index.metadata.json +1 -1
  89. package/esm2015/lib/place/{guards → navigation}/place-component-deactivation-handler.js +28 -22
  90. package/esm2015/lib/place/navigation/place-component-deactivation-handler.js.map +1 -0
  91. package/esm2015/lib/place/navigation/place-component-deactivation-handler.metadata.json +1 -0
  92. package/esm2015/lib/place/navigation/session/abstract-pop-state-navigation.js +37 -0
  93. package/esm2015/lib/place/navigation/session/abstract-pop-state-navigation.js.map +1 -0
  94. package/esm2015/lib/place/navigation/session/abstract-pop-state-navigation.metadata.json +1 -0
  95. package/esm2015/lib/place/navigation/session/event-cleanup/event-clean-up-session.js +19 -0
  96. package/esm2015/lib/place/navigation/session/event-cleanup/event-clean-up-session.js.map +1 -0
  97. package/esm2015/lib/place/navigation/session/event-cleanup/event-clean-up-session.metadata.json +1 -0
  98. package/esm2015/lib/place/navigation/session/event-cleanup/wait-until-leaving-interaction-transition-cancelled.js +95 -0
  99. package/esm2015/lib/place/navigation/session/event-cleanup/wait-until-leaving-interaction-transition-cancelled.js.map +1 -0
  100. package/esm2015/lib/place/navigation/session/event-cleanup/wait-until-leaving-interaction-transition-cancelled.metadata.json +1 -0
  101. package/esm2015/lib/place/navigation/session/event-cleanup/wait-until-link-triggered-interaction-cancelation-finishes.js +132 -0
  102. package/esm2015/lib/place/navigation/session/event-cleanup/wait-until-link-triggered-interaction-cancelation-finishes.js.map +1 -0
  103. package/esm2015/lib/place/navigation/session/event-cleanup/wait-until-link-triggered-interaction-cancelation-finishes.metadata.json +1 -0
  104. package/esm2015/lib/place/navigation/session/event-cleanup/wait-until-popstate-during-can-deactivate-transition-finishes.js +123 -0
  105. package/esm2015/lib/place/navigation/session/event-cleanup/wait-until-popstate-during-can-deactivate-transition-finishes.js.map +1 -0
  106. package/esm2015/lib/place/navigation/session/event-cleanup/wait-until-popstate-during-can-deactivate-transition-finishes.metadata.json +1 -0
  107. package/esm2015/lib/place/navigation/session/interactions/navigating-during-interaction.js +62 -0
  108. package/esm2015/lib/place/navigation/session/interactions/navigating-during-interaction.js.map +1 -0
  109. package/esm2015/lib/place/navigation/session/interactions/navigating-during-interaction.metadata.json +1 -0
  110. package/esm2015/lib/place/navigation/session/interactions/pop-state-during-interaction-navigation.js +48 -0
  111. package/esm2015/lib/place/navigation/session/interactions/pop-state-during-interaction-navigation.js.map +1 -0
  112. package/esm2015/lib/place/navigation/session/interactions/pop-state-during-interaction-navigation.metadata.json +1 -0
  113. package/esm2015/lib/place/navigation/session/interactions/remove-last-interaction-from-url-navigation-session.js +104 -0
  114. package/esm2015/lib/place/navigation/session/interactions/remove-last-interaction-from-url-navigation-session.js.map +1 -0
  115. package/esm2015/lib/place/navigation/session/interactions/remove-last-interaction-from-url-navigation-session.metadata.json +1 -0
  116. package/esm2015/lib/place/navigation/session/interactions/synchronise-interaction-context-ids-with-route.js +141 -0
  117. package/esm2015/lib/place/navigation/session/interactions/synchronise-interaction-context-ids-with-route.js.map +1 -0
  118. package/esm2015/lib/place/navigation/session/interactions/synchronise-interaction-context-ids-with-route.metadata.json +1 -0
  119. package/esm2015/lib/place/navigation/session/navigating.js +54 -0
  120. package/esm2015/lib/place/navigation/session/navigating.js.map +1 -0
  121. package/esm2015/lib/place/navigation/session/navigating.metadata.json +1 -0
  122. package/esm2015/lib/place/navigation/session/navigation-context.js +38 -0
  123. package/esm2015/lib/place/navigation/session/navigation-context.js.map +1 -0
  124. package/esm2015/lib/place/navigation/session/navigation-context.metadata.json +1 -0
  125. package/esm2015/lib/place/navigation/session/navigation-session.js +326 -0
  126. package/esm2015/lib/place/navigation/session/navigation-session.js.map +1 -0
  127. package/esm2015/lib/place/navigation/session/navigation-session.metadata.json +1 -0
  128. package/esm2015/lib/place/navigation/session/pop-state-navigation.js +31 -0
  129. package/esm2015/lib/place/navigation/session/pop-state-navigation.js.map +1 -0
  130. package/esm2015/lib/place/navigation/session/pop-state-navigation.metadata.json +1 -0
  131. package/esm2015/lib/place/place-component.js +47 -22
  132. package/esm2015/lib/place/place-component.js.map +1 -1
  133. package/esm2015/lib/place/place-component.metadata.json +1 -1
  134. package/esm2015/lib/place/place-router.js +314 -309
  135. package/esm2015/lib/place/place-router.js.map +1 -1
  136. package/esm2015/lib/place/place-router.metadata.json +1 -1
  137. package/esm2015/lib/place/place.module.js.map +1 -1
  138. package/esm2015/lib/place/place.module.metadata.json +1 -1
  139. package/esm2015/lib/place/place.module.ngfactory.js.map +1 -1
  140. package/esm2015/lib/place/route/parameter-decorators.js +1 -0
  141. package/esm2015/lib/place/route/parameter-decorators.js.map +1 -1
  142. package/esm2015/lib/place/route/parameter-decorators.metadata.json +1 -1
  143. package/esm2015/lib/place/url-service.js +126 -0
  144. package/esm2015/lib/place/url-service.js.map +1 -0
  145. package/esm2015/lib/place/url-service.metadata.json +1 -0
  146. package/esm2015/lib/place/url-service.ngfactory.js.map +1 -0
  147. package/esm2015/lib/place/url-snapshot.js +15 -1
  148. package/esm2015/lib/place/url-snapshot.js.map +1 -1
  149. package/esm2015/lib/place/url-snapshot.metadata.json +1 -1
  150. package/esm2015/lib/place/visit.js +10 -0
  151. package/esm2015/lib/place/visit.js.map +1 -1
  152. package/esm2015/lib/place/visit.metadata.json +1 -1
  153. package/esm2015/public_api.js +2 -2
  154. package/esm2015/public_api.js.map +1 -1
  155. package/esm5/coolon-angular-ui-powerups.js +16 -17
  156. package/esm5/coolon-angular-ui-powerups.js.map +1 -1
  157. package/esm5/index.js +1 -1
  158. package/esm5/index.js.map +1 -1
  159. package/esm5/lib/angular-ui-powerups.module.ngfactory.js.map +1 -1
  160. package/esm5/lib/interaction/abstract-interaction-context.js +146 -0
  161. package/esm5/lib/interaction/abstract-interaction-context.js.map +1 -0
  162. package/esm5/lib/interaction/activity-ref.js +153 -0
  163. package/esm5/lib/interaction/activity-ref.js.map +1 -0
  164. package/esm5/lib/interaction/activity.js +29 -1
  165. package/esm5/lib/interaction/activity.js.map +1 -1
  166. package/esm5/lib/interaction/components/activity-container/activity-container.component.js +273 -265
  167. package/esm5/lib/interaction/components/activity-container/activity-container.component.js.map +1 -1
  168. package/esm5/lib/interaction/components/{activity-outlet → activity-container/activity-outlet}/activity-outlet.component.js +25 -32
  169. package/esm5/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.js.map +1 -0
  170. package/esm5/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.ngfactory.js.map +1 -0
  171. package/esm5/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.scss.shim.ngstyle.js.map +1 -0
  172. package/esm5/lib/interaction/components/alert-dialog/alert-dialog.component.js +2 -3
  173. package/esm5/lib/interaction/components/alert-dialog/alert-dialog.component.js.map +1 -1
  174. package/esm5/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.js +4 -10
  175. package/esm5/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.js.map +1 -1
  176. package/esm5/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js +2 -3
  177. package/esm5/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js.map +1 -1
  178. package/esm5/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.js +158 -0
  179. package/esm5/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.js.map +1 -0
  180. package/esm5/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.ngfactory.js.map +1 -0
  181. package/esm5/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.scss.shim.ngstyle.js.map +1 -0
  182. package/esm5/lib/interaction/index.js +7 -6
  183. package/esm5/lib/interaction/index.js.map +1 -1
  184. package/esm5/lib/interaction/interaction-context.js +12 -106
  185. package/esm5/lib/interaction/interaction-context.js.map +1 -1
  186. package/esm5/lib/interaction/interaction.module.js +4 -4
  187. package/esm5/lib/interaction/interaction.module.js.map +1 -1
  188. package/esm5/lib/interaction/interaction.module.ngfactory.js.map +1 -1
  189. package/esm5/lib/interaction/route-synchronisation-adapter.js +17 -0
  190. package/esm5/lib/interaction/route-synchronisation-adapter.js.map +1 -0
  191. package/esm5/lib/interaction/services/interaction-service-routing-adapter.js +98 -0
  192. package/esm5/lib/interaction/services/interaction-service-routing-adapter.js.map +1 -0
  193. package/esm5/lib/interaction/services/interaction.service.js +243 -117
  194. package/esm5/lib/interaction/services/interaction.service.js.map +1 -1
  195. package/esm5/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.js +6 -2
  196. package/esm5/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.js.map +1 -1
  197. package/esm5/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.js +96 -107
  198. package/esm5/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.js.map +1 -1
  199. package/esm5/lib/interaction/services/modal-interaction-context.factory.js +3 -1
  200. package/esm5/lib/interaction/services/modal-interaction-context.factory.js.map +1 -1
  201. package/esm5/lib/place/components/abstract-place-navigation.component.js +24 -6
  202. package/esm5/lib/place/components/abstract-place-navigation.component.js.map +1 -1
  203. package/esm5/lib/place/components/list-place-nav/list-place-nav.component.js +6 -3
  204. package/esm5/lib/place/components/list-place-nav/list-place-nav.component.js.map +1 -1
  205. package/esm5/lib/place/components/place-outlet/place-outlet.component.js +130 -129
  206. package/esm5/lib/place/components/place-outlet/place-outlet.component.js.map +1 -1
  207. package/esm5/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js +6 -3
  208. package/esm5/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js.map +1 -1
  209. package/esm5/lib/place/guards/place.guard.js +17 -13
  210. package/esm5/lib/place/guards/place.guard.js.map +1 -1
  211. package/esm5/lib/place/index.js +15 -2
  212. package/esm5/lib/place/index.js.map +1 -1
  213. package/esm5/lib/place/{guards → navigation}/place-component-deactivation-handler.js +45 -21
  214. package/esm5/lib/place/navigation/place-component-deactivation-handler.js.map +1 -0
  215. package/esm5/lib/place/navigation/session/abstract-pop-state-navigation.js +49 -0
  216. package/esm5/lib/place/navigation/session/abstract-pop-state-navigation.js.map +1 -0
  217. package/esm5/lib/place/navigation/session/event-cleanup/event-clean-up-session.js +36 -0
  218. package/esm5/lib/place/navigation/session/event-cleanup/event-clean-up-session.js.map +1 -0
  219. package/esm5/lib/place/navigation/session/event-cleanup/wait-until-leaving-interaction-transition-cancelled.js +151 -0
  220. package/esm5/lib/place/navigation/session/event-cleanup/wait-until-leaving-interaction-transition-cancelled.js.map +1 -0
  221. package/esm5/lib/place/navigation/session/event-cleanup/wait-until-link-triggered-interaction-cancelation-finishes.js +221 -0
  222. package/esm5/lib/place/navigation/session/event-cleanup/wait-until-link-triggered-interaction-cancelation-finishes.js.map +1 -0
  223. package/esm5/lib/place/navigation/session/event-cleanup/wait-until-popstate-during-can-deactivate-transition-finishes.js +186 -0
  224. package/esm5/lib/place/navigation/session/event-cleanup/wait-until-popstate-during-can-deactivate-transition-finishes.js.map +1 -0
  225. package/esm5/lib/place/navigation/session/interactions/navigating-during-interaction.js +107 -0
  226. package/esm5/lib/place/navigation/session/interactions/navigating-during-interaction.js.map +1 -0
  227. package/esm5/lib/place/navigation/session/interactions/pop-state-during-interaction-navigation.js +77 -0
  228. package/esm5/lib/place/navigation/session/interactions/pop-state-during-interaction-navigation.js.map +1 -0
  229. package/esm5/lib/place/navigation/session/interactions/remove-last-interaction-from-url-navigation-session.js +167 -0
  230. package/esm5/lib/place/navigation/session/interactions/remove-last-interaction-from-url-navigation-session.js.map +1 -0
  231. package/esm5/lib/place/navigation/session/interactions/synchronise-interaction-context-ids-with-route.js +185 -0
  232. package/esm5/lib/place/navigation/session/interactions/synchronise-interaction-context-ids-with-route.js.map +1 -0
  233. package/esm5/lib/place/navigation/session/navigating.js +75 -0
  234. package/esm5/lib/place/navigation/session/navigating.js.map +1 -0
  235. package/esm5/lib/place/navigation/session/navigation-context.js +32 -0
  236. package/esm5/lib/place/navigation/session/navigation-context.js.map +1 -0
  237. package/esm5/lib/place/navigation/session/navigation-session.js +450 -0
  238. package/esm5/lib/place/navigation/session/navigation-session.js.map +1 -0
  239. package/esm5/lib/place/navigation/session/pop-state-navigation.js +50 -0
  240. package/esm5/lib/place/navigation/session/pop-state-navigation.js.map +1 -0
  241. package/esm5/lib/place/place-component.js +66 -25
  242. package/esm5/lib/place/place-component.js.map +1 -1
  243. package/esm5/lib/place/place-router.js +414 -401
  244. package/esm5/lib/place/place-router.js.map +1 -1
  245. package/esm5/lib/place/place.module.js.map +1 -1
  246. package/esm5/lib/place/place.module.ngfactory.js.map +1 -1
  247. package/esm5/lib/place/route/parameter-decorators.js +1 -0
  248. package/esm5/lib/place/route/parameter-decorators.js.map +1 -1
  249. package/esm5/lib/place/url-service.js +176 -0
  250. package/esm5/lib/place/url-service.js.map +1 -0
  251. package/esm5/lib/place/url-service.ngfactory.js.map +1 -0
  252. package/esm5/lib/place/url-snapshot.js +22 -1
  253. package/esm5/lib/place/url-snapshot.js.map +1 -1
  254. package/esm5/lib/place/visit.js +14 -0
  255. package/esm5/lib/place/visit.js.map +1 -1
  256. package/esm5/public_api.js +2 -2
  257. package/esm5/public_api.js.map +1 -1
  258. package/fesm2015/coolon-angular-ui-powerups.js +2641 -2268
  259. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  260. package/fesm5/coolon-angular-ui-powerups.js +3703 -2984
  261. package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
  262. package/lib/interaction/abstract-interaction-context.d.ts +24 -0
  263. package/lib/interaction/activity-ref.d.ts +19 -0
  264. package/lib/interaction/activity.d.ts +5 -1
  265. package/lib/interaction/components/activity-container/activity-container.component.d.ts +42 -43
  266. package/lib/interaction/components/{activity-outlet → activity-container/activity-outlet}/activity-outlet.component.d.ts +7 -10
  267. package/lib/interaction/components/alert-dialog/alert-dialog.component.d.ts +2 -2
  268. package/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.d.ts +2 -5
  269. package/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.d.ts +2 -2
  270. package/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.d.ts +24 -0
  271. package/lib/interaction/index.d.ts +6 -5
  272. package/lib/interaction/interaction-context.d.ts +8 -29
  273. package/lib/interaction/route-synchronisation-adapter.d.ts +5 -0
  274. package/lib/interaction/services/interaction-service-routing-adapter.d.ts +15 -0
  275. package/lib/interaction/services/interaction.service.d.ts +52 -24
  276. package/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.d.ts +2 -1
  277. package/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.d.ts +15 -12
  278. package/lib/interaction/services/modal-interaction-context.factory.d.ts +2 -1
  279. package/lib/place/components/abstract-place-navigation.component.d.ts +5 -3
  280. package/lib/place/components/list-place-nav/list-place-nav.component.d.ts +2 -1
  281. package/lib/place/components/place-outlet/place-outlet.component.d.ts +9 -10
  282. package/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.d.ts +2 -1
  283. package/lib/place/guards/place.guard.d.ts +4 -3
  284. package/lib/place/index.d.ts +15 -2
  285. package/lib/place/navigation/place-component-deactivation-handler.d.ts +22 -0
  286. package/lib/place/navigation/session/abstract-pop-state-navigation.d.ts +9 -0
  287. package/lib/place/navigation/session/event-cleanup/event-clean-up-session.d.ts +4 -0
  288. package/lib/place/navigation/session/event-cleanup/wait-until-leaving-interaction-transition-cancelled.d.ts +27 -0
  289. package/lib/place/navigation/session/event-cleanup/wait-until-link-triggered-interaction-cancelation-finishes.d.ts +43 -0
  290. package/lib/place/navigation/session/event-cleanup/wait-until-popstate-during-can-deactivate-transition-finishes.d.ts +33 -0
  291. package/lib/place/navigation/session/interactions/navigating-during-interaction.d.ts +15 -0
  292. package/lib/place/navigation/session/interactions/pop-state-during-interaction-navigation.d.ts +17 -0
  293. package/lib/place/navigation/session/interactions/remove-last-interaction-from-url-navigation-session.d.ts +24 -0
  294. package/lib/place/navigation/session/interactions/synchronise-interaction-context-ids-with-route.d.ts +15 -0
  295. package/lib/place/navigation/session/navigating.d.ts +11 -0
  296. package/lib/place/navigation/session/navigation-context.d.ts +28 -0
  297. package/lib/place/navigation/session/navigation-session.d.ts +51 -0
  298. package/lib/place/navigation/session/pop-state-navigation.d.ts +7 -0
  299. package/lib/place/place-component.d.ts +6 -3
  300. package/lib/place/place-router.d.ts +39 -35
  301. package/lib/place/url-service.d.ts +30 -0
  302. package/lib/place/url-snapshot.d.ts +3 -1
  303. package/lib/place/visit.d.ts +1 -0
  304. package/package.json +1 -1
  305. package/schematics/place-routes/templates/place-routes.ts.template +4 -3
  306. package/esm2015/lib/interaction/abstract-activity.js +0 -13
  307. package/esm2015/lib/interaction/abstract-activity.js.map +0 -1
  308. package/esm2015/lib/interaction/abstract-activity.metadata.json +0 -1
  309. package/esm2015/lib/interaction/components/activity-outlet/activity-outlet-context.js +0 -21
  310. package/esm2015/lib/interaction/components/activity-outlet/activity-outlet-context.js.map +0 -1
  311. package/esm2015/lib/interaction/components/activity-outlet/activity-outlet-context.metadata.json +0 -1
  312. package/esm2015/lib/interaction/components/activity-outlet/activity-outlet.component.js.map +0 -1
  313. package/esm2015/lib/interaction/components/activity-outlet/activity-outlet.component.metadata.json +0 -1
  314. package/esm2015/lib/interaction/components/activity-outlet/activity-outlet.component.ngfactory.js.map +0 -1
  315. package/esm2015/lib/interaction/components/activity-outlet/activity-outlet.component.scss.shim.ngstyle.js.map +0 -1
  316. package/esm2015/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.js +0 -102
  317. package/esm2015/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.js.map +0 -1
  318. package/esm2015/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.metadata.json +0 -1
  319. package/esm2015/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.ngfactory.js.map +0 -1
  320. package/esm2015/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.scss.shim.ngstyle.js.map +0 -1
  321. package/esm2015/lib/interaction/interaction-context-base.js +0 -171
  322. package/esm2015/lib/interaction/interaction-context-base.js.map +0 -1
  323. package/esm2015/lib/interaction/interaction-context-base.metadata.json +0 -1
  324. package/esm2015/lib/place/guards/navigation-state.js +0 -1118
  325. package/esm2015/lib/place/guards/navigation-state.js.map +0 -1
  326. package/esm2015/lib/place/guards/navigation-state.metadata.json +0 -1
  327. package/esm2015/lib/place/guards/place-component-deactivation-handler.js.map +0 -1
  328. package/esm2015/lib/place/guards/place-component-deactivation-handler.metadata.json +0 -1
  329. package/esm5/lib/interaction/abstract-activity.js +0 -30
  330. package/esm5/lib/interaction/abstract-activity.js.map +0 -1
  331. package/esm5/lib/interaction/components/activity-outlet/activity-outlet-context.js +0 -21
  332. package/esm5/lib/interaction/components/activity-outlet/activity-outlet-context.js.map +0 -1
  333. package/esm5/lib/interaction/components/activity-outlet/activity-outlet.component.js.map +0 -1
  334. package/esm5/lib/interaction/components/activity-outlet/activity-outlet.component.ngfactory.js.map +0 -1
  335. package/esm5/lib/interaction/components/activity-outlet/activity-outlet.component.scss.shim.ngstyle.js.map +0 -1
  336. package/esm5/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.js +0 -119
  337. package/esm5/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.js.map +0 -1
  338. package/esm5/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.ngfactory.js.map +0 -1
  339. package/esm5/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.scss.shim.ngstyle.js.map +0 -1
  340. package/esm5/lib/interaction/interaction-context-base.js +0 -228
  341. package/esm5/lib/interaction/interaction-context-base.js.map +0 -1
  342. package/esm5/lib/place/guards/navigation-state.js +0 -1491
  343. package/esm5/lib/place/guards/navigation-state.js.map +0 -1
  344. package/esm5/lib/place/guards/place-component-deactivation-handler.js.map +0 -1
  345. package/lib/interaction/abstract-activity.d.ts +0 -6
  346. package/lib/interaction/components/activity-outlet/activity-outlet-context.d.ts +0 -7
  347. package/lib/interaction/components/inplace-interaction-context/inplace-interaction-context.component.d.ts +0 -17
  348. package/lib/interaction/interaction-context-base.d.ts +0 -29
  349. package/lib/place/guards/navigation-state.d.ts +0 -228
  350. package/lib/place/guards/place-component-deactivation-handler.d.ts +0 -15
@@ -0,0 +1,123 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import * as tslib_1 from "tslib";
6
+ import { EventCleanUpSession } from './event-clean-up-session';
7
+ /**
8
+ * This state handles the scenario where a pop state triggered and interaction and the user clickeb back a second time to cancel it.
9
+ * The sequence of routing events/state transitions is as follows.
10
+ * -> Idle -> PopStateTransition (poppedHistoryUrl == page to go to, startingUrl = page to stay on )
11
+ * -> confirm dialog shown.
12
+ * -> click back
13
+ * -> PopStateTransition -> CancelledDuringBackButtonNavigationInteraction(trigger url is the page before the popped history url)
14
+ * -> NavigationCancel (for the previous back)
15
+ * -> PopState
16
+ * -> NavigationCancel
17
+ */
18
+ export class WaitUntilPopStateDuringCanDeactivateInteractionFinishes extends EventCleanUpSession {
19
+ /**
20
+ * @param {?} context
21
+ * @param {?} startingUrl
22
+ * @param {?} locationChangeTriggerUrl
23
+ * @param {?} poppedHistoryUrl
24
+ */
25
+ constructor(context, startingUrl, locationChangeTriggerUrl, poppedHistoryUrl) {
26
+ super(context, startingUrl);
27
+ this.locationChangeTriggerUrl = locationChangeTriggerUrl;
28
+ this.poppedHistoryUrl = poppedHistoryUrl;
29
+ this.isPopState = false;
30
+ this.firstCancelHandled = false;
31
+ this.popStateHandled = false;
32
+ this.debugPropertyKeys = ['idle', 'startingUrl', 'poppedHistoryUrl', 'locationChangeTriggerUrl', 'popStateEventUrl', 'firstCancelHandled', 'popStateHandled'];
33
+ }
34
+ // @Trace()
35
+ /**
36
+ * @param {?} event
37
+ * @return {?}
38
+ */
39
+ onRouterStarted(event) {
40
+ this.ignore(event);
41
+ }
42
+ // @Trace()
43
+ /**
44
+ * @param {?} event
45
+ * @return {?}
46
+ */
47
+ onRouterCancelled(event) {
48
+ if (!this.firstCancelHandled) {
49
+ this.firstCancelHandled = true;
50
+ this.parentPageUrl = event.url;
51
+ this.ignore(event);
52
+ }
53
+ else {
54
+ if (this.popStateHandled) {
55
+ /** @type {?} */
56
+ const grandParentPageUrl = event.url;
57
+ this.repairBrowserHistoryAndUrlAfterGuardCancellation(grandParentPageUrl, this.parentPageUrl);
58
+ // we've had one more back click than normal so we need to add our initial url back in as well.
59
+ this.resetBrowserLocation(this.startingUrl, { replaceCurrent: false });
60
+ return this.context.finishRoutingSession();
61
+ }
62
+ }
63
+ }
64
+ // @Trace()
65
+ /**
66
+ * @param {?} event
67
+ * @return {?}
68
+ */
69
+ onRouterEnd(event) {
70
+ this.ignore(event);
71
+ }
72
+ // @Trace()
73
+ /**
74
+ * @param {?} event
75
+ * @return {?}
76
+ */
77
+ onRouterError(event) {
78
+ void this.ignore(event);
79
+ }
80
+ // @Trace()
81
+ /**
82
+ * @param {?} event
83
+ * @return {?}
84
+ */
85
+ onPopState(event) {
86
+ this.popStateHandled = true;
87
+ this.popStateEventUrl = event.url;
88
+ this.ignore(event);
89
+ }
90
+ /**
91
+ * @param {?} component
92
+ * @param {?} currentUrl
93
+ * @param {?} nextUrl
94
+ * @return {?}
95
+ */
96
+ canDeactivatePlace(component, currentUrl, nextUrl) {
97
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
98
+ return false;
99
+ });
100
+ }
101
+ }
102
+ if (false) {
103
+ /** @type {?} */
104
+ WaitUntilPopStateDuringCanDeactivateInteractionFinishes.prototype.isPopState;
105
+ /** @type {?} */
106
+ WaitUntilPopStateDuringCanDeactivateInteractionFinishes.prototype.firstCancelHandled;
107
+ /** @type {?} */
108
+ WaitUntilPopStateDuringCanDeactivateInteractionFinishes.prototype.popStateHandled;
109
+ /** @type {?} */
110
+ WaitUntilPopStateDuringCanDeactivateInteractionFinishes.prototype.popStateEventUrl;
111
+ /** @type {?} */
112
+ WaitUntilPopStateDuringCanDeactivateInteractionFinishes.prototype.debugPropertyKeys;
113
+ /**
114
+ * @type {?}
115
+ * @private
116
+ */
117
+ WaitUntilPopStateDuringCanDeactivateInteractionFinishes.prototype.parentPageUrl;
118
+ /** @type {?} */
119
+ WaitUntilPopStateDuringCanDeactivateInteractionFinishes.prototype.locationChangeTriggerUrl;
120
+ /** @type {?} */
121
+ WaitUntilPopStateDuringCanDeactivateInteractionFinishes.prototype.poppedHistoryUrl;
122
+ }
123
+ //# sourceMappingURL=wait-until-popstate-during-can-deactivate-transition-finishes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wait-until-popstate-during-can-deactivate-transition-finishes.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/navigation/session/event-cleanup/wait-until-popstate-during-can-deactivate-transition-finishes.ts"],"names":[],"mappings":";;;;;AAKA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;;;;;;;;;;;;AAa/D,MAAM,OAAO,uDAAwD,SAAQ,mBAAmB;;;;;;;IAS9F,YAAY,OAA0B,EAC1B,WAAmB,EACV,wBAAgC,EAChC,gBAAwB;QAC3C,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAFT,6BAAwB,GAAxB,wBAAwB,CAAQ;QAChC,qBAAgB,GAAhB,gBAAgB,CAAQ;QAVpC,eAAU,GAAG,KAAK,CAAC;QAC5B,uBAAkB,GAAG,KAAK,CAAC;QAC3B,oBAAe,GAAG,KAAK,CAAC;QAExB,sBAAiB,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,iBAAiB,CAAC,CAAC;IAQzJ,CAAC;;;;;;IAGD,eAAe,CAAC,KAAsB;QACpC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;;;;;;IAGD,iBAAiB,CAAC,KAAuB;QACvC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC5B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,GAAG,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SACpB;aAAM;YACL,IAAI,IAAI,CAAC,eAAe,EAAE;;sBAClB,kBAAkB,GAAG,KAAK,CAAC,GAAG;gBACpC,IAAI,CAAC,gDAAgD,CAAC,kBAAkB,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;gBAC9F,+FAA+F;gBAC/F,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,EAAE,EAAC,cAAc,EAAE,KAAK,EAAC,CAAC,CAAC;gBACrE,OAAO,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC;aAC5C;SACF;IACH,CAAC;;;;;;IAGD,WAAW,CAAC,KAAoB;QAC9B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;;;;;;IAGD,aAAa,CAAC,KAAsB;QAClC,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;;;;;;IAGD,UAAU,CAAC,KAAsB;QAC/B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,GAAG,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;;;;;;;IAEK,kBAAkB,CAAC,SAAyB,EAAE,UAAuB,EAAE,OAAoB;;YAC/F,OAAO,KAAK,CAAC;QACf,CAAC;KAAA;CACF;;;IAxDC,6EAA4B;;IAC5B,qFAA2B;;IAC3B,kFAAwB;;IACxB,mFAAyB;;IACzB,oFAAyJ;;;;;IACzJ,gFAA8B;;IAIlB,2FAAyC;;IACzC,mFAAiC","sourcesContent":["import { NavigationCancel, NavigationEnd, NavigationError, NavigationStart } from '@angular/router';\nimport { Logger, Trace } from '@coolon/pectin';\nimport { PlaceComponent } from '../../../place-component';\nimport { UrlSnapshot } from '../../../url-snapshot';\nimport { NavigationContext } from '../navigation-context';\nimport { EventCleanUpSession } from './event-clean-up-session';\n\n/**\n * This state handles the scenario where a pop state triggered and interaction and the user clickeb back a second time to cancel it.\n * The sequence of routing events/state transitions is as follows.\n * -> Idle -> PopStateTransition (poppedHistoryUrl == page to go to, startingUrl = page to stay on )\n * -> confirm dialog shown.\n * -> click back\n * -> PopStateTransition -> CancelledDuringBackButtonNavigationInteraction(trigger url is the page before the popped history url)\n * -> NavigationCancel (for the previous back)\n * -> PopState\n * -> NavigationCancel\n */\nexport class WaitUntilPopStateDuringCanDeactivateInteractionFinishes extends EventCleanUpSession {\n\n readonly isPopState = false;\n firstCancelHandled = false;\n popStateHandled = false;\n popStateEventUrl: string;\n debugPropertyKeys = ['idle', 'startingUrl', 'poppedHistoryUrl', 'locationChangeTriggerUrl', 'popStateEventUrl', 'firstCancelHandled', 'popStateHandled'];\n private parentPageUrl: string;\n\n constructor(context: NavigationContext,\n startingUrl: string,\n readonly locationChangeTriggerUrl: string,\n readonly poppedHistoryUrl: string) {\n super(context, startingUrl);\n }\n\n // @Trace()\n onRouterStarted(event: NavigationStart): void {\n this.ignore(event);\n }\n\n // @Trace()\n onRouterCancelled(event: NavigationCancel): void {\n if (!this.firstCancelHandled) {\n this.firstCancelHandled = true;\n this.parentPageUrl = event.url;\n this.ignore(event);\n } else {\n if (this.popStateHandled) {\n const grandParentPageUrl = event.url;\n this.repairBrowserHistoryAndUrlAfterGuardCancellation(grandParentPageUrl, this.parentPageUrl);\n // we've had one more back click than normal so we need to add our initial url back in as well.\n this.resetBrowserLocation(this.startingUrl, {replaceCurrent: false});\n return this.context.finishRoutingSession();\n }\n }\n }\n\n // @Trace()\n onRouterEnd(event: NavigationEnd): void {\n this.ignore(event);\n }\n\n // @Trace()\n onRouterError(event: NavigationError): void {\n void this.ignore(event);\n }\n\n // @Trace()\n onPopState(event: NavigationStart): void {\n this.popStateHandled = true;\n this.popStateEventUrl = event.url;\n this.ignore(event);\n }\n\n async canDeactivatePlace(component: PlaceComponent, currentUrl: UrlSnapshot, nextUrl: UrlSnapshot): Promise<boolean | UrlSnapshot> {\n return false;\n }\n}\n"]}
@@ -0,0 +1 @@
1
+ [{"__symbolic":"module","version":4,"metadata":{"WaitUntilPopStateDuringCanDeactivateInteractionFinishes":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"./event-clean-up-session","name":"EventCleanUpSession","line":18,"character":77},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"../navigation-context","name":"NavigationContext","line":27,"character":23},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"string"}]}],"onRouterStarted":[{"__symbolic":"method"}],"onRouterCancelled":[{"__symbolic":"method"}],"onRouterEnd":[{"__symbolic":"method"}],"onRouterError":[{"__symbolic":"method"}],"onPopState":[{"__symbolic":"method"}],"canDeactivatePlace":[{"__symbolic":"method"}]}}}}]
@@ -0,0 +1,62 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import { NavigationSession } from '../navigation-session';
6
+ import { WaitUntilLeavingInteractionTransitionCancelled } from '../event-cleanup/wait-until-leaving-interaction-transition-cancelled';
7
+ import { SynchroniseInteractionContextIdsWithRoute } from './synchronise-interaction-context-ids-with-route';
8
+ /**
9
+ * This state exists to handle all events while any kind of navigation is in progress. That way all other states can
10
+ * happily ignore interaction contexts.
11
+ * NOTE: This state is activated when ever an interaction is started. It might be better to split it into
12
+ * different states for different scenarios, e.g. starting model, starting model during route guard etc.
13
+ */
14
+ export class NavigatingDuringInteraction extends NavigationSession {
15
+ constructor() {
16
+ super(...arguments);
17
+ this.isPopState = false;
18
+ }
19
+ // @Trace()
20
+ /**
21
+ * @param {?} event
22
+ * @return {?}
23
+ */
24
+ onRouterCancelled(event) {
25
+ this.context.finishRoutingSession();
26
+ }
27
+ // @Trace()
28
+ /**
29
+ * @param {?} event
30
+ * @return {?}
31
+ */
32
+ onRouterError(event) {
33
+ // navigation was aborted.
34
+ this.context.finishRoutingSession();
35
+ }
36
+ // @Trace()
37
+ /**
38
+ * @param {?} event
39
+ * @return {?}
40
+ */
41
+ onRouterEnd(event) {
42
+ if (this.context.routerInteractionAdapter.isActive()) {
43
+ this.context.transitionTo(new SynchroniseInteractionContextIdsWithRoute(this.context, this.startingUrl, false));
44
+ }
45
+ else {
46
+ this.context.finishRoutingSession(this.getVisits());
47
+ }
48
+ }
49
+ // @Trace()
50
+ /**
51
+ * @param {?} locationTriggerUrl
52
+ * @return {?}
53
+ */
54
+ handleCanDeactivateCancelledEventScenario(locationTriggerUrl) {
55
+ this.context.transitionTo(new WaitUntilLeavingInteractionTransitionCancelled(this.context, this.startingUrl, locationTriggerUrl));
56
+ }
57
+ }
58
+ if (false) {
59
+ /** @type {?} */
60
+ NavigatingDuringInteraction.prototype.isPopState;
61
+ }
62
+ //# sourceMappingURL=navigating-during-interaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigating-during-interaction.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/navigation/session/interactions/navigating-during-interaction.ts"],"names":[],"mappings":";;;;AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,EAAE,8CAA8C,EAAE,MAAM,sEAAsE,CAAC;AACtI,OAAO,EAAE,yCAAyC,EAAE,MAAM,kDAAkD,CAAC;;;;;;;AAQ7G,MAAM,OAAO,2BAA4B,SAAQ,iBAAiB;IAAlE;;QACW,eAAU,GAAG,KAAK,CAAC;IA6B9B,CAAC;;;;;;IA1BC,iBAAiB,CAAC,KAAuB;QACvC,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC;IACtC,CAAC;;;;;;IAGD,aAAa,CAAC,KAAsB;QAClC,0BAA0B;QAC1B,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC;IACtC,CAAC;;;;;;IAGD,WAAW,CAAC,KAAoB;QAC9B,IAAI,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,QAAQ,EAAE,EAAE;YACpD,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,yCAAyC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAA;SAChH;aAAM;YACL,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;SACrD;IACH,CAAC;;;;;;IAGD,yCAAyC,CAAC,kBAA0B;QAClE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,8CAA8C,CAAC,IAAI,CAAC,OAAO,EACvF,IAAI,CAAC,WAAW,EAChB,kBAAkB,CAAC,CAAC,CAAC;IACzB,CAAC;CAEF;;;IA7BC,iDAA4B","sourcesContent":["import { NavigationCancel, NavigationEnd, NavigationError } from '@angular/router';\nimport { Trace } from '@coolon/pectin';\nimport { NavigationSession } from '../navigation-session';\n\nimport { WaitUntilLeavingInteractionTransitionCancelled } from '../event-cleanup/wait-until-leaving-interaction-transition-cancelled';\nimport { SynchroniseInteractionContextIdsWithRoute } from './synchronise-interaction-context-ids-with-route';\n\n/**\n * This state exists to handle all events while any kind of navigation is in progress. That way all other states can\n * happily ignore interaction contexts.\n * NOTE: This state is activated when ever an interaction is started. It might be better to split it into\n * different states for different scenarios, e.g. starting model, starting model during route guard etc.\n */\nexport class NavigatingDuringInteraction extends NavigationSession {\n readonly isPopState = false;\n\n // @Trace()\n onRouterCancelled(event: NavigationCancel): void {\n this.context.finishRoutingSession();\n }\n\n // @Trace()\n onRouterError(event: NavigationError): void {\n // navigation was aborted.\n this.context.finishRoutingSession();\n }\n\n // @Trace()\n onRouterEnd(event: NavigationEnd): void {\n if (this.context.routerInteractionAdapter.isActive()) {\n this.context.transitionTo(new SynchroniseInteractionContextIdsWithRoute(this.context, this.startingUrl, false))\n } else {\n this.context.finishRoutingSession(this.getVisits());\n }\n }\n\n // @Trace()\n handleCanDeactivateCancelledEventScenario(locationTriggerUrl: string): void {\n this.context.transitionTo(new WaitUntilLeavingInteractionTransitionCancelled(this.context,\n this.startingUrl,\n locationTriggerUrl));\n }\n\n}\n"]}
@@ -0,0 +1 @@
1
+ [{"__symbolic":"module","version":4,"metadata":{"NavigatingDuringInteraction":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../navigation-session","name":"NavigationSession","line":13,"character":49},"members":{"onRouterCancelled":[{"__symbolic":"method"}],"onRouterError":[{"__symbolic":"method"}],"onRouterEnd":[{"__symbolic":"method"}],"handleCanDeactivateCancelledEventScenario":[{"__symbolic":"method"}]}}}}]
@@ -0,0 +1,48 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import { AbstractPopStateNavigation } from '../abstract-pop-state-navigation';
6
+ import { SynchroniseInteractionContextIdsWithRoute } from './synchronise-interaction-context-ids-with-route';
7
+ /**
8
+ * This state exists to handle all events while any kind of navigation is in progress. That way all other states can
9
+ * happily ignore interaction contexts.
10
+ */
11
+ export class PopStateDuringInteractionNavigation extends AbstractPopStateNavigation {
12
+ /**
13
+ * @param {?} context
14
+ * @param {?} startingUrl
15
+ * @param {?} poppedHistoryUrl
16
+ */
17
+ constructor(context, startingUrl, poppedHistoryUrl) {
18
+ super(context, startingUrl, poppedHistoryUrl);
19
+ }
20
+ /**
21
+ * Invoked when the place refuses to deactivate because of an unfinished interaction.
22
+ * @param {?} event
23
+ * @return {?}
24
+ */
25
+ // @Trace()
26
+ onRouterCancelled(event) {
27
+ this.repairBrowserHistoryAndUrlAfterGuardCancellation();
28
+ // NOTE: for now we need to wasTriggeredByPopState=false because we're resetting the url and history in the previous line.
29
+ this.context.transitionTo(new SynchroniseInteractionContextIdsWithRoute(this.context, this.poppedHistoryUrl, false));
30
+ }
31
+ // @Trace()
32
+ /**
33
+ * @param {?} event
34
+ * @return {?}
35
+ */
36
+ onRouterEnd(event) {
37
+ // this.context.transitionTo(new SynchroniseInteractionContextIdsWithRoute(this.context, this.poppedHistoryUrl, false));
38
+ this.context.finishRoutingSession();
39
+ }
40
+ /**
41
+ * @param {?} newUrl
42
+ * @return {?}
43
+ */
44
+ handleCanDeactivateCancelledEventScenario(newUrl) {
45
+ this.illegalTransition('Leaving interaction after pop-state should\'t block so should never see a back button click');
46
+ }
47
+ }
48
+ //# sourceMappingURL=pop-state-during-interaction-navigation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pop-state-during-interaction-navigation.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/navigation/session/interactions/pop-state-during-interaction-navigation.ts"],"names":[],"mappings":";;;;AAEA,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAE9E,OAAO,EAAE,yCAAyC,EAAE,MAAM,kDAAkD,CAAC;;;;;AAM7G,MAAM,OAAO,mCAAoC,SAAQ,0BAA0B;;;;;;IAEjF,YAAY,OAA0B,EAAE,WAAmB,EAAE,gBAAwB;QACnF,KAAK,CAAC,OAAO,EAAE,WAAW,EAAE,gBAAgB,CAAC,CAAC;IAChD,CAAC;;;;;;;IAOD,iBAAiB,CAAC,KAAuB;QACvC,IAAI,CAAC,gDAAgD,EAAE,CAAC;QACxD,0HAA0H;QAC1H,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,yCAAyC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC,CAAC;IACvH,CAAC;;;;;;IAGD,WAAW,CAAC,KAAoB;QAC9B,wHAAwH;QACxH,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC;IACtC,CAAC;;;;;IAED,yCAAyC,CAAC,MAAc;QACtD,IAAI,CAAC,iBAAiB,CAAC,6FAA6F,CAAC,CAAC;IACxH,CAAC;CAEF","sourcesContent":["import { NavigationCancel, NavigationEnd } from '@angular/router';\nimport { Trace } from '@coolon/pectin';\nimport { AbstractPopStateNavigation } from '../abstract-pop-state-navigation';\nimport { NavigationContext } from '../navigation-context';\nimport { SynchroniseInteractionContextIdsWithRoute } from './synchronise-interaction-context-ids-with-route';\n\n/**\n * This state exists to handle all events while any kind of navigation is in progress. That way all other states can\n * happily ignore interaction contexts.\n */\nexport class PopStateDuringInteractionNavigation extends AbstractPopStateNavigation {\n\n constructor(context: NavigationContext, startingUrl: string, poppedHistoryUrl: string) {\n super(context, startingUrl, poppedHistoryUrl);\n }\n\n /**\n * Invoked when the place refuses to deactivate because of an unfinished interaction.\n * @param event\n */\n // @Trace()\n onRouterCancelled(event: NavigationCancel): void {\n this.repairBrowserHistoryAndUrlAfterGuardCancellation();\n // NOTE: for now we need to wasTriggeredByPopState=false because we're resetting the url and history in the previous line.\n this.context.transitionTo(new SynchroniseInteractionContextIdsWithRoute(this.context, this.poppedHistoryUrl, false));\n }\n\n // @Trace()\n onRouterEnd(event: NavigationEnd): void {\n // this.context.transitionTo(new SynchroniseInteractionContextIdsWithRoute(this.context, this.poppedHistoryUrl, false));\n this.context.finishRoutingSession();\n }\n\n handleCanDeactivateCancelledEventScenario(newUrl: string): void {\n this.illegalTransition('Leaving interaction after pop-state should\\'t block so should never see a back button click');\n }\n\n}\n"]}
@@ -0,0 +1 @@
1
+ [{"__symbolic":"module","version":4,"metadata":{"PopStateDuringInteractionNavigation":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../abstract-pop-state-navigation","name":"AbstractPopStateNavigation","line":10,"character":57},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"../navigation-context","name":"NavigationContext","line":12,"character":23},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"string"}]}],"onRouterCancelled":[{"__symbolic":"method"}],"onRouterEnd":[{"__symbolic":"method"}],"handleCanDeactivateCancelledEventScenario":[{"__symbolic":"method"}]}}}}]
@@ -0,0 +1,104 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import { Deferred, lang } from '@coolon/pectin';
6
+ import { NavigationSession } from '../navigation-session';
7
+ /**
8
+ * This session tracks the process of removing the last interaction context from the URL and provides a promise
9
+ * the resolves when the process and completed. This case is special as the process involves a regular routing cycle
10
+ * followed by a call to location.back(). The later triggers a url change with no other routing events. So this
11
+ * class tracks when the first routing cycle finishes and then waits for the subsequent lone url change event.
12
+ */
13
+ export class RemoveLastInteractionFromUrlNavigationSession extends NavigationSession {
14
+ /**
15
+ * @param {?} context
16
+ * @param {?} startingUrl
17
+ */
18
+ constructor(context, startingUrl) {
19
+ super(context, startingUrl);
20
+ this.isPopState = true;
21
+ this.debugPropertyKeys = ['startingUrl', 'poppedHistoryUrl'];
22
+ this.finished = Deferred.defer();
23
+ }
24
+ // @Trace()
25
+ /**
26
+ * @param {?} event
27
+ * @return {?}
28
+ */
29
+ onPopState(event) {
30
+ this.gotPopState = true;
31
+ }
32
+ // @Trace()
33
+ /**
34
+ * @param {?} event
35
+ * @return {?}
36
+ */
37
+ onRouterStarted(event) {
38
+ this.ignore(event);
39
+ }
40
+ // @Trace()
41
+ /**
42
+ * @param {?} event
43
+ * @return {?}
44
+ */
45
+ onRouterCancelled(event) {
46
+ this.ignore(event);
47
+ }
48
+ // @Trace()
49
+ /**
50
+ * @param {?} url
51
+ * @return {?}
52
+ */
53
+ onUrlChange(url) {
54
+ }
55
+ /**
56
+ * @private
57
+ * @return {?}
58
+ */
59
+ finishUp() {
60
+ this.context.finishRoutingSession();
61
+ this.finished.resolve(true);
62
+ }
63
+ // @Trace()
64
+ /**
65
+ * @param {?} event
66
+ * @return {?}
67
+ */
68
+ onRouterEnd(event) {
69
+ if (this.gotPopState) {
70
+ this.finishUp();
71
+ }
72
+ }
73
+ // @Trace()
74
+ /**
75
+ * @param {?} locationTriggerUrl
76
+ * @return {?}
77
+ */
78
+ handleCanDeactivateCancelledEventScenario(locationTriggerUrl) {
79
+ lang.illegalState('onCanDeactivateInteractionCancelled not supported for activity context synchronisation since we should never leave a place');
80
+ }
81
+ /**
82
+ * @return {?}
83
+ */
84
+ get finishedPromise() {
85
+ return this.finished.promise;
86
+ }
87
+ }
88
+ if (false) {
89
+ /** @type {?} */
90
+ RemoveLastInteractionFromUrlNavigationSession.prototype.isPopState;
91
+ /** @type {?} */
92
+ RemoveLastInteractionFromUrlNavigationSession.prototype.debugPropertyKeys;
93
+ /**
94
+ * @type {?}
95
+ * @private
96
+ */
97
+ RemoveLastInteractionFromUrlNavigationSession.prototype.finished;
98
+ /**
99
+ * @type {?}
100
+ * @private
101
+ */
102
+ RemoveLastInteractionFromUrlNavigationSession.prototype.gotPopState;
103
+ }
104
+ //# sourceMappingURL=remove-last-interaction-from-url-navigation-session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove-last-interaction-from-url-navigation-session.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/navigation/session/interactions/remove-last-interaction-from-url-navigation-session.ts"],"names":[],"mappings":";;;;AACA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAS,MAAM,gBAAgB,CAAC;AAEvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;;;;;;;AAQ1D,MAAM,OAAO,6CAA8C,SAAQ,iBAAiB;;;;;IAOlF,YAAY,OAA0B,EAAE,WAAmB;QACzD,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAPrB,eAAU,GAAG,IAAI,CAAC;QAC3B,sBAAiB,GAAG,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;QAOtD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,EAAW,CAAC;IAC5C,CAAC;;;;;;IAGD,UAAU,CAAC,KAAsB;QAC/B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;;;;;;IAGD,eAAe,CAAC,KAAsB;QACpC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;;;;;;IAGD,iBAAiB,CAAC,KAAuB;QACvC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;;;;;;IAGD,WAAW,CAAC,GAAW;IACvB,CAAC;;;;;IAEO,QAAQ;QACd,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC;QACpC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;;;;;;IAGD,WAAW,CAAC,KAAoB;QAC9B,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,QAAQ,EAAE,CAAC;SACjB;IACH,CAAC;;;;;;IAGD,yCAAyC,CAAC,kBAA0B;QAClE,IAAI,CAAC,YAAY,CAAC,4HAA4H,CAAC,CAAC;IAClJ,CAAC;;;;IAED,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;IAC/B,CAAC;CAEF;;;IAnDC,mEAA2B;;IAC3B,0EAAwD;;;;;IAExD,iEAAoC;;;;;IACpC,oEAA6B","sourcesContent":["import { NavigationCancel, NavigationEnd, NavigationStart } from '@angular/router';\nimport { Deferred, lang, Trace } from '@coolon/pectin';\nimport { NavigationContext } from '../navigation-context';\nimport { NavigationSession } from '../navigation-session';\n\n/**\n * This session tracks the process of removing the last interaction context from the URL and provides a promise\n * the resolves when the process and completed. This case is special as the process involves a regular routing cycle\n * followed by a call to location.back(). The later triggers a url change with no other routing events. So this\n * class tracks when the first routing cycle finishes and then waits for the subsequent lone url change event.\n */\nexport class RemoveLastInteractionFromUrlNavigationSession extends NavigationSession {\n readonly isPopState = true;\n debugPropertyKeys = ['startingUrl', 'poppedHistoryUrl'];\n\n private finished: Deferred<boolean>;\n private gotPopState: boolean;\n\n constructor(context: NavigationContext, startingUrl: string) {\n super(context, startingUrl);\n this.finished = Deferred.defer<boolean>();\n }\n\n // @Trace()\n onPopState(event: NavigationStart): void {\n this.gotPopState = true;\n }\n\n // @Trace()\n onRouterStarted(event: NavigationStart): void {\n this.ignore(event);\n }\n\n // @Trace()\n onRouterCancelled(event: NavigationCancel): void {\n this.ignore(event);\n }\n\n // @Trace()\n onUrlChange(url: string) {\n }\n\n private finishUp() {\n this.context.finishRoutingSession();\n this.finished.resolve(true);\n }\n\n // @Trace()\n onRouterEnd(event: NavigationEnd): void {\n if (this.gotPopState) {\n this.finishUp();\n }\n }\n\n // @Trace()\n handleCanDeactivateCancelledEventScenario(locationTriggerUrl: string): void {\n lang.illegalState('onCanDeactivateInteractionCancelled not supported for activity context synchronisation since we should never leave a place');\n }\n\n get finishedPromise(): Promise<boolean> {\n return this.finished.promise;\n }\n\n}\n"]}
@@ -0,0 +1 @@
1
+ [{"__symbolic":"module","version":4,"metadata":{"RemoveLastInteractionFromUrlNavigationSession":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../navigation-session","name":"NavigationSession","line":11,"character":67},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"../navigation-context","name":"NavigationContext","line":18,"character":23},{"__symbolic":"reference","name":"string"}]}],"onPopState":[{"__symbolic":"method"}],"onRouterStarted":[{"__symbolic":"method"}],"onRouterCancelled":[{"__symbolic":"method"}],"onUrlChange":[{"__symbolic":"method"}],"finishUp":[{"__symbolic":"method"}],"onRouterEnd":[{"__symbolic":"method"}],"handleCanDeactivateCancelledEventScenario":[{"__symbolic":"method"}]}}}}]
@@ -0,0 +1,141 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import { lang } from '@coolon/typescript-utilities';
6
+ import _ from 'lodash';
7
+ import { NavigationSession } from '../navigation-session';
8
+ import { RemoveLastInteractionFromUrlNavigationSession } from './remove-last-interaction-from-url-navigation-session';
9
+ export class SynchroniseInteractionContextIdsWithRoute extends NavigationSession {
10
+ /**
11
+ * @param {?} context
12
+ * @param {?} startingUrl
13
+ * @param {?} wasTriggeredByPopState
14
+ */
15
+ constructor(context, startingUrl, wasTriggeredByPopState) {
16
+ super(context, startingUrl);
17
+ this.wasTriggeredByPopState = wasTriggeredByPopState;
18
+ this.isPopState = false;
19
+ }
20
+ /**
21
+ * @return {?}
22
+ */
23
+ notifyActive() {
24
+ // TODO: Do I still need this??
25
+ setTimeout((/**
26
+ * @return {?}
27
+ */
28
+ () => {
29
+ this.syncInteractionIdsWithRouter();
30
+ }));
31
+ }
32
+ // @Trace()
33
+ /**
34
+ * @param {?} event
35
+ * @return {?}
36
+ */
37
+ onRouterEnd(event) {
38
+ this.context.finishRoutingSession();
39
+ }
40
+ // @Trace()
41
+ /**
42
+ * @param {?} event
43
+ * @return {?}
44
+ */
45
+ onRouterCancelled(event) {
46
+ this.context.finishRoutingSession();
47
+ }
48
+ // @Trace()
49
+ /**
50
+ * @return {?}
51
+ */
52
+ syncInteractionIdsWithRouter() {
53
+ /** @type {?} */
54
+ const currentIds = this.interactionServiceAdapter.getActiveInteractionContextIds();
55
+ /** @type {?} */
56
+ const previousIds = this.urlService.getCurrentLocationUrlSnapshot().getInteractionIds();
57
+ // console.log(`---> synchroniseInteractionIds`, { is: currentIds.join(','), was: previousIds.join(',') });
58
+ if (_.isEqual(currentIds, previousIds)) {
59
+ // console.log('### Activity context ids were the same, skipping');
60
+ this.context.finishRoutingSession();
61
+ }
62
+ else {
63
+ if (currentIds.length > previousIds.length) {
64
+ /** @type {?} */
65
+ const isFirstActivity = currentIds.length > previousIds.length && previousIds.length < 1;
66
+ this.addActivityContextToRoute(currentIds, isFirstActivity);
67
+ }
68
+ else {
69
+ this.removeActivityContextFromRoute(currentIds);
70
+ }
71
+ }
72
+ }
73
+ // @Trace()
74
+ /**
75
+ * @param {?} activeInteractionContextIds
76
+ * @param {?} isFirst
77
+ * @return {?}
78
+ */
79
+ addActivityContextToRoute(activeInteractionContextIds, isFirst) {
80
+ /** @type {?} */
81
+ const urlSnapshot = this.urlService.getCurrentRouterSnapshot().updateInteractionIds(activeInteractionContextIds);
82
+ this.context.navigateByUrl(urlSnapshot, {
83
+ replaceUrl: !isFirst
84
+ }).then((/**
85
+ * @param {?} result
86
+ * @return {?}
87
+ */
88
+ result => {
89
+ if (!this.urlService.getCurrentLocationUrlSnapshot().hasInteractionIds(activeInteractionContextIds)) {
90
+ lang.illegalState(`Expected url to be ${urlSnapshot.url} but was ${this.urlService.getCurrentLocationUrl()}`);
91
+ // this.urlService.resetBrowserLocation(urlSnapshot.url, {replaceCurrent: !isFirst})
92
+ }
93
+ }));
94
+ }
95
+ // @Trace()
96
+ /**
97
+ * @param {?} activeInteractionContextId
98
+ * @return {?}
99
+ */
100
+ removeActivityContextFromRoute(activeInteractionContextId) {
101
+ /** @type {?} */
102
+ const urlSnapshot = this.urlService.getCurrentRouterSnapshot().updateInteractionIds(activeInteractionContextId);
103
+ /** @type {?} */
104
+ const isRemovingLastActivity = activeInteractionContextId.length < 1;
105
+ if (isRemovingLastActivity) {
106
+ if (this.wasTriggeredByPopState) {
107
+ // console.log('removal was triggered by pop state, nothing to do.');
108
+ // noop. Our url will be back to the non interaction version now so we dont' need to do anything.
109
+ }
110
+ else {
111
+ // now we just pop our interaction id's from the browser history.
112
+ // console.log(`Removal of the last activity wasn't triggered by pop state so we have to trigger one to clean the history`);
113
+ /** @type {?} */
114
+ const session = new RemoveLastInteractionFromUrlNavigationSession(this.context, this.urlService.getCurrentRouterUrl());
115
+ this.context.transitionTo(session);
116
+ this.urlService.back();
117
+ }
118
+ }
119
+ else {
120
+ // we've removed an interaction, but we still have remaining activities so we
121
+ // update the url in place if it wasn't a pop state. If it was a pop state we need
122
+ // to push it back up.
123
+ // this.urlService.resetBrowserLocation(urlSnapshot.url, { replaceCurrent: !this.wasTriggeredByPopState });
124
+ this.context.navigateByUrl(urlSnapshot, { replaceUrl: !this.wasTriggeredByPopState });
125
+ }
126
+ }
127
+ /**
128
+ * @param {?} newUrl
129
+ * @return {?}
130
+ */
131
+ handleCanDeactivateCancelledEventScenario(newUrl) {
132
+ lang.methodNotSupported();
133
+ }
134
+ }
135
+ if (false) {
136
+ /** @type {?} */
137
+ SynchroniseInteractionContextIdsWithRoute.prototype.isPopState;
138
+ /** @type {?} */
139
+ SynchroniseInteractionContextIdsWithRoute.prototype.wasTriggeredByPopState;
140
+ }
141
+ //# sourceMappingURL=synchronise-interaction-context-ids-with-route.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"synchronise-interaction-context-ids-with-route.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/navigation/session/interactions/synchronise-interaction-context-ids-with-route.ts"],"names":[],"mappings":";;;;AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AACpD,OAAO,CAAC,MAAM,QAAQ,CAAC;AAEvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,6CAA6C,EAAE,MAAM,uDAAuD,CAAC;AAEtH,MAAM,OAAO,yCAA0C,SAAQ,iBAAiB;;;;;;IAI9E,YAAY,OAA0B,EAAE,WAAmB,EAAW,sBAA+B;QACnG,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QADwC,2BAAsB,GAAtB,sBAAsB,CAAS;QAF5F,eAAU,GAAG,KAAK,CAAC;IAI5B,CAAC;;;;IAED,YAAY;QACV,+BAA+B;QAC/B,UAAU;;;QAAC,GAAG,EAAE;YACd,IAAI,CAAC,4BAA4B,EAAE,CAAC;QACtC,CAAC,EAAC,CAAC;IACL,CAAC;;;;;;IAGD,WAAW,CAAC,KAAoB;QAC9B,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC;IACtC,CAAC;;;;;;IAGD,iBAAiB,CAAC,KAAuB;QACvC,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC;IACtC,CAAC;;;;;IAGD,4BAA4B;;cACpB,UAAU,GAAG,IAAI,CAAC,yBAAyB,CAAC,8BAA8B,EAAE;;cAC5E,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,6BAA6B,EAAE,CAAC,iBAAiB,EAAE;QACvF,2GAA2G;QAC3G,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE;YACtC,mEAAmE;YACnE,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC;SACrC;aAAM;YACL,IAAI,UAAU,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE;;sBACpC,eAAe,GAAG,UAAU,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;gBACxF,IAAI,CAAC,yBAAyB,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;aAC7D;iBAAM;gBACL,IAAI,CAAC,8BAA8B,CAAC,UAAU,CAAC,CAAC;aACjD;SACF;IACH,CAAC;;;;;;;IAGD,yBAAyB,CAAC,2BAAqC,EAAE,OAAgB;;cACzE,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,wBAAwB,EAAE,CAAC,oBAAoB,CAAC,2BAA2B,CAAC;QAC/G,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,EAAE;YACvC,UAAU,EAAE,CAAC,OAAO;SACrB,CAAC,CAAC,IAAI;;;;QAAC,MAAM,CAAC,EAAE;YACf,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,6BAA6B,EAAE,CAAC,iBAAiB,CAAC,2BAA2B,CAAC,EAAE;gBACnG,IAAI,CAAC,YAAY,CAAC,sBAAsB,WAAW,CAAC,GAAG,YAAY,IAAI,CAAC,UAAU,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;gBAC9G,oFAAoF;aACrF;QACH,CAAC,EAAC,CAAC;IACL,CAAC;;;;;;IAID,8BAA8B,CAAC,0BAAoC;;cAC3D,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,wBAAwB,EAAE,CAAC,oBAAoB,CAAC,0BAA0B,CAAC;;cACzG,sBAAsB,GAAG,0BAA0B,CAAC,MAAM,GAAG,CAAC;QACpE,IAAI,sBAAsB,EAAE;YAC1B,IAAI,IAAI,CAAC,sBAAsB,EAAE;gBAC/B,qEAAqE;gBACrE,oGAAoG;aACrG;iBAAM;;;;sBAGC,OAAO,GAAG,IAAI,6CAA6C,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC;gBACtH,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;gBACnC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;aACxB;SACF;aAAM;YACL,6EAA6E;YAC7E,kFAAkF;YAClF,uBAAuB;YACvB,2GAA2G;YAC3G,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,EAAE,EAAE,UAAU,EAAE,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC;SACvF;IACH,CAAC;;;;;IAED,yCAAyC,CAAC,MAAc;QACtD,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;CAEF;;;IAnFC,+DAA4B;;IAEiC,2EAAwC","sourcesContent":["import { NavigationCancel, NavigationEnd } from '@angular/router';\nimport { Trace } from '@coolon/pectin';\nimport { lang } from '@coolon/typescript-utilities';\nimport _ from 'lodash';\nimport { NavigationContext } from '../navigation-context';\nimport { NavigationSession } from '../navigation-session';\nimport { RemoveLastInteractionFromUrlNavigationSession } from './remove-last-interaction-from-url-navigation-session';\n\nexport class SynchroniseInteractionContextIdsWithRoute extends NavigationSession {\n\n readonly isPopState = false;\n\n constructor(context: NavigationContext, startingUrl: string, readonly wasTriggeredByPopState: boolean) {\n super(context, startingUrl);\n }\n\n notifyActive() {\n // TODO: Do I still need this??\n setTimeout(() => {\n this.syncInteractionIdsWithRouter();\n });\n }\n\n // @Trace()\n onRouterEnd(event: NavigationEnd): void {\n this.context.finishRoutingSession();\n }\n\n // @Trace()\n onRouterCancelled(event: NavigationCancel): void {\n this.context.finishRoutingSession();\n }\n\n // @Trace()\n syncInteractionIdsWithRouter(): void {\n const currentIds = this.interactionServiceAdapter.getActiveInteractionContextIds();\n const previousIds = this.urlService.getCurrentLocationUrlSnapshot().getInteractionIds();\n // console.log(`---> synchroniseInteractionIds`, { is: currentIds.join(','), was: previousIds.join(',') });\n if (_.isEqual(currentIds, previousIds)) {\n // console.log('### Activity context ids were the same, skipping');\n this.context.finishRoutingSession();\n } else {\n if (currentIds.length > previousIds.length) {\n const isFirstActivity = currentIds.length > previousIds.length && previousIds.length < 1;\n this.addActivityContextToRoute(currentIds, isFirstActivity);\n } else {\n this.removeActivityContextFromRoute(currentIds);\n }\n }\n }\n\n // @Trace()\n addActivityContextToRoute(activeInteractionContextIds: string[], isFirst: boolean): void {\n const urlSnapshot = this.urlService.getCurrentRouterSnapshot().updateInteractionIds(activeInteractionContextIds);\n this.context.navigateByUrl(urlSnapshot, {\n replaceUrl: !isFirst\n }).then(result => {\n if (!this.urlService.getCurrentLocationUrlSnapshot().hasInteractionIds(activeInteractionContextIds)) {\n lang.illegalState(`Expected url to be ${urlSnapshot.url} but was ${this.urlService.getCurrentLocationUrl()}`);\n // this.urlService.resetBrowserLocation(urlSnapshot.url, {replaceCurrent: !isFirst})\n }\n });\n }\n\n\n // @Trace()\n removeActivityContextFromRoute(activeInteractionContextId: string[]):void {\n const urlSnapshot = this.urlService.getCurrentRouterSnapshot().updateInteractionIds(activeInteractionContextId);\n const isRemovingLastActivity = activeInteractionContextId.length < 1;\n if (isRemovingLastActivity) {\n if (this.wasTriggeredByPopState) {\n // console.log('removal was triggered by pop state, nothing to do.');\n // noop. Our url will be back to the non interaction version now so we dont' need to do anything.\n } else {\n // now we just pop our interaction id's from the browser history.\n // console.log(`Removal of the last activity wasn't triggered by pop state so we have to trigger one to clean the history`);\n const session = new RemoveLastInteractionFromUrlNavigationSession(this.context, this.urlService.getCurrentRouterUrl());\n this.context.transitionTo(session);\n this.urlService.back();\n }\n } else {\n // we've removed an interaction, but we still have remaining activities so we\n // update the url in place if it wasn't a pop state. If it was a pop state we need\n // to push it back up.\n // this.urlService.resetBrowserLocation(urlSnapshot.url, { replaceCurrent: !this.wasTriggeredByPopState });\n this.context.navigateByUrl(urlSnapshot, { replaceUrl: !this.wasTriggeredByPopState });\n }\n }\n\n handleCanDeactivateCancelledEventScenario(newUrl: string): void {\n lang.methodNotSupported();\n }\n\n}\n"]}
@@ -0,0 +1 @@
1
+ [{"__symbolic":"module","version":4,"metadata":{"SynchroniseInteractionContextIdsWithRoute":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../navigation-session","name":"NavigationSession","line":8,"character":63},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"../navigation-context","name":"NavigationContext","line":12,"character":23},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"boolean"}]}],"notifyActive":[{"__symbolic":"method"}],"onRouterEnd":[{"__symbolic":"method"}],"onRouterCancelled":[{"__symbolic":"method"}],"syncInteractionIdsWithRouter":[{"__symbolic":"method"}],"addActivityContextToRoute":[{"__symbolic":"method"}],"removeActivityContextFromRoute":[{"__symbolic":"method"}],"handleCanDeactivateCancelledEventScenario":[{"__symbolic":"method"}]}}}}]
@@ -0,0 +1,54 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import { NavigationSession } from './navigation-session';
6
+ import { WaitUntilLinkTriggeredNavigationInteractionCancellationEventsFinish } from './event-cleanup/wait-until-link-triggered-interaction-cancelation-finishes';
7
+ export class Navigating extends NavigationSession {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.isPopState = false;
11
+ this.debugPropertyKeys = ['startingUrl', 'urlAfterRedirects'];
12
+ }
13
+ /**
14
+ * @param {?} event
15
+ * @return {?}
16
+ */
17
+ onRouterCancelled(event) {
18
+ }
19
+ /**
20
+ * @param {?} event
21
+ * @return {?}
22
+ */
23
+ onRouterError(event) {
24
+ // navigation was aborted.
25
+ this.context.finishRoutingSession();
26
+ }
27
+ /**
28
+ * @param {?} event
29
+ * @return {?}
30
+ */
31
+ onRouterEnd(event) {
32
+ this.urlAfterRedirects = event.urlAfterRedirects;
33
+ this.context.finishRoutingSession(this.getVisits());
34
+ }
35
+ /**
36
+ * @param {?} newUrl
37
+ * @return {?}
38
+ */
39
+ handleCanDeactivateCancelledEventScenario(newUrl) {
40
+ this.context.transitionTo(new WaitUntilLinkTriggeredNavigationInteractionCancellationEventsFinish(this.context, this.startingUrl, newUrl));
41
+ }
42
+ }
43
+ if (false) {
44
+ /** @type {?} */
45
+ Navigating.prototype.isPopState;
46
+ /** @type {?} */
47
+ Navigating.prototype.debugPropertyKeys;
48
+ /**
49
+ * @type {?}
50
+ * @private
51
+ */
52
+ Navigating.prototype.urlAfterRedirects;
53
+ }
54
+ //# sourceMappingURL=navigating.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigating.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/navigation/session/navigating.ts"],"names":[],"mappings":";;;;AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,mEAAmE,EAAE,MAAM,4EAA4E,CAAC;AAGjK,MAAM,OAAO,UAAW,SAAQ,iBAAiB;IAAjD;;QACW,eAAU,GAAG,KAAK,CAAC;QAE5B,sBAAiB,GAAG,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC;IAwB3D,CAAC;;;;;IArBC,iBAAiB,CAAC,KAAuB;IACzC,CAAC;;;;;IAED,aAAa,CAAC,KAAsB;QAClC,0BAA0B;QAC1B,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC;IACtC,CAAC;;;;;IAED,WAAW,CAAC,KAAoB;QAC9B,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,CAAC;QACjD,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IACtD,CAAC;;;;;IAED,yCAAyC,CAAC,MAAc;QACtD,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,mEAAmE,CAC/F,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,WAAW,EAChB,MAAM,CACP,CAAC,CAAC;IACL,CAAC;CAEF;;;IA1BC,gCAA4B;;IAE5B,uCAAyD;;;;;IACzD,uCAAkC","sourcesContent":["import { NavigationCancel, NavigationEnd, NavigationError } from '@angular/router';\nimport { NavigationSession } from './navigation-session';\nimport { WaitUntilLinkTriggeredNavigationInteractionCancellationEventsFinish } from './event-cleanup/wait-until-link-triggered-interaction-cancelation-finishes';\n\n\nexport class Navigating extends NavigationSession {\n readonly isPopState = false;\n\n debugPropertyKeys = ['startingUrl', 'urlAfterRedirects'];\n private urlAfterRedirects: string;\n\n onRouterCancelled(event: NavigationCancel): void {\n }\n\n onRouterError(event: NavigationError): void {\n // navigation was aborted.\n this.context.finishRoutingSession();\n }\n\n onRouterEnd(event: NavigationEnd): void {\n this.urlAfterRedirects = event.urlAfterRedirects;\n this.context.finishRoutingSession(this.getVisits());\n }\n\n handleCanDeactivateCancelledEventScenario(newUrl: string): void {\n this.context.transitionTo(new WaitUntilLinkTriggeredNavigationInteractionCancellationEventsFinish(\n this.context,\n this.startingUrl,\n newUrl\n ));\n }\n\n}\n"]}
@@ -0,0 +1 @@
1
+ [{"__symbolic":"module","version":4,"metadata":{"Navigating":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"./navigation-session","name":"NavigationSession","line":5,"character":32},"members":{"onRouterCancelled":[{"__symbolic":"method"}],"onRouterError":[{"__symbolic":"method"}],"onRouterEnd":[{"__symbolic":"method"}],"handleCanDeactivateCancelledEventScenario":[{"__symbolic":"method"}]}}}}]