@coolon/angular-ui-powerups 2.0.0-alpha.28 → 2.0.0-alpha.3

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 (262) hide show
  1. package/CHANGELOG.md +0 -170
  2. package/assets/form.scss +4 -5
  3. package/assets/styles.scss +0 -2
  4. package/bundles/coolon-angular-ui-powerups.umd.js +339 -1137
  5. package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
  6. package/bundles/coolon-angular-ui-powerups.umd.min.js +2 -2
  7. package/bundles/coolon-angular-ui-powerups.umd.min.js.map +1 -1
  8. package/coolon-angular-ui-powerups.d.ts +54 -64
  9. package/coolon-angular-ui-powerups.metadata.json +1 -1
  10. package/esm2015/coolon-angular-ui-powerups.js +52 -62
  11. package/esm2015/coolon-angular-ui-powerups.js.map +1 -1
  12. package/esm2015/coolon-angular-ui-powerups.metadata.json +1 -1
  13. package/esm2015/lib/angular-ui-powerups.module.ngfactory.js.map +1 -1
  14. package/esm2015/lib/components/card-container/card-container.component.js +1 -1
  15. package/esm2015/lib/components/card-container/card-container.component.metadata.json +1 -1
  16. package/esm2015/lib/components/components.module.js +14 -58
  17. package/esm2015/lib/components/components.module.js.map +1 -1
  18. package/esm2015/lib/components/components.module.metadata.json +1 -1
  19. package/esm2015/lib/components/components.module.ngfactory.js.map +1 -1
  20. package/esm2015/lib/components/forms/abstract-input.component.js +4 -12
  21. package/esm2015/lib/components/forms/abstract-input.component.js.map +1 -1
  22. package/esm2015/lib/components/forms/abstract-input.component.metadata.json +1 -1
  23. package/esm2015/lib/components/forms/abstract-list-input.component.js +6 -51
  24. package/esm2015/lib/components/forms/abstract-list-input.component.js.map +1 -1
  25. package/esm2015/lib/components/forms/abstract-list-input.component.metadata.json +1 -1
  26. package/esm2015/lib/components/forms/abstract-value-input.component.js +3 -47
  27. package/esm2015/lib/components/forms/abstract-value-input.component.js.map +1 -1
  28. package/esm2015/lib/components/forms/abstract-value-input.component.metadata.json +1 -1
  29. package/esm2015/lib/components/forms/checkbox-input/checkbox-input.component.js +6 -3
  30. package/esm2015/lib/components/forms/checkbox-input/checkbox-input.component.js.map +1 -1
  31. package/esm2015/lib/components/forms/checkbox-input/checkbox-input.component.metadata.json +1 -1
  32. package/esm2015/lib/components/forms/multiple-select-input/multiple-select-input.component.js +13 -8
  33. package/esm2015/lib/components/forms/multiple-select-input/multiple-select-input.component.js.map +1 -1
  34. package/esm2015/lib/components/forms/multiple-select-input/multiple-select-input.component.metadata.json +1 -1
  35. package/esm2015/lib/components/forms/number-input/number-input.component.js +6 -3
  36. package/esm2015/lib/components/forms/number-input/number-input.component.js.map +1 -1
  37. package/esm2015/lib/components/forms/number-input/number-input.component.metadata.json +1 -1
  38. package/esm2015/lib/components/forms/password-input/password-input.component.js +7 -4
  39. package/esm2015/lib/components/forms/password-input/password-input.component.js.map +1 -1
  40. package/esm2015/lib/components/forms/password-input/password-input.component.metadata.json +1 -1
  41. package/esm2015/lib/components/forms/select-input/select-input.component.js +5 -2
  42. package/esm2015/lib/components/forms/select-input/select-input.component.js.map +1 -1
  43. package/esm2015/lib/components/forms/select-input/select-input.component.metadata.json +1 -1
  44. package/esm2015/lib/components/forms/string-input/string-input.component.js +7 -3
  45. package/esm2015/lib/components/forms/string-input/string-input.component.js.map +1 -1
  46. package/esm2015/lib/components/forms/string-input/string-input.component.metadata.json +1 -1
  47. package/esm2015/lib/components/forms/text-input/text-input.component.js +6 -3
  48. package/esm2015/lib/components/forms/text-input/text-input.component.js.map +1 -1
  49. package/esm2015/lib/components/forms/text-input/text-input.component.metadata.json +1 -1
  50. package/esm2015/lib/components/icon/icon.component.js +4 -17
  51. package/esm2015/lib/components/icon/icon.component.js.map +1 -1
  52. package/esm2015/lib/components/icon/icon.component.metadata.json +1 -1
  53. package/esm2015/lib/components/index.js +1 -12
  54. package/esm2015/lib/components/index.js.map +1 -1
  55. package/esm2015/lib/components/index.metadata.json +1 -1
  56. package/esm2015/lib/components/table/cell-editors.js.map +1 -1
  57. package/esm2015/lib/components/table/{cell-portal-ref.js → cell-protal-ref.js} +3 -7
  58. package/esm2015/lib/components/table/cell-protal-ref.js.map +1 -0
  59. package/esm2015/lib/components/table/{cell-portal-ref.metadata.json → cell-protal-ref.metadata.json} +1 -1
  60. package/esm2015/lib/components/table/column-model.js +11 -66
  61. package/esm2015/lib/components/table/column-model.js.map +1 -1
  62. package/esm2015/lib/components/table/column-model.metadata.json +1 -1
  63. package/esm2015/lib/components/table/table-cell-renderer/table-cell-renderer.component.js +1 -1
  64. package/esm2015/lib/components/table/table-cell-renderer/table-cell-renderer.component.js.map +1 -1
  65. package/esm2015/lib/components/table/table-header-cell-renderer/table-header-cell-renderer.component.js +1 -1
  66. package/esm2015/lib/components/table/table-header-cell-renderer/table-header-cell-renderer.component.js.map +1 -1
  67. package/esm2015/lib/components/table/table-model.js +10 -11
  68. package/esm2015/lib/components/table/table-model.js.map +1 -1
  69. package/esm2015/lib/components/table/table-model.metadata.json +1 -1
  70. package/esm2015/lib/components/table/table.component.js +1 -1
  71. package/esm2015/lib/components/table/table.component.js.map +1 -1
  72. package/esm2015/lib/components/table/table.component.metadata.json +1 -1
  73. package/esm2015/lib/interaction/components/activity-container/activity-container.component.js +7 -2
  74. package/esm2015/lib/interaction/components/activity-container/activity-container.component.js.map +1 -1
  75. package/esm2015/lib/interaction/components/activity-container/activity-container.component.metadata.json +1 -1
  76. package/esm2015/lib/interaction/interaction.module.ngfactory.js.map +1 -1
  77. package/esm2015/lib/place/place-component.js +1 -1
  78. package/esm2015/lib/place/place-component.js.map +1 -1
  79. package/esm2015/lib/place/place-router.js +8 -2
  80. package/esm2015/lib/place/place-router.js.map +1 -1
  81. package/esm2015/lib/place/place-router.metadata.json +1 -1
  82. package/esm2015/lib/place/place.module.ngfactory.js.map +1 -1
  83. package/esm2015/lib/place/route/parameter-decorators.js +3 -2
  84. package/esm2015/lib/place/route/parameter-decorators.js.map +1 -1
  85. package/esm2015/lib/place/route/parameter-decorators.metadata.json +1 -1
  86. package/esm5/coolon-angular-ui-powerups.js +52 -62
  87. package/esm5/coolon-angular-ui-powerups.js.map +1 -1
  88. package/esm5/lib/angular-ui-powerups.module.ngfactory.js.map +1 -1
  89. package/esm5/lib/components/card-container/card-container.component.js +1 -1
  90. package/esm5/lib/components/components.module.js +14 -58
  91. package/esm5/lib/components/components.module.js.map +1 -1
  92. package/esm5/lib/components/components.module.ngfactory.js.map +1 -1
  93. package/esm5/lib/components/forms/abstract-input.component.js +4 -12
  94. package/esm5/lib/components/forms/abstract-input.component.js.map +1 -1
  95. package/esm5/lib/components/forms/abstract-list-input.component.js +6 -56
  96. package/esm5/lib/components/forms/abstract-list-input.component.js.map +1 -1
  97. package/esm5/lib/components/forms/abstract-value-input.component.js +3 -52
  98. package/esm5/lib/components/forms/abstract-value-input.component.js.map +1 -1
  99. package/esm5/lib/components/forms/checkbox-input/checkbox-input.component.js +6 -3
  100. package/esm5/lib/components/forms/checkbox-input/checkbox-input.component.js.map +1 -1
  101. package/esm5/lib/components/forms/multiple-select-input/multiple-select-input.component.js +13 -8
  102. package/esm5/lib/components/forms/multiple-select-input/multiple-select-input.component.js.map +1 -1
  103. package/esm5/lib/components/forms/number-input/number-input.component.js +6 -3
  104. package/esm5/lib/components/forms/number-input/number-input.component.js.map +1 -1
  105. package/esm5/lib/components/forms/password-input/password-input.component.js +7 -4
  106. package/esm5/lib/components/forms/password-input/password-input.component.js.map +1 -1
  107. package/esm5/lib/components/forms/select-input/select-input.component.js +5 -2
  108. package/esm5/lib/components/forms/select-input/select-input.component.js.map +1 -1
  109. package/esm5/lib/components/forms/string-input/string-input.component.js +7 -3
  110. package/esm5/lib/components/forms/string-input/string-input.component.js.map +1 -1
  111. package/esm5/lib/components/forms/text-input/text-input.component.js +6 -3
  112. package/esm5/lib/components/forms/text-input/text-input.component.js.map +1 -1
  113. package/esm5/lib/components/icon/icon.component.js +3 -15
  114. package/esm5/lib/components/icon/icon.component.js.map +1 -1
  115. package/esm5/lib/components/index.js +1 -12
  116. package/esm5/lib/components/index.js.map +1 -1
  117. package/esm5/lib/components/table/cell-editors.js.map +1 -1
  118. package/esm5/lib/components/table/{cell-portal-ref.js → cell-protal-ref.js} +3 -7
  119. package/esm5/lib/components/table/cell-protal-ref.js.map +1 -0
  120. package/esm5/lib/components/table/column-model.js +11 -67
  121. package/esm5/lib/components/table/column-model.js.map +1 -1
  122. package/esm5/lib/components/table/table-cell-renderer/table-cell-renderer.component.js +1 -1
  123. package/esm5/lib/components/table/table-cell-renderer/table-cell-renderer.component.js.map +1 -1
  124. package/esm5/lib/components/table/table-header-cell-renderer/table-header-cell-renderer.component.js +1 -1
  125. package/esm5/lib/components/table/table-header-cell-renderer/table-header-cell-renderer.component.js.map +1 -1
  126. package/esm5/lib/components/table/table-model.js +11 -11
  127. package/esm5/lib/components/table/table-model.js.map +1 -1
  128. package/esm5/lib/components/table/table.component.js +1 -1
  129. package/esm5/lib/components/table/table.component.js.map +1 -1
  130. package/esm5/lib/interaction/components/activity-container/activity-container.component.js +7 -2
  131. package/esm5/lib/interaction/components/activity-container/activity-container.component.js.map +1 -1
  132. package/esm5/lib/interaction/interaction.module.ngfactory.js.map +1 -1
  133. package/esm5/lib/place/place-component.js +1 -1
  134. package/esm5/lib/place/place-component.js.map +1 -1
  135. package/esm5/lib/place/place-router.js +8 -2
  136. package/esm5/lib/place/place-router.js.map +1 -1
  137. package/esm5/lib/place/place.module.ngfactory.js.map +1 -1
  138. package/esm5/lib/place/route/parameter-decorators.js +3 -2
  139. package/esm5/lib/place/route/parameter-decorators.js.map +1 -1
  140. package/fesm2015/coolon-angular-ui-powerups.js +240 -973
  141. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  142. package/fesm5/coolon-angular-ui-powerups.js +269 -1051
  143. package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
  144. package/lib/components/forms/abstract-input.component.d.ts +2 -8
  145. package/lib/components/forms/abstract-list-input.component.d.ts +3 -10
  146. package/lib/components/forms/abstract-value-input.component.d.ts +3 -9
  147. package/lib/components/forms/checkbox-input/checkbox-input.component.d.ts +2 -0
  148. package/lib/components/forms/multiple-select-input/multiple-select-input.component.d.ts +4 -8
  149. package/lib/components/forms/number-input/number-input.component.d.ts +2 -0
  150. package/lib/components/forms/password-input/password-input.component.d.ts +2 -0
  151. package/lib/components/forms/select-input/select-input.component.d.ts +2 -2
  152. package/lib/components/forms/string-input/string-input.component.d.ts +2 -1
  153. package/lib/components/forms/text-input/text-input.component.d.ts +2 -0
  154. package/lib/components/icon/icon.component.d.ts +0 -15
  155. package/lib/components/index.d.ts +1 -13
  156. package/lib/components/table/cell-editors.d.ts +3 -3
  157. package/lib/components/table/{cell-portal-ref.d.ts → cell-protal-ref.d.ts} +4 -4
  158. package/lib/components/table/column-model.d.ts +12 -18
  159. package/lib/components/table/table-cell-renderer/table-cell-renderer.component.d.ts +1 -1
  160. package/lib/components/table/table-header-cell-renderer/table-header-cell-renderer.component.d.ts +1 -1
  161. package/lib/components/table/table-model.d.ts +4 -12
  162. package/package.json +4 -4
  163. package/assets/commands.scss +0 -3
  164. package/assets/icons.scss +0 -30
  165. package/esm2015/lib/components/commands/command-bar.component.js +0 -51
  166. package/esm2015/lib/components/commands/command-bar.component.js.map +0 -1
  167. package/esm2015/lib/components/commands/command-bar.component.metadata.json +0 -1
  168. package/esm2015/lib/components/commands/command-bar.component.ngfactory.js.map +0 -1
  169. package/esm2015/lib/components/commands/command-container.js +0 -20
  170. package/esm2015/lib/components/commands/command-container.js.map +0 -1
  171. package/esm2015/lib/components/commands/command-container.metadata.json +0 -1
  172. package/esm2015/lib/components/commands/command-face/command-face.component.js +0 -91
  173. package/esm2015/lib/components/commands/command-face/command-face.component.js.map +0 -1
  174. package/esm2015/lib/components/commands/command-face/command-face.component.metadata.json +0 -1
  175. package/esm2015/lib/components/commands/command-face/command-face.component.ngfactory.js.map +0 -1
  176. package/esm2015/lib/components/commands/command-face/command-face.component.scss.ngstyle.js.map +0 -1
  177. package/esm2015/lib/components/commands/command-face.js +0 -74
  178. package/esm2015/lib/components/commands/command-face.js.map +0 -1
  179. package/esm2015/lib/components/commands/command-face.metadata.json +0 -1
  180. package/esm2015/lib/components/commands/command.component.js +0 -38
  181. package/esm2015/lib/components/commands/command.component.js.map +0 -1
  182. package/esm2015/lib/components/commands/command.component.metadata.json +0 -1
  183. package/esm2015/lib/components/commands/command.component.ngfactory.js.map +0 -1
  184. package/esm2015/lib/components/commands/popup-menu/abstract-popup-menu.component.js +0 -50
  185. package/esm2015/lib/components/commands/popup-menu/abstract-popup-menu.component.js.map +0 -1
  186. package/esm2015/lib/components/commands/popup-menu/abstract-popup-menu.component.metadata.json +0 -1
  187. package/esm2015/lib/components/commands/popup-menu/abstract-popup-menu.component.ngfactory.js.map +0 -1
  188. package/esm2015/lib/components/commands/popup-menu/more-menu.component.js +0 -35
  189. package/esm2015/lib/components/commands/popup-menu/more-menu.component.js.map +0 -1
  190. package/esm2015/lib/components/commands/popup-menu/more-menu.component.metadata.json +0 -1
  191. package/esm2015/lib/components/commands/popup-menu/more-menu.component.ngfactory.js.map +0 -1
  192. package/esm2015/lib/components/commands/popup-menu/popup-menu.component.js +0 -46
  193. package/esm2015/lib/components/commands/popup-menu/popup-menu.component.js.map +0 -1
  194. package/esm2015/lib/components/commands/popup-menu/popup-menu.component.metadata.json +0 -1
  195. package/esm2015/lib/components/commands/popup-menu/popup-menu.component.ngfactory.js.map +0 -1
  196. package/esm2015/lib/components/commands/popup-menu-renderer/popup-menu-renderer.component.js +0 -62
  197. package/esm2015/lib/components/commands/popup-menu-renderer/popup-menu-renderer.component.js.map +0 -1
  198. package/esm2015/lib/components/commands/popup-menu-renderer/popup-menu-renderer.component.metadata.json +0 -1
  199. package/esm2015/lib/components/commands/popup-menu-renderer/popup-menu-renderer.component.ngfactory.js.map +0 -1
  200. package/esm2015/lib/components/commands/popup-menu-renderer/popup-menu-renderer.component.scss.shim.ngstyle.js.map +0 -1
  201. package/esm2015/lib/components/forms/autocomplete-input/autocomplete-input.component.js +0 -70
  202. package/esm2015/lib/components/forms/autocomplete-input/autocomplete-input.component.js.map +0 -1
  203. package/esm2015/lib/components/forms/autocomplete-input/autocomplete-input.component.metadata.json +0 -1
  204. package/esm2015/lib/components/forms/autocomplete-input/autocomplete-input.component.ngfactory.js.map +0 -1
  205. package/esm2015/lib/components/forms/autocomplete-input/autocomplete-input.component.scss.shim.ngstyle.js.map +0 -1
  206. package/esm2015/lib/components/table/cell-portal-ref.js.map +0 -1
  207. package/esm2015/lib/components/table/mutable-cell-renderer.js +0 -1
  208. package/esm2015/lib/components/table/mutable-cell-renderer.js.map +0 -1
  209. package/esm2015/lib/components/table/mutable-cell-renderer.metadata.json +0 -1
  210. package/esm2015/lib/components/table/table-row-menu/table-row-menu.component.js +0 -82
  211. package/esm2015/lib/components/table/table-row-menu/table-row-menu.component.js.map +0 -1
  212. package/esm2015/lib/components/table/table-row-menu/table-row-menu.component.metadata.json +0 -1
  213. package/esm2015/lib/components/table/table-row-menu/table-row-menu.component.ngfactory.js.map +0 -1
  214. package/esm5/lib/components/commands/command-bar.component.js +0 -31
  215. package/esm5/lib/components/commands/command-bar.component.js.map +0 -1
  216. package/esm5/lib/components/commands/command-bar.component.ngfactory.js.map +0 -1
  217. package/esm5/lib/components/commands/command-container.js +0 -30
  218. package/esm5/lib/components/commands/command-container.js.map +0 -1
  219. package/esm5/lib/components/commands/command-face/command-face.component.js +0 -122
  220. package/esm5/lib/components/commands/command-face/command-face.component.js.map +0 -1
  221. package/esm5/lib/components/commands/command-face/command-face.component.ngfactory.js.map +0 -1
  222. package/esm5/lib/components/commands/command-face/command-face.component.scss.ngstyle.js.map +0 -1
  223. package/esm5/lib/components/commands/command-face.js +0 -103
  224. package/esm5/lib/components/commands/command-face.js.map +0 -1
  225. package/esm5/lib/components/commands/command.component.js +0 -41
  226. package/esm5/lib/components/commands/command.component.js.map +0 -1
  227. package/esm5/lib/components/commands/command.component.ngfactory.js.map +0 -1
  228. package/esm5/lib/components/commands/popup-menu/abstract-popup-menu.component.js +0 -57
  229. package/esm5/lib/components/commands/popup-menu/abstract-popup-menu.component.js.map +0 -1
  230. package/esm5/lib/components/commands/popup-menu/abstract-popup-menu.component.ngfactory.js.map +0 -1
  231. package/esm5/lib/components/commands/popup-menu/more-menu.component.js +0 -30
  232. package/esm5/lib/components/commands/popup-menu/more-menu.component.js.map +0 -1
  233. package/esm5/lib/components/commands/popup-menu/more-menu.component.ngfactory.js.map +0 -1
  234. package/esm5/lib/components/commands/popup-menu/popup-menu.component.js +0 -42
  235. package/esm5/lib/components/commands/popup-menu/popup-menu.component.js.map +0 -1
  236. package/esm5/lib/components/commands/popup-menu/popup-menu.component.ngfactory.js.map +0 -1
  237. package/esm5/lib/components/commands/popup-menu-renderer/popup-menu-renderer.component.js +0 -66
  238. package/esm5/lib/components/commands/popup-menu-renderer/popup-menu-renderer.component.js.map +0 -1
  239. package/esm5/lib/components/commands/popup-menu-renderer/popup-menu-renderer.component.ngfactory.js.map +0 -1
  240. package/esm5/lib/components/commands/popup-menu-renderer/popup-menu-renderer.component.scss.shim.ngstyle.js.map +0 -1
  241. package/esm5/lib/components/forms/autocomplete-input/autocomplete-input.component.js +0 -73
  242. package/esm5/lib/components/forms/autocomplete-input/autocomplete-input.component.js.map +0 -1
  243. package/esm5/lib/components/forms/autocomplete-input/autocomplete-input.component.ngfactory.js.map +0 -1
  244. package/esm5/lib/components/forms/autocomplete-input/autocomplete-input.component.scss.shim.ngstyle.js.map +0 -1
  245. package/esm5/lib/components/table/cell-portal-ref.js.map +0 -1
  246. package/esm5/lib/components/table/mutable-cell-renderer.js +0 -1
  247. package/esm5/lib/components/table/mutable-cell-renderer.js.map +0 -1
  248. package/esm5/lib/components/table/table-row-menu/table-row-menu.component.js +0 -66
  249. package/esm5/lib/components/table/table-row-menu/table-row-menu.component.js.map +0 -1
  250. package/esm5/lib/components/table/table-row-menu/table-row-menu.component.ngfactory.js.map +0 -1
  251. package/lib/components/commands/command-bar.component.d.ts +0 -10
  252. package/lib/components/commands/command-container.d.ts +0 -15
  253. package/lib/components/commands/command-face/command-face.component.d.ts +0 -29
  254. package/lib/components/commands/command-face.d.ts +0 -24
  255. package/lib/components/commands/command.component.d.ts +0 -15
  256. package/lib/components/commands/popup-menu/abstract-popup-menu.component.d.ts +0 -15
  257. package/lib/components/commands/popup-menu/more-menu.component.d.ts +0 -8
  258. package/lib/components/commands/popup-menu/popup-menu.component.d.ts +0 -14
  259. package/lib/components/commands/popup-menu-renderer/popup-menu-renderer.component.d.ts +0 -21
  260. package/lib/components/forms/autocomplete-input/autocomplete-input.component.d.ts +0 -25
  261. package/lib/components/table/mutable-cell-renderer.d.ts +0 -6
  262. package/lib/components/table/table-row-menu/table-row-menu.component.d.ts +0 -25
