@coolon/angular-ui-powerups 2.0.0-alpha.9 → 2.0.0

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 (368) hide show
  1. package/CHANGELOG.md +200 -0
  2. package/assets/commands.scss +3 -0
  3. package/assets/icons.scss +30 -0
  4. package/assets/interaction.scss +5 -0
  5. package/assets/styles.scss +2 -0
  6. package/assets/tabs.scss +1 -1
  7. package/bundles/coolon-angular-ui-powerups.umd.js +1537 -277
  8. package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
  9. package/bundles/coolon-angular-ui-powerups.umd.min.js +2 -2
  10. package/bundles/coolon-angular-ui-powerups.umd.min.js.map +1 -1
  11. package/coolon-angular-ui-powerups.d.ts +46 -34
  12. package/coolon-angular-ui-powerups.metadata.json +1 -1
  13. package/esm2015/coolon-angular-ui-powerups.js +44 -32
  14. package/esm2015/coolon-angular-ui-powerups.js.map +1 -1
  15. package/esm2015/coolon-angular-ui-powerups.metadata.json +1 -1
  16. package/esm2015/lib/angular-ui-powerups.module.ngfactory.js.map +1 -1
  17. package/esm2015/lib/components/card-container/card-container.component.js +1 -1
  18. package/esm2015/lib/components/card-container/card-container.component.metadata.json +1 -1
  19. package/esm2015/lib/components/commands/command/command.component.js +61 -0
  20. package/esm2015/lib/components/commands/command/command.component.js.map +1 -0
  21. package/esm2015/lib/components/commands/command/command.component.metadata.json +1 -0
  22. package/esm2015/lib/components/commands/command/command.component.ngfactory.js.map +1 -0
  23. package/esm2015/lib/components/commands/command-face/command-face.component.js +92 -0
  24. package/esm2015/lib/components/commands/command-face/command-face.component.js.map +1 -0
  25. package/esm2015/lib/components/commands/command-face/command-face.component.metadata.json +1 -0
  26. package/esm2015/lib/components/commands/command-face/command-face.component.ngfactory.js.map +1 -0
  27. package/esm2015/lib/components/commands/command-face/command-face.component.scss.ngstyle.js.map +1 -0
  28. package/esm2015/lib/components/commands/command-face.js +112 -0
  29. package/esm2015/lib/components/commands/command-face.js.map +1 -0
  30. package/esm2015/lib/components/commands/command-face.metadata.json +1 -0
  31. package/esm2015/lib/components/commands/flex.component.js +30 -0
  32. package/esm2015/lib/components/commands/flex.component.js.map +1 -0
  33. package/esm2015/lib/components/commands/flex.component.metadata.json +1 -0
  34. package/esm2015/lib/components/commands/flex.component.ngfactory.js.map +1 -0
  35. package/esm2015/lib/components/commands/group/command-group/command-group.component.js +47 -0
  36. package/esm2015/lib/components/commands/group/command-group/command-group.component.js.map +1 -0
  37. package/esm2015/lib/components/commands/group/command-group/command-group.component.metadata.json +1 -0
  38. package/esm2015/lib/components/commands/group/command-group/command-group.component.ngfactory.js.map +1 -0
  39. package/esm2015/lib/components/commands/group/command-group-menu-renderer/command-group-menu-renderer.component.js +55 -0
  40. package/esm2015/lib/components/commands/group/command-group-menu-renderer/command-group-menu-renderer.component.js.map +1 -0
  41. package/esm2015/lib/components/commands/group/command-group-menu-renderer/command-group-menu-renderer.component.metadata.json +1 -0
  42. package/esm2015/lib/components/commands/group/command-group-menu-renderer/command-group-menu-renderer.component.ngfactory.js.map +1 -0
  43. package/esm2015/lib/components/commands/group/command-group-renderer/command-group-renderer.component.js +39 -0
  44. package/esm2015/lib/components/commands/group/command-group-renderer/command-group-renderer.component.js.map +1 -0
  45. package/esm2015/lib/components/commands/group/command-group-renderer/command-group-renderer.component.metadata.json +1 -0
  46. package/esm2015/lib/components/commands/group/command-group-renderer/command-group-renderer.component.ngfactory.js.map +1 -0
  47. package/esm2015/lib/components/commands/group/command-group-renderer/command-group-renderer.component.scss.shim.ngstyle.js.map +1 -0
  48. package/esm2015/lib/components/commands/group/command-group.js +100 -0
  49. package/esm2015/lib/components/commands/group/command-group.js.map +1 -0
  50. package/esm2015/lib/components/commands/group/command-group.metadata.json +1 -0
  51. package/esm2015/lib/components/commands/group/more-menu.component.js +55 -0
  52. package/esm2015/lib/components/commands/group/more-menu.component.js.map +1 -0
  53. package/esm2015/lib/components/commands/group/more-menu.component.metadata.json +1 -0
  54. package/esm2015/lib/components/commands/group/more-menu.component.ngfactory.js.map +1 -0
  55. package/esm2015/lib/components/commands/group/popup-menu.component.js +65 -0
  56. package/esm2015/lib/components/commands/group/popup-menu.component.js.map +1 -0
  57. package/esm2015/lib/components/commands/group/popup-menu.component.metadata.json +1 -0
  58. package/esm2015/lib/components/commands/group/popup-menu.component.ngfactory.js.map +1 -0
  59. package/esm2015/lib/components/commands/group/registration.js +58 -0
  60. package/esm2015/lib/components/commands/group/registration.js.map +1 -0
  61. package/esm2015/lib/components/commands/group/registration.metadata.json +1 -0
  62. package/esm2015/lib/components/commands/group/tool-bar/tool-bar.component.js +55 -0
  63. package/esm2015/lib/components/commands/group/tool-bar/tool-bar.component.js.map +1 -0
  64. package/esm2015/lib/components/commands/group/tool-bar/tool-bar.component.metadata.json +1 -0
  65. package/esm2015/lib/components/commands/group/tool-bar/tool-bar.component.ngfactory.js.map +1 -0
  66. package/esm2015/lib/components/commands/group/tool-bar/tool-bar.component.scss.shim.ngstyle.js.map +1 -0
  67. package/esm2015/lib/components/commands/group/view-data.js +104 -0
  68. package/esm2015/lib/components/commands/group/view-data.js.map +1 -0
  69. package/esm2015/lib/components/commands/group/view-data.metadata.json +1 -0
  70. package/esm2015/lib/components/commands/separator.component.js +35 -0
  71. package/esm2015/lib/components/commands/separator.component.js.map +1 -0
  72. package/esm2015/lib/components/commands/separator.component.metadata.json +1 -0
  73. package/esm2015/lib/components/commands/separator.component.ngfactory.js.map +1 -0
  74. package/esm2015/lib/components/components.module.js +38 -15
  75. package/esm2015/lib/components/components.module.js.map +1 -1
  76. package/esm2015/lib/components/components.module.metadata.json +1 -1
  77. package/esm2015/lib/components/components.module.ngfactory.js.map +1 -1
  78. package/esm2015/lib/components/forms/abstract-input.component.js +12 -4
  79. package/esm2015/lib/components/forms/abstract-input.component.js.map +1 -1
  80. package/esm2015/lib/components/forms/abstract-input.component.metadata.json +1 -1
  81. package/esm2015/lib/components/forms/abstract-list-input.component.js +27 -14
  82. package/esm2015/lib/components/forms/abstract-list-input.component.js.map +1 -1
  83. package/esm2015/lib/components/forms/abstract-list-input.component.metadata.json +1 -1
  84. package/esm2015/lib/components/forms/abstract-value-input.component.js +23 -13
  85. package/esm2015/lib/components/forms/abstract-value-input.component.js.map +1 -1
  86. package/esm2015/lib/components/forms/abstract-value-input.component.metadata.json +1 -1
  87. package/esm2015/lib/components/forms/autocomplete-input/autocomplete-input.component.js +7 -1
  88. package/esm2015/lib/components/forms/autocomplete-input/autocomplete-input.component.js.map +1 -1
  89. package/esm2015/lib/components/forms/autocomplete-input/autocomplete-input.component.metadata.json +1 -1
  90. package/esm2015/lib/components/forms/checkbox-input/checkbox-input.component.js +1 -1
  91. package/esm2015/lib/components/forms/checkbox-input/checkbox-input.component.js.map +1 -1
  92. package/esm2015/lib/components/forms/checkbox-input/checkbox-input.component.metadata.json +1 -1
  93. package/esm2015/lib/components/forms/multiple-select-input/multiple-select-input.component.js +2 -10
  94. package/esm2015/lib/components/forms/multiple-select-input/multiple-select-input.component.js.map +1 -1
  95. package/esm2015/lib/components/forms/multiple-select-input/multiple-select-input.component.metadata.json +1 -1
  96. package/esm2015/lib/components/forms/number-input/number-input.component.js +1 -1
  97. package/esm2015/lib/components/forms/number-input/number-input.component.js.map +1 -1
  98. package/esm2015/lib/components/forms/number-input/number-input.component.metadata.json +1 -1
  99. package/esm2015/lib/components/forms/password-input/password-input.component.js +1 -1
  100. package/esm2015/lib/components/forms/password-input/password-input.component.js.map +1 -1
  101. package/esm2015/lib/components/forms/password-input/password-input.component.metadata.json +1 -1
  102. package/esm2015/lib/components/forms/select-input/select-input.component.js +2 -2
  103. package/esm2015/lib/components/forms/select-input/select-input.component.js.map +1 -1
  104. package/esm2015/lib/components/forms/select-input/select-input.component.metadata.json +1 -1
  105. package/esm2015/lib/components/forms/string-input/string-input.component.js +3 -3
  106. package/esm2015/lib/components/forms/string-input/string-input.component.js.map +1 -1
  107. package/esm2015/lib/components/forms/string-input/string-input.component.metadata.json +1 -1
  108. package/esm2015/lib/components/forms/text-input/text-input.component.js +1 -1
  109. package/esm2015/lib/components/forms/text-input/text-input.component.js.map +1 -1
  110. package/esm2015/lib/components/forms/text-input/text-input.component.metadata.json +1 -1
  111. package/esm2015/lib/components/icon/icon.component.js +17 -4
  112. package/esm2015/lib/components/icon/icon.component.js.map +1 -1
  113. package/esm2015/lib/components/icon/icon.component.metadata.json +1 -1
  114. package/esm2015/lib/components/index.js +16 -0
  115. package/esm2015/lib/components/index.js.map +1 -1
  116. package/esm2015/lib/components/index.metadata.json +1 -1
  117. package/esm2015/lib/components/table/column-model.js +44 -2
  118. package/esm2015/lib/components/table/column-model.js.map +1 -1
  119. package/esm2015/lib/components/table/column-model.metadata.json +1 -1
  120. package/esm2015/lib/components/table/mutable-cell-renderer.js +1 -0
  121. package/esm2015/lib/components/table/mutable-cell-renderer.js.map +1 -0
  122. package/esm2015/lib/components/table/mutable-cell-renderer.metadata.json +1 -0
  123. package/esm2015/lib/components/table/table-model.js +10 -7
  124. package/esm2015/lib/components/table/table-model.js.map +1 -1
  125. package/esm2015/lib/components/table/table-model.metadata.json +1 -1
  126. package/esm2015/lib/components/table/table-row-menu/table-row-menu.component.js +73 -0
  127. package/esm2015/lib/components/table/table-row-menu/table-row-menu.component.js.map +1 -0
  128. package/esm2015/lib/components/table/table-row-menu/table-row-menu.component.metadata.json +1 -0
  129. package/esm2015/lib/components/table/table-row-menu/table-row-menu.component.ngfactory.js.map +1 -0
  130. package/esm2015/lib/components/table/table.component.js +1 -1
  131. package/esm2015/lib/components/table/table.component.js.map +1 -1
  132. package/esm2015/lib/components/table/table.component.metadata.json +1 -1
  133. package/esm2015/lib/components/track-by.js +5 -0
  134. package/esm2015/lib/components/track-by.js.map +1 -0
  135. package/esm2015/lib/interaction/activity-ref.js +10 -2
  136. package/esm2015/lib/interaction/activity-ref.js.map +1 -1
  137. package/esm2015/lib/interaction/activity-ref.metadata.json +1 -1
  138. package/esm2015/lib/interaction/activity.js +18 -1
  139. package/esm2015/lib/interaction/activity.js.map +1 -1
  140. package/esm2015/lib/interaction/activity.metadata.json +1 -1
  141. package/esm2015/lib/interaction/components/activity-actions/activity-actions.component.js +1 -1
  142. package/esm2015/lib/interaction/components/activity-actions/activity-actions.component.metadata.json +1 -1
  143. package/esm2015/lib/interaction/components/activity-container/activity-container.component.js +24 -17
  144. package/esm2015/lib/interaction/components/activity-container/activity-container.component.js.map +1 -1
  145. package/esm2015/lib/interaction/components/activity-container/activity-container.component.metadata.json +1 -1
  146. package/esm2015/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.js +1 -1
  147. package/esm2015/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.js.map +1 -1
  148. package/esm2015/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.metadata.json +1 -1
  149. package/esm2015/lib/interaction/interaction.module.ngfactory.js.map +1 -1
  150. package/esm2015/lib/place/components/abstract-place-navigation.component.js +4 -3
  151. package/esm2015/lib/place/components/abstract-place-navigation.component.js.map +1 -1
  152. package/esm2015/lib/place/components/abstract-place-navigation.component.metadata.json +1 -1
  153. package/esm2015/lib/place/components/list-place-nav/list-place-nav.component.js +1 -1
  154. package/esm2015/lib/place/components/list-place-nav/list-place-nav.component.js.map +1 -1
  155. package/esm2015/lib/place/components/list-place-nav/list-place-nav.component.metadata.json +1 -1
  156. package/esm2015/lib/place/components/place-outlet/place-outlet.component.js +56 -16
  157. package/esm2015/lib/place/components/place-outlet/place-outlet.component.js.map +1 -1
  158. package/esm2015/lib/place/components/place-outlet/place-outlet.component.metadata.json +1 -1
  159. package/esm2015/lib/place/components/side-place-navigation/side-place-navigation.component.js +2 -2
  160. package/esm2015/lib/place/components/side-place-navigation/side-place-navigation.component.js.map +1 -1
  161. package/esm2015/lib/place/components/side-place-navigation/side-place-navigation.component.metadata.json +1 -1
  162. package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js +1 -1
  163. package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js.map +1 -1
  164. package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.metadata.json +1 -1
  165. package/esm2015/lib/place/place-component.js +13 -1
  166. package/esm2015/lib/place/place-component.js.map +1 -1
  167. package/esm2015/lib/place/place-component.metadata.json +1 -1
  168. package/esm2015/lib/place/place-router.js +2 -8
  169. package/esm2015/lib/place/place-router.js.map +1 -1
  170. package/esm2015/lib/place/place-router.metadata.json +1 -1
  171. package/esm2015/lib/place/place.module.js +3 -3
  172. package/esm2015/lib/place/place.module.js.map +1 -1
  173. package/esm2015/lib/place/place.module.metadata.json +1 -1
  174. package/esm2015/lib/place/place.module.ngfactory.js.map +1 -1
  175. package/esm2015/lib/place/route/parameter-decorators.js +2 -3
  176. package/esm2015/lib/place/route/parameter-decorators.js.map +1 -1
  177. package/esm2015/lib/place/route/parameter-decorators.metadata.json +1 -1
  178. package/esm5/coolon-angular-ui-powerups.js +44 -32
  179. package/esm5/coolon-angular-ui-powerups.js.map +1 -1
  180. package/esm5/lib/angular-ui-powerups.module.ngfactory.js.map +1 -1
  181. package/esm5/lib/components/card-container/card-container.component.js +1 -1
  182. package/esm5/lib/components/commands/command/command.component.js +64 -0
  183. package/esm5/lib/components/commands/command/command.component.js.map +1 -0
  184. package/esm5/lib/components/commands/command/command.component.ngfactory.js.map +1 -0
  185. package/esm5/lib/components/commands/command-face/command-face.component.js +123 -0
  186. package/esm5/lib/components/commands/command-face/command-face.component.js.map +1 -0
  187. package/esm5/lib/components/commands/command-face/command-face.component.ngfactory.js.map +1 -0
  188. package/esm5/lib/components/commands/command-face/command-face.component.scss.ngstyle.js.map +1 -0
  189. package/esm5/lib/components/commands/command-face.js +145 -0
  190. package/esm5/lib/components/commands/command-face.js.map +1 -0
  191. package/esm5/lib/components/commands/flex.component.js +33 -0
  192. package/esm5/lib/components/commands/flex.component.js.map +1 -0
  193. package/esm5/lib/components/commands/flex.component.ngfactory.js.map +1 -0
  194. package/esm5/lib/components/commands/group/command-group/command-group.component.js +51 -0
  195. package/esm5/lib/components/commands/group/command-group/command-group.component.js.map +1 -0
  196. package/esm5/lib/components/commands/group/command-group/command-group.component.ngfactory.js.map +1 -0
  197. package/esm5/lib/components/commands/group/command-group-menu-renderer/command-group-menu-renderer.component.js +59 -0
  198. package/esm5/lib/components/commands/group/command-group-menu-renderer/command-group-menu-renderer.component.js.map +1 -0
  199. package/esm5/lib/components/commands/group/command-group-menu-renderer/command-group-menu-renderer.component.ngfactory.js.map +1 -0
  200. package/esm5/lib/components/commands/group/command-group-renderer/command-group-renderer.component.js +42 -0
  201. package/esm5/lib/components/commands/group/command-group-renderer/command-group-renderer.component.js.map +1 -0
  202. package/esm5/lib/components/commands/group/command-group-renderer/command-group-renderer.component.ngfactory.js.map +1 -0
  203. package/esm5/lib/components/commands/group/command-group-renderer/command-group-renderer.component.scss.shim.ngstyle.js.map +1 -0
  204. package/esm5/lib/components/commands/group/command-group.js +122 -0
  205. package/esm5/lib/components/commands/group/command-group.js.map +1 -0
  206. package/esm5/lib/components/commands/group/more-menu.component.js +58 -0
  207. package/esm5/lib/components/commands/group/more-menu.component.js.map +1 -0
  208. package/esm5/lib/components/commands/group/more-menu.component.ngfactory.js.map +1 -0
  209. package/esm5/lib/components/commands/group/popup-menu.component.js +68 -0
  210. package/esm5/lib/components/commands/group/popup-menu.component.js.map +1 -0
  211. package/esm5/lib/components/commands/group/popup-menu.component.ngfactory.js.map +1 -0
  212. package/esm5/lib/components/commands/group/registration.js +80 -0
  213. package/esm5/lib/components/commands/group/registration.js.map +1 -0
  214. package/esm5/lib/components/commands/group/tool-bar/tool-bar.component.js +58 -0
  215. package/esm5/lib/components/commands/group/tool-bar/tool-bar.component.js.map +1 -0
  216. package/esm5/lib/components/commands/group/tool-bar/tool-bar.component.ngfactory.js.map +1 -0
  217. package/esm5/lib/components/commands/group/tool-bar/tool-bar.component.scss.shim.ngstyle.js.map +1 -0
  218. package/esm5/lib/components/commands/group/view-data.js +131 -0
  219. package/esm5/lib/components/commands/group/view-data.js.map +1 -0
  220. package/esm5/lib/components/commands/separator.component.js +37 -0
  221. package/esm5/lib/components/commands/separator.component.js.map +1 -0
  222. package/esm5/lib/components/commands/separator.component.ngfactory.js.map +1 -0
  223. package/esm5/lib/components/components.module.js +38 -15
  224. package/esm5/lib/components/components.module.js.map +1 -1
  225. package/esm5/lib/components/components.module.ngfactory.js.map +1 -1
  226. package/esm5/lib/components/forms/abstract-input.component.js +12 -4
  227. package/esm5/lib/components/forms/abstract-input.component.js.map +1 -1
  228. package/esm5/lib/components/forms/abstract-list-input.component.js +27 -14
  229. package/esm5/lib/components/forms/abstract-list-input.component.js.map +1 -1
  230. package/esm5/lib/components/forms/abstract-value-input.component.js +23 -13
  231. package/esm5/lib/components/forms/abstract-value-input.component.js.map +1 -1
  232. package/esm5/lib/components/forms/autocomplete-input/autocomplete-input.component.js +7 -1
  233. package/esm5/lib/components/forms/autocomplete-input/autocomplete-input.component.js.map +1 -1
  234. package/esm5/lib/components/forms/checkbox-input/checkbox-input.component.js +1 -1
  235. package/esm5/lib/components/forms/checkbox-input/checkbox-input.component.js.map +1 -1
  236. package/esm5/lib/components/forms/multiple-select-input/multiple-select-input.component.js +2 -10
  237. package/esm5/lib/components/forms/multiple-select-input/multiple-select-input.component.js.map +1 -1
  238. package/esm5/lib/components/forms/number-input/number-input.component.js +1 -1
  239. package/esm5/lib/components/forms/number-input/number-input.component.js.map +1 -1
  240. package/esm5/lib/components/forms/password-input/password-input.component.js +1 -1
  241. package/esm5/lib/components/forms/password-input/password-input.component.js.map +1 -1
  242. package/esm5/lib/components/forms/select-input/select-input.component.js +2 -2
  243. package/esm5/lib/components/forms/select-input/select-input.component.js.map +1 -1
  244. package/esm5/lib/components/forms/string-input/string-input.component.js +3 -3
  245. package/esm5/lib/components/forms/string-input/string-input.component.js.map +1 -1
  246. package/esm5/lib/components/forms/text-input/text-input.component.js +1 -1
  247. package/esm5/lib/components/forms/text-input/text-input.component.js.map +1 -1
  248. package/esm5/lib/components/icon/icon.component.js +15 -3
  249. package/esm5/lib/components/icon/icon.component.js.map +1 -1
  250. package/esm5/lib/components/index.js +16 -0
  251. package/esm5/lib/components/index.js.map +1 -1
  252. package/esm5/lib/components/table/column-model.js +45 -2
  253. package/esm5/lib/components/table/column-model.js.map +1 -1
  254. package/esm5/lib/components/table/mutable-cell-renderer.js +1 -0
  255. package/esm5/lib/components/table/mutable-cell-renderer.js.map +1 -0
  256. package/esm5/lib/components/table/table-model.js +10 -8
  257. package/esm5/lib/components/table/table-model.js.map +1 -1
  258. package/esm5/lib/components/table/table-row-menu/table-row-menu.component.js +63 -0
  259. package/esm5/lib/components/table/table-row-menu/table-row-menu.component.js.map +1 -0
  260. package/esm5/lib/components/table/table-row-menu/table-row-menu.component.ngfactory.js.map +1 -0
  261. package/esm5/lib/components/table/table.component.js +1 -1
  262. package/esm5/lib/components/table/table.component.js.map +1 -1
  263. package/esm5/lib/components/track-by.js +5 -0
  264. package/esm5/lib/components/track-by.js.map +1 -0
  265. package/esm5/lib/interaction/activity-ref.js +14 -2
  266. package/esm5/lib/interaction/activity-ref.js.map +1 -1
  267. package/esm5/lib/interaction/activity.js +27 -1
  268. package/esm5/lib/interaction/activity.js.map +1 -1
  269. package/esm5/lib/interaction/components/activity-actions/activity-actions.component.js +1 -1
  270. package/esm5/lib/interaction/components/activity-container/activity-container.component.js +24 -17
  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 +1 -1
  273. package/esm5/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.js.map +1 -1
  274. package/esm5/lib/interaction/interaction.module.ngfactory.js.map +1 -1
  275. package/esm5/lib/place/components/abstract-place-navigation.component.js +4 -3
  276. package/esm5/lib/place/components/abstract-place-navigation.component.js.map +1 -1
  277. package/esm5/lib/place/components/list-place-nav/list-place-nav.component.js +1 -1
  278. package/esm5/lib/place/components/list-place-nav/list-place-nav.component.js.map +1 -1
  279. package/esm5/lib/place/components/place-outlet/place-outlet.component.js +56 -16
  280. package/esm5/lib/place/components/place-outlet/place-outlet.component.js.map +1 -1
  281. package/esm5/lib/place/components/side-place-navigation/side-place-navigation.component.js +2 -2
  282. package/esm5/lib/place/components/side-place-navigation/side-place-navigation.component.js.map +1 -1
  283. package/esm5/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js +1 -1
  284. package/esm5/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js.map +1 -1
  285. package/esm5/lib/place/place-component.js +17 -1
  286. package/esm5/lib/place/place-component.js.map +1 -1
  287. package/esm5/lib/place/place-router.js +2 -8
  288. package/esm5/lib/place/place-router.js.map +1 -1
  289. package/esm5/lib/place/place.module.js +3 -3
  290. package/esm5/lib/place/place.module.js.map +1 -1
  291. package/esm5/lib/place/place.module.ngfactory.js.map +1 -1
  292. package/esm5/lib/place/route/parameter-decorators.js +2 -3
  293. package/esm5/lib/place/route/parameter-decorators.js.map +1 -1
  294. package/fesm2015/coolon-angular-ui-powerups.js +1290 -214
  295. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  296. package/fesm5/coolon-angular-ui-powerups.js +1468 -227
  297. package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
  298. package/lib/components/commands/command/command.component.d.ts +22 -0
  299. package/lib/components/commands/command-face/command-face.component.d.ts +34 -0
  300. package/lib/components/commands/command-face.d.ts +40 -0
  301. package/lib/components/commands/flex.component.d.ts +11 -0
  302. package/lib/components/commands/group/command-group/command-group.component.d.ts +11 -0
  303. package/lib/components/commands/group/command-group-menu-renderer/command-group-menu-renderer.component.d.ts +21 -0
  304. package/lib/components/commands/group/command-group-renderer/command-group-renderer.component.d.ts +13 -0
  305. package/lib/components/commands/group/command-group.d.ts +41 -0
  306. package/lib/components/commands/group/more-menu.component.d.ts +14 -0
  307. package/lib/components/commands/group/popup-menu.component.d.ts +17 -0
  308. package/lib/components/commands/group/registration.d.ts +32 -0
  309. package/lib/components/commands/group/tool-bar/tool-bar.component.d.ts +13 -0
  310. package/lib/components/commands/group/view-data.d.ts +40 -0
  311. package/lib/components/commands/separator.component.d.ts +12 -0
  312. package/lib/components/forms/abstract-input.component.d.ts +8 -2
  313. package/lib/components/forms/abstract-list-input.component.d.ts +4 -3
  314. package/lib/components/forms/abstract-value-input.component.d.ts +4 -3
  315. package/lib/components/forms/autocomplete-input/autocomplete-input.component.d.ts +3 -0
  316. package/lib/components/forms/multiple-select-input/multiple-select-input.component.d.ts +1 -3
  317. package/lib/components/forms/select-input/select-input.component.d.ts +1 -1
  318. package/lib/components/icon/icon.component.d.ts +15 -0
  319. package/lib/components/index.d.ts +17 -0
  320. package/lib/components/table/column-model.d.ts +15 -17
  321. package/lib/components/table/mutable-cell-renderer.d.ts +6 -0
  322. package/lib/components/table/table-model.d.ts +7 -3
  323. package/lib/components/table/table-row-menu/table-row-menu.component.d.ts +26 -0
  324. package/lib/components/track-by.d.ts +3 -0
  325. package/lib/interaction/activity-ref.d.ts +3 -0
  326. package/lib/interaction/activity.d.ts +6 -2
  327. package/lib/interaction/components/activity-container/activity-container.component.d.ts +4 -2
  328. package/lib/place/components/abstract-place-navigation.component.d.ts +2 -2
  329. package/lib/place/components/place-outlet/place-outlet.component.d.ts +8 -2
  330. package/lib/place/components/side-place-navigation/side-place-navigation.component.d.ts +1 -1
  331. package/lib/place/place-component.d.ts +6 -0
  332. package/package.json +7 -5
  333. package/schematics/bootstrap-app/index.d.ts +3 -0
  334. package/schematics/bootstrap-app/index.js +81 -0
  335. package/schematics/bootstrap-app/index.js.map +1 -0
  336. package/schematics/bootstrap-app/schema.d.ts +3 -0
  337. package/schematics/bootstrap-app/schema.js +3 -0
  338. package/schematics/bootstrap-app/schema.js.map +1 -0
  339. package/schematics/bootstrap-app/schema.json +19 -0
  340. package/schematics/bootstrap-app/templates/app/app-routing.module.ts +19 -0
  341. package/schematics/bootstrap-app/templates/app/auth/auth.guard.spec.ts +15 -0
  342. package/schematics/bootstrap-app/templates/app/auth/auth.guard.ts +23 -0
  343. package/schematics/bootstrap-app/templates/app/auth/auth.module.ts +13 -0
  344. package/schematics/bootstrap-app/templates/app/auth/auth.service.ts +13 -0
  345. package/schematics/bootstrap-app/templates/app/i18n.ts +9 -0
  346. package/schematics/bootstrap-app/templates/app/places/home/home.component.html +1 -0
  347. package/schematics/bootstrap-app/templates/app/places/home/home.component.scss +4 -0
  348. package/schematics/bootstrap-app/templates/app/places/home/home.component.spec.ts +25 -0
  349. package/schematics/bootstrap-app/templates/app/places/home/home.component.ts +25 -0
  350. package/schematics/bootstrap-app/templates/app/places/place-routes.ts +3 -0
  351. package/schematics/bootstrap-app/templates/app/places/places.json5 +3 -0
  352. package/schematics/bootstrap-app/templates/i18n/config.json +9 -0
  353. package/schematics/bootstrap-app/templates/i18n/notifications.yml +19 -0
  354. package/schematics/bootstrap-app/templates/i18n/places/home.yml +6 -0
  355. package/schematics/collection.json +10 -1
  356. package/schematics/ng-add/index.d.ts +1 -0
  357. package/schematics/ng-add/index.js +27 -4
  358. package/schematics/ng-add/index.js.map +1 -1
  359. package/schematics/package-util.d.ts +13 -0
  360. package/schematics/package-util.js +60 -0
  361. package/schematics/package-util.js.map +1 -0
  362. package/schematics/place-add/index.d.ts +3 -0
  363. package/schematics/place-add/index.js +26 -0
  364. package/schematics/place-add/index.js.map +1 -0
  365. package/schematics/place-add/schema.d.ts +2 -0
  366. package/schematics/place-add/schema.js +3 -0
  367. package/schematics/place-add/schema.js.map +1 -0
  368. package/schematics/place-add/schema.json +8 -0
