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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (429) hide show
  1. package/CHANGELOG.md +301 -0
  2. package/bundles/coolon-angular-ui-powerups.umd.js +1178 -6280
  3. package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
  4. package/bundles/coolon-angular-ui-powerups.umd.min.js +16 -1
  5. package/bundles/coolon-angular-ui-powerups.umd.min.js.map +1 -1
  6. package/coolon-angular-ui-powerups.d.ts +27 -26
  7. package/coolon-angular-ui-powerups.metadata.json +1 -1
  8. package/esm2015/coolon-angular-ui-powerups.js +26 -29
  9. package/esm2015/coolon-angular-ui-powerups.js.map +1 -1
  10. package/esm2015/coolon-angular-ui-powerups.metadata.json +1 -1
  11. package/esm2015/index.js +1 -5
  12. package/esm2015/index.js.map +1 -1
  13. package/esm2015/lib/angular-ui-powerups.module.js +32 -32
  14. package/esm2015/lib/angular-ui-powerups.module.js.map +1 -1
  15. package/esm2015/lib/angular-ui-powerups.module.metadata.json +1 -1
  16. package/esm2015/lib/angular-ui-powerups.module.ngfactory.js.map +1 -1
  17. package/esm2015/lib/animations/index.js +1 -5
  18. package/esm2015/lib/animations/index.js.map +1 -1
  19. package/esm2015/lib/animations/slide-animations.js +0 -8
  20. package/esm2015/lib/animations/slide-animations.js.map +1 -1
  21. package/esm2015/lib/components/components.module.js +40 -37
  22. package/esm2015/lib/components/components.module.js.map +1 -1
  23. package/esm2015/lib/components/components.module.metadata.json +1 -1
  24. package/esm2015/lib/components/components.module.ngfactory.js.map +1 -1
  25. package/esm2015/lib/components/disposable-component.js +8 -9
  26. package/esm2015/lib/components/disposable-component.js.map +1 -1
  27. package/esm2015/lib/components/disposable-component.metadata.json +1 -1
  28. package/esm2015/lib/components/forms/abstract-input.component.js +82 -114
  29. package/esm2015/lib/components/forms/abstract-input.component.js.map +1 -1
  30. package/esm2015/lib/components/forms/abstract-input.component.metadata.json +1 -1
  31. package/esm2015/lib/components/forms/number-input/number-input.component.js +12 -18
  32. package/esm2015/lib/components/forms/number-input/number-input.component.js.map +1 -1
  33. package/esm2015/lib/components/forms/password-input/password-input.component.js +12 -18
  34. package/esm2015/lib/components/forms/password-input/password-input.component.js.map +1 -1
  35. package/esm2015/lib/components/forms/select-input/select-input.component.js +38 -57
  36. package/esm2015/lib/components/forms/select-input/select-input.component.js.map +1 -1
  37. package/esm2015/lib/components/forms/select-input/select-input.component.metadata.json +1 -1
  38. package/esm2015/lib/components/forms/string-input/string-input.component.js +19 -41
  39. package/esm2015/lib/components/forms/string-input/string-input.component.js.map +1 -1
  40. package/esm2015/lib/components/index.js +13 -16
  41. package/esm2015/lib/components/index.js.map +1 -1
  42. package/esm2015/lib/components/index.metadata.json +1 -1
  43. package/esm2015/lib/components/noop/noop.component.js +12 -15
  44. package/esm2015/lib/components/noop/noop.component.js.map +1 -1
  45. package/esm2015/lib/components/resize-aware.component.js +17 -64
  46. package/esm2015/lib/components/resize-aware.component.js.map +1 -1
  47. package/esm2015/lib/components/resize-aware.component.metadata.json +1 -1
  48. package/esm2015/lib/components/scroll-container/scroll-container.component.js +17 -0
  49. package/esm2015/lib/components/scroll-container/scroll-container.component.js.map +1 -0
  50. package/esm2015/lib/components/scroll-container/scroll-container.component.metadata.json +1 -0
  51. package/esm2015/lib/components/scroll-container/scroll-container.component.ngfactory.js.map +1 -0
  52. package/esm2015/lib/components/scroll-container/scroll-container.component.scss.shim.ngstyle.js.map +1 -0
  53. package/esm2015/lib/components/types/bounds.class.js +0 -29
  54. package/esm2015/lib/components/types/bounds.class.js.map +1 -1
  55. package/esm2015/lib/components/types/dimension.class.js +0 -14
  56. package/esm2015/lib/components/types/dimension.class.js.map +1 -1
  57. package/esm2015/lib/components/types/point.class.js +0 -23
  58. package/esm2015/lib/components/types/point.class.js.map +1 -1
  59. package/esm2015/lib/directives/command.directive.js +31 -85
  60. package/esm2015/lib/directives/command.directive.js.map +1 -1
  61. package/esm2015/lib/directives/directives.module.js +28 -28
  62. package/esm2015/lib/directives/directives.module.js.map +1 -1
  63. package/esm2015/lib/directives/directives.module.metadata.json +1 -1
  64. package/esm2015/lib/directives/directives.module.ngfactory.js.map +1 -1
  65. package/esm2015/lib/directives/focus-binding.directive.js +41 -96
  66. package/esm2015/lib/directives/focus-binding.directive.js.map +1 -1
  67. package/esm2015/lib/directives/index.js +3 -7
  68. package/esm2015/lib/directives/index.js.map +1 -1
  69. package/esm2015/lib/interaction/abstract-interaction-context.js +4 -73
  70. package/esm2015/lib/interaction/abstract-interaction-context.js.map +1 -1
  71. package/esm2015/lib/interaction/activity-ref.js +2 -79
  72. package/esm2015/lib/interaction/activity-ref.js.map +1 -1
  73. package/esm2015/lib/interaction/activity.js +0 -72
  74. package/esm2015/lib/interaction/activity.js.map +1 -1
  75. package/esm2015/lib/interaction/alert.js +0 -22
  76. package/esm2015/lib/interaction/alert.js.map +1 -1
  77. package/esm2015/lib/interaction/components/activity-container/activity-container.component.js +41 -187
  78. package/esm2015/lib/interaction/components/activity-container/activity-container.component.js.map +1 -1
  79. package/esm2015/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.js +24 -74
  80. package/esm2015/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.js.map +1 -1
  81. package/esm2015/lib/interaction/components/alert-dialog/alert-dialog.component.js +13 -24
  82. package/esm2015/lib/interaction/components/alert-dialog/alert-dialog.component.js.map +1 -1
  83. package/esm2015/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.js +15 -62
  84. package/esm2015/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.js.map +1 -1
  85. package/esm2015/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js +13 -27
  86. package/esm2015/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js.map +1 -1
  87. package/esm2015/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.js +16 -71
  88. package/esm2015/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.js.map +1 -1
  89. package/esm2015/lib/interaction/confirm.js +0 -16
  90. package/esm2015/lib/interaction/confirm.js.map +1 -1
  91. package/esm2015/lib/interaction/index.js +15 -24
  92. package/esm2015/lib/interaction/index.js.map +1 -1
  93. package/esm2015/lib/interaction/interaction-context.js +0 -50
  94. package/esm2015/lib/interaction/interaction-context.js.map +1 -1
  95. package/esm2015/lib/interaction/interaction.module.js +41 -41
  96. package/esm2015/lib/interaction/interaction.module.js.map +1 -1
  97. package/esm2015/lib/interaction/interaction.module.metadata.json +1 -1
  98. package/esm2015/lib/interaction/interaction.module.ngfactory.js.map +1 -1
  99. package/esm2015/lib/interaction/result.js +2 -23
  100. package/esm2015/lib/interaction/result.js.map +1 -1
  101. package/esm2015/lib/interaction/route-synchronisation-adapter.js +0 -16
  102. package/esm2015/lib/interaction/route-synchronisation-adapter.js.map +1 -1
  103. package/esm2015/lib/interaction/services/interaction-service-routing-adapter.js +0 -43
  104. package/esm2015/lib/interaction/services/interaction-service-routing-adapter.js.map +1 -1
  105. package/esm2015/lib/interaction/services/interaction.service.js +22 -172
  106. package/esm2015/lib/interaction/services/interaction.service.js.map +1 -1
  107. package/esm2015/lib/interaction/services/interaction.service.metadata.json +1 -1
  108. package/esm2015/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.js +17 -40
  109. package/esm2015/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.js.map +1 -1
  110. package/esm2015/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.metadata.json +1 -1
  111. package/esm2015/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.js +7 -86
  112. package/esm2015/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.js.map +1 -1
  113. package/esm2015/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.metadata.json +1 -1
  114. package/esm2015/lib/interaction/services/modal-interaction-context.factory.js +0 -16
  115. package/esm2015/lib/interaction/services/modal-interaction-context.factory.js.map +1 -1
  116. package/esm2015/lib/place/components/abstract-place-navigation.component.js +36 -105
  117. package/esm2015/lib/place/components/abstract-place-navigation.component.js.map +1 -1
  118. package/esm2015/lib/place/components/busy-overlay/busy-overlay.component.js +17 -34
  119. package/esm2015/lib/place/components/busy-overlay/busy-overlay.component.js.map +1 -1
  120. package/esm2015/lib/place/components/empty-state/empty-state.component.js +12 -18
  121. package/esm2015/lib/place/components/empty-state/empty-state.component.js.map +1 -1
  122. package/esm2015/lib/place/components/list-place-nav/list-place-nav.component.js +16 -33
  123. package/esm2015/lib/place/components/list-place-nav/list-place-nav.component.js.map +1 -1
  124. package/esm2015/lib/place/components/place-outlet/place-outlet.component.js +52 -240
  125. package/esm2015/lib/place/components/place-outlet/place-outlet.component.js.map +1 -1
  126. package/esm2015/lib/place/components/place-outlet/route-animations.js +0 -12
  127. package/esm2015/lib/place/components/place-outlet/route-animations.js.map +1 -1
  128. package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js +12 -17
  129. package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js.map +1 -1
  130. package/esm2015/lib/place/guards/consolidated-param-map.js +9 -92
  131. package/esm2015/lib/place/guards/consolidated-param-map.js.map +1 -1
  132. package/esm2015/lib/place/guards/noop-auth-guard.service.js +12 -21
  133. package/esm2015/lib/place/guards/noop-auth-guard.service.js.map +1 -1
  134. package/esm2015/lib/place/guards/noop-auth-guard.service.metadata.json +1 -1
  135. package/esm2015/lib/place/guards/place.guard.js +10 -119
  136. package/esm2015/lib/place/guards/place.guard.js.map +1 -1
  137. package/esm2015/lib/place/index.js +38 -46
  138. package/esm2015/lib/place/index.js.map +1 -1
  139. package/esm2015/lib/place/nav-item.js +0 -22
  140. package/esm2015/lib/place/nav-item.js.map +1 -1
  141. package/esm2015/lib/place/navigation/place-component-deactivation-handler.js +3 -49
  142. package/esm2015/lib/place/navigation/place-component-deactivation-handler.js.map +1 -1
  143. package/esm2015/lib/place/navigation/session/abstract-pop-state-navigation.js +0 -23
  144. package/esm2015/lib/place/navigation/session/abstract-pop-state-navigation.js.map +1 -1
  145. package/esm2015/lib/place/navigation/session/event-cleanup/event-clean-up-session.js +0 -11
  146. package/esm2015/lib/place/navigation/session/event-cleanup/event-clean-up-session.js.map +1 -1
  147. package/esm2015/lib/place/navigation/session/event-cleanup/wait-until-leaving-interaction-transition-cancelled.js +2 -51
  148. package/esm2015/lib/place/navigation/session/event-cleanup/wait-until-leaving-interaction-transition-cancelled.js.map +1 -1
  149. package/esm2015/lib/place/navigation/session/event-cleanup/wait-until-link-triggered-interaction-cancelation-finishes.js +2 -54
  150. package/esm2015/lib/place/navigation/session/event-cleanup/wait-until-link-triggered-interaction-cancelation-finishes.js.map +1 -1
  151. package/esm2015/lib/place/navigation/session/event-cleanup/wait-until-popstate-during-can-deactivate-transition-finishes.js +2 -60
  152. package/esm2015/lib/place/navigation/session/event-cleanup/wait-until-popstate-during-can-deactivate-transition-finishes.js.map +1 -1
  153. package/esm2015/lib/place/navigation/session/interactions/navigating-during-interaction.js +0 -24
  154. package/esm2015/lib/place/navigation/session/interactions/navigating-during-interaction.js.map +1 -1
  155. package/esm2015/lib/place/navigation/session/interactions/pop-state-during-interaction-navigation.js +1 -19
  156. package/esm2015/lib/place/navigation/session/interactions/pop-state-during-interaction-navigation.js.map +1 -1
  157. package/esm2015/lib/place/navigation/session/interactions/remove-last-interaction-from-url-navigation-session.js +0 -55
  158. package/esm2015/lib/place/navigation/session/interactions/remove-last-interaction-from-url-navigation-session.js.map +1 -1
  159. package/esm2015/lib/place/navigation/session/interactions/synchronise-interaction-context-ids-with-route.js +4 -60
  160. package/esm2015/lib/place/navigation/session/interactions/synchronise-interaction-context-ids-with-route.js.map +1 -1
  161. package/esm2015/lib/place/navigation/session/navigating.js +0 -31
  162. package/esm2015/lib/place/navigation/session/navigating.js.map +1 -1
  163. package/esm2015/lib/place/navigation/session/navigation-context.js +0 -24
  164. package/esm2015/lib/place/navigation/session/navigation-context.js.map +1 -1
  165. package/esm2015/lib/place/navigation/session/navigation-session.js +12 -178
  166. package/esm2015/lib/place/navigation/session/navigation-session.js.map +1 -1
  167. package/esm2015/lib/place/navigation/session/pop-state-navigation.js +0 -16
  168. package/esm2015/lib/place/navigation/session/pop-state-navigation.js.map +1 -1
  169. package/esm2015/lib/place/place-component.js +22 -107
  170. package/esm2015/lib/place/place-component.js.map +1 -1
  171. package/esm2015/lib/place/place-component.metadata.json +1 -1
  172. package/esm2015/lib/place/place-config.js +0 -13
  173. package/esm2015/lib/place/place-config.js.map +1 -1
  174. package/esm2015/lib/place/place-definition.js +26 -163
  175. package/esm2015/lib/place/place-definition.js.map +1 -1
  176. package/esm2015/lib/place/place-history.js +11 -38
  177. package/esm2015/lib/place/place-history.js.map +1 -1
  178. package/esm2015/lib/place/place-history.metadata.json +1 -1
  179. package/esm2015/lib/place/place-router.js +38 -247
  180. package/esm2015/lib/place/place-router.js.map +1 -1
  181. package/esm2015/lib/place/place-router.metadata.json +1 -1
  182. package/esm2015/lib/place/place.decorator.js +3 -38
  183. package/esm2015/lib/place/place.decorator.js.map +1 -1
  184. package/esm2015/lib/place/place.module.js +40 -42
  185. package/esm2015/lib/place/place.module.js.map +1 -1
  186. package/esm2015/lib/place/place.module.metadata.json +1 -1
  187. package/esm2015/lib/place/place.module.ngfactory.js.map +1 -1
  188. package/esm2015/lib/place/route/formatter.js +0 -30
  189. package/esm2015/lib/place/route/formatter.js.map +1 -1
  190. package/esm2015/lib/place/route/json-types.js +0 -12
  191. package/esm2015/lib/place/route/json-types.js.map +1 -1
  192. package/esm2015/lib/place/route/parameter-decorators.js +14 -133
  193. package/esm2015/lib/place/route/parameter-decorators.js.map +1 -1
  194. package/esm2015/lib/place/route/parameter-definition.class.js +2 -147
  195. package/esm2015/lib/place/route/parameter-definition.class.js.map +1 -1
  196. package/esm2015/lib/place/route/parameter-sanitiser.js +0 -18
  197. package/esm2015/lib/place/route/parameter-sanitiser.js.map +1 -1
  198. package/esm2015/lib/place/route/parameter-snapshot.js +0 -19
  199. package/esm2015/lib/place/route/parameter-snapshot.js.map +1 -1
  200. package/esm2015/lib/place/route/visit-sanitiser.js +2 -47
  201. package/esm2015/lib/place/route/visit-sanitiser.js.map +1 -1
  202. package/esm2015/lib/place/url-service.js +13 -68
  203. package/esm2015/lib/place/url-service.js.map +1 -1
  204. package/esm2015/lib/place/url-service.metadata.json +1 -1
  205. package/esm2015/lib/place/url-snapshot.js +3 -86
  206. package/esm2015/lib/place/url-snapshot.js.map +1 -1
  207. package/esm2015/lib/place/visit.js +5 -73
  208. package/esm2015/lib/place/visit.js.map +1 -1
  209. package/esm2015/public_api.js +6 -10
  210. package/esm2015/public_api.js.map +1 -1
  211. package/esm5/coolon-angular-ui-powerups.js +26 -29
  212. package/esm5/coolon-angular-ui-powerups.js.map +1 -1
  213. package/esm5/index.js +1 -5
  214. package/esm5/index.js.map +1 -1
  215. package/esm5/lib/angular-ui-powerups.module.js +29 -30
  216. package/esm5/lib/angular-ui-powerups.module.js.map +1 -1
  217. package/esm5/lib/angular-ui-powerups.module.ngfactory.js.map +1 -1
  218. package/esm5/lib/animations/index.js +1 -5
  219. package/esm5/lib/animations/index.js.map +1 -1
  220. package/esm5/lib/animations/slide-animations.js +0 -8
  221. package/esm5/lib/animations/slide-animations.js.map +1 -1
  222. package/esm5/lib/components/components.module.js +37 -35
  223. package/esm5/lib/components/components.module.js.map +1 -1
  224. package/esm5/lib/components/components.module.ngfactory.js.map +1 -1
  225. package/esm5/lib/components/disposable-component.js +7 -13
  226. package/esm5/lib/components/disposable-component.js.map +1 -1
  227. package/esm5/lib/components/forms/abstract-input.component.js +95 -157
  228. package/esm5/lib/components/forms/abstract-input.component.js.map +1 -1
  229. package/esm5/lib/components/forms/number-input/number-input.component.js +11 -22
  230. package/esm5/lib/components/forms/number-input/number-input.component.js.map +1 -1
  231. package/esm5/lib/components/forms/password-input/password-input.component.js +11 -22
  232. package/esm5/lib/components/forms/password-input/password-input.component.js.map +1 -1
  233. package/esm5/lib/components/forms/select-input/select-input.component.js +38 -61
  234. package/esm5/lib/components/forms/select-input/select-input.component.js.map +1 -1
  235. package/esm5/lib/components/forms/string-input/string-input.component.js +19 -45
  236. package/esm5/lib/components/forms/string-input/string-input.component.js.map +1 -1
  237. package/esm5/lib/components/index.js +13 -16
  238. package/esm5/lib/components/index.js.map +1 -1
  239. package/esm5/lib/components/noop/noop.component.js +9 -13
  240. package/esm5/lib/components/noop/noop.component.js.map +1 -1
  241. package/esm5/lib/components/resize-aware.component.js +21 -80
  242. package/esm5/lib/components/resize-aware.component.js.map +1 -1
  243. package/esm5/lib/components/scroll-container/scroll-container.component.js +19 -0
  244. package/esm5/lib/components/scroll-container/scroll-container.component.js.map +1 -0
  245. package/esm5/lib/components/scroll-container/scroll-container.component.ngfactory.js.map +1 -0
  246. package/esm5/lib/components/scroll-container/scroll-container.component.scss.shim.ngstyle.js.map +1 -0
  247. package/esm5/lib/components/types/bounds.class.js +3 -30
  248. package/esm5/lib/components/types/bounds.class.js.map +1 -1
  249. package/esm5/lib/components/types/dimension.class.js +0 -10
  250. package/esm5/lib/components/types/dimension.class.js.map +1 -1
  251. package/esm5/lib/components/types/point.class.js +2 -30
  252. package/esm5/lib/components/types/point.class.js.map +1 -1
  253. package/esm5/lib/directives/command.directive.js +37 -103
  254. package/esm5/lib/directives/command.directive.js.map +1 -1
  255. package/esm5/lib/directives/directives.module.js +25 -26
  256. package/esm5/lib/directives/directives.module.js.map +1 -1
  257. package/esm5/lib/directives/directives.module.ngfactory.js.map +1 -1
  258. package/esm5/lib/directives/focus-binding.directive.js +50 -147
  259. package/esm5/lib/directives/focus-binding.directive.js.map +1 -1
  260. package/esm5/lib/directives/index.js +3 -7
  261. package/esm5/lib/directives/index.js.map +1 -1
  262. package/esm5/lib/interaction/abstract-interaction-context.js +7 -114
  263. package/esm5/lib/interaction/abstract-interaction-context.js.map +1 -1
  264. package/esm5/lib/interaction/activity-ref.js +12 -109
  265. package/esm5/lib/interaction/activity-ref.js.map +1 -1
  266. package/esm5/lib/interaction/activity.js +12 -121
  267. package/esm5/lib/interaction/activity.js.map +1 -1
  268. package/esm5/lib/interaction/alert.js +0 -22
  269. package/esm5/lib/interaction/alert.js.map +1 -1
  270. package/esm5/lib/interaction/components/activity-container/activity-container.component.js +64 -330
  271. package/esm5/lib/interaction/components/activity-container/activity-container.component.js.map +1 -1
  272. package/esm5/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.js +26 -79
  273. package/esm5/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.js.map +1 -1
  274. package/esm5/lib/interaction/components/alert-dialog/alert-dialog.component.js +12 -25
  275. package/esm5/lib/interaction/components/alert-dialog/alert-dialog.component.js.map +1 -1
  276. package/esm5/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.js +17 -72
  277. package/esm5/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.js.map +1 -1
  278. package/esm5/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js +13 -32
  279. package/esm5/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js.map +1 -1
  280. package/esm5/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.js +24 -117
  281. package/esm5/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.js.map +1 -1
  282. package/esm5/lib/interaction/confirm.js +0 -16
  283. package/esm5/lib/interaction/confirm.js.map +1 -1
  284. package/esm5/lib/interaction/index.js +15 -24
  285. package/esm5/lib/interaction/index.js.map +1 -1
  286. package/esm5/lib/interaction/interaction-context.js +0 -50
  287. package/esm5/lib/interaction/interaction-context.js.map +1 -1
  288. package/esm5/lib/interaction/interaction.module.js +38 -39
  289. package/esm5/lib/interaction/interaction.module.js.map +1 -1
  290. package/esm5/lib/interaction/interaction.module.ngfactory.js.map +1 -1
  291. package/esm5/lib/interaction/result.js +2 -23
  292. package/esm5/lib/interaction/result.js.map +1 -1
  293. package/esm5/lib/interaction/route-synchronisation-adapter.js +0 -16
  294. package/esm5/lib/interaction/route-synchronisation-adapter.js.map +1 -1
  295. package/esm5/lib/interaction/services/interaction-service-routing-adapter.js +6 -73
  296. package/esm5/lib/interaction/services/interaction-service-routing-adapter.js.map +1 -1
  297. package/esm5/lib/interaction/services/interaction.service.js +33 -290
  298. package/esm5/lib/interaction/services/interaction.service.js.map +1 -1
  299. package/esm5/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.js +16 -41
  300. package/esm5/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.js.map +1 -1
  301. package/esm5/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.js +14 -109
  302. package/esm5/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.js.map +1 -1
  303. package/esm5/lib/interaction/services/modal-interaction-context.factory.js +1 -23
  304. package/esm5/lib/interaction/services/modal-interaction-context.factory.js.map +1 -1
  305. package/esm5/lib/place/components/abstract-place-navigation.component.js +37 -115
  306. package/esm5/lib/place/components/abstract-place-navigation.component.js.map +1 -1
  307. package/esm5/lib/place/components/busy-overlay/busy-overlay.component.js +16 -37
  308. package/esm5/lib/place/components/busy-overlay/busy-overlay.component.js.map +1 -1
  309. package/esm5/lib/place/components/empty-state/empty-state.component.js +10 -20
  310. package/esm5/lib/place/components/empty-state/empty-state.component.js.map +1 -1
  311. package/esm5/lib/place/components/list-place-nav/list-place-nav.component.js +17 -42
  312. package/esm5/lib/place/components/list-place-nav/list-place-nav.component.js.map +1 -1
  313. package/esm5/lib/place/components/place-outlet/place-outlet.component.js +64 -314
  314. package/esm5/lib/place/components/place-outlet/place-outlet.component.js.map +1 -1
  315. package/esm5/lib/place/components/place-outlet/route-animations.js +0 -12
  316. package/esm5/lib/place/components/place-outlet/route-animations.js.map +1 -1
  317. package/esm5/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js +10 -14
  318. package/esm5/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js.map +1 -1
  319. package/esm5/lib/place/guards/consolidated-param-map.js +17 -117
  320. package/esm5/lib/place/guards/consolidated-param-map.js.map +1 -1
  321. package/esm5/lib/place/guards/noop-auth-guard.service.js +11 -26
  322. package/esm5/lib/place/guards/noop-auth-guard.service.js.map +1 -1
  323. package/esm5/lib/place/guards/place.guard.js +24 -172
  324. package/esm5/lib/place/guards/place.guard.js.map +1 -1
  325. package/esm5/lib/place/index.js +38 -46
  326. package/esm5/lib/place/index.js.map +1 -1
  327. package/esm5/lib/place/nav-item.js +0 -22
  328. package/esm5/lib/place/nav-item.js.map +1 -1
  329. package/esm5/lib/place/navigation/place-component-deactivation-handler.js +11 -86
  330. package/esm5/lib/place/navigation/place-component-deactivation-handler.js.map +1 -1
  331. package/esm5/lib/place/navigation/session/abstract-pop-state-navigation.js +4 -34
  332. package/esm5/lib/place/navigation/session/abstract-pop-state-navigation.js.map +1 -1
  333. package/esm5/lib/place/navigation/session/event-cleanup/event-clean-up-session.js +4 -25
  334. package/esm5/lib/place/navigation/session/event-cleanup/event-clean-up-session.js.map +1 -1
  335. package/esm5/lib/place/navigation/session/event-cleanup/wait-until-leaving-interaction-transition-cancelled.js +11 -110
  336. package/esm5/lib/place/navigation/session/event-cleanup/wait-until-leaving-interaction-transition-cancelled.js.map +1 -1
  337. package/esm5/lib/place/navigation/session/event-cleanup/wait-until-link-triggered-interaction-cancelation-finishes.js +12 -147
  338. package/esm5/lib/place/navigation/session/event-cleanup/wait-until-link-triggered-interaction-cancelation-finishes.js.map +1 -1
  339. package/esm5/lib/place/navigation/session/event-cleanup/wait-until-popstate-during-can-deactivate-transition-finishes.js +11 -126
  340. package/esm5/lib/place/navigation/session/event-cleanup/wait-until-popstate-during-can-deactivate-transition-finishes.js.map +1 -1
  341. package/esm5/lib/place/navigation/session/interactions/navigating-during-interaction.js +7 -71
  342. package/esm5/lib/place/navigation/session/interactions/navigating-during-interaction.js.map +1 -1
  343. package/esm5/lib/place/navigation/session/interactions/pop-state-during-interaction-navigation.js +6 -49
  344. package/esm5/lib/place/navigation/session/interactions/pop-state-during-interaction-navigation.js.map +1 -1
  345. package/esm5/lib/place/navigation/session/interactions/remove-last-interaction-from-url-navigation-session.js +11 -120
  346. package/esm5/lib/place/navigation/session/interactions/remove-last-interaction-from-url-navigation-session.js.map +1 -1
  347. package/esm5/lib/place/navigation/session/interactions/synchronise-interaction-context-ids-with-route.js +13 -106
  348. package/esm5/lib/place/navigation/session/interactions/synchronise-interaction-context-ids-with-route.js.map +1 -1
  349. package/esm5/lib/place/navigation/session/navigating.js +6 -53
  350. package/esm5/lib/place/navigation/session/navigating.js.map +1 -1
  351. package/esm5/lib/place/navigation/session/navigation-context.js +0 -17
  352. package/esm5/lib/place/navigation/session/navigation-context.js.map +1 -1
  353. package/esm5/lib/place/navigation/session/navigation-session.js +39 -306
  354. package/esm5/lib/place/navigation/session/navigation-session.js.map +1 -1
  355. package/esm5/lib/place/navigation/session/pop-state-navigation.js +5 -33
  356. package/esm5/lib/place/navigation/session/pop-state-navigation.js.map +1 -1
  357. package/esm5/lib/place/place-component.js +30 -142
  358. package/esm5/lib/place/place-component.js.map +1 -1
  359. package/esm5/lib/place/place-config.js +0 -13
  360. package/esm5/lib/place/place-config.js.map +1 -1
  361. package/esm5/lib/place/place-definition.js +37 -219
  362. package/esm5/lib/place/place-definition.js.map +1 -1
  363. package/esm5/lib/place/place-history.js +11 -56
  364. package/esm5/lib/place/place-history.js.map +1 -1
  365. package/esm5/lib/place/place-router.js +59 -372
  366. package/esm5/lib/place/place-router.js.map +1 -1
  367. package/esm5/lib/place/place.decorator.js +3 -38
  368. package/esm5/lib/place/place.decorator.js.map +1 -1
  369. package/esm5/lib/place/place.module.js +37 -40
  370. package/esm5/lib/place/place.module.js.map +1 -1
  371. package/esm5/lib/place/place.module.ngfactory.js.map +1 -1
  372. package/esm5/lib/place/route/formatter.js +6 -60
  373. package/esm5/lib/place/route/formatter.js.map +1 -1
  374. package/esm5/lib/place/route/json-types.js +0 -12
  375. package/esm5/lib/place/route/json-types.js.map +1 -1
  376. package/esm5/lib/place/route/parameter-decorators.js +14 -133
  377. package/esm5/lib/place/route/parameter-decorators.js.map +1 -1
  378. package/esm5/lib/place/route/parameter-definition.class.js +21 -222
  379. package/esm5/lib/place/route/parameter-definition.class.js.map +1 -1
  380. package/esm5/lib/place/route/parameter-sanitiser.js +0 -18
  381. package/esm5/lib/place/route/parameter-sanitiser.js.map +1 -1
  382. package/esm5/lib/place/route/parameter-snapshot.js +0 -19
  383. package/esm5/lib/place/route/parameter-snapshot.js.map +1 -1
  384. package/esm5/lib/place/route/visit-sanitiser.js +4 -42
  385. package/esm5/lib/place/route/visit-sanitiser.js.map +1 -1
  386. package/esm5/lib/place/url-service.js +20 -119
  387. package/esm5/lib/place/url-service.js.map +1 -1
  388. package/esm5/lib/place/url-snapshot.js +15 -143
  389. package/esm5/lib/place/url-snapshot.js.map +1 -1
  390. package/esm5/lib/place/visit.js +14 -132
  391. package/esm5/lib/place/visit.js.map +1 -1
  392. package/esm5/public_api.js +6 -10
  393. package/esm5/public_api.js.map +1 -1
  394. package/fesm2015/coolon-angular-ui-powerups.js +866 -4507
  395. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  396. package/fesm5/coolon-angular-ui-powerups.js +1136 -6252
  397. package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
  398. package/lib/components/forms/abstract-input.component.d.ts +9 -9
  399. package/lib/components/index.d.ts +1 -0
  400. package/lib/components/resize-aware.component.d.ts +3 -3
  401. package/lib/components/scroll-container/scroll-container.component.d.ts +5 -0
  402. package/lib/directives/command.directive.d.ts +4 -2
  403. package/lib/directives/focus-binding.directive.d.ts +1 -1
  404. package/lib/interaction/activity-ref.d.ts +2 -2
  405. package/lib/interaction/activity.d.ts +2 -2
  406. package/lib/interaction/components/activity-container/activity-container.component.d.ts +2 -2
  407. package/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.d.ts +3 -2
  408. package/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.d.ts +1 -1
  409. package/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.d.ts +1 -1
  410. package/lib/interaction/services/interaction.service.d.ts +1 -1
  411. package/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.d.ts +1 -1
  412. package/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.d.ts +1 -1
  413. package/lib/place/components/place-outlet/place-outlet.component.d.ts +4 -4
  414. package/lib/place/guards/consolidated-param-map.d.ts +1 -1
  415. package/lib/place/navigation/place-component-deactivation-handler.d.ts +2 -2
  416. package/lib/place/navigation/session/interactions/remove-last-interaction-from-url-navigation-session.d.ts +1 -1
  417. package/lib/place/navigation/session/navigation-session.d.ts +4 -4
  418. package/lib/place/place-component.d.ts +2 -2
  419. package/lib/place/place-router.d.ts +3 -3
  420. package/lib/place/route/formatter.d.ts +4 -3
  421. package/lib/place/route/parameter-definition.class.d.ts +2 -2
  422. package/package.json +10 -10
  423. package/schematics/place-routes/place-builder.js +4 -2
  424. package/schematics/place-routes/place-builder.js.map +1 -1
  425. package/schematics/place-routes/place-class-scanner.d.ts +3 -3
  426. package/schematics/place-routes/place-class-scanner.js +1 -1
  427. package/schematics/place-routes/place-class-scanner.js.map +1 -1
  428. package/schematics/place-routes/place-def.d.ts +9 -9
  429. /package/{styles → assets}/styles.scss +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"place-definition.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/place-definition.ts"],"names":[],"mappings":"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","sourcesContent":["import { ParamMap } from '@angular/router';\nimport { assert, Constructable, Trace } from '@coolon/pectin';\nimport { Opts } from '@coolon/typescript-utilities';\nimport { Memoize } from '@typescript-plus/fast-memoize-decorator/dist/src';\nimport _ from 'lodash';\nimport { PlaceComponent } from './place-component';\nimport { ParameterDefinition } from './route/parameter-definition.class';\nimport { Visit } from './visit';\n\nexport class PlaceDefinition {\n\n constructor(readonly component: Constructable<PlaceComponent>,\n readonly path: string,\n readonly authenticate: boolean,\n readonly data: { [key: string]: any },\n readonly routeParameters: ParameterDefinition<any>[],\n readonly children: PlaceDefinition[]) {\n }\n\n hasRouteId() {\n return !!this.getRouteIdParameterDef();\n }\n\n @Memoize()\n getRouteIdParameterDef(): ParameterDefinition<any> {\n return this.routeParameters.find(p => p.isRouteId);\n }\n\n @Memoize()\n getRouteParameterDefs(includeRouteId = false): ParameterDefinition<any>[] {\n return this.getVisitParameterDefs({ includeRouteId, includeRouteParameters: true });\n }\n\n @Memoize()\n getVisitParameterDefs(include?: PlaceDefinition.ParameterOptions): ParameterDefinition<any>[] {\n const opts = Opts.get(include);\n // includes\n const includeRouteId = !include || opts.getOptional('includeRouteId', false);\n const includeRouteParameters = !include || opts.getOptional('includeRouteParameters', false);\n const includeNonRouteParameters = !include || opts.getOptional('includeNonRouteParameters', false);\n return this.routeParameters.filter(p => {\n return (includeRouteId && p.isRouteId)\n || (includeRouteParameters && p.isRouteParameter && !p.isRouteId) // route id is included in the line above\n || (includeNonRouteParameters && !p.isRouteParameter);\n });\n }\n\n getPlaceData<T>(key: string, defaultValue?: T): T {\n return this.data ?\n _.isNil(this.data[key]) ? defaultValue : this.data[key] :\n defaultValue;\n }\n\n searchPlaceData<T>(keys: string[], defaultValue?: T): T {\n if (this.data) {\n const found = keys.find(key => !_.isNil(this.data[key]));\n return found ? this.data[found] : defaultValue;\n } else {\n return defaultValue;\n }\n }\n\n getRouteIdFrom(visit: Visit) {\n const routeIdParameterDef = this.getRouteIdParameterDef();\n return routeIdParameterDef ? visit.getParameter(routeIdParameterDef.name) : null;\n }\n\n getFormattedRouteId(visit: Visit): any {\n // Note: RouteIds are always present in the url and are just empty strings when not defined. This is\n // mandated by the fact that redirects from <path> to <path>/:id always include the id parameter as\n // an empty string.\n return visit.hasRouteId() ? this.getRouteIdParameterDef().urlFormat.format(visit.getRouteId()) : \"\";\n }\n\n // @Trace()\n getFormattedRouteParameters(visit: Visit, includeRouteId = false): { [p: string]: string } {\n const result: { [p: string]: string } = {};\n this.getVisitParameterDefs({\n includeRouteId, includeRouteParameters: true\n }).forEach(def => {\n const value = visit.getParameter(def.name);\n if (!def.isEmptyValue(value)) {\n if (def.isArray) {\n assert.isArray(value);\n result[def.name] = value.map(v => def.urlFormat.format(v));\n } else {\n assert.isFalsey(Array.isArray(value));\n result[def.name] = def.urlFormat.format(value);\n }\n }\n });\n return result;\n }\n\n getNonRouteParameters(visit: Visit): { [p: string]: string } {\n const result: { [p: string]: string } = {};\n this.getVisitParameterDefs({ includeNonRouteParameters: true }).forEach(def => {\n const value = visit.getParameter(def.name);\n if (!def.isEmptyValue(value)) {\n result[def.name] = value;\n }\n });\n return result;\n }\n\n // @Trace()\n parseRouteParams(params: ParamMap): { [p: string]: any } {\n const result: { [p: string]: any } = {};\n this.getVisitParameterDefs({\n includeRouteId: true,\n includeRouteParameters: true,\n includeNonRouteParameters: false\n }).forEach(def => {\n // params will return null for non existent names\n if (params.has(def.name)) {\n if (def.isArray) {\n // const values = params.getAll(def.name); // TODO: EEEK getAll is returning [\"1,2,3,4\"] when we gave it [\"1\",\"2\",\"3\",\"4\"].\n const values = params.get(def.name).split(',').map(s => s.trim());\n result[def.name] = values.map(v => def.urlFormat.parse(v));\n } else {\n const value = params.get(def.name);\n if (def.isRouteId) { // TODO: Move this to parameter def so it's a strategy pattern\n // because our id routes redirect if the id isn't present we always have a id\n // parameter in our params. This will bugger our remember and defaultvalue sanitisation\n // as it'll see that the id is present (event thought its a blank string).\n if (!_.isEmpty(value)) {\n result[def.name] = def.urlFormat.parse(value);\n }\n } else {\n result[def.name] = def.urlFormat.parse(value);\n }\n }\n }\n });\n return result;\n }\n\n}\n\nexport namespace PlaceDefinition {\n export interface ParameterOptions {\n includeRouteId?: boolean;\n includeRouteParameters?: boolean;\n includeNonRouteParameters?: boolean;\n }\n}\n"]}
