@coolon/angular-ui-powerups 0.0.135 → 1.0.0-alpha.11

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 (419) hide show
  1. package/CHANGELOG.md +301 -0
  2. package/bundles/coolon-angular-ui-powerups.umd.js +1142 -6275
  3. package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
  4. package/bundles/coolon-angular-ui-powerups.umd.min.js +16 -1
  5. package/bundles/coolon-angular-ui-powerups.umd.min.js.map +1 -1
  6. package/coolon-angular-ui-powerups.metadata.json +1 -1
  7. package/esm2015/coolon-angular-ui-powerups.js +1 -5
  8. package/esm2015/coolon-angular-ui-powerups.js.map +1 -1
  9. package/esm2015/index.js +1 -5
  10. package/esm2015/index.js.map +1 -1
  11. package/esm2015/lib/angular-ui-powerups.module.js +32 -32
  12. package/esm2015/lib/angular-ui-powerups.module.js.map +1 -1
  13. package/esm2015/lib/angular-ui-powerups.module.metadata.json +1 -1
  14. package/esm2015/lib/angular-ui-powerups.module.ngfactory.js.map +1 -1
  15. package/esm2015/lib/animations/index.js +1 -5
  16. package/esm2015/lib/animations/index.js.map +1 -1
  17. package/esm2015/lib/animations/slide-animations.js +0 -8
  18. package/esm2015/lib/animations/slide-animations.js.map +1 -1
  19. package/esm2015/lib/components/components.module.js +39 -39
  20. package/esm2015/lib/components/components.module.js.map +1 -1
  21. package/esm2015/lib/components/components.module.metadata.json +1 -1
  22. package/esm2015/lib/components/components.module.ngfactory.js.map +1 -1
  23. package/esm2015/lib/components/disposable-component.js +8 -9
  24. package/esm2015/lib/components/disposable-component.js.map +1 -1
  25. package/esm2015/lib/components/disposable-component.metadata.json +1 -1
  26. package/esm2015/lib/components/forms/abstract-input.component.js +82 -114
  27. package/esm2015/lib/components/forms/abstract-input.component.js.map +1 -1
  28. package/esm2015/lib/components/forms/abstract-input.component.metadata.json +1 -1
  29. package/esm2015/lib/components/forms/number-input/number-input.component.js +12 -18
  30. package/esm2015/lib/components/forms/number-input/number-input.component.js.map +1 -1
  31. package/esm2015/lib/components/forms/password-input/password-input.component.js +12 -18
  32. package/esm2015/lib/components/forms/password-input/password-input.component.js.map +1 -1
  33. package/esm2015/lib/components/forms/select-input/select-input.component.js +38 -57
  34. package/esm2015/lib/components/forms/select-input/select-input.component.js.map +1 -1
  35. package/esm2015/lib/components/forms/select-input/select-input.component.metadata.json +1 -1
  36. package/esm2015/lib/components/forms/string-input/string-input.component.js +19 -41
  37. package/esm2015/lib/components/forms/string-input/string-input.component.js.map +1 -1
  38. package/esm2015/lib/components/index.js +13 -17
  39. package/esm2015/lib/components/index.js.map +1 -1
  40. package/esm2015/lib/components/noop/noop.component.js +12 -15
  41. package/esm2015/lib/components/noop/noop.component.js.map +1 -1
  42. package/esm2015/lib/components/resize-aware.component.js +17 -64
  43. package/esm2015/lib/components/resize-aware.component.js.map +1 -1
  44. package/esm2015/lib/components/resize-aware.component.metadata.json +1 -1
  45. package/esm2015/lib/components/scroll-container/scroll-container.component.js +12 -18
  46. package/esm2015/lib/components/scroll-container/scroll-container.component.js.map +1 -1
  47. package/esm2015/lib/components/types/bounds.class.js +0 -29
  48. package/esm2015/lib/components/types/bounds.class.js.map +1 -1
  49. package/esm2015/lib/components/types/dimension.class.js +0 -14
  50. package/esm2015/lib/components/types/dimension.class.js.map +1 -1
  51. package/esm2015/lib/components/types/point.class.js +0 -23
  52. package/esm2015/lib/components/types/point.class.js.map +1 -1
  53. package/esm2015/lib/directives/command.directive.js +31 -85
  54. package/esm2015/lib/directives/command.directive.js.map +1 -1
  55. package/esm2015/lib/directives/directives.module.js +28 -28
  56. package/esm2015/lib/directives/directives.module.js.map +1 -1
  57. package/esm2015/lib/directives/directives.module.metadata.json +1 -1
  58. package/esm2015/lib/directives/directives.module.ngfactory.js.map +1 -1
  59. package/esm2015/lib/directives/focus-binding.directive.js +41 -96
  60. package/esm2015/lib/directives/focus-binding.directive.js.map +1 -1
  61. package/esm2015/lib/directives/index.js +3 -7
  62. package/esm2015/lib/directives/index.js.map +1 -1
  63. package/esm2015/lib/interaction/abstract-interaction-context.js +4 -73
  64. package/esm2015/lib/interaction/abstract-interaction-context.js.map +1 -1
  65. package/esm2015/lib/interaction/activity-ref.js +2 -79
  66. package/esm2015/lib/interaction/activity-ref.js.map +1 -1
  67. package/esm2015/lib/interaction/activity.js +0 -72
  68. package/esm2015/lib/interaction/activity.js.map +1 -1
  69. package/esm2015/lib/interaction/alert.js +0 -22
  70. package/esm2015/lib/interaction/alert.js.map +1 -1
  71. package/esm2015/lib/interaction/components/activity-container/activity-container.component.js +41 -187
  72. package/esm2015/lib/interaction/components/activity-container/activity-container.component.js.map +1 -1
  73. package/esm2015/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.js +24 -74
  74. package/esm2015/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.js.map +1 -1
  75. package/esm2015/lib/interaction/components/alert-dialog/alert-dialog.component.js +13 -24
  76. package/esm2015/lib/interaction/components/alert-dialog/alert-dialog.component.js.map +1 -1
  77. package/esm2015/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.js +15 -62
  78. package/esm2015/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.js.map +1 -1
  79. package/esm2015/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js +13 -27
  80. package/esm2015/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js.map +1 -1
  81. package/esm2015/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.js +16 -71
  82. package/esm2015/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.js.map +1 -1
  83. package/esm2015/lib/interaction/confirm.js +0 -16
  84. package/esm2015/lib/interaction/confirm.js.map +1 -1
  85. package/esm2015/lib/interaction/index.js +15 -24
  86. package/esm2015/lib/interaction/index.js.map +1 -1
  87. package/esm2015/lib/interaction/interaction-context.js +0 -50
  88. package/esm2015/lib/interaction/interaction-context.js.map +1 -1
  89. package/esm2015/lib/interaction/interaction.module.js +41 -41
  90. package/esm2015/lib/interaction/interaction.module.js.map +1 -1
  91. package/esm2015/lib/interaction/interaction.module.metadata.json +1 -1
  92. package/esm2015/lib/interaction/interaction.module.ngfactory.js.map +1 -1
  93. package/esm2015/lib/interaction/result.js +2 -23
  94. package/esm2015/lib/interaction/result.js.map +1 -1
  95. package/esm2015/lib/interaction/route-synchronisation-adapter.js +0 -16
  96. package/esm2015/lib/interaction/route-synchronisation-adapter.js.map +1 -1
  97. package/esm2015/lib/interaction/services/interaction-service-routing-adapter.js +0 -43
  98. package/esm2015/lib/interaction/services/interaction-service-routing-adapter.js.map +1 -1
  99. package/esm2015/lib/interaction/services/interaction.service.js +22 -172
  100. package/esm2015/lib/interaction/services/interaction.service.js.map +1 -1
  101. package/esm2015/lib/interaction/services/interaction.service.metadata.json +1 -1
  102. package/esm2015/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.js +17 -40
  103. package/esm2015/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.js.map +1 -1
  104. package/esm2015/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.metadata.json +1 -1
  105. package/esm2015/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.js +7 -86
  106. package/esm2015/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.js.map +1 -1
  107. package/esm2015/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.metadata.json +1 -1
  108. package/esm2015/lib/interaction/services/modal-interaction-context.factory.js +0 -16
  109. package/esm2015/lib/interaction/services/modal-interaction-context.factory.js.map +1 -1
  110. package/esm2015/lib/place/components/abstract-place-navigation.component.js +36 -105
  111. package/esm2015/lib/place/components/abstract-place-navigation.component.js.map +1 -1
  112. package/esm2015/lib/place/components/busy-overlay/busy-overlay.component.js +17 -34
  113. package/esm2015/lib/place/components/busy-overlay/busy-overlay.component.js.map +1 -1
  114. package/esm2015/lib/place/components/empty-state/empty-state.component.js +12 -18
  115. package/esm2015/lib/place/components/empty-state/empty-state.component.js.map +1 -1
  116. package/esm2015/lib/place/components/list-place-nav/list-place-nav.component.js +16 -33
  117. package/esm2015/lib/place/components/list-place-nav/list-place-nav.component.js.map +1 -1
  118. package/esm2015/lib/place/components/place-outlet/place-outlet.component.js +52 -240
  119. package/esm2015/lib/place/components/place-outlet/place-outlet.component.js.map +1 -1
  120. package/esm2015/lib/place/components/place-outlet/route-animations.js +0 -12
  121. package/esm2015/lib/place/components/place-outlet/route-animations.js.map +1 -1
  122. package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js +12 -17
  123. package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js.map +1 -1
  124. package/esm2015/lib/place/guards/consolidated-param-map.js +9 -92
  125. package/esm2015/lib/place/guards/consolidated-param-map.js.map +1 -1
  126. package/esm2015/lib/place/guards/noop-auth-guard.service.js +12 -21
  127. package/esm2015/lib/place/guards/noop-auth-guard.service.js.map +1 -1
  128. package/esm2015/lib/place/guards/noop-auth-guard.service.metadata.json +1 -1
  129. package/esm2015/lib/place/guards/place.guard.js +10 -119
  130. package/esm2015/lib/place/guards/place.guard.js.map +1 -1
  131. package/esm2015/lib/place/index.js +38 -46
  132. package/esm2015/lib/place/index.js.map +1 -1
  133. package/esm2015/lib/place/nav-item.js +0 -22
  134. package/esm2015/lib/place/nav-item.js.map +1 -1
  135. package/esm2015/lib/place/navigation/place-component-deactivation-handler.js +3 -49
  136. package/esm2015/lib/place/navigation/place-component-deactivation-handler.js.map +1 -1
  137. package/esm2015/lib/place/navigation/session/abstract-pop-state-navigation.js +0 -23
  138. package/esm2015/lib/place/navigation/session/abstract-pop-state-navigation.js.map +1 -1
  139. package/esm2015/lib/place/navigation/session/event-cleanup/event-clean-up-session.js +0 -11
  140. package/esm2015/lib/place/navigation/session/event-cleanup/event-clean-up-session.js.map +1 -1
  141. package/esm2015/lib/place/navigation/session/event-cleanup/wait-until-leaving-interaction-transition-cancelled.js +2 -51
  142. package/esm2015/lib/place/navigation/session/event-cleanup/wait-until-leaving-interaction-transition-cancelled.js.map +1 -1
  143. package/esm2015/lib/place/navigation/session/event-cleanup/wait-until-link-triggered-interaction-cancelation-finishes.js +2 -54
  144. package/esm2015/lib/place/navigation/session/event-cleanup/wait-until-link-triggered-interaction-cancelation-finishes.js.map +1 -1
  145. package/esm2015/lib/place/navigation/session/event-cleanup/wait-until-popstate-during-can-deactivate-transition-finishes.js +2 -60
  146. package/esm2015/lib/place/navigation/session/event-cleanup/wait-until-popstate-during-can-deactivate-transition-finishes.js.map +1 -1
  147. package/esm2015/lib/place/navigation/session/interactions/navigating-during-interaction.js +0 -24
  148. package/esm2015/lib/place/navigation/session/interactions/navigating-during-interaction.js.map +1 -1
  149. package/esm2015/lib/place/navigation/session/interactions/pop-state-during-interaction-navigation.js +1 -19
  150. package/esm2015/lib/place/navigation/session/interactions/pop-state-during-interaction-navigation.js.map +1 -1
  151. package/esm2015/lib/place/navigation/session/interactions/remove-last-interaction-from-url-navigation-session.js +0 -55
  152. package/esm2015/lib/place/navigation/session/interactions/remove-last-interaction-from-url-navigation-session.js.map +1 -1
  153. package/esm2015/lib/place/navigation/session/interactions/synchronise-interaction-context-ids-with-route.js +4 -60
  154. package/esm2015/lib/place/navigation/session/interactions/synchronise-interaction-context-ids-with-route.js.map +1 -1
  155. package/esm2015/lib/place/navigation/session/navigating.js +0 -31
  156. package/esm2015/lib/place/navigation/session/navigating.js.map +1 -1
  157. package/esm2015/lib/place/navigation/session/navigation-context.js +0 -24
  158. package/esm2015/lib/place/navigation/session/navigation-context.js.map +1 -1
  159. package/esm2015/lib/place/navigation/session/navigation-session.js +12 -178
  160. package/esm2015/lib/place/navigation/session/navigation-session.js.map +1 -1
  161. package/esm2015/lib/place/navigation/session/pop-state-navigation.js +0 -16
  162. package/esm2015/lib/place/navigation/session/pop-state-navigation.js.map +1 -1
  163. package/esm2015/lib/place/place-component.js +22 -107
  164. package/esm2015/lib/place/place-component.js.map +1 -1
  165. package/esm2015/lib/place/place-component.metadata.json +1 -1
  166. package/esm2015/lib/place/place-config.js +0 -13
  167. package/esm2015/lib/place/place-config.js.map +1 -1
  168. package/esm2015/lib/place/place-definition.js +26 -163
  169. package/esm2015/lib/place/place-definition.js.map +1 -1
  170. package/esm2015/lib/place/place-history.js +11 -38
  171. package/esm2015/lib/place/place-history.js.map +1 -1
  172. package/esm2015/lib/place/place-history.metadata.json +1 -1
  173. package/esm2015/lib/place/place-router.js +38 -247
  174. package/esm2015/lib/place/place-router.js.map +1 -1
  175. package/esm2015/lib/place/place-router.metadata.json +1 -1
  176. package/esm2015/lib/place/place.decorator.js +3 -38
  177. package/esm2015/lib/place/place.decorator.js.map +1 -1
  178. package/esm2015/lib/place/place.module.js +40 -42
  179. package/esm2015/lib/place/place.module.js.map +1 -1
  180. package/esm2015/lib/place/place.module.metadata.json +1 -1
  181. package/esm2015/lib/place/place.module.ngfactory.js.map +1 -1
  182. package/esm2015/lib/place/route/formatter.js +0 -30
  183. package/esm2015/lib/place/route/formatter.js.map +1 -1
  184. package/esm2015/lib/place/route/json-types.js +0 -12
  185. package/esm2015/lib/place/route/json-types.js.map +1 -1
  186. package/esm2015/lib/place/route/parameter-decorators.js +14 -133
  187. package/esm2015/lib/place/route/parameter-decorators.js.map +1 -1
  188. package/esm2015/lib/place/route/parameter-definition.class.js +2 -147
  189. package/esm2015/lib/place/route/parameter-definition.class.js.map +1 -1
  190. package/esm2015/lib/place/route/parameter-sanitiser.js +0 -18
  191. package/esm2015/lib/place/route/parameter-sanitiser.js.map +1 -1
  192. package/esm2015/lib/place/route/parameter-snapshot.js +0 -19
  193. package/esm2015/lib/place/route/parameter-snapshot.js.map +1 -1
  194. package/esm2015/lib/place/route/visit-sanitiser.js +2 -47
  195. package/esm2015/lib/place/route/visit-sanitiser.js.map +1 -1
  196. package/esm2015/lib/place/url-service.js +13 -68
  197. package/esm2015/lib/place/url-service.js.map +1 -1
  198. package/esm2015/lib/place/url-service.metadata.json +1 -1
  199. package/esm2015/lib/place/url-snapshot.js +3 -86
  200. package/esm2015/lib/place/url-snapshot.js.map +1 -1
  201. package/esm2015/lib/place/visit.js +5 -73
  202. package/esm2015/lib/place/visit.js.map +1 -1
  203. package/esm2015/public_api.js +6 -10
  204. package/esm2015/public_api.js.map +1 -1
  205. package/esm5/coolon-angular-ui-powerups.js +1 -5
  206. package/esm5/coolon-angular-ui-powerups.js.map +1 -1
  207. package/esm5/index.js +1 -5
  208. package/esm5/index.js.map +1 -1
  209. package/esm5/lib/angular-ui-powerups.module.js +29 -30
  210. package/esm5/lib/angular-ui-powerups.module.js.map +1 -1
  211. package/esm5/lib/angular-ui-powerups.module.ngfactory.js.map +1 -1
  212. package/esm5/lib/animations/index.js +1 -5
  213. package/esm5/lib/animations/index.js.map +1 -1
  214. package/esm5/lib/animations/slide-animations.js +0 -8
  215. package/esm5/lib/animations/slide-animations.js.map +1 -1
  216. package/esm5/lib/components/components.module.js +36 -37
  217. package/esm5/lib/components/components.module.js.map +1 -1
  218. package/esm5/lib/components/components.module.ngfactory.js.map +1 -1
  219. package/esm5/lib/components/disposable-component.js +7 -13
  220. package/esm5/lib/components/disposable-component.js.map +1 -1
  221. package/esm5/lib/components/forms/abstract-input.component.js +95 -157
  222. package/esm5/lib/components/forms/abstract-input.component.js.map +1 -1
  223. package/esm5/lib/components/forms/number-input/number-input.component.js +11 -22
  224. package/esm5/lib/components/forms/number-input/number-input.component.js.map +1 -1
  225. package/esm5/lib/components/forms/password-input/password-input.component.js +11 -22
  226. package/esm5/lib/components/forms/password-input/password-input.component.js.map +1 -1
  227. package/esm5/lib/components/forms/select-input/select-input.component.js +38 -61
  228. package/esm5/lib/components/forms/select-input/select-input.component.js.map +1 -1
  229. package/esm5/lib/components/forms/string-input/string-input.component.js +19 -45
  230. package/esm5/lib/components/forms/string-input/string-input.component.js.map +1 -1
  231. package/esm5/lib/components/index.js +13 -17
  232. package/esm5/lib/components/index.js.map +1 -1
  233. package/esm5/lib/components/noop/noop.component.js +9 -13
  234. package/esm5/lib/components/noop/noop.component.js.map +1 -1
  235. package/esm5/lib/components/resize-aware.component.js +21 -80
  236. package/esm5/lib/components/resize-aware.component.js.map +1 -1
  237. package/esm5/lib/components/scroll-container/scroll-container.component.js +10 -20
  238. package/esm5/lib/components/scroll-container/scroll-container.component.js.map +1 -1
  239. package/esm5/lib/components/types/bounds.class.js +3 -30
  240. package/esm5/lib/components/types/bounds.class.js.map +1 -1
  241. package/esm5/lib/components/types/dimension.class.js +0 -10
  242. package/esm5/lib/components/types/dimension.class.js.map +1 -1
  243. package/esm5/lib/components/types/point.class.js +2 -30
  244. package/esm5/lib/components/types/point.class.js.map +1 -1
  245. package/esm5/lib/directives/command.directive.js +37 -103
  246. package/esm5/lib/directives/command.directive.js.map +1 -1
  247. package/esm5/lib/directives/directives.module.js +25 -26
  248. package/esm5/lib/directives/directives.module.js.map +1 -1
  249. package/esm5/lib/directives/directives.module.ngfactory.js.map +1 -1
  250. package/esm5/lib/directives/focus-binding.directive.js +50 -147
  251. package/esm5/lib/directives/focus-binding.directive.js.map +1 -1
  252. package/esm5/lib/directives/index.js +3 -7
  253. package/esm5/lib/directives/index.js.map +1 -1
  254. package/esm5/lib/interaction/abstract-interaction-context.js +7 -114
  255. package/esm5/lib/interaction/abstract-interaction-context.js.map +1 -1
  256. package/esm5/lib/interaction/activity-ref.js +12 -109
  257. package/esm5/lib/interaction/activity-ref.js.map +1 -1
  258. package/esm5/lib/interaction/activity.js +12 -121
  259. package/esm5/lib/interaction/activity.js.map +1 -1
  260. package/esm5/lib/interaction/alert.js +0 -22
  261. package/esm5/lib/interaction/alert.js.map +1 -1
  262. package/esm5/lib/interaction/components/activity-container/activity-container.component.js +64 -330
  263. package/esm5/lib/interaction/components/activity-container/activity-container.component.js.map +1 -1
  264. package/esm5/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.js +26 -79
  265. package/esm5/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.js.map +1 -1
  266. package/esm5/lib/interaction/components/alert-dialog/alert-dialog.component.js +12 -25
  267. package/esm5/lib/interaction/components/alert-dialog/alert-dialog.component.js.map +1 -1
  268. package/esm5/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.js +17 -72
  269. package/esm5/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.js.map +1 -1
  270. package/esm5/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js +13 -32
  271. package/esm5/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js.map +1 -1
  272. package/esm5/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.js +24 -117
  273. package/esm5/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.js.map +1 -1
  274. package/esm5/lib/interaction/confirm.js +0 -16
  275. package/esm5/lib/interaction/confirm.js.map +1 -1
  276. package/esm5/lib/interaction/index.js +15 -24
  277. package/esm5/lib/interaction/index.js.map +1 -1
  278. package/esm5/lib/interaction/interaction-context.js +0 -50
  279. package/esm5/lib/interaction/interaction-context.js.map +1 -1
  280. package/esm5/lib/interaction/interaction.module.js +38 -39
  281. package/esm5/lib/interaction/interaction.module.js.map +1 -1
  282. package/esm5/lib/interaction/interaction.module.ngfactory.js.map +1 -1
  283. package/esm5/lib/interaction/result.js +2 -23
  284. package/esm5/lib/interaction/result.js.map +1 -1
  285. package/esm5/lib/interaction/route-synchronisation-adapter.js +0 -16
  286. package/esm5/lib/interaction/route-synchronisation-adapter.js.map +1 -1
  287. package/esm5/lib/interaction/services/interaction-service-routing-adapter.js +6 -73
  288. package/esm5/lib/interaction/services/interaction-service-routing-adapter.js.map +1 -1
  289. package/esm5/lib/interaction/services/interaction.service.js +33 -290
  290. package/esm5/lib/interaction/services/interaction.service.js.map +1 -1
  291. package/esm5/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.js +16 -41
  292. package/esm5/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.js.map +1 -1
  293. package/esm5/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.js +14 -109
  294. package/esm5/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.js.map +1 -1
  295. package/esm5/lib/interaction/services/modal-interaction-context.factory.js +1 -23
  296. package/esm5/lib/interaction/services/modal-interaction-context.factory.js.map +1 -1
  297. package/esm5/lib/place/components/abstract-place-navigation.component.js +37 -115
  298. package/esm5/lib/place/components/abstract-place-navigation.component.js.map +1 -1
  299. package/esm5/lib/place/components/busy-overlay/busy-overlay.component.js +16 -37
  300. package/esm5/lib/place/components/busy-overlay/busy-overlay.component.js.map +1 -1
  301. package/esm5/lib/place/components/empty-state/empty-state.component.js +10 -20
  302. package/esm5/lib/place/components/empty-state/empty-state.component.js.map +1 -1
  303. package/esm5/lib/place/components/list-place-nav/list-place-nav.component.js +17 -42
  304. package/esm5/lib/place/components/list-place-nav/list-place-nav.component.js.map +1 -1
  305. package/esm5/lib/place/components/place-outlet/place-outlet.component.js +64 -314
  306. package/esm5/lib/place/components/place-outlet/place-outlet.component.js.map +1 -1
  307. package/esm5/lib/place/components/place-outlet/route-animations.js +0 -12
  308. package/esm5/lib/place/components/place-outlet/route-animations.js.map +1 -1
  309. package/esm5/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js +10 -14
  310. package/esm5/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js.map +1 -1
  311. package/esm5/lib/place/guards/consolidated-param-map.js +17 -117
  312. package/esm5/lib/place/guards/consolidated-param-map.js.map +1 -1
  313. package/esm5/lib/place/guards/noop-auth-guard.service.js +11 -26
  314. package/esm5/lib/place/guards/noop-auth-guard.service.js.map +1 -1
  315. package/esm5/lib/place/guards/place.guard.js +24 -172
  316. package/esm5/lib/place/guards/place.guard.js.map +1 -1
  317. package/esm5/lib/place/index.js +38 -46
  318. package/esm5/lib/place/index.js.map +1 -1
  319. package/esm5/lib/place/nav-item.js +0 -22
  320. package/esm5/lib/place/nav-item.js.map +1 -1
  321. package/esm5/lib/place/navigation/place-component-deactivation-handler.js +11 -86
  322. package/esm5/lib/place/navigation/place-component-deactivation-handler.js.map +1 -1
  323. package/esm5/lib/place/navigation/session/abstract-pop-state-navigation.js +4 -34
  324. package/esm5/lib/place/navigation/session/abstract-pop-state-navigation.js.map +1 -1
  325. package/esm5/lib/place/navigation/session/event-cleanup/event-clean-up-session.js +4 -25
  326. package/esm5/lib/place/navigation/session/event-cleanup/event-clean-up-session.js.map +1 -1
  327. package/esm5/lib/place/navigation/session/event-cleanup/wait-until-leaving-interaction-transition-cancelled.js +11 -110
  328. package/esm5/lib/place/navigation/session/event-cleanup/wait-until-leaving-interaction-transition-cancelled.js.map +1 -1
  329. package/esm5/lib/place/navigation/session/event-cleanup/wait-until-link-triggered-interaction-cancelation-finishes.js +12 -147
  330. package/esm5/lib/place/navigation/session/event-cleanup/wait-until-link-triggered-interaction-cancelation-finishes.js.map +1 -1
  331. package/esm5/lib/place/navigation/session/event-cleanup/wait-until-popstate-during-can-deactivate-transition-finishes.js +11 -126
  332. package/esm5/lib/place/navigation/session/event-cleanup/wait-until-popstate-during-can-deactivate-transition-finishes.js.map +1 -1
  333. package/esm5/lib/place/navigation/session/interactions/navigating-during-interaction.js +7 -71
  334. package/esm5/lib/place/navigation/session/interactions/navigating-during-interaction.js.map +1 -1
  335. package/esm5/lib/place/navigation/session/interactions/pop-state-during-interaction-navigation.js +6 -49
  336. package/esm5/lib/place/navigation/session/interactions/pop-state-during-interaction-navigation.js.map +1 -1
  337. package/esm5/lib/place/navigation/session/interactions/remove-last-interaction-from-url-navigation-session.js +11 -120
  338. package/esm5/lib/place/navigation/session/interactions/remove-last-interaction-from-url-navigation-session.js.map +1 -1
  339. package/esm5/lib/place/navigation/session/interactions/synchronise-interaction-context-ids-with-route.js +13 -106
  340. package/esm5/lib/place/navigation/session/interactions/synchronise-interaction-context-ids-with-route.js.map +1 -1
  341. package/esm5/lib/place/navigation/session/navigating.js +6 -53
  342. package/esm5/lib/place/navigation/session/navigating.js.map +1 -1
  343. package/esm5/lib/place/navigation/session/navigation-context.js +0 -17
  344. package/esm5/lib/place/navigation/session/navigation-context.js.map +1 -1
  345. package/esm5/lib/place/navigation/session/navigation-session.js +39 -306
  346. package/esm5/lib/place/navigation/session/navigation-session.js.map +1 -1
  347. package/esm5/lib/place/navigation/session/pop-state-navigation.js +5 -33
  348. package/esm5/lib/place/navigation/session/pop-state-navigation.js.map +1 -1
  349. package/esm5/lib/place/place-component.js +30 -142
  350. package/esm5/lib/place/place-component.js.map +1 -1
  351. package/esm5/lib/place/place-config.js +0 -13
  352. package/esm5/lib/place/place-config.js.map +1 -1
  353. package/esm5/lib/place/place-definition.js +37 -219
  354. package/esm5/lib/place/place-definition.js.map +1 -1
  355. package/esm5/lib/place/place-history.js +11 -56
  356. package/esm5/lib/place/place-history.js.map +1 -1
  357. package/esm5/lib/place/place-router.js +59 -372
  358. package/esm5/lib/place/place-router.js.map +1 -1
  359. package/esm5/lib/place/place.decorator.js +3 -38
  360. package/esm5/lib/place/place.decorator.js.map +1 -1
  361. package/esm5/lib/place/place.module.js +37 -40
  362. package/esm5/lib/place/place.module.js.map +1 -1
  363. package/esm5/lib/place/place.module.ngfactory.js.map +1 -1
  364. package/esm5/lib/place/route/formatter.js +6 -60
  365. package/esm5/lib/place/route/formatter.js.map +1 -1
  366. package/esm5/lib/place/route/json-types.js +0 -12
  367. package/esm5/lib/place/route/json-types.js.map +1 -1
  368. package/esm5/lib/place/route/parameter-decorators.js +14 -133
  369. package/esm5/lib/place/route/parameter-decorators.js.map +1 -1
  370. package/esm5/lib/place/route/parameter-definition.class.js +21 -222
  371. package/esm5/lib/place/route/parameter-definition.class.js.map +1 -1
  372. package/esm5/lib/place/route/parameter-sanitiser.js +0 -18
  373. package/esm5/lib/place/route/parameter-sanitiser.js.map +1 -1
  374. package/esm5/lib/place/route/parameter-snapshot.js +0 -19
  375. package/esm5/lib/place/route/parameter-snapshot.js.map +1 -1
  376. package/esm5/lib/place/route/visit-sanitiser.js +4 -42
  377. package/esm5/lib/place/route/visit-sanitiser.js.map +1 -1
  378. package/esm5/lib/place/url-service.js +20 -119
  379. package/esm5/lib/place/url-service.js.map +1 -1
  380. package/esm5/lib/place/url-snapshot.js +15 -143
  381. package/esm5/lib/place/url-snapshot.js.map +1 -1
  382. package/esm5/lib/place/visit.js +14 -132
  383. package/esm5/lib/place/visit.js.map +1 -1
  384. package/esm5/public_api.js +6 -10
  385. package/esm5/public_api.js.map +1 -1
  386. package/fesm2015/coolon-angular-ui-powerups.js +861 -4526
  387. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  388. package/fesm5/coolon-angular-ui-powerups.js +1129 -6274
  389. package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
  390. package/lib/components/forms/abstract-input.component.d.ts +9 -9
  391. package/lib/components/resize-aware.component.d.ts +3 -3
  392. package/lib/directives/command.directive.d.ts +4 -2
  393. package/lib/directives/focus-binding.directive.d.ts +1 -1
  394. package/lib/interaction/activity-ref.d.ts +2 -2
  395. package/lib/interaction/activity.d.ts +2 -2
  396. package/lib/interaction/components/activity-container/activity-container.component.d.ts +2 -2
  397. package/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.d.ts +3 -2
  398. package/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.d.ts +1 -1
  399. package/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.d.ts +1 -1
  400. package/lib/interaction/services/interaction.service.d.ts +1 -1
  401. package/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.d.ts +1 -1
  402. package/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.d.ts +1 -1
  403. package/lib/place/components/place-outlet/place-outlet.component.d.ts +4 -4
  404. package/lib/place/guards/consolidated-param-map.d.ts +1 -1
  405. package/lib/place/navigation/place-component-deactivation-handler.d.ts +2 -2
  406. package/lib/place/navigation/session/interactions/remove-last-interaction-from-url-navigation-session.d.ts +1 -1
  407. package/lib/place/navigation/session/navigation-session.d.ts +4 -4
  408. package/lib/place/place-component.d.ts +2 -2
  409. package/lib/place/place-router.d.ts +3 -3
  410. package/lib/place/route/formatter.d.ts +4 -3
  411. package/lib/place/route/parameter-definition.class.d.ts +2 -2
  412. package/package.json +10 -10
  413. package/schematics/place-routes/place-builder.js +4 -2
  414. package/schematics/place-routes/place-builder.js.map +1 -1
  415. package/schematics/place-routes/place-class-scanner.d.ts +3 -3
  416. package/schematics/place-routes/place-class-scanner.js +1 -1
  417. package/schematics/place-routes/place-class-scanner.js.map +1 -1
  418. package/schematics/place-routes/place-def.d.ts +9 -9
  419. /package/{styles → assets}/styles.scss +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"place-component-deactivation-handler.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/navigation/place-component-deactivation-handler.ts"],"names":[],"mappings":";;;;;AACA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;;;;;;;;AAY5B;;;;;;;;IAIE,2CAAqB,SAAyB,EAAW,iBAAoC,EAAW,kBAA2B;QAA9G,cAAS,GAAT,SAAS,CAAgB;QAAW,sBAAiB,GAAjB,iBAAiB,CAAmB;QAAW,uBAAkB,GAAlB,kBAAkB,CAAS;IACnI,CAAC;IAED,sBAAI,uEAAwB;;;;QAA5B;YACE,OAAO,IAAI,CAAC,iBAAiB,CAAC,yBAAyB,CAAC;QAC1D,CAAC;;;OAAA;IAED,sBAAI,yDAAU;;;;QAAd;YACE,OAAO,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC;QAC3C,CAAC;;;OAAA;IAED,WAAW;;;;;;;IACL,yDAAa;;;;;;;IAAnB,UAAoB,UAAuB,EAAE,SAAsB;;;gBACjE,2EAA2E;gBAC3E,oFAAoF;gBACpF,sBAAsB;gBACtB,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;oBAC9B,wFAAwF;oBACxF,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,sBAAsB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;iBAChF;gBACD,sBAAO,IAAI,CAAC,oBAAoB,EAAC;;;KAClC;IAGD,WAAW;;;;;;;;IACK,kEAAsB;;;;;;;;IAAtC,UAAuC,UAAuB,EAAE,SAAsB;;;;;;6BAGhF,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAjC,wBAAiC;6BAE/B,CAAA,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,wBAAwB,CAAC,aAAa,EAAE,CAAA,EAAxE,wBAAwE;wBACpE,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,8BAA8B,CAAC,SAAS,CAAC,GAAG,CAAC;wBACxE,UAAU,GAAG,IAAI,CAAC,wBAAwB,CAAC,8BAA8B,EAAE;6BAC7E,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAhC,wBAAgC;wBAClC,qBAAM,IAAI,CAAC,wBAAwB,CAAC,6BAA6B,EAAE,EAAA;;wBAAnE,SAAmE,CAAC;wBACpE,sBAAO,KAAK,EAAC;;;6BAIX,IAAI,CAAC,wBAAwB,CAAC,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,EAApE,wBAAoE;wBACtE,qBAAM,IAAI,CAAC,wBAAwB,CAAC,0BAA0B,CAAC,IAAI,CAAC,SAAS,CAAC,EAAA;;wBAA9E,SAA8E,CAAC;wBAC/E,sBAAO,KAAK,EAAC;;wBAMnB,0EAA0E;wBAC1E,IAAI,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,EAAE;4BAE7C,IAAI,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE;gCAChC,qDAAqD;gCACrD,8HAA8H;gCAC9H,+GAA+G;gCAC/G,sBAAO,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,+BAA+B,CAAC,EAAC;6BAC7F;4BAED,qGAAqG;4BACrG,wDAAwD;4BACxD,IAAI,IAAI,CAAC,wBAAwB,CAAC,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;gCACxE,OAAO,CAAC,IAAI,CAAC,6EAA6E,CAAC,CAAC;gCAC5F,sBAAO,KAAK,EAAC;6BACd;yBAEF;wBACD,sBAAO,IAAI,EAAC;;;;KACb;;;;;;IAES,qEAAyB;;;;;IAAnC,UAAoC,SAAsB;QACxD,qFAAqF;QACrF,gFAAgF;QAChF,0CAA0C;QAC1C,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IACnE,CAAC;IACH,wCAAC;AAAD,CAAC,AA9ED,IA8EC;;;;;;;;;;;;;;IA5EC,iEAA6D;;IAEjD,sDAAkC;;IAAE,8DAA6C;;IAAE,+DAAoC","sourcesContent":["import { Trace } from '@coolon/pectin';\nimport * as _ from 'lodash';\nimport { PlaceComponent } from '../place-component';\nimport { UrlSnapshot } from '../url-snapshot';\nimport { NavigationSession } from './session/navigation-session';\n\n/**\n * This class handles the logic around canDeactivate for a given router state transition. It's core responsibilities are:\n * 1. Ensure we only ask the component to deactivate once on a given navigation cycle (since visit sanitisation can result in multiple round trips to through the router.)\n * 2. Ensure only the primary place component is asked when there are nested places. The primary component is the one at the top\n * of the routing change tree.\n * 3. Automatically handle standard interaction scenarios on the components behalf.\n */\nexport class PlaceComponentDeactivationHandler {\n\n private canDeactivatePromise: Promise<boolean | UrlSnapshot>;\n\n constructor(readonly component: PlaceComponent, readonly navigationSession: NavigationSession, readonly isPrimaryComponent: boolean) {\n }\n\n get routerInteractionAdapter() {\n return this.navigationSession.interactionServiceAdapter;\n }\n\n get urlService() {\n return this.navigationSession.urlService;\n }\n\n // @Trace()\n async canDeactivate(currentUrl: UrlSnapshot, nextState: UrlSnapshot): Promise<boolean | UrlSnapshot> {\n // We'll get called multiple times if there's any parameter sanitisation so\n // we always return true if we accepted promise from a previous cycle of the current\n // navigation session.\n if (!this.canDeactivatePromise) {\n // console.log(`creating deactivate promise for -> ${this.component.constructor.name}`);\n this.canDeactivatePromise = this.canDeactivateComponent(currentUrl, nextState);\n }\n return this.canDeactivatePromise;\n }\n\n\n // @Trace()\n protected async canDeactivateComponent(currentUrl: UrlSnapshot, nextState: UrlSnapshot): Promise<UrlSnapshot | boolean> {\n // Automatically cancel any active activities if the navigation session was triggered by the back button.\n // If we handled more than just the pop state then it leads to the UI ignoring clicks and just cancelling things which is deeply disconcerting.\n if (this.navigationSession.isPopState) {\n\n if (this.isPrimaryComponent && this.routerInteractionAdapter.isModalActive()) {\n const routeIds = this.urlService.getActiveInteractionIdsFromUrl(nextState.url);\n const currentIds = this.routerInteractionAdapter.getActiveInteractionContextIds();\n if (!_.isEqual(currentIds, routeIds)) { // why am I checking this????\n await this.routerInteractionAdapter.cancelCurrentModalInteraction();\n return false;\n }\n } else {\n // check if the component has an in place interaction\n if (this.routerInteractionAdapter.isComponentInteracting(this.component)) {\n await this.routerInteractionAdapter.cancelComponentInteraction(this.component);\n return false;\n }\n }\n }\n\n\n // Ok, so now we're really leaving, so we ask the component if we should.;\n if (this.isNotJustAChangeInRouteId(nextState)) {\n\n if (this.component.canDeactivate) {\n // No interaction in progress, so ask the component .\n // This may start an interaction, hence checking the interaction context before now. I.e. if the place pops up the dialog, and\n // the user clicks back again, we'll re-enter here and go bang when the component tries to open another dialog.\n return this.component.canDeactivate(this.navigationSession.canDeactivateInteractionContext);\n }\n\n // The component has an active interaction but no deactivation hook. Rather than guessing what to do\n // we'll just cancel the navigation and print a warning.\n if (this.routerInteractionAdapter.isComponentInteracting(this.component)) {\n console.warn('Route changed while component has active interaction, cancelling navigation');\n return false;\n }\n\n }\n return true;\n }\n\n protected isNotJustAChangeInRouteId(nextState: UrlSnapshot) {\n // Because places with a route-id cover two route segments we get asked to deactivate\n // if the route id is added or removed. So if our path is still present the url\n // then we shouldn't deactivate the place.\n return !nextState.includesPathOf(this.component.placeDefinition);\n }\n}\n"]}