@@ -0,0 +1,26 @@
1
+ import { OnInit } from '@angular/core';
2
+ import { MatMenuTrigger } from '@angular/material/menu';
3
+ import { Command } from '@coolon/pectin';
4
+ import { CommandFace } from '../../commands/command-face';
5
+ import { DisposableComponent } from '../../disposable-component';
6
+ declare class MenuItemData<T> {
7
+ readonly factory: Command.Factory<T, void>;
8
+ readonly face: CommandFace;
9
+ constructor(factory: Command.Factory<T, void>, face: CommandFace);
10
+ }
11
+ /**
12
+ *
13
+ */
14
+ export declare class TableRowMenuComponent<T> extends DisposableComponent implements OnInit {
15
+ value: T;
16
+ menu: MatMenuTrigger;
17
+ readonly actions: MenuItemData<T>[];
18
+ readonly moreActions: MenuItemData<T>[];
19
+ registerAction(commandFactory: Command.Factory<T, void>, properties: CommandFace): void;
20
+ registerMoreAction(commandFactory: Command.Factory<T, void>, properties: CommandFace): void;
21
+ constructor();
22
+ ngOnInit(): void;
23
+ createMoreMenuCommand(item: MenuItemData<T>, value: T): Command<void>;
24
+ private closeMoreMenu;
25
+ }
26
+ export {};
@@ -0,0 +1,3 @@
1
+ export declare namespace TrackBy {
2
+ const byIndex: (data: any, index: number) => number;
3
+ }
@@ -8,10 +8,13 @@ export declare class ActivityRef<D, R, E> {
8
8
  private _complete;
9
9
  private _activity;
10
10
  private deferredResult;
11
+ private readonly focusedModel;
11
12
  constructor(activityClass: Constructable<Activity<D, R, E>>, activityData: D, onComplete: (activityRef: ActivityRef<D, R, E>) => void);
12
13
  isActivityRealised(): boolean;
13
14
  isComplete(): boolean;
14
15
  get activity(): Activity<D, R, E>;
16
+ setFocused(focused: boolean): void;
17
+ get focused(): boolean;
15
18
  notifyActivityCreated(activity: Activity<D, R, E>, nestedInteractionContext: InteractionContext): void;
16
19
  protected finishActivity(resolveOrReject: (deferred: Deferred<R>) => void): void;
17
20
  cancel(): void;
@@ -5,22 +5,26 @@ import { InteractionContext } from './interaction-context';
5
5
  export declare const ACTIVITY_DATA: InjectionToken<any>;
6
6
  export declare abstract class Activity<D, R, E = any> extends DisposableComponent {
7
7
  private readonly _busyModel;
8
+ private _focusedModel;
8
9
  private _activityContext;
9
10
  private _interactionContext;
10
11
  class: string;
11
- initialise(nestedInteractionContext: InteractionContext, activityContext: Activity.Callbacks<R, E>): void;
12
+ get isFocused(): boolean;
13
+ initialise(nestedInteractionContext: InteractionContext, activityContext: Activity.Context<R, E>): void;
12
14
  get interactionContext(): InteractionContext;
13
15
  done(result?: R): void;
14
16
  cancel(error?: E): void;
15
17
  onActivityReady(): void;
16
18
  get busy(): ValueModel<boolean>;
19
+ get focused(): ValueModel<boolean>;
17
20
  busyWhile(busyModel: ValueModel<boolean>): void;
18
21
  isBusy(): boolean;
19
22
  isInitialised(): boolean;
20
23
  }
21
24
  export declare namespace Activity {
22
- interface Callbacks<R, E> {
25
+ interface Context<R, E> {
23
26
  onDone: (result: R) => void;
24
27
  onCancel: (error: E) => void;
28
+ focused: ValueModel<boolean>;
25
29
  }
26
30
  }
@@ -1,6 +1,6 @@
1
1
  import { AfterViewInit, OnInit, QueryList } from '@angular/core';
2
2
  import { MatTabGroup } from '@angular/material/tabs';
3
- import { Constructable, Disposable } from '@coolon/pectin';
3
+ import { Constructable, Disposable, MutableValueModel } from '@coolon/pectin';
4
4
  import { AbstractInteractionContext } from '../../abstract-interaction-context';
5
5
  import { Activity } from '../../activity';
6
6
  import { ActivityRef } from '../../activity-ref';
@@ -10,13 +10,14 @@ export declare class ActivityContainerComponent<D, R, E> extends AbstractInterac
10
10
  dynamicHeight: boolean;
11
11
  tabs: MatTabGroup;
12
12
  activityOutlets: QueryList<ActivityOutletComponent<any, any, any>>;
13
- activityTabs: ActivityRef<any, any, any>[];
13
+ activityRefs: ActivityRef<any, any, any>[];
14
14
  private _identifier;
15
15
  private _deferredCleanUp;
16
16
  private interactionServiceApi;
17
17
  private garbage;
18
18
  private syncSelectedTabTimeout;
19
19
  private onAnimationFinishedJob;
20
+ readonly inAnimation: MutableValueModel<boolean>;
20
21
  constructor();
21
22
  ngOnInit(): void;
22
23
  ngAfterViewInit(): void;
@@ -52,5 +53,6 @@ export declare class ActivityContainerComponent<D, R, E> extends AbstractInterac
52
53
  */
53
54
  private synchroniseSelectedTabIndex;
54
55
  private getSelectedOutlet;
56
+ getSelectedTabIndex(): number;
55
57
  private triggerTabSynchronisation;
56
58
  }
@@ -1,7 +1,7 @@
1
1
  import { OnInit } from '@angular/core';
2
2
  import { Command, Constructable, DelegatingValueModel, ListModel, ListModelChain, ValueModel } from '@coolon/pectin';
3
+ import { CommandFace } from '../../components/commands/command-face';
3
4
  import { DisposableComponent } from '../../components/disposable-component';
4
- import { NavItem } from '../nav-item';
5
5
  import { PlaceComponent } from '../place-component';
6
6
  import { PlaceDefinition } from '../place-definition';
7
7
  import { PlaceRouter } from '../place-router';
@@ -16,7 +16,7 @@ export declare class AbstractPlaceNavigationComponent extends DisposableComponen
16
16
  readonly _activePlaceComponent: DelegatingValueModel<PlaceComponent>;
17
17
  private activePlaceDefinition;
18
18
  constructor(placeRouter: PlaceRouter);
19
- getNav(placeDef: PlaceDefinition): NavItem;
19
+ getNavigationFace(placeDef: PlaceDefinition): CommandFace;
20
20
  isActive(place: PlaceDefinition): boolean;
21
21
  ngOnInit(): void;
22
22
  }