1
+ {"version":3,"file":"place-definition.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/place-definition.ts"],"names":[],"mappings":"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","sourcesContent":["import { ParamMap } from '@angular/router';\nimport { assert, Constructable, Trace } from '@coolon/pectin';\nimport { Opts } from '@coolon/typescript-utilities';\nimport { Memoize } from '@typescript-plus/fast-memoize-decorator/dist/src';\nimport _ from 'lodash';\nimport { PlaceComponent } from './place-component';\nimport { ParameterDefinition } from './route/parameter-definition.class';\nimport { Visit } from './visit';\n\nexport class PlaceDefinition {\n\n constructor(readonly component: Constructable<PlaceComponent>,\n readonly path: string,\n readonly authenticate: boolean,\n readonly data: { [key: string]: any },\n readonly routeParameters: ParameterDefinition<any>[],\n readonly children: PlaceDefinition[]) {\n }\n\n hasRouteId() {\n return !!this.getRouteIdParameterDef();\n }\n\n @Memoize()\n getRouteIdParameterDef(): ParameterDefinition<any> {\n return this.routeParameters.find(p => p.isRouteId);\n }\n\n @Memoize()\n getRouteParameterDefs(includeRouteId = false): ParameterDefinition<any>[] {\n return this.getVisitParameterDefs({ includeRouteId, includeRouteParameters: true });\n }\n\n @Memoize()\n getVisitParameterDefs(include?: PlaceDefinition.ParameterOptions): ParameterDefinition<any>[] {\n const opts = Opts.get(include);\n // includes\n const includeRouteId = !include || opts.getOptional('includeRouteId', false);\n const includeRouteParameters = !include || opts.getOptional('includeRouteParameters', false);\n const includeNonRouteParameters = !include || opts.getOptional('includeNonRouteParameters', false);\n return this.routeParameters.filter(p => {\n return (includeRouteId && p.isRouteId)\n || (includeRouteParameters && p.isRouteParameter && !p.isRouteId) // route id is included in the line above\n || (includeNonRouteParameters && !p.isRouteParameter);\n });\n }\n\n getPlaceData<T>(key: string, defaultValue?: T): T {\n return this.data ?\n _.isNil(this.data[key]) ? defaultValue : this.data[key] :\n defaultValue;\n }\n\n searchPlaceData<T>(keys: string[], defaultValue?: T): T {\n if (this.data) {\n const found = keys.find(key => !_.isNil(this.data[key]));\n return found ? this.data[found] : defaultValue;\n } else {\n return defaultValue;\n }\n }\n\n getRouteIdFrom(visit: Visit) {\n const routeIdParameterDef = this.getRouteIdParameterDef();\n return routeIdParameterDef ? visit.getParameter(routeIdParameterDef.name) : null;\n }\n\n getFormattedRouteId(visit: Visit): any {\n // Note: RouteIds are always present in the url and are just empty strings when not defined. This is\n // mandated by the fact that redirects from <path> to <path>/:id always include the id parameter as\n // an empty string.\n return visit.hasRouteId() ? this.getRouteIdParameterDef().urlFormat.format(visit.getRouteId()) : \"\";\n }\n\n // @Trace()\n getFormattedRouteParameters(visit: Visit, includeRouteId = false): { [p: string]: string } {\n const result: { [p: string]: string } = {};\n this.getVisitParameterDefs({\n includeRouteId, includeRouteParameters: true\n }).forEach(def => {\n const value = visit.getParameter(def.name);\n if (!def.isEmptyValue(value)) {\n if (def.isArray) {\n assert.isArray(value);\n result[def.name] = value.map(v => def.urlFormat.format(v));\n } else {\n assert.isFalsey(Array.isArray(value));\n result[def.name] = def.urlFormat.format(value);\n }\n }\n });\n return result;\n }\n\n getNonRouteParameters(visit: Visit): { [p: string]: string } {\n const result: { [p: string]: string } = {};\n this.getVisitParameterDefs({ includeNonRouteParameters: true }).forEach(def => {\n const value = visit.getParameter(def.name);\n if (!def.isEmptyValue(value)) {\n result[def.name] = value;\n }\n });\n return result;\n }\n\n // @Trace()\n parseRouteParams(params: ParamMap): { [p: string]: any } {\n const result: { [p: string]: any } = {};\n this.getVisitParameterDefs({\n includeRouteId: true,\n includeRouteParameters: true,\n includeNonRouteParameters: false\n }).forEach(def => {\n // params will return null for non existent names\n if (params.has(def.name)) {\n if (def.isArray) {\n // const values = params.getAll(def.name); // TODO: EEEK getAll is returning [\"1,2,3,4\"] when we gave it [\"1\",\"2\",\"3\",\"4\"].\n const values = params.get(def.name).split(',').map(s => s.trim());\n result[def.name] = values.map(v => def.urlFormat.parse(v));\n } else {\n const value = params.get(def.name);\n if (def.isRouteId) { // TODO: Move this to parameter def so it's a strategy pattern\n // because our id routes redirect if the id isn't present we always have a id\n // parameter in our params. This will bugger our remember and defaultvalue sanitisation\n // as it'll see that the id is present (event thought its a blank string).\n if (!_.isEmpty(value)) {\n result[def.name] = def.urlFormat.parse(value);\n }\n } else {\n result[def.name] = def.urlFormat.parse(value);\n }\n }\n }\n });\n return result;\n }\n\n}\n\nexport namespace PlaceDefinition {\n export interface ParameterOptions {\n includeRouteId?: boolean;\n includeRouteParameters?: boolean;\n includeNonRouteParameters?: boolean;\n }\n}\n"]}
@@ -1,7 +1,4 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
1
+ import { __decorate, __metadata } from "tslib";
5
2
  import { Injectable } from '@angular/core';
