@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
@@ -1 +1 @@
1
- {"version":3,"file":"place-router.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/place-router.ts"],"names":[],"mappings":"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","sourcesContent":["import { Location } from '@angular/common';\nimport { Injectable } from '@angular/core';\nimport {\n ActivatedRoute,\n ActivatedRouteSnapshot,\n NavigationCancel,\n NavigationEnd,\n NavigationError,\n NavigationExtras,\n NavigationStart,\n Router,\n UrlSerializer\n} from '@angular/router';\nimport {\n assert,\n Constructable,\n Dsl,\n GarbageCollector,\n HasOneIndexChain,\n lang,\n ListModel,\n Logger,\n MutableListModel,\n MutableStream,\n MutableValueModel,\n ValueModel,\n ValueModelChain\n} from '@coolon/pectin';\nimport _ from 'lodash';\nimport { InteractionService } from '../interaction/services/interaction.service';\nimport { NavigationState } from './guards/navigation-state';\nimport { PlaceHistory } from './place-history';\nimport { UrlSnapshot } from './url-snapshot';\nimport { Visit } from './visit';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PlaceRouter extends GarbageCollector {\n\n private readonly _navigationStateModel = new MutableValueModel<NavigationState>();\n private readonly _activeVisits = new MutableListModel<Visit>();\n\n readonly navigationInProgress: ValueModel<boolean>;\n readonly activeVisitIndex: HasOneIndexChain<'placeDefinition', Visit>;\n private _navigationSessionContext: NavigationState.Context;\n private _navigationStateTypeModel: ValueModelChain<Constructable<NavigationState>>;\n\n constructor(private readonly router: Router,\n private readonly urlSerializer: UrlSerializer,\n private readonly angularLocation: Location,\n private readonly placeHistory: PlaceHistory,\n private readonly interactionService: InteractionService) {\n super();\n const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);\n this.activeVisitIndex = chain(this._activeVisits).indexBy('placeDefinition');\n this.navigationInProgress = chain(this.navigationStateModel).pluck('isTransitional');\n this._navigationSessionContext = new NavigationState.Context(this, this.interactionService, session => {\n this.processNavigationSuccess(session);\n });\n this._navigationStateModel.value = new NavigationState.Idle(this._navigationSessionContext);\n this._navigationStateTypeModel = chain(this._navigationStateModel).map(state => state.constructor as Constructable<NavigationState>);\n\n // TODO: make setup the callbacks in during module initiation to make this testable.\n this.router.events.subscribe(event => {\n // Routing event sequence\n // ======================\n // NavigationStart -> .... -> NavigationCancel --> redirect, go around again in the same session\n // NavigationStart -> .... -> NavigationEnd --> navigation complete, end session.\n // NavigationStart -> .... -> NavigationError --> navigation aborted, end session.\n // =======================\n if (event instanceof NavigationStart) {\n if (event.navigationTrigger === 'popstate') {\n this.runStateTransition(state => state.onPopState(event));\n } else {\n this.runStateTransition(state => state.onRouterStarted(event));\n }\n }\n if (event instanceof NavigationEnd) {\n console.log(event);\n this.runStateTransition(state => state.onRouterEnd(event));\n }\n if (event instanceof NavigationError) {\n console.log(event);\n this.runStateTransition(state => state.onRouterError(event));\n }\n if (event instanceof NavigationCancel) {\n console.log(event);\n this.runStateTransition(state => state.onRouterCancelled(event));\n }\n });\n\n // Push dialog state to the url so we can capture the back button.\n when.listOf(this.interactionService.activeInteractionContextIds).changes((ids, previous) => {\n this.syncInteractionIdsWithRouter(ids, previous);\n }, { unless: this.navigationInProgress }); // TODO: I think the exclusive interaction prevents interactions starting while it's active so we might not need this.\n\n const urlChanges = new MutableStream<{ url: string, state: NavigationState }>();\n\n // The angular router doesn't always fire router events when the back button is pushed while a navigation\n // session is in progress. Sometimes we only know about it from the url change.\n // IMPORTANT ORDER DEPENDENCY\n // This only works because we're notified of the change after the router has started reacting to it. This\n // we can can use our navigationState to determine things.\n angularLocation.onUrlChange(url => {\n const navigationState = this._navigationStateModel.value;\n console.log(`URLChange -> ${url}`, { state: navigationState });\n urlChanges.publish({ url, state: navigationState });\n\n // The url has changed while we're in a transitional state\n if (navigationState.isTransitional) {\n const navigationInteraction = this.navigationState.interactionContext;\n if (navigationInteraction && navigationInteraction.isActive()) {\n this.runStateTransition(state => state.onBackClickedDuringNavigationInteraction(url));\n }\n }\n });\n }\n\n private processNavigationSuccess(session: NavigationState) {\n // We need to update the visits before the session finishes. This allows the placeOutets to ignore visit\n // changes that occur while routerNavigationActive is true.\n assert.isTruthy(this.navigationInProgress.value);\n const visits = session.getVisits();\n visits.forEach(v => this.placeHistory.add(v));\n this._activeVisits.value = visits;\n }\n\n get navigationState(): NavigationState {\n return this._navigationStateModel.value;\n }\n\n get navigationStateModel(): ValueModel<NavigationState> {\n return this._navigationStateModel.readonly;\n }\n\n get activeVisits(): ListModel<Visit> {\n return this._activeVisits.readonly;\n }\n\n /**\n * placeRouter.navigate(placeDestinations.somePlace.createVisit(routeId, ...visitParams));\n * @param visit\n */\n async navigate(visit: Visit, options?: { relativeTo: ActivatedRoute }) {\n this.doNavigation(visit, async router => {\n const commands = [\n visit.placeDefinition.path,\n ...this.createRouteParameters(visit)\n ];\n await this.router.navigate(commands, {\n relativeTo: options ? options.relativeTo : null\n });\n });\n }\n\n // @Trace()\n async pushVisitChangesToRoute(activatedRoute: ActivatedRoute, previous: Visit, next: Visit) {\n // we have to push to history so our remember sanitisers don't pick up the previous value\n // when it's been cleared by the user.\n this.placeHistory.add(next);\n\n // FIXME: no route id -> route id duplicates route parameters\n if (next.hasRoutingChangedFrom(previous)) {\n return this.doNavigation(next, router => {\n const urlSnapshot = this.parseUrl(this.router.routerState.snapshot.url).updateVisitSegments(next);\n console.log('### Push Changes to route Redirect', { commands: urlSnapshot.url });\n return this.navigateByUrl(urlSnapshot);\n });\n }\n }\n\n async doNavigation(visit: Visit, runNavigationCommands: (router: Router) => any) {\n if (this.navigationInProgress.value) {\n lang.illegalState('Navigation already in progress');\n }\n this.runStateTransition(current => {\n const session = this.navigationState.onPlaceNavigationStart(visit, this.getCurrentRouterUrl());\n session.storeVisit(visit);\n return session;\n });\n try {\n await runNavigationCommands(this.router);\n } finally {\n // Router has finished (since there was no router change required) so we\n // need to end the navigation session.\n if (this.navigationState.isTransitional && !this.router.getCurrentNavigation()) {\n this.runStateTransition(session => session.onRouterEnd(new NavigationEnd(-1, '', '')));\n }\n }\n }\n\n // @Trace()\n protected runStateTransition(transition: (navigationSession: NavigationState) => NavigationState) {\n const previous = this._navigationStateModel.value;\n const next = transition(this.navigationState);\n this._navigationStateModel.value = next;\n if (next !== previous) {\n previous.dispose();\n Logger.get(this).info(`Router State Transition: ${previous.toString()} -> ${next.toString()}`);\n }\n }\n\n private createRouteParameters(visit: Visit) {\n const def = visit.placeDefinition;\n return visit.hasRouteId() ?\n [def.getFormattedRouteId(visit), def.getFormattedRouteParameters(visit)] :\n [def.getFormattedRouteParameters(visit)];\n }\n\n extractChildPath(activatedRoute: ActivatedRouteSnapshot): any[] {\n return _.flatten(activatedRoute.children.map(child => child.url));\n }\n\n parseUrl(url: string): UrlSnapshot {\n return new UrlSnapshot(this.urlSerializer, url);\n }\n\n resetBrowserLocation(url: string, options: { replaceCurrent: boolean }) {\n options.replaceCurrent ? this.angularLocation.replaceState(url) : this.angularLocation.go(url);\n }\n\n forward() {\n this.angularLocation.forward();\n }\n\n createUrlSnapshot(...visits: Visit[]): UrlSnapshot {\n const bits = [];\n visits.forEach(v => {\n bits.push(this.parseUrl(`${v.placeDefinition.path}`).updateVisitSegments(v).url);\n });\n return this.parseUrl(bits.join(''));\n }\n\n getCurrentRouterUrl(): string {\n return this.router.routerState ? this.router.routerState.snapshot.url : null;\n }\n\n getCurrentRouteSnapshot(): UrlSnapshot {\n return this.parseUrl(this.getCurrentRouterUrl());\n }\n\n getActiveInteractionIdsFromUrl(url: string): string[] {\n return this.parseUrl(url).getInteractionIds();\n }\n\n\n // @Trace()\n hasActiveInteractionIds(url: string) {\n return this.getActiveInteractionIdsFromUrl(url).length > 0;\n }\n\n // @Trace()\n navigateByUrl(urlSnapshot: UrlSnapshot, navigationExtras?: NavigationExtras): Promise<boolean> {\n return this.router.navigateByUrl(urlSnapshot.urlTree, navigationExtras);\n }\n\n // TODO: Should this be moved to the navigation states?\n syncInteractionIdsWithRouter(currentIds: string[], previous: string[]) {\n assert.isFalsey(this.navigationInProgress.value); // Updating interaction routes during an existing navigation breaks all the things.\n console.log({\n startingActivity: currentIds.length > previous.length,\n wasBackButton: this.navigationState.isPopState\n });\n\n if (_.isEqual(currentIds, previous)) {\n console.log('activity ids were the same, skipping');\n } else {\n // OMG, this is nuts.\n const addingActivity = currentIds.length > previous.length;\n const isFirstActivity = addingActivity && previous.length < 1;\n const removingLastActivity = currentIds.length < 1;\n if (addingActivity) {// we're starting a new activity, push the change to the history and update the url\n console.log('adding activity');\n this.navigateByUrl(this.getCurrentRouteSnapshot().updateInteractionIds(currentIds), {\n replaceUrl: !isFirstActivity // we don't let the history pile up\n });\n } else {\n const urlSnapshot = this.getCurrentRouteSnapshot().updateInteractionIds(currentIds);\n if (removingLastActivity) {\n this.navigateByUrl(urlSnapshot, {\n replaceUrl: true\n }).then(() => {\n // for some reason we need to pop the last history off the stack when leaving the\n // active activity state.\n this.angularLocation.back();\n });\n } else {\n this.navigateByUrl(urlSnapshot, {\n replaceUrl: true\n });\n }\n }\n }\n }\n}\n"]}
1
+ {"version":3,"file":"place-router.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/place-router.ts"],"names":[],"mappings":"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","sourcesContent":["import { Location } from '@angular/common';\nimport { DEBUG } from '@angular/compiler-cli/ngcc/src/logging/console_logger';\nimport { Injectable } from '@angular/core';\nimport {\n ActivatedRoute,\n NavigationCancel,\n NavigationEnd,\n NavigationError,\n NavigationExtras,\n NavigationStart,\n Router\n} from '@angular/router';\nimport {\n assert, DebugContext,\n Dsl,\n GarbageCollector,\n HasOneIndexChain,\n lang,\n ListModel,\n Logger,\n MutableListModel,\n MutableValueModel,\n Trace, TransactionObserver,\n ValueModelChain\n} from '@coolon/pectin';\nimport { InteractionService } from '../interaction/services/interaction.service';\nimport { InteractionServiceRoutingAdapter } from '../interaction/services/interaction-service-routing-adapter';\nimport { NavigatingDuringInteraction } from './navigation/session/interactions/navigating-during-interaction';\nimport { PopStateDuringInteractionNavigation } from './navigation/session/interactions/pop-state-during-interaction-navigation';\nimport { SynchroniseInteractionContextIdsWithRoute } from './navigation/session/interactions/synchronise-interaction-context-ids-with-route';\nimport { Navigating } from './navigation/session/navigating';\nimport { NavigationContext } from './navigation/session/navigation-context';\nimport { NavigationSession } from './navigation/session/navigation-session';\nimport { PopStateNavigation } from './navigation/session/pop-state-navigation';\nimport { PlaceHistory } from './place-history';\nimport { UrlService } from './url-service';\nimport { UrlSnapshot } from './url-snapshot';\nimport { Visit } from './visit';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PlaceRouter extends GarbageCollector {\n\n readonly navigationSessionModel = new MutableValueModel<NavigationSession>();\n readonly navigationInProgress: ValueModelChain<boolean>;\n readonly navigationSessionName: ValueModelChain<string>; // used by tests\n\n private readonly navigationContext: NavigationContext.Impl;\n\n private readonly _activeVisits = new MutableListModel<Visit>();\n readonly activeVisitsByPlaceDefinition: HasOneIndexChain<'placeDefinition', Visit>;\n private routerInteractionAdapter: InteractionServiceRoutingAdapter;\n private sessionFinishedJobs: (() => void)[] = [];\n\n constructor(private readonly angularRouter: Router,\n private readonly angularLocation: Location,\n private readonly interactionService: InteractionService,\n private readonly urlService: UrlService,\n private readonly placeHistory: PlaceHistory) {\n super();\n\n this.routerInteractionAdapter = interactionService.registerPlaceRouter(this);\n\n // TODO: Make this an interface and use 'this' instead.\n this.navigationContext = new NavigationContext.Impl(\n this.urlService,\n this.routerInteractionAdapter,\n (urlSnapshot: UrlSnapshot, options: { replaceUrl: boolean }) => {\n return this.navigateByUrl(urlSnapshot, options);\n },\n state => {\n this.transitionTo(state);\n },\n visits => {\n this.routingSessionFinished(visits);\n });\n\n const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);\n this.navigationInProgress = chain(this.navigationSessionModel).isNotNil();\n\n const idleStateName = chain(this.interactionService.active).map(active => active ? 'IdleDuringInteraction' : 'Idle');\n this.navigationSessionName = chain(this.navigationSessionModel)\n .pluck('name')\n .otherwise(idleStateName);\n\n DebugContext.tag(this._activeVisits, \"PlaceRouter.activeVisits\");\n this.activeVisitsByPlaceDefinition = chain(this._activeVisits).indexBy('placeDefinition');\n\n // TODO: make setup the callbacks in during module initiation to make this testable.\n angularRouter.events.subscribe(event => {\n // Routing event sequence\n // ======================\n // NavigationStart -> .... -> NavigationCancel --> redirect, go around again in the same session\n // NavigationStart -> .... -> NavigationEnd --> navigation complete, end session.\n // NavigationStart -> .... -> NavigationError --> navigation aborted, end session.\n // =======================\n if (event instanceof NavigationStart) {\n // console.log(`---> NavigationStart[${event.id}]: ${event.url} (${event.navigationTrigger})`);\n if (event.navigationTrigger === 'popstate') {\n this.onPopState(event);\n } else {\n this.onRouterStarted(event);\n }\n // console.log(`<--- NavigationStart[${event.id}]: ${event.url} (${event.navigationTrigger})`);\n }\n if (event instanceof NavigationEnd) {\n // console.log(`---> NavigationEnd[${event.id}]: ${event.url}`);\n this.onRouterEnd(event);\n // console.log(`<--- NavigationEnd[${event.id}]: ${event.url}`);\n }\n if (event instanceof NavigationError) {\n // console.log(`---> NavigationError[${event.id}]: ${event.url}`);\n this.onRouterError(event);\n // console.log(`<--- NavigationError[${event.id}]: ${event.url}`);\n }\n if (event instanceof NavigationCancel) {\n // console.log(`---> NavigationCancel[${event.id}]: ${event.url}`);\n this.onRouterCancelled(event);\n // console.log(`<--- NavigationCancel[${event.id}]: ${event.url}`);\n }\n });\n\n // The router needs to know about url changes and in some cases they are the only way the router can know if\n // the back button was clicked.\n angularLocation.onUrlChange(url => this.onUrlChanged(url));\n\n }\n\n get navigationSession() {\n return this.navigationSessionModel.value;\n }\n\n get currentSession() {\n return this.navigationSessionModel.value;\n }\n\n // @Trace()\n onPopState(event: NavigationStart) {\n assert.isTruthy(event.navigationTrigger === 'popstate');\n if (this.currentSession) {\n this.currentSession.onPopState(event);\n } else {\n const poppedHistoryUrl = event.url;\n const currentRouterUrl = this.urlService.getCurrentRouterUrl();\n const session = this.interactionService.isActive() ?\n new PopStateDuringInteractionNavigation(this.navigationContext, currentRouterUrl, poppedHistoryUrl) :\n new PopStateNavigation(this.navigationContext, currentRouterUrl, poppedHistoryUrl);\n this.transitionTo(session);\n }\n }\n\n // @Trace()\n onRouterStarted(event: NavigationStart) {\n assert.isFalsey(event.navigationTrigger === 'popstate');\n const inInteraction = this.interactionService.isActive();\n if (this.currentSession) {\n this.currentSession.onRouterStarted(event);\n } else {\n this.transitionTo(this.createNavigationSession(this.urlService.getCurrentRouterUrl()));\n }\n }\n\n // @Trace()\n onUrlChanged(newUrl: string) {\n // the back button can trigger a url change without a navigation session in progress so we\n // console.log(`---> Url Changed ${newUrl}`);\n if (this.currentSession) {\n this.currentSession.onUrlChange(newUrl);\n } else {\n console.log('FYI: url changed without a navigation session in progress');\n }\n // console.log(`<--- Url Changed`);\n }\n\n // @Trace()\n onRouterCancelled(event: NavigationCancel) {\n this.currentSession.onRouterCancelled(event);\n }\n\n // @Trace()\n onRouterError(event: NavigationError) {\n this.currentSession.onRouterError(event);\n }\n\n // @Trace()\n onRouterEnd(event: NavigationEnd) {\n this.currentSession.onRouterEnd(event);\n }\n\n navigate(visit: Visit, options?: { relativeTo: ActivatedRoute }) {\n return this.doNavigation(visit, async router => {\n const commands = [\n visit.placeDefinition.path,\n ...this.createRouteParameters(visit)\n ];\n await this.angularRouter.navigate(commands, {\n relativeTo: options ? options.relativeTo : null\n });\n });\n }\n\n // @Trace()\n async doNavigation(visit: Visit, runNavigationCommands: (router: Router) => any) {\n if (this.navigationInProgress.value) {\n lang.illegalState('Navigation already in progress');\n }\n const navigation = this.createNavigationSession(this.urlService.getCurrentRouterUrl());\n navigation.storeVisit(visit);\n this.transitionTo(navigation);\n try {\n await runNavigationCommands(this.angularRouter);\n } finally {\n // Check if the router has finished (in the case where no router change required) and we're still in a\n // transient state and finish of the transition.\n if (!this.angularRouter.getCurrentNavigation() && this.currentSession) {\n this.currentSession.onRouterEnd(new NavigationEnd(-1, '', ''));\n }\n }\n }\n\n navigateByUrl(urlSnapshot: UrlSnapshot, navigationExtras?: NavigationExtras) {\n // console.log(`### navigationByUrl -> ${urlSnapshot.urlTree.toString()}`);\n return this.angularRouter.navigateByUrl(urlSnapshot.urlTree, navigationExtras);\n }\n\n get activeVisits(): ListModel<Visit> {\n return this._activeVisits.readonly;\n }\n\n // @Trace()\n async pushVisitChangesToRoute(previous: Visit, next: Visit): Promise<void> {\n // we have to push to history so our remember sanitisers don't pick up the previous value\n // when it's been cleared by the user.\n this.placeHistory.add(next);\n // FIXME: no route id -> route id duplicates route parameters\n if (next.hasRoutingChangedFrom(previous)) {\n return this.doNavigation(next, router => {\n const urlSnapshot = this.urlService.parseUrl(this.angularRouter.routerState.snapshot.url).updateVisitSegments(next);\n // console.log('### Push Changes to route Redirect', { commands: urlSnapshot.url });\n return this.navigateByUrl(urlSnapshot);\n });\n }\n }\n\n\n private createNavigationSession(currentRouterUrl: string): NavigationSession {\n const inInteraction = this.interactionService.isActive();\n return inInteraction ?\n new NavigatingDuringInteraction(this.navigationContext, currentRouterUrl) :\n new Navigating(this.navigationContext, currentRouterUrl);\n }\n\n // @Trace()\n protected transitionTo(next: NavigationSession) {\n const previous = this.navigationSessionModel.value;\n assert.isTruthy(next !== previous);\n Logger.get(this).info(`### Router State Transition: ${previous ? previous.toString() : 'null'} -> ${next.toString()}`);\n this.navigationSessionModel.value = next;\n if (!!previous) {\n previous.dispose();\n }\n next.notifyActive();\n }\n\n // @Trace()\n private routingSessionFinished(visits: Visit[]) {\n if (visits && visits.length > 0) {\n assert.isTruthy(this.navigationInProgress.value);\n visits.forEach(v => this.placeHistory.add(v));\n // We update the active visits before we finish the session so the\n // place outlets can ignore the incoming changes until things are\n // settled. TODO: can we removed the event'ness here and just do a push?\n this._activeVisits.value = visits;\n }\n const session = this.currentSession;\n session.dispose();\n this.navigationSessionModel.value = null;\n console.log(`### Router Session Finished (was ${session.toString()})`);\n this.sessionFinishedJobs.forEach(job => job());\n this.sessionFinishedJobs = [];\n }\n\n private runAfterCurrentRoutingSession(func: () => void) {\n assert.isTruthy(this.navigationInProgress);\n this.sessionFinishedJobs.push(func);\n }\n\n\n /**\n * Sync's the current interaction state with the URL. We need to push something in the URL in order\n * to be able to capture the back button on the first page. If we don't then the back click will exit\n * the app directly and we don't get to ask.\n */\n // @Trace()\n syncInteractionContextIdsWithRouter(): Promise<unknown> {\n if (this.navigationSession) {\n // console.log(`Navigation active -> ${this.navigationSession.toString()}, sync delayed until finished.`);\n const session = this.navigationSession;\n return new Promise((resolve, reject) => {\n this.runAfterCurrentRoutingSession(() => {\n // console.log(`Starting delayed sync job`);\n const syncSession = new SynchroniseInteractionContextIdsWithRoute(this.navigationContext, this.urlService.getCurrentRouterUrl(), false);\n syncSession.onDispose(() => resolve());\n this.transitionTo(syncSession);\n });\n });\n } else {\n return new Promise<unknown>(((resolve, reject) => {\n // console.log(`No navigation in progress, starting synchronisation job`);\n const session = new SynchroniseInteractionContextIdsWithRoute(this.navigationContext, this.urlService.getCurrentRouterUrl(), false);\n session.onDispose(() => resolve());\n this.transitionTo(session);\n }))\n\n }\n }\n\n\n private createRouteParameters(visit: Visit) {\n const def = visit.placeDefinition;\n return visit.hasRouteId() ?\n [def.getFormattedRouteId(visit), def.getFormattedRouteParameters(visit)] :\n [def.getFormattedRouteParameters(visit)];\n }\n\n}\n\nexport namespace NavigationStateMachine {\n export type VisitsUpdatedCallback = (visits: Visit[]) => void;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"place.module.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/place.module.ts"],"names":[],"mappings":";;;;AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,gCAAgC,EAAE,MAAM,kDAAkD,CAAC;AACpG,OAAO,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AACrF,OAAO,EAAE,qBAAqB,EAAE,MAAM,sDAAsD,CAAC;AAC7F,OAAO,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAC;AACxF,OAAO,EAAE,8BAA8B,EAAE,MAAM,wEAAwE,CAAC;AAExH;IAAA;IAmCA,CAAC;;gBAnCA,QAAQ,SAAC;oBACR,OAAO,EAAE;wBACP,YAAY;wBACZ,uBAAuB;wBACvB,wBAAwB;wBACxB,YAAY;wBACZ,aAAa;wBACb,aAAa;wBACb,gBAAgB;wBAChB,aAAa;wBACb,gBAAgB;qBACjB;oBACD,YAAY,EAAE;wBACZ,mBAAmB;wBACnB,oBAAoB;wBACpB,oBAAoB;wBACpB,8BAA8B;wBAC9B,qBAAqB;wBACrB,gCAAgC;qBACjC;oBACD,eAAe,EAAE,CAAC,oBAAoB,CAAC;oBACvC,OAAO,EAAE;wBACP,oBAAoB;wBACpB,oBAAoB;wBACpB,mBAAmB;wBACnB,8BAA8B;wBAC9B,qBAAqB;wBACrB,gCAAgC;qBACjC;oBACD,SAAS,EAAE;oBACT,uEAAuE;qBACxE;iBACF;;IAGD,kBAAC;CAAA,AAnCD,IAmCC;SAFY,WAAW","sourcesContent":["import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatProgressSpinnerModule } from '@angular/material';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatListModule } from '@angular/material/list';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { RouterModule } from '@angular/router';\nimport { DirectivesModule } from '../directives/directives.module';\nimport { AbstractPlaceNavigationComponent } from './components/abstract-place-navigation.component';\nimport { BusyOverlayComponent } from './components/busy-overlay/busy-overlay.component';\nimport { EmptyStateComponent } from './components/empty-state/empty-state.component';\nimport { ListPlaceNavComponent } from './components/list-place-nav/list-place-nav.component';\nimport { PlaceOutletComponent } from './components/place-outlet/place-outlet.component';\nimport { TabbedPlaceNavigationComponent } from './components/tabbed-place-navigation/tabbed-place-navigation.component';\n\n@NgModule({\n imports: [\n CommonModule,\n BrowserAnimationsModule,\n MatProgressSpinnerModule,\n RouterModule,\n MatTabsModule,\n MatListModule,\n MatTooltipModule,\n MatIconModule,\n DirectivesModule\n ],\n declarations: [\n EmptyStateComponent,\n BusyOverlayComponent,\n PlaceOutletComponent,\n TabbedPlaceNavigationComponent,\n ListPlaceNavComponent,\n AbstractPlaceNavigationComponent\n ],\n entryComponents: [BusyOverlayComponent],\n exports: [\n BusyOverlayComponent,\n PlaceOutletComponent,\n EmptyStateComponent,\n TabbedPlaceNavigationComponent,\n ListPlaceNavComponent,\n AbstractPlaceNavigationComponent\n ],\n providers: [\n // {provide: AUP_PLACE_CONFIG, useValue: {animationDuration: \"2000ms\"}}\n ]\n})\nexport class PlaceModule {\n\n}\n"]}
1
+ {"version":3,"file":"place.module.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/place.module.ts"],"names":[],"mappings":";;;;AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,gCAAgC,EAAE,MAAM,kDAAkD,CAAC;AACpG,OAAO,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AACrF,OAAO,EAAE,qBAAqB,EAAE,MAAM,sDAAsD,CAAC;AAC7F,OAAO,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAC;AACxF,OAAO,EAAE,8BAA8B,EAAE,MAAM,wEAAwE,CAAC;AAGxH;IAAA;IAmCA,CAAC;;gBAnCA,QAAQ,SAAC;oBACR,OAAO,EAAE;wBACP,YAAY;wBACZ,uBAAuB;wBACvB,wBAAwB;wBACxB,YAAY;wBACZ,aAAa;wBACb,aAAa;wBACb,gBAAgB;wBAChB,aAAa;wBACb,gBAAgB;qBACjB;oBACD,YAAY,EAAE;wBACZ,mBAAmB;wBACnB,oBAAoB;wBACpB,oBAAoB;wBACpB,8BAA8B;wBAC9B,qBAAqB;wBACrB,gCAAgC;qBACjC;oBACD,eAAe,EAAE,CAAC,oBAAoB,CAAC;oBACvC,OAAO,EAAE;wBACP,oBAAoB;wBACpB,oBAAoB;wBACpB,mBAAmB;wBACnB,8BAA8B;wBAC9B,qBAAqB;wBACrB,gCAAgC;qBACjC;oBACD,SAAS,EAAE;oBACT,uEAAuE;qBACxE;iBACF;;IAGD,kBAAC;CAAA,AAnCD,IAmCC;SAFY,WAAW","sourcesContent":["import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatProgressSpinnerModule } from '@angular/material';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatListModule } from '@angular/material/list';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { RouterModule } from '@angular/router';\nimport { DirectivesModule } from '../directives/directives.module';\nimport { AbstractPlaceNavigationComponent } from './components/abstract-place-navigation.component';\nimport { BusyOverlayComponent } from './components/busy-overlay/busy-overlay.component';\nimport { EmptyStateComponent } from './components/empty-state/empty-state.component';\nimport { ListPlaceNavComponent } from './components/list-place-nav/list-place-nav.component';\nimport { PlaceOutletComponent } from './components/place-outlet/place-outlet.component';\nimport { TabbedPlaceNavigationComponent } from './components/tabbed-place-navigation/tabbed-place-navigation.component';\nimport { UrlService } from './url-service';\n\n@NgModule({\n imports: [\n CommonModule,\n BrowserAnimationsModule,\n MatProgressSpinnerModule,\n RouterModule,\n MatTabsModule,\n MatListModule,\n MatTooltipModule,\n MatIconModule,\n DirectivesModule\n ],\n declarations: [\n EmptyStateComponent,\n BusyOverlayComponent,\n PlaceOutletComponent,\n TabbedPlaceNavigationComponent,\n ListPlaceNavComponent,\n AbstractPlaceNavigationComponent\n ],\n entryComponents: [BusyOverlayComponent],\n exports: [\n BusyOverlayComponent,\n PlaceOutletComponent,\n EmptyStateComponent,\n TabbedPlaceNavigationComponent,\n ListPlaceNavComponent,\n AbstractPlaceNavigationComponent\n ],\n providers: [\n // {provide: AUP_PLACE_CONFIG, useValue: {animationDuration: \"2000ms\"}}\n ]\n})\nexport class PlaceModule {\n\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"place.module.ngfactory.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/place.module.ngfactory.ts"],"names":[],"mappings":"","sourcesContent":["import * as i0 from '@angular/core';\nimport * as i1 from './place.module';\nimport * as i2 from '@angular/common';\nimport * as i3 from '@angular/cdk/bidi';\nimport * as i4 from '@angular/material/progress-spinner';\nimport * as i5 from '@angular/router';\nimport * as i6 from '@angular/material/tabs';\nimport * as i7 from '@angular/material/core';\nimport * as i8 from '@angular/material/divider';\nimport * as i9 from '@angular/material/list';\nimport * as i10 from '@angular/material/tooltip';\nimport * as i11 from '@angular/material/icon';\nimport * as i12 from '../directives/command.directive';\nimport * as i13 from '../directives/focus-binding.directive';\nimport * as i14 from './components/empty-state/empty-state.component';\nimport * as i15 from './components/busy-overlay/busy-overlay.component';\nimport * as i16 from './components/place-outlet/place-outlet.component';\nimport * as i17 from './components/tabbed-place-navigation/tabbed-place-navigation.component';\nimport * as i18 from './components/list-place-nav/list-place-nav.component';\nimport * as i19 from './components/abstract-place-navigation.component';\nimport * as i20 from '@angular/platform-browser/animations';\nimport * as i21 from '../directives/directives.module';\nexport const PlaceModuleNgFactory:i0.NgModuleFactory<i1.PlaceModule> = (null as any);\nvar _decl0_0:i2.NgClass = (<any>(null as any));\nvar _decl0_1:i2.NgComponentOutlet = (<any>(null as any));\nvar _decl0_2:i2.NgForOf<any> = (<any>(null as any));\nvar _decl0_3:i2.NgIf = (<any>(null as any));\nvar _decl0_4:i2.NgTemplateOutlet = (<any>(null as any));\nvar _decl0_5:i2.NgStyle = (<any>(null as any));\nvar _decl0_6:i2.NgSwitch = (<any>(null as any));\nvar _decl0_7:i2.NgSwitchCase = (<any>(null as any));\nvar _decl0_8:i2.NgSwitchDefault = (<any>(null as any));\nvar _decl0_9:i2.NgPlural = (<any>(null as any));\nvar _decl0_10:i2.NgPluralCase = (<any>(null as any));\nvar _decl0_11:i3.Dir = (<any>(null as any));\nvar _decl0_12:i4.MatProgressSpinner = (<any>(null as any));\nvar _decl0_13:i4.MatSpinner = (<any>(null as any));\nvar _decl0_14:i5.RouterOutlet = (<any>(null as any));\nvar _decl0_15:i5.RouterLink = (<any>(null as any));\nvar _decl0_16:i5.RouterLinkWithHref = (<any>(null as any));\nvar _decl0_17:i5.RouterLinkActive = (<any>(null as any));\nvar _decl0_18:i5.ɵangular_packages_router_router_l = (<any>(null as any));\nvar _decl0_19:i6.MatTabGroup = (<any>(null as any));\nvar _decl0_20:i6.MatTabLabel = (<any>(null as any));\nvar _decl0_21:i6.MatTab = (<any>(null as any));\nvar _decl0_22:i6.MatTabNav = (<any>(null as any));\nvar _decl0_23:i6.MatTabLink = (<any>(null as any));\nvar _decl0_24:i6.MatTabContent = (<any>(null as any));\nvar _decl0_25:i7.MatLine = (<any>(null as any));\nvar _decl0_26:i7.MatPseudoCheckbox = (<any>(null as any));\nvar _decl0_27:i8.MatDivider = (<any>(null as any));\nvar _decl0_28:i9.MatList = (<any>(null as any));\nvar _decl0_29:i9.MatNavList = (<any>(null as any));\nvar _decl0_30:i9.MatListItem = (<any>(null as any));\nvar _decl0_31:i9.MatListAvatarCssMatStyler = (<any>(null as any));\nvar _decl0_32:i9.MatListIconCssMatStyler = (<any>(null as any));\nvar _decl0_33:i9.MatListSubheaderCssMatStyler = (<any>(null as any));\nvar _decl0_34:i9.MatSelectionList = (<any>(null as any));\nvar _decl0_35:i9.MatListOption = (<any>(null as any));\nvar _decl0_36:i10.MatTooltip = (<any>(null as any));\nvar _decl0_37:i10.TooltipComponent = (<any>(null as any));\nvar _decl0_38:i11.MatIcon = (<any>(null as any));\nvar _decl0_39:i12.CommandDirective<any> = (<any>(null as any));\nvar _decl0_40:i13.FocusBindingDirective = (<any>(null as any));\nvar _decl0_41:i14.EmptyStateComponent = (<any>(null as any));\nvar _decl0_42:i15.BusyOverlayComponent = (<any>(null as any));\nvar _decl0_43:i16.PlaceOutletComponent = (<any>(null as any));\nvar _decl0_44:i17.TabbedPlaceNavigationComponent = (<any>(null as any));\nvar _decl0_45:i18.ListPlaceNavComponent = (<any>(null as any));\nvar _decl0_46:i19.AbstractPlaceNavigationComponent = (<any>(null as any));\nvar _decl0_47:i2.AsyncPipe = (<any>(null as any));\nvar _decl0_48:i2.UpperCasePipe = (<any>(null as any));\nvar _decl0_49:i2.LowerCasePipe = (<any>(null as any));\nvar _decl0_50:i2.JsonPipe = (<any>(null as any));\nvar _decl0_51:i2.SlicePipe = (<any>(null as any));\nvar _decl0_52:i2.DecimalPipe = (<any>(null as any));\nvar _decl0_53:i2.PercentPipe = (<any>(null as any));\nvar _decl0_54:i2.TitleCasePipe = (<any>(null as any));\nvar _decl0_55:i2.CurrencyPipe = (<any>(null as any));\nvar _decl0_56:i2.DatePipe = (<any>(null as any));\nvar _decl0_57:i2.I18nPluralPipe = (<any>(null as any));\nvar _decl0_58:i2.I18nSelectPipe = (<any>(null as any));\nvar _decl0_59:i2.KeyValuePipe = (<any>(null as any));\nvar _decl0_60:i2.CommonModule = (<any>(null as any));\nvar _decl0_61:i20.BrowserAnimationsModule = (<any>(null as any));\nvar _decl0_62:i4.MatProgressSpinnerModule = (<any>(null as any));\nvar _decl0_63:i5.RouterModule = (<any>(null as any));\nvar _decl0_64:i6.MatTabsModule = (<any>(null as any));\nvar _decl0_65:i9.MatListModule = (<any>(null as any));\nvar _decl0_66:i10.MatTooltipModule = (<any>(null as any));\nvar _decl0_67:i11.MatIconModule = (<any>(null as any));\nvar _decl0_68:i21.DirectivesModule = (<any>(null as any));\nvar _decl0_69:i0.TemplateRef<any> = (<any>(null as any));\nvar _decl0_70:i0.ElementRef<any> = (<any>(null as any));\nfunction _View_EmptyStateComponent_Host_1_0():void {\n var _any:any = (null as any);\n}\nfunction _View_EmptyStateComponent_1_0():void {\n var _any:any = (null as any);\n}\nfunction _View_BusyOverlayComponent_Host_2_0():void {\n var _any:any = (null as any);\n}\nfunction _View_BusyOverlayComponent_2_1():void {\n if (_decl0_42.busyModel.value) {\n var _any:any = (null as any);\n const currVal_0:any = 52;\n currVal_0;\n const currVal_1:any = 'indeterminate';\n currVal_1;\n const currVal_2:any = _decl0_12._noopAnimations;\n currVal_2;\n const currVal_3:any = _decl0_12.diameter;\n currVal_3;\n const currVal_4:any = _decl0_12.diameter;\n currVal_4;\n const currVal_5:any = ((_decl0_12.mode === 'determinate')? 0: null);\n currVal_5;\n const currVal_6:any = ((_decl0_12.mode === 'determinate')? 100: null);\n currVal_6;\n const currVal_7:any = ((_decl0_12.mode === 'determinate')? _decl0_12.value: null);\n currVal_7;\n const currVal_8:any = _decl0_12.mode;\n currVal_8;\n }\n}\nfunction _View_BusyOverlayComponent_2_0():void {\n var _any:any = (null as any);\n const currVal_0:any = _decl0_42.busyModel.value;\n currVal_0;\n}\nfunction _View_PlaceOutletComponent_Host_3_0():void {\n var _any:any = (null as any);\n}\nfunction _View_PlaceOutletComponent_3_0():void {\n var _any:any = (null as any);\n const currVal_0:any = {value:_decl0_43.getAnimationOrder(),params:{duration:_decl0_43.animationDuration}};\n currVal_0;\n const currVal_1:any = !_decl0_43.animateModel.value;\n currVal_1;\n const pd_2:any = ((<any>_decl0_43.animationStarted()) !== false);\n const pd_3:any = ((<any>_decl0_43.animationDone()) !== false);\n const pd_4:any = ((<any>_decl0_43.onOutletActivated(_decl0_14,_any)) !== false);\n const pd_5:any = ((<any>_decl0_43.onOutletDeactivated()) !== false);\n}\nfunction _View_TabbedPlaceNavigationComponent_Host_4_0():void {\n var _any:any = (null as any);\n}\nfunction _View_TabbedPlaceNavigationComponent_4_2():void {\n if (_decl0_44.getNav(_any).icon()) {\n var _any:any = (null as any);\n const currVal_0:any = _decl0_38.inline;\n currVal_0;\n const currVal_1:any = (((_decl0_38.color !== 'primary') && (_decl0_38.color !== 'accent')) && (_decl0_38.color !== 'warn'));\n currVal_1;\n const currVal_2:any = _decl0_44.getNav(_any).icon();\n currVal_2;\n }\n}\nfunction _View_TabbedPlaceNavigationComponent_4_1():void {\n var _any:any = (null as any);\n const currVal_0:any = _decl0_44.isActive(_any);\n currVal_0;\n const currVal_1:any = (_decl0_23.active? 'page': null);\n currVal_1;\n const currVal_2:any = _decl0_23.disabled;\n currVal_2;\n const currVal_3:any = _decl0_23.tabIndex;\n currVal_3;\n const currVal_4:any = _decl0_23.disabled;\n currVal_4;\n const currVal_5:any = _decl0_23.active;\n currVal_5;\n const currVal_6:any = _decl0_44.getNav(_any).tooltip();\n currVal_6;\n const currVal_7:any = _decl0_44.commandFactory.create(_any);\n currVal_7;\n const currVal_8:any = _decl0_44.getNav(_any).icon();\n currVal_8;\n const currVal_9:any = _decl0_44.getNav(_any).title();\n currVal_9;\n const pd_10:any = ((<any>_decl0_36.show()) !== false);\n const pd_11:any = ((<any>_decl0_36._handleKeydown(_any)) !== false);\n const pd_12:any = ((<any>_decl0_36._handleTouchend()) !== false);\n const pd_13:any = ((<any>_decl0_39.notifyClick(_any)) !== false);\n}\nfunction _View_TabbedPlaceNavigationComponent_4_0():void {\n var _any:any = (null as any);\n const currVal_0:any = _decl0_22._showPaginationControls;\n currVal_0;\n const currVal_1:any = (_decl0_22._getLayoutDirection() == 'rtl');\n currVal_1;\n const currVal_2:any = ((_decl0_22.color !== 'warn') && (_decl0_22.color !== 'accent'));\n currVal_2;\n const currVal_3:any = (_decl0_22.color === 'accent');\n currVal_3;\n const currVal_4:any = (_decl0_22.color === 'warn');\n currVal_4;\n const currVal_5:any = _decl0_44.placeDefinitions.value;\n currVal_5;\n}\nfunction _View_ListPlaceNavComponent_Host_5_0():void {\n var _any:any = (null as any);\n const currVal_0:any = _decl0_45.expanded;\n currVal_0;\n}\nfunction _View_ListPlaceNavComponent_5_2():void {\n if (_decl0_45.getNav(_any).icon()) {\n var _any:any = (null as any);\n const currVal_0:any = _decl0_38.inline;\n currVal_0;\n const currVal_1:any = (((_decl0_38.color !== 'primary') && (_decl0_38.color !== 'accent')) && (_decl0_38.color !== 'warn'));\n currVal_1;\n const currVal_2:any = _decl0_45.getNav(_any).icon();\n currVal_2;\n }\n}\nfunction _View_ListPlaceNavComponent_5_1():void {\n var _any:any = (null as any);\n const currVal_0:any = (_decl0_30._avatar || _decl0_30._icon);\n currVal_0;\n const currVal_1:any = (_decl0_30._avatar || _decl0_30._icon);\n currVal_1;\n const currVal_2:any = _decl0_45.getNav(_any).tooltip();\n currVal_2;\n const currVal_3:any = _decl0_45.commandFactory.create(_any);\n currVal_3;\n const currVal_4:any = _decl0_45.isActive(_any);\n currVal_4;\n const currVal_5:any = _decl0_45.getNav(_any).icon();\n currVal_5;\n const currVal_6:any = _decl0_45.getNav(_any).title();\n currVal_6;\n const pd_7:any = ((<any>_decl0_36.show()) !== false);\n const pd_8:any = ((<any>_decl0_36._handleKeydown(_any)) !== false);\n const pd_9:any = ((<any>_decl0_36._handleTouchend()) !== false);\n const pd_10:any = ((<any>_decl0_39.notifyClick(_any)) !== false);\n}\nfunction _View_ListPlaceNavComponent_5_0():void {\n var _any:any = (null as any);\n const currVal_0:any = _decl0_45.placeDefinitions.value;\n currVal_0;\n}\nfunction _View_AbstractPlaceNavigationComponent_Host_6_0():void {\n var _any:any = (null as any);\n}\nfunction _View_AbstractPlaceNavigationComponent_6_0():void {\n var _any:any = (null as any);\n}\n"]}
1
+ {"version":3,"file":"place.module.ngfactory.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/place.module.ngfactory.ts"],"names":[],"mappings":"","sourcesContent":["import * as i0 from '@angular/core';\nimport * as i1 from './place.module';\nimport * as i2 from '@angular/common';\nimport * as i3 from '@angular/cdk/bidi';\nimport * as i4 from '@angular/material/progress-spinner';\nimport * as i5 from '@angular/router';\nimport * as i6 from '@angular/material/tabs';\nimport * as i7 from '@angular/material/core';\nimport * as i8 from '@angular/material/divider';\nimport * as i9 from '@angular/material/list';\nimport * as i10 from '@angular/material/tooltip';\nimport * as i11 from '@angular/material/icon';\nimport * as i12 from '../directives/command.directive';\nimport * as i13 from '../directives/focus-binding.directive';\nimport * as i14 from './components/empty-state/empty-state.component';\nimport * as i15 from './components/busy-overlay/busy-overlay.component';\nimport * as i16 from './components/place-outlet/place-outlet.component';\nimport * as i17 from './components/tabbed-place-navigation/tabbed-place-navigation.component';\nimport * as i18 from './components/list-place-nav/list-place-nav.component';\nimport * as i19 from './components/abstract-place-navigation.component';\nimport * as i20 from '@angular/platform-browser/animations';\nimport * as i21 from '../directives/directives.module';\nexport const PlaceModuleNgFactory:i0.NgModuleFactory<i1.PlaceModule> = (null as any);\nvar _decl0_0:i2.NgClass = (<any>(null as any));\nvar _decl0_1:i2.NgComponentOutlet = (<any>(null as any));\nvar _decl0_2:i2.NgForOf<any> = (<any>(null as any));\nvar _decl0_3:i2.NgIf = (<any>(null as any));\nvar _decl0_4:i2.NgTemplateOutlet = (<any>(null as any));\nvar _decl0_5:i2.NgStyle = (<any>(null as any));\nvar _decl0_6:i2.NgSwitch = (<any>(null as any));\nvar _decl0_7:i2.NgSwitchCase = (<any>(null as any));\nvar _decl0_8:i2.NgSwitchDefault = (<any>(null as any));\nvar _decl0_9:i2.NgPlural = (<any>(null as any));\nvar _decl0_10:i2.NgPluralCase = (<any>(null as any));\nvar _decl0_11:i3.Dir = (<any>(null as any));\nvar _decl0_12:i4.MatProgressSpinner = (<any>(null as any));\nvar _decl0_13:i4.MatSpinner = (<any>(null as any));\nvar _decl0_14:i5.RouterOutlet = (<any>(null as any));\nvar _decl0_15:i5.RouterLink = (<any>(null as any));\nvar _decl0_16:i5.RouterLinkWithHref = (<any>(null as any));\nvar _decl0_17:i5.RouterLinkActive = (<any>(null as any));\nvar _decl0_18:i5.ɵangular_packages_router_router_l = (<any>(null as any));\nvar _decl0_19:i6.MatTabGroup = (<any>(null as any));\nvar _decl0_20:i6.MatTabLabel = (<any>(null as any));\nvar _decl0_21:i6.MatTab = (<any>(null as any));\nvar _decl0_22:i6.MatTabNav = (<any>(null as any));\nvar _decl0_23:i6.MatTabLink = (<any>(null as any));\nvar _decl0_24:i6.MatTabContent = (<any>(null as any));\nvar _decl0_25:i7.MatLine = (<any>(null as any));\nvar _decl0_26:i7.MatPseudoCheckbox = (<any>(null as any));\nvar _decl0_27:i8.MatDivider = (<any>(null as any));\nvar _decl0_28:i9.MatList = (<any>(null as any));\nvar _decl0_29:i9.MatNavList = (<any>(null as any));\nvar _decl0_30:i9.MatListItem = (<any>(null as any));\nvar _decl0_31:i9.MatListAvatarCssMatStyler = (<any>(null as any));\nvar _decl0_32:i9.MatListIconCssMatStyler = (<any>(null as any));\nvar _decl0_33:i9.MatListSubheaderCssMatStyler = (<any>(null as any));\nvar _decl0_34:i9.MatSelectionList = (<any>(null as any));\nvar _decl0_35:i9.MatListOption = (<any>(null as any));\nvar _decl0_36:i10.MatTooltip = (<any>(null as any));\nvar _decl0_37:i10.TooltipComponent = (<any>(null as any));\nvar _decl0_38:i11.MatIcon = (<any>(null as any));\nvar _decl0_39:i12.CommandDirective<any> = (<any>(null as any));\nvar _decl0_40:i13.FocusBindingDirective = (<any>(null as any));\nvar _decl0_41:i14.EmptyStateComponent = (<any>(null as any));\nvar _decl0_42:i15.BusyOverlayComponent = (<any>(null as any));\nvar _decl0_43:i16.PlaceOutletComponent = (<any>(null as any));\nvar _decl0_44:i17.TabbedPlaceNavigationComponent = (<any>(null as any));\nvar _decl0_45:i18.ListPlaceNavComponent = (<any>(null as any));\nvar _decl0_46:i19.AbstractPlaceNavigationComponent = (<any>(null as any));\nvar _decl0_47:i2.AsyncPipe = (<any>(null as any));\nvar _decl0_48:i2.UpperCasePipe = (<any>(null as any));\nvar _decl0_49:i2.LowerCasePipe = (<any>(null as any));\nvar _decl0_50:i2.JsonPipe = (<any>(null as any));\nvar _decl0_51:i2.SlicePipe = (<any>(null as any));\nvar _decl0_52:i2.DecimalPipe = (<any>(null as any));\nvar _decl0_53:i2.PercentPipe = (<any>(null as any));\nvar _decl0_54:i2.TitleCasePipe = (<any>(null as any));\nvar _decl0_55:i2.CurrencyPipe = (<any>(null as any));\nvar _decl0_56:i2.DatePipe = (<any>(null as any));\nvar _decl0_57:i2.I18nPluralPipe = (<any>(null as any));\nvar _decl0_58:i2.I18nSelectPipe = (<any>(null as any));\nvar _decl0_59:i2.KeyValuePipe = (<any>(null as any));\nvar _decl0_60:i2.CommonModule = (<any>(null as any));\nvar _decl0_61:i20.BrowserAnimationsModule = (<any>(null as any));\nvar _decl0_62:i4.MatProgressSpinnerModule = (<any>(null as any));\nvar _decl0_63:i5.RouterModule = (<any>(null as any));\nvar _decl0_64:i6.MatTabsModule = (<any>(null as any));\nvar _decl0_65:i9.MatListModule = (<any>(null as any));\nvar _decl0_66:i10.MatTooltipModule = (<any>(null as any));\nvar _decl0_67:i11.MatIconModule = (<any>(null as any));\nvar _decl0_68:i21.DirectivesModule = (<any>(null as any));\nvar _decl0_69:i0.TemplateRef<any> = (<any>(null as any));\nvar _decl0_70:i0.ElementRef<any> = (<any>(null as any));\nfunction _View_EmptyStateComponent_Host_1_0():void {\n var _any:any = (null as any);\n}\nfunction _View_EmptyStateComponent_1_0():void {\n var _any:any = (null as any);\n}\nfunction _View_BusyOverlayComponent_Host_2_0():void {\n var _any:any = (null as any);\n}\nfunction _View_BusyOverlayComponent_2_1():void {\n if (_decl0_42.busyModel.value) {\n var _any:any = (null as any);\n const currVal_0:any = 52;\n currVal_0;\n const currVal_1:any = 'indeterminate';\n currVal_1;\n const currVal_2:any = _decl0_12._noopAnimations;\n currVal_2;\n const currVal_3:any = _decl0_12.diameter;\n currVal_3;\n const currVal_4:any = _decl0_12.diameter;\n currVal_4;\n const currVal_5:any = ((_decl0_12.mode === 'determinate')? 0: null);\n currVal_5;\n const currVal_6:any = ((_decl0_12.mode === 'determinate')? 100: null);\n currVal_6;\n const currVal_7:any = ((_decl0_12.mode === 'determinate')? _decl0_12.value: null);\n currVal_7;\n const currVal_8:any = _decl0_12.mode;\n currVal_8;\n }\n}\nfunction _View_BusyOverlayComponent_2_0():void {\n var _any:any = (null as any);\n const currVal_0:any = _decl0_42.busyModel.value;\n currVal_0;\n}\nfunction _View_PlaceOutletComponent_Host_3_0():void {\n var _any:any = (null as any);\n}\nfunction _View_PlaceOutletComponent_3_1():void {\n if (_decl0_43.animateModel.value) {\n var _any:any = (null as any);\n const currVal_0:any = {value:_decl0_43.getAnimationOrder(),params:{duration:_decl0_43.animationDuration}};\n currVal_0;\n const pd_1:any = ((<any>_decl0_43.animationStarted()) !== false);\n const pd_2:any = ((<any>_decl0_43.animationDone()) !== false);\n const pd_3:any = ((<any>_decl0_43.onOutletActivated(_decl0_14,_any)) !== false);\n const pd_4:any = ((<any>_decl0_43.onOutletDeactivated()) !== false);\n }\n}\nfunction _View_PlaceOutletComponent_3_2():void {\n if (!_decl0_43.animateModel.value) {\n var _any:any = (null as any);\n const pd_0:any = ((<any>_decl0_43.onOutletActivated(_decl0_14,_any)) !== false);\n const pd_1:any = ((<any>_decl0_43.onOutletDeactivated()) !== false);\n }\n}\nfunction _View_PlaceOutletComponent_3_0():void {\n var _any:any = (null as any);\n const currVal_0:any = _decl0_43.animateModel.value;\n currVal_0;\n const currVal_1:any = !_decl0_43.animateModel.value;\n currVal_1;\n}\nfunction _View_TabbedPlaceNavigationComponent_Host_4_0():void {\n var _any:any = (null as any);\n}\nfunction _View_TabbedPlaceNavigationComponent_4_2():void {\n if (_decl0_44.getNav(_any).icon()) {\n var _any:any = (null as any);\n const currVal_0:any = _decl0_38.inline;\n currVal_0;\n const currVal_1:any = (((_decl0_38.color !== 'primary') && (_decl0_38.color !== 'accent')) && (_decl0_38.color !== 'warn'));\n currVal_1;\n const currVal_2:any = _decl0_44.getNav(_any).icon();\n currVal_2;\n }\n}\nfunction _View_TabbedPlaceNavigationComponent_4_1():void {\n var _any:any = (null as any);\n const currVal_0:any = _decl0_44.isActive(_any);\n currVal_0;\n const currVal_1:any = (_decl0_23.active? 'page': null);\n currVal_1;\n const currVal_2:any = _decl0_23.disabled;\n currVal_2;\n const currVal_3:any = _decl0_23.tabIndex;\n currVal_3;\n const currVal_4:any = _decl0_23.disabled;\n currVal_4;\n const currVal_5:any = _decl0_23.active;\n currVal_5;\n const currVal_6:any = _decl0_44.getNav(_any).tooltip();\n currVal_6;\n const currVal_7:any = _decl0_44.commandFactory.create(_any);\n currVal_7;\n const currVal_8:any = _decl0_44.getNav(_any).icon();\n currVal_8;\n const currVal_9:any = _decl0_44.getNav(_any).title();\n currVal_9;\n const pd_10:any = ((<any>_decl0_36.show()) !== false);\n const pd_11:any = ((<any>_decl0_36._handleKeydown(_any)) !== false);\n const pd_12:any = ((<any>_decl0_36._handleTouchend()) !== false);\n const pd_13:any = ((<any>_decl0_39.notifyClick(_any)) !== false);\n}\nfunction _View_TabbedPlaceNavigationComponent_4_0():void {\n var _any:any = (null as any);\n const currVal_0:any = _decl0_22._showPaginationControls;\n currVal_0;\n const currVal_1:any = (_decl0_22._getLayoutDirection() == 'rtl');\n currVal_1;\n const currVal_2:any = ((_decl0_22.color !== 'warn') && (_decl0_22.color !== 'accent'));\n currVal_2;\n const currVal_3:any = (_decl0_22.color === 'accent');\n currVal_3;\n const currVal_4:any = (_decl0_22.color === 'warn');\n currVal_4;\n const currVal_5:any = _decl0_44.placeDefinitions.value;\n currVal_5;\n}\nfunction _View_ListPlaceNavComponent_Host_5_0():void {\n var _any:any = (null as any);\n const currVal_0:any = _decl0_45.expanded;\n currVal_0;\n}\nfunction _View_ListPlaceNavComponent_5_2():void {\n if (_decl0_45.getNav(_any).icon()) {\n var _any:any = (null as any);\n const currVal_0:any = _decl0_38.inline;\n currVal_0;\n const currVal_1:any = (((_decl0_38.color !== 'primary') && (_decl0_38.color !== 'accent')) && (_decl0_38.color !== 'warn'));\n currVal_1;\n const currVal_2:any = _decl0_45.getNav(_any).icon();\n currVal_2;\n }\n}\nfunction _View_ListPlaceNavComponent_5_1():void {\n var _any:any = (null as any);\n const currVal_0:any = (_decl0_30._avatar || _decl0_30._icon);\n currVal_0;\n const currVal_1:any = (_decl0_30._avatar || _decl0_30._icon);\n currVal_1;\n const currVal_2:any = _decl0_45.getNav(_any).tooltip();\n currVal_2;\n const currVal_3:any = _decl0_45.commandFactory.create(_any);\n currVal_3;\n const currVal_4:any = _decl0_45.isActive(_any);\n currVal_4;\n const currVal_5:any = _decl0_45.getNav(_any).icon();\n currVal_5;\n const currVal_6:any = _decl0_45.getNav(_any).title();\n currVal_6;\n const pd_7:any = ((<any>_decl0_36.show()) !== false);\n const pd_8:any = ((<any>_decl0_36._handleKeydown(_any)) !== false);\n const pd_9:any = ((<any>_decl0_36._handleTouchend()) !== false);\n const pd_10:any = ((<any>_decl0_39.notifyClick(_any)) !== false);\n}\nfunction _View_ListPlaceNavComponent_5_0():void {\n var _any:any = (null as any);\n const currVal_0:any = _decl0_45.placeDefinitions.value;\n currVal_0;\n}\nfunction _View_AbstractPlaceNavigationComponent_Host_6_0():void {\n var _any:any = (null as any);\n}\nfunction _View_AbstractPlaceNavigationComponent_6_0():void {\n var _any:any = (null as any);\n}\n"]}
@@ -94,6 +94,7 @@ function installMechanics(prototype, propertyKey, backingModel, tagPrefix, isEmp
94
94
  if (userModel) {
95
95
  mechanics.binding = new Binding(mechanics.backingModel, userModel);
96
96
  if (isEmpty(userModel)) {
97
+ // console.log(`Push visit to model for ${tag}`, {value: mechanics.backingModel.value});
97
98
  mechanics.binding.writeRight(); // push the visit into the user model;
98
99
  }
99
100
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"parameter-decorators.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/route/parameter-decorators.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n Binding,\n DebugContext,\n HasValue,\n Logger,\n MutableListModel,\n MutableValueModel,\n UseDelegate\n} from '@coolon/pectin';\nimport { Klass, Opts } from '@coolon/typescript-utilities';\nimport { ROUTE_PARAMETER_LIST_KEY } from '../place-component';\nimport { Formatter } from './formatter';\nimport { ParameterDefinition } from './parameter-definition.class';\n\n\nexport interface RouteIdOptions<T> {\n as?: string;\n optional?: boolean;\n remember?: boolean;\n defaultValue?: T;\n // sanitiser?: Constructable<ParameterSanitiser<T>> | ParameterSanitiser<T>;\n}\n\nexport interface RouteParameterOptions<T> {\n as?: string;\n optional?: boolean;\n remember?: boolean;\n defaultValue?: T;\n storeInUrl?: Formatter<T>\n // sanitiser?: Constructable<ParameterSanitiser<T>> | ParameterSanitiser<T>;\n}\n\nexport interface RouteListParameterOptions<T> {\n as?: string;\n optional?: boolean;\n remember?: boolean;\n defaultValue?: T[];\n storeInUrl?: Formatter<T>\n // sanitiser?: Constructable<ParameterSanitiser<T[]>> | ParameterSanitiser<T[]>;\n}\n\n\nfunction installMechanics<M extends HasValue<any>>(prototype: Object, propertyKey: string | symbol, backingModel: M, tagPrefix: string, isEmpty: (mode: M) => boolean) {\n const mechanics = {\n backingModel: backingModel,\n binding: null as Binding<any, any>\n };\n const tag = `${tagPrefix}(${prototype.constructor.name}.${propertyKey.toString()})`;\n DebugContext.get(mechanics.backingModel).tag(tag);\n Logger.get(mechanics.backingModel).tag(tag);\n Object.defineProperty(prototype, propertyKey, {\n get: function() {\n return mechanics.backingModel;\n },\n set: function(userModel: M) {\n // This handles the scenario where we want to push an existing value model (such as a form model)\n // to and from the route.\n if (mechanics.binding) {\n mechanics.binding.dispose();\n }\n if (userModel) {\n mechanics.binding = new Binding(mechanics.backingModel, userModel);\n if (isEmpty(userModel)) {\n mechanics.binding.writeRight(); // push the visit into the user model;\n } else {\n if (!isEmpty(mechanics.backingModel)) {\n console.warn('Assigning a visit model with an existing value to a visit parameter with an existing value. Visit parameter will be overridden');\n }\n mechanics.binding.writeLeft(); // push the user model into the visit\n }\n }\n }\n });\n}\n\nexport function RouteId<T extends string | number>(type: Formatter<T>, options?: RouteIdOptions<T>): PropertyDecorator {\n return (prototype: Object, propertyKey: string | symbol) => {\n const param = new ParameterDefinition.RouteId(propertyKey.toString(), options, type);\n Klass.get(prototype).addToOwnMetadataList(ROUTE_PARAMETER_LIST_KEY, param);\n installMechanics(prototype, propertyKey, new MutableValueModel<T>(), \"@RouteId\", m => m.query().isNil());\n };\n}\n\nexport function VisitParameter<T>(options?: RouteParameterOptions<T>): PropertyDecorator {\n const opts = Opts.get(options);\n return (prototype: Object, propertyKey: string | symbol) => {\n const param = new ParameterDefinition.ValueParameter(propertyKey.toString(), options, opts.getOptional('storeInUrl', null));\n Klass.get(prototype).addToOwnMetadataList(ROUTE_PARAMETER_LIST_KEY, param);\n installMechanics(prototype, propertyKey, new MutableValueModel<T>(), \"@VisitParameter\", m => m.query().isNil());\n };\n}\n\nexport function VisitParameterList<E>(options?: RouteListParameterOptions<E>): PropertyDecorator {\n const opts = Opts.get(options);\n return (prototype: Object, propertyKey: string | symbol) => {\n const param = new ParameterDefinition.ArrayParameter(propertyKey.toString(), options, opts.getOptional('storeInUrl', null));\n Klass.get(prototype).addToOwnMetadataList(ROUTE_PARAMETER_LIST_KEY, param);\n installMechanics(prototype, propertyKey, new MutableListModel<E>(), \"@VisitParameterList\", m => m.query().isEmpty());\n };\n}\n"]}
1
+ {"version":3,"file":"parameter-decorators.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/route/parameter-decorators.ts"],"names":[],"mappings":";;;;AAAA,OAAO,EACL,OAAO,EACP,YAAY,EAEZ,MAAM,EACN,gBAAgB,EAChB,iBAAiB,EAElB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;;;;;AAGnE,oCAMC;;;IALC,4BAAY;;IACZ,kCAAmB;;IACnB,kCAAmB;;IACnB,sCAAiB;;;;;;AAInB,2CAOC;;;IANC,mCAAY;;IACZ,yCAAmB;;IACnB,yCAAmB;;IACnB,6CAAiB;;IACjB,2CAAyB;;;;;;AAI3B,+CAOC;;;IANC,uCAAY;;IACZ,6CAAmB;;IACnB,6CAAmB;;IACnB,iDAAmB;;IACnB,+CAAyB;;;;;;;;;;;AAK3B,SAAS,gBAAgB,CAA0B,SAAiB,EAAE,WAA4B,EAAE,YAAe,EAAE,SAAiB,EAAE,OAA6B;;QAC7J,SAAS,GAAG;QAChB,YAAY,EAAE,YAAY;QAC1B,OAAO,EAAE,mBAAA,IAAI,EAAqB;KACnC;;QACK,GAAG,GAAM,SAAS,SAAI,SAAS,CAAC,WAAW,CAAC,IAAI,SAAI,WAAW,CAAC,QAAQ,EAAE,MAAG;IACnF,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5C,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,WAAW,EAAE;QAC5C,GAAG;;;QAAE;YACH,OAAO,SAAS,CAAC,YAAY,CAAC;QAChC,CAAC,CAAA;QACD,GAAG;;;;QAAE,UAAS,SAAY;YACxB,iGAAiG;YACjG,yBAAyB;YACzB,IAAI,SAAS,CAAC,OAAO,EAAE;gBACrB,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;aAC7B;YACD,IAAI,SAAS,EAAE;gBACb,SAAS,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;gBACnE,IAAI,OAAO,CAAC,SAAS,CAAC,EAAE;oBACtB,wFAAwF;oBACxF,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,sCAAsC;iBACvE;qBAAM;oBACL,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE;wBACpC,OAAO,CAAC,IAAI,CAAC,iIAAiI,CAAC,CAAC;qBACjJ;oBACD,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,qCAAqC;iBACrE;aACF;QACH,CAAC,CAAA;KACF,CAAC,CAAC;AACL,CAAC;;;;;;;AAED,MAAM,UAAU,OAAO,CAA4B,IAAkB,EAAE,OAA2B;IAChG;;;;;IAAO,UAAC,SAAiB,EAAE,WAA4B;;YAC/C,KAAK,GAAG,IAAI,mBAAmB,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC;QACpF,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;QAC3E,gBAAgB,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,iBAAiB,EAAK,EAAE,UAAU;;;;QAAE,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAjB,CAAiB,EAAC,CAAC;IAC3G,CAAC,EAAC;AACJ,CAAC;;;;;;AAED,MAAM,UAAU,cAAc,CAAI,OAAkC;;QAC5D,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;IAC9B;;;;;IAAO,UAAC,SAAiB,EAAE,WAA4B;;YAC/C,KAAK,GAAG,IAAI,mBAAmB,CAAC,cAAc,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAC3H,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;QAC3E,gBAAgB,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,iBAAiB,EAAK,EAAE,iBAAiB;;;;QAAE,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAjB,CAAiB,EAAC,CAAC;IAClH,CAAC,EAAC;AACJ,CAAC;;;;;;AAED,MAAM,UAAU,kBAAkB,CAAI,OAAsC;;QACpE,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;IAC9B;;;;;IAAO,UAAC,SAAiB,EAAE,WAA4B;;YAC/C,KAAK,GAAG,IAAI,mBAAmB,CAAC,cAAc,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAC3H,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;QAC3E,gBAAgB,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,gBAAgB,EAAK,EAAE,qBAAqB;;;;QAAE,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,EAAnB,CAAmB,EAAC,CAAC;IACvH,CAAC,EAAC;AACJ,CAAC","sourcesContent":["import {\n Binding,\n DebugContext,\n HasValue,\n Logger,\n MutableListModel,\n MutableValueModel,\n UseDelegate\n} from '@coolon/pectin';\nimport { Klass, Opts } from '@coolon/typescript-utilities';\nimport { ROUTE_PARAMETER_LIST_KEY } from '../place-component';\nimport { Formatter } from './formatter';\nimport { ParameterDefinition } from './parameter-definition.class';\n\n\nexport interface RouteIdOptions<T> {\n as?: string;\n optional?: boolean;\n remember?: boolean;\n defaultValue?: T;\n // sanitiser?: Constructable<ParameterSanitiser<T>> | ParameterSanitiser<T>;\n}\n\nexport interface RouteParameterOptions<T> {\n as?: string;\n optional?: boolean;\n remember?: boolean;\n defaultValue?: T;\n storeInUrl?: Formatter<T>\n // sanitiser?: Constructable<ParameterSanitiser<T>> | ParameterSanitiser<T>;\n}\n\nexport interface RouteListParameterOptions<T> {\n as?: string;\n optional?: boolean;\n remember?: boolean;\n defaultValue?: T[];\n storeInUrl?: Formatter<T>\n // sanitiser?: Constructable<ParameterSanitiser<T[]>> | ParameterSanitiser<T[]>;\n}\n\n\nfunction installMechanics<M extends HasValue<any>>(prototype: Object, propertyKey: string | symbol, backingModel: M, tagPrefix: string, isEmpty: (mode: M) => boolean) {\n const mechanics = {\n backingModel: backingModel,\n binding: null as Binding<any, any>\n };\n const tag = `${tagPrefix}(${prototype.constructor.name}.${propertyKey.toString()})`;\n DebugContext.get(mechanics.backingModel).tag(tag);\n Logger.get(mechanics.backingModel).tag(tag);\n Object.defineProperty(prototype, propertyKey, {\n get: function() {\n return mechanics.backingModel;\n },\n set: function(userModel: M) {\n // This handles the scenario where we want to push an existing value model (such as a form model)\n // to and from the route.\n if (mechanics.binding) {\n mechanics.binding.dispose();\n }\n if (userModel) {\n mechanics.binding = new Binding(mechanics.backingModel, userModel);\n if (isEmpty(userModel)) {\n // console.log(`Push visit to model for ${tag}`, {value: mechanics.backingModel.value});\n mechanics.binding.writeRight(); // push the visit into the user model;\n } else {\n if (!isEmpty(mechanics.backingModel)) {\n console.warn('Assigning a visit model with an existing value to a visit parameter with an existing value. Visit parameter will be overridden');\n }\n mechanics.binding.writeLeft(); // push the user model into the visit\n }\n }\n }\n });\n}\n\nexport function RouteId<T extends string | number>(type: Formatter<T>, options?: RouteIdOptions<T>): PropertyDecorator {\n return (prototype: Object, propertyKey: string | symbol) => {\n const param = new ParameterDefinition.RouteId(propertyKey.toString(), options, type);\n Klass.get(prototype).addToOwnMetadataList(ROUTE_PARAMETER_LIST_KEY, param);\n installMechanics(prototype, propertyKey, new MutableValueModel<T>(), \"@RouteId\", m => m.query().isNil());\n };\n}\n\nexport function VisitParameter<T>(options?: RouteParameterOptions<T>): PropertyDecorator {\n const opts = Opts.get(options);\n return (prototype: Object, propertyKey: string | symbol) => {\n const param = new ParameterDefinition.ValueParameter(propertyKey.toString(), options, opts.getOptional('storeInUrl', null));\n Klass.get(prototype).addToOwnMetadataList(ROUTE_PARAMETER_LIST_KEY, param);\n installMechanics(prototype, propertyKey, new MutableValueModel<T>(), \"@VisitParameter\", m => m.query().isNil());\n };\n}\n\nexport function VisitParameterList<E>(options?: RouteListParameterOptions<E>): PropertyDecorator {\n const opts = Opts.get(options);\n return (prototype: Object, propertyKey: string | symbol) => {\n const param = new ParameterDefinition.ArrayParameter(propertyKey.toString(), options, opts.getOptional('storeInUrl', null));\n Klass.get(prototype).addToOwnMetadataList(ROUTE_PARAMETER_LIST_KEY, param);\n installMechanics(prototype, propertyKey, new MutableListModel<E>(), \"@VisitParameterList\", m => m.query().isEmpty());\n };\n}\n"]}
@@ -0,0 +1,176 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import { Location } from '@angular/common';
6
+ import { Injectable } from '@angular/core';
7
+ import { Router, UrlSerializer } from '@angular/router';
8
+ import { UrlSnapshot } from './url-snapshot';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@angular/router";
11
+ import * as i2 from "@angular/common";
12
+ var UrlService = /** @class */ (function () {
13
+ function UrlService(angularRouter, angularLocation, urlSerializer) {
14
+ this.angularRouter = angularRouter;
15
+ this.angularLocation = angularLocation;
16
+ this.urlSerializer = urlSerializer;
17
+ }
18
+ /**
19
+ * @param {?} url
20
+ * @return {?}
21
+ */
22
+ UrlService.prototype.parseUrl = /**
23
+ * @param {?} url
24
+ * @return {?}
25
+ */
26
+ function (url) {
27
+ return new UrlSnapshot(this.urlSerializer, url);
28
+ };
29
+ /**
30
+ * @param {...?} visits
31
+ * @return {?}
32
+ */
33
+ UrlService.prototype.createUrlSnapshot = /**
34
+ * @param {...?} visits
35
+ * @return {?}
36
+ */
37
+ function () {
38
+ var _this = this;
39
+ var visits = [];
40
+ for (var _i = 0; _i < arguments.length; _i++) {
41
+ visits[_i] = arguments[_i];
42
+ }
43
+ /** @type {?} */
44
+ var bits = [];
45
+ visits.forEach((/**
46
+ * @param {?} v
47
+ * @return {?}
48
+ */
49
+ function (v) {
50
+ bits.push(_this.parseUrl("" + v.placeDefinition.path).updateVisitSegments(v).url);
51
+ }));
52
+ return this.parseUrl(bits.join(''));
53
+ };
54
+ /**
55
+ * @return {?}
56
+ */
57
+ UrlService.prototype.getCurrentRouterUrl = /**
58
+ * @return {?}
59
+ */
60
+ function () {
61
+ return this.angularRouter.routerState ? this.angularRouter.routerState.snapshot.url : null;
62
+ };
63
+ /**
64
+ * @return {?}
65
+ */
66
+ UrlService.prototype.getCurrentLocationUrl = /**
67
+ * @return {?}
68
+ */
69
+ function () {
70
+ return this.angularLocation.path();
71
+ };
72
+ /**
73
+ * Return the a UrlSnapshot using the browsers current location. Note this may not be the same
74
+ * as the routers current url.
75
+ */
76
+ /**
77
+ * Return the a UrlSnapshot using the browsers current location. Note this may not be the same
78
+ * as the routers current url.
79
+ * @return {?}
80
+ */
81
+ UrlService.prototype.getCurrentLocationUrlSnapshot = /**
82
+ * Return the a UrlSnapshot using the browsers current location. Note this may not be the same
83
+ * as the routers current url.
84
+ * @return {?}
85
+ */
86
+ function () {
87
+ return this.parseUrl(this.getCurrentLocationUrl());
88
+ };
89
+ /**
90
+ * Return the a UrlSnapshot using the routers current state. This may not be the same as
91
+ * the browsers actual url.
92
+ */
93
+ /**
94
+ * Return the a UrlSnapshot using the routers current state. This may not be the same as
95
+ * the browsers actual url.
96
+ * @return {?}
97
+ */
98
+ UrlService.prototype.getCurrentRouterSnapshot = /**
99
+ * Return the a UrlSnapshot using the routers current state. This may not be the same as
100
+ * the browsers actual url.
101
+ * @return {?}
102
+ */
103
+ function () {
104
+ return this.parseUrl(this.getCurrentRouterUrl());
105
+ };
106
+ /**
107
+ * @param {?} url
108
+ * @return {?}
109
+ */
110
+ UrlService.prototype.getActiveInteractionIdsFromUrl = /**
111
+ * @param {?} url
112
+ * @return {?}
113
+ */
114
+ function (url) {
115
+ return this.parseUrl(url).getInteractionIds();
116
+ };
117
+ /**
118
+ * @param {?} url
119
+ * @return {?}
120
+ */
121
+ UrlService.prototype.hasActiveInteractions = /**
122
+ * @param {?} url
123
+ * @return {?}
124
+ */
125
+ function (url) {
126
+ return this.getActiveInteractionIdsFromUrl(url).length > 0;
127
+ };
128
+ /**
129
+ * @param {?} url
130
+ * @param {?} options
131
+ * @return {?}
132
+ */
133
+ UrlService.prototype.resetBrowserLocation = /**
134
+ * @param {?} url
135
+ * @param {?} options
136
+ * @return {?}
137
+ */
138
+ function (url, options) {
139
+ options.replaceCurrent ? this.angularLocation.replaceState(url) : this.angularLocation.go(url);
140
+ };
141
+ /**
142
+ * @return {?}
143
+ */
144
+ UrlService.prototype.back = /**
145
+ * @return {?}
146
+ */
147
+ function () {
148
+ this.angularLocation.back();
149
+ };
150
+ UrlService.decorators = [
151
+ { type: Injectable, args: [{
152
+ providedIn: 'root'
153
+ },] }
154
+ ];
155
+ /** @nocollapse */
156
+ UrlService.ctorParameters = function () { return [
157
+ { type: Router },
158
+ { type: Location },
159
+ { type: UrlSerializer }
160
+ ]; };
161
+ /** @nocollapse */ UrlService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function UrlService_Factory() { return new UrlService(i0.ɵɵinject(i1.Router), i0.ɵɵinject(i2.Location), i0.ɵɵinject(i1.UrlSerializer)); }, token: UrlService, providedIn: "root" });
162
+ return UrlService;
163
+ }());
164
+ export { UrlService };
165
+ if (false) {
166
+ /**
167
+ * @type {?}
168
+ * @private
169
+ */
170
+ UrlService.prototype.angularRouter;
171
+ /** @type {?} */
172
+ UrlService.prototype.angularLocation;
173
+ /** @type {?} */
174
+ UrlService.prototype.urlSerializer;
175
+ }
176
+ //# sourceMappingURL=url-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url-service.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/url-service.ts"],"names":[],"mappings":";;;;AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;;;;AAG7C;IAIE,oBAA6B,aAAqB,EAAW,eAAyB,EAAW,aAA4B;QAAhG,kBAAa,GAAb,aAAa,CAAQ;QAAW,oBAAe,GAAf,eAAe,CAAU;QAAW,kBAAa,GAAb,aAAa,CAAe;IAC7H,CAAC;;;;;IAED,6BAAQ;;;;IAAR,UAAS,GAAW;QAClB,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;IAClD,CAAC;;;;;IAED,sCAAiB;;;;IAAjB;QAAA,iBAMC;QANiB,gBAAkB;aAAlB,UAAkB,EAAlB,qBAAkB,EAAlB,IAAkB;YAAlB,2BAAkB;;;YAC5B,IAAI,GAAG,EAAE;QACf,MAAM,CAAC,OAAO;;;;QAAC,UAAA,CAAC;YACd,IAAI,CAAC,IAAI,CAAC,KAAI,CAAC,QAAQ,CAAC,KAAG,CAAC,CAAC,eAAe,CAAC,IAAM,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACnF,CAAC,EAAC,CAAC;QACH,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IACtC,CAAC;;;;IAED,wCAAmB;;;IAAnB;QACE,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7F,CAAC;;;;IAED,0CAAqB;;;IAArB;QACE,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;IACrC,CAAC;IAED;;;OAGG;;;;;;IACH,kDAA6B;;;;;IAA7B;QACE,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC;IACrD,CAAC;IAED;;;OAGG;;;;;;IACH,6CAAwB;;;;;IAAxB;QACE,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;IACnD,CAAC;;;;;IAED,mDAA8B;;;;IAA9B,UAA+B,GAAW;QACxC,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,iBAAiB,EAAE,CAAC;IAChD,CAAC;;;;;IAED,0CAAqB;;;;IAArB,UAAsB,GAAW;QAC/B,OAAO,IAAI,CAAC,8BAA8B,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAC7D,CAAC;;;;;;IAED,yCAAoB;;;;;IAApB,UAAqB,GAAW,EAAE,OAAoC;QACpE,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACjG,CAAC;;;;IAED,yBAAI;;;IAAJ;QACE,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;IAC9B,CAAC;;gBAzDF,UAAU,SAAC;oBACV,UAAU,EAAE,MAAM;iBACnB;;;;gBANQ,MAAM;gBAFN,QAAQ;gBAEA,aAAa;;;qBAF9B;CAkEC,AA5DD,IA4DC;SAzDY,UAAU;;;;;;IACT,mCAAsC;;IAAE,qCAAkC;;IAAE,mCAAqC","sourcesContent":["import { Location } from '@angular/common';\nimport { Injectable } from '@angular/core';\nimport { Router, UrlSerializer } from '@angular/router';\nimport { UrlSnapshot } from './url-snapshot';\nimport { Visit } from './visit';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UrlService {\n constructor(private readonly angularRouter: Router, readonly angularLocation: Location, readonly urlSerializer: UrlSerializer) {\n }\n\n parseUrl(url: string): UrlSnapshot {\n return new UrlSnapshot(this.urlSerializer, url);\n }\n\n createUrlSnapshot(...visits: Visit[]): UrlSnapshot {\n const bits = [];\n visits.forEach(v => {\n bits.push(this.parseUrl(`${v.placeDefinition.path}`).updateVisitSegments(v).url);\n });\n return this.parseUrl(bits.join(''));\n }\n\n getCurrentRouterUrl(): string {\n return this.angularRouter.routerState ? this.angularRouter.routerState.snapshot.url : null;\n }\n\n getCurrentLocationUrl(): string {\n return this.angularLocation.path();\n }\n\n /**\n * Return the a UrlSnapshot using the browsers current location. Note this may not be the same\n * as the routers current url.\n */\n getCurrentLocationUrlSnapshot(): UrlSnapshot {\n return this.parseUrl(this.getCurrentLocationUrl());\n }\n\n /**\n * Return the a UrlSnapshot using the routers current state. This may not be the same as\n * the browsers actual url.\n */\n getCurrentRouterSnapshot(): UrlSnapshot {\n return this.parseUrl(this.getCurrentRouterUrl());\n }\n\n getActiveInteractionIdsFromUrl(url: string): string[] {\n return this.parseUrl(url).getInteractionIds();\n }\n\n hasActiveInteractions(url: string) {\n return this.getActiveInteractionIdsFromUrl(url).length > 0;\n }\n\n resetBrowserLocation(url: string, options: { replaceCurrent: boolean }) {\n options.replaceCurrent ? this.angularLocation.replaceState(url) : this.angularLocation.go(url);\n }\n\n back() {\n this.angularLocation.back();\n }\n\n\n}\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url-service.ngfactory.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/url-service.ngfactory.ts"],"names":[],"mappings":"","sourcesContent":["import * as i0 from '@angular/core';\ni0.ComponentFactory;\n"]}
@@ -4,6 +4,7 @@
4
4
  */