@@ -1,6 +1,6 @@
1
1
  import { __decorate, __metadata, __param, __awaiter } from 'tslib';
2
2
  import { DOCUMENT, CommonModule, Location } from '@angular/common';
3
- import { ElementRef, Inject, Input, HostListener, Directive, NgZone, ɵɵdefineInjectable, ɵɵinject, Injectable, NgModule, ContentChild, TemplateRef, Component, forwardRef, Optional, HostBinding, ViewEncapsulation, EventEmitter, Output, ViewChild, Self, ChangeDetectorRef, ContentChildren, QueryList, ViewContainerRef, InjectionToken, Injector, ComponentFactoryResolver, ViewChildren, SkipSelf } from '@angular/core';
3
+ import { ElementRef, Inject, Input, HostListener, Directive, NgZone, ɵɵdefineInjectable, ɵɵinject, Injectable, NgModule, ContentChild, TemplateRef, Component, Self, HostBinding, EventEmitter, Output, ChangeDetectorRef, ContentChildren, QueryList, ViewContainerRef, InjectionToken, Injector, ComponentFactoryResolver, ViewChild, ViewChildren, Optional, SkipSelf } from '@angular/core';
4
4
  import { FormsModule } from '@angular/forms';
5
5
  import { MatFormFieldModule } from '@angular/material/form-field';
6
6
  import { MatInputModule } from '@angular/material/input';
@@ -9,21 +9,18 @@ import { MatTabsModule, MatTabGroup, MAT_TABS_CONFIG } from '@angular/material/t
9
9
  import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
10
10
  import { ComponentPortal, TemplatePortal, PortalModule } from '@angular/cdk/portal';
11
11
  import { CdkScrollableModule } from '@angular/cdk/scrolling';
12
- import { MatAutocompleteModule } from '@angular/material/autocomplete';
13
12
  import { MatButtonModule } from '@angular/material/button';
14
13
  import { MatCheckboxModule } from '@angular/material/checkbox';
15
14
  import { MatIconModule } from '@angular/material/icon';
16
- import { MatMenu, MatMenuTrigger, _MatMenuDirectivesModule, MatMenuModule } from '@angular/material/menu';
17
15
  import { MatTableModule } from '@angular/material/table';
18
- import { MatTooltipModule } from '@angular/material/tooltip';
19
- import { FaIconLibrary, FontAwesomeModule } from '@fortawesome/angular-fontawesome';
20
- import { fas } from '@fortawesome/free-solid-svg-icons';
21
- import { GarbageCollector, DelegatingValueModel, assert, UnaryCommand, lang, Dsl, Logger, TrackExternal, Command, MutableListModel, Disposable, MutableValueModel, StoreInValueModel, ListModel, FocusManager, EventListenerList, Form, Guard, Binding, DebugContext, StoreInListModel, ValueModel, MultipleSelectionModel, DirtyTrackingForm, DelegatingCommand, Deferred, Functions } from '@coolon/pectin';
16
+ import { GarbageCollector, DelegatingValueModel, assert, UnaryCommand, lang, Dsl, Logger, TrackExternal, Command, FocusManager, Form, ListModel, StoreInListModel, ValueModel, StoreInValueModel, MutableValueModel, MultipleSelectionModel, MutableListModel, DirtyTrackingForm, DelegatingCommand, Deferred, Trace, Guard, DebugContext, Binding, Functions } from '@coolon/pectin';
17
+ import { assert as assert$1, Opts, lang as lang$1, Klass } from '@coolon/typescript-utilities';
22
18
  import { Memoize } from '@typescript-plus/fast-memoize-decorator/dist/src';
23
19
  import ___default, { isEqual, isNil } from 'lodash';
24
- import { Enum } from 'typescript-string-enums';
25
- import { assert as assert$1, Opts, lang as lang$1, Klass } from '@coolon/typescript-utilities';
26
20
  import produce from 'immer';
21
+ import { FaIconLibrary, FontAwesomeModule } from '@fortawesome/angular-fontawesome';
22
+ import { fas } from '@fortawesome/free-solid-svg-icons';
23
+ import { MatTooltipModule } from '@angular/material/tooltip';
27
24
  import { FlexModule, GridModule } from '@angular/flex-layout';
28
25
  import { MatDialogModule, MatDialog, MatDialogConfig, MAT_DIALOG_DEFAULT_OPTIONS } from '@angular/material/dialog';
29
26
  import { RouterModule, UrlSegment, Router, UrlSerializer, NavigationStart, NavigationEnd, NavigationError, NavigationCancel, RouterOutlet } from '@angular/router';
@@ -372,431 +369,11 @@ CardContainerComponent = __decorate([
372
369
  Component({
373
370
  selector: 'aup-card-container',
374
371
  template: "<div class=\"card-container\">\n <ng-content></ng-content>\n\n <div class=\"add-card-container\" *ngIf=\"addCardCommand.enabled.value\" [pectinCommand]=\"addCardCommand\">\n <aup-icon icon=\"mat:add\"></aup-icon>\n </div>\n\n <div class=\"add-card-template\" *ngIf=\"addCardTemplate\">\n <ng-container [ngTemplateOutlet]=\"addCardTemplate\"></ng-container>\n </div>\n\n</div>\n",
375
- styles: [":root{--aup-default-padding:var(--default-padding, 18px);--aup-default-background:white;--command-face-icon-gap:8px;--aup-icon-width:24px;--aup-fa-icon-width:18px}.router-outlet-container>*{position:absolute;top:0;left:0;bottom:0;right:0}[no-tab-header]>mat-tab-header{display:none}[full-height-tabs] .mat-tab-body-wrapper,mat-tab-group.full-height-tabs .mat-tab-body-wrapper{flex:1}[full-height-tabs] .mat-tab-body-wrapper .mat-tab-body-content,[full-height-tabs] .mat-tab-body-wrapper mat-tab-body,mat-tab-group.full-height-tabs .mat-tab-body-wrapper .mat-tab-body-content,mat-tab-group.full-height-tabs .mat-tab-body-wrapper mat-tab-body{display:flex;flex-direction:column;justify-content:stretch}.dialog-interaction-context{max-width:95vw!important;max-height:95vh!important}.dialog-interaction-context mat-dialog-container{max-width:95vw!important;max-height:95vh!important;padding:0}.aup-popup-interaction-panel{background:var(--aup-default-background,#fff);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12);transition:box-shadow 280ms cubic-bezier(.4,0,.2,1)}.aup-input-activity{padding:calc(var(--aup-default-padding)/2)}.aup-input-component{display:block}.aup-input-component input,.aup-input-component mat-form-field{width:100%}.aup-input-component input mat-hint.faux-error,.aup-input-component mat-form-field mat-hint.faux-error{color:#f44336}.aup-input-component.dense mat-form-field .mat-form-field-infix{border-top:none}.aup-input-component.dense mat-form-field .mat-form-field-flex{padding-top:0}.aup-input-component.dense mat-form-field .mat-form-field-wrapper{padding-bottom:0;border-bottom:0}.aup-input-component.dense mat-form-field .mat-form-field-underline{bottom:0}.aup-input-component.dense mat-form-field.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label-wrapper{display:none}.aup-input-component.dense mat-form-field.mat-form-field-appearance-standard.mat-form-field-has-label .mat-select:not(.mat-select-empty) .mat-select-arrow-wrapper{transform:translateY(0)}aup-table-cell-renderer>.aup-input-component .mat-form-field-flex{padding-top:0}aup-table-cell-renderer>.aup-input-component .mat-form-field-infix{width:0}aup-table-cell-renderer>.aup-input-component .mat-form-field-label-wrapper{display:none}aup-table{--default-column-gap:var(--column-gap, 24px);--resolved-row-hover-background-color:var(--row-hover-background-color, rgba(0, 0, 0, 0.05))}aup-table .mat-table td.mat-cell:first-of-type,aup-table .mat-table td.mat-footer-cell:first-of-type,aup-table .mat-table th.mat-header-cell:first-of-type{padding-left:0}aup-table .mat-table tr.enable-hover:hover{background-color:var(--resolved-row-hover-background-color)}aup-table .mat-table td.enable-cursor{cursor:pointer}aup-table aup-table-cell-renderer,aup-table aup-table-header-cell-renderer{display:flex;flex-direction:column;align-items:stretch;justify-content:center;height:100%;min-height:47px}aup-table aup-table-cell-renderer.first-column,aup-table aup-table-cell-renderer:not(.first-column),aup-table aup-table-header-cell-renderer.first-column,aup-table aup-table-header-cell-renderer:not(.first-column){padding-left:var(--default-column-gap)}aup-table aup-table-cell-renderer.fillCell{justify-content:stretch;padding-left:0!important}aup-table aup-table-cell-renderer.padChild>:first-child{padding-left:var(--default-column-gap);flex:1}aup-icon{--fa-icon-offset:calc((var(--aup-icon-width) - var(--aup-fa-icon-width)) / 2);position:relative}aup-icon fa-icon .svg-inline--fa{position:absolute;top:var(--fa-icon-offset);left:var(--fa-icon-offset);width:var(--aup-fa-icon-width)!important;height:var(--aup-fa-icon-width)!important}.mat-menu-panel aup-icon .svg-inline--fa{opacity:.54}:host{--resolved-card-gap:var(--card-gap, 16px);--resolved-card-width:var(--card-width, 300px);--resolved-card-height:var(--card-height, auto);--resolved-card-min-height:var(--card-min-height, auto);--resolved-card-background:var(--card-background, #fcfcfb);flex:1;display:block;background:var(--resolved-card-background)}.card-container{display:-ms-grid;display:grid;grid-template-columns:repeat(auto-fill,var(--resolved-card-width));grid-template-rows:repeat(auto-fit,minmax(0,var(--resolved-card-height)));grid-gap:var(--resolved-card-gap);box-sizing:border-box;padding:var(--resolved-card-gap);min-height:calc(var(--resolved-card-height) + 2 * var(--resolved-card-gap));min-width:calc(var(--resolved-card-width) + 2 * var(--resolved-card-gap));width:calc((var(--resolved-card-width) + var(--resolved-card-gap)) * 2 + var(--grid-gap));max-width:100%}.add-card-container{width:var(--resolved-card-width);height:var(--resolved-card-height);min-height:var(--resolved-card-min-height);display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;border:2px dashed rgba(0,0,0,.1);border-radius:6px;font-weight:300;cursor:pointer;color:rgba(0,0,0,.54);background-color:rgba(255,255,255,.8);transition:280ms cubic-bezier(.4,0,.2,1)}.add-card-container mat-icon{font-size:200%}.add-card-container:hover{transition:280ms cubic-bezier(.4,0,.2,1);border-color:transparent;background-color:#fff;color:rgba(0,0,0,.54)}.add-card-container:hover:hover{box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.add-card-template-container{width:var(--resolved-card-width);height:var(--resolved-card-height);display:flex;flex-direction:column;align-items:stretch;justify-content:stretch}"]
372
+ styles: [":root{--aup-default-padding:var(--default-padding, 18px);--aup-default-background:white}.router-outlet-container>*{position:absolute;top:0;left:0;bottom:0;right:0}[no-tab-header]>mat-tab-header{display:none}[full-height-tabs] .mat-tab-body-wrapper,mat-tab-group.full-height-tabs .mat-tab-body-wrapper{flex:1}[full-height-tabs] .mat-tab-body-wrapper .mat-tab-body-content,[full-height-tabs] .mat-tab-body-wrapper mat-tab-body,mat-tab-group.full-height-tabs .mat-tab-body-wrapper .mat-tab-body-content,mat-tab-group.full-height-tabs .mat-tab-body-wrapper mat-tab-body{display:flex;flex-direction:column;justify-content:stretch}.dialog-interaction-context{max-width:95vw!important;max-height:95vh!important}.dialog-interaction-context mat-dialog-container{max-width:95vw!important;max-height:95vh!important;padding:0}.aup-popup-interaction-panel{background:var(--aup-default-background,#fff);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12);transition:box-shadow 280ms cubic-bezier(.4,0,.2,1)}.aup-input-activity{padding:calc(var(--aup-default-padding)/2)}.aup-input-component{display:block}.aup-input-component input,.aup-input-component mat-form-field{width:100%}.aup-input-component input mat-hint.faux-error,.aup-input-component mat-form-field mat-hint.faux-error{color:#f44336}.aup-input-component.dense mat-form-field .mat-form-field-infix{border-top:none}.aup-input-component.dense mat-form-field .mat-form-field-flex{padding-top:0}.aup-input-component.dense mat-form-field .mat-form-field-wrapper{padding-bottom:0;border-bottom:0}.aup-input-component.dense mat-form-field .mat-form-field-underline{bottom:0}.aup-input-component.dense mat-form-field.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label-wrapper{display:none}aup-table-cell-renderer>.aup-input-component .mat-form-field-flex{padding-top:0}aup-table-cell-renderer>.aup-input-component .mat-form-field-infix{width:0}aup-table-cell-renderer>.aup-input-component .mat-form-field-label-wrapper{display:none}aup-table{--default-column-gap:var(--column-gap, 24px);--resolved-row-hover-background-color:var(--row-hover-background-color, rgba(0, 0, 0, 0.05))}aup-table .mat-table td.mat-cell:first-of-type,aup-table .mat-table td.mat-footer-cell:first-of-type,aup-table .mat-table th.mat-header-cell:first-of-type{padding-left:0}aup-table .mat-table tr.enable-hover:hover{background-color:var(--resolved-row-hover-background-color)}aup-table .mat-table td.enable-cursor{cursor:pointer}aup-table aup-table-cell-renderer,aup-table aup-table-header-cell-renderer{display:flex;flex-direction:column;align-items:stretch;justify-content:center;height:100%;min-height:47px}aup-table aup-table-cell-renderer.first-column,aup-table aup-table-cell-renderer:not(.first-column),aup-table aup-table-header-cell-renderer.first-column,aup-table aup-table-header-cell-renderer:not(.first-column){padding-left:var(--default-column-gap)}aup-table aup-table-cell-renderer.fillCell{justify-content:stretch;padding-left:0!important}aup-table aup-table-cell-renderer.padChild>:first-child{padding-left:var(--default-column-gap);flex:1}:host{--resolved-card-gap:var(--card-gap, 16px);--resolved-card-width:var(--card-width, 300px);--resolved-card-height:var(--card-height, auto);--resolved-card-min-height:var(--card-min-height, auto);--resolved-card-background:var(--card-background, #fcfcfb);flex:1;display:block;background:var(--resolved-card-background)}.card-container{display:-ms-grid;display:grid;grid-template-columns:repeat(auto-fill,var(--resolved-card-width));grid-template-rows:repeat(auto-fit,minmax(0,var(--resolved-card-height)));grid-gap:var(--resolved-card-gap);box-sizing:border-box;padding:var(--resolved-card-gap);min-height:calc(var(--resolved-card-height) + 2 * var(--resolved-card-gap));min-width:calc(var(--resolved-card-width) + 2 * var(--resolved-card-gap));width:calc((var(--resolved-card-width) + var(--resolved-card-gap)) * 2 + var(--grid-gap));max-width:100%}.add-card-container{width:var(--resolved-card-width);height:var(--resolved-card-height);min-height:var(--resolved-card-min-height);display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;border:2px dashed rgba(0,0,0,.1);border-radius:6px;font-weight:300;cursor:pointer;color:rgba(0,0,0,.54);background-color:rgba(255,255,255,.8);transition:280ms cubic-bezier(.4,0,.2,1)}.add-card-container mat-icon{font-size:200%}.add-card-container:hover{transition:280ms cubic-bezier(.4,0,.2,1);border-color:transparent;background-color:#fff;color:rgba(0,0,0,.54)}.add-card-container:hover:hover{box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.add-card-template-container{width:var(--resolved-card-width);height:var(--resolved-card-height);display:flex;flex-direction:column;align-items:stretch;justify-content:stretch}"]
376
373
  }),
377
374
  __metadata("design:paramtypes", [])
378
375
  ], CardContainerComponent);