1
+ {"version":3,"file":"place-component-deactivation-handler.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/navigation/place-component-deactivation-handler.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAK5B;;;;;;GAMG;AACH;IAIE,2CAAqB,SAAyB,EAAW,iBAAoC,EAAW,kBAA2B;QAA9G,cAAS,GAAT,SAAS,CAAgB;QAAW,sBAAiB,GAAjB,iBAAiB,CAAmB;QAAW,uBAAkB,GAAlB,kBAAkB,CAAS;IACnI,CAAC;IAED,sBAAI,uEAAwB;aAA5B;YACE,OAAO,IAAI,CAAC,iBAAiB,CAAC,yBAAyB,CAAC;QAC1D,CAAC;;;OAAA;IAED,sBAAI,yDAAU;aAAd;YACE,OAAO,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC;QAC3C,CAAC;;;OAAA;IAED,WAAW;IACL,yDAAa,GAAnB,UAAoB,UAAuB,EAAE,SAAsB;;;gBACjE,2EAA2E;gBAC3E,oFAAoF;gBACpF,sBAAsB;gBACtB,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;oBAC9B,wFAAwF;oBACxF,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,sBAAsB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;iBAChF;gBACD,sBAAO,IAAI,CAAC,oBAAoB,EAAC;;;KAClC;IAGD,WAAW;IACK,kEAAsB,GAAtC,UAAuC,UAAuB,EAAE,SAAsB;;;;;;6BAGhF,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAjC,wBAAiC;6BAE/B,CAAA,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,wBAAwB,CAAC,aAAa,EAAE,CAAA,EAAxE,wBAAwE;wBACpE,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,8BAA8B,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;wBACzE,UAAU,GAAG,IAAI,CAAC,wBAAwB,CAAC,8BAA8B,EAAE,CAAC;6BAC9E,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAhC,wBAAgC;wBAClC,qBAAM,IAAI,CAAC,wBAAwB,CAAC,6BAA6B,EAAE,EAAA;;wBAAnE,SAAmE,CAAC;wBACpE,sBAAO,KAAK,EAAC;;;6BAIX,IAAI,CAAC,wBAAwB,CAAC,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,EAApE,wBAAoE;wBACtE,qBAAM,IAAI,CAAC,wBAAwB,CAAC,0BAA0B,CAAC,IAAI,CAAC,SAAS,CAAC,EAAA;;wBAA9E,SAA8E,CAAC;wBAC/E,sBAAO,KAAK,EAAC;;wBAMnB,0EAA0E;wBAC1E,IAAI,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,EAAE;4BAE7C,IAAI,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE;gCAChC,qDAAqD;gCACrD,8HAA8H;gCAC9H,+GAA+G;gCAC/G,sBAAO,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,+BAA+B,CAAC,EAAC;6BAC7F;4BAED,qGAAqG;4BACrG,wDAAwD;4BACxD,IAAI,IAAI,CAAC,wBAAwB,CAAC,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;gCACxE,OAAO,CAAC,IAAI,CAAC,6EAA6E,CAAC,CAAC;gCAC5F,sBAAO,KAAK,EAAC;6BACd;yBAEF;wBACD,sBAAO,IAAI,EAAC;;;;KACb;IAES,qEAAyB,GAAnC,UAAoC,SAAsB;QACxD,qFAAqF;QACrF,gFAAgF;QAChF,0CAA0C;QAC1C,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IACnE,CAAC;IACH,wCAAC;AAAD,CAAC,AA9ED,IA8EC","sourcesContent":["import { Trace } from '@coolon/pectin';\nimport * as _ from 'lodash';\nimport { PlaceComponent } from '../place-component';\nimport { UrlSnapshot } from '../url-snapshot';\nimport { NavigationSession } from './session/navigation-session';\n\n/**\n * This class handles the logic around canDeactivate for a given router state transition. It's core responsibilities are:\n * 1. Ensure we only ask the component to deactivate once on a given navigation cycle (since visit sanitisation can result in multiple round trips to through the router.)\n * 2. Ensure only the primary place component is asked when there are nested places. The primary component is the one at the top\n * of the routing change tree.\n * 3. Automatically handle standard interaction scenarios on the components behalf.\n */\nexport class PlaceComponentDeactivationHandler {\n\n private canDeactivatePromise: Promise<boolean | UrlSnapshot>;\n\n constructor(readonly component: PlaceComponent, readonly navigationSession: NavigationSession, readonly isPrimaryComponent: boolean) {\n }\n\n get routerInteractionAdapter() {\n return this.navigationSession.interactionServiceAdapter;\n }\n\n get urlService() {\n return this.navigationSession.urlService;\n }\n\n // @Trace()\n async canDeactivate(currentUrl: UrlSnapshot, nextState: UrlSnapshot): Promise<boolean | UrlSnapshot> {\n // We'll get called multiple times if there's any parameter sanitisation so\n // we always return true if we accepted promise from a previous cycle of the current\n // navigation session.\n if (!this.canDeactivatePromise) {\n // console.log(`creating deactivate promise for -> ${this.component.constructor.name}`);\n this.canDeactivatePromise = this.canDeactivateComponent(currentUrl, nextState);\n }\n return this.canDeactivatePromise;\n }\n\n\n // @Trace()\n protected async canDeactivateComponent(currentUrl: UrlSnapshot, nextState: UrlSnapshot): Promise<UrlSnapshot | boolean> {\n // Automatically cancel any active activities if the navigation session was triggered by the back button.\n // If we handled more than just the pop state then it leads to the UI ignoring clicks and just cancelling things which is deeply disconcerting.\n if (this.navigationSession.isPopState) {\n\n if (this.isPrimaryComponent && this.routerInteractionAdapter.isModalActive()) {\n const routeIds = this.urlService.getActiveInteractionIdsFromUrl(nextState.url);\n const currentIds = this.routerInteractionAdapter.getActiveInteractionContextIds();\n if (!_.isEqual(currentIds, routeIds)) { // why am I checking this????\n await this.routerInteractionAdapter.cancelCurrentModalInteraction();\n return false;\n }\n } else {\n // check if the component has an in place interaction\n if (this.routerInteractionAdapter.isComponentInteracting(this.component)) {\n await this.routerInteractionAdapter.cancelComponentInteraction(this.component);\n return false;\n }\n }\n }\n\n\n // Ok, so now we're really leaving, so we ask the component if we should.;\n if (this.isNotJustAChangeInRouteId(nextState)) {\n\n if (this.component.canDeactivate) {\n // No interaction in progress, so ask the component .\n // This may start an interaction, hence checking the interaction context before now. I.e. if the place pops up the dialog, and\n // the user clicks back again, we'll re-enter here and go bang when the component tries to open another dialog.\n return this.component.canDeactivate(this.navigationSession.canDeactivateInteractionContext);\n }\n\n // The component has an active interaction but no deactivation hook. Rather than guessing what to do\n // we'll just cancel the navigation and print a warning.\n if (this.routerInteractionAdapter.isComponentInteracting(this.component)) {\n console.warn('Route changed while component has active interaction, cancelling navigation');\n return false;\n }\n\n }\n return true;\n }\n\n protected isNotJustAChangeInRouteId(nextState: UrlSnapshot) {\n // Because places with a route-id cover two route segments we get asked to deactivate\n // if the route id is added or removed. So if our path is still present the url\n // then we shouldn't deactivate the place.\n return !nextState.includesPathOf(this.component.placeDefinition);\n }\n}\n"]}
@@ -1,17 +1,7 @@
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";
1
+ import { __extends } from "tslib";
6
2
  import { NavigationSession } from './navigation-session';