5
5
  import * as tslib_1 from "tslib";
6
6
  import { UrlSegment } from '@angular/router';
7
+ import _ from 'lodash';
7
8
  var UrlSnapshot = /** @class */ (function () {
8
9
  // TODO: Update this accept a url Parser so it can be immutable and generate new trees on mutation using toString() are parseUrl.
9
10
  function UrlSnapshot(urlSerializer, url) {
@@ -115,12 +116,23 @@ var UrlSnapshot = /** @class */ (function () {
115
116
  /**
116
117
  * @return {?}
117
118
  */
118
- UrlSnapshot.prototype.hasInteractionIds = /**
119
+ UrlSnapshot.prototype.hasInteractions = /**
119
120
  * @return {?}
120
121
  */
121
122
  function () {
122
123
  return this.getInteractionIds().length > 0;
123
124
  };
125
+ /**
126
+ * @param {?} ids
127
+ * @return {?}
128
+ */
129
+ UrlSnapshot.prototype.hasInteractionIds = /**
130
+ * @param {?} ids
131
+ * @return {?}
132
+ */
133
+ function (ids) {
134
+ return _.isEqual(this.getInteractionIds(), ids);
135
+ };
124
136
  // @Trace()
125
137
  // @Trace()
126
138
  /**
@@ -162,6 +174,15 @@ var UrlSnapshot = /** @class */ (function () {
162
174
  }
163
175
  return new UrlSnapshot(this.urlSerializer, urlTree.toString());
164
176
  };
177
+ /**
178
+ * @return {?}
179
+ */
180
+ UrlSnapshot.prototype.toString = /**
181
+ * @return {?}
182
+ */
183
+ function () {
184
+ return "UrlSnapshot(" + this.url + ")";
185
+ };
165
186
  return UrlSnapshot;
166
187
  }());
167
188
  export { UrlSnapshot };
@@ -1 +1 @@
1
- {"version":3,"file":"url-snapshot.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/url-snapshot.ts"],"names":[],"mappings":"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","sourcesContent":["import { NavigationExtras, UrlSegment, UrlSerializer, UrlTree } from '@angular/router';\nimport { assert, Trace } from '@coolon/pectin';\nimport { PlaceDefinition } from './place-definition';\nimport { Visit } from './visit';\n\nexport class UrlSnapshot {\n\n readonly urlTree: UrlTree;\n\n // TODO: Update this accept a url Parser so it can be immutable and generate new trees on mutation using toString() are parseUrl.\n constructor(readonly urlSerializer: UrlSerializer, readonly url: string) {\n this.urlTree = urlSerializer.parse(url);\n }\n\n public updateVisitSegments(visit: Visit): UrlSnapshot {\n const urlTree = this.urlSerializer.parse(this.url);\n // Ugly, but it works for now.\n const segments = [...this.getPrimarySegments(urlTree)];\n const visitSegments = this.getSegmentsFor(visit);\n const replaceAt = segments.findIndex(segment => segment.path === visitSegments[0].path);\n // do not use the return value, it's the items that were removed!\n segments.splice(replaceAt, visitSegments.length, ...visitSegments);\n urlTree.root.children.primary.segments = segments;\n return new UrlSnapshot(this.urlSerializer, urlTree.toString());\n }\n\n private getPrimarySegments(urlTree: UrlTree) {\n return this.urlTree.root.children.primary.segments;\n }\n\n /**\n * Converts the visit into segments. Please not that these segments are not e\n * @param visit\n */\n protected getSegmentsFor(visit: Visit): UrlSegment[] {\n return visit.placeDefinition.hasRouteId() ?\n [\n // NOTE:\n // It's important to attach the params to the root path and not the id. If we attach them\n // to an empty id then the angular router won't match the pattern.\n new UrlSegment(visit.placeDefinition.path, visit.placeDefinition.getFormattedRouteParameters(visit)),\n new UrlSegment(visit.placeDefinition.getFormattedRouteId(visit), {})]\n :\n [\n new UrlSegment(visit.placeDefinition.path, visit.placeDefinition.getFormattedRouteParameters(visit))\n ];\n }\n\n includesPathOf(placeDef: PlaceDefinition) {\n return this.getPrimarySegments(this.urlTree).find(s => s.path === placeDef.path);\n }\n\n getInteractionIds() {\n const queryParam = this.urlTree.queryParams[UrlSnapshot.INTERACTION_QUERY_PARAM];\n if (queryParam) {\n return UrlSnapshot.parseInteractionIds(queryParam);\n } else {\n return [];\n }\n }\n\n hasInteractionIds() {\n return this.getInteractionIds().length > 0;\n }\n\n // @Trace()\n updateInteractionIds(ids: string[]): UrlSnapshot {\n if (ids.length === 0) {\n return this.removeInteractionIds();\n } else {\n const urlTree = this.urlSerializer.parse(this.url);\n urlTree.queryParams[UrlSnapshot.INTERACTION_QUERY_PARAM] = UrlSnapshot.createPathIdFor(ids);\n return new UrlSnapshot(this.urlSerializer, urlTree.toString());\n }\n }\n\n // @Trace()\n removeInteractionIds(): UrlSnapshot {\n const urlTree = this.urlSerializer.parse(this.url);\n if (urlTree.queryParams && urlTree.queryParams[UrlSnapshot.INTERACTION_QUERY_PARAM]) {\n urlTree.queryParams = {};//[UrlSnapshot.INTERACTION_ROUTER_OUTLET]\n }\n return new UrlSnapshot(this.urlSerializer, urlTree.toString());\n }\n\n // withOptions(options: NavigationExtras) {\n // return new UrlSnapshot(this.urlSerializer, this.url, options);\n // }\n //\n // @Trace()\n // getNavigationExtras(): NavigationExtras {\n // return this.options;\n // }\n\n}\n\nexport namespace UrlSnapshot {\n\n export const INTERACTION_QUERY_PARAM = 'aup-interactions';\n export const INTERACTION_ID_SEPARATOR = '--';\n\n export function parseInteractionIds(path: string) {\n return path.split(INTERACTION_ID_SEPARATOR);\n }\n\n export function createPathIdFor(interactionIds: string[]) {\n return interactionIds.join(INTERACTION_ID_SEPARATOR);\n }\n\n export interface NavigationOptions {\n replaceUrl?: boolean;\n }\n}\n"]}
1
+ {"version":3,"file":"url-snapshot.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/url-snapshot.ts"],"names":[],"mappings":"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","sourcesContent":["import { UrlSegment, UrlSerializer, UrlTree } from '@angular/router';\nimport _ from 'lodash';\nimport { PlaceDefinition } from './place-definition';\nimport { Visit } from './visit';\n\nexport class UrlSnapshot {\n\n readonly urlTree: UrlTree;\n\n // TODO: Update this accept a url Parser so it can be immutable and generate new trees on mutation using toString() are parseUrl.\n constructor(readonly urlSerializer: UrlSerializer, readonly url: string) {\n this.urlTree = urlSerializer.parse(url);\n }\n\n public updateVisitSegments(visit: Visit): UrlSnapshot {\n const urlTree = this.urlSerializer.parse(this.url);\n // Ugly, but it works for now.\n const segments = [...this.getPrimarySegments(urlTree)];\n const visitSegments = this.getSegmentsFor(visit);\n const replaceAt = segments.findIndex(segment => segment.path === visitSegments[0].path);\n // do not use the return value, it's the items that were removed!\n segments.splice(replaceAt, visitSegments.length, ...visitSegments);\n urlTree.root.children.primary.segments = segments;\n return new UrlSnapshot(this.urlSerializer, urlTree.toString());\n }\n\n private getPrimarySegments(urlTree: UrlTree) {\n return this.urlTree.root.children.primary.segments;\n }\n\n /**\n * Converts the visit into segments. Please not that these segments are not e\n * @param visit\n */\n protected getSegmentsFor(visit: Visit): UrlSegment[] {\n return visit.placeDefinition.hasRouteId() ?\n [\n // NOTE:\n // It's important to attach the params to the root path and not the id. If we attach them\n // to an empty id then the angular router won't match the pattern.\n new UrlSegment(visit.placeDefinition.path, visit.placeDefinition.getFormattedRouteParameters(visit)),\n new UrlSegment(visit.placeDefinition.getFormattedRouteId(visit), {})]\n :\n [\n new UrlSegment(visit.placeDefinition.path, visit.placeDefinition.getFormattedRouteParameters(visit))\n ];\n }\n\n includesPathOf(placeDef: PlaceDefinition) {\n return this.getPrimarySegments(this.urlTree).find(s => s.path === placeDef.path);\n }\n\n getInteractionIds() {\n const queryParam = this.urlTree.queryParams[UrlSnapshot.INTERACTION_QUERY_PARAM];\n if (queryParam) {\n return UrlSnapshot.parseInteractionIds(queryParam);\n } else {\n return [];\n }\n }\n\n hasInteractions() {\n return this.getInteractionIds().length > 0;\n }\n\n hasInteractionIds(ids: string[]): boolean {\n return _.isEqual(this.getInteractionIds(), ids);\n }\n\n // @Trace()\n updateInteractionIds(ids: string[]): UrlSnapshot {\n if (ids.length === 0) {\n return this.removeInteractionIds();\n } else {\n const urlTree = this.urlSerializer.parse(this.url);\n urlTree.queryParams[UrlSnapshot.INTERACTION_QUERY_PARAM] = UrlSnapshot.createPathIdFor(ids);\n return new UrlSnapshot(this.urlSerializer, urlTree.toString());\n }\n }\n\n // @Trace()\n removeInteractionIds(): UrlSnapshot {\n const urlTree = this.urlSerializer.parse(this.url);\n if (urlTree.queryParams && urlTree.queryParams[UrlSnapshot.INTERACTION_QUERY_PARAM]) {\n urlTree.queryParams = {};//[UrlSnapshot.INTERACTION_ROUTER_OUTLET]\n }\n return new UrlSnapshot(this.urlSerializer, urlTree.toString());\n }\n\n toString(): string {\n return `UrlSnapshot(${this.url})`;\n }\n\n // withOptions(options: NavigationExtras) {\n // return new UrlSnapshot(this.urlSerializer, this.url, options);\n // }\n //\n // @Trace()\n // getNavigationExtras(): NavigationExtras {\n // return this.options;\n // }\n\n}\n\nexport namespace UrlSnapshot {\n\n export const INTERACTION_QUERY_PARAM = 'aup-interactions';\n export const INTERACTION_ID_SEPARATOR = '--';\n\n export function parseInteractionIds(path: string) {\n return path.split(INTERACTION_ID_SEPARATOR);\n }\n\n export function createPathIdFor(interactionIds: string[]) {\n return interactionIds.join(INTERACTION_ID_SEPARATOR);\n }\n\n export interface NavigationOptions {\n replaceUrl?: boolean;\n }\n}\n"]}
@@ -161,6 +161,20 @@ var Visit = /** @class */ (function () {
161
161
  var sameNonRouteParameters = _.isEqual(this.placeDefinition.getNonRouteParameters(this), this.placeDefinition.getNonRouteParameters(other));
162
162
  return !sameNonRouteParameters || this.hasRoutingChangedFrom(other);
163
163
  };
164
+ /**
165
+ * @return {?}
166
+ */
167
+ Visit.prototype.toDebugString = /**
168
+ * @return {?}
169
+ */
170
+ function () {
171
+ var _this = this;
172
+ return Object.keys(this.visitParameters).map((/**
173
+ * @param {?} k
174
+ * @return {?}
175
+ */
176
+ function (k) { return k + "=" + _this.visitParameters[k]; })).join(",");
177
+ };
164
178
  return Visit;
165
179
  }());