@@ -1,6 +1,6 @@
1
1
  import { EventEmitter, OnInit } from '@angular/core';
2
2
  import { ActivatedRoute, Router, RouterOutlet } from '@angular/router';
3
- import { Constructable, ListModel, ValueModel, ValueModelChain } from '@coolon/pectin';
3
+ import { BooleanValueModelChain, Constructable, ListModel, ValueModel, ValueModelChain } from '@coolon/pectin';
4
4
  import { DisposableComponent } from '../../../components/disposable-component';
5
5
  import { PlaceComponent } from '../../place-component';
6
6
  import { PlaceConfig } from '../../place-config';
@@ -16,16 +16,21 @@ export declare class PlaceOutletComponent extends DisposableComponent implements
16
16
  customPlaceAnimationOrder: Constructable<PlaceComponent>[];
17
17
  readonly placeChanged: EventEmitter<PlaceComponent>;
18
18
  routerOut: RouterOutlet;
19
+ private onAnimationFinishedJob;
19
20
  private outletActivated;
20
21
  private readonly _activatedRouteModel;
21
22
  private readonly _activePlaceModel;
22
23
  private readonly _activePlaceDefinition;
23
24
  private parentOutletModel;
24
- readonly placeAnimationOrder: ValueModelChain<number>;
25
+ readonly activePlaceAnimationPosition: ValueModelChain<number>;
25
26
  private initialPlaceIndex;