6
3
  import _ from 'lodash';
7
4
  import * as i0 from "@angular/core";
@@ -10,37 +7,15 @@ var PlaceHistory = /** @class */ (function () {
10
7
  this._history = new Map();
11
8
  }
12
9
  // @Trace()
13
- // @Trace()
14
- /**
15
- * @param {?} state
16
- * @return {?}
17
- */
18
- PlaceHistory.prototype.add =
19
- // @Trace()
20
- /**
21
- * @param {?} state
22
- * @return {?}
23
- */
24
- function (state) {
25
- /** @type {?} */
10
+ PlaceHistory.prototype.add = function (state) {
26
11
  var history = this.getHistory(state.placeDefinition);
27
- /** @type {?} */
28
12
  var previousState = _.first(history);
29
13
  if (!previousState || state.hasChangedFrom(previousState)) {
30
14
  history.unshift(state); // LIFO
31
15
  this.setHistory(state.placeDefinition, history.slice(0, 3)); // limit our history to 4 visits
32
16
  }
33
17
  };
34
- /**
35
- * @param {?} placeDef
36
- * @return {?}
37
- */
38
- PlaceHistory.prototype.getHistory = /**
39
- * @param {?} placeDef
40
- * @return {?}
41
- */
42
- function (placeDef) {
43
- /** @type {?} */
18
+ PlaceHistory.prototype.getHistory = function (placeDef) {
44
19
  var history = this._history.get(placeDef);
45
20
  if (!history) {
46
21
  history = [];
@@ -48,37 +23,17 @@ var PlaceHistory = /** @class */ (function () {
48
23
  }
49
24
  return history;
50
25
  };
51
- /**
52
- * @private
53
- * @param {?} placeDef
54
- * @param {?} history
55
- * @return {?}
56
- */
57
- PlaceHistory.prototype.setHistory = /**
58
- * @private
59
- * @param {?} placeDef
60
- * @param {?} history
61
- * @return {?}
62
- */
63
- function (placeDef, history) {
26
+ PlaceHistory.prototype.setHistory = function (placeDef, history) {
64
27
  this._history.set(placeDef, history);
65
28
  };
66
- PlaceHistory.decorators = [
67
- { type: Injectable, args: [{
68
- providedIn: 'root'
69
- },] }
70
- ];
71
- /** @nocollapse */
72
- PlaceHistory.ctorParameters = function () { return []; };
73
- /** @nocollapse */ PlaceHistory.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function PlaceHistory_Factory() { return new PlaceHistory(); }, token: PlaceHistory, providedIn: "root" });
29
+ PlaceHistory.ɵprov = i0.ɵɵdefineInjectable({ factory: function PlaceHistory_Factory() { return new PlaceHistory(); }, token: PlaceHistory, providedIn: "root" });
30
+ PlaceHistory = __decorate([
31
+ Injectable({
32
+ providedIn: 'root'
33
+ }),
34
+ __metadata("design:paramtypes", [])
35
+ ], PlaceHistory);
74
36
  return PlaceHistory;
75
37
  }());
76
38
  export { PlaceHistory };
77
- if (false) {
78
- /**
79
- * @type {?}
80
- * @private
81
- */
82
- PlaceHistory.prototype._history;
83
- }
84
39
  //# sourceMappingURL=place-history.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"place-history.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/place-history.ts"],"names":[],"mappings":";;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C,OAAO,CAAC,MAAM,QAAQ,CAAC;;AAIvB;IAOE;QAFQ,aAAQ,GAAG,IAAI,GAAG,EAA4B,CAAC;IAGvD,CAAC;IAED,WAAW;;;;;;IACX,0BAAG;;;;;;IAAH,UAAI,KAAY;;YACR,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC;;YAChD,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;QACtC,IAAI,CAAC,aAAa,IAAI,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE;YACzD,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO;YAC/B,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,eAAe,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,gCAAgC;SAC9F;IACH,CAAC;;;;;IAED,iCAAU;;;;IAAV,UAAW,QAAyB;;YAC9B,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;QACzC,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;SACpC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;;;;;;;IAEO,iCAAU;;;;;;IAAlB,UAAmB,QAAyB,EAAE,OAAgB;QAC5D,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;;gBA/BF,UAAU,SAAC;oBACV,UAAU,EAAE,MAAM;iBACnB;;;;;uBATD;CAoDC,AA7CD,IA6CC;SA1CY,YAAY;;;;;;IAEvB,gCAAuD","sourcesContent":["import { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { Trace } from '@coolon/pectin';\nimport _ from 'lodash';\nimport { PlaceDefinition } from './place-definition';\nimport { Visit } from './visit';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PlaceHistory {\n\n private _history = new Map<PlaceDefinition, Visit[]>();\n\n constructor() {\n }\n\n // @Trace()\n add(state: Visit) {\n const history = this.getHistory(state.placeDefinition);\n const previousState = _.first(history);\n if (!previousState || state.hasChangedFrom(previousState)) {\n history.unshift(state); // LIFO\n this.setHistory(state.placeDefinition, history.slice(0, 3)); // limit our history to 4 visits\n }\n }\n\n getHistory(placeDef: PlaceDefinition): Visit[] {\n let history = this._history.get(placeDef);\n if (!history) {\n history = [];\n this.setHistory(placeDef, history);\n }\n return history;\n }\n\n private setHistory(placeDef: PlaceDefinition, history: Visit[]) {\n this._history.set(placeDef, history);\n }\n\n// previousVisit(): Visit {\n // return _.last(this._history);\n // }\n //\n // withPreviousVisit<R>(callback:(previousVisit:Visit)=>R, defaultValue:R = null):R{\n // const visit = this.previousVisit();\n // return visit ? callback(visit) : defaultValue;\n // }\n //\n // previousVisitTo(place: Place): Visit {\n // return new VisitHistory.Query(this._history).to(place).last();\n // }\n}\n\nexport namespace VisitHistory {\n\n // export class Query {\n // private _history: Visit.State[];\n // private _places: Place[];\n // private _predicate: (visit: any) => boolean;\n // private _limit: number;\n //\n // constructor(history, limit = history.length) {\n // this._history = history;\n // this._places = [];\n // this._predicate = (visit => true);\n // this._limit = limit;\n // }\n //\n // to(...places:Place[]):this {\n // this._places = places;\n // return this;\n // }\n //\n // with(parameters: { [parameter: string]: any }): this {\n // this.matching(state => {\n // return Object.keys(parameters).reduce((acc, key) => {\n // const matchValue = parameters[key];\n // const visitValue = state.get(key);\n // const matched = matchValue === '*' ? !_.isNil(visitValue) : visitValue == matchValue;\n // // Logger.get(this).info(`matched=${matched}`, parameters, visitValue);\n // return acc && matched;\n // }, true);\n // });\n // return this;\n // }\n //\n // last(): Visit.State {\n // return _.findLast(this._history, visit => this._matches(visit))\n // }\n //\n // // @trace\n // allThatMatch(): Visit.State[] {\n // return _.filter(this._history, visit => this._matches(visit)).slice(-this._limit);\n // }\n //\n // // @trace\n // mostRecentValueOf<T=any>(param: string, defaultValue: T = null): T {\n // const lastStateWithParam = _.findLast(this.allThatMatch(), state => !_.isNil(state.get(param)));\n // return _.isNil(lastStateWithParam) ? defaultValue : lastStateWithParam.get(param);\n // }\n //\n // limit(limit: number): this {\n // this._limit = limit;\n // return this;\n // }\n //\n // matching(predicate: (visit: Visit.State) => boolean): this {\n // this._predicate = predicate;\n // return this;\n // }\n //\n // _matches(visit: Visit.State) {\n // return this._isPlaceMatch(visit) && this._predicate(visit);\n // }\n //\n // _isPlaceMatch(visit: Visit.State) {\n // return this._places.length < 1 || this._places.includes(visit.place)\n // }\n //\n // }\n\n}\n"]}
1
+ {"version":3,"file":"place-history.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/place-history.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C,OAAO,CAAC,MAAM,QAAQ,CAAC;;AAOvB;IAIE;QAFQ,aAAQ,GAAG,IAAI,GAAG,EAA4B,CAAC;IAGvD,CAAC;IAED,WAAW;IACX,0BAAG,GAAH,UAAI,KAAY;QACd,IAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QACvD,IAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,aAAa,IAAI,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE;YACzD,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO;YAC/B,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,eAAe,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,gCAAgC;SAC9F;IACH,CAAC;IAED,iCAAU,GAAV,UAAW,QAAyB;QAClC,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;SACpC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,iCAAU,GAAlB,UAAmB,QAAyB,EAAE,OAAgB;QAC5D,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;;IA5BU,YAAY;QAHxB,UAAU,CAAC;YACV,UAAU,EAAE,MAAM;SACnB,CAAC;;OACW,YAAY,CA0CxB;uBApDD;CAoDC,AA1CD,IA0CC;SA1CY,YAAY","sourcesContent":["import { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { Trace } from '@coolon/pectin';\nimport _ from 'lodash';\nimport { PlaceDefinition } from './place-definition';\nimport { Visit } from './visit';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PlaceHistory {\n\n private _history = new Map<PlaceDefinition, Visit[]>();\n\n constructor() {\n }\n\n // @Trace()\n add(state: Visit) {\n const history = this.getHistory(state.placeDefinition);\n const previousState = _.first(history);\n if (!previousState || state.hasChangedFrom(previousState)) {\n history.unshift(state); // LIFO\n this.setHistory(state.placeDefinition, history.slice(0, 3)); // limit our history to 4 visits\n }\n }\n\n getHistory(placeDef: PlaceDefinition): Visit[] {\n let history = this._history.get(placeDef);\n if (!history) {\n history = [];\n this.setHistory(placeDef, history);\n }\n return history;\n }\n\n private setHistory(placeDef: PlaceDefinition, history: Visit[]) {\n this._history.set(placeDef, history);\n }\n\n// previousVisit(): Visit {\n // return _.last(this._history);\n // }\n //\n // withPreviousVisit<R>(callback:(previousVisit:Visit)=>R, defaultValue:R = null):R{\n // const visit = this.previousVisit();\n // return visit ? callback(visit) : defaultValue;\n // }\n //\n // previousVisitTo(place: Place): Visit {\n // return new VisitHistory.Query(this._history).to(place).last();\n // }\n}\n\nexport namespace VisitHistory {\n\n // export class Query {\n // private _history: Visit.State[];\n // private _places: Place[];\n // private _predicate: (visit: any) => boolean;\n // private _limit: number;\n //\n // constructor(history, limit = history.length) {\n // this._history = history;\n // this._places = [];\n // this._predicate = (visit => true);\n // this._limit = limit;\n // }\n //\n // to(...places:Place[]):this {\n // this._places = places;\n // return this;\n // }\n //\n // with(parameters: { [parameter: string]: any }): this {\n // this.matching(state => {\n // return Object.keys(parameters).reduce((acc, key) => {\n // const matchValue = parameters[key];\n // const visitValue = state.get(key);\n // const matched = matchValue === '*' ? !_.isNil(visitValue) : visitValue == matchValue;\n // // Logger.get(this).info(`matched=${matched}`, parameters, visitValue);\n // return acc && matched;\n // }, true);\n // });\n // return this;\n // }\n //\n // last(): Visit.State {\n // return _.findLast(this._history, visit => this._matches(visit))\n // }\n //\n // // @trace\n // allThatMatch(): Visit.State[] {\n // return _.filter(this._history, visit => this._matches(visit)).slice(-this._limit);\n // }\n //\n // // @trace\n // mostRecentValueOf<T=any>(param: string, defaultValue: T = null): T {\n // const lastStateWithParam = _.findLast(this.allThatMatch(), state => !_.isNil(state.get(param)));\n // return _.isNil(lastStateWithParam) ? defaultValue : lastStateWithParam.get(param);\n // }\n //\n // limit(limit: number): this {\n // this._limit = limit;\n // return this;\n // }\n //\n // matching(predicate: (visit: Visit.State) => boolean): this {\n // this._predicate = predicate;\n // return this;\n // }\n //\n // _matches(visit: Visit.State) {\n // return this._isPlaceMatch(visit) && this._predicate(visit);\n // }\n //\n // _isPlaceMatch(visit: Visit.State) {\n // return this._places.length < 1 || this._places.includes(visit.place)\n // }\n //\n // }\n\n}\n"]}