166
180
  export { Visit };
@@ -1 +1 @@
1
- {"version":3,"file":"visit.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/visit.ts"],"names":[],"mappings":"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","sourcesContent":["import { UrlSegment } from '@angular/router';\nimport * as _ from 'lodash';\nimport { PlaceDefinition } from './place-definition';\nimport { ParameterDefinition } from './route/parameter-definition.class';\n\ninterface Params {\n [p: string]: any\n}\n\n\nexport class Visit {\n\n constructor(readonly placeDefinition: PlaceDefinition, private readonly visitParameters: Params = {}) {\n }\n\n // @Trace()\n getRouteId(): any {\n return this.placeDefinition.getRouteIdFrom(this);\n }\n\n // @Trace()\n hasRouteId(): boolean {\n return !_.isNil(this.getRouteId());\n }\n\n /**\n * Returns the value of the place parameter with the specified name. The parameter\n * name is taken from the `as` option, e.g. {as: 'aCustomName'} otherwise it is the\n * same as the the ValueModel property name.\n * @param parameterName the field name of the property model or the `as` option if specified.\n */\n getParameter(parameterName: string): any {\n return this.visitParameters[parameterName];\n }\n\n // @Trace()\n hasParameter(parameterName: string) {\n return Object.keys(this.visitParameters).includes(parameterName);\n }\n\n replace<S>(parameter: ParameterDefinition<any, S>, value: S): Visit {\n return new Visit(this.placeDefinition, { ...this.visitParameters, [parameter.name]: value });\n }\n\n mergeRouteParameters<S>(routeParams: { [p: string]: any }): Visit {\n // todo: whitelist parameters.\n const routeParameterKeys = Object.keys(routeParams);\n const params = {};\n this.placeDefinition.getVisitParameterDefs().forEach(def => {\n if (def.isRouteId || def.isRouteParameter) {\n if (routeParameterKeys.includes(def.name)) {\n params[def.name] = routeParams[def.name];\n }\n } else {\n // copy non route params as is, but only if they already exist otherwise we'll inject nil values and break the\n // defaults and remember sanitisation process.\n const value = this.getParameter(def.name);\n if (this.hasParameter(def.name)) {\n params[def.name] = value;\n }\n }\n });\n return new Visit(this.placeDefinition, params);\n }\n\n hasRoutingChangedFrom(other: Visit): boolean {\n const samePlace = other.placeDefinition === this.placeDefinition;\n const sameRouteParameters = _.isEqual(\n this.placeDefinition.getFormattedRouteParameters(this, true),\n this.placeDefinition.getFormattedRouteParameters(other, true)\n );\n return !samePlace || !sameRouteParameters;\n }\n\n hasChangedFrom(other: Visit) {\n const sameNonRouteParameters = _.isEqual(\n this.placeDefinition.getNonRouteParameters(this),\n this.placeDefinition.getNonRouteParameters(other)\n );\n return !sameNonRouteParameters || this.hasRoutingChangedFrom(other);\n }\n\n}\n"]}
1
+ {"version":3,"file":"visit.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/visit.ts"],"names":[],"mappings":"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","sourcesContent":["import { UrlSegment } from '@angular/router';\nimport * as _ from 'lodash';\nimport { PlaceDefinition } from './place-definition';\nimport { ParameterDefinition } from './route/parameter-definition.class';\n\ninterface Params {\n [p: string]: any\n}\n\n\nexport class Visit {\n\n constructor(readonly placeDefinition: PlaceDefinition, private readonly visitParameters: Params = {}) {\n }\n\n // @Trace()\n getRouteId(): any {\n return this.placeDefinition.getRouteIdFrom(this);\n }\n\n // @Trace()\n hasRouteId(): boolean {\n return !_.isNil(this.getRouteId());\n }\n\n /**\n * Returns the value of the place parameter with the specified name. The parameter\n * name is taken from the `as` option, e.g. {as: 'aCustomName'} otherwise it is the\n * same as the the ValueModel property name.\n * @param parameterName the field name of the property model or the `as` option if specified.\n */\n getParameter(parameterName: string): any {\n return this.visitParameters[parameterName];\n }\n\n // @Trace()\n hasParameter(parameterName: string) {\n return Object.keys(this.visitParameters).includes(parameterName);\n }\n\n replace<S>(parameter: ParameterDefinition<any, S>, value: S): Visit {\n return new Visit(this.placeDefinition, { ...this.visitParameters, [parameter.name]: value });\n }\n\n mergeRouteParameters<S>(routeParams: { [p: string]: any }): Visit {\n // todo: whitelist parameters.\n const routeParameterKeys = Object.keys(routeParams);\n const params = {};\n this.placeDefinition.getVisitParameterDefs().forEach(def => {\n if (def.isRouteId || def.isRouteParameter) {\n if (routeParameterKeys.includes(def.name)) {\n params[def.name] = routeParams[def.name];\n }\n } else {\n // copy non route params as is, but only if they already exist otherwise we'll inject nil values and break the\n // defaults and remember sanitisation process.\n const value = this.getParameter(def.name);\n if (this.hasParameter(def.name)) {\n params[def.name] = value;\n }\n }\n });\n return new Visit(this.placeDefinition, params);\n }\n\n hasRoutingChangedFrom(other: Visit): boolean {\n const samePlace = other.placeDefinition === this.placeDefinition;\n const sameRouteParameters = _.isEqual(\n this.placeDefinition.getFormattedRouteParameters(this, true),\n this.placeDefinition.getFormattedRouteParameters(other, true)\n );\n return !samePlace || !sameRouteParameters;\n }\n\n hasChangedFrom(other: Visit) {\n const sameNonRouteParameters = _.isEqual(\n this.placeDefinition.getNonRouteParameters(this),\n this.placeDefinition.getNonRouteParameters(other)\n );\n return !sameNonRouteParameters || this.hasRoutingChangedFrom(other);\n }\n\n toDebugString() {\n return Object.keys(this.visitParameters).map(k => `${k}=${this.visitParameters[k]}`).join(\",\");\n }\n\n}\n"]}
@@ -6,6 +6,6 @@ export { AngularUiPowerupsModule } from './lib/angular-ui-powerups.module';
6
6
  export { slideDownOnEnterAnimation, slideRightOnEnterAnimation } from './lib/animations';