26
27
  private routerVisitModel;
27
28
  private _isPushingVisitToRoute;
28
29
  private navigationInProgress;
30
+ private isVeryFirstLoad;
31
+ private placesInAnimationOrder;
32
+ private animationSupported;
33
+ readonly animationEnabled: BooleanValueModelChain;
29
34
  constructor(router: Router, placeRouter: PlaceRouter, placeConfig: PlaceConfig, parentOutlet: PlaceOutletComponent);
30
35
  ngOnInit(): void;
31
36
  getAnimationOrder(): number;
@@ -35,6 +40,7 @@ export declare class PlaceOutletComponent extends DisposableComponent implements
35
40
  get activePlaceModel(): ValueModel<PlaceComponent>;
36
41
  get activatedRouteModel(): ValueModel<ActivatedRoute>;
37
42
  onOutletActivated(routerOutlet: RouterOutlet, place: PlaceComponent): void;
43
+ private validateAnimationState;
38
44
  onOutletDeactivated(): void;
39
45
  private checkStateAndInitialise;
40
46
  private initialisePlace;
@@ -40,7 +40,7 @@ import { AbstractPlaceNavigationComponent } from '../abstract-place-navigation.c
40
40
  * (at)Place({
41
41
  * path: 'myPlace',
42
42
  * data: {
43
- * nav: I18n.places.myPlace.nav()
43
+ * nav: I18n.places.myPlace.nav
44
44
  * }
45
45
  * })