7
- /**
8
- * @abstract
9
- */
10
- var /**
11
- * @abstract
12
- */
13
- AbstractPopStateNavigation = /** @class */ (function (_super) {
14
- tslib_1.__extends(AbstractPopStateNavigation, _super);
3
+ var AbstractPopStateNavigation = /** @class */ (function (_super) {
4
+ __extends(AbstractPopStateNavigation, _super);
15
5
  function AbstractPopStateNavigation(context, startingUrl, poppedHistoryUrl) {
16
6
  var _this = _super.call(this, context, startingUrl) || this;
17
7
  _this.poppedHistoryUrl = poppedHistoryUrl;
@@ -20,30 +10,10 @@ AbstractPopStateNavigation = /** @class */ (function (_super) {
20
10
  return _this;
21
11
  }
22
12
  // @Trace()
23
- // @Trace()
24
- /**
25
- * @return {?}
26
- */
27
- AbstractPopStateNavigation.prototype.repairBrowserHistoryAndUrlAfterGuardCancellation =
28
- // @Trace()
29
- /**
30
- * @return {?}
31
- */
32
- function () {
13
+ AbstractPopStateNavigation.prototype.repairBrowserHistoryAndUrlAfterGuardCancellation = function () {
33
14
  _super.prototype.repairBrowserHistoryAndUrlAfterGuardCancellation.call(this, this.poppedHistoryUrl, this.startingUrl);
34
15
  };
35
16
  return AbstractPopStateNavigation;
36
17
  }(NavigationSession));
37
- /**
38
- * @abstract
39
- */
40
18
  export { AbstractPopStateNavigation };
41
- if (false) {
42
- /** @type {?} */
43
- AbstractPopStateNavigation.prototype.isPopState;
44
- /** @type {?} */
45
- AbstractPopStateNavigation.prototype.debugPropertyKeys;
46
- /** @type {?} */
47
- AbstractPopStateNavigation.prototype.poppedHistoryUrl;
48
- }
49
19
  //# sourceMappingURL=abstract-pop-state-navigation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"abstract-pop-state-navigation.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/navigation/session/abstract-pop-state-navigation.ts"],"names":[],"mappings":";;;;;AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;;;;AAEzD;;;;IAAyD,sDAAiB;IAIxE,oCAAY,OAA0B,EAAE,WAAmB,EAAW,gBAAwB;QAA9F,YACE,kBAAM,OAAO,EAAE,WAAW,CAAC,SAC5B;QAFqE,sBAAgB,GAAhB,gBAAgB,CAAQ;QAHrF,gBAAU,GAAG,IAAI,CAAC;QAC3B,uBAAiB,GAAG,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;;IAIxD,CAAC;IAED,WAAW;;;;;IACX,qFAAgD;;;;;IAAhD;QACE,iBAAM,gDAAgD,YAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;IACjG,CAAC;IAEH,iCAAC;AAAD,CAAC,AAbD,CAAyD,iBAAiB,GAazE;;;;;;;IAZC,gDAA2B;;IAC3B,uDAAwD;;IAEK,sDAAiC","sourcesContent":["import { Logger, Trace } from '@coolon/pectin';\nimport { NavigationContext } from './navigation-context';\nimport { NavigationSession } from './navigation-session';\n\nexport abstract class AbstractPopStateNavigation extends NavigationSession {\n readonly isPopState = true;\n debugPropertyKeys = ['startingUrl', 'poppedHistoryUrl'];\n\n constructor(context: NavigationContext, startingUrl: string, readonly poppedHistoryUrl: string) {\n super(context, startingUrl);\n }\n\n // @Trace()\n repairBrowserHistoryAndUrlAfterGuardCancellation(): void {\n super.repairBrowserHistoryAndUrlAfterGuardCancellation(this.poppedHistoryUrl, this.startingUrl)\n }\n\n}\n"]}
1
+ {"version":3,"file":"abstract-pop-state-navigation.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/navigation/session/abstract-pop-state-navigation.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD;IAAyD,8CAAiB;IAIxE,oCAAY,OAA0B,EAAE,WAAmB,EAAW,gBAAwB;QAA9F,YACE,kBAAM,OAAO,EAAE,WAAW,CAAC,SAC5B;QAFqE,sBAAgB,GAAhB,gBAAgB,CAAQ;QAHrF,gBAAU,GAAG,IAAI,CAAC;QAC3B,uBAAiB,GAAG,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;;IAIxD,CAAC;IAED,WAAW;IACX,qFAAgD,GAAhD;QACE,iBAAM,gDAAgD,YAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;IACjG,CAAC;IAEH,iCAAC;AAAD,CAAC,AAbD,CAAyD,iBAAiB,GAazE","sourcesContent":["import { Logger, Trace } from '@coolon/pectin';\nimport { NavigationContext } from './navigation-context';\nimport { NavigationSession } from './navigation-session';\n\nexport abstract class AbstractPopStateNavigation extends NavigationSession {\n readonly isPopState = true;\n debugPropertyKeys = ['startingUrl', 'poppedHistoryUrl'];\n\n constructor(context: NavigationContext, startingUrl: string, readonly poppedHistoryUrl: string) {\n super(context, startingUrl);\n }\n\n // @Trace()\n repairBrowserHistoryAndUrlAfterGuardCancellation(): void {\n super.repairBrowserHistoryAndUrlAfterGuardCancellation(this.poppedHistoryUrl, this.startingUrl)\n }\n\n}\n"]}
@@ -1,36 +1,15 @@
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";
1
+ import { __extends } from "tslib";
6
2
  import { lang } from '@coolon/typescript-utilities';
7
3
  import { NavigationSession } from '../navigation-session';
8
- /**
9
- * @abstract
10
- */
11
- var /**
12
- * @abstract
13
- */
14
- EventCleanUpSession = /** @class */ (function (_super) {
15
- tslib_1.__extends(EventCleanUpSession, _super);
4
+ var EventCleanUpSession = /** @class */ (function (_super) {
5
+ __extends(EventCleanUpSession, _super);
16
6
  function EventCleanUpSession() {
17
7
  return _super !== null && _super.apply(this, arguments) || this;
18
8
  }
19
- /**
20
- * @param {?} newUrl
21
- * @return {?}
22
- */
23
- EventCleanUpSession.prototype.handleCanDeactivateCancelledEventScenario = /**
24
- * @param {?} newUrl
25
- * @return {?}
26
- */
27
- function (newUrl) {
9
+ EventCleanUpSession.prototype.handleCanDeactivateCancelledEventScenario = function (newUrl) {
28
10
  lang.illegalState('onCanDeactivateInteractionCancelled not supported for event clean up states');
29
11
  };
30
12
  return EventCleanUpSession;
31
13
  }(NavigationSession));
32
- /**
33
- * @abstract
34
- */
35
14
  export { EventCleanUpSession };
36
15
  //# sourceMappingURL=event-clean-up-session.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"event-clean-up-session.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/navigation/session/event-cleanup/event-clean-up-session.ts"],"names":[],"mappings":";;;;;AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;;;;AAE1D;;;;IAAkD,+CAAiB;IAAnE;;IAOA,CAAC;;;;;IAJC,uEAAyC;;;;IAAzC,UAA0C,MAAc;QACtD,IAAI,CAAC,YAAY,CAAC,6EAA6E,CAAC,CAAC;IACnG,CAAC;IAEH,0BAAC;AAAD,CAAC,AAPD,CAAkD,iBAAiB,GAOlE","sourcesContent":["import { lang } from '@coolon/typescript-utilities';\nimport { NavigationSession } from '../navigation-session';\n\nexport abstract class EventCleanUpSession extends NavigationSession {\n\n\n handleCanDeactivateCancelledEventScenario(newUrl: string): void {\n lang.illegalState('onCanDeactivateInteractionCancelled not supported for event clean up states');\n }\n\n}\n"]}
1
+ {"version":3,"file":"event-clean-up-session.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/navigation/session/event-cleanup/event-clean-up-session.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D;IAAkD,uCAAiB;IAAnE;;IAOA,CAAC;IAJC,uEAAyC,GAAzC,UAA0C,MAAc;QACtD,IAAI,CAAC,YAAY,CAAC,6EAA6E,CAAC,CAAC;IACnG,CAAC;IAEH,0BAAC;AAAD,CAAC,AAPD,CAAkD,iBAAiB,GAOlE","sourcesContent":["import { lang } from '@coolon/typescript-utilities';\nimport { NavigationSession } from '../navigation-session';\n\nexport abstract class EventCleanUpSession extends NavigationSession {\n\n\n handleCanDeactivateCancelledEventScenario(newUrl: string): void {\n lang.illegalState('onCanDeactivateInteractionCancelled not supported for event clean up states');\n }\n\n}\n"]}
@@ -1,8 +1,4 @@
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";
1
+ import { __awaiter, __extends, __generator } from "tslib";
6
2
  import { EventCleanUpSession } from './event-clean-up-session';
7
3
  /**
8
4
  * The sequence of router events are:
@@ -11,15 +7,8 @@ import { EventCleanUpSession } from './event-clean-up-session';
11
7
  * onPopState url = Our currentUrl sans and interaction query params
12
8
  * NavigationCancel url == same as above.
13
9
  */
14
- var /**
15
- * The sequence of router events are:
16
- * NavigationError -> url = url of navigation link
17
- * NavigationEnd
18
- * onPopState url = Our currentUrl sans and interaction query params
19
- * NavigationCancel url == same as above.
20
- */
21
- WaitUntilLeavingInteractionTransitionCancelled = /** @class */ (function (_super) {
22
- tslib_1.__extends(WaitUntilLeavingInteractionTransitionCancelled, _super);
10
+ var WaitUntilLeavingInteractionTransitionCancelled = /** @class */ (function (_super) {
11
+ __extends(WaitUntilLeavingInteractionTransitionCancelled, _super);
23
12
  function WaitUntilLeavingInteractionTransitionCancelled(context, startingUrl, locationChangeTriggerUrl) {
24
13
  var _this = _super.call(this, context, startingUrl) || this;
25
14
  _this.locationChangeTriggerUrl = locationChangeTriggerUrl;
@@ -30,122 +19,34 @@ WaitUntilLeavingInteractionTransitionCancelled = /** @class */ (function (_super
30
19
  return _this;
31
20
  }
32
21
  // @Trace()
33
- // @Trace()
34
- /**
35
- * @param {?} event
36
- * @return {?}
37
- */
38
- WaitUntilLeavingInteractionTransitionCancelled.prototype.onRouterStarted =
39
- // @Trace()
40
- /**
41
- * @param {?} event
42
- * @return {?}
43
- */
44
- function (event) {
22
+ WaitUntilLeavingInteractionTransitionCancelled.prototype.onRouterStarted = function (event) {
45
23
  this.ignore(event);
46
24
  };
47
25
  // @Trace()
48
- // @Trace()
49
- /**
50
- * @param {?} event
51
- * @return {?}
52
- */
53
- WaitUntilLeavingInteractionTransitionCancelled.prototype.onRouterCancelled =
54
- // @Trace()
55
- /**
56
- * @param {?} event
57
- * @return {?}
58
- */
59
- function (event) {
26
+ WaitUntilLeavingInteractionTransitionCancelled.prototype.onRouterCancelled = function (event) {
60
27
  this.repairBrowserHistoryAndUrlAfterGuardCancellation(this.locationChangeTriggerUrl, this.startingUrl);
61
28
  this.context.finishRoutingSession();
62
29
  };
63
30
  // @Trace()
64
- // @Trace()
65
- /**
66
- * @param {?} event
67
- * @return {?}
68
- */
69
- WaitUntilLeavingInteractionTransitionCancelled.prototype.onRouterEnd =
70
- // @Trace()
71
- /**
72
- * @param {?} event
73
- * @return {?}
74
- */
75
- function (event) {
31
+ WaitUntilLeavingInteractionTransitionCancelled.prototype.onRouterEnd = function (event) {
76
32
  this.ignore(event);
77
33
  };
78
34
  // @Trace()
79
- // @Trace()
80
- /**
81
- * @param {?} event
82
- * @return {?}
83
- */
84
- WaitUntilLeavingInteractionTransitionCancelled.prototype.onRouterError =
85
- // @Trace()
86
- /**
87
- * @param {?} event
88
- * @return {?}
89
- */
90
- function (event) {
35
+ WaitUntilLeavingInteractionTransitionCancelled.prototype.onRouterError = function (event) {
91
36
  this.ignore(event);
92
37
  };
93
38
  // @Trace()
94
- // @Trace()
95
- /**
96
- * @param {?} event
97
- * @return {?}
98
- */
99
- WaitUntilLeavingInteractionTransitionCancelled.prototype.onPopState =
100
- // @Trace()
101
- /**
102
- * @param {?} event
103
- * @return {?}
104
- */
105
- function (event) {
39
+ WaitUntilLeavingInteractionTransitionCancelled.prototype.onPopState = function (event) {
106
40
  this.ignore(event);
107
41
  };
108
- /**
109
- * @param {?} component
110
- * @param {?} currentUrl
111
- * @param {?} nextUrl
112
- * @return {?}
113
- */
114
- WaitUntilLeavingInteractionTransitionCancelled.prototype.canDeactivatePlace = /**
115
- * @param {?} component
116
- * @param {?} currentUrl
117
- * @param {?} nextUrl
118
- * @return {?}
119
- */
120
- function (component, currentUrl, nextUrl) {
121
- return tslib_1.__awaiter(this, void 0, void 0, function () {
122
- return tslib_1.__generator(this, function (_a) {
42
+ WaitUntilLeavingInteractionTransitionCancelled.prototype.canDeactivatePlace = function (component, currentUrl, nextUrl) {
43
+ return __awaiter(this, void 0, void 0, function () {
44
+ return __generator(this, function (_a) {
123
45
  return [2 /*return*/, false];
124
46
  });
125
47
  });
126
48
  };
127
49
  return WaitUntilLeavingInteractionTransitionCancelled;
128
50
  }(EventCleanUpSession));
129
- /**
130
- * The sequence of router events are:
131
- * NavigationError -> url = url of navigation link
132
- * NavigationEnd
133
- * onPopState url = Our currentUrl sans and interaction query params
134
- * NavigationCancel url == same as above.
135
- */
136
51
  export { WaitUntilLeavingInteractionTransitionCancelled };
137
- if (false) {
138
- /** @type {?} */
139
- WaitUntilLeavingInteractionTransitionCancelled.prototype.isPopState;
140
- /** @type {?} */
141
- WaitUntilLeavingInteractionTransitionCancelled.prototype.firstCancelHandled;
142
- /** @type {?} */
143
- WaitUntilLeavingInteractionTransitionCancelled.prototype.popStateHandled;
144
- /** @type {?} */
145
- WaitUntilLeavingInteractionTransitionCancelled.prototype.popStateEventUrl;
146
- /** @type {?} */
147
- WaitUntilLeavingInteractionTransitionCancelled.prototype.debugPropertyKeys;
148
- /** @type {?} */
149
- WaitUntilLeavingInteractionTransitionCancelled.prototype.locationChangeTriggerUrl;
150
- }
151
52
  //# sourceMappingURL=wait-until-leaving-interaction-transition-cancelled.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"wait-until-leaving-interaction-transition-cancelled.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/navigation/session/event-cleanup/wait-until-leaving-interaction-transition-cancelled.ts"],"names":[],"mappings":";;;;;AAQA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;;;;;;;;AAS/D;;;;;;;;IAAoE,0EAAmB;IAQrF,wDAAY,OAA0B,EAC1B,WAAmB,EACV,wBAAgC;QAFrD,YAGE,kBAAM,OAAO,EAAE,WAAW,CAAC,SAC5B;QAFoB,8BAAwB,GAAxB,wBAAwB,CAAQ;QAR5C,gBAAU,GAAG,KAAK,CAAC;QAC5B,wBAAkB,GAAG,KAAK,CAAC;QAC3B,qBAAe,GAAG,KAAK,CAAC;QAExB,uBAAiB,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,iBAAiB,CAAC,CAAC;;IAMzJ,CAAC;IAED,WAAW;;;;;;IACX,wEAAe;;;;;;IAAf,UAAgB,KAAsB;QACpC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IAED,WAAW;;;;;;IACX,0EAAiB;;;;;;IAAjB,UAAkB,KAAuB;QACvC,IAAI,CAAC,gDAAgD,CAAC,IAAI,CAAC,wBAAwB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACvG,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC;IACtC,CAAC;IAED,WAAW;;;;;;IACX,oEAAW;;;;;;IAAX,UAAY,KAAoB;QAC9B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IAED,WAAW;;;;;;IACX,sEAAa;;;;;;IAAb,UAAc,KAAsB;QAClC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IAED,WAAW;;;;;;IACX,mEAAU;;;;;;IAAV,UAAW,KAAsB;QAC/B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;;;;;;;IAEK,2EAAkB;;;;;;IAAxB,UAAyB,SAAyB,EAAE,UAAuB,EAAE,OAAoB;;;gBAC/F,sBAAO,KAAK,EAAC;;;KACd;IACH,qDAAC;AAAD,CAAC,AA3CD,CAAoE,mBAAmB,GA2CtF;;;;;;;;;;;IAzCC,oEAA4B;;IAC5B,4EAA2B;;IAC3B,yEAAwB;;IACxB,0EAAyB;;IACzB,2EAAyJ;;IAI7I,kFAAyC","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 { SynchroniseInteractionContextIdsWithRoute } from '../interactions/synchronise-interaction-context-ids-with-route';\nimport { NavigationContext } from '../navigation-context';\nimport { NavigationSession } from '../navigation-session';\nimport { lang } from '@coolon/typescript-utilities';\nimport { EventCleanUpSession } from './event-clean-up-session';\n\n/**\n * The sequence of router events are:\n * NavigationError -> url = url of navigation link\n * NavigationEnd\n * onPopState url = Our currentUrl sans and interaction query params\n * NavigationCancel url == same as above.\n */\nexport class WaitUntilLeavingInteractionTransitionCancelled 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\n constructor(context: NavigationContext,\n startingUrl: string,\n readonly locationChangeTriggerUrl: 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 this.repairBrowserHistoryAndUrlAfterGuardCancellation(this.locationChangeTriggerUrl, this.startingUrl);\n this.context.finishRoutingSession();\n }\n\n // @Trace()\n onRouterEnd(event: NavigationEnd): void {\n this.ignore(event);\n }\n\n // @Trace()\n onRouterError(event: NavigationError): void {\n this.ignore(event);\n }\n\n // @Trace()\n onPopState(event: NavigationStart): void {\n this.ignore(event);\n }\n\n async canDeactivatePlace(component: PlaceComponent, currentUrl: UrlSnapshot, nextUrl: UrlSnapshot): Promise<boolean | UrlSnapshot> {\n return false;\n }\n}\n"]}
1
+ {"version":3,"file":"wait-until-leaving-interaction-transition-cancelled.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/navigation/session/event-cleanup/wait-until-leaving-interaction-transition-cancelled.ts"],"names":[],"mappings":";AAQA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D;;;;;;GAMG;AACH;IAAoE,kEAAmB;IAQrF,wDAAY,OAA0B,EAC1B,WAAmB,EACV,wBAAgC;QAFrD,YAGE,kBAAM,OAAO,EAAE,WAAW,CAAC,SAC5B;QAFoB,8BAAwB,GAAxB,wBAAwB,CAAQ;QAR5C,gBAAU,GAAG,KAAK,CAAC;QAC5B,wBAAkB,GAAG,KAAK,CAAC;QAC3B,qBAAe,GAAG,KAAK,CAAC;QAExB,uBAAiB,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,iBAAiB,CAAC,CAAC;;IAMzJ,CAAC;IAED,WAAW;IACX,wEAAe,GAAf,UAAgB,KAAsB;QACpC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IAED,WAAW;IACX,0EAAiB,GAAjB,UAAkB,KAAuB;QACvC,IAAI,CAAC,gDAAgD,CAAC,IAAI,CAAC,wBAAwB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACvG,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC;IACtC,CAAC;IAED,WAAW;IACX,oEAAW,GAAX,UAAY,KAAoB;QAC9B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IAED,WAAW;IACX,sEAAa,GAAb,UAAc,KAAsB;QAClC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IAED,WAAW;IACX,mEAAU,GAAV,UAAW,KAAsB;QAC/B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IAEK,2EAAkB,GAAxB,UAAyB,SAAyB,EAAE,UAAuB,EAAE,OAAoB;;;gBAC/F,sBAAO,KAAK,EAAC;;;KACd;IACH,qDAAC;AAAD,CAAC,AA3CD,CAAoE,mBAAmB,GA2CtF","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 { SynchroniseInteractionContextIdsWithRoute } from '../interactions/synchronise-interaction-context-ids-with-route';\nimport { NavigationContext } from '../navigation-context';\nimport { NavigationSession } from '../navigation-session';\nimport { lang } from '@coolon/typescript-utilities';\nimport { EventCleanUpSession } from './event-clean-up-session';\n\n/**\n * The sequence of router events are:\n * NavigationError -> url = url of navigation link\n * NavigationEnd\n * onPopState url = Our currentUrl sans and interaction query params\n * NavigationCancel url == same as above.\n */\nexport class WaitUntilLeavingInteractionTransitionCancelled 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\n constructor(context: NavigationContext,\n startingUrl: string,\n readonly locationChangeTriggerUrl: 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 this.repairBrowserHistoryAndUrlAfterGuardCancellation(this.locationChangeTriggerUrl, this.startingUrl);\n this.context.finishRoutingSession();\n }\n\n // @Trace()\n onRouterEnd(event: NavigationEnd): void {\n this.ignore(event);\n }\n\n // @Trace()\n onRouterError(event: NavigationError): void {\n this.ignore(event);\n }\n\n // @Trace()\n onPopState(event: NavigationStart): void {\n this.ignore(event);\n }\n\n async canDeactivatePlace(component: PlaceComponent, currentUrl: UrlSnapshot, nextUrl: UrlSnapshot): Promise<boolean | UrlSnapshot> {\n return false;\n }\n}\n"]}
@@ -1,8 +1,4 @@
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";
1
+ import { __awaiter, __extends, __generator } from "tslib";
6
2
  import { EventCleanUpSession } from './event-clean-up-session';
7
3
  /**
8
4
  * This state handles the scenario where a link navigation triggered an interaction and the user clicked back a to cancel it.
@@ -26,30 +22,8 @@ import { EventCleanUpSession } from './event-clean-up-session';
26
22
  * -> PopState
27
23
  * -> NavigationCancel
28
24
  */
29
- var /**
30
- * This state handles the scenario where a link navigation triggered an interaction and the user clicked back a to cancel it.
31
- * The routing event sequence is different depending on the link that was clicked.
32
- *
33
- * If the link was the same as the previous history location (i.e. they've gone back via a link rather than clicking back) then the sequence is:
34
- *
35
- * -> Idle -> NavigationTransition
36
- * -> confirm dialog shown.
37
- * -> click back
38
- * -> NavigationCancel -> clickedLinkUrl === cancel.url
39
- * -> NavigationEnd
40
- *
41
- * Otherwise if the link is different from teh history location then the sequence is:
42
- *
43
- * -> Idle -> NavigationTransition
44
- * -> confirm dialog shown.
45
- * -> click back
46
- * -> NavigationCancel -> clickedLinkUrl !== cancel.url
47
- * -> NavigationEnd
48
- * -> PopState
49
- * -> NavigationCancel
50
- */
51
- WaitUntilLinkTriggeredNavigationInteractionCancellationEventsFinish = /** @class */ (function (_super) {
52
- tslib_1.__extends(WaitUntilLinkTriggeredNavigationInteractionCancellationEventsFinish, _super);
25
+ var WaitUntilLinkTriggeredNavigationInteractionCancellationEventsFinish = /** @class */ (function (_super) {
26
+ __extends(WaitUntilLinkTriggeredNavigationInteractionCancellationEventsFinish, _super);
53
27
  function WaitUntilLinkTriggeredNavigationInteractionCancellationEventsFinish(context, startingUrl, clickedLinkUrl) {
54
28
  var _this = _super.call(this, context, startingUrl) || this;
55
29
  _this.clickedLinkUrl = clickedLinkUrl;
@@ -59,33 +33,11 @@ WaitUntilLinkTriggeredNavigationInteractionCancellationEventsFinish = /** @class
59
33
  return _this;
60
34
  }
61
35
  // @Trace()
62
- // @Trace()
63
- /**
64
- * @param {?} event
65
- * @return {?}
66
- */
67
- WaitUntilLinkTriggeredNavigationInteractionCancellationEventsFinish.prototype.onRouterStarted =
68
- // @Trace()
69
- /**
70
- * @param {?} event
71
- * @return {?}
72
- */
73
- function (event) {
36
+ WaitUntilLinkTriggeredNavigationInteractionCancellationEventsFinish.prototype.onRouterStarted = function (event) {
74
37
  this.ignore(event);
75
38
  };
76
39
  // @Trace()
77
- // @Trace()
78
- /**
79
- * @param {?} event
80
- * @return {?}
81
- */
82
- WaitUntilLinkTriggeredNavigationInteractionCancellationEventsFinish.prototype.onRouterCancelled =
83
- // @Trace()
84
- /**
85
- * @param {?} event
86
- * @return {?}
87
- */
88
- function (event) {
40
+ WaitUntilLinkTriggeredNavigationInteractionCancellationEventsFinish.prototype.onRouterCancelled = function (event) {
89
41
  // TODO: should really split this into two sub states in the first cancel event.
90
42
  if (!this.firstCancelEventUrl) {
91
43
  this.firstCancelEventUrl = event.url;
@@ -100,18 +52,7 @@ WaitUntilLinkTriggeredNavigationInteractionCancellationEventsFinish = /** @class
100
52
  }
101
53
  };
102
54
  // @Trace()
103
- // @Trace()
104
- /**
105
- * @param {?} event
106
- * @return {?}
107
- */
108
- WaitUntilLinkTriggeredNavigationInteractionCancellationEventsFinish.prototype.onRouterEnd =
109
- // @Trace()
110
- /**
111
- * @param {?} event
112
- * @return {?}
113
- */
114
- function (event) {
55
+ WaitUntilLinkTriggeredNavigationInteractionCancellationEventsFinish.prototype.onRouterEnd = function (event) {
115
56
  if (this.clickedLinkMatchedBackButtonUrl) {
116
57
  this.finaliseRouting();
117
58
  }
@@ -120,102 +61,26 @@ WaitUntilLinkTriggeredNavigationInteractionCancellationEventsFinish = /** @class
120
61
  }
121
62
  };
122
63
  // @Trace()
123
- // @Trace()
124
- /**
125
- * @param {?} event
126
- * @return {?}
127
- */
128
- WaitUntilLinkTriggeredNavigationInteractionCancellationEventsFinish.prototype.onRouterError =
129
- // @Trace()
130
- /**
131
- * @param {?} event
132
- * @return {?}
133
- */
134
- function (event) {
64
+ WaitUntilLinkTriggeredNavigationInteractionCancellationEventsFinish.prototype.onRouterError = function (event) {
135
65
  this.ignore(event);
136
66
  };
137
67
  // @Trace()
138
- // @Trace()
139
- /**
140
- * @param {?} event
141
- * @return {?}
142
- */
143
- WaitUntilLinkTriggeredNavigationInteractionCancellationEventsFinish.prototype.onPopState =
144
- // @Trace()
145
- /**
146
- * @param {?} event
147
- * @return {?}
148
- */
149
- function (event) {
68
+ WaitUntilLinkTriggeredNavigationInteractionCancellationEventsFinish.prototype.onPopState = function (event) {
150
69
  this.popStateEventUrl = event.url;
151
70
  this.ignore(event);
152
71
  };
153
- /**
154
- * @return {?}
155
- */
156
- WaitUntilLinkTriggeredNavigationInteractionCancellationEventsFinish.prototype.finaliseRouting = /**
157
- * @return {?}
158
- */
159
- function () {
72
+ WaitUntilLinkTriggeredNavigationInteractionCancellationEventsFinish.prototype.finaliseRouting = function () {
160
73
  this.repairBrowserHistoryAndUrlAfterGuardCancellation(this.clickedLinkUrl, this.startingUrl);
161
74
  return this.context.finishRoutingSession();
162
75
  };
163
- /**
164
- * @param {?} component
165
- * @param {?} currentUrl
166
- * @param {?} nextUrl
167
- * @return {?}
168
- */
169
- WaitUntilLinkTriggeredNavigationInteractionCancellationEventsFinish.prototype.canDeactivatePlace = /**
170
- * @param {?} component
171
- * @param {?} currentUrl
172
- * @param {?} nextUrl
173
- * @return {?}
174
- */
175
- function (component, currentUrl, nextUrl) {
176
- return tslib_1.__awaiter(this, void 0, void 0, function () {
177
- return tslib_1.__generator(this, function (_a) {
76
+ WaitUntilLinkTriggeredNavigationInteractionCancellationEventsFinish.prototype.canDeactivatePlace = function (component, currentUrl, nextUrl) {
77
+ return __awaiter(this, void 0, void 0, function () {
78
+ return __generator(this, function (_a) {
178
79
  return [2 /*return*/, false];
179
80
  });
180
81
  });
181
82
  };
182
83
  return WaitUntilLinkTriggeredNavigationInteractionCancellationEventsFinish;
183
84
  }(EventCleanUpSession));
184
- /**
185
- * This state handles the scenario where a link navigation triggered an interaction and the user clicked back a to cancel it.
186
- * The routing event sequence is different depending on the link that was clicked.
187
- *
188
- * If the link was the same as the previous history location (i.e. they've gone back via a link rather than clicking back) then the sequence is:
189
- *
190
- * -> Idle -> NavigationTransition
191
- * -> confirm dialog shown.
192
- * -> click back
193
- * -> NavigationCancel -> clickedLinkUrl === cancel.url
194
- * -> NavigationEnd
195
- *
196
- * Otherwise if the link is different from teh history location then the sequence is:
197
- *
198
- * -> Idle -> NavigationTransition
199
- * -> confirm dialog shown.
200
- * -> click back
201
- * -> NavigationCancel -> clickedLinkUrl !== cancel.url
202
- * -> NavigationEnd
203
- * -> PopState
204
- * -> NavigationCancel
205
- */
206
85
  export { WaitUntilLinkTriggeredNavigationInteractionCancellationEventsFinish };
207
- if (false) {
208
- /** @type {?} */
209
- WaitUntilLinkTriggeredNavigationInteractionCancellationEventsFinish.prototype.isPopState;
210
- /** @type {?} */
211
- WaitUntilLinkTriggeredNavigationInteractionCancellationEventsFinish.prototype.firstCancelEventUrl;
212
- /** @type {?} */
213
- WaitUntilLinkTriggeredNavigationInteractionCancellationEventsFinish.prototype.popStateEventUrl;
214
- /** @type {?} */
215
- WaitUntilLinkTriggeredNavigationInteractionCancellationEventsFinish.prototype.clickedLinkMatchedBackButtonUrl;
216
- /** @type {?} */
217
- WaitUntilLinkTriggeredNavigationInteractionCancellationEventsFinish.prototype.debugPropertyKeys;
218
- /** @type {?} */
219
- WaitUntilLinkTriggeredNavigationInteractionCancellationEventsFinish.prototype.clickedLinkUrl;
220
- }
221
86
  //# sourceMappingURL=wait-until-link-triggered-interaction-cancelation-finishes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"wait-until-link-triggered-interaction-cancelation-finishes.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/navigation/session/event-cleanup/wait-until-link-triggered-interaction-cancelation-finishes.ts"],"names":[],"mappings":";;;;;AAIA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;;;;;;;;;;;;;;;;;;;;;;;AAyB/D;;;;;;;;;;;;;;;;;;;;;;;IAAyF,+FAAmB;IAQ1G,6EAAY,OAA0B,EAC1B,WAAmB,EACV,cAAsB;QAF3C,YAGE,kBAAM,OAAO,EAAE,WAAW,CAAC,SAC5B;QAFoB,oBAAc,GAAd,cAAc,CAAQ;QARlC,gBAAU,GAAG,KAAK,CAAC;QAG5B,qCAA+B,GAAG,KAAK,CAAC;QACxC,uBAAiB,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,iCAAiC,EAAE,kBAAkB,CAAC,CAAC;;IAM5I,CAAC;IAED,WAAW;;;;;;IACX,6FAAe;;;;;;IAAf,UAAgB,KAAsB;QACpC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IAED,WAAW;;;;;;IACX,+FAAiB;;;;;;IAAjB,UAAkB,KAAuB;QACvC,gFAAgF;QAChF,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;YAC7B,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC,GAAG,CAAC;YACrC,IAAI,CAAC,+BAA+B,GAAG,KAAK,CAAC,GAAG,KAAK,IAAI,CAAC,cAAc,CAAC;YACzE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SACpB;aAAM;YACL,2CAA2C;YAC3C,IAAI,CAAC,IAAI,CAAC,+BAA+B,IAAI,IAAI,CAAC,gBAAgB,EAAE;gBAClE,IAAI,CAAC,eAAe,EAAE,CAAC;aACxB;SACF;IACH,CAAC;IAED,WAAW;;;;;;IACX,yFAAW;;;;;;IAAX,UAAY,KAAoB;QAC9B,IAAI,IAAI,CAAC,+BAA+B,EAAE;YACxC,IAAI,CAAC,eAAe,EAAE,CAAC;SACxB;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SACpB;IACH,CAAC;IAED,WAAW;;;;;;IACX,2FAAa;;;;;;IAAb,UAAc,KAAsB;QAClC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IAED,WAAW;;;;;;IACX,wFAAU;;;;;;IAAV,UAAW,KAAsB;QAC/B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,GAAG,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;;;;IAED,6FAAe;;;IAAf;QACE,IAAI,CAAC,gDAAgD,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC7F,OAAO,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAC7C,CAAC;;;;;;;IAEK,gGAAkB;;;;;;IAAxB,UAAyB,SAAyB,EAAE,UAAuB,EAAE,OAAoB;;;gBAC/F,sBAAO,KAAK,EAAC;;;KACd;IACH,0EAAC;AAAD,CAAC,AA9DD,CAAyF,mBAAmB,GA8D3G;;;;;;;;;;;;;;;;;;;;;;;;;;IA5DC,yFAA4B;;IAC5B,kGAA4B;;IAC5B,+FAAyB;;IACzB,8GAAwC;;IACxC,gGAA4I;;IAIhI,6FAA+B","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 { EventCleanUpSession } from './event-clean-up-session';\nimport { NavigationContext } from '../navigation-context';\n\n/**\n * This state handles the scenario where a link navigation triggered an interaction and the user clicked back a to cancel it.\n * The routing event sequence is different depending on the link that was clicked.\n *\n * If the link was the same as the previous history location (i.e. they've gone back via a link rather than clicking back) then the sequence is:\n *\n * -> Idle -> NavigationTransition\n * -> confirm dialog shown.\n * -> click back\n * -> NavigationCancel -> clickedLinkUrl === cancel.url\n * -> NavigationEnd\n *\n * Otherwise if the link is different from teh history location then the sequence is:\n *\n * -> Idle -> NavigationTransition\n * -> confirm dialog shown.\n * -> click back\n * -> NavigationCancel -> clickedLinkUrl !== cancel.url\n * -> NavigationEnd\n * -> PopState\n * -> NavigationCancel\n */\nexport class WaitUntilLinkTriggeredNavigationInteractionCancellationEventsFinish extends EventCleanUpSession {\n\n readonly isPopState = false;\n firstCancelEventUrl: string;\n popStateEventUrl: string;\n clickedLinkMatchedBackButtonUrl = false;\n debugPropertyKeys = ['idle', 'startingUrl', 'clickedLinkUrl', 'firstCancelEventUrl', 'clickedLinkMatchedBackButtonUrl', 'popStateEventUrl'];\n\n constructor(context: NavigationContext,\n startingUrl: string,\n readonly clickedLinkUrl: 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 // TODO: should really split this into two sub states in the first cancel event.\n if (!this.firstCancelEventUrl) {\n this.firstCancelEventUrl = event.url;\n this.clickedLinkMatchedBackButtonUrl = event.url === this.clickedLinkUrl;\n this.ignore(event);\n } else {\n // we wait for our popped state to come in.\n if (!this.clickedLinkMatchedBackButtonUrl && this.popStateEventUrl) {\n this.finaliseRouting();\n }\n }\n }\n\n // @Trace()\n onRouterEnd(event: NavigationEnd): void {\n if (this.clickedLinkMatchedBackButtonUrl) {\n this.finaliseRouting();\n } else {\n this.ignore(event);\n }\n }\n\n // @Trace()\n onRouterError(event: NavigationError): void {\n this.ignore(event);\n }\n\n // @Trace()\n onPopState(event: NavigationStart): void {\n this.popStateEventUrl = event.url;\n this.ignore(event);\n }\n\n finaliseRouting() {\n this.repairBrowserHistoryAndUrlAfterGuardCancellation(this.clickedLinkUrl, this.startingUrl);\n return this.context.finishRoutingSession();\n }\n\n async canDeactivatePlace(component: PlaceComponent, currentUrl: UrlSnapshot, nextUrl: UrlSnapshot): Promise<boolean | UrlSnapshot> {\n return false;\n }\n}\n"]}
1
+ {"version":3,"file":"wait-until-link-triggered-interaction-cancelation-finishes.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/navigation/session/event-cleanup/wait-until-link-triggered-interaction-cancelation-finishes.ts"],"names":[],"mappings":";AAIA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAG/D;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH;IAAyF,uFAAmB;IAQ1G,6EAAY,OAA0B,EAC1B,WAAmB,EACV,cAAsB;QAF3C,YAGE,kBAAM,OAAO,EAAE,WAAW,CAAC,SAC5B;QAFoB,oBAAc,GAAd,cAAc,CAAQ;QARlC,gBAAU,GAAG,KAAK,CAAC;QAG5B,qCAA+B,GAAG,KAAK,CAAC;QACxC,uBAAiB,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,iCAAiC,EAAE,kBAAkB,CAAC,CAAC;;IAM5I,CAAC;IAED,WAAW;IACX,6FAAe,GAAf,UAAgB,KAAsB;QACpC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IAED,WAAW;IACX,+FAAiB,GAAjB,UAAkB,KAAuB;QACvC,gFAAgF;QAChF,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;YAC7B,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC,GAAG,CAAC;YACrC,IAAI,CAAC,+BAA+B,GAAG,KAAK,CAAC,GAAG,KAAK,IAAI,CAAC,cAAc,CAAC;YACzE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SACpB;aAAM;YACL,2CAA2C;YAC3C,IAAI,CAAC,IAAI,CAAC,+BAA+B,IAAI,IAAI,CAAC,gBAAgB,EAAE;gBAClE,IAAI,CAAC,eAAe,EAAE,CAAC;aACxB;SACF;IACH,CAAC;IAED,WAAW;IACX,yFAAW,GAAX,UAAY,KAAoB;QAC9B,IAAI,IAAI,CAAC,+BAA+B,EAAE;YACxC,IAAI,CAAC,eAAe,EAAE,CAAC;SACxB;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SACpB;IACH,CAAC;IAED,WAAW;IACX,2FAAa,GAAb,UAAc,KAAsB;QAClC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IAED,WAAW;IACX,wFAAU,GAAV,UAAW,KAAsB;QAC/B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,GAAG,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IAED,6FAAe,GAAf;QACE,IAAI,CAAC,gDAAgD,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC7F,OAAO,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAC7C,CAAC;IAEK,gGAAkB,GAAxB,UAAyB,SAAyB,EAAE,UAAuB,EAAE,OAAoB;;;gBAC/F,sBAAO,KAAK,EAAC;;;KACd;IACH,0EAAC;AAAD,CAAC,AA9DD,CAAyF,mBAAmB,GA8D3G","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 { EventCleanUpSession } from './event-clean-up-session';\nimport { NavigationContext } from '../navigation-context';\n\n/**\n * This state handles the scenario where a link navigation triggered an interaction and the user clicked back a to cancel it.\n * The routing event sequence is different depending on the link that was clicked.\n *\n * If the link was the same as the previous history location (i.e. they've gone back via a link rather than clicking back) then the sequence is:\n *\n * -> Idle -> NavigationTransition\n * -> confirm dialog shown.\n * -> click back\n * -> NavigationCancel -> clickedLinkUrl === cancel.url\n * -> NavigationEnd\n *\n * Otherwise if the link is different from teh history location then the sequence is:\n *\n * -> Idle -> NavigationTransition\n * -> confirm dialog shown.\n * -> click back\n * -> NavigationCancel -> clickedLinkUrl !== cancel.url\n * -> NavigationEnd\n * -> PopState\n * -> NavigationCancel\n */\nexport class WaitUntilLinkTriggeredNavigationInteractionCancellationEventsFinish extends EventCleanUpSession {\n\n readonly isPopState = false;\n firstCancelEventUrl: string;\n popStateEventUrl: string;\n clickedLinkMatchedBackButtonUrl = false;\n debugPropertyKeys = ['idle', 'startingUrl', 'clickedLinkUrl', 'firstCancelEventUrl', 'clickedLinkMatchedBackButtonUrl', 'popStateEventUrl'];\n\n constructor(context: NavigationContext,\n startingUrl: string,\n readonly clickedLinkUrl: 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 // TODO: should really split this into two sub states in the first cancel event.\n if (!this.firstCancelEventUrl) {\n this.firstCancelEventUrl = event.url;\n this.clickedLinkMatchedBackButtonUrl = event.url === this.clickedLinkUrl;\n this.ignore(event);\n } else {\n // we wait for our popped state to come in.\n if (!this.clickedLinkMatchedBackButtonUrl && this.popStateEventUrl) {\n this.finaliseRouting();\n }\n }\n }\n\n // @Trace()\n onRouterEnd(event: NavigationEnd): void {\n if (this.clickedLinkMatchedBackButtonUrl) {\n this.finaliseRouting();\n } else {\n this.ignore(event);\n }\n }\n\n // @Trace()\n onRouterError(event: NavigationError): void {\n this.ignore(event);\n }\n\n // @Trace()\n onPopState(event: NavigationStart): void {\n this.popStateEventUrl = event.url;\n this.ignore(event);\n }\n\n finaliseRouting() {\n this.repairBrowserHistoryAndUrlAfterGuardCancellation(this.clickedLinkUrl, this.startingUrl);\n return this.context.finishRoutingSession();\n }\n\n async canDeactivatePlace(component: PlaceComponent, currentUrl: UrlSnapshot, nextUrl: UrlSnapshot): Promise<boolean | UrlSnapshot> {\n return false;\n }\n}\n"]}