379
376
 
380
- var CommandFace;
381
- (function (CommandFace) {
382
- let Position;
383
- (function (Position) {
384
- Position["START"] = "start";
385
- Position["END"] = "end";
386
- })(Position = CommandFace.Position || (CommandFace.Position = {}));
387
- class Adapter {
388
- constructor(face) {
389
- this.face = face;
390
- }
391
- get text() {
392
- return ___default.isFunction(this.face.text) ? this.face.text() : undefined;
393
- }
394
- get icon() {
395
- return ___default.isFunction(this.face.icon) ? this.face.icon() : undefined;
396
- }
397
- get iconPosition() {
398
- return ___default.isFunction(this.face.iconPosition) ? this.face.iconPosition() : undefined;
399
- }
400
- get tooltip() {
401
- return ___default.isFunction(this.face.tooltip) ? this.face.tooltip() : undefined;
402
- }
403
- get iconPositionStart() {
404
- return this.iconPosition === CommandFace.Position.START;
405
- }
406
- get iconPositionEnd() {
407
- return this.iconPosition === CommandFace.Position.END;
408
- }
409
- get destructive() {
410
- return ___default.isFunction(this.face.destructive) ? this.face.destructive() : false;
411
- }
412
- }
413
- __decorate([
414
- Memoize(),
415
- __metadata("design:type", Object),
416
- __metadata("design:paramtypes", [])
417
- ], Adapter.prototype, "text", null);
418
- __decorate([
419
- Memoize(),
420
- __metadata("design:type", Object),
421
- __metadata("design:paramtypes", [])
422
- ], Adapter.prototype, "icon", null);
423
- __decorate([
424
- Memoize(),
425
- __metadata("design:type", Object),
426
- __metadata("design:paramtypes", [])
427
- ], Adapter.prototype, "iconPosition", null);
428
- __decorate([
429
- Memoize(),
430
- __metadata("design:type", Object),
431
- __metadata("design:paramtypes", [])
432
- ], Adapter.prototype, "tooltip", null);
433
- __decorate([
434
- Memoize(),
435
- __metadata("design:type", Boolean),
436
- __metadata("design:paramtypes", [])
437
- ], Adapter.prototype, "iconPositionStart", null);
438
- __decorate([
439
- Memoize(),
440
- __metadata("design:type", Boolean),
441
- __metadata("design:paramtypes", [])
442
- ], Adapter.prototype, "iconPositionEnd", null);
443
- __decorate([
444
- Memoize(),
445
- __metadata("design:type", Boolean),
446
- __metadata("design:paramtypes", [])
447
- ], Adapter.prototype, "destructive", null);
448
- CommandFace.Adapter = Adapter;
449
- })(CommandFace || (CommandFace = {}));
450
-
451
- class CommandContainer extends GarbageCollector {
452
- constructor() {
453
- super();
454
- this._commandRegistrations = new MutableListModel();
455
- }
456
- get commandRegistrations() {
457
- return this._commandRegistrations.readonly;
458
- }
459
- registerCommand(command, face) {
460
- const registration = { command, faceAdapter: new CommandFace.Adapter(face) };
461
- this._commandRegistrations.push(registration);
462
- return Disposable.disposableThatRuns(() => this._commandRegistrations.remove(registration));
463
- }
464
- getDefaultIconPosition() {
465
- return CommandFace.Position.START;
466
- }
467
- }
468
-
469
- var CommandBarComponent_1;
470
- /**
471
- *
472
- */
473
- let CommandBarComponent = CommandBarComponent_1 = class CommandBarComponent extends CommandContainer {
474
- constructor() {
475
- super();
476
- }
477
- ngOnInit() {
478
- }
479
- getButtonColor(registration) {
480
- return registration.faceAdapter.destructive ? 'warn' : undefined;
481
- }
482
- };
483
- CommandBarComponent = CommandBarComponent_1 = __decorate([
484
- Component({
485
- selector: 'aup-command-bar',
486
- template: `
487
- <ng-container *ngFor="let registration of commandRegistrations.value">
488
- <button *ngIf="registration.faceAdapter.icon && !registration.faceAdapter.text"
489
- mat-icon-button
490
- [color]="getButtonColor(registration)"
491
- [pectinCommand]="registration.command"
492
- [matTooltip]="registration.faceAdapter.tooltip"
493
- >
494
- <aup-command-face [face]="registration.faceAdapter.face"></aup-command-face>
495
- </button>
496
- <button *ngIf="registration.faceAdapter.text"
497
- [color]="getButtonColor(registration)"
498
- mat-button
499
- [pectinCommand]="registration.command"
500
- [matTooltip]="registration.tooltip"
501
- >
502
- <aup-command-face [face]="registration.faceAdapter.face"></aup-command-face>
503
- </button>
504
- </ng-container>
505
- `,
506
- providers: [{ provide: CommandContainer, useExisting: forwardRef(() => CommandBarComponent_1) }],
507
- styles: [`:host {
508
- display: inline-flex;
509
- flex-direction: row;
510
- align-items: center;
511
- }`]
512
- }),
513
- __metadata("design:paramtypes", [])
514
- ], CommandBarComponent);
515
-
516
- /**
517
- *
518
- */
519
- let CommandFaceComponent = class CommandFaceComponent extends DisposableComponent {
520
- constructor(commandContainer) {
521
- super();
522
- this.commandContainer = commandContainer;
523
- this.faceModel = new MutableValueModel();
524
- this.ignoreIcon = false;
525
- this.ignoreText = false;
526
- this.includeMissingIconInLayout = false;
527
- const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
528
- // overkill /c: when all you have is a hammer...
529
- const faceAdapter = chain(this.faceModel).map(face => new CommandFace.Adapter(face));
530
- this.iconModel = faceAdapter.pluck('icon');
531
- this.textModel = faceAdapter.pluck('text');
532
- this.positionModel = faceAdapter.pluck('iconPosition');
533
- this.destructiveModel = faceAdapter.pluck('destructive');
534
- }
535
- get requiresMissingIconInLayout() {
536
- return this.includeMissingIconInLayout && !this.iconModel.value;
537
- }
538
- ngOnInit() {
539
- }
540
- get iconPosition() {
541
- var _a, _b, _c;
542
- return (_c = (_a = this.positionModel.value) !== null && _a !== void 0 ? _a : (_b = this.commandContainer) === null || _b === void 0 ? void 0 : _b.getDefaultIconPosition()) !== null && _c !== void 0 ? _c : CommandFace.Position.START;
543
- }
544
- get shouldIncludeIcon() {
545
- return (!this.ignoreIcon && this.iconModel.value) || this.includeMissingIconInLayout;
546
- }
547
- get iconStart() {
548
- return this.shouldIncludeIcon && this.iconPosition === CommandFace.Position.START;
549
- }
550
- get iconEnd() {
551
- return this.shouldIncludeIcon && this.iconPosition === CommandFace.Position.END;
552
- }
553
- get text() {
554
- return this.ignoreText ? undefined : this.textModel.value;
555
- }
556
- get destructive() {
557
- return this.destructiveModel.value;
558
- }
559
- };
560
- CommandFaceComponent.ctorParameters = () => [
561
- { type: CommandContainer, decorators: [{ type: Optional }] }
562
- ];
563
- __decorate([
564
- Input('face'), StoreInValueModel('faceModel'),
565
- __metadata("design:type", Object)
566
- ], CommandFaceComponent.prototype, "_rawFace", void 0);
567
- __decorate([
568
- Input(),
569
- __metadata("design:type", Object)
570
- ], CommandFaceComponent.prototype, "ignoreIcon", void 0);
571
- __decorate([
572
- Input(),
573
- __metadata("design:type", Object)
574
- ], CommandFaceComponent.prototype, "ignoreText", void 0);
575
- __decorate([
576
- Input(),
577
- __metadata("design:type", Object)
578
- ], CommandFaceComponent.prototype, "includeMissingIconInLayout", void 0);
579
- __decorate([
580
- HostBinding('class.hide-icon'),
581
- __metadata("design:type", Object),
582
- __metadata("design:paramtypes", [])
583
- ], CommandFaceComponent.prototype, "requiresMissingIconInLayout", null);
584
- __decorate([
585
- HostBinding('class.destructive'),
586
- __metadata("design:type", Boolean),
587
- __metadata("design:paramtypes", [])
588
- ], CommandFaceComponent.prototype, "destructive", null);
589
- CommandFaceComponent = __decorate([
590
- Component({
591
- selector: 'aup-command-face',
592
- template: "<aup-icon *ngIf=\"iconStart\" [icon]=\"iconModel.value\"></aup-icon>\n<span *ngIf=\"this.text\">{{this.text}}</span>\n<aup-icon *ngIf=\"iconEnd\" [icon]=\"iconModel.value\"></aup-icon>\n",
593
- encapsulation: ViewEncapsulation.None,
594
- styles: ["aup-command-face{--icon-gap:var(--command-face-icon-gap);display:inline-flex;flex-direction:row;align-items:center}aup-command-face *+*{margin-left:var(--icon-gap)}aup-command-face.hide-icon aup-icon{visibility:hidden}"]
595
- }),
596
- __param(0, Optional()),
597
- __metadata("design:paramtypes", [CommandContainer])
598
- ], CommandFaceComponent);
599
-
600
- /**
601
- *
602
- */
603
- let CommandComponent = class CommandComponent extends DisposableComponent {
604
- constructor(commandContainer) {
605
- super();
606
- this.commandContainer = commandContainer;
607
- }
608
- ngOnInit() {
609
- this.registerDisposable(this.commandContainer.registerCommand(this.command, this.face));
610
- }
611
- };
612
- CommandComponent.ctorParameters = () => [
613
- { type: CommandContainer }
614
- ];
615
- __decorate([
616
- Input(), TrackExternal(),
617
- __metadata("design:type", Command)
618
- ], CommandComponent.prototype, "command", void 0);
619
- __decorate([
620
- Input(),
621
- __metadata("design:type", Object)
622
- ], CommandComponent.prototype, "face", void 0);
623
- CommandComponent = __decorate([
624
- Component({
625
- selector: 'aup-command',
626
- template: ``
627
- }),
628
- __metadata("design:paramtypes", [CommandContainer])
629
- ], CommandComponent);
630
-
631
- /**
632
- *
633
- */
634
- let PopupMenuRendererComponent = class PopupMenuRendererComponent extends DisposableComponent {
635
- constructor() {
636
- super();
637
- this.xPosition = 'after';
638
- this.yPosition = 'below';
639
- this.commandExecuted = new EventEmitter();
640
- const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
641
- const registrations = chain(this.commandRegistrations);
642
- const iconCount = registrations.select(r => !!r.faceAdapter.icon).count();
643
- this.hasMixedIcons = valueOf.all(iconCount.isGreaterThan(0), iconCount.doesNotEqual(registrations.length)).areTruthy();
644
- }
645
- ngOnInit() {
646
- }
647
- getPopupMenuCommandFor(item) {
648
- const { when } = Dsl.disposeWith(this);
649
- when(item.command.busy).becomesFalsey(() => {
650
- this.commandExecuted.emit();
651
- });
652
- return item.command;
653
- }
654
- getButtonColor(registration) {
655
- return registration.faceAdapter.destructive ? 'warn' : undefined;
656
- }
657
- };
658
- __decorate([
659
- Input(), TrackExternal(),
660
- __metadata("design:type", ListModel)
661
- ], PopupMenuRendererComponent.prototype, "commandRegistrations", void 0);
662
- __decorate([
663
- Input(),
664
- __metadata("design:type", String)
665
- ], PopupMenuRendererComponent.prototype, "xPosition", void 0);
666
- __decorate([
667
- Input(),
668
- __metadata("design:type", String)
669
- ], PopupMenuRendererComponent.prototype, "yPosition", void 0);
670
- __decorate([
671
- Output(),
672
- __metadata("design:type", Object)
673
- ], PopupMenuRendererComponent.prototype, "commandExecuted", void 0);
674
- __decorate([
675
- ViewChild(MatMenu),
676
- __metadata("design:type", MatMenu)
677
- ], PopupMenuRendererComponent.prototype, "matMenu", void 0);
678
- PopupMenuRendererComponent = __decorate([
679
- Component({
680
- selector: 'aup-popup-menu-renderer',
681
- template: "<mat-menu [xPosition]=\"xPosition\" [yPosition]=\"yPosition\" >\n <button *ngFor=\"let registration of commandRegistrations.value\"\n mat-menu-item\n [pectinCommand]=\"getPopupMenuCommandFor(registration)\"\n >\n <aup-command-face [face]=\"registration.faceAdapter.face\" [includeMissingIconInLayout]=\"hasMixedIcons.value\"></aup-command-face>\n </button>\n</mat-menu>\n",
682
- styles: [":host{display:inline-flex;flex-direction:row;align-items:center}"]
683
- }),
684
- __metadata("design:paramtypes", [])
685
- ], PopupMenuRendererComponent);
686
-
687
- /**
688
- *
689
- */
690
- let AbstractPopupMenuComponent = class AbstractPopupMenuComponent extends CommandContainer {
691
- constructor() {
692
- super();
693
- this.xPosition = 'after';
694
- this.yPosition = 'below';
695
- }
696
- get matMenuComponent() {
697
- var _a;
698
- return (_a = this.popupMenu) === null || _a === void 0 ? void 0 : _a.matMenu;
699
- }
700
- closeMenu() {
701
- this.menuTrigger.closeMenu();
702
- }
703
- getButtonColor(registration) {
704
- return registration.faceAdapter.destructive ? 'warn' : undefined;
705
- }
706
- };
707
- __decorate([
708
- Input(),
709
- __metadata("design:type", String)
710
- ], AbstractPopupMenuComponent.prototype, "xPosition", void 0);
711
- __decorate([
712
- Input(),
713
- __metadata("design:type", String)
714
- ], AbstractPopupMenuComponent.prototype, "yPosition", void 0);
715
- __decorate([
716
- ViewChild(PopupMenuRendererComponent),
717
- __metadata("design:type", PopupMenuRendererComponent)
718
- ], AbstractPopupMenuComponent.prototype, "popupMenu", void 0);
719
- __decorate([
720
- ViewChild(MatMenuTrigger),
721
- __metadata("design:type", MatMenuTrigger)
722
- ], AbstractPopupMenuComponent.prototype, "menuTrigger", void 0);
723
- AbstractPopupMenuComponent = __decorate([
724
- Component({
725
- selector: 'aup-abstract-popup-menu',
726
- template: ''
727
- }),
728
- __metadata("design:paramtypes", [])
729
- ], AbstractPopupMenuComponent);
730
-
731
- var PopupMenuComponent_1;
732
- /**
733
- *
734
- */
735
- let PopupMenuComponent = PopupMenuComponent_1 = class PopupMenuComponent extends AbstractPopupMenuComponent {
736
- constructor() {
737
- super();
738
- this.faceModel = new MutableValueModel();
739
- const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
740
- const faceAdapterModel = chain(this.faceModel).map(face => new CommandFace.Adapter(face));
741
- this.faceTooltipModel = faceAdapterModel.pluck('tooltip');
742
- }
743
- getTooltip() {
744
- return this.faceTooltipModel.value;
745
- }
746
- ngOnInit() {
747
- }
748
- };
749
- __decorate([
750
- Input(), StoreInValueModel('faceModel'),
751
- __metadata("design:type", Object)
752
- ], PopupMenuComponent.prototype, "face", void 0);
753
- PopupMenuComponent = PopupMenuComponent_1 = __decorate([
754
- Component({
755
- selector: 'aup-popup-menu',
756
- template: `
757
- <!-- we can only render the button after th popup menu has initialised and rendered it's menu component -->
758
- <button *ngIf="matMenuComponent" mat-icon-button [matMenuTriggerFor]="matMenuComponent" [matTooltip]="getTooltip()">
759
- <aup-command-face [face]="face"></aup-command-face>
760
- </button>
761
- <aup-popup-menu-renderer [commandRegistrations]="commandRegistrations" [yPosition]="yPosition"
762
- [xPosition]="xPosition"
763
- (commandExecuted)="closeMenu()"></aup-popup-menu-renderer>
764
- `,
765
- providers: [{ provide: CommandContainer, useExisting: forwardRef(() => PopupMenuComponent_1) }]
766
- }),
767
- __metadata("design:paramtypes", [])
768
- ], PopupMenuComponent);
769
-
770
- var MoreMenuComponent_1;
771
- /**
772
- *
773
- */
774
- let MoreMenuComponent = MoreMenuComponent_1 = class MoreMenuComponent extends AbstractPopupMenuComponent {
775
- constructor() {
776
- super();
777
- }
778
- };
779
- __decorate([
780
- Input(),
781
- __metadata("design:type", String)
782
- ], MoreMenuComponent.prototype, "tooltip", void 0);
783
- MoreMenuComponent = MoreMenuComponent_1 = __decorate([
784
- Component({
785
- selector: 'aup-more-menu',
786
- template: `
787
- <!-- we can only render the button after th popup menu has initialised and rendered it's menu component -->
788
- <button *ngIf="matMenuComponent" mat-icon-button [matMenuTriggerFor]="matMenuComponent" [matTooltip]="tooltip">
789
- <mat-icon>more_vert</mat-icon>
790
- </button>
791
- <aup-popup-menu-renderer [commandRegistrations]="commandRegistrations"
792
- [yPosition]="yPosition" [xPosition]="xPosition"
793
- (commandExecuted)="closeMenu()"></aup-popup-menu-renderer>
794
- `,
795
- providers: [{ provide: CommandContainer, useExisting: forwardRef(() => MoreMenuComponent_1) }]
796
- }),
797
- __metadata("design:paramtypes", [])
798
- ], MoreMenuComponent);
799
-
800
377
  let FocusContainerComponent = class FocusContainerComponent extends DisposableComponent {
801
378
  constructor(focusManager) {
802
379
  super();
@@ -890,7 +467,6 @@ FocusableComponent = __decorate([
890
467
  let AbstractInputComponent = class AbstractInputComponent extends DisposableComponent {
891
468
  constructor() {
892
469
  super();
893
- this.onValueEditedListeners = new EventListenerList();
894
470
  this.dense = false;
895
471
  // TODO: fix this.
896
472
  // tslint:disable-next-line:no-output-native
@@ -939,19 +515,19 @@ let AbstractInputComponent = class AbstractInputComponent extends DisposableComp
939
515
  return this.enabled.value;
940
516
  }
941
517
  get enabled() {
942
- return this.formValueModel.enabled;
518
+ return this.inputModel.enabled;
943
519
  }
944
520
  hasErrors() {
945
521
  return !this.errorList.query().isEmpty();
946
522
  }
947
523
  get errorList() {
948
- return this.formValueModel.errorList;
524
+ return this.inputModel.errorList;
949
525
  }
950
526
  get firstError() {
951
527
  return this.hasErrors() ? this.errorList.value[0] : null;
952
528
  }
953
529
  get focusContext() {
954
- return this.formValueModel.focusContext;
530
+ return this.inputModel.focusContext;
955
531
  }
956
532
  get floatLabel() {
957
533
  return this.dense ? 'never' : this.userFloatLabel;
@@ -959,13 +535,6 @@ let AbstractInputComponent = class AbstractInputComponent extends DisposableComp
959
535
  get showHint() {
960
536
  return this.dense ? false : !!this.hint;
961
537
  }
962
- /**
963
- * Invokes the callback when this components value is changed by a user edit.
964
- * @param callback
965
- */
966
- onValueEdited(callback) {
967
- return this.onValueEditedListeners.add(callback);
968
- }
969
538
  };
970
539
  __decorate([
971
540
  Input(),
@@ -1053,7 +622,7 @@ AbstractInputComponent = __decorate([
1053
622
 
1054
623
  let AbstractListInputComponent = class AbstractListInputComponent extends AbstractInputComponent {
1055
624
  constructor() {
1056
- super();
625
+ super(...arguments);
1057
626
  /**
1058
627
  * A backing model for all our @Input() valueModel properties which should be defined as follows.
1059
628
  *
@@ -1065,56 +634,11 @@ let AbstractListInputComponent = class AbstractListInputComponent extends Abstra
1065
634
  * gets told it's an Object and can't scan for a base type annotated with @DelegateUsing(..).
1066
635
  */
1067
636
  // We have to register it as a disposable so it ditches any listeners when we're disposed.
1068
- this.formValueModel = this.registerDisposable(new Form.DelegatingListModel());
1069
- this.componentListModel = new MutableListModel();
1070
- this.setValueIsInProgress = new Guard();
1071
- this.valueChange = new EventEmitter();
1072
- const { when, valueOf, chain } = Dsl.disposeWith(this);
1073
- const binding = new Binding.Identity(this.formValueModel, this.componentListModel).writeRight();
1074
- const inExternalChange = valueOf.any(this.setValueIsInProgress, chain(binding.direction).equals(Binding.Direction.RIGHT)).areTruthy();
1075
- when(this.componentListModel).changes((is, was) => {
1076
- this.valueChange.emit(is);
1077
- this.onValueEditedListeners.fire(l => l(is, was));
1078
- }, {
1079
- initialValue: 'ignore',
1080
- // we never fire events during an external changes to the value. This allows
1081
- // the component to behave when used in the conventional angular
1082
- // fashion, i.e. [(value)]="..."
1083
- unless: inExternalChange
1084
- });
1085
- DebugContext.tag(this.formValueModel, `${this.constructor.name}.formValueModel`);
1086
- }
1087
- // We add support for simple direct display of values by allowing components to be used
1088
- // by `component.value = ...` This use of the component without a value model in tables
1089
- // and the like.
1090
- set value(value) {
1091
- this.setValueIsInProgress.whileTrue(() => {
1092
- if (!this.listHolder) {
1093
- this.listHolder = new MutableListModel(value);
1094
- this.listModel = this.listHolder;
1095
- }
1096
- else {
1097
- this.listHolder.value = value;
1098
- }
1099
- });
637
+ this.inputModel = this.registerDisposable(new Form.DelegatingListModel());
1100
638
  }
1101
639
  };
1102
- __decorate([
1103
- Input(), TrackExternal({ delegateTo: 'formValueModel' }),
1104
- __metadata("design:type", Object)
1105
- ], AbstractListInputComponent.prototype, "listModel", void 0);
1106
- __decorate([
1107
- Input(),
1108
- __metadata("design:type", Array),
1109
- __metadata("design:paramtypes", [Array])
1110
- ], AbstractListInputComponent.prototype, "value", null);
1111
- __decorate([
1112
- Output(),
1113
- __metadata("design:type", Object)
1114
- ], AbstractListInputComponent.prototype, "valueChange", void 0);
1115
640
  AbstractListInputComponent = __decorate([
1116
- Component({ template: '' }),
1117
- __metadata("design:paramtypes", [])
641
+ Component({ template: '' })
1118
642
  ], AbstractListInputComponent);
1119
643
 
1120
644
  let AbstractValueInputComponent = class AbstractValueInputComponent extends AbstractInputComponent {
@@ -1131,133 +655,27 @@ let AbstractValueInputComponent = class AbstractValueInputComponent extends Abst
1131
655
  * gets told it's an Object and can't scan for a base type annotated with @DelegateUsing(..).
1132
656
  */
1133
657
  // We have to register it as a disposable so it ditches any listeners when we're disposed.
1134
- this.formValueModel = this.registerDisposable(new Form.DelegatingValueModel());
1135
- this.setValueInProgress = new Guard();
1136
- this.componentValueModel = new MutableValueModel();
1137
- this.valueChange = new EventEmitter();
1138
- const { when, chain, valueOf } = Dsl.disposeWith(this);
1139
- const binding = new Binding.Identity(this.formValueModel, this.componentValueModel).writeRight();
1140
- const inExternalChange = valueOf.any(this.setValueInProgress, chain(binding.direction).equals(Binding.Direction.RIGHT)).areTruthy();
1141
- when(this.componentValueModel).changes((is, was) => {
1142
- this.valueChange.emit(is);
1143
- this.onValueEditedListeners.fire(l => l(is, was));
1144
- }, {
1145
- initialValue: 'ignore',
1146
- // we never fire events during an external set value operation. This allows
1147
- // the component to behave when used in the conventional angular
1148
- // fashion, i.e. [(value)]="..."
1149
- unless: inExternalChange
1150
- });
1151
- DebugContext.tag(this.formValueModel, `${this.constructor.name}.formValueModel`);
1152
- }
1153
- // We add support for simple direct display of values by allowing components to be used
1154
- // by `component.value = ...` This use of the component without a value model in tables
1155
- // and the like.
1156
- set value(value) {
1157
- this.setValueInProgress.whileTrue(() => {
1158
- if (!this.plainValueHolder) {
1159
- this.plainValueHolder = new MutableValueModel(value);
1160
- this.valueModel = this.plainValueHolder;
1161
- }
1162
- else {
1163
- this.plainValueHolder.value = value;
1164
- }
1165
- });
658
+ this.inputModel = this.registerDisposable(new Form.DelegatingValueModel());
1166
659
  }
1167
660
  };
1168
- __decorate([
1169
- Input(), TrackExternal({ delegateTo: 'formValueModel' }),
1170
- __metadata("design:type", Object)
1171
- ], AbstractValueInputComponent.prototype, "valueModel", void 0);
1172
- __decorate([
1173
- Input(),
1174
- __metadata("design:type", Object),
1175
- __metadata("design:paramtypes", [Object])
1176
- ], AbstractValueInputComponent.prototype, "value", null);
1177
- __decorate([
1178
- Output(),
1179
- __metadata("design:type", Object)
1180
- ], AbstractValueInputComponent.prototype, "valueChange", void 0);
1181
661
  AbstractValueInputComponent = __decorate([
1182
662
  Component({ template: '' }),
1183
663
  __metadata("design:paramtypes", [])
1184
664
  ], AbstractValueInputComponent);
1185
665
 
1186
- /**
1187
- * Using templates (not only supported for nil values:
1188
- * <aup-autocomplete-input [valueModel]="myModel" [options]="myOptions">
1189
- * <ng-template #nilOptionTemplate let-option>{{option.thePropertyYouWant}}</ng-template>
1190
- * </aup-autocomplete-input>
1191
- */
1192
- let AutocompleteInputComponent = class AutocompleteInputComponent extends AbstractValueInputComponent {
1193
- constructor() {
1194
- super();
1195
- this.filterValue = new MutableValueModel();
1196
- this.optionLabelFormat = (option) => (option && this.optionLabel) ? option[this.optionLabel] : option;
1197
- const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
1198
- const lowerCaseFilterValue = chain(this.filterValue)
1199
- .map(v => ___default.isString(v) ? v.toLowerCase() : '');
1200
- this.filteredOptions = chain(this.optionsModel)
1201
- .select(option => {
1202
- return ___default.isEmpty(this.filterValue.value) || this.optionLabelFormat(option).toString().toLowerCase().includes(lowerCaseFilterValue.value);
1203
- }, { dependsOn: lowerCaseFilterValue });
1204
- }
1205
- ngOnInit() {
1206
- }
1207
- formatOption(option) {
1208
- return this.optionLabelFormat(option);
1209
- }
1210
- updateFilter($event) {
1211
- this.filterValue.value = $event;
1212
- }
1213
- onSelect($event) {
1214
- this.valueModel.value = $event.option.value;
1215
- }
1216
- };
1217
- __decorate([
1218
- Input(), TrackExternal(),
1219
- __metadata("design:type", ListModel)
1220
- ], AutocompleteInputComponent.prototype, "optionsModel", void 0);
1221
- __decorate([
1222
- Input(), StoreInListModel('optionsModel'),
1223
- __metadata("design:type", Array)
1224
- ], AutocompleteInputComponent.prototype, "options", void 0);
1225
- __decorate([
1226
- Input(),
1227
- __metadata("design:type", Object)
1228
- ], AutocompleteInputComponent.prototype, "optionLabel", void 0);
1229
- __decorate([
1230
- Input(),
1231
- __metadata("design:type", Boolean)
1232
- ], AutocompleteInputComponent.prototype, "allowNil", void 0);
1233
- __decorate([
1234
- ContentChild('nilOptionTemplate'),
1235
- __metadata("design:type", TemplateRef)
1236
- ], AutocompleteInputComponent.prototype, "nilOptionTemplateRef", void 0);
1237
- __decorate([
1238
- Input(),
1239
- __metadata("design:type", Function)
1240
- ], AutocompleteInputComponent.prototype, "optionLabelFormat", void 0);
1241
- AutocompleteInputComponent = __decorate([
1242
- Component({
1243
- selector: 'aup-autocomplete-input',
1244
- template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input type=\"string\"\n matInput\n [matAutocomplete]=\"autocomplete\"\n placeholder=\"{{placeholder}}\"\n [ngModel]=\"componentValueModel.value\"\n (ngModelChange)=\"updateFilter($event)\"\n [disabled]=\"!enabled.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-autocomplete #autocomplete [displayWith]=\"optionLabelFormat\" [autoActiveFirstOption]=\"true\" (optionSelected)=\"onSelect($event)\">\n <mat-option *ngFor=\"let option of filteredOptions.value; let i = index\"\n [value]=\"option\"\n >{{formatOption(option)}}</mat-option>\n <mat-option *ngIf=\"allowNil\">{{placeholder}}</mat-option>\n </mat-autocomplete>\n\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n",
1245
- styles: [":host{display:inline-block}mat-form-field{width:100%}"]
1246
- }),
1247
- __metadata("design:paramtypes", [])
1248
- ], AutocompleteInputComponent);
1249
-
1250
666
  let CheckboxInputComponent = class CheckboxInputComponent extends AbstractValueInputComponent {
1251
667
  constructor() {
1252
668
  super();
1253
- // @Input() @TrackExternal({ delegateTo: 'inputModel' })
1254
- // valueModel: Form.ValueModelBase<boolean> | IMutableValueModel<boolean>;
1255
669
  this.color = 'accent';
1256
670
  this.labelPosition = 'after';
1257
671
  }
1258
672
  ngOnInit() {
1259
673
  }
1260
674
  };
675
+ __decorate([
676
+ Input(), TrackExternal({ delegateTo: 'inputModel' }),
677
+ __metadata("design:type", Object)
678
+ ], CheckboxInputComponent.prototype, "valueModel", void 0);
1261
679
  __decorate([
1262
680
  Input(),
1263
681
  __metadata("design:type", String)
@@ -1269,67 +687,25 @@ __decorate([
1269
687
  CheckboxInputComponent = __decorate([
1270
688
  Component({
1271
689
  selector: 'aup-checkbox-input',
1272
- template: "<!-- TODO: add focus binding -->\n<mat-checkbox\n [(ngModel)]=\"componentValueModel.value\"\n [color]=\"color\"\n [labelPosition]=\"labelPosition\"\n [disabled]=\"!isEnabled()\"\n>{{label}}</mat-checkbox>\n<mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n<mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n",
690
+ template: "<!-- TODO: add focus binding -->\n<mat-checkbox\n [(ngModel)]=\"valueModel.value\"\n [color]=\"color\"\n [labelPosition]=\"labelPosition\"\n [disabled]=\"!isEnabled()\"\n>{{label}}</mat-checkbox>\n<mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n<mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n",
1273
691
  styles: [":host{display:inline-flex;flex-direction:column;padding:24px 0 16px}:host.dense{padding:6px 0 2px}mat-error,mat-hint{margin-top:4px;margin-left:24px;font-size:12px;font-weight:400;line-height:13.5px}"]
1274
692
  }),
1275
693
  __metadata("design:paramtypes", [])
1276
694
  ], CheckboxInputComponent);
1277
695
 
1278
- /**
1279
- * Using templates:
1280
- * <aup-multiple-select-input [valueModel]="myModel" [options]="myOptions">
1281
- * <ng-template #optionTemplate let-option>{{option.thePropertyYouWant}}</ng-template>
1282
- * <ng-template #nilOptionTemplate let-option>{{option.thePropertyYouWant}}</ng-template>
1283
- * </aup-multiple-select_input>
1284
- */
1285
- let MultipleSelectInputComponent = class MultipleSelectInputComponent extends AbstractListInputComponent {
1286
- constructor() {
1287
- super();
1288
- this.optionLabelFormat = (option) => (option && this.optionLabel) ? option[this.optionLabel] : option;
1289
- }
1290
- ngOnInit() {
1291
- }
1292
- };
1293
- __decorate([
1294
- Input(), TrackExternal(),
1295
- __metadata("design:type", ListModel)
1296
- ], MultipleSelectInputComponent.prototype, "optionsModel", void 0);
1297
- __decorate([
1298
- Input(), StoreInListModel('optionsModel'),
1299
- __metadata("design:type", Array)
1300
- ], MultipleSelectInputComponent.prototype, "options", void 0);
1301
- __decorate([
1302
- Input(),
1303
- __metadata("design:type", Object)
1304
- ], MultipleSelectInputComponent.prototype, "optionLabel", void 0);
1305
- __decorate([
1306
- ContentChild('optionTemplate'),
1307
- __metadata("design:type", TemplateRef)
1308
- ], MultipleSelectInputComponent.prototype, "optionTemplateRef", void 0);
1309
- __decorate([
1310
- Input(),
1311
- __metadata("design:type", Function)
1312
- ], MultipleSelectInputComponent.prototype, "optionLabelFormat", void 0);
1313
- MultipleSelectInputComponent = __decorate([
1314
- Component({
1315
- selector: 'aup-multiple-select-input',
1316
- template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <mat-select placeholder=\"{{placeholder}}\"\n multiple\n [(ngModel)]=\"componentListModel.value\"\n [disabled]=\"!enabled.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-option *ngFor=\"let option of optionsModel.value; let i = index\" [value]=\"option\">\n <ng-container *ngIf=\"!optionTemplateRef\">{{optionLabelFormat(option)}}</ng-container>\n <ng-container *ngIf=\"optionTemplateRef\"\n [ngTemplateOutlet]=\"optionTemplateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: option, index: i }\"\n >\n </ng-container>\n </mat-option>\n </mat-select>\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n",
1317
- styles: [":host{display:inline-block}mat-form-field{width:100%}"]
1318
- }),
1319
- __metadata("design:paramtypes", [])
1320
- ], MultipleSelectInputComponent);
1321
-
1322
696
  let NumberInputComponent = class NumberInputComponent extends AbstractValueInputComponent {
1323
697
  constructor() {
1324
698
  super();
1325
- // @Input() @TrackExternal({ delegateTo: 'inputModel' })
1326
- // valueModel: Form.ValueModelBase<number> | IMutableValueModel<number>;
1327
699
  this.min = Number.MIN_SAFE_INTEGER;
1328
700
  this.max = Number.MAX_SAFE_INTEGER;
1329
701
  }
1330
702
  ngOnInit() {
1331
703
  }
1332
704
  };
705
+ __decorate([
706
+ Input(), TrackExternal({ delegateTo: 'inputModel' }),
707
+ __metadata("design:type", Object)
708
+ ], NumberInputComponent.prototype, "valueModel", void 0);
1333
709
  __decorate([
1334
710
  Input(),
1335
711
  __metadata("design:type", Object)
@@ -1341,25 +717,27 @@ __decorate([
1341
717
  NumberInputComponent = __decorate([
1342
718
  Component({
1343
719
  selector: 'aup-number-input',
1344
- template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input type=\"number\"\n matInput\n placeholder=\"{{placeholder}}\"\n [(ngModel)]=\"componentValueModel.value\"\n [disabled]=\"!enabled.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n [min]=\"min\"\n [max]=\"max\"\n >\n <mat-hint *ngIf=\"hint && !dense\" >{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n",
720
+ template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input type=\"number\"\n matInput\n placeholder=\"{{placeholder}}\"\n [(ngModel)]=\"valueModel.value\"\n [disabled]=\"!enabled.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n [min]=\"min\"\n [max]=\"max\"\n >\n <mat-hint *ngIf=\"hint && !dense\" >{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n",
1345
721
  styles: [""]
1346
722
  }),
1347
723
  __metadata("design:paramtypes", [])
1348
724
  ], NumberInputComponent);
1349
725
 
1350
726
  let PasswordInputComponent = class PasswordInputComponent extends AbstractValueInputComponent {
1351
- // @Input() @TrackExternal({ delegateTo: 'inputModel' })
1352
- // valueModel: Form.ValueModelBase<string> | IMutableValueModel<string>;
1353
727
  constructor() {
1354
728
  super();
1355
729
  }
1356
730
  ngOnInit() {
1357
731
  }
1358
732
  };
733
+ __decorate([
734
+ Input(), TrackExternal({ delegateTo: 'inputModel' }),
735
+ __metadata("design:type", Object)
736
+ ], PasswordInputComponent.prototype, "valueModel", void 0);
1359
737
  PasswordInputComponent = __decorate([
1360
738
  Component({
1361
739
  selector: 'aup-password-input',
1362
- template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input type=\"password\"\n matInput\n placeholder=\"{{placeholder}}\"\n [(ngModel)]=\"componentValueModel.value\"\n [disabled]=\"!enabled.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n\n",
740
+ template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input type=\"password\"\n matInput\n placeholder=\"{{placeholder}}\"\n [(ngModel)]=\"valueModel.value\"\n [disabled]=\"!enabled.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n\n",
1363
741
  styles: [""]
1364
742
  }),
1365
743
  __metadata("design:paramtypes", [])
@@ -1369,7 +747,6 @@ PasswordInputComponent = __decorate([
1369
747
  * Using templates:
1370
748
  * <aup-select-input [valueModel]="myModel" [options]="myOptions">
1371
749
  * <ng-template #optionTemplate let-option>{{option.thePropertyYouWant}}</ng-template>
1372
- * <ng-template #nilOptionTemplate let-option>{{option.thePropertyYouWant}}</ng-template>
1373
750
  * </aup-select_input>
1374
751
  */
1375
752
  let SelectInputComponent = class SelectInputComponent extends AbstractValueInputComponent {
@@ -1380,6 +757,10 @@ let SelectInputComponent = class SelectInputComponent extends AbstractValueInput
1380
757
  ngOnInit() {
1381
758
  }
1382
759
  };
760
+ __decorate([
761
+ Input(), TrackExternal({ delegateTo: 'inputModel' }),
762
+ __metadata("design:type", Object)
763
+ ], SelectInputComponent.prototype, "valueModel", void 0);
1383
764
  __decorate([
1384
765
  Input(), TrackExternal(),
1385
766
  __metadata("design:type", ListModel)
@@ -1411,7 +792,7 @@ __decorate([
1411
792
  SelectInputComponent = __decorate([
1412
793
  Component({
1413
794
  selector: 'aup-select-input',
1414
- template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <mat-select placeholder=\"{{placeholder}}\"\n [(ngModel)]=\"componentValueModel.value\"\n [disabled]=\"!enabled.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-option *ngIf=\"allowNil\">\n <ng-container *ngIf=\"!nilOptionTemplateRef\">{{placeholder}}</ng-container>\n <ng-container *ngIf=\"nilOptionTemplateRef\" [ngTemplateOutlet]=\"nilOptionTemplateRef\"></ng-container>\n </mat-option>\n <mat-option *ngFor=\"let option of optionsModel.value; let i = index\" [value]=\"option\">\n <ng-container *ngIf=\"!optionTemplateRef\">{{optionLabelFormat(option)}}</ng-container>\n <ng-container *ngIf=\"optionTemplateRef\"\n [ngTemplateOutlet]=\"optionTemplateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: option, index: i }\"\n >\n </ng-container>\n </mat-option>\n </mat-select>\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n",
795
+ template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <mat-select placeholder=\"{{placeholder}}\"\n [(ngModel)]=\"valueModel.value\"\n [disabled]=\"!enabled.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-option *ngIf=\"allowNil\">{{placeholder}}</mat-option>\n <mat-option *ngFor=\"let option of optionsModel.value; let i = index\" [value]=\"option\">\n <ng-container *ngIf=\"!optionTemplateRef\">{{optionLabelFormat(option)}}</ng-container>\n <ng-container *ngIf=\"optionTemplateRef\"\n [ngTemplateOutlet]=\"optionTemplateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: option, index: i }\"\n >\n </ng-container>\n </mat-option>\n </mat-select>\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n",
1415
796
  styles: [":host{display:inline-block}mat-form-field{width:100%}"]
1416
797
  }),
1417
798
  __metadata("design:paramtypes", [])
@@ -1422,13 +803,17 @@ let StringInputComponent = class StringInputComponent extends AbstractValueInput
1422
803
  super();
1423
804
  const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
1424
805
  this.clearCommand = Command.create(() => {
1425
- this.componentValueModel.value = null;
806
+ this.valueModel.value = null;
1426
807
  });
1427
- this.clearCommand.disableWhile(chain.stringValue(this.componentValueModel).isBlank());
808
+ this.clearCommand.disableWhile(chain.stringValue(this.valueModel).isBlank());
1428
809
  }
1429
810
  ngOnInit() {
1430
811
  }
1431
812
  };
813
+ __decorate([
814
+ Input(), TrackExternal({ delegateTo: 'inputModel' }),
815
+ __metadata("design:type", Object)
816
+ ], StringInputComponent.prototype, "valueModel", void 0);
1432
817
  __decorate([
1433
818
  Input(), TrackExternal({ defaultValue: false }),
1434
819
  __metadata("design:type", ValueModel)
@@ -1440,7 +825,7 @@ __decorate([
1440
825
  StringInputComponent = __decorate([
1441
826
  Component({
1442
827
  selector: 'aup-string-input',
1443
- template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input matInput\n placeholder=\"{{placeholder}}\"\n [(ngModel)]=\"componentValueModel.value\"\n [disabled]=\"!enabled.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n <button mat-button mat-icon-button matSuffix *ngIf=\"enableClear\" [pectinCommand]=\"clearCommand\">\n <aup-icon icon=\"mat:close\"></aup-icon>\n </button>\n</mat-form-field>\n\n",
828
+ template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input matInput\n placeholder=\"{{placeholder}}\"\n [(ngModel)]=\"valueModel.value\"\n [disabled]=\"!enabled.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n <button mat-button mat-icon-button matSuffix *ngIf=\"enableClear\" [pectinCommand]=\"clearCommand\">\n <aup-icon icon=\"mat:close\"></aup-icon>\n </button>\n</mat-form-field>\n\n",
1444
829
  styles: ["button[disabled]{visibility:hidden}"]
1445
830
  }),
1446
831
  __metadata("design:paramtypes", [])
@@ -1449,14 +834,16 @@ StringInputComponent = __decorate([
1449
834
  let TextInputComponent = class TextInputComponent extends AbstractValueInputComponent {
1450
835
  constructor() {
1451
836
  super();
1452
- // @Input() @TrackExternal({ delegateTo: 'inputModel' })
1453
- // valueModel: Form.ValueModelBase<string> | IMutableValueModel<string>;
1454
837
  this.rows = 2;
1455
838
  // const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
1456
839
  }
1457
840
  ngOnInit() {
1458
841
  }
1459
842
  };
843
+ __decorate([
844
+ Input(), TrackExternal({ delegateTo: 'inputModel' }),
845
+ __metadata("design:type", Object)
846
+ ], TextInputComponent.prototype, "valueModel", void 0);
1460
847
  __decorate([
1461
848
  Input(),
1462
849
  __metadata("design:type", Object)
@@ -1468,59 +855,12 @@ __decorate([
1468
855
  TextInputComponent = __decorate([
1469
856
  Component({
1470
857
  selector: 'aup-text-input',
1471
- template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <textarea matInput\n placeholder=\"{{placeholder}}\"\n [(ngModel)]=\"componentValueModel.value\"\n [disabled]=\"!enabled.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n [rows]=\"rows\"\n [cols]=\"cols\"\n >\n </textarea>\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n\n",
858
+ template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <textarea matInput\n placeholder=\"{{placeholder}}\"\n [(ngModel)]=\"valueModel.value\"\n [disabled]=\"!enabled.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n [rows]=\"rows\"\n [cols]=\"cols\"\n >\n </textarea>\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n\n",
1472
859
  styles: ["button[disabled]{visibility:hidden}textarea{overflow:auto}"]
1473
860
  }),
1474
861
  __metadata("design:paramtypes", [])
1475
862
  ], TextInputComponent);
1476
863
 
1477
- var IconComponent_1;
1478
- let IconComponent = IconComponent_1 = class IconComponent {
1479
- constructor() {
1480
- this.allowedPrefixes = Enum.values(IconComponent_1.IconPrefix).map(p => `${p}:`);
1481
- this.iconPrefix = IconComponent_1.IconPrefix;
1482
- }
1483
- set icon(iconName) {
1484
- this._icon = iconName;
1485
- if (!iconName) {
1486
- this.errorMessage = 'icon is nil';
1487
- this.prefix = undefined;
1488
- return;
1489
- }
1490
- const colonIndex = iconName.indexOf(':');
1491
- if (colonIndex > 0) {
1492
- this.prefix = this.icon.slice(0, colonIndex);
1493
- this.suffix = this.icon.slice(colonIndex + 1);
1494
- }
1495
- if (this.prefix) {
1496
- this.errorMessage = `Unknown icon "${iconName}"`;
1497
- }
1498
- this.errorMessage = `Unknown icon prefix, expected one of [${this.allowedPrefixes.join(',')}] got "${this.prefix}:"`;
1499
- }
1500
- get icon() {
1501
- return this._icon;
1502
- }
1503
- };
1504
- __decorate([
1505
- Input(),
1506
- __metadata("design:type", String),
1507
- __metadata("design:paramtypes", [String])
1508
- ], IconComponent.prototype, "icon", null);
1509
- IconComponent = IconComponent_1 = __decorate([
1510
- Component({
1511
- selector: 'aup-icon',
1512
- template: "<ng-container [ngSwitch]=\"prefix\">\n\n <mat-icon *ngSwitchCase=\"iconPrefix.SVG\"\n [svgIcon]=\"suffix\"\n class=\"svgIcon\">\n </mat-icon>\n\n <mat-icon *ngSwitchCase=\"iconPrefix.MATERIAL\">\n {{suffix}}\n </mat-icon>\n\n <div *ngSwitchCase=\"iconPrefix.FONT_AWESOME\"\n class=\"faIconWrapper\">\n <fa-icon [icon]=\"suffix\">\n </fa-icon>\n </div>\n\n <mat-icon *ngSwitchDefault\n [matTooltip]=\"errorMessage\">\n bug_report\n </mat-icon>\n\n</ng-container>\n\n",
1513
- styles: [":host{display:inline-flex;width:24px}fa-icon{vertical-align:middle}.faIconWrapper{text-align:center;width:24px;height:24px}.svgIcon{width:24px;height:24px}:host(.mat-chip-remove) mat-icon{font-size:18px}mat-icon{width:inherit;height:inherit}"]
1514
- })
1515
- ], IconComponent);
1516
- (function (IconComponent) {
1517
- IconComponent.IconPrefix = Enum({
1518
- SVG: 'svg',
1519
- FONT_AWESOME: 'fa',
1520
- MATERIAL: 'mat'
1521
- });
1522
- })(IconComponent || (IconComponent = {}));
1523
-
1524
864
  let NoopComponent = class NoopComponent {
1525
865
  constructor() {
1526
866
  }
@@ -1705,7 +1045,6 @@ class CellHeaderPortalRef extends CellPortalRef {
1705
1045
  assert$1.isTruthy(host);
1706
1046
  host[HEADER_CELL_RENDERER_PORTAL] = new ComponentPortal(this.componentType);
1707
1047
  }
1708
- // @Trace()
1709
1048
  onPortalAttached(host, portalComponent) {
1710
1049
  this.initialiseHeader(portalComponent, host.column);
1711
1050
  }
@@ -1721,15 +1060,13 @@ class ComponentCellRendererPortalRef extends CellRendererPortalRef {
1721
1060
  initialiseHost(host, columnModel) {
1722
1061
  host[CELL_RENDERER_PORTAL] = new ComponentPortal(this.componentType);
1723
1062
  }
1724
- // @Trace()
1725
1063
  onPortalAttached(host, portalComponent) {
1726
1064
  host[PORTAL_RENDERER_COMPONENT] = portalComponent;
1727
- this.updateComponent(portalComponent, host.getRowData(), true);
1065
+ this.updateComponent(portalComponent, host.getRowData());
1728
1066
  }
1729
- // @Trace()
1730
1067
  pushState(host) {
1731
1068
  if (host[PORTAL_RENDERER_COMPONENT]) {
1732
- this.updateComponent(host[PORTAL_RENDERER_COMPONENT], host.getRowData(), false);
1069
+ this.updateComponent(host[PORTAL_RENDERER_COMPONENT], host.getRowData());
1733
1070
  }
1734
1071
  }
1735
1072
  }
@@ -1766,7 +1103,6 @@ class TemplateCellRendererPortalRef extends CellRendererPortalRef {
1766
1103
  onPortalAttached(host, portalComponent) {
1767
1104
  // don't care
1768
1105
  }
1769
- // @Trace()
1770
1106
  pushState(host) {
1771
1107
  host[CELL_RENDERER_PORTAL] = this.createPortal(host.getRowData());
1772
1108
  host.fillCell = this.fillCell;
@@ -1935,7 +1271,6 @@ SelectHeaderCellRendererComponent = __decorate([
1935
1271
  const noop = () => {
1936
1272
  };
1937
1273
  const ɵ0 = noop;
1938
- const CELL_RENDERER_COMPONENT_ROW_CACHE = Symbol("aup-cell-renderer:row-data-cache");
1939
1274
  class ColumnModel {
1940
1275
  constructor(columnId, defaults) {
1941
1276
  this.columnId = columnId;
@@ -2024,62 +1359,21 @@ __decorate([
2024
1359
  __metadata("design:returntype", Object)
2025
1360
  ], ColumnModel.prototype, "getColumnTextProperties", null);
2026
1361
  class PropertyColumnModel extends ColumnModel {
2027
- constructor(id, property, defaults) {
2028
- super(id, defaults);
1362
+ constructor(property, defaults) {
1363
+ super(property.toString(), defaults);
2029
1364
  this.property = property;
2030
1365
  this._format = (value) => value;
2031
1366
  this.cellRenderer(DefaultCellRendererComponent);
2032
1367
  }
2033
- cellRenderer(componentType, onComponentInitOrOptions) {
2034
- this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, (component, rowData, firstTime) => {
2035
- if (firstTime) {
2036
- if (___default.isFunction(onComponentInitOrOptions)) {
2037
- onComponentInitOrOptions(component);
2038
- }
2039
- else {
2040
- if (___default.isFunction(onComponentInitOrOptions === null || onComponentInitOrOptions === void 0 ? void 0 : onComponentInitOrOptions.onComponentInit)) {
2041
- onComponentInitOrOptions.onComponentInit(component);
2042
- }
2043
- }
2044
- }
1368
+ cellRenderer(componentType) {
1369
+ this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, (component, rowData) => {
2045
1370
  component.value = this._format(rowData.row[this.property]);
2046
- if (!___default.isFunction(onComponentInitOrOptions) && ___default.isFunction(onComponentInitOrOptions === null || onComponentInitOrOptions === void 0 ? void 0 : onComponentInitOrOptions.onRowUpdate)) {
2047
- onComponentInitOrOptions.onRowUpdate(component, rowData.row);
2048
- }
2049
1371
  }));
2050
1372
  return this;
2051
1373
  }
2052
- mutableCellRenderer(componentType, options) {
2053
- this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, (component, rowData, firstTime) => {
2054
- // keep a local copy most recent row value so it's available to teh
2055
- // edit callback without having to add/remove subscribers all the time.
2056
- component[CELL_RENDERER_COMPONENT_ROW_CACHE] = rowData.row;
2057
- let disableEditCallback = false;
2058
- if (firstTime) {
2059
- if (___default.isFunction(options === null || options === void 0 ? void 0 : options.onComponentInit)) {
2060
- options.onComponentInit(component);
2061
- }
2062
- // install our edit callback
2063
- component.onValueEdited((is, was) => {
2064
- if (!disableEditCallback) {
2065
- options.onValueEdit(component[CELL_RENDERER_COMPONENT_ROW_CACHE], is, was);
2066
- }
2067
- });
2068
- }
2069
- // now push the value the component and disable the callback just incase the component misbehaves
2070
- // and fires a value change during the operation.
2071
- disableEditCallback = true;
2072
- component.value = rowData.row[this.property];
2073
- disableEditCallback = false;
2074
- if (!___default.isFunction(options) && ___default.isFunction(options === null || options === void 0 ? void 0 : options.onRowUpdate)) {
2075
- options.onRowUpdate(component, rowData.row);
2076
- }
2077
- }));
2078
- return this;
2079
- }
2080
- cellEditor(editor, validatorsOrInitialiser, onComponentInit) {
1374
+ cellEditor(editor, validatorsOrInitialiser, initialiseComponent) {
2081
1375
  const validators = Array.isArray(validatorsOrInitialiser) ? validatorsOrInitialiser : undefined;
2082
- const initialiser = ___default.isFunction(validatorsOrInitialiser) ? validatorsOrInitialiser : onComponentInit;
1376
+ const initialiser = ___default.isFunction(validatorsOrInitialiser) ? validatorsOrInitialiser : initialiseComponent;
2083
1377
  this.configureCellEditor(new CellEditorPortalRef(editor, (component, editSession) => {
2084
1378
  const formValueModel = editSession.form.pluck(this.property);
2085
1379
  if (validators) {
@@ -2102,8 +1396,8 @@ class PropertyColumnModel extends ColumnModel {
2102
1396
  }
2103
1397
  }
2104
1398
  class ListPropertyColumnModel extends ColumnModel {
2105
- constructor(id, property, defaults) {
2106
- super(id, defaults);
1399
+ constructor(property, defaults) {
1400
+ super(property.toString(), defaults);
2107
1401
  this.property = property;
2108
1402
  this._format = (value) => value.map(v => v === null || v === void 0 ? void 0 : v.toString()).join(', ');
2109
1403
  this.cellRenderer(DefaultCellRendererComponent);
@@ -2143,23 +1437,10 @@ class CustomValueColumnModel extends ColumnModel {
2143
1437
  super(columnId, defaults);
2144
1438
  this.getValue = getValue;
2145
1439
  this.cellRenderer(DefaultCellRendererComponent);
2146
- }
2147
- cellRenderer(componentType, onComponentInitOrOptions) {
2148
- this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, (component, rowData, firstTime) => {
2149
- if (firstTime) {
2150
- if (___default.isFunction(onComponentInitOrOptions)) {
2151
- onComponentInitOrOptions(component);
2152
- }
2153
- else {
2154
- if (___default.isFunction(onComponentInitOrOptions === null || onComponentInitOrOptions === void 0 ? void 0 : onComponentInitOrOptions.onComponentInit)) {
2155
- onComponentInitOrOptions.onComponentInit(component);
2156
- }
2157
- }
2158
- }
1440
+ }
1441
+ cellRenderer(componentType) {
1442
+ this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, (component, rowData) => {
2159
1443
  component.value = this.getValue(rowData.row);
2160
- if (!___default.isFunction(onComponentInitOrOptions) && ___default.isFunction(onComponentInitOrOptions === null || onComponentInitOrOptions === void 0 ? void 0 : onComponentInitOrOptions.onRowUpdate)) {
2161
- onComponentInitOrOptions.onRowUpdate(component, rowData.row);
2162
- }
2163
1444
  }));
2164
1445
  return this;
2165
1446
  }
@@ -2321,9 +1602,6 @@ let TableModel = TableModel_1 = class TableModel {
2321
1602
  this._editorSessions = new MutableListModel();
2322
1603
  this.rowClassNamePredicates = [];
2323
1604
  this._createForm = (row) => new DirtyTrackingForm();
2324
- this.trackBy = (index, item) => {
2325
- return this.identityOf ? this.identityOf(item) : index;
2326
- };
2327
1605
  this.identityOf = sourceOfTruth.identityOf;
2328
1606
  const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this._garbage);
2329
1607
  this._columnsById = chain(this._columns).indexBy('columnId');
@@ -2335,7 +1613,7 @@ let TableModel = TableModel_1 = class TableModel {
2335
1613
  this.dataSource = chain(this.sourceOfTruth).replaceAll(this.rowsBeingEdited);
2336
1614
  this.firstEditableColumn = chain(this.columns).select(c => c.hasEditorPortal()).first();
2337
1615
  this.hasColumnsWithRowSelectionExplicitlyEnabled = chain(this._columns).findIndex(column => column.isRowSelectionExplicitlyEnabled()).isGreaterThanOrEqualTo(0);
2338
- this.addRowClass('enable-hover', () => this.isRowSelectionEnabled());
1616
+ this.addRowClass("enable-hover", () => this.isRowSelectionEnabled());
2339
1617
  }
2340
1618
  static fromList(sourceOfTruth, builder) {
2341
1619
  const model = new TableModel_1(sourceOfTruth);
@@ -2345,14 +1623,19 @@ let TableModel = TableModel_1 = class TableModel {
2345
1623
  get rowsBeingEdited() {
2346
1624
  return this._rowsBeingEdited.readonly;
2347
1625
  }
1626
+ getTrackByFunction() {
1627
+ return (index, item) => {
1628
+ return this.identityOf ? this.identityOf(item) : index;
1629
+ };
1630
+ }
2348
1631
  get columns() {
2349
1632
  return this._columns.readonly;
2350
1633
  }
2351
- pluck(property, options) {
2352
- return this.addColumn(new PropertyColumnModel((options === null || options === void 0 ? void 0 : options.columnId) || property.toString(), property, this));
1634
+ pluck(property) {
1635
+ return this.addColumn(new PropertyColumnModel(property, this));
2353
1636
  }
2354
- pluckList(property, options) {
2355
- return this.addColumn(new ListPropertyColumnModel((options === null || options === void 0 ? void 0 : options.columnId) || property.toString(), property, this));
1637
+ pluckList(property) {
1638
+ return this.addColumn(new ListPropertyColumnModel(property, this));
2356
1639
  }
2357
1640
  addSelectionColumn(selectionModel) {
2358
1641
  assert.isNil(this.selectionColumnModel);
@@ -2366,9 +1649,6 @@ let TableModel = TableModel_1 = class TableModel {
2366
1649
  addCustomColumn(columnId, dataAccessor) {
2367
1650
  return this.addColumn(new CustomValueColumnModel(columnId, this, dataAccessor));
2368
1651
  }
2369
- addComponentColumn(columnId, component, onComponentInitOrOptions) {
2370
- return this.addColumn(new CustomValueColumnModel(columnId, this, row => row)).cellRenderer(component, onComponentInitOrOptions);
2371
- }
2372
1652
  addTemplateColumn(columnId) {
2373
1653
  return this.addColumn(new CustomTemplateColumnModel(columnId, this));
2374
1654
  }
@@ -2516,7 +1796,7 @@ __decorate([
2516
1796
  TableComponent = __decorate([
2517
1797
  Component({
2518
1798
  selector: 'aup-table',
2519
- template: "<table mat-table [dataSource]=\"tableModel.dataSource.value\" [trackBy]=\"tableModel.trackBy\">\n\n <ng-container *ngFor=\"let column of columns.value; index as index; first as first; last as last\" matColumnDef=\"{{column.columnId}}\">\n <th mat-header-cell *matHeaderCellDef>\n <aup-table-header-cell-renderer [column]=\"column\"\n [attr.column-index]=\"index\"\n [attr.column-id]=\"column.columnId\"\n [class.first-column]=\"first\"\n [class.last-column]=\"last\"\n ></aup-table-header-cell-renderer>\n </th>\n <td mat-cell *matCellDef=\"let row\" (click)=\"onCellClicked(column, row)\" [class.enable-cursor]=\"tableModel.isRowSelectionEnabledFor(column)\">\n <aup-table-cell-renderer [column]=\"column\"\n [row]=\"row\"\n [tableModel]=\"tableModel\"\n [editSession]=\"tableModel.getEditSessionFor(row)\"\n [attr.column-index]=\"index\"\n [attr.column-id]=\"column.columnId\"\n [class.first-column]=\"first\"\n [class.last-column]=\"last\"\n ></aup-table-cell-renderer>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"columnIds.value\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: columnIds.value; let i = index\"\n [ngClass]=\"tableModel.getRowClasses(row)\" [attr.trackBy]=\"tableModel.trackBy(i, row)\"\n ></tr>\n\n</table>\n",
1799
+ template: "<table mat-table [dataSource]=\"tableModel.dataSource.value\" [trackBy]=\"tableModel.getTrackByFunction()\">\n\n <ng-container *ngFor=\"let column of columns.value; index as index; first as first; last as last\" matColumnDef=\"{{column.columnId}}\">\n <th mat-header-cell *matHeaderCellDef>\n <aup-table-header-cell-renderer [column]=\"column\"\n [attr.column-index]=\"index\"\n [attr.column-id]=\"column.columnId\"\n [class.first-column]=\"first\"\n [class.last-column]=\"last\"\n ></aup-table-header-cell-renderer>\n </th>\n <td mat-cell *matCellDef=\"let row\" (click)=\"onCellClicked(column, row)\" [class.enable-cursor]=\"tableModel.isRowSelectionEnabledFor(column)\">\n <aup-table-cell-renderer [column]=\"column\"\n [row]=\"row\"\n [tableModel]=\"tableModel\"\n [editSession]=\"tableModel.getEditSessionFor(row)\"\n [attr.column-index]=\"index\"\n [attr.column-id]=\"column.columnId\"\n [class.first-column]=\"first\"\n [class.last-column]=\"last\"\n ></aup-table-cell-renderer>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"columnIds.value\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: columnIds.value;\"\n [ngClass]=\"tableModel.getRowClasses(row)\"\n ></tr>\n\n</table>\n",
2520
1800
  styles: [":host{display:flex;flex-direction:column;align-items:stretch}:host table{flex:1}"]
2521
1801
  }),
2522
1802
  __metadata("design:paramtypes", [])
@@ -2691,81 +1971,6 @@ TableHeaderCellRendererComponent = __decorate([
2691
1971
  __metadata("design:paramtypes", [])
2692
1972
  ], TableHeaderCellRendererComponent);
2693
1973
 
2694
- class MenuItemData extends CommandFace.Adapter {
2695
- constructor(factory, face) {
2696
- super(face);
2697
- this.factory = factory;
2698
- }
2699
- }
2700
- /**
2701
- *
2702
- */
2703
- let TableRowMenuComponent = class TableRowMenuComponent extends DisposableComponent {
2704
- constructor() {
2705
- super();
2706
- this.actions = [];
2707
- this.moreActions = [];
2708
- }
2709
- registerAction(commandFactory, properties) {
2710
- this.actions.push(new MenuItemData(commandFactory, properties));
2711
- }
2712
- registerMoreAction(commandFactory, properties) {
2713
- this.moreActions.push(new MenuItemData(commandFactory, properties));
2714
- }
2715
- ngOnInit() {
2716
- }
2717
- createMoreMenuCommand(item, value) {
2718
- const { when } = Dsl.disposeWith(this);
2719
- const command = item.factory.create(value);
2720
- when(command.busy).becomesFalsey(() => {
2721
- this.closeMoreMenu();
2722
- });
2723
- return command;
2724
- }
2725
- closeMoreMenu() {
2726
- this.menu.closeMenu();
2727
- }
2728
- };
2729
- __decorate([
2730
- Input(),
2731
- __metadata("design:type", Object)
2732
- ], TableRowMenuComponent.prototype, "value", void 0);
2733
- __decorate([
2734
- ViewChild(MatMenuTrigger),
2735
- __metadata("design:type", MatMenuTrigger)
2736
- ], TableRowMenuComponent.prototype, "menu", void 0);
2737
- TableRowMenuComponent = __decorate([
2738
- Component({
2739
- selector: 'aup-table-row-menu',
2740
- template: `
2741
- <button mat-icon-button *ngFor="let action of actions" [pectinCommand]="action.factory.create(value)">
2742
- <aup-icon [icon]="action.icon"></aup-icon>
2743
- </button>
2744
- <ng-container *ngIf="moreActions.length > 0">
2745
- <button #trigger mat-icon-button [matMenuTriggerFor]="menu">
2746
- <aup-icon icon="mat:more_vert"></aup-icon>
2747
- </button>
2748
- <mat-menu #menu="matMenu" xPosition="before" matTooltip="More options...">
2749
- <button *ngFor="let action of moreActions"
2750
- mat-menu-item
2751
- [pectinCommand]="createMoreMenuCommand(action, value)"
2752
- >
2753
- <aup-icon *ngIf="action.icon && action.iconPositionStart" [icon]="action.icon"></aup-icon>
2754
- {{action.text}}
2755
- <aup-icon *ngIf="action.icon && action.iconPositionEnd" [icon]="action.icon"></aup-icon>
2756
- </button>
2757
- </mat-menu>
2758
- </ng-container>
2759
- `,
2760
- styles: [`:host {
2761
- display: inline-flex;
2762
- flex-direction: row;
2763
- align-items: center;
2764
- }`]
2765
- }),
2766
- __metadata("design:paramtypes", [])
2767
- ], TableRowMenuComponent);
2768
-
2769
1974
  let VerticalFocusContainerComponent = class VerticalFocusContainerComponent extends FocusContainerComponent {
2770
1975
  constructor(focusManager) {
2771
1976
  super(focusManager);
@@ -2848,6 +2053,90 @@ VerticalFocusContainerComponent = __decorate([
2848
2053
  __metadata("design:paramtypes", [FocusManager])
2849
2054
  ], VerticalFocusContainerComponent);
2850
2055
 
2056
+ let MultipleSelectInputComponent = class MultipleSelectInputComponent extends AbstractListInputComponent {
2057
+ constructor() {
2058
+ super();
2059
+ this.optionLabelFormat = (option) => (option && this.optionLabel) ? option[this.optionLabel] : option;
2060
+ }
2061
+ ngOnInit() {
2062
+ }
2063
+ };
2064
+ __decorate([
2065
+ Input(), TrackExternal({ delegateTo: 'inputModel' }),
2066
+ __metadata("design:type", Object)
2067
+ ], MultipleSelectInputComponent.prototype, "listModel", void 0);
2068
+ __decorate([
2069
+ Input(), TrackExternal(),
2070
+ __metadata("design:type", ListModel)
2071
+ ], MultipleSelectInputComponent.prototype, "optionsModel", void 0);
2072
+ __decorate([
2073
+ Input(), StoreInListModel('optionsModel'),
2074
+ __metadata("design:type", Array)
2075
+ ], MultipleSelectInputComponent.prototype, "options", void 0);
2076
+ __decorate([
2077
+ Input(),
2078
+ __metadata("design:type", Object)
2079
+ ], MultipleSelectInputComponent.prototype, "optionLabel", void 0);
2080
+ __decorate([
2081
+ Input(),
2082
+ __metadata("design:type", Boolean)
2083
+ ], MultipleSelectInputComponent.prototype, "allowNil", void 0);
2084
+ __decorate([
2085
+ ContentChild('optionTemplate'),
2086
+ __metadata("design:type", TemplateRef)
2087
+ ], MultipleSelectInputComponent.prototype, "optionTemplateRef", void 0);
2088
+ __decorate([
2089
+ ContentChild('nilOptionTemplate'),
2090
+ __metadata("design:type", TemplateRef)
2091
+ ], MultipleSelectInputComponent.prototype, "nilOptionTemplateRef", void 0);
2092
+ __decorate([
2093
+ Input(),
2094
+ __metadata("design:type", Function)
2095
+ ], MultipleSelectInputComponent.prototype, "optionLabelFormat", void 0);
2096
+ MultipleSelectInputComponent = __decorate([
2097
+ Component({
2098
+ selector: 'aup-multiple-select-input',
2099
+ template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <mat-select placeholder=\"{{placeholder}}\"\n multiple\n [(ngModel)]=\"listModel.value\"\n [disabled]=\"!enabled.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-option *ngIf=\"allowNil\">{{placeholder}}</mat-option>\n <mat-option *ngFor=\"let option of optionsModel.value; let i = index\" [value]=\"option\">\n <ng-container *ngIf=\"!optionTemplateRef\">{{optionLabelFormat(option)}}</ng-container>\n <ng-container *ngIf=\"optionTemplateRef\"\n [ngTemplateOutlet]=\"optionTemplateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: option, index: i }\"\n >\n </ng-container>\n </mat-option>\n </mat-select>\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n",
2100
+ styles: [":host{display:inline-block}mat-form-field{width:100%}"]
2101
+ }),
2102
+ __metadata("design:paramtypes", [])
2103
+ ], MultipleSelectInputComponent);
2104
+
2105
+ let IconComponent = class IconComponent {
2106
+ set icon(iconName) {
2107
+ this._icon = iconName;
2108
+ if (!iconName) {
2109
+ this.errorMessage = 'icon is nil';
2110
+ this.prefix = undefined;
2111
+ return;
2112
+ }
2113
+ const colonIndex = iconName.indexOf(':');
2114
+ if (colonIndex > 0) {
2115
+ this.prefix = this.icon.slice(0, colonIndex);
2116
+ this.suffix = this.icon.slice(colonIndex + 1);
2117
+ }
2118
+ if (this.prefix) {
2119
+ this.errorMessage = `Unknown icon "${iconName}"`;
2120
+ }
2121
+ this.errorMessage = `Unknown icon prefix "${this.prefix}"`;
2122
+ }
2123
+ get icon() {
2124
+ return this._icon;
2125
+ }
2126
+ };
2127
+ __decorate([
2128
+ Input(),
2129
+ __metadata("design:type", String),
2130
+ __metadata("design:paramtypes", [String])
2131
+ ], IconComponent.prototype, "icon", null);
2132
+ IconComponent = __decorate([
2133
+ Component({
2134
+ selector: 'aup-icon',
2135
+ template: "<ng-container [ngSwitch]=\"prefix\">\n\n <mat-icon *ngSwitchCase=\"'svg'\"\n [svgIcon]=\"suffix\"\n class=\"svgIcon\">\n </mat-icon>\n\n <mat-icon *ngSwitchCase=\"'mat'\">\n {{suffix}}\n </mat-icon>\n\n <div *ngSwitchCase=\"'fab'\"\n class=\"faIconWrapper\">\n <fa-icon [icon]=\"suffix\">\n </fa-icon>\n </div>\n\n <mat-icon *ngSwitchDefault\n [matTooltip]=\"errorMessage\">\n bug_report\n </mat-icon>\n\n</ng-container>\n\n",
2136
+ styles: [":host{display:inline-flex;width:24px}fa-icon{vertical-align:middle}.faIconWrapper{text-align:center;width:24px;height:24px}.svgIcon{width:24px;height:24px}:host(.mat-chip-remove) mat-icon{font-size:18px}mat-icon{width:inherit;height:inherit}"]
2137
+ })
2138
+ ], IconComponent);
2139
+
2851
2140
  let ComponentsModule = class ComponentsModule {
2852
2141
  constructor(faIconLibrary) {
2853
2142
  faIconLibrary.addIconPacks(fas);
@@ -2867,8 +2156,6 @@ ComponentsModule = __decorate([
2867
2156
  TextInputComponent,
2868
2157
  PasswordInputComponent,
2869
2158
  SelectInputComponent,
2870
- MultipleSelectInputComponent,
2871
- AutocompleteInputComponent,
2872
2159
  CheckboxInputComponent,
2873
2160
  ScrollContainerComponent,
2874
2161
  NoopComponent,
@@ -2888,16 +2175,9 @@ ComponentsModule = __decorate([
2888
2175
  SelectHeaderCellRendererComponent,
2889
2176
  DefaultHeaderCellRendererComponent,
2890
2177
  TableHeaderCellRendererComponent,
2178
+ MultipleSelectInputComponent,
2891
2179
  IconComponent,
2892
- SectionHeaderComponent,
2893
- TableRowMenuComponent,
2894
- CommandBarComponent,
2895
- CommandComponent,
2896
- PopupMenuComponent,
2897
- CommandFaceComponent,
2898
- AbstractPopupMenuComponent,
2899
- PopupMenuRendererComponent,
2900
- MoreMenuComponent
2180
+ SectionHeaderComponent
2901
2181
  ],
2902
2182
  imports: [
2903
2183
  CommonModule,
@@ -2915,10 +2195,7 @@ ComponentsModule = __decorate([
2915
2195
  PortalModule,
2916
2196
  CdkScrollableModule,
2917
2197
  FontAwesomeModule,
2918
- MatTooltipModule,
2919
- MatAutocompleteModule,
2920
- _MatMenuDirectivesModule,
2921
- MatMenuModule
2198
+ MatTooltipModule
2922
2199
  ],
2923
2200
  exports: [
2924
2201
  NumberInputComponent,
@@ -2927,8 +2204,6 @@ ComponentsModule = __decorate([
2927
2204
  PasswordInputComponent,
2928
2205
  CheckboxInputComponent,
2929
2206
  SelectInputComponent,
2930
- MultipleSelectInputComponent,
2931
- AutocompleteInputComponent,
2932
2207
  ScrollContainerComponent,
2933
2208
  NoopComponent,
2934
2209
  SwitchCaseComponent,
@@ -2941,31 +2216,12 @@ ComponentsModule = __decorate([
2941
2216
  TableComponent,
2942
2217
  EditRowControls,
2943
2218
  ColumnTemplateDirective,
2219
+ MultipleSelectInputComponent,
2944
2220
  IconComponent,
2945
- SectionHeaderComponent,
2946
- TableRowMenuComponent,
2947
- CommandBarComponent,
2948
- CommandComponent,
2949
- AbstractPopupMenuComponent,
2950
- PopupMenuComponent,
2951
- CommandFaceComponent,
2952
- PopupMenuRendererComponent,
2953
- MoreMenuComponent
2221
+ SectionHeaderComponent
2954
2222
  ],
2955
2223
  providers: [
2956
- FocusBindingFactory
2957
- // {
2958
- // provide: CELL_EDITOR_REGISTRATION, useValue: {
2959
- // type: 'string',
2960
- // editorClass: StringInputComponent
2961
- // }, multi: true
2962
- // },
2963
- // {
2964
- // provide: CELL_EDITOR_REGISTRATION, useValue: {
2965
- // type: 'number',
2966
- // editorClass: NumberInputComponent
2967
- // }, multi: true
2968
- // }
2224
+ FocusBindingFactory,
2969
2225
  ]
2970
2226
  }),
2971
2227
  __metadata("design:paramtypes", [FaIconLibrary])
@@ -3338,7 +2594,6 @@ let ActivityContainerComponent = class ActivityContainerComponent extends Abstra
3338
2594
  registerDisposable(disposable) {
3339
2595
  return this.garbage.registerDisposable(disposable);
3340
2596
  }
3341
- // @Trace()
3342
2597
  dispose() {
3343
2598
  // TODO: think about auto cancelling any outstanding activity on dispose.
3344
2599
  // See NavigationState.Navigating for a use-case.
@@ -3478,6 +2733,12 @@ __decorate([
3478
2733
  ViewChildren(ActivityOutletComponent),
3479
2734
  __metadata("design:type", QueryList)
3480
2735
  ], ActivityContainerComponent.prototype, "activityOutlets", void 0);
2736
+ __decorate([
2737
+ Trace(),
2738
+ __metadata("design:type", Function),
2739
+ __metadata("design:paramtypes", []),
2740
+ __metadata("design:returntype", void 0)
2741
+ ], ActivityContainerComponent.prototype, "dispose", null);
3481
2742
  ActivityContainerComponent = __decorate([
3482
2743
  Component({
3483
2744
  selector: 'aup-activity-container',
@@ -4464,7 +3725,7 @@ let PlaceComponent = PlaceComponent_1 = class PlaceComponent extends DisposableC
4464
3725
  assert.isNil(this.visitModel.value);
4465
3726
  const { when } = Dsl.disposeWith(this);
4466
3727
  this.visitModel.value = visit;
4467
- DebugContext.getOrCreate(this.visitModel).tag(`${this.placeDefinition.component.name}.visitModel`);
3728
+ DebugContext.get(this.visitModel).tag(`${this.placeDefinition.component.name}.visitModel`);
4468
3729
  this.placeDefinition.getVisitParameterDefs().forEach(parameterDef => this.installBinding(parameterDef));
4469
3730
  when.valueOf(this.visitModel).changes((current, previous) => {
4470
3731
  notifyVisitChanged(current, previous);
@@ -5504,6 +4765,70 @@ UrlService = __decorate([
5504
4765
  __metadata("design:paramtypes", [Router, Location, UrlSerializer])
5505
4766
  ], UrlService);
5506
4767
 
4768
+ class Visit {
4769
+ constructor(placeDefinition, visitParameters = {}) {
4770
+ this.placeDefinition = placeDefinition;
4771
+ this.visitParameters = visitParameters;
4772
+ }
4773
+ // @Trace()
4774
+ getRouteId() {
4775
+ return this.placeDefinition.getRouteIdFrom(this);
4776
+ }
4777
+ // @Trace()
4778
+ hasRouteId() {
4779
+ return !isNil(this.getRouteId());
4780
+ }
4781
+ /**
4782
+ * Returns the value of the place parameter with the specified name. The parameter
4783
+ * name is taken from the `as` option, e.g. {as: 'aCustomName'} otherwise it is the
4784
+ * same as the the ValueModel property name.
4785
+ * @param parameterName the field name of the property model or the `as` option if specified.
4786
+ */
4787
+ getParameter(parameterName) {
4788
+ return this.visitParameters[parameterName];
4789
+ }
4790
+ // @Trace()
4791
+ hasParameter(parameterName) {
4792
+ return Object.keys(this.visitParameters).includes(parameterName);
4793
+ }
4794
+ replace(parameter, value) {
4795
+ return new Visit(this.placeDefinition, Object.assign(Object.assign({}, this.visitParameters), { [parameter.name]: value }));
4796
+ }
4797
+ mergeRouteParameters(routeParams) {
4798
+ // todo: whitelist parameters.
4799
+ const routeParameterKeys = Object.keys(routeParams);
4800
+ const params = {};
4801
+ this.placeDefinition.getVisitParameterDefs().forEach(def => {
4802
+ if (def.isRouteId || def.isRouteParameter) {
4803
+ if (routeParameterKeys.includes(def.name)) {
4804
+ params[def.name] = routeParams[def.name];
4805
+ }
4806
+ }
4807
+ else {
4808
+ // copy non route params as is, but only if they already exist otherwise we'll inject nil values and break the
4809
+ // defaults and remember sanitisation process.
4810
+ const value = this.getParameter(def.name);
4811
+ if (this.hasParameter(def.name)) {
4812
+ params[def.name] = value;
4813
+ }
4814
+ }
4815
+ });
4816
+ return new Visit(this.placeDefinition, params);
4817
+ }
4818
+ hasRoutingChangedFrom(other) {
4819
+ const samePlace = other.placeDefinition === this.placeDefinition;
4820
+ const sameRouteParameters = isEqual(this.placeDefinition.getFormattedRouteParameters(this, true), this.placeDefinition.getFormattedRouteParameters(other, true));
4821
+ return !samePlace || !sameRouteParameters;
4822
+ }
4823
+ hasChangedFrom(other) {
4824
+ const sameNonRouteParameters = isEqual(this.placeDefinition.getNonRouteParameters(this), this.placeDefinition.getNonRouteParameters(other));
4825
+ return !sameNonRouteParameters || this.hasRoutingChangedFrom(other);
4826
+ }
4827
+ toDebugString() {
4828
+ return Object.keys(this.visitParameters).map(k => `${k}=${this.visitParameters[k]}`).join(",");
4829
+ }
4830
+ }
4831
+
5507
4832
  let PlaceRouter = class PlaceRouter extends GarbageCollector {
5508
4833
  constructor(angularRouter, angularLocation, interactionService, urlService, placeHistory) {
5509
4834
  super();
@@ -5665,7 +4990,6 @@ let PlaceRouter = class PlaceRouter extends GarbageCollector {
5665
4990
  get activeVisits() {
5666
4991
  return this._activeVisits.readonly;
5667
4992
  }
5668
- // @Trace()
5669
4993
  pushVisitChangesToRoute(previous, next) {
5670
4994
  return __awaiter(this, void 0, void 0, function* () {
5671
4995
  this.placeHistory.updateVisit(next);
@@ -5762,6 +5086,12 @@ PlaceRouter.ctorParameters = () => [
5762
5086
  { type: PlaceHistory }
5763
5087
  ];
5764
5088
  PlaceRouter.ɵprov = ɵɵdefineInjectable({ factory: function PlaceRouter_Factory() { return new PlaceRouter(ɵɵinject(Router), ɵɵinject(Location), ɵɵinject(InteractionService), ɵɵinject(UrlService), ɵɵinject(PlaceHistory)); }, token: PlaceRouter, providedIn: "root" });
5089
+ __decorate([
5090
+ Trace(),
5091
+ __metadata("design:type", Function),
5092
+ __metadata("design:paramtypes", [Visit, Visit]),
5093
+ __metadata("design:returntype", Promise)
5094
+ ], PlaceRouter.prototype, "pushVisitChangesToRoute", null);
5765
5095
  PlaceRouter = __decorate([
5766
5096
  Injectable({
5767
5097
  providedIn: 'root'
@@ -5773,70 +5103,6 @@ PlaceRouter = __decorate([
5773
5103
  PlaceHistory])
5774
5104
  ], PlaceRouter);
5775
5105
 
5776
- class Visit {
5777
- constructor(placeDefinition, visitParameters = {}) {
5778
- this.placeDefinition = placeDefinition;
5779
- this.visitParameters = visitParameters;
5780
- }
5781
- // @Trace()
5782
- getRouteId() {
5783
- return this.placeDefinition.getRouteIdFrom(this);
5784
- }
5785
- // @Trace()
5786
- hasRouteId() {
5787
- return !isNil(this.getRouteId());
5788
- }
5789
- /**
5790
- * Returns the value of the place parameter with the specified name. The parameter
5791
- * name is taken from the `as` option, e.g. {as: 'aCustomName'} otherwise it is the
5792
- * same as the the ValueModel property name.
5793
- * @param parameterName the field name of the property model or the `as` option if specified.
5794
- */
5795
- getParameter(parameterName) {
5796
- return this.visitParameters[parameterName];
5797
- }
5798
- // @Trace()
5799
- hasParameter(parameterName) {
5800
- return Object.keys(this.visitParameters).includes(parameterName);
5801
- }
5802
- replace(parameter, value) {
5803
- return new Visit(this.placeDefinition, Object.assign(Object.assign({}, this.visitParameters), { [parameter.name]: value }));
5804
- }
5805
- mergeRouteParameters(routeParams) {
5806
- // todo: whitelist parameters.
5807
- const routeParameterKeys = Object.keys(routeParams);
5808
- const params = {};
5809
- this.placeDefinition.getVisitParameterDefs().forEach(def => {
5810
- if (def.isRouteId || def.isRouteParameter) {
5811
- if (routeParameterKeys.includes(def.name)) {
5812
- params[def.name] = routeParams[def.name];
5813
- }
5814
- }
5815
- else {
5816
- // copy non route params as is, but only if they already exist otherwise we'll inject nil values and break the
5817
- // defaults and remember sanitisation process.
5818
- const value = this.getParameter(def.name);
5819
- if (this.hasParameter(def.name)) {
5820
- params[def.name] = value;
5821
- }
5822
- }
5823
- });
5824
- return new Visit(this.placeDefinition, params);
5825
- }
5826
- hasRoutingChangedFrom(other) {
5827
- const samePlace = other.placeDefinition === this.placeDefinition;
5828
- const sameRouteParameters = isEqual(this.placeDefinition.getFormattedRouteParameters(this, true), this.placeDefinition.getFormattedRouteParameters(other, true));
5829
- return !samePlace || !sameRouteParameters;
5830
- }
5831
- hasChangedFrom(other) {
5832
- const sameNonRouteParameters = isEqual(this.placeDefinition.getNonRouteParameters(this), this.placeDefinition.getNonRouteParameters(other));
5833
- return !sameNonRouteParameters || this.hasRoutingChangedFrom(other);
5834
- }
5835
- toDebugString() {
5836
- return Object.keys(this.visitParameters).map(k => `${k}=${this.visitParameters[k]}`).join(",");
5837
- }
5838
- }
5839
-
5840
5106
  const AUP_PLACE_CONFIG = new InjectionToken('AUP_PLACE_CONFIG');
5841
5107
 
5842
5108
  // Freezes the state of the components at the start of the animation.
@@ -6722,7 +5988,8 @@ function installMechanics(prototype, propertyKey, backingModel, tagPrefix, isEmp
6722
5988
  binding: null
6723
5989
  };
6724
5990
  const tag = `${tagPrefix}(${prototype.constructor.name}.${propertyKey.toString()})`;
6725
- DebugContext.getOrCreate(mechanics.backingModel).tag(tag);
5991
+ DebugContext.get(mechanics.backingModel).tag(tag);
5992
+ Logger.get(mechanics.backingModel).tag(tag);
6726
5993
  Object.defineProperty(prototype, propertyKey, {
6727
5994
  get: function () {
6728
5995
  return mechanics.backingModel;
@@ -6784,5 +6051,5 @@ function VisitParameterList(options) {
6784
6051
  * Generated bundle index. Do not edit.
6785
6052
  */
6786
6053
 
6787
- export { ACTIVITY_DATA, AUP_PLACE_CONFIG, AbstractInputActivity, AbstractInputComponent, AbstractInteractionContext, AbstractListInputComponent, AbstractPlaceNavigationComponent, AbstractPopStateNavigation, AbstractPopupMenuComponent, AbstractValueInputComponent, Activity, ActivityActionsComponent, ActivityContainerComponent, ActivityOutletComponent, ActivityRef, AddItemInteractionContextComponent, AlertDialogComponent, AngularUiPowerupsModule, AutocompleteInputComponent, Bounds, BusyOverlayComponent, CELL_EDITOR_PORTAL, CELL_RENDERER_PORTAL, CardContainerComponent, CellEditorPortalRef, CellHeaderPortalRef, CellPortalRef, CellRendererPortalRef, CheckboxInputComponent, ColumnModel, ColumnTemplateDirective, CommandBarComponent, CommandComponent, CommandContainer, CommandDirective, CommandFace, CommandFaceComponent, ComponentCellRendererPortalRef, ComponentsModule, ConfirmThenDialogComponent, ConfirmationDialogComponent, ConsolidatedParameterMap, CustomTemplateColumnModel, CustomValueColumnModel, DEFINITION_META_DATA_KEY, DIALOG_INTERACTION_SERVICE_DEFAULTS, DefaultCellRendererComponent, DefaultHeaderCellRendererComponent, DialogInteractionContext, DialogInteractionContextFactory, Dimension, DirectivesModule, DisposableComponent, EditRowControls, EditSession, EditorControlColumnModel, EmptyStateComponent, EventCleanUpSession, FocusBinding, FocusBindingDirective, FocusBindingFactory, FocusContainerComponent, FocusableComponent, Formatter, HEADER_CELL_RENDERER_PORTAL, IconComponent, InPlaceInteractionContextComponent, InteractionContextTriggerFor, InteractionModule, InteractionService, InteractionServiceRoutingAdapter, LEFT_RIGHT_PLACE_ANIMATION, ListPlaceNavComponent, ListPropertyColumnModel, ModalInteractionContextFactory, MoreMenuComponent, MultipleSelectInputComponent, Navigating, NavigatingDuringInteraction, NavigationContext, NavigationSession, NoopAuthGuard, NoopComponent, NumberInputComponent, PORTAL_EDITOR_COMPONENT, PORTAL_RENDERER_COMPONENT, ParameterDefinition, PasswordInputComponent, Place, PlaceComponent, PlaceComponentDeactivationHandler, PlaceDefinition, PlaceGuard, PlaceHistory, PlaceModule, PlaceOutletComponent, PlaceRouter, Point, PopStateDuringInteractionNavigation, PopStateNavigation, PopupInteractionContextComponent, PopupMenuComponent, PopupMenuRendererComponent, PropertyColumnModel, ROUTE_PARAMETER_LIST_KEY, RemoveLastInteractionFromUrlNavigationSession, ResizeAwareComponent, RouteId, ScrollContainerComponent, SectionHeaderComponent, SelectCellRendererComponent, SelectHeaderCellRendererComponent, SelectInputActivity, SelectInputComponent, SelectionColumnModel, SidePlaceNavigationComponent, StringInputActivity, StringInputComponent, SwitchCaseComponent, SwitchCaseDefaultDirective, SwitchCaseOption, SwitchCaseWhenDirective, SynchroniseInteractionContextIdsWithRoute, TabbedPlaceNavigationComponent, TableCellRendererComponent, TableComponent, TableHeaderCellRendererComponent, TableModel, TableRowMenuComponent, TemplateCellRendererPortalRef, TextInputComponent, UrlService, UrlSnapshot, VerticalFocusContainerComponent, Visit, VisitParameter, VisitParameterList, VisitSanitiser, WaitUntilLeavingInteractionTransitionCancelled, WaitUntilLinkTriggeredNavigationInteractionCancellationEventsFinish, WaitUntilPopStateDuringCanDeactivateInteractionFinishes, leftRightPlaceAnimation, slideDownOnEnterAnimation, slideRightOnEnterAnimation, ɵ0, DirectivesModule as ɵa, CommandDirective as ɵb, CardContainerComponent as ɵba, TableComponent as ɵbb, EditRowControls as ɵbc, ColumnTemplateDirective as ɵbd, DefaultCellRendererComponent as ɵbe, TableCellRendererComponent as ɵbf, SelectCellRendererComponent as ɵbg, SelectHeaderCellRendererComponent as ɵbh, DefaultHeaderCellRendererComponent as ɵbi, TableHeaderCellRendererComponent as ɵbj, IconComponent as ɵbk, SectionHeaderComponent as ɵbl, TableRowMenuComponent as ɵbm, CommandBarComponent as ɵbn, CommandContainer as ɵbo, CommandComponent as ɵbp, PopupMenuComponent as ɵbq, AbstractPopupMenuComponent as ɵbr, PopupMenuRendererComponent as ɵbs, CommandFaceComponent as ɵbt, MoreMenuComponent as ɵbu, PlaceModule as ɵbv, ComponentsModule as ɵbw, EmptyStateComponent as ɵbx, BusyOverlayComponent as ɵby, PlaceOutletComponent as ɵbz, FocusBindingDirective as ɵc, leftRightPlaceAnimation as ɵca, LEFT_RIGHT_PLACE_ANIMATION as ɵcb, AUP_PLACE_CONFIG as ɵcc, PlaceRouter as ɵce, InteractionService as ɵcf, ModalInteractionContextFactory as ɵcg, UrlService as ɵch, PlaceHistory as ɵci, TabbedPlaceNavigationComponent as ɵcj, AbstractPlaceNavigationComponent as ɵck, ListPlaceNavComponent as ɵcl, SidePlaceNavigationComponent as ɵcm, InteractionModule as ɵcn, ActivityContainerComponent as ɵco, AbstractInteractionContext as ɵcp, ActivityOutletComponent as ɵcq, ConfirmationDialogComponent as ɵcr, ACTIVITY_DATA as ɵcs, Activity as ɵct, ConfirmThenDialogComponent as ɵcv, AlertDialogComponent as ɵcw, InPlaceInteractionContextComponent as ɵcy, AddItemInteractionContextComponent as ɵcz, DisposableComponent as ɵd, ActivityActionsComponent as ɵda, PopupInteractionContextComponent as ɵdb, StringInputActivity as ɵdc, AbstractInputActivity as ɵdd, SelectInputActivity as ɵde, InteractionContextTriggerFor as ɵdf, FocusBindingFactory as ɵe, ComponentsModule as ɵf, AbstractInputComponent as ɵg, AbstractValueInputComponent as ɵh, AbstractListInputComponent as ɵi, NumberInputComponent as ɵj, StringInputComponent as ɵk, TextInputComponent as ɵl, PasswordInputComponent as ɵm, SelectInputComponent as ɵn, MultipleSelectInputComponent as ɵo, AutocompleteInputComponent as ɵp, CheckboxInputComponent as ɵq, ScrollContainerComponent as ɵr, NoopComponent as ɵs, SwitchCaseOption as ɵt, SwitchCaseWhenDirective as ɵu, SwitchCaseDefaultDirective as ɵv, SwitchCaseComponent as ɵw, FocusContainerComponent as ɵx, VerticalFocusContainerComponent as ɵy, FocusableComponent as ɵz };
6054
+ export { ACTIVITY_DATA, AUP_PLACE_CONFIG, AbstractInputActivity, AbstractInputComponent, AbstractInteractionContext, AbstractListInputComponent, AbstractPlaceNavigationComponent, AbstractPopStateNavigation, AbstractValueInputComponent, Activity, ActivityActionsComponent, ActivityContainerComponent, ActivityOutletComponent, ActivityRef, AddItemInteractionContextComponent, AlertDialogComponent, AngularUiPowerupsModule, Bounds, BusyOverlayComponent, CELL_EDITOR_PORTAL, CELL_RENDERER_PORTAL, CardContainerComponent, CellEditorPortalRef, CellHeaderPortalRef, CellPortalRef, CellRendererPortalRef, CheckboxInputComponent, ColumnModel, ColumnTemplateDirective, CommandDirective, ComponentCellRendererPortalRef, ComponentsModule, ConfirmThenDialogComponent, ConfirmationDialogComponent, ConsolidatedParameterMap, CustomTemplateColumnModel, CustomValueColumnModel, DEFINITION_META_DATA_KEY, DIALOG_INTERACTION_SERVICE_DEFAULTS, DefaultCellRendererComponent, DefaultHeaderCellRendererComponent, DialogInteractionContext, DialogInteractionContextFactory, Dimension, DirectivesModule, DisposableComponent, EditRowControls, EditSession, EditorControlColumnModel, EmptyStateComponent, EventCleanUpSession, FocusBinding, FocusBindingDirective, FocusBindingFactory, FocusContainerComponent, FocusableComponent, Formatter, HEADER_CELL_RENDERER_PORTAL, IconComponent, InPlaceInteractionContextComponent, InteractionContextTriggerFor, InteractionModule, InteractionService, InteractionServiceRoutingAdapter, LEFT_RIGHT_PLACE_ANIMATION, ListPlaceNavComponent, ListPropertyColumnModel, ModalInteractionContextFactory, MultipleSelectInputComponent, Navigating, NavigatingDuringInteraction, NavigationContext, NavigationSession, NoopAuthGuard, NoopComponent, NumberInputComponent, PORTAL_EDITOR_COMPONENT, PORTAL_RENDERER_COMPONENT, ParameterDefinition, PasswordInputComponent, Place, PlaceComponent, PlaceComponentDeactivationHandler, PlaceDefinition, PlaceGuard, PlaceHistory, PlaceModule, PlaceOutletComponent, PlaceRouter, Point, PopStateDuringInteractionNavigation, PopStateNavigation, PopupInteractionContextComponent, PropertyColumnModel, ROUTE_PARAMETER_LIST_KEY, RemoveLastInteractionFromUrlNavigationSession, ResizeAwareComponent, RouteId, ScrollContainerComponent, SectionHeaderComponent, SelectCellRendererComponent, SelectHeaderCellRendererComponent, SelectInputActivity, SelectInputComponent, SelectionColumnModel, SidePlaceNavigationComponent, StringInputActivity, StringInputComponent, SwitchCaseComponent, SwitchCaseDefaultDirective, SwitchCaseOption, SwitchCaseWhenDirective, SynchroniseInteractionContextIdsWithRoute, TabbedPlaceNavigationComponent, TableCellRendererComponent, TableComponent, TableHeaderCellRendererComponent, TableModel, TemplateCellRendererPortalRef, TextInputComponent, UrlService, UrlSnapshot, VerticalFocusContainerComponent, Visit, VisitParameter, VisitParameterList, VisitSanitiser, WaitUntilLeavingInteractionTransitionCancelled, WaitUntilLinkTriggeredNavigationInteractionCancellationEventsFinish, WaitUntilPopStateDuringCanDeactivateInteractionFinishes, leftRightPlaceAnimation, slideDownOnEnterAnimation, slideRightOnEnterAnimation, ɵ0, DirectivesModule as ɵa, CommandDirective as ɵb, EditRowControls as ɵba, ColumnTemplateDirective as ɵbb, DefaultCellRendererComponent as ɵbc, TableCellRendererComponent as ɵbd, SelectCellRendererComponent as ɵbe, SelectHeaderCellRendererComponent as ɵbf, DefaultHeaderCellRendererComponent as ɵbg, TableHeaderCellRendererComponent as ɵbh, MultipleSelectInputComponent as ɵbi, IconComponent as ɵbj, SectionHeaderComponent as ɵbk, PlaceModule as ɵbl, ComponentsModule as ɵbm, EmptyStateComponent as ɵbn, BusyOverlayComponent as ɵbo, PlaceOutletComponent as ɵbp, leftRightPlaceAnimation as ɵbq, LEFT_RIGHT_PLACE_ANIMATION as ɵbr, AUP_PLACE_CONFIG as ɵbs, PlaceRouter as ɵbu, InteractionService as ɵbv, ModalInteractionContextFactory as ɵbw, UrlService as ɵbx, PlaceHistory as ɵby, TabbedPlaceNavigationComponent as ɵbz, FocusBindingDirective as ɵc, AbstractPlaceNavigationComponent as ɵca, ListPlaceNavComponent as ɵcb, SidePlaceNavigationComponent as ɵcc, InteractionModule as ɵcd, ActivityContainerComponent as ɵce, AbstractInteractionContext as ɵcf, ActivityOutletComponent as ɵcg, ConfirmationDialogComponent as ɵch, ACTIVITY_DATA as ɵci, Activity as ɵcj, ConfirmThenDialogComponent as ɵcl, AlertDialogComponent as ɵcm, InPlaceInteractionContextComponent as ɵco, AddItemInteractionContextComponent as ɵcp, ActivityActionsComponent as ɵcq, PopupInteractionContextComponent as ɵcr, StringInputActivity as ɵcs, AbstractInputActivity as ɵct, SelectInputActivity as ɵcu, InteractionContextTriggerFor as ɵcv, DisposableComponent as ɵd, FocusBindingFactory as ɵe, ComponentsModule as ɵf, AbstractInputComponent as ɵg, AbstractValueInputComponent as ɵh, AbstractListInputComponent as ɵi, NumberInputComponent as ɵj, StringInputComponent as ɵk, TextInputComponent as ɵl, PasswordInputComponent as ɵm, SelectInputComponent as ɵn, CheckboxInputComponent as ɵo, ScrollContainerComponent as ɵp, NoopComponent as ɵq, SwitchCaseOption as ɵr, SwitchCaseWhenDirective as ɵs, SwitchCaseDefaultDirective as ɵt, SwitchCaseComponent as ɵu, FocusContainerComponent as ɵv, VerticalFocusContainerComponent as ɵw, FocusableComponent as ɵx, CardContainerComponent as ɵy, TableComponent as ɵz };
6788
6055
  //# sourceMappingURL=coolon-angular-ui-powerups.js.map