46
46
  */
@@ -10,6 +10,7 @@ export declare const ROUTE_PARAMETER_LIST_KEY: unique symbol;
10
10
  export declare class PlaceComponent extends DisposableComponent {
11
11
  private visitModel;
12
12
  private _inVisitUpdate;
13
+ private _active;
13
14
  interactionContext?: InteractionContext;
14
15
  canDeactivate?(interactionContext: InteractionContext): boolean | Promise<boolean>;
15
16
  constructor();
@@ -19,6 +20,11 @@ export declare class PlaceComponent extends DisposableComponent {
19
20
  private installBinding;
20
21
  get placeDefinition(): PlaceDefinition;
21
22
  get childPlaces(): Constructable<PlaceComponent>[];
23
+ get active(): import("@coolon/pectin").ValueModel<boolean>;
24
+ /**
25
+ * Called by the router when the place is ready to interact after any animations have run.
26
+ */
27
+ _notifyActive(active: boolean): void;
22
28
  onPlaceReady(): void;
23
29
  }
24
30
  export declare namespace PlaceComponent {
package/package.json CHANGED
@@ -1,22 +1,24 @@
1
1
  {
2
2
  "name": "@coolon/angular-ui-powerups",
3
- "version": "2.0.0-alpha.9",
3
+ "version": "2.0.0",
4
4
  "schematics": "./schematics/collection.json",
5
5
  "dependencies": {
6
6
  "@coolon/typescript-utilities": "^2.0.0",
7
7
  "@typescript-plus/fast-memoize-decorator": "^0.1.0",
8
8
  "json5": "^2.1.0",
9
9
  "ts-morph": "^7.0.3",
10
+ "@angular/router": "^9.1.9",
11
+ "@coolon/angular-ui-powerups": "file:dist/libs/angular-ui-powerups",
10
12
  "@angular/forms": "^9.1.9",
11
13
  "@angular/platform-browser": "^9.1.9",
14
+ "typescript-string-enums": "^1.0.0",
12
15
  "factory.ts": "^0.5.1",
13
16
  "faker": "^4.1.0",
14
- "immer": "^6.0.5",
15
17
  "@angular/platform-browser-dynamic": "^9.1.9",
16
18
  "@angular/flex-layout": "^9.0.0-beta.31",
17
- "@angular/router": "^9.1.9",
18
19
  "rxjs": "~6.5.5",
19
- "reflect-metadata": "^0.1.13"
20
+ "reflect-metadata": "^0.1.13",
21
+ "zone.js": "~0.10.2"
20
22
  },
21
23
  "peerDependencies": {
22
24
  "@angular/common": "^9.1.9",
@@ -24,7 +26,7 @@
24
26
  "@angular/material": "^9.2.4",
25
27
  "@angular/animations": "^9.1.9",
26
28
  "@angular/cdk": "^9.2.4",
27
- "@coolon/pectin": ">=3.0.0-alpha.18",
29
+ "@coolon/pectin": ">=3.0.0-alpha.27",
28
30
  "resize-observer-polyfill": "^1.5.1",
29
31
  "@fortawesome/angular-fontawesome": "^0.6.1",
30
32
  "@fortawesome/fontawesome-svg-core": "^1.2.28",
@@ -0,0 +1,3 @@
1
+ import { Rule } from '@angular-devkit/schematics';
2
+ import { Schema } from './schema';
3
+ export declare function bootstrapApp(_options: Schema): Rule;
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const core_1 = require("@angular-devkit/core");
4
+ const schematics_1 = require("@angular-devkit/schematics");
5
+ const package_util_1 = require("../package-util");
6
+ // @see https://javascript-conference.com/blog/how-to-create-your-own-angular-schematics/
7
+ function bootstrapApp(_options) {
8
+ return (tree, _context) => {
9
+ const workspaceConfig = tree.read('/angular.json');
10
+ if (!workspaceConfig) {
11
+ throw new Error('Could not find Angular workspace configuration');
12
+ }
13
+ // convert workspace to string
14
+ const workspaceContent = workspaceConfig.toString();
15
+ // parse workspace string into JSON object
16
+ const workspace = JSON.parse(workspaceContent);
17
+ if (!_options.project) {
18
+ _options.project = workspace.defaultProject;
19
+ }
20
+ const templateSource = schematics_1.apply(schematics_1.url('./templates'), [
21
+ schematics_1.template(Object.assign(Object.assign({}, _options), core_1.strings)),
22
+ schematics_1.move(`apps/${_options.project}/src`),
23
+ ]);
24
+ const fileMerge = schematics_1.mergeWith(templateSource, schematics_1.MergeStrategy.Overwrite);
25
+ const rule = schematics_1.chain([
26
+ fileMerge,
27
+ updatePackageJsonScripts(_options)
28
+ ]);
29
+ return rule(tree, _context);
30
+ };
31
+ }
32
+ exports.bootstrapApp = bootstrapApp;
33
+ function updatePackageJsonScripts(_options) {
34
+ return (tree, _) => {
35
+ return package_util_1.updatePackageJson(tree, draft => {
36
+ draft.scripts = Object.assign(Object.assign({}, draft.scripts), { [`place-routes:${_options.project}`]: `ng generate @coolon/angular-ui-powerups:place-routes --project ${_options.project}`, [`i18n:${_options.project}`]: `i18n-resource-generator apps/${_options.project}/src/i18n apps/${_options.project}/src/app` });
37
+ });
38
+ };
39
+ }
40
+ // function generateApp(name: string): Rule {
41
+ // return externalSchematic('@nrwl/angular', 'application', {
42
+ // name,
43
+ // version: '9.0.0',
44
+ // directory: name,
45
+ // routing: true,
46
+ // style: 'scss',
47
+ // inlineStyle: false,
48
+ // inlineTemplate: false
49
+ // });
50
+ // }
51
+ // export function addFiles(_options: any): Rule {
52
+ // const name = _options.name;
53
+ //
54
+ // return (tree: Tree, _context: SchematicContext) => {
55
+ //
56
+ // const templateSource = apply(url('./files'), [
57
+ // template({ ..._options, ...strings })
58
+ // ]);
59
+ // const fileMerge = mergeWith(templateSource, MergeStrategy.Overwrite);
60
+ //
61
+ // const rule = chain([
62
+ // fileMerge
63
+ // ]);
64
+ //
65
+ // return rule(tree, _context) as Rule;
66
+ // };
67
+ // }
68
+ // function addDependencies(options: Schema): Rule {
69
+ // return (tree: Tree, _context: SchematicContext) => {
70
+ // _context.addTask(new RunSchematicTask('add-dependencies', options));
71
+ // return tree;
72
+ // };
73
+ // }
74
+ //
75
+ // function addRequiredFiles(options: Schema): Rule {
76
+ // return (tree: Tree, _context: SchematicContext) => {
77
+ // _context.addTask(new RunSchematicTask('add-files', options));
78
+ // return tree;
79
+ // };
80
+ // }
81
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/angular-ui-powerups/schematics/bootstrap-app/index.ts"],"names":[],"mappings":";;AAAA,+CAA6D;AAC7D,2DAUoC;AACpC,kDAAoD;AAGpD,yFAAyF;AAEzF,SAAgB,YAAY,CAAC,QAAgB;IAE3C,OAAO,CAAC,IAAU,EAAE,QAA0B,EAAE,EAAE;QAGhD,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACnD,IAAI,CAAC,eAAe,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;SACnE;QAED,8BAA8B;QAC9B,MAAM,gBAAgB,GAAG,eAAe,CAAC,QAAQ,EAAE,CAAC;QAEpD,0CAA0C;QAC1C,MAAM,SAAS,GAA2C,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAEvF,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;YACrB,QAAQ,CAAC,OAAO,GAAG,SAAS,CAAC,cAAc,CAAC;SAC7C;QAED,MAAM,cAAc,GAAG,kBAAK,CAC1B,gBAAG,CAAC,aAAa,CAAC,EAAE;YAClB,qBAAQ,iCAAM,QAAQ,GAAK,cAAO,EAAG;YACrC,iBAAI,CAAC,QAAQ,QAAQ,CAAC,OAAO,MAAM,CAAC;SACrC,CAAC,CAAC;QACL,MAAM,SAAS,GAAG,sBAAS,CAAC,cAAc,EAAE,0BAAa,CAAC,SAAS,CAAC,CAAC;QAErE,MAAM,IAAI,GAAG,kBAAK,CAAC;YACjB,SAAS;YACT,wBAAwB,CAAC,QAAQ,CAAC;SACnC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAS,CAAC;IACtC,CAAC,CAAC;AACJ,CAAC;AAlCD,oCAkCC;AAED,SAAS,wBAAwB,CAAC,QAAgB;IAChD,OAAO,CAAC,IAAU,EAAE,CAAmB,EAAQ,EAAE;QAC/C,OAAO,gCAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE;YACrC,KAAK,CAAC,OAAO,mCACR,KAAK,CAAC,OAAO,KAChB,CAAC,gBAAgB,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,kEAAkE,QAAQ,CAAC,OAAO,EAAE,EAC1H,CAAC,QAAQ,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,gCAAgC,QAAQ,CAAC,OAAO,kBAAkB,QAAQ,CAAC,OAAO,UAAU,GAC3H,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAGD,6CAA6C;AAC7C,+DAA+D;AAC/D,YAAY;AACZ,wBAAwB;AACxB,uBAAuB;AACvB,qBAAqB;AACrB,qBAAqB;AACrB,0BAA0B;AAC1B,4BAA4B;AAC5B,QAAQ;AACR,IAAI;AAGJ,kDAAkD;AAClD,gCAAgC;AAChC,EAAE;AACF,yDAAyD;AACzD,EAAE;AACF,qDAAqD;AACrD,8CAA8C;AAC9C,UAAU;AACV,4EAA4E;AAC5E,EAAE;AACF,2BAA2B;AAC3B,kBAAkB;AAClB,UAAU;AACV,EAAE;AACF,2CAA2C;AAC3C,OAAO;AACP,IAAI;AAGJ,oDAAoD;AACpD,yDAAyD;AACzD,2EAA2E;AAC3E,mBAAmB;AACnB,OAAO;AACP,IAAI;AACJ,EAAE;AACF,qDAAqD;AACrD,yDAAyD;AACzD,oEAAoE;AACpE,mBAAmB;AACnB,OAAO;AACP,IAAI"}
@@ -0,0 +1,3 @@
1
+ export interface Schema {
2
+ project: string;
3
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../../libs/angular-ui-powerups/schematics/bootstrap-app/schema.ts"],"names":[],"mappings":""}
@@ -0,0 +1,19 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "id": "AupBootstrapSchematic",
4
+ "type": "object",
5
+ "description": "Install all Angular UI Powerup dependencies",
6
+ "properties": {
7
+ "project": {
8
+ "type": "string",
9
+ "description": "The name of the project.",
10
+ "$default": {
11
+ "$source": "projectName"
12
+ }
13
+ }
14
+ },
15
+ "required": [
16
+ "project"
17
+ ]
18
+
19
+ }
@@ -0,0 +1,19 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { RouterModule, Routes } from '@angular/router';
3
+ import { GarbageCollector } from '@coolon/pectin';
4
+ import { placeRoutes } from './places/place-routes';
5
+
6
+ const routes: Routes = [
7
+ ...placeRoutes,
8
+ { path: '**', redirectTo: 'home' }
9
+ ];
10
+
11
+ @NgModule({
12
+ imports: [RouterModule.forRoot(routes, {
13
+ enableTracing: false
14
+ })],
15
+ exports: [RouterModule]
16
+ })
17
+ export class AppRoutingModule extends GarbageCollector {
18
+
19
+ }
@@ -0,0 +1,15 @@
1
+ import { TestBed, async, inject } from '@angular/core/testing';
2
+
3
+ import { AuthGuard } from './auth.guard';
4
+
5
+ describe('AuthGuard', () => {
6
+ beforeEach(() => {
7
+ TestBed.configureTestingModule({
8
+ providers: [AuthGuard]
9
+ });
10
+ });
11
+
12
+ it('should ...', inject([AuthGuard], (guard: AuthGuard) => {
13
+ expect(guard).toBeTruthy();
14
+ }));
15
+ });
@@ -0,0 +1,23 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot, UrlTree } from '@angular/router';
3
+ import { AuthService } from './auth.service';
4
+
5
+
6
+ @Injectable({
7
+ providedIn: 'root'
8
+ })
9
+ export class AuthGuard implements CanActivate {
10
+
11
+ constructor(private auth: AuthService) {
12
+ }
13
+
14
+ async canActivate(next: ActivatedRouteSnapshot,
15
+ state: RouterStateSnapshot): Promise<boolean | UrlTree> {
16
+ /* Try to auth with the server. If auth'e'd resolve to true, else resolve to false */
17
+ if (this.auth.authenticated.value) {
18
+ return true;
19
+ } else {
20
+ this.auth.startLoginFlow();
21
+ }
22
+ }
23
+ }
@@ -0,0 +1,13 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { AuthGuard } from './auth.guard';
3
+
4
+ @NgModule({
5
+ declarations: [],
6
+ imports: [],
7
+ providers: [
8
+ AuthGuard,
9
+ // {provide: AuthService, useClass: MyAuthServiceClass }
10
+ ]
11
+ })
12
+ export class AuthModule {
13
+ }
@@ -0,0 +1,13 @@
1
+ import {GarbageCollector, ValueModel} from "@coolon/pectin";
2
+
3
+ export abstract class AuthService<T = unknown> extends GarbageCollector {
4
+ abstract readonly authenticated: ValueModel<boolean>
5
+ abstract readonly userModel: ValueModel<T>
6
+
7
+ abstract init(): Promise<boolean>
8
+
9
+ abstract startLoginFlow(): void;
10
+
11
+ abstract logout(): void;
12
+
13
+ }
@@ -0,0 +1,9 @@
1
+ // Don't edit: This file will be generated when you run the i18n task.
2
+ export namespace I18n {
3
+ export namespace places {
4
+ export namespace home {
5
+ export const nav = {
6
+ }
7
+ }
8
+ }
9
+ }
@@ -0,0 +1,4 @@
1
+ :host {
2
+ display: flex;
3
+ flex-direction: column;
4
+ }
@@ -0,0 +1,25 @@
1
+ import { async, ComponentFixture, TestBed } from '@angular/core/testing';
2
+
3
+ import { HomeComponent } from './home.component';
4
+
5
+ describe('HomeComponent', () => {
6
+ let component: HomeComponent;
7
+ let fixture: ComponentFixture<HomeComponent>;
8
+
9
+ beforeEach(async(() => {
10
+ TestBed.configureTestingModule({
11
+ declarations: [ HomeComponent ]
12
+ })
13
+ .compileComponents();
14
+ }));
15
+
16
+ beforeEach(() => {
17
+ fixture = TestBed.createComponent(HomeComponent);
18
+ component = fixture.componentInstance;
19
+ fixture.detectChanges();
20
+ });
21
+
22
+ it('should create', () => {
23
+ expect(component).toBeTruthy();
24
+ });
25
+ });
@@ -0,0 +1,25 @@
1
+ import { Component, OnInit } from '@angular/core';
2
+ import { Place, PlaceComponent } from '@coolon/angular-ui-powerups';
3
+ import { I18n } from '../../i18n';
4
+
5
+ @Place({
6
+ path: 'home',
7
+ data: {
8
+ nav: I18n.places.home.nav
9
+ },
10
+ authenticate: true
11
+ })
12
+ @Component({
13
+ selector: 'home',
14
+ templateUrl: './home.component.html',
15
+ styleUrls: ['./home.component.scss']
16
+ })
17
+ export class HomeComponent extends PlaceComponent implements OnInit {
18
+
19
+ constructor() {
20
+ super();
21
+ }
22
+
23
+ ngOnInit() {
24
+ }
25
+ }
@@ -0,0 +1,3 @@
1
+ import { Routes } from '@angular/router';
2
+
3
+ export const placeRoutes: Routes = [];
@@ -0,0 +1,3 @@
1
+ {
2
+ authGuard: {className: "AuthGuard", importPath: "../auth/auth.guard"}
3
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "customTypeImports": {
3
+ "Alert": "import {Alert} from '@coolon/angular-ui-powerups'",
4
+ "Confirm": "import {Confirm} from '@coolon/angular-ui-powerups'",
5
+ "NavItem": "import {NavItem} from '@coolon/angular-ui-powerups'",
6
+ "CommandFace": "import {CommandFace} from '@coolon/angular-ui-powerups'",
7
+ "ColumnTextProperties": "import {ColumnTextProperties} from '@coolon/angular-ui-powerups'"
8
+ }
9
+ }
@@ -0,0 +1,19 @@
1
+ alerts(Alert[]):
2
+ unknown_error:
3
+ content:
4
+ - "Yikes, this is a bit embarrassing, we've had an error condition we weren't expecting."
5
+ - "It's with great shame an loathing that we can only suggest reloading the page to see if that helps..."
6
+ ok: "Ok, try reloading it..."
7
+ not_implemented:
8
+ content:
9
+ - "We haven't got around to doing this yet."
10
+ ok: "Bugger"
11
+
12
+ confirm(Confirm[]):
13
+ leave_this_page:
14
+ content:
15
+ - "Would you like to go to {name}?"
16
+ ok: "Yep"
17
+ cancel: "Nope"
18
+
19
+
@@ -0,0 +1,6 @@
1
+ places:
2
+ home:
3
+ nav(NavItem):
4
+ title: "Home"
5
+ icon: "svg:home"
6
+ tooltip: "Welcome Home"
@@ -5,8 +5,17 @@
5
5
  "description": "Add angular-ui-powerups to your application.",
6
6
  "factory": "./ng-add/index#ngAdd"
7
7
  },
8
+ "bootstrap": {
9
+ "description": "Add angular-ui-powerup dependencies to your application.",
10
+ "factory": "./ng-add/index#installDependencies"
11
+ },
12
+ "bootstrap-app": {
13
+ "description": "Add angular-ui-powerup dependencies your application.",
14
+ "factory": "./bootstrap-app/index#bootstrapApp",
15
+ "schema": "./bootstrap-app/schema.json"
16
+ },
8
17
  "place-routes": {
9
- "description": "Generates the place routes file",
18
+ "description": "Scans your source for place components and generates the place routes file",
10
19
  "factory": "./place-routes/index#generateRoutes",
11
20
  "schema": "./place-routes/schema.json"
12
21
  }
@@ -1,2 +1,3 @@
1
1
  import { Rule } from '@angular-devkit/schematics';
2
2
  export declare function ngAdd(_options: any): Rule;
3
+ export declare function installDependencies(_options: any): Rule;
@@ -1,12 +1,35 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ const schematics_1 = require("@angular-devkit/schematics");
3
4
  const tasks_1 = require("@angular-devkit/schematics/tasks");
5
+ const package_util_1 = require("../package-util");
4
6
  // Just return the tree
5
7
  function ngAdd(_options) {
6
- return (tree, _context) => {
7
- _context.addTask(new tasks_1.NodePackageInstallTask());
8
- return tree;
9
- };
8
+ return schematics_1.chain([
9
+ (tree, _context) => {
10
+ _context.addTask(new tasks_1.NodePackageInstallTask());
11
+ return tree;
12
+ },
13
+ installDependencies(_options)
14
+ ]);
10
15
  }
11
16
  exports.ngAdd = ngAdd;
17
+ function installDependencies(_options) {
18
+ return (tree, _) => {
19
+ return package_util_1.updatePackageJson(tree, draft => {
20
+ draft.scripts = Object.assign(Object.assign({}, draft.scripts), { "place-routes": "run-s place-routes:**", "i18n": "run-s i18n:**" });
21
+ draft.dependencies = Object.assign(Object.assign({}, draft.dependencies), { '@coolon/pectin': '^3.0.0', '@coolon/typescript-utilities': '^2.0.2', 'roboto-fontface': '^0.10.0', '@fortawesome/angular-fontawesome': '^0.6.1', '@fortawesome/fontawesome-free': '5.13.1', '@fortawesome/fontawesome-svg-core': '^1.2.29', '@fortawesome/free-solid-svg-icons': '^5.13.1', '@js-joda/core': '^1.11.0', '@js-joda/locale': '^3.0.0', '@js-joda/timezone': '^2.1.1', 'cldr-data': '^36.0.0', 'cldrjs': '^0.5.4', 'immer': '^7.0.5', 'reflect-metadata': '^0.1.13', 'resize-observer-polyfill': '^1.5.1', 'typescript-string-enums': '^1.0.0', 'moment': '2.27.0' });
22
+ draft.devDependencies = Object.assign(Object.assign({}, draft.devDependencies), { 'husky': '^4.2.0', '@coolon/i18n-resource-generator': '^2.0.13', 'barrelsby': '^2.1.1', 'dotenv': '6.2.0', 'cz-conventional-changelog': '^3.1.0', 'git-is-clean': '^3.0.1', 'shx': '^0.3.2', 'standard-version': '^8.0.0' });
23
+ draft.config = Object.assign(Object.assign({}, draft.config), { commitizen: {
24
+ path: './node_modules/cz-conventional-changelog'
25
+ } });
26
+ draft.husky = {
27
+ 'hooks': {
28
+ 'commit-msg': 'commitlint -E HUSKY_GIT_PARAMS'
29
+ }
30
+ };
31
+ });
32
+ };
33
+ }
34
+ exports.installDependencies = installDependencies;
12
35
  //# sourceMappingURL=index.js.map