7
7
  export { ComponentsModule, DisposableComponent, ResizeAwareComponent, AbstractInputComponent, NumberInputComponent, PasswordInputComponent, SelectInputComponent, StringInputComponent, NoopComponent, Bounds, Dimension, Point } from './lib/components';
8
8
  export { CommandDirective, DirectivesModule, FocusBindingDirective } from './lib/directives';
9
- export { AbstractActivity, ACTIVITY_DATA, Activity, InteractionContextBase, InteractionContext, InteractionModule, ActivityContainerComponent, ActivityOutletComponent, AlertDialogComponent, ConfirmThenDialogComponent, ConfirmationDialogComponent, InplaceInteractionContextComponent, InteractionService, ModalInteractionContextFactory, DIALOG_INTERACTION_SERVICE_DEFAULTS, DialogInteractionContextFactory, DialogInteractionContext } from './lib/interaction';
10
- export { DEFINITION_META_DATA_KEY, ROUTE_PARAMETER_LIST_KEY, PlaceComponent, AUP_PLACE_CONFIG, PlaceDefinition, PlaceHistory, PlaceRouter, Place, PlaceModule, UrlSnapshot, Visit, AbstractPlaceNavigationComponent, BusyOverlayComponent, EmptyStateComponent, ListPlaceNavComponent, PlaceOutletComponent, leftRightPlaceAnimation, LEFT_RIGHT_PLACE_ANIMATION, TabbedPlaceNavigationComponent, ConsolidatedParameterMap, NavigationState, NoopAuthGuard, PlaceComponentDeactivationHandler, PlaceGuard, Formatter, RouteId, VisitParameter, VisitParameterList, ParameterDefinition, VisitSanitiser } from './lib/place';
9
+ export { AbstractInteractionContext, ActivityRef, ACTIVITY_DATA, Activity, InteractionModule, ActivityContainerComponent, ActivityOutletComponent, AlertDialogComponent, ConfirmThenDialogComponent, ConfirmationDialogComponent, InPlaceInteractionContextComponent, InteractionServiceRoutingAdapter, InteractionService, ModalInteractionContextFactory, DIALOG_INTERACTION_SERVICE_DEFAULTS, DialogInteractionContextFactory, DialogInteractionContext } from './lib/interaction';
10
+ export { DEFINITION_META_DATA_KEY, ROUTE_PARAMETER_LIST_KEY, PlaceComponent, AUP_PLACE_CONFIG, PlaceDefinition, PlaceHistory, PlaceRouter, Place, PlaceModule, UrlService, UrlSnapshot, Visit, AbstractPlaceNavigationComponent, BusyOverlayComponent, EmptyStateComponent, ListPlaceNavComponent, PlaceOutletComponent, leftRightPlaceAnimation, LEFT_RIGHT_PLACE_ANIMATION, TabbedPlaceNavigationComponent, ConsolidatedParameterMap, NoopAuthGuard, PlaceGuard, PlaceComponentDeactivationHandler, AbstractPopStateNavigation, Navigating, NavigationContext, NavigationSession, PopStateNavigation, EventCleanUpSession, WaitUntilLeavingInteractionTransitionCancelled, WaitUntilLinkTriggeredNavigationInteractionCancellationEventsFinish, WaitUntilPopStateDuringCanDeactivateInteractionFinishes, NavigatingDuringInteraction, PopStateDuringInteractionNavigation, RemoveLastInteractionFromUrlNavigationSession, SynchroniseInteractionContextIdsWithRoute, Formatter, RouteId, VisitParameter, VisitParameterList, ParameterDefinition, VisitSanitiser } from './lib/place';
11
11
  //# sourceMappingURL=public_api.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"public_api.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["public_api.ts"],"names":[],"mappings":";;;;AAAA,wCAAc,kCAAkC,CAAC;AACjD,sEAAc,kBAAkB,CAAC;AACjC,uOAAc,kBAAkB,CAAC;AACjC,0EAAc,kBAAkB,CAAC;AACjC,qbAAc,mBAAmB,CAAC;AAClC,8kBAAc,aAAa,CAAC","sourcesContent":["export * from './lib/angular-ui-powerups.module';\nexport * from './lib/animations';\nexport * from './lib/components';\nexport * from './lib/directives';\nexport * from './lib/interaction';\nexport * from './lib/place';\n"]}
1
+ {"version":3,"file":"public_api.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["public_api.ts"],"names":[],"mappings":";;;;AAAA,wCAAc,kCAAkC,CAAC;AACjD,sEAAc,kBAAkB,CAAC;AACjC,uOAAc,kBAAkB,CAAC;AACjC,0EAAc,kBAAkB,CAAC;AACjC,kcAAc,mBAAmB,CAAC;AAClC,0gCAAc,aAAa,CAAC","sourcesContent":["export * from './lib/angular-ui-powerups.module';\nexport * from './lib/animations';\nexport * from './lib/components';\nexport * from './lib/directives';\nexport * from './lib/interaction';\nexport * from './lib/place';\n"]}