@coolon/angular-ui-powerups 12.4.0-alpha.7 → 12.4.0-alpha.70

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 (488) hide show
  1. package/assets/activities/activities.scss +77 -0
  2. package/assets/activities/input-activities.scss +36 -0
  3. package/assets/cards.scss +17 -0
  4. package/assets/empty-state.scss +11 -0
  5. package/assets/form.scss +10 -2
  6. package/assets/forms/mixins.scss +6 -0
  7. package/assets/interaction/editor/inline-string-editor.scss +54 -0
  8. package/assets/interaction.scss +10 -7
  9. package/assets/mixins.scss +5 -7
  10. package/assets/styles.scss +8 -15
  11. package/bundles/coolon-angular-ui-powerups-cypress.umd.js +748 -331
  12. package/bundles/coolon-angular-ui-powerups-cypress.umd.js.map +1 -1
  13. package/bundles/coolon-angular-ui-powerups.umd.js +1105 -341
  14. package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
  15. package/coolon-angular-ui-powerups.metadata.json +1 -1
  16. package/cypress/component-builder.d.ts +71 -0
  17. package/cypress/components/aup-abstract-activity.d.ts +31 -0
  18. package/cypress/components/aup-abstract-table.d.ts +18 -0
  19. package/cypress/components/aup-activity.d.ts +9 -0
  20. package/cypress/components/aup-alert-dialog.d.ts +27 -0
  21. package/cypress/components/aup-alert.d.ts +9 -0
  22. package/cypress/components/aup-command-face.d.ts +2 -8
  23. package/cypress/components/aup-command.d.ts +2 -1
  24. package/cypress/components/aup-confirm-dialog.d.ts +27 -0
  25. package/cypress/components/aup-confirm.d.ts +11 -0
  26. package/cypress/components/aup-empty-state.d.ts +4 -0
  27. package/cypress/components/aup-input.d.ts +11 -5
  28. package/cypress/components/aup-modal-activity.d.ts +24 -0
  29. package/cypress/components/aup-modal-mixin.d.ts +23 -0
  30. package/cypress/components/aup-table.d.ts +5 -18
  31. package/cypress/components/aup-tree-table.d.ts +16 -0
  32. package/cypress/components/button.d.ts +11 -7
  33. package/cypress/components/form-element-mixin.d.ts +22 -0
  34. package/cypress/components/mat-checkbox.d.ts +31 -0
  35. package/cypress/components/popup/aup-abstract-popup-menu.d.ts +15 -0
  36. package/cypress/components/popup/aup-more-menu.d.ts +5 -0
  37. package/cypress/components/popup/aup-popup-menu-panel.d.ts +3 -0
  38. package/cypress/components/popup/aup-popup-menu.d.ts +7 -0
  39. package/cypress/components/table/aup-table-cell.d.ts +9 -0
  40. package/cypress/components/table/aup-table-column.d.ts +10 -0
  41. package/cypress/components/table/aup-table-row.d.ts +17 -0
  42. package/cypress/components/table/aup-table-selection-cell.d.ts +5 -0
  43. package/cypress/components/table/aup-table-selection-column.d.ts +5 -0
  44. package/cypress/coolon-angular-ui-powerups-cypress.metadata.json +1 -1
  45. package/cypress/element-locator.d.ts +8 -0
  46. package/cypress/exports.d.ts +25 -4
  47. package/cypress/package.json +1 -1
  48. package/cypress/page-builder.d.ts +9 -0
  49. package/cypress/page-element.d.ts +12 -12
  50. package/cypress/page.d.ts +8 -33
  51. package/esm2015/cypress/component-builder.js +92 -0
  52. package/esm2015/cypress/component-builder.js.map +1 -0
  53. package/esm2015/cypress/component-builder.metadata.json +1 -0
  54. package/esm2015/cypress/components/aup-abstract-activity.js +12 -0
  55. package/esm2015/cypress/components/aup-abstract-activity.js.map +1 -0
  56. package/esm2015/cypress/components/aup-abstract-activity.metadata.json +1 -0
  57. package/esm2015/cypress/components/aup-abstract-table.js +50 -0
  58. package/esm2015/cypress/components/aup-abstract-table.js.map +1 -0
  59. package/esm2015/cypress/components/aup-abstract-table.metadata.json +1 -0
  60. package/esm2015/cypress/components/aup-activity.js +13 -0
  61. package/esm2015/cypress/components/aup-activity.js.map +1 -0
  62. package/esm2015/cypress/components/aup-activity.metadata.json +1 -0
  63. package/esm2015/cypress/components/aup-alert-dialog.js +8 -0
  64. package/esm2015/cypress/components/aup-alert-dialog.js.map +1 -0
  65. package/esm2015/cypress/components/aup-alert-dialog.metadata.json +1 -0
  66. package/esm2015/cypress/components/aup-alert.js +13 -0
  67. package/esm2015/cypress/components/aup-alert.js.map +1 -0
  68. package/esm2015/cypress/components/aup-alert.metadata.json +1 -0
  69. package/esm2015/cypress/components/aup-command-face.js +11 -22
  70. package/esm2015/cypress/components/aup-command-face.js.map +1 -1
  71. package/esm2015/cypress/components/aup-command-face.metadata.json +1 -1
  72. package/esm2015/cypress/components/aup-command.js +12 -6
  73. package/esm2015/cypress/components/aup-command.js.map +1 -1
  74. package/esm2015/cypress/components/aup-command.metadata.json +1 -1
  75. package/esm2015/cypress/components/aup-confirm-dialog.js +8 -0
  76. package/esm2015/cypress/components/aup-confirm-dialog.js.map +1 -0
  77. package/esm2015/cypress/components/aup-confirm-dialog.metadata.json +1 -0
  78. package/esm2015/cypress/components/aup-confirm.js +19 -0
  79. package/esm2015/cypress/components/aup-confirm.js.map +1 -0
  80. package/esm2015/cypress/components/aup-confirm.metadata.json +1 -0
  81. package/esm2015/cypress/components/aup-empty-state.js +7 -0
  82. package/esm2015/cypress/components/aup-empty-state.js.map +1 -0
  83. package/esm2015/cypress/components/aup-empty-state.metadata.json +1 -0
  84. package/esm2015/cypress/components/aup-input.js +17 -5
  85. package/esm2015/cypress/components/aup-input.js.map +1 -1
  86. package/esm2015/cypress/components/aup-input.metadata.json +1 -1
  87. package/esm2015/cypress/components/aup-modal-activity.js +5 -0
  88. package/esm2015/cypress/components/aup-modal-activity.js.map +1 -0
  89. package/esm2015/cypress/components/aup-modal-activity.metadata.json +1 -0
  90. package/esm2015/cypress/components/aup-modal-mixin.js +18 -0
  91. package/esm2015/cypress/components/aup-modal-mixin.js.map +1 -0
  92. package/esm2015/cypress/components/aup-modal-mixin.metadata.json +1 -0
  93. package/esm2015/cypress/components/aup-navigation.js +1 -1
  94. package/esm2015/cypress/components/aup-navigation.js.map +1 -1
  95. package/esm2015/cypress/components/aup-table.js +5 -33
  96. package/esm2015/cypress/components/aup-table.js.map +1 -1
  97. package/esm2015/cypress/components/aup-table.metadata.json +1 -1
  98. package/esm2015/cypress/components/aup-tree-table.js +34 -0
  99. package/esm2015/cypress/components/aup-tree-table.js.map +1 -0
  100. package/esm2015/cypress/components/aup-tree-table.metadata.json +1 -0
  101. package/esm2015/cypress/components/button.js +4 -10
  102. package/esm2015/cypress/components/button.js.map +1 -1
  103. package/esm2015/cypress/components/button.metadata.json +1 -1
  104. package/esm2015/cypress/components/form-element-mixin.js +11 -0
  105. package/esm2015/cypress/components/form-element-mixin.js.map +1 -0
  106. package/esm2015/cypress/components/form-element-mixin.metadata.json +1 -0
  107. package/esm2015/cypress/components/mat-checkbox.js +34 -0
  108. package/esm2015/cypress/components/mat-checkbox.js.map +1 -0
  109. package/esm2015/cypress/components/mat-checkbox.metadata.json +1 -0
  110. package/esm2015/cypress/components/popup/aup-abstract-popup-menu.js +33 -0
  111. package/esm2015/cypress/components/popup/aup-abstract-popup-menu.js.map +1 -0
  112. package/esm2015/cypress/components/popup/aup-abstract-popup-menu.metadata.json +1 -0
  113. package/esm2015/cypress/components/popup/aup-more-menu.js +8 -0
  114. package/esm2015/cypress/components/popup/aup-more-menu.js.map +1 -0
  115. package/esm2015/cypress/components/popup/aup-more-menu.metadata.json +1 -0
  116. package/esm2015/cypress/components/popup/aup-popup-menu-panel.js +4 -0
  117. package/esm2015/cypress/components/popup/aup-popup-menu-panel.js.map +1 -0
  118. package/esm2015/cypress/components/popup/aup-popup-menu-panel.metadata.json +1 -0
  119. package/esm2015/cypress/components/popup/aup-popup-menu.js +12 -0
  120. package/esm2015/cypress/components/popup/aup-popup-menu.js.map +1 -0
  121. package/esm2015/cypress/components/popup/aup-popup-menu.metadata.json +1 -0
  122. package/esm2015/cypress/components/table/aup-table-cell.js +14 -0
  123. package/esm2015/cypress/components/table/aup-table-cell.js.map +1 -0
  124. package/esm2015/cypress/components/table/aup-table-cell.metadata.json +1 -0
  125. package/esm2015/cypress/components/table/aup-table-column.js +19 -0
  126. package/esm2015/cypress/components/table/aup-table-column.js.map +1 -0
  127. package/esm2015/cypress/components/table/aup-table-column.metadata.json +1 -0
  128. package/esm2015/cypress/components/table/aup-table-row.js +28 -0
  129. package/esm2015/cypress/components/table/aup-table-row.js.map +1 -0
  130. package/esm2015/cypress/components/table/aup-table-row.metadata.json +1 -0
  131. package/esm2015/cypress/components/table/aup-table-selection-cell.js +6 -0
  132. package/esm2015/cypress/components/table/aup-table-selection-cell.js.map +1 -0
  133. package/esm2015/cypress/components/table/aup-table-selection-cell.metadata.json +1 -0
  134. package/esm2015/cypress/components/table/aup-table-selection-column.js +6 -0
  135. package/esm2015/cypress/components/table/aup-table-selection-column.js.map +1 -0
  136. package/esm2015/cypress/components/table/aup-table-selection-column.metadata.json +1 -0
  137. package/esm2015/cypress/element-locator.js +16 -0
  138. package/esm2015/cypress/element-locator.js.map +1 -0
  139. package/esm2015/cypress/element-locator.metadata.json +1 -0
  140. package/esm2015/cypress/exports.js +25 -4
  141. package/esm2015/cypress/exports.js.map +1 -1
  142. package/esm2015/cypress/exports.metadata.json +1 -1
  143. package/esm2015/cypress/page-builder.js +16 -0
  144. package/esm2015/cypress/page-builder.js.map +1 -0
  145. package/esm2015/cypress/page-builder.metadata.json +1 -0
  146. package/esm2015/cypress/page-element.js +26 -19
  147. package/esm2015/cypress/page-element.js.map +1 -1
  148. package/esm2015/cypress/page-element.metadata.json +1 -1
  149. package/esm2015/cypress/page.js +31 -19
  150. package/esm2015/cypress/page.js.map +1 -1
  151. package/esm2015/cypress/page.metadata.json +1 -1
  152. package/esm2015/lib/angular-ui-powerups.module.ngfactory.js.map +1 -1
  153. package/esm2015/lib/components/busy-overlay/busy-overlay.component.js +1 -1
  154. package/esm2015/lib/components/busy-overlay/busy-overlay.component.metadata.json +1 -1
  155. package/esm2015/lib/components/cards/abstract-card-container.component.js +29 -0
  156. package/esm2015/lib/components/cards/abstract-card-container.component.js.map +1 -0
  157. package/esm2015/lib/components/cards/abstract-card-container.component.metadata.json +1 -0
  158. package/esm2015/lib/components/cards/abstract-card-container.component.ngfactory.js.map +1 -0
  159. package/esm2015/lib/components/cards/card-container/card-container.component.js +123 -0
  160. package/esm2015/lib/components/cards/card-container/card-container.component.js.map +1 -0
  161. package/esm2015/lib/components/cards/card-container/card-container.component.metadata.json +1 -0
  162. package/esm2015/lib/components/cards/card-container/card-container.component.ngfactory.js.map +1 -0
  163. package/esm2015/lib/components/cards/card-container/card-container.component.scss.shim.ngstyle.js.map +1 -0
  164. package/esm2015/lib/components/cards/card-stack/card-stack.component.js +78 -0
  165. package/esm2015/lib/components/cards/card-stack/card-stack.component.js.map +1 -0
  166. package/esm2015/lib/components/cards/card-stack/card-stack.component.metadata.json +1 -0
  167. package/esm2015/lib/components/cards/card-stack/card-stack.component.ngfactory.js.map +1 -0
  168. package/esm2015/lib/components/cards/card-stack/card-stack.component.scss.shim.ngstyle.js.map +1 -0
  169. package/esm2015/lib/components/commands/command/command.component.js +1 -1
  170. package/esm2015/lib/components/commands/command/command.component.metadata.json +1 -1
  171. package/esm2015/lib/components/commands/command-face/command-face.component.js +5 -1
  172. package/esm2015/lib/components/commands/command-face/command-face.component.js.map +1 -1
  173. package/esm2015/lib/components/commands/command-face/command-face.component.metadata.json +1 -1
  174. package/esm2015/lib/components/commands/group/popup-menu/abstract-popup-menu.component.js +1 -1
  175. package/esm2015/lib/components/commands/group/popup-menu/abstract-popup-menu.component.js.map +1 -1
  176. package/esm2015/lib/components/commands/group/popup-menu/popup-menu-renderer/popup-menu-renderer.component.js +1 -1
  177. package/esm2015/lib/components/commands/group/popup-menu/popup-menu-renderer/popup-menu-renderer.component.js.map +1 -1
  178. package/esm2015/lib/components/commands/group/tool-bar/tool-bar.component.js +1 -1
  179. package/esm2015/lib/components/commands/group/tool-bar/tool-bar.component.metadata.json +1 -1
  180. package/esm2015/lib/components/components.module.js +37 -24
  181. package/esm2015/lib/components/components.module.js.map +1 -1
  182. package/esm2015/lib/components/components.module.metadata.json +1 -1
  183. package/esm2015/lib/components/components.module.ngfactory.js.map +1 -1
  184. package/esm2015/lib/components/empty-state/empty-state.component.js +1 -1
  185. package/esm2015/lib/components/empty-state/empty-state.component.metadata.json +1 -1
  186. package/esm2015/lib/components/exports.js +7 -4
  187. package/esm2015/lib/components/exports.js.map +1 -1
  188. package/esm2015/lib/components/exports.metadata.json +1 -1
  189. package/esm2015/lib/components/focus-container/focus-container.component.js +1 -1
  190. package/esm2015/lib/components/focus-container/focus-container.component.metadata.json +1 -1
  191. package/esm2015/lib/components/forms/abstract-input.component.js +1 -0
  192. package/esm2015/lib/components/forms/abstract-input.component.js.map +1 -1
  193. package/esm2015/lib/components/forms/autocomplete-input/autocomplete-input.component.js +1 -1
  194. package/esm2015/lib/components/forms/autocomplete-input/autocomplete-input.component.metadata.json +1 -1
  195. package/esm2015/lib/components/forms/checkbox-input/checkbox-input.component.js +1 -1
  196. package/esm2015/lib/components/forms/checkbox-input/checkbox-input.component.metadata.json +1 -1
  197. package/esm2015/lib/components/forms/multiple-select-input/multiple-select-input.component.js +1 -1
  198. package/esm2015/lib/components/forms/multiple-select-input/multiple-select-input.component.metadata.json +1 -1
  199. package/esm2015/lib/components/forms/select-input/select-input.component.js +1 -1
  200. package/esm2015/lib/components/forms/select-input/select-input.component.metadata.json +1 -1
  201. package/esm2015/lib/components/forms/string-input/string-input.component.js +1 -1
  202. package/esm2015/lib/components/forms/string-input/string-input.component.metadata.json +1 -1
  203. package/esm2015/lib/components/forms/text-input/text-input.component.js +1 -1
  204. package/esm2015/lib/components/forms/text-input/text-input.component.metadata.json +1 -1
  205. package/esm2015/lib/components/icon/icon.component.js +1 -1
  206. package/esm2015/lib/components/icon/icon.component.metadata.json +1 -1
  207. package/esm2015/lib/components/labelled-value/labelled-value.component.js +22 -0
  208. package/esm2015/lib/components/labelled-value/labelled-value.component.js.map +1 -0
  209. package/esm2015/lib/components/labelled-value/labelled-value.component.metadata.json +1 -0
  210. package/esm2015/lib/components/labelled-value/labelled-value.component.ngfactory.js.map +1 -0
  211. package/esm2015/lib/components/{card-container/card-container.component.scss.shim.ngstyle.js.map → labelled-value/labelled-value.component.scss.shim.ngstyle.js.map} +1 -1
  212. package/esm2015/lib/components/loading-container/loading-container.component.js +45 -0
  213. package/esm2015/lib/components/loading-container/loading-container.component.js.map +1 -0
  214. package/esm2015/lib/components/loading-container/loading-container.component.metadata.json +1 -0
  215. package/esm2015/lib/components/loading-container/loading-container.component.ngfactory.js.map +1 -0
  216. package/esm2015/lib/components/loading-container/loading-container.component.scss.shim.ngstyle.js.map +1 -0
  217. package/esm2015/lib/components/noop/noop.component.js +1 -1
  218. package/esm2015/lib/components/noop/noop.component.metadata.json +1 -1
  219. package/esm2015/lib/components/scroll-container/scroll-container.component.js +1 -1
  220. package/esm2015/lib/components/scroll-container/scroll-container.component.metadata.json +1 -1
  221. package/esm2015/lib/components/section-header/section-header.component.js +12 -5
  222. package/esm2015/lib/components/section-header/section-header.component.js.map +1 -1
  223. package/esm2015/lib/components/section-header/section-header.component.metadata.json +1 -1
  224. package/esm2015/lib/components/switch-case/switch-case.component.js +1 -1
  225. package/esm2015/lib/components/switch-case/switch-case.component.metadata.json +1 -1
  226. package/esm2015/lib/components/tables/abstract-table-model.js +34 -20
  227. package/esm2015/lib/components/tables/abstract-table-model.js.map +1 -1
  228. package/esm2015/lib/components/tables/abstract-table-model.metadata.json +1 -1
  229. package/esm2015/lib/components/tables/edit-session.js.map +1 -0
  230. package/esm2015/lib/components/tables/{table/edit-session.metadata.json → edit-session.metadata.json} +1 -1
  231. package/esm2015/lib/components/tables/table/cell-portal-ref.js.map +1 -1
  232. package/esm2015/lib/components/tables/table/cell-renderer.js.map +1 -1
  233. package/esm2015/lib/components/tables/table/column-model.js +35 -10
  234. package/esm2015/lib/components/tables/table/column-model.js.map +1 -1
  235. package/esm2015/lib/components/tables/table/column-model.metadata.json +1 -1
  236. package/esm2015/lib/components/tables/table/default-cell-renderer/default-cell-renderer.component.js.map +1 -1
  237. package/esm2015/lib/components/tables/table/default-cell-renderer/default-cell-renderer.component.metadata.json +1 -1
  238. package/esm2015/lib/components/tables/table/edit-row-controls/edit-row-controls.component.js +19 -12
  239. package/esm2015/lib/components/tables/table/edit-row-controls/edit-row-controls.component.js.map +1 -1
  240. package/esm2015/lib/components/tables/table/edit-row-controls/edit-row-controls.component.metadata.json +1 -1
  241. package/esm2015/lib/components/tables/table/paginator/paginator.component.js +1 -1
  242. package/esm2015/lib/components/tables/table/paginator/paginator.component.metadata.json +1 -1
  243. package/esm2015/lib/components/tables/table/table-cell-renderer/table-cell-renderer.component.js +1 -1
  244. package/esm2015/lib/components/tables/table/table-cell-renderer/table-cell-renderer.component.js.map +1 -1
  245. package/esm2015/lib/components/tables/table/table-header-cell-renderer/table-header-cell-renderer.component.js +1 -1
  246. package/esm2015/lib/components/tables/table/table-header-cell-renderer/table-header-cell-renderer.component.metadata.json +1 -1
  247. package/esm2015/lib/components/tables/table/table-row-menu/table-row-menu.component.js +0 -2
  248. package/esm2015/lib/components/tables/table/table-row-menu/table-row-menu.component.js.map +1 -1
  249. package/esm2015/lib/components/tables/table/table-row-menu/table-row-menu.component.metadata.json +1 -1
  250. package/esm2015/lib/components/tables/table/table.component.js +14 -13
  251. package/esm2015/lib/components/tables/table/table.component.js.map +1 -1
  252. package/esm2015/lib/components/tables/table/table.component.metadata.json +1 -1
  253. package/esm2015/lib/components/tables/table/text-search-predicate.js +2 -0
  254. package/esm2015/lib/components/tables/table/text-search-predicate.js.map +1 -0
  255. package/esm2015/lib/components/tables/table/text-search-predicate.metadata.json +1 -0
  256. package/esm2015/lib/components/tables/tree-table/flattened-tree-list-model.js +4 -4
  257. package/esm2015/lib/components/tables/tree-table/flattened-tree-list-model.js.map +1 -1
  258. package/esm2015/lib/components/tables/tree-table/flattened-tree-list-model.metadata.json +1 -1
  259. package/esm2015/lib/components/tables/tree-table/tree-inheritance-icon/tree-inheritance-icon.component.js +1 -1
  260. package/esm2015/lib/components/tables/tree-table/tree-inheritance-icon/tree-inheritance-icon.component.metadata.json +1 -1
  261. package/esm2015/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.js +21 -13
  262. package/esm2015/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.js.map +1 -1
  263. package/esm2015/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.metadata.json +1 -1
  264. package/esm2015/lib/components/tables/tree-table/tree-label-column-model.js +1 -1
  265. package/esm2015/lib/components/tables/tree-table/tree-label-column-model.js.map +1 -1
  266. package/esm2015/lib/components/tables/tree-table/tree-label-column-model.metadata.json +1 -1
  267. package/esm2015/lib/components/tables/tree-table/tree-table-component.js +1 -1
  268. package/esm2015/lib/components/tables/tree-table/tree-table-component.js.map +1 -1
  269. package/esm2015/lib/components/tables/tree-table/tree-table-component.metadata.json +1 -1
  270. package/esm2015/lib/components/tables/tree-table/tree-table-model.js +3 -2
  271. package/esm2015/lib/components/tables/tree-table/tree-table-model.js.map +1 -1
  272. package/esm2015/lib/components/tables/tree-table/tree-table-model.metadata.json +1 -1
  273. package/esm2015/lib/components/track-by.js +12 -0
  274. package/esm2015/lib/components/track-by.js.map +1 -1
  275. package/esm2015/lib/components/vertical-focus-container/vertical-focus-container.component.js +1 -1
  276. package/esm2015/lib/components/vertical-focus-container/vertical-focus-container.component.metadata.json +1 -1
  277. package/esm2015/lib/directives/command.directive.js +1 -1
  278. package/esm2015/lib/directives/command.directive.js.map +1 -1
  279. package/esm2015/lib/directives/directives.module.ngfactory.js.map +1 -1
  280. package/esm2015/lib/interaction/activity.js +1 -1
  281. package/esm2015/lib/interaction/activity.js.map +1 -1
  282. package/esm2015/lib/interaction/components/activity-actions/activity-actions.component.js +17 -11
  283. package/esm2015/lib/interaction/components/activity-actions/activity-actions.component.js.map +1 -1
  284. package/esm2015/lib/interaction/components/activity-actions/activity-actions.component.metadata.json +1 -1
  285. package/esm2015/lib/interaction/components/activity-container/activity-container.component.js +3 -3
  286. package/esm2015/lib/interaction/components/activity-container/activity-container.component.js.map +1 -1
  287. package/esm2015/lib/interaction/components/activity-container/activity-container.component.metadata.json +1 -1
  288. package/esm2015/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.js +1 -1
  289. package/esm2015/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.metadata.json +1 -1
  290. package/esm2015/lib/interaction/components/activity-title/activity-title.component.js +1 -1
  291. package/esm2015/lib/interaction/components/activity-title/activity-title.component.metadata.json +1 -1
  292. package/esm2015/lib/interaction/components/activity-triggers/abstract-activity-trigger.component.js +4 -0
  293. package/esm2015/lib/interaction/components/activity-triggers/abstract-activity-trigger.component.js.map +1 -1
  294. package/esm2015/lib/interaction/components/activity-triggers/abstract-activity-trigger.component.metadata.json +1 -1
  295. package/esm2015/lib/interaction/components/activity-triggers/inline-activity-trigger/inline-activity-trigger.component.js +5 -2
  296. package/esm2015/lib/interaction/components/activity-triggers/inline-activity-trigger/inline-activity-trigger.component.js.map +1 -1
  297. package/esm2015/lib/interaction/components/activity-triggers/inline-activity-trigger/inline-activity-trigger.component.metadata.json +1 -1
  298. package/esm2015/lib/interaction/components/activity-triggers/modal-activity-trigger/modal-activity-trigger.component.js +5 -2
  299. package/esm2015/lib/interaction/components/activity-triggers/modal-activity-trigger/modal-activity-trigger.component.js.map +1 -1
  300. package/esm2015/lib/interaction/components/activity-triggers/modal-activity-trigger/modal-activity-trigger.component.metadata.json +1 -1
  301. package/esm2015/lib/interaction/components/activity-triggers/popup-activity-trigger/popup-activity-trigger.component.js +5 -2
  302. package/esm2015/lib/interaction/components/activity-triggers/popup-activity-trigger/popup-activity-trigger.component.js.map +1 -1
  303. package/esm2015/lib/interaction/components/activity-triggers/popup-activity-trigger/popup-activity-trigger.component.metadata.json +1 -1
  304. package/esm2015/lib/interaction/components/add-card-activity/add-card-activity.component.js +77 -0
  305. package/esm2015/lib/interaction/components/add-card-activity/add-card-activity.component.js.map +1 -0
  306. package/esm2015/lib/interaction/components/add-card-activity/add-card-activity.component.metadata.json +1 -0
  307. package/esm2015/lib/interaction/components/add-card-activity/add-card-activity.component.ngfactory.js.map +1 -0
  308. package/esm2015/lib/interaction/components/add-card-activity/add-card-activity.component.scss.shim.ngstyle.js.map +1 -0
  309. package/esm2015/lib/interaction/components/add-item-interaction-context/add-item-interaction-context.component.js +1 -1
  310. package/esm2015/lib/interaction/components/add-item-interaction-context/add-item-interaction-context.component.metadata.json +1 -1
  311. package/esm2015/lib/interaction/components/alert-dialog/alert-dialog.component.js +1 -1
  312. package/esm2015/lib/interaction/components/alert-dialog/alert-dialog.component.metadata.json +1 -1
  313. package/esm2015/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.js +1 -1
  314. package/esm2015/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.metadata.json +1 -1
  315. package/esm2015/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js +1 -1
  316. package/esm2015/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.metadata.json +1 -1
  317. package/esm2015/lib/interaction/components/editors/edit-context.js +2 -0
  318. package/esm2015/lib/interaction/components/editors/edit-context.js.map +1 -0
  319. package/esm2015/lib/interaction/components/editors/edit-context.metadata.json +1 -0
  320. package/esm2015/lib/interaction/components/editors/inline-string-editor/inline-editor-model.js +50 -0
  321. package/esm2015/lib/interaction/components/editors/inline-string-editor/inline-editor-model.js.map +1 -0
  322. package/esm2015/lib/interaction/components/editors/inline-string-editor/inline-editor-model.metadata.json +1 -0
  323. package/esm2015/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.js +161 -0
  324. package/esm2015/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.js.map +1 -0
  325. package/esm2015/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.metadata.json +1 -0
  326. package/esm2015/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.ngfactory.js.map +1 -0
  327. package/esm2015/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.js +7 -3
  328. package/esm2015/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.js.map +1 -1
  329. package/esm2015/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.metadata.json +1 -1
  330. package/esm2015/lib/interaction/components/input-activities/input-activity.js +95 -0
  331. package/esm2015/lib/interaction/components/input-activities/input-activity.js.map +1 -0
  332. package/esm2015/lib/interaction/components/input-activities/input-activity.metadata.json +1 -0
  333. package/esm2015/lib/interaction/components/input-activities/input-activity.ngfactory.js.map +1 -0
  334. package/esm2015/lib/interaction/components/input-activities/select-input-activity.js +5 -3
  335. package/esm2015/lib/interaction/components/input-activities/select-input-activity.js.map +1 -1
  336. package/esm2015/lib/interaction/components/input-activities/select-input-activity.metadata.json +1 -1
  337. package/esm2015/lib/interaction/components/input-activities/string-input-activity.js +6 -4
  338. package/esm2015/lib/interaction/components/input-activities/string-input-activity.js.map +1 -1
  339. package/esm2015/lib/interaction/components/input-activities/string-input-activity.metadata.json +1 -1
  340. package/esm2015/lib/interaction/components/popup-interaction-context/popup-interaction-context.component.js +2 -1
  341. package/esm2015/lib/interaction/components/popup-interaction-context/popup-interaction-context.component.js.map +1 -1
  342. package/esm2015/lib/interaction/components/popup-interaction-context/popup-interaction-context.component.metadata.json +1 -1
  343. package/esm2015/lib/interaction/exports.js +5 -3
  344. package/esm2015/lib/interaction/exports.js.map +1 -1
  345. package/esm2015/lib/interaction/exports.metadata.json +1 -1
  346. package/esm2015/lib/interaction/interaction.module.js +19 -5
  347. package/esm2015/lib/interaction/interaction.module.js.map +1 -1
  348. package/esm2015/lib/interaction/interaction.module.metadata.json +1 -1
  349. package/esm2015/lib/interaction/interaction.module.ngfactory.js.map +1 -1
  350. package/esm2015/lib/interaction/services/interaction.service.js +1 -1
  351. package/esm2015/lib/interaction/services/interaction.service.js.map +1 -1
  352. package/esm2015/lib/place/components/abstract-place-navigation.component.js +1 -1
  353. package/esm2015/lib/place/components/abstract-place-navigation.component.js.map +1 -1
  354. package/esm2015/lib/place/components/list-place-nav/list-place-nav.component.js +1 -1
  355. package/esm2015/lib/place/components/list-place-nav/list-place-nav.component.metadata.json +1 -1
  356. package/esm2015/lib/place/components/not-authorised-notice/not-authorised-notice.component.js +1 -1
  357. package/esm2015/lib/place/components/not-authorised-notice/not-authorised-notice.component.metadata.json +1 -1
  358. package/esm2015/lib/place/components/place-outlet/place-outlet.component.js +1 -1
  359. package/esm2015/lib/place/components/place-outlet/place-outlet.component.metadata.json +1 -1
  360. package/esm2015/lib/place/components/side-place-navigation/side-place-navigation.component.js +1 -1
  361. package/esm2015/lib/place/components/side-place-navigation/side-place-navigation.component.metadata.json +1 -1
  362. package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js +1 -1
  363. package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.metadata.json +1 -1
  364. package/esm2015/lib/place/guards/consolidated-param-map.js +2 -1
  365. package/esm2015/lib/place/guards/consolidated-param-map.js.map +1 -1
  366. package/esm2015/lib/place/guards/consolidated-param-map.metadata.json +1 -1
  367. package/esm2015/lib/place/guards/place.guard.js +2 -1
  368. package/esm2015/lib/place/guards/place.guard.js.map +1 -1
  369. package/esm2015/lib/place/place-component.js +31 -4
  370. package/esm2015/lib/place/place-component.js.map +1 -1
  371. package/esm2015/lib/place/place-component.metadata.json +1 -1
  372. package/esm2015/lib/place/place-router.js +11 -14
  373. package/esm2015/lib/place/place-router.js.map +1 -1
  374. package/esm2015/lib/place/place-router.metadata.json +1 -1
  375. package/esm2015/lib/place/place.module.ngfactory.js.map +1 -1
  376. package/esm2015/lib/place/url-snapshot.js +1 -7
  377. package/esm2015/lib/place/url-snapshot.js.map +1 -1
  378. package/esm2015/lib/place/url-snapshot.metadata.json +1 -1
  379. package/esm2015/lib/place/visit.js +5 -1
  380. package/esm2015/lib/place/visit.js.map +1 -1
  381. package/esm2015/lib/place/visit.metadata.json +1 -1
  382. package/fesm2015/coolon-angular-ui-powerups-cypress.js +550 -239
  383. package/fesm2015/coolon-angular-ui-powerups-cypress.js.map +1 -1
  384. package/fesm2015/coolon-angular-ui-powerups.js +908 -268
  385. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  386. package/lib/components/cards/abstract-card-container.component.d.ts +11 -0
  387. package/lib/components/{card-container → cards/card-container}/card-container.component.d.ts +30 -9
  388. package/lib/components/cards/card-stack/card-stack.component.d.ts +65 -0
  389. package/lib/components/commands/command-face/command-face.component.d.ts +1 -0
  390. package/lib/components/exports.d.ts +7 -4
  391. package/lib/components/labelled-value/labelled-value.component.d.ts +7 -0
  392. package/lib/components/loading-container/loading-container.component.d.ts +11 -0
  393. package/lib/components/section-header/section-header.component.d.ts +5 -2
  394. package/lib/components/tables/abstract-table-model.d.ts +10 -7
  395. package/lib/components/tables/{table/edit-session.d.ts → edit-session.d.ts} +3 -3
  396. package/lib/components/tables/table/cell-portal-ref.d.ts +1 -1
  397. package/lib/components/tables/table/cell-renderer.d.ts +2 -0
  398. package/lib/components/tables/table/column-model.d.ts +14 -5
  399. package/lib/components/tables/table/default-cell-renderer/default-cell-renderer.component.d.ts +2 -1
  400. package/lib/components/tables/table/edit-row-controls/edit-row-controls.component.d.ts +4 -2
  401. package/lib/components/tables/table/table-cell-renderer/table-cell-renderer.component.d.ts +1 -1
  402. package/lib/components/tables/table/table-row-menu/table-row-menu.component.d.ts +2 -3
  403. package/lib/components/tables/table/table.component.d.ts +13 -12
  404. package/lib/components/tables/table/text-search-predicate.d.ts +1 -0
  405. package/lib/components/tables/tree-table/flattened-tree-list-model.d.ts +0 -1
  406. package/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.d.ts +2 -3
  407. package/lib/components/tables/tree-table/tree-label-column-model.d.ts +2 -3
  408. package/lib/components/tables/tree-table/tree-table-component.d.ts +1 -1
  409. package/lib/components/tables/tree-table/tree-table-model.d.ts +4 -5
  410. package/lib/components/track-by.d.ts +9 -0
  411. package/lib/interaction/components/activity-actions/activity-actions.component.d.ts +14 -3
  412. package/lib/interaction/components/activity-triggers/abstract-activity-trigger.component.d.ts +1 -1
  413. package/lib/interaction/components/activity-triggers/inline-activity-trigger/inline-activity-trigger.component.d.ts +2 -1
  414. package/lib/interaction/components/activity-triggers/modal-activity-trigger/modal-activity-trigger.component.d.ts +2 -1
  415. package/lib/interaction/components/activity-triggers/popup-activity-trigger/popup-activity-trigger.component.d.ts +2 -1
  416. package/lib/interaction/components/add-card-activity/add-card-activity.component.d.ts +39 -0
  417. package/lib/interaction/components/editors/edit-context.d.ts +3 -0
  418. package/lib/interaction/components/editors/inline-string-editor/inline-editor-model.d.ts +24 -0
  419. package/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.d.ts +57 -0
  420. package/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.d.ts +1 -0
  421. package/lib/interaction/components/input-activities/input-activity.d.ts +41 -0
  422. package/lib/interaction/components/input-activities/select-input-activity.d.ts +11 -3
  423. package/lib/interaction/components/input-activities/string-input-activity.d.ts +6 -2
  424. package/lib/interaction/exports.d.ts +5 -3
  425. package/lib/place/place-component.d.ts +6 -1
  426. package/lib/place/place-router.d.ts +2 -2
  427. package/package.json +16 -16
  428. package/schematics/activity/index.js +1 -1
  429. package/schematics/activity/index.js.map +1 -1
  430. package/schematics/activity/templates/component/__name@dasherize__.component.html.template +1 -1
  431. package/schematics/activity/templates/component/__name@dasherize__.component.ts.template +5 -3
  432. package/schematics/aup-i18n/index.js +1 -1
  433. package/schematics/aup-i18n/index.js.map +1 -1
  434. package/schematics/component/index.js +1 -1
  435. package/schematics/component/index.js.map +1 -1
  436. package/schematics/component/templates/component/__name@dasherize__.component.ts.template +1 -1
  437. package/schematics/place-routes/place-class-scanner.js +3 -1
  438. package/schematics/place-routes/place-class-scanner.js.map +1 -1
  439. package/schematics/utils/build-context.d.ts +6 -3
  440. package/schematics/utils/build-context.js +3 -3
  441. package/schematics/utils/build-context.js.map +1 -1
  442. package/schematics/utils/workspace.d.ts +1 -0
  443. package/schematics/utils/workspace.js +11 -3
  444. package/schematics/utils/workspace.js.map +1 -1
  445. package/assets/activities.scss +0 -70
  446. package/cypress/components/aup-more-menu.d.ts +0 -4
  447. package/cypress/components/aup-popup-menu.d.ts +0 -7
  448. package/cypress/components/button-mixin.d.ts +0 -19
  449. package/cypress/section.d.ts +0 -52
  450. package/esm2015/cypress/components/aup-more-menu.js +0 -7
  451. package/esm2015/cypress/components/aup-more-menu.js.map +0 -1
  452. package/esm2015/cypress/components/aup-more-menu.metadata.json +0 -1
  453. package/esm2015/cypress/components/aup-popup-menu.js +0 -19
  454. package/esm2015/cypress/components/aup-popup-menu.js.map +0 -1
  455. package/esm2015/cypress/components/aup-popup-menu.metadata.json +0 -1
  456. package/esm2015/cypress/components/button-mixin.js +0 -15
  457. package/esm2015/cypress/components/button-mixin.js.map +0 -1
  458. package/esm2015/cypress/components/button-mixin.metadata.json +0 -1
  459. package/esm2015/cypress/section.js +0 -72
  460. package/esm2015/cypress/section.js.map +0 -1
  461. package/esm2015/cypress/section.metadata.json +0 -1
  462. package/esm2015/lib/components/card-container/card-container.component.js +0 -84
  463. package/esm2015/lib/components/card-container/card-container.component.js.map +0 -1
  464. package/esm2015/lib/components/card-container/card-container.component.metadata.json +0 -1
  465. package/esm2015/lib/components/card-container/card-container.component.ngfactory.js.map +0 -1
  466. package/esm2015/lib/components/tables/table/edit-session.js.map +0 -1
  467. package/esm2015/lib/components/tables/tree-table/tree-node.js +0 -2
  468. package/esm2015/lib/components/tables/tree-table/tree-node.js.map +0 -1
  469. package/esm2015/lib/components/tables/tree-table/tree-node.metadata.json +0 -1
  470. package/esm2015/lib/components/tables/tree-table/visitable.class.js +0 -26
  471. package/esm2015/lib/components/tables/tree-table/visitable.class.js.map +0 -1
  472. package/esm2015/lib/components/tables/tree-table/visitable.class.metadata.json +0 -1
  473. package/esm2015/lib/interaction/components/input-activities/abstract-input-activity.js +0 -43
  474. package/esm2015/lib/interaction/components/input-activities/abstract-input-activity.js.map +0 -1
  475. package/esm2015/lib/interaction/components/input-activities/abstract-input-activity.metadata.json +0 -1
  476. package/esm2015/lib/interaction/components/input-activities/abstract-input-activity.ngfactory.js.map +0 -1
  477. package/esm2015/lib/interaction/components/input-activities/input-activity-data.js +0 -2
  478. package/esm2015/lib/interaction/components/input-activities/input-activity-data.js.map +0 -1
  479. package/esm2015/lib/interaction/components/input-activities/input-activity-data.metadata.json +0 -1
  480. package/esm2015/lib/interaction/components/input-activities/select-input-activity-data.js +0 -2
  481. package/esm2015/lib/interaction/components/input-activities/select-input-activity-data.js.map +0 -1
  482. package/esm2015/lib/interaction/components/input-activities/select-input-activity-data.metadata.json +0 -1
  483. package/lib/components/tables/tree-table/tree-node.d.ts +0 -3
  484. package/lib/components/tables/tree-table/visitable.class.d.ts +0 -22
  485. package/lib/interaction/components/input-activities/abstract-input-activity.d.ts +0 -12
  486. package/lib/interaction/components/input-activities/input-activity-data.d.ts +0 -11
  487. package/lib/interaction/components/input-activities/select-input-activity-data.d.ts +0 -8
  488. /package/esm2015/lib/components/tables/{table/edit-session.js → edit-session.js} +0 -0
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"FlattenedTreeListModel":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@coolon/pectin","name":"ComputedListModel","line":4,"character":47},"arity":1,"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@coolon/pectin","name":"ListModel","line":6,"character":39,"arguments":[{"__symbolic":"error","message":"Could not resolve type","line":6,"character":49,"context":{"typeName":"T"}}]},{"__symbolic":"error","message":"Expression form not supported","line":6,"character":80},{"__symbolic":"reference","module":"./tree-expansion-model","name":"TreeExpansionModel","line":6,"character":123,"arguments":[{"__symbolic":"reference","module":"./decorated-tree-node","name":"DecoratedTreeNode","line":6,"character":142,"arguments":[{"__symbolic":"error","message":"Could not resolve type","line":6,"character":160,"context":{"typeName":"T"}}]}]}]}],"getIdentityOf":[{"__symbolic":"method"}],"compute":[{"__symbolic":"method"}],"addNodeAndVisibleChildren":[{"__symbolic":"method"}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"FlattenedTreeListModel":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@coolon/pectin","name":"ComputedListModel","line":4,"character":47},"arity":1,"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@coolon/pectin","name":"ListModel","line":6,"character":39,"arguments":[{"__symbolic":"error","message":"Could not resolve type","line":6,"character":49,"context":{"typeName":"T"}}]},{"__symbolic":"error","message":"Expression form not supported","line":6,"character":80},{"__symbolic":"reference","module":"./tree-expansion-model","name":"TreeExpansionModel","line":6,"character":123,"arguments":[{"__symbolic":"reference","module":"./decorated-tree-node","name":"DecoratedTreeNode","line":6,"character":142,"arguments":[{"__symbolic":"error","message":"Could not resolve type","line":6,"character":160,"context":{"typeName":"T"}}]}]}]}],"compute":[{"__symbolic":"method"}],"addNodeAndVisibleChildren":[{"__symbolic":"method"}]}}}}]
@@ -29,7 +29,7 @@ TreeInheritanceIconComponent.decorators = [
29
29
  { type: Component, args: [{
30
30
  selector: 'aup-tree-inheritance-icon',
31
31
  template: "<svg xmlns=\"http://www.w3.org/2000/svg\" [attr.width]=\"pixelWidth\" [attr.height]=\"pixelHeight\" [attr.viewBox]=\"viewBox\">\n <g fill=\"none\" fill-rule=\"evenodd\">\n <rect *ngIf=\"hasHead()\" width=\"1\" height=\"32.5\" x=\"11.5\" fill=\"currentColor\"/>\n <rect *ngIf=\"hasTail()\" width=\"1\" height=\"32.5\" x=\"11.5\" y=\"31.5\" fill=\"currentColor\"/>\n\n <rect *ngIf=\"hasLeadIn()\" width=\"12\" height=\"1\" y=\"31.5\" fill=\"currentColor\"/>\n <rect *ngIf=\"hasTerminal()\" width=\"12\" height=\"1\" x=\"12\" y=\"31.5\" fill=\"currentColor\"/>\n </g>\n</svg>\n",
32
- styles: [":host{position:relative;color:inherit}svg{color:var(--line-color);display:block}"]
32
+ styles: [":host{position:relative;color:inherit}svg{color:var(--line-color);display:block}\n"]
33
33
  },] }
34
34
  ];
35
35
  TreeInheritanceIconComponent.ctorParameters = () => [];
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"TreeInheritanceIconComponent":{"__symbolic":"class","arity":1,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"aup-tree-inheritance-icon","template":"<svg xmlns=\"http://www.w3.org/2000/svg\" [attr.width]=\"pixelWidth\" [attr.height]=\"pixelHeight\" [attr.viewBox]=\"viewBox\">\n <g fill=\"none\" fill-rule=\"evenodd\">\n <rect *ngIf=\"hasHead()\" width=\"1\" height=\"32.5\" x=\"11.5\" fill=\"currentColor\"/>\n <rect *ngIf=\"hasTail()\" width=\"1\" height=\"32.5\" x=\"11.5\" y=\"31.5\" fill=\"currentColor\"/>\n\n <rect *ngIf=\"hasLeadIn()\" width=\"12\" height=\"1\" y=\"31.5\" fill=\"currentColor\"/>\n <rect *ngIf=\"hasTerminal()\" width=\"12\" height=\"1\" x=\"12\" y=\"31.5\" fill=\"currentColor\"/>\n </g>\n</svg>\n","styles":[":host{position:relative;color:inherit}svg{color:var(--line-color);display:block}"]}]}],"members":{"type":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":13,"character":3},"arguments":["class"]}]}],"pixelWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"pixelHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"hasHead":[{"__symbolic":"method"}],"hasTerminal":[{"__symbolic":"method"}],"hasLeadIn":[{"__symbolic":"method"}],"hasTail":[{"__symbolic":"method"}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"TreeInheritanceIconComponent":{"__symbolic":"class","arity":1,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"aup-tree-inheritance-icon","template":"<svg xmlns=\"http://www.w3.org/2000/svg\" [attr.width]=\"pixelWidth\" [attr.height]=\"pixelHeight\" [attr.viewBox]=\"viewBox\">\n <g fill=\"none\" fill-rule=\"evenodd\">\n <rect *ngIf=\"hasHead()\" width=\"1\" height=\"32.5\" x=\"11.5\" fill=\"currentColor\"/>\n <rect *ngIf=\"hasTail()\" width=\"1\" height=\"32.5\" x=\"11.5\" y=\"31.5\" fill=\"currentColor\"/>\n\n <rect *ngIf=\"hasLeadIn()\" width=\"12\" height=\"1\" y=\"31.5\" fill=\"currentColor\"/>\n <rect *ngIf=\"hasTerminal()\" width=\"12\" height=\"1\" x=\"12\" y=\"31.5\" fill=\"currentColor\"/>\n </g>\n</svg>\n","styles":[":host{position:relative;color:inherit}svg{color:var(--line-color);display:block}\n"]}]}],"members":{"type":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":13,"character":3},"arguments":["class"]}]}],"pixelWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"pixelHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"hasHead":[{"__symbolic":"method"}],"hasTerminal":[{"__symbolic":"method"}],"hasLeadIn":[{"__symbolic":"method"}],"hasTail":[{"__symbolic":"method"}]}}}}]
@@ -3,7 +3,6 @@ import { Component, HostBinding, Input } from '@angular/core';
3
3
  import { Dsl, MutableValueModel, StoreInValueModel } from '@coolon/pectin';
4
4
  import { DisposableComponent } from '../../../disposable-component';
5
5
  import { DecoratedTreeNode } from '../decorated-tree-node';
6
- import { TreeExpansionModel } from '../tree-expansion-model';
7
6
  import { TreeInheritanceIconComponent } from '../tree-inheritance-icon/tree-inheritance-icon.component';
8
7
  import { TreeTableModel } from '../tree-table-model';
9
8
  export class TreeLabelCellRendererComponent extends DisposableComponent {
@@ -25,17 +24,17 @@ export class TreeLabelCellRendererComponent extends DisposableComponent {
25
24
  ngOnInit() {
26
25
  const { chain } = Dsl.disposeWith(this);
27
26
  this.canExpand = chain(this.nodeModel).map(node => {
28
- return DecoratedTreeNode.getDecorator(node).hasChildren() && this.expansionModel.isCollapsed(node);
29
- }, { dependsOn: this.expansionModel.isExpandedPredicate });
27
+ return DecoratedTreeNode.getDecorator(node).hasChildren() && this.treeTableModel.isCollapsed(node);
28
+ }, { dependsOn: this.treeTableModel.treeExpansionModel.isExpandedPredicate });
30
29
  this.canCollapse = chain(this.nodeModel).map(node => {
31
- return DecoratedTreeNode.getDecorator(node).hasChildren() && !this.expansionModel.isCollapsed(node);
32
- }, { dependsOn: this.expansionModel.isExpandedPredicate });
30
+ return DecoratedTreeNode.getDecorator(node).hasChildren() && !this.treeTableModel.isCollapsed(node);
31
+ }, { dependsOn: this.treeTableModel.treeExpansionModel.isExpandedPredicate });
33
32
  this.iconModel = chain(this.nodeModel).map(node => {
34
33
  var _a;
35
- const expanded = this.expansionModel.isExpanded(this.node);
34
+ const expanded = this.treeTableModel.treeExpansionModel.isExpanded(this.node);
36
35
  const iconFactory = (_a = this.iconFactory) !== null && _a !== void 0 ? _a : TreeLabelCellRendererComponent.DEFAULT_ICON_FACTORY;
37
36
  return iconFactory(node, expanded, TreeLabelCellRendererComponent.DEFAULT_ICON_FACTORY(node, expanded, undefined));
38
- }, { dependsOn: this.expansionModel.isExpandedPredicate });
37
+ }, { dependsOn: this.treeTableModel.treeExpansionModel.isExpandedPredicate });
39
38
  }
40
39
  get isRoot() {
41
40
  return DecoratedTreeNode.getDecorator(this.node).isRoot();
@@ -47,15 +46,17 @@ export class TreeLabelCellRendererComponent extends DisposableComponent {
47
46
  return this.nodeModel.value;
48
47
  }
49
48
  // @Trace()
50
- expandOrCollapse(node) {
51
- this.expansionModel.isCollapsed(node) ? this.expansionModel.expand(node) : this.expansionModel.collapse(node);
49
+ expandOrCollapse($event, node) {
50
+ $event.preventDefault();
51
+ $event.stopPropagation();
52
+ this.treeTableModel.isCollapsed(node) ? this.treeTableModel.expand(node) : this.treeTableModel.collapse(node);
52
53
  }
53
54
  }
54
55
  TreeLabelCellRendererComponent.decorators = [
55
56
  { type: Component, args: [{
56
57
  selector: 'aup-tree-label-cell-renderer',
57
- template: "<div class=\"tree-icons\">\n <aup-tree-inheritance-icon *ngFor=\"let iconClass of iconList.value\" [type]=\"iconClass\"></aup-tree-inheritance-icon>\n <aup-icon *ngIf=\"iconModel.value\"\n [icon]=\"iconModel.value\"\n [class.clickable]=\"canExpand.value || canCollapse.value\"\n (click)=\"expandOrCollapse(node)\" ></aup-icon>\n</div>\n<div class=\"label\">{{label}}</div>\n",
58
- styles: [":host{--line-color:#ddd;--node-color:#999;display:inline-flex;flex-direction:row;align-items:stretch}:host div.label{display:flex;flex-direction:row;align-items:center;white-space:nowrap;padding-left:6px}:host div.tree-icons{display:grid;grid-auto-flow:column;grid-auto-columns:auto;grid-template-rows:1fr;align-items:stretch;justify-content:stretch}:host div.tree-icons aup-icon{align-self:center;color:var(--node-color)}:host div.tree-icons aup-icon.clickable{cursor:pointer}:host div.tree-icons aup-icon,:host div.tree-icons aup-tree-inheritance-icon{margin-left:4px}"]
58
+ template: "<div class=\"tree-icons\">\n <aup-tree-inheritance-icon *ngFor=\"let iconClass of iconList.value\" [type]=\"iconClass\"></aup-tree-inheritance-icon>\n <aup-icon *ngIf=\"iconModel.value\"\n [icon]=\"iconModel.value\"\n [class.clickable]=\"canExpand.value || canCollapse.value\"\n (click)=\"expandOrCollapse($event, node)\" ></aup-icon>\n</div>\n<div class=\"label\">{{label}}</div>\n",
59
+ styles: [":host{--line-color: #ddd;--node-color: #999;display:inline-flex;flex-direction:row;align-items:stretch}:host div.label{display:flex;flex-direction:row;align-items:center;white-space:nowrap;padding-left:6px}:host div.tree-icons{display:grid;grid-auto-flow:column;grid-auto-columns:auto;grid-template-rows:1fr;align-items:stretch;justify-content:stretch}:host div.tree-icons aup-icon{align-self:center;color:var(--node-color)}:host div.tree-icons aup-icon.clickable{cursor:pointer}:host div.tree-icons aup-tree-inheritance-icon,:host div.tree-icons aup-icon{margin-left:4px}\n"]
59
60
  },] }
60
61
  ];
61
62
  TreeLabelCellRendererComponent.ctorParameters = () => [];
@@ -63,7 +64,7 @@ TreeLabelCellRendererComponent.propDecorators = {
63
64
  value: [{ type: Input }],
64
65
  label: [{ type: Input }],
65
66
  iconFactory: [{ type: Input }],
66
- expansionModel: [{ type: Input }],
67
+ treeTableModel: [{ type: Input }],
67
68
  isRoot: [{ type: HostBinding, args: ['class.root',] }],
68
69
  isLeaf: [{ type: HostBinding, args: ['class.leaf',] }]
69
70
  };
@@ -72,6 +73,13 @@ __decorate([
72
73
  __metadata("design:type", Object)
73
74
  ], TreeLabelCellRendererComponent.prototype, "value", void 0);
74
75
  (function (TreeLabelCellRendererComponent) {
75
- TreeLabelCellRendererComponent.DEFAULT_ICON_FACTORY = (node, expanded, defaultIcon) => expanded ? 'mat:expand_more' : 'mat:chevron_right';
76
+ TreeLabelCellRendererComponent.DEFAULT_ICON_FACTORY = (node, expanded, defaultIcon) => {
77
+ const isLeaf = DecoratedTreeNode.getDecorator(node).isLeaf();
78
+ return isLeaf ?
79
+ undefined :
80
+ expanded ?
81
+ 'mat:expand_more' :
82
+ 'mat:chevron_right';
83
+ };
76
84
  })(TreeLabelCellRendererComponent || (TreeLabelCellRendererComponent = {}));
77
85
  //# sourceMappingURL=tree-label-cell-renderer.component.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tree-label-cell-renderer.component.js","sourceRoot":"","sources":["../../../../../../../../../libs/angular-ui-powerups/src/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAU,MAAM,eAAe,CAAC;AACtE,OAAO,EAAE,GAAG,EAAkB,iBAAiB,EAAE,iBAAiB,EAAmB,MAAM,gBAAgB,CAAC;AAC5G,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,4BAA4B,EAAE,MAAM,0DAA0D,CAAC;AACxG,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAOrD,MAAM,OAAO,8BAAkC,SAAQ,mBAAmB;IA0BxE;QACE,KAAK,EAAE,CAAC;QAzBV,cAAS,GAAa,EAAE,CAAC;QAEjB,cAAS,GAAG,IAAI,iBAAiB,EAAK,CAAC;QAwB7C,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;YACrD,MAAM,KAAK,GAAa,iBAAiB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;gBAC/F,OAAO,iBAAiB,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,4BAA4B,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,4BAA4B,CAAC,IAAI,CAAC,YAAY,CAAC;YAChK,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;gBAClD,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,4BAA4B,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,4BAA4B,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;aAChM;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ;QACN,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YAChD,OAAO,iBAAiB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACrG,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAE3D,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YAClD,OAAO,iBAAiB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACtG,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAE3D,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;;YAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3D,MAAM,WAAW,GAAG,MAAA,IAAI,CAAC,WAAW,mCAAI,8BAA8B,CAAC,oBAAoB,CAAC;YAC5F,OAAO,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,8BAA8B,CAAC,oBAAoB,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;QACrH,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,IACI,MAAM;QACR,OAAO,iBAAiB,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;IAC5D,CAAC;IAED,IACI,MAAM;QACR,OAAO,iBAAiB,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;IAC5D,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;IAC9B,CAAC;IAED,WAAW;IACX,gBAAgB,CAAC,IAA0B;QACzC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAChH,CAAC;;;YA/EF,SAAS,SAAC;gBACT,QAAQ,EAAE,8BAA8B;gBACxC,qaAAwD;;aAEzD;;;;oBAOE,KAAK;oBAIL,KAAK;0BAGL,KAAK;6BAIL,KAAK;qBAwCL,WAAW,SAAC,YAAY;qBAKxB,WAAW,SAAC,YAAY;;AAtDzB;IADC,iBAAiB,CAAC,WAAW,CAAC;;6DACtB;AAqEX,WAAiB,8BAA8B;IAChC,mDAAoB,GAAoC,CAAC,IAAS,EAAE,QAAiB,EAAE,WAAmB,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,mBAAmB,CAAC;AACjL,CAAC,EAFgB,8BAA8B,KAA9B,8BAA8B,QAE9C","sourcesContent":["import { Component, HostBinding, Input, OnInit } from '@angular/core';\nimport { Dsl, ListModelChain, MutableValueModel, StoreInValueModel, ValueModelChain } from '@coolon/pectin';\nimport { DisposableComponent } from '../../../disposable-component';\nimport { CellRenderer } from '../../table/cell-renderer';\nimport { DecoratedTreeNode } from '../decorated-tree-node';\nimport { TreeExpansionModel } from '../tree-expansion-model';\nimport { TreeInheritanceIconComponent } from '../tree-inheritance-icon/tree-inheritance-icon.component';\nimport { TreeTableModel } from '../tree-table-model';\n\n@Component({\n selector: 'aup-tree-label-cell-renderer',\n templateUrl: './tree-label-cell-renderer.component.html',\n styleUrls: ['./tree-label-cell-renderer.component.scss']\n})\nexport class TreeLabelCellRendererComponent<T> extends DisposableComponent implements CellRenderer<T>, OnInit {\n\n iconTypes: string[] = [];\n\n private nodeModel = new MutableValueModel<T>();\n\n @Input()\n @StoreInValueModel('nodeModel')\n value: T;\n\n @Input()\n label: string;\n\n @Input()\n iconFactory: TreeTableModel.IconFactory<T>;\n\n // TODO: Make this have a proper delegate so I can safely use it here..\n @Input()\n expansionModel: TreeExpansionModel<T>;\n\n readonly iconList: ListModelChain<string>;\n\n canExpand: ValueModelChain<boolean>;\n canCollapse: ValueModelChain<boolean>;\n iconModel: ValueModelChain<string>;\n\n constructor() {\n super();\n const { chain } = Dsl.disposeWith(this);\n this.iconList = chain(this.nodeModel).mapToList(node => {\n const icons: string[] = DecoratedTreeNode.getDecorator(node).ancestors().slice(1).map(ancestor => {\n return DecoratedTreeNode.getDecorator(ancestor).isLastChild() ? TreeInheritanceIconComponent.Type.ICON_BLANK : TreeInheritanceIconComponent.Type.ICON_THROUGH;\n });\n if (!DecoratedTreeNode.getDecorator(node).isRoot()) {\n icons.push(DecoratedTreeNode.getDecorator(node).isLastChild() ? TreeInheritanceIconComponent.Type.ICON_INHERITED_TERMINAL : TreeInheritanceIconComponent.Type.ICON_INHERITED_THROUGH_TERMINAL);\n }\n return icons;\n });\n }\n\n ngOnInit(): void {\n const { chain } = Dsl.disposeWith(this);\n this.canExpand = chain(this.nodeModel).map(node => {\n return DecoratedTreeNode.getDecorator(node).hasChildren() && this.expansionModel.isCollapsed(node);\n }, { dependsOn: this.expansionModel.isExpandedPredicate });\n\n this.canCollapse = chain(this.nodeModel).map(node => {\n return DecoratedTreeNode.getDecorator(node).hasChildren() && !this.expansionModel.isCollapsed(node);\n }, { dependsOn: this.expansionModel.isExpandedPredicate });\n\n this.iconModel = chain(this.nodeModel).map(node => {\n const expanded = this.expansionModel.isExpanded(this.node);\n const iconFactory = this.iconFactory ?? TreeLabelCellRendererComponent.DEFAULT_ICON_FACTORY;\n return iconFactory(node, expanded, TreeLabelCellRendererComponent.DEFAULT_ICON_FACTORY(node, expanded, undefined));\n }, { dependsOn: this.expansionModel.isExpandedPredicate });\n }\n\n @HostBinding('class.root')\n get isRoot() {\n return DecoratedTreeNode.getDecorator(this.node).isRoot();\n }\n\n @HostBinding('class.leaf')\n get isLeaf() {\n return DecoratedTreeNode.getDecorator(this.node).isLeaf();\n }\n\n get node() {\n return this.nodeModel.value;\n }\n\n // @Trace()\n expandOrCollapse(node: DecoratedTreeNode<T>) {\n this.expansionModel.isCollapsed(node) ? this.expansionModel.expand(node) : this.expansionModel.collapse(node);\n }\n}\n\nexport namespace TreeLabelCellRendererComponent {\n export const DEFAULT_ICON_FACTORY: TreeTableModel.IconFactory<any> = (node: any, expanded: boolean, defaultIcon: string) => expanded ? 'mat:expand_more' : 'mat:chevron_right';\n}\n"]}
1
+ {"version":3,"file":"tree-label-cell-renderer.component.js","sourceRoot":"","sources":["../../../../../../../../../libs/angular-ui-powerups/src/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.ts"],"names":[],"mappings":"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","sourcesContent":["import { Component, HostBinding, Input, OnInit } from '@angular/core';\nimport { Dsl, ListModelChain, MutableValueModel, StoreInValueModel, ValueModelChain } from '@coolon/pectin';\nimport { DisposableComponent } from '../../../disposable-component';\nimport { CellRenderer } from '../../table/cell-renderer';\nimport { DecoratedTreeNode } from '../decorated-tree-node';\nimport { TreeExpansionModel } from '../tree-expansion-model';\nimport { TreeInheritanceIconComponent } from '../tree-inheritance-icon/tree-inheritance-icon.component';\nimport { TreeTableModel } from '../tree-table-model';\n\n@Component({\n selector: 'aup-tree-label-cell-renderer',\n templateUrl: './tree-label-cell-renderer.component.html',\n styleUrls: ['./tree-label-cell-renderer.component.scss']\n})\nexport class TreeLabelCellRendererComponent<T> extends DisposableComponent implements CellRenderer<T>, OnInit {\n\n iconTypes: string[] = [];\n\n private nodeModel = new MutableValueModel<T>();\n\n @Input()\n @StoreInValueModel('nodeModel')\n value: T;\n\n @Input()\n label: string;\n\n @Input()\n iconFactory: TreeTableModel.IconFactory<T>;\n\n // TODO: Make this have a proper delegate so I can safely use it here..\n @Input()\n treeTableModel: TreeTableModel<T>;\n\n readonly iconList: ListModelChain<string>;\n\n canExpand: ValueModelChain<boolean>;\n canCollapse: ValueModelChain<boolean>;\n iconModel: ValueModelChain<string>;\n\n constructor() {\n super();\n const { chain } = Dsl.disposeWith(this);\n this.iconList = chain(this.nodeModel).mapToList(node => {\n const icons: string[] = DecoratedTreeNode.getDecorator(node).ancestors().slice(1).map(ancestor => {\n return DecoratedTreeNode.getDecorator(ancestor).isLastChild() ? TreeInheritanceIconComponent.Type.ICON_BLANK : TreeInheritanceIconComponent.Type.ICON_THROUGH;\n });\n if (!DecoratedTreeNode.getDecorator(node).isRoot()) {\n icons.push(DecoratedTreeNode.getDecorator(node).isLastChild() ? TreeInheritanceIconComponent.Type.ICON_INHERITED_TERMINAL : TreeInheritanceIconComponent.Type.ICON_INHERITED_THROUGH_TERMINAL);\n }\n return icons;\n });\n }\n\n ngOnInit(): void {\n const { chain } = Dsl.disposeWith(this);\n this.canExpand = chain(this.nodeModel).map(node => {\n return DecoratedTreeNode.getDecorator(node).hasChildren() && this.treeTableModel.isCollapsed(node);\n }, { dependsOn: this.treeTableModel.treeExpansionModel.isExpandedPredicate });\n\n this.canCollapse = chain(this.nodeModel).map(node => {\n return DecoratedTreeNode.getDecorator(node).hasChildren() && !this.treeTableModel.isCollapsed(node);\n }, { dependsOn: this.treeTableModel.treeExpansionModel.isExpandedPredicate });\n\n this.iconModel = chain(this.nodeModel).map(node => {\n const expanded = this.treeTableModel.treeExpansionModel.isExpanded(this.node);\n const iconFactory = this.iconFactory ?? TreeLabelCellRendererComponent.DEFAULT_ICON_FACTORY;\n return iconFactory(node, expanded, TreeLabelCellRendererComponent.DEFAULT_ICON_FACTORY(node, expanded, undefined));\n }, { dependsOn: this.treeTableModel.treeExpansionModel.isExpandedPredicate });\n }\n\n @HostBinding('class.root')\n get isRoot() {\n return DecoratedTreeNode.getDecorator(this.node).isRoot();\n }\n\n @HostBinding('class.leaf')\n get isLeaf() {\n return DecoratedTreeNode.getDecorator(this.node).isLeaf();\n }\n\n get node() {\n return this.nodeModel.value;\n }\n\n // @Trace()\n expandOrCollapse($event: MouseEvent, node: DecoratedTreeNode<T>) {\n $event.preventDefault();\n $event.stopPropagation();\n this.treeTableModel.isCollapsed(node) ? this.treeTableModel.expand(node) : this.treeTableModel.collapse(node);\n }\n}\n\nexport namespace TreeLabelCellRendererComponent {\n export const DEFAULT_ICON_FACTORY: TreeTableModel.IconFactory<any> = (node: any, expanded: boolean, defaultIcon: string) => {\n const isLeaf = DecoratedTreeNode.getDecorator(node).isLeaf();\n return isLeaf ?\n undefined :\n expanded ?\n 'mat:expand_more' :\n 'mat:chevron_right';\n };\n}\n"]}
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"TreeLabelCellRendererComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../../../disposable-component","name":"DisposableComponent","line":14,"character":55},"arity":1,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"aup-tree-label-cell-renderer","template":"<div class=\"tree-icons\">\n <aup-tree-inheritance-icon *ngFor=\"let iconClass of iconList.value\" [type]=\"iconClass\"></aup-tree-inheritance-icon>\n <aup-icon *ngIf=\"iconModel.value\"\n [icon]=\"iconModel.value\"\n [class.clickable]=\"canExpand.value || canCollapse.value\"\n (click)=\"expandOrCollapse(node)\" ></aup-icon>\n</div>\n<div class=\"label\">{{label}}</div>\n","styles":[":host{--line-color:#ddd;--node-color:#999;display:inline-flex;flex-direction:row;align-items:stretch}:host div.label{display:flex;flex-direction:row;align-items:center;white-space:nowrap;padding-left:6px}:host div.tree-icons{display:grid;grid-auto-flow:column;grid-auto-columns:auto;grid-template-rows:1fr;align-items:stretch;justify-content:stretch}:host div.tree-icons aup-icon{align-self:center;color:var(--node-color)}:host div.tree-icons aup-icon.clickable{cursor:pointer}:host div.tree-icons aup-icon,:host div.tree-icons aup-tree-inheritance-icon{margin-left:4px}"]}]}],"members":{"value":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@coolon/pectin","name":"StoreInValueModel","line":21,"character":3},"arguments":["nodeModel"]}]}],"label":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":3}}]}],"iconFactory":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":3}}]}],"expansionModel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":31,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"isRoot":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":71,"character":3},"arguments":["class.root"]}]}],"isLeaf":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":76,"character":3},"arguments":["class.leaf"]}]}],"expandOrCollapse":[{"__symbolic":"method"}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"TreeLabelCellRendererComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../../../disposable-component","name":"DisposableComponent","line":14,"character":55},"arity":1,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"aup-tree-label-cell-renderer","template":"<div class=\"tree-icons\">\n <aup-tree-inheritance-icon *ngFor=\"let iconClass of iconList.value\" [type]=\"iconClass\"></aup-tree-inheritance-icon>\n <aup-icon *ngIf=\"iconModel.value\"\n [icon]=\"iconModel.value\"\n [class.clickable]=\"canExpand.value || canCollapse.value\"\n (click)=\"expandOrCollapse($event, node)\" ></aup-icon>\n</div>\n<div class=\"label\">{{label}}</div>\n","styles":[":host{--line-color: #ddd;--node-color: #999;display:inline-flex;flex-direction:row;align-items:stretch}:host div.label{display:flex;flex-direction:row;align-items:center;white-space:nowrap;padding-left:6px}:host div.tree-icons{display:grid;grid-auto-flow:column;grid-auto-columns:auto;grid-template-rows:1fr;align-items:stretch;justify-content:stretch}:host div.tree-icons aup-icon{align-self:center;color:var(--node-color)}:host div.tree-icons aup-icon.clickable{cursor:pointer}:host div.tree-icons aup-tree-inheritance-icon,:host div.tree-icons aup-icon{margin-left:4px}\n"]}]}],"members":{"value":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@coolon/pectin","name":"StoreInValueModel","line":21,"character":3},"arguments":["nodeModel"]}]}],"label":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":3}}]}],"iconFactory":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":3}}]}],"treeTableModel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":31,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"isRoot":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":71,"character":3},"arguments":["class.root"]}]}],"isLeaf":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":76,"character":3},"arguments":["class.leaf"]}]}],"expandOrCollapse":[{"__symbolic":"method"}]}}}}]
@@ -24,7 +24,7 @@ export class TreeLabelColumnModel extends ColumnModel {
24
24
  cellRenderer(componentType) {
25
25
  this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, (component, rowData, firstTime) => {
26
26
  if (firstTime) {
27
- component.expansionModel = this.expansionModel;
27
+ component.treeTableModel = this.expansionModel;
28
28
  }
29
29
  component.value = rowData.row;
30
30
  component.label = _.isNil(this.labelProperty) ? undefined : rowData.row[this.labelProperty];
@@ -1 +1 @@
1
- {"version":3,"file":"tree-label-column-model.js","sourceRoot":"","sources":["../../../../../../../../libs/angular-ui-powerups/src/lib/components/tables/tree-table/tree-label-column-model.ts"],"names":[],"mappings":"AAEA,OAAO,CAAC,MAAM,QAAQ,CAAC;AACvB,OAAO,EAAE,8BAA8B,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EAAE,8BAA8B,EAAE,MAAM,+DAA+D,CAAC;AAG/G,MAAM,OAAO,oBAA0B,SAAQ,WAAgB;IAK7D,YAAY,QAAgB,EAChB,sBAA0D,EACjD,cAAuC;QAC1D,KAAK,CAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAC;QADrB,mBAAc,GAAd,cAAc,CAAyB;QAE1D,IAAI,CAAC,YAAY,CAAC,8BAA8B,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAyC,QAAW;QACvD,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC;IAChC,CAAC;IAED;;;OAGG;IACH,OAAO,CAAyC,OAAwC;QACtF,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;IAED,OAAO,CAAyC,OAAwC;QACtF,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;IAC7B,CAAC;IAES,YAAY,CAAgD,aAA+B;QACnG,IAAI,CAAC,qBAAqB,CAAC,IAAI,8BAA8B,CAAC,aAAa,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE;YAC7G,IAAI,SAAS,EAAE;gBACb,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;aAChD;YACD,SAAS,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC;YAC9B,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC5F,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAC3C,CAAC,CAAC,CAAC,CAAC;QACJ,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,iBAAiB,CAAC,gBAAyB;QAChD,OAAO,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IACnD,CAAC;CAEF","sourcesContent":["import { ComponentType } from '@angular/cdk/overlay';\nimport { Types } from '@coolon/pectin';\nimport _ from 'lodash';\nimport { ComponentCellRendererPortalRef } from '../table/cell-portal-ref';\nimport { ColumnModel } from '../table/column-model';\nimport { TreeExpansionModel } from './tree-expansion-model';\nimport { TreeLabelCellRendererComponent } from './tree-label-cell-renderer/tree-label-cell-renderer.component';\nimport { TreeTableModel } from './tree-table-model';\n\nexport class TreeLabelColumnModel<Row> extends ColumnModel<Row> {\n\n private labelProperty: string | number | symbol;\n private iconFactory: TreeTableModel.IconFactory<Row>;\n\n constructor(columnId: string,\n textPropertiesProvider: ColumnModel.TextPropertiesProvider,\n readonly expansionModel: TreeExpansionModel<Row>) {\n super(columnId, textPropertiesProvider);\n this.cellRenderer(TreeLabelCellRendererComponent);\n }\n\n pluck<P extends Types.ValuePropertiesOf<Row>>(property: P) {\n this.labelProperty = property;\n }\n\n /**\n * @deprecated use #useIcon instead.\n * @param factory\n */\n addIcon<P extends Types.ValuePropertiesOf<Row>>(factory: TreeTableModel.IconFactory<Row>) {\n this.useIcon(factory);\n }\n\n useIcon<P extends Types.ValuePropertiesOf<Row>>(factory: TreeTableModel.IconFactory<Row>) {\n this.iconFactory = factory;\n }\n\n protected cellRenderer<C extends TreeLabelCellRendererComponent<Row>>(componentType: ComponentType<C>): this {\n this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, (component, rowData, firstTime) => {\n if (firstTime) {\n component.expansionModel = this.expansionModel;\n }\n component.value = rowData.row;\n component.label = _.isNil(this.labelProperty) ? undefined : rowData.row[this.labelProperty];\n component.iconFactory = this.iconFactory;\n }));\n return this;\n }\n\n public _selectRowOnClick(selectOnRowClick: boolean): this {\n return super._selectRowOnClick(selectOnRowClick);\n }\n\n}\n"]}
1
+ {"version":3,"file":"tree-label-column-model.js","sourceRoot":"","sources":["../../../../../../../../libs/angular-ui-powerups/src/lib/components/tables/tree-table/tree-label-column-model.ts"],"names":[],"mappings":"AAEA,OAAO,CAAC,MAAM,QAAQ,CAAC;AACvB,OAAO,EAAE,8BAA8B,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,8BAA8B,EAAE,MAAM,+DAA+D,CAAC;AAG/G,MAAM,OAAO,oBAA0B,SAAQ,WAAgB;IAK7D,YAAY,QAAgB,EAChB,sBAA0D,EACjD,cAAmC;QACtD,KAAK,CAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAC;QADrB,mBAAc,GAAd,cAAc,CAAqB;QAEtD,IAAI,CAAC,YAAY,CAAC,8BAA8B,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAyC,QAAW;QACvD,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC;IAChC,CAAC;IAED;;;OAGG;IACH,OAAO,CAAyC,OAAwC;QACtF,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;IAED,OAAO,CAAyC,OAAwC;QACtF,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;IAC7B,CAAC;IAES,YAAY,CAAgD,aAA+B;QACnG,IAAI,CAAC,qBAAqB,CAAC,IAAI,8BAA8B,CAAC,aAAa,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE;YAC7G,IAAI,SAAS,EAAE;gBACb,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;aAChD;YACD,SAAS,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC;YAC9B,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC5F,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAC3C,CAAC,CAAC,CAAC,CAAC;QACJ,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,iBAAiB,CAAC,gBAAyB;QAChD,OAAO,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IACnD,CAAC;CAEF","sourcesContent":["import { ComponentType } from '@angular/cdk/overlay';\nimport { Types } from '@coolon/pectin';\nimport _ from 'lodash';\nimport { ComponentCellRendererPortalRef } from '../table/cell-portal-ref';\nimport { ColumnModel } from '../table/column-model';\nimport { TreeLabelCellRendererComponent } from './tree-label-cell-renderer/tree-label-cell-renderer.component';\nimport { TreeTableModel } from './tree-table-model';\n\nexport class TreeLabelColumnModel<Row> extends ColumnModel<Row> {\n\n private labelProperty: string | number | symbol;\n private iconFactory: TreeTableModel.IconFactory<Row>;\n\n constructor(columnId: string,\n textPropertiesProvider: ColumnModel.TextPropertiesProvider,\n readonly expansionModel: TreeTableModel<Row>) {\n super(columnId, textPropertiesProvider);\n this.cellRenderer(TreeLabelCellRendererComponent);\n }\n\n pluck<P extends Types.ValuePropertiesOf<Row>>(property: P) {\n this.labelProperty = property;\n }\n\n /**\n * @deprecated use #useIcon instead.\n * @param factory\n */\n addIcon<P extends Types.ValuePropertiesOf<Row>>(factory: TreeTableModel.IconFactory<Row>) {\n this.useIcon(factory);\n }\n\n useIcon<P extends Types.ValuePropertiesOf<Row>>(factory: TreeTableModel.IconFactory<Row>) {\n this.iconFactory = factory;\n }\n\n protected cellRenderer<C extends TreeLabelCellRendererComponent<Row>>(componentType: ComponentType<C>): this {\n this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, (component, rowData, firstTime) => {\n if (firstTime) {\n component.treeTableModel = this.expansionModel;\n }\n component.value = rowData.row;\n component.label = _.isNil(this.labelProperty) ? undefined : rowData.row[this.labelProperty];\n component.iconFactory = this.iconFactory;\n }));\n return this;\n }\n\n public _selectRowOnClick(selectOnRowClick: boolean): this {\n return super._selectRowOnClick(selectOnRowClick);\n }\n\n}\n"]}
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"TreeLabelColumnModel":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../table/column-model","name":"ColumnModel","line":9,"character":47},"arity":1,"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"select","expression":{"__symbolic":"reference","module":"../table/column-model","name":"ColumnModel","line":15,"character":38},"member":"TextPropertiesProvider"},{"__symbolic":"reference","module":"./tree-expansion-model","name":"TreeExpansionModel","line":16,"character":39,"arguments":[{"__symbolic":"error","message":"Could not resolve type","line":16,"character":58,"context":{"typeName":"Row"}}]}]}],"pluck":[{"__symbolic":"method"}],"addIcon":[{"__symbolic":"method"}],"useIcon":[{"__symbolic":"method"}],"cellRenderer":[{"__symbolic":"method"}],"_selectRowOnClick":[{"__symbolic":"method"}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"TreeLabelColumnModel":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../table/column-model","name":"ColumnModel","line":8,"character":47},"arity":1,"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"select","expression":{"__symbolic":"reference","module":"../table/column-model","name":"ColumnModel","line":14,"character":38},"member":"TextPropertiesProvider"},{"__symbolic":"reference","module":"./tree-table-model","name":"TreeTableModel","line":15,"character":39,"arguments":[{"__symbolic":"error","message":"Could not resolve type","line":15,"character":54,"context":{"typeName":"Row"}}]}]}],"pluck":[{"__symbolic":"method"}],"addIcon":[{"__symbolic":"method"}],"useIcon":[{"__symbolic":"method"}],"cellRenderer":[{"__symbolic":"method"}],"_selectRowOnClick":[{"__symbolic":"method"}]}}}}]
@@ -78,7 +78,7 @@ TreeTableComponent.decorators = [
78
78
  providers: [
79
79
  { provide: AbstractTableComponent, useExisting: TreeTableComponent }
80
80
  ],
81
- styles: [":host{display:flex;flex-direction:column;align-items:stretch}:host table{width:100%}:host.enable-scrolling{min-height:0}:host.enable-scrolling .scroll-container{flex:1;flex-basis:0;overflow-y:auto;display:flex;flex-direction:column;align-items:stretch}", "td.mat-cell{border-top-width:0!important;border-bottom-width:0!important}td.mat-column-tree-label{width:1px}aup-table-cell-renderer[column-id=tree-label]{padding-left:8px!important}aup-tree-label-cell-renderer{flex:1}"]
81
+ styles: [":host{display:flex;flex-direction:column;align-items:stretch}:host table{width:100%}:host.enable-scrolling{min-height:0}:host.enable-scrolling .scroll-container{flex:1;flex-basis:0;overflow-y:auto;display:flex;flex-direction:column;align-items:stretch}\n", "td.mat-cell{border-top-width:0!important;border-bottom-width:0!important}td.mat-column-tree-label,td.mat-column-tree-label{width:1px}aup-table-cell-renderer[column-id=tree-label]{padding-left:8px!important}aup-tree-label-cell-renderer{flex:1}\n"]
82
82
  },] }
83
83
  ];
84
84
  TreeTableComponent.ctorParameters = () => [
@@ -1 +1 @@
1
- {"version":3,"file":"tree-table-component.js","sourceRoot":"","sources":["../../../../../../../../libs/angular-ui-powerups/src/lib/components/tables/tree-table/tree-table-component.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2DG;AASH,MAAM,OAAO,kBAA0C,SAAQ,sBAAyB;IAMtF,YAAY,UAAsB,EAAE,MAAc;QAChD,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC5B,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;;;YApBF,SAAS,SAAC;gBACT,QAAQ,EAAE,gBAAgB;gBAC1B,k4DAAsC;gBAEtC,SAAS,EAAE;oBACT,EAAE,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,kBAAkB,EAAE;iBACrE;;aACF;;;YA1EmB,UAAU;YAAS,MAAM;;;6BA6E1C,KAAK;;AAEN;IADC,aAAa,EAAE;8BACA,cAAc;0DAAI","sourcesContent":["import { Component, ElementRef, Input, NgZone } from '@angular/core';\nimport { TrackExternal } from '@coolon/pectin';\nimport { AbstractTableModel } from '../abstract-table-model';\nimport { AbstractTableComponent } from '../abstract-table.component';\nimport { TreeNode } from './tree-node';\nimport { TreeTableModel } from './tree-table-model';\n\n/**\n * Create your model:\n * @example\n * this.heroTableModel = TableTreeModel.fromList(heroList, table => {\n * table.pluck(\"firstName\");\n * table.pluck(\"lastName\");\n * table.addCustomColumn(\"fullName\", hero => `${hero.firstName} ${hero.lastName}`);\n * table.addTemplateColumn(\"specialColumn\");\n * });\n *\n * Create your table\n * @example\n * <aup-tree-table [treeTableModel]=\"heroTableModel\"></aup-table>\n *\n * Column templates\n * @example\n * this.heroTableModel = TableModel.fromList(heroList, table => {\n * table.pluck(\"firstName\");\n * table.pluck(\"lastName\");\n * table.addTemplateColumn(\"specialColumn\");\n * });\n * <aup-table [tableModel]=\"heroTableModel\">\n * <div *aupColumnTemplate=\"let hero; columnId: 'specialColumn'; fillCell: true; padChild:false\">\n * {{hero.name}}\n * </div>\n * </aup-table>\n *\n * Styling\n * @example\n * // global settings\n * :root {\n * --aup-table-column-gap: 10px; // defaults to 24px\n * --aup-table-row-hover-background-color, rgba(0, 0, 0, 0.05)\n * --aup-table-row-selected-background-color: rebeccapurple; // defaults to transparent\n * --aup-table-first-column-padding-left: 18px // defaults to --column-gap\n * --aup-table-last-column-padding-right: 18px // defaults to --column-gap\n * }\n *\n * // per table settings.\n * aup-table {\n * --column-gap: 10px; // defaults to 24px\n * --row-hover-background-color, rgba(0, 0, 0, 0.05)\n * --row-selected-background-color: rebeccapurple; // defaults to transparent\n * --first-column-padding-left: 18px // defaults to --column-gap\n * --last-column-padding-right: 18px // defaults to --column-gap\n *\n * aup-table-header-cell-renderer,\n * aup-table-cell-renderer {\n * &.aup-col-my-dasherised-column-id {\n * // do stuff\n * }\n * &.first-visible-column {\n * // do stuff\n * }\n * &.last-visible-column {\n * // do stuff\n * }\n * }\n * }\n */\n@Component({\n selector: 'aup-tree-table',\n templateUrl: '../table.component.html',\n styleUrls: ['../table.component.scss', './tree-table.component.scss'],\n providers: [\n { provide: AbstractTableComponent, useExisting: TreeTableComponent }\n ]\n})\nexport class TreeTableComponent<T extends TreeNode<T>> extends AbstractTableComponent<T> {\n\n @Input()\n @TrackExternal()\n treeTableModel: TreeTableModel<T>;\n\n constructor(elementRef: ElementRef, ngZone: NgZone) {\n super(elementRef, ngZone);\n }\n\n getModel(): AbstractTableModel<T> {\n return this.treeTableModel;\n }\n\n}\n"]}
1
+ {"version":3,"file":"tree-table-component.js","sourceRoot":"","sources":["../../../../../../../../libs/angular-ui-powerups/src/lib/components/tables/tree-table/tree-table-component.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAG/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2DG;AASH,MAAM,OAAO,kBAA0C,SAAQ,sBAAyB;IAMtF,YAAY,UAAsB,EAAE,MAAc;QAChD,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC5B,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;;;YApBF,SAAS,SAAC;gBACT,QAAQ,EAAE,gBAAgB;gBAC1B,k4DAAsC;gBAEtC,SAAS,EAAE;oBACT,EAAE,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,kBAAkB,EAAE;iBACrE;;aACF;;;YA1EmB,UAAU;YAAS,MAAM;;;6BA6E1C,KAAK;;AAEN;IADC,aAAa,EAAE;8BACA,cAAc;0DAAI","sourcesContent":["import { Component, ElementRef, Input, NgZone } from '@angular/core';\nimport { TrackExternal } from '@coolon/pectin';\nimport { TreeNode } from '@coolon/typescript-utilities';\nimport { AbstractTableModel } from '../abstract-table-model';\nimport { AbstractTableComponent } from '../abstract-table.component';\nimport { TreeTableModel } from './tree-table-model';\n\n/**\n * Create your model:\n * @example\n * this.heroTableModel = TableTreeModel.fromList(heroList, table => {\n * table.pluck(\"firstName\");\n * table.pluck(\"lastName\");\n * table.addCustomColumn(\"fullName\", hero => `${hero.firstName} ${hero.lastName}`);\n * table.addTemplateColumn(\"specialColumn\");\n * });\n *\n * Create your table\n * @example\n * <aup-tree-table [treeTableModel]=\"heroTableModel\"></aup-table>\n *\n * Column templates\n * @example\n * this.heroTableModel = TableModel.fromList(heroList, table => {\n * table.pluck(\"firstName\");\n * table.pluck(\"lastName\");\n * table.addTemplateColumn(\"specialColumn\");\n * });\n * <aup-table [tableModel]=\"heroTableModel\">\n * <div *aupColumnTemplate=\"let hero; columnId: 'specialColumn'; fillCell: true; padChild:false\">\n * {{hero.name}}\n * </div>\n * </aup-table>\n *\n * Styling\n * @example\n * // global settings\n * :root {\n * --aup-table-column-gap: 10px; // defaults to 24px\n * --aup-table-row-hover-background-color, rgba(0, 0, 0, 0.05)\n * --aup-table-row-selected-background-color: rebeccapurple; // defaults to transparent\n * --aup-table-first-column-padding-left: 18px // defaults to --column-gap\n * --aup-table-last-column-padding-right: 18px // defaults to --column-gap\n * }\n *\n * // per table settings.\n * aup-table {\n * --column-gap: 10px; // defaults to 24px\n * --row-hover-background-color, rgba(0, 0, 0, 0.05)\n * --row-selected-background-color: rebeccapurple; // defaults to transparent\n * --first-column-padding-left: 18px // defaults to --column-gap\n * --last-column-padding-right: 18px // defaults to --column-gap\n *\n * aup-table-header-cell-renderer,\n * aup-table-cell-renderer {\n * &.aup-col-my-dasherised-column-id {\n * // do stuff\n * }\n * &.first-visible-column {\n * // do stuff\n * }\n * &.last-visible-column {\n * // do stuff\n * }\n * }\n * }\n */\n@Component({\n selector: 'aup-tree-table',\n templateUrl: '../table.component.html',\n styleUrls: ['../table.component.scss', './tree-table.component.scss'],\n providers: [\n { provide: AbstractTableComponent, useExisting: TreeTableComponent }\n ]\n})\nexport class TreeTableComponent<T extends TreeNode<T>> extends AbstractTableComponent<T> {\n\n @Input()\n @TrackExternal()\n treeTableModel: TreeTableModel<T>;\n\n constructor(elementRef: ElementRef, ngZone: NgZone) {\n super(elementRef, ngZone);\n }\n\n getModel(): AbstractTableModel<T> {\n return this.treeTableModel;\n }\n\n}\n"]}
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"TreeTableComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../abstract-table.component","name":"AbstractTableComponent","line":75,"character":63},"arity":1,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":67,"character":1},"arguments":[{"selector":"aup-tree-table","providers":[{"provide":{"__symbolic":"reference","module":"../abstract-table.component","name":"AbstractTableComponent","line":72,"character":15},"useExisting":{"__symbolic":"reference","name":"TreeTableComponent"}}],"template":"<div class=\"scroll-container\">\n <table mat-table [dataSource]=\"getModel().dataSource.value\" [trackBy]=\"getModel().trackBy\">\n\n <ng-container *ngFor=\"let column of columns.value; index as index; first as first; last as last\"\n matColumnDef=\"{{column.columnId}}\">\n <th mat-header-cell *matHeaderCellDef [class.flex]=\"column.isFlex()\" [class.hide]=\"!column.isVisible()\">\n <aup-table-header-cell-renderer [column]=\"column\"\n [attr.column-index]=\"index\"\n [attr.column-id]=\"column.columnId\"\n [class]=\"getColumnClasses(column.columnId)\"\n ></aup-table-header-cell-renderer>\n </th>\n <td mat-cell *matCellDef=\"let row\" (click)=\"notifyCellClicked(column, row)\"\n [class.enable-cursor]=\"getModel().isCursorEnabled(column)\"\n [class.flex]=\"column.isFlex()\"\n [class.hide]=\"!column.isVisible()\"\n >\n <aup-table-cell-renderer [column]=\"column\"\n [row]=\"row\"\n [tableModel]=\"getModel()\"\n [editSession]=\"getModel().getEditSessionFor(row)\"\n [attr.column-index]=\"index\"\n [attr.column-id]=\"column.columnId\"\n [class]=\"getColumnClasses(column.columnId)\"\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]=\"getModel().getRowClasses(row)\" [class.enable-hover]=\"getModel().isHoverEnabled()\"\n [attr.aup-row-id]=\"getModel().trackBy(i, row)\"\n ></tr>\n\n </table>\n</div>\n","styles":[":host{display:flex;flex-direction:column;align-items:stretch}:host table{width:100%}:host.enable-scrolling{min-height:0}:host.enable-scrolling .scroll-container{flex:1;flex-basis:0;overflow-y:auto;display:flex;flex-direction:column;align-items:stretch}","td.mat-cell{border-top-width:0!important;border-bottom-width:0!important}td.mat-column-tree-label{width:1px}aup-table-cell-renderer[column-id=tree-label]{padding-left:8px!important}aup-tree-label-cell-renderer{flex:1}"]}]}],"members":{"treeTableModel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":77,"character":3}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@coolon/pectin","name":"TrackExternal","line":78,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":81,"character":26},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":81,"character":46}]}],"getModel":[{"__symbolic":"method"}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"TreeTableComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../abstract-table.component","name":"AbstractTableComponent","line":75,"character":63},"arity":1,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":67,"character":1},"arguments":[{"selector":"aup-tree-table","providers":[{"provide":{"__symbolic":"reference","module":"../abstract-table.component","name":"AbstractTableComponent","line":72,"character":15},"useExisting":{"__symbolic":"reference","name":"TreeTableComponent"}}],"template":"<div class=\"scroll-container\">\n <table mat-table [dataSource]=\"getModel().dataSource.value\" [trackBy]=\"getModel().trackBy\">\n\n <ng-container *ngFor=\"let column of columns.value; index as index; first as first; last as last\"\n matColumnDef=\"{{column.columnId}}\">\n <th mat-header-cell *matHeaderCellDef [class.flex]=\"column.isFlex()\" [class.hide]=\"!column.isVisible()\">\n <aup-table-header-cell-renderer [column]=\"column\"\n [attr.column-index]=\"index\"\n [attr.column-id]=\"column.columnId\"\n [class]=\"getColumnClasses(column.columnId)\"\n ></aup-table-header-cell-renderer>\n </th>\n <td mat-cell *matCellDef=\"let row\" (click)=\"notifyCellClicked(column, row)\"\n [class.enable-cursor]=\"getModel().isCursorEnabled(column)\"\n [class.flex]=\"column.isFlex()\"\n [class.hide]=\"!column.isVisible()\"\n >\n <aup-table-cell-renderer [column]=\"column\"\n [row]=\"row\"\n [tableModel]=\"getModel()\"\n [editSession]=\"getModel().getEditSessionFor(row)\"\n [attr.column-index]=\"index\"\n [attr.column-id]=\"column.columnId\"\n [class]=\"getColumnClasses(column.columnId)\"\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]=\"getModel().getRowClasses(row)\" [class.enable-hover]=\"getModel().isHoverEnabled()\"\n [attr.aup-row-id]=\"getModel().trackBy(i, row)\"\n ></tr>\n\n </table>\n</div>\n","styles":[":host{display:flex;flex-direction:column;align-items:stretch}:host table{width:100%}:host.enable-scrolling{min-height:0}:host.enable-scrolling .scroll-container{flex:1;flex-basis:0;overflow-y:auto;display:flex;flex-direction:column;align-items:stretch}\n","td.mat-cell{border-top-width:0!important;border-bottom-width:0!important}td.mat-column-tree-label,td.mat-column-tree-label{width:1px}aup-table-cell-renderer[column-id=tree-label]{padding-left:8px!important}aup-tree-label-cell-renderer{flex:1}\n"]}]}],"members":{"treeTableModel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":77,"character":3}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@coolon/pectin","name":"TrackExternal","line":78,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":81,"character":26},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":81,"character":46}]}],"getModel":[{"__symbolic":"method"}]}}}}]
@@ -22,10 +22,11 @@ export class TreeTableModel extends AbstractTableModel {
22
22
  const childExtractor = _.isFunction(childAccessor) ? childAccessor : row => row[childAccessor];
23
23
  this.flattenedDataSource = this.registerDisposable(new FlattenedTreeListModel(source, childExtractor, this.treeExpansionModel));
24
24
  this.setDataSource(this.flattenedDataSource);
25
+ this.addRowClass('aup-node-collapsed', row => this.isCollapsed(row));
25
26
  }
26
27
  treeControlColumn(builder) {
27
28
  const columnId = 'tree-label';
28
- const column = new TreeLabelColumnModel(columnId, () => this.getColumnTextProperties(columnId), this.treeExpansionModel);
29
+ const column = new TreeLabelColumnModel(columnId, () => this.getColumnTextProperties(columnId), this);
29
30
  builder(column);
30
31
  this.addColumn(column);
31
32
  }
@@ -33,7 +34,7 @@ export class TreeTableModel extends AbstractTableModel {
33
34
  this.treeExpansionModel.expand(node);
34
35
  }
35
36
  collapse(node) {
36
- this.treeExpansionModel.expand(node);
37
+ this.treeExpansionModel.collapse(node);
37
38
  }
38
39
  isCollapsed(node) {
39
40
  return this.treeExpansionModel.isCollapsed(node);
@@ -1 +1 @@
1
- {"version":3,"file":"tree-table-model.js","sourceRoot":"","sources":["../../../../../../../../libs/angular-ui-powerups/src/lib/components/tables/tree-table/tree-table-model.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAIjE,QAAQ;AACR,uBAAuB;AACvB,mCAAmC;AACnC,0DAA0D;AAC1D,uDAAuD;AACvD,+GAA+G;AAC/G,uBAAuB;AACvB,2CAA2C;AAC3C,0FAA0F;AAC1F,EAAE;AACF,MAAM,OAAO,cAAoB,SAAQ,kBAAuB;IAK9D,YAAY,MAAsB,EAAE,aAAmE,EAAE,OAA8C;QACrJ,KAAK,EAAE,CAAC;QAJD,uBAAkB,GAAG,IAAI,kBAAkB,CAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;QAKrF,IAAI,OAAO;YAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3B,MAAM,cAAc,GAAG,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC/F,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,sBAAsB,CAAM,MAAM,EAAE,cAAc,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;QACrI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC/C,CAAC;IAED,iBAAiB,CAAC,OAAoD;QACpE,MAAM,QAAQ,GAAG,YAAY,CAAC;QAC9B,MAAM,MAAM,GAAG,IAAI,oBAAoB,CAAM,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC9H,OAAO,CAAC,MAAM,CAAC,CAAC;QAChB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,IAA4B;QACjC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,QAAQ,CAAC,IAA4B;QACnC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,WAAW,CAAC,IAA4B;QACtC,OAAO,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,6BAA6B,CAAC,IAA4B;QACxD,IAAI,CAAC,kBAAkB,CAAC,6BAA6B,CAAC,IAAI,CAAC,CAAC;IAC9D,CAAC;IAED,kBAAkB,CAAC,cAAoC,EAAE,mBAAmD;QAC1G,OAAO,IAAI,CAAC,mBAAmB,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC;IACvE,CAAC;CAoCF;AAcD,oGAAoG;AACpG,EAAE;AACF,8BAA8B;AAC9B,gCAAgC;AAChC,EAAE;AACF,6CAA6C;AAC7C,eAAe;AACf,kDAAkD;AAClD,MAAM;AACN,EAAE;AACF,+BAA+B;AAC/B,4BAA4B;AAC5B,MAAM;AACN,EAAE;AACF,sDAAsD;AACtD,uCAAuC;AACvC,MAAM;AACN,EAAE;AACF,gCAAgC;AAChC,0BAA0B;AAC1B,MAAM;AACN,EAAE;AACF,IAAI;AAEJ,yBAAyB;AACzB,EAAE;AACF,0CAA0C;AAC1C,EAAE;AACF,uBAAuB;AACvB,EAAE;AACF,kCAAkC;AAClC,EAAE;AACF,qDAAqD;AACrD,gCAAgC;AAChC,sEAAsE;AACtE,oDAAoD;AACpD,YAAY;AACZ,gCAAgC;AAChC,QAAQ;AACR,EAAE;AACF,gBAAgB;AAChB,4BAA4B;AAC5B,QAAQ;AACR,EAAE;AACF,EAAE;AACF,IAAI","sourcesContent":["import { ListModel, MutableValueModel, SelectionModel, ValueModel } from '@coolon/pectin';\nimport * as _ from 'lodash';\nimport { AbstractTableModel } from '../abstract-table-model';\nimport { SelectionColumnModel } from '../table/column-model';\nimport { DecoratedTreeNode } from './decorated-tree-node';\nimport { FlattenedTreeListModel } from './flattened-tree-list-model';\nimport { TreeExpansionModel } from './tree-expansion-model';\nimport { TreeLabelColumnModel } from './tree-label-column-model';\n\nexport type ChildArrayPropertiesOf<T> = { [K in keyof T]: T[K] extends T[] ? K : never }[keyof T];\n\n// TODO:\n// Selection Models:\n// - as simple navigation tree\n// - as editable grid (selecte all, even hidden etc?)\n// - fixing selection on underlying model changes.\n// - rendering selection: row highlighting, checkboxes (in the tree renderer or in separate column), both.\n// Expansion Models:\n// - Add ability to auto show to depth\n// - Add a predicate to check default expansion (i.e. has children of a certain type)\n//\nexport class TreeTableModel<Row> extends AbstractTableModel<Row> {\n\n readonly treeExpansionModel = new TreeExpansionModel<Row>(row => this.identityOf(row));\n private readonly flattenedDataSource: FlattenedTreeListModel<Row>;\n\n constructor(source: ListModel<Row>, childAccessor: ChildArrayPropertiesOf<Row> | ((node: Row) => Row[]), builder?: (model: TreeTableModel<Row>) => void) {\n super();\n if (builder) builder(this);\n const childExtractor = _.isFunction(childAccessor) ? childAccessor : row => row[childAccessor];\n this.flattenedDataSource = this.registerDisposable(new FlattenedTreeListModel<Row>(source, childExtractor, this.treeExpansionModel));\n this.setDataSource(this.flattenedDataSource);\n }\n\n treeControlColumn(builder: (column: TreeLabelColumnModel<Row>) => void) {\n const columnId = 'tree-label';\n const column = new TreeLabelColumnModel<Row>(columnId, () => this.getColumnTextProperties(columnId), this.treeExpansionModel);\n builder(column);\n this.addColumn(column);\n }\n\n expand(node: DecoratedTreeNode<Row>) {\n this.treeExpansionModel.expand(node);\n }\n\n collapse(node: DecoratedTreeNode<Row>) {\n this.treeExpansionModel.expand(node);\n }\n\n isCollapsed(node: DecoratedTreeNode<Row>): boolean {\n return this.treeExpansionModel.isCollapsed(node);\n }\n\n ensureAncestorsAndSelfVisible(node: DecoratedTreeNode<Row>) {\n this.treeExpansionModel.ensureAncestorsAndSelfVisible(node);\n }\n\n addSelectionColumn(selectionModel?: SelectionModel<Row>, showSelectionColumn?: ValueModel<boolean> | boolean): SelectionColumnModel<Row> {\n return this._addSelectionColumn(selectionModel, showSelectionColumn);\n }\n\n // saveSelection() {\n // let ids: number[] = [];\n // const selectedArea = this._decoratedSelectionModel.leadSelection.value;\n // if (selectedArea) {\n // ids.push(selectedArea.id);\n // ids = ids.concat(selectedArea.siblingsAfter().map(a => a.id));\n // ids = ids.concat(selectedArea.siblingsBefore().reverse().map(a => a.id));\n // ids = ids.concat(selectedArea.ancestorsToZone().reverse().map(a => a.id));\n // }\n // this._storedSelection = ids;\n // }\n //\n //\n // restoreSelection() {\n // const all = this.rootNodeModel.value.selfAndDescendants();\n // for (let i = 0; i < this._storedSelection.length; i++) {\n // const id = this._storedSelection[i];\n // const found = all.find(area => area.id === id);\n // if (found) {\n // this.selectedAreaId.value = found.id;\n // break;\n // }\n // }\n // }\n //\n // collapseAll(areas: T[]) {\n // this.collapsedAreaIds.value = [].concat(this.collapsedAreaIds.value, areas.map(a => a.id));\n // }\n\n // disableSelection(disable: boolean = true) {\n // this._disableSelection.value = disable;\n // }\n\n\n}\n\n\nexport namespace TreeTableModel {\n\n export interface Options<T, K extends keyof T> {\n storeIdIn: MutableValueModel<K>\n }\n\n export type IconFactory<Row> = (node: Row, expanded: boolean, defaultIcon: string) => string;\n\n}\n\n\n// export class FlattenStrategy<T extends VisitableTree<any>> extends SelfAndDescendantsVisitor<T> {\n//\n// private _areas: T[] = [];\n// private _collapsed: Set<T>;\n//\n// constructor(private collapsedIds: T[]) {\n// super();\n// this._collapsed = new Set<T>(collapsedIds);\n// }\n//\n// protected onVisit(it: T) {\n// this._areas.push(it);\n// }\n//\n// protected shouldVisitChildrenOf(it: T): boolean {\n// return !this._collapsed.has(it);\n// }\n//\n// get flattenedAreas(): T[] {\n// return this._areas;\n// }\n//\n// }\n\n// class DecoratorCache {\n//\n// private map = new Map<number, T>();\n//\n// get(area:T): T {\n//\n// if (!area) return null;\n//\n// let decoratedArea = this.map.get(area.id);\n// if (!decoratedArea) {\n// decoratedArea = TreeModel.AreaDecorator.decorate(area);\n// this.map.set(area.id, decoratedArea);\n// }\n// return decoratedArea;\n// }\n//\n// clear() {\n// this.map.clear();\n// }\n//\n//\n// }\n\n\n\n\n"]}
1
+ {"version":3,"file":"tree-table-model.js","sourceRoot":"","sources":["../../../../../../../../libs/angular-ui-powerups/src/lib/components/tables/tree-table/tree-table-model.ts"],"names":[],"mappings":"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","sourcesContent":["import { ListModel, MutableValueModel, SelectionModel, ValueModel } from '@coolon/pectin';\nimport * as _ from 'lodash';\nimport { AbstractTableModel } from '../abstract-table-model';\nimport { SelectionColumnModel } from '../table/column-model';\nimport { FlattenedTreeListModel } from './flattened-tree-list-model';\nimport { TreeExpansionModel } from './tree-expansion-model';\nimport { TreeLabelColumnModel } from './tree-label-column-model';\n\nexport type ChildArrayPropertiesOf<T> = { [K in keyof T]: T[K] extends T[] ? K : never }[keyof T];\n\n// TODO:\n// Selection Models:\n// - as simple navigation tree\n// - as editable grid (selecte all, even hidden etc?)\n// - fixing selection on underlying model changes.\n// - rendering selection: row highlighting, checkboxes (in the tree renderer or in separate column), both.\n// Expansion Models:\n// - Add ability to auto show to depth\n// - Add a predicate to check default expansion (i.e. has children of a certain type)\n//\nexport class TreeTableModel<Row> extends AbstractTableModel<Row> {\n\n readonly treeExpansionModel = new TreeExpansionModel<Row>(row => this.identityOf(row));\n private readonly flattenedDataSource: FlattenedTreeListModel<Row>;\n\n constructor(source: ListModel<Row>, childAccessor: ChildArrayPropertiesOf<Row> | ((node: Row) => Row[]), builder?: (model: TreeTableModel<Row>) => void) {\n super();\n if (builder) builder(this);\n const childExtractor = _.isFunction(childAccessor) ? childAccessor : row => row[childAccessor];\n this.flattenedDataSource = this.registerDisposable(new FlattenedTreeListModel<Row>(source, childExtractor, this.treeExpansionModel));\n this.setDataSource(this.flattenedDataSource);\n\n this.addRowClass('aup-node-collapsed', row => this.isCollapsed(row));\n }\n\n treeControlColumn(builder: (column: TreeLabelColumnModel<Row>) => void) {\n const columnId = 'tree-label';\n const column = new TreeLabelColumnModel<Row>(columnId, () => this.getColumnTextProperties(columnId), this);\n builder(column);\n this.addColumn(column);\n }\n\n expand(node: Row) {\n this.treeExpansionModel.expand(node);\n }\n\n collapse(node: Row) {\n this.treeExpansionModel.collapse(node);\n }\n\n isCollapsed(node: Row): boolean {\n return this.treeExpansionModel.isCollapsed(node);\n }\n\n ensureAncestorsAndSelfVisible(node: Row) {\n this.treeExpansionModel.ensureAncestorsAndSelfVisible(node);\n }\n\n addSelectionColumn(selectionModel?: SelectionModel<Row>, showSelectionColumn?: ValueModel<boolean> | boolean): SelectionColumnModel<Row> {\n return this._addSelectionColumn(selectionModel, showSelectionColumn);\n }\n\n // saveSelection() {\n // const selectionModel = this.getSelectionModel();\n // if (selectionModel) {\n // let ids: any[] = [];\n // const selectedArea = selectionModel.leadSelection.value;\n // if (selectedArea) {\n // ids.push(selectedArea.id);\n // ids = ids.concat(selectedArea.siblingsAfter().map(a => a.id));\n // ids = ids.concat(selectedArea.siblingsBefore().reverse().map(a => a.id));\n // ids = ids.concat(selectedArea.ancestorsToZone().reverse().map(a => a.id));\n // }\n // this._storedSelection = ids;\n // }\n // }\n //\n // restoreSelection() {\n // const all = this.rootNodeModel.value.selfAndDescendants();\n // for (let i = 0; i < this._storedSelection.length; i++) {\n // const id = this._storedSelection[i];\n // const found = all.find(area => area.id === id);\n // if (found) {\n // this.selectedAreaId.value = found.id;\n // break;\n // }\n // }\n // }\n //\n // collapseAll(areas: T[]) {\n // this.collapsedAreaIds.value = [].concat(this.collapsedAreaIds.value, areas.map(a => a.id));\n // }\n\n // disableSelection(disable: boolean = true) {\n // this._disableSelection.value = disable;\n // }\n\n\n}\n\n\nexport namespace TreeTableModel {\n\n export interface Options<T, K extends keyof T> {\n storeIdIn: MutableValueModel<K>;\n }\n\n export type IconFactory<Row> = (node: Row, expanded: boolean, defaultIcon: string) => string;\n\n}\n\n\n// export class FlattenStrategy<T extends VisitableTree<any>> extends SelfAndDescendantsVisitor<T> {\n//\n// private _areas: T[] = [];\n// private _collapsed: Set<T>;\n//\n// constructor(private collapsedIds: T[]) {\n// super();\n// this._collapsed = new Set<T>(collapsedIds);\n// }\n//\n// protected onVisit(it: T) {\n// this._areas.push(it);\n// }\n//\n// protected shouldVisitChildrenOf(it: T): boolean {\n// return !this._collapsed.has(it);\n// }\n//\n// get flattenedAreas(): T[] {\n// return this._areas;\n// }\n//\n// }\n\n// class DecoratorCache {\n//\n// private map = new Map<number, T>();\n//\n// get(area:T): T {\n//\n// if (!area) return null;\n//\n// let decoratedArea = this.map.get(area.id);\n// if (!decoratedArea) {\n// decoratedArea = TreeModel.AreaDecorator.decorate(area);\n// this.map.set(area.id, decoratedArea);\n// }\n// return decoratedArea;\n// }\n//\n// clear() {\n// this.map.clear();\n// }\n//\n//\n// }\n\n\n\n\n"]}
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"ChildArrayPropertiesOf":{"__symbolic":"interface"},"TreeTableModel":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../abstract-table-model","name":"AbstractTableModel","line":21,"character":41},"arity":1,"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@coolon/pectin","name":"ListModel","line":26,"character":22,"arguments":[{"__symbolic":"error","message":"Could not resolve type","line":26,"character":32,"context":{"typeName":"Row"}}]},{"__symbolic":"error","message":"Could not resolve type","line":26,"character":53,"context":{"typeName":"ChildArrayPropertiesOf"}},{"__symbolic":"error","message":"Expression form not supported","line":26,"character":117}]}],"treeControlColumn":[{"__symbolic":"method"}],"expand":[{"__symbolic":"method"}],"collapse":[{"__symbolic":"method"}],"isCollapsed":[{"__symbolic":"method"}],"ensureAncestorsAndSelfVisible":[{"__symbolic":"method"}],"addSelectionColumn":[{"__symbolic":"method"}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"ChildArrayPropertiesOf":{"__symbolic":"interface"},"TreeTableModel":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../abstract-table-model","name":"AbstractTableModel","line":20,"character":41},"arity":1,"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@coolon/pectin","name":"ListModel","line":25,"character":22,"arguments":[{"__symbolic":"error","message":"Could not resolve type","line":25,"character":32,"context":{"typeName":"Row"}}]},{"__symbolic":"error","message":"Could not resolve type","line":25,"character":53,"context":{"typeName":"ChildArrayPropertiesOf"}},{"__symbolic":"error","message":"Expression form not supported","line":25,"character":117}]}],"treeControlColumn":[{"__symbolic":"method"}],"expand":[{"__symbolic":"method"}],"collapse":[{"__symbolic":"method"}],"isCollapsed":[{"__symbolic":"method"}],"ensureAncestorsAndSelfVisible":[{"__symbolic":"method"}],"addSelectionColumn":[{"__symbolic":"method"}]}}}}]
@@ -1,9 +1,21 @@
1
1
  export var TrackBy;
2
2
  (function (TrackBy) {
3
3
  TrackBy.byIndex = (index, item) => index;
4
+ /**
5
+ * @deprecated use #track(MyType).by("property") instead.
6
+ * @param property
7
+ */
4
8
  function trackByProperty(property) {
5
9
  return (index, item) => item[property];
6
10
  }
7
11
  TrackBy.trackByProperty = trackByProperty;
12
+ function track(type) {
13
+ return {
14
+ by(property) {
15
+ return (index, item) => item[property];
16
+ }
17
+ };
18
+ }
19
+ TrackBy.track = track;
8
20
  })(TrackBy || (TrackBy = {}));
9
21
  //# sourceMappingURL=track-by.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"track-by.js","sourceRoot":"","sources":["../../../../../../libs/angular-ui-powerups/src/lib/components/track-by.ts"],"names":[],"mappings":"AAEA,MAAM,KAAW,OAAO,CAMvB;AAND,WAAiB,OAAO;IACT,eAAO,GAAwB,CAAC,KAAY,EAAE,IAAS,EAAE,EAAE,CAAC,KAAK,CAAC;IAE/E,SAAgB,eAAe,CAAuB,QAAW;QAC/D,OAAO,CAAC,KAAY,EAAE,IAAO,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnD,CAAC;IAFe,uBAAe,kBAE9B,CAAA;AACH,CAAC,EANgB,OAAO,KAAP,OAAO,QAMvB","sourcesContent":["import { TrackByFunction } from '@angular/core';\n\nexport namespace TrackBy {\n export const byIndex:TrackByFunction<any> = (index:number, item: any) => index;\n\n export function trackByProperty<T, P extends keyof T>(property: P):TrackByFunction<T> {\n return (index:number, item: T) => item[property];\n }\n}\n"]}
1
+ {"version":3,"file":"track-by.js","sourceRoot":"","sources":["../../../../../../libs/angular-ui-powerups/src/lib/components/track-by.ts"],"names":[],"mappings":"AAIA,MAAM,KAAW,OAAO,CAkBvB;AAlBD,WAAiB,OAAO;IACT,eAAO,GAAyB,CAAC,KAAa,EAAE,IAAS,EAAE,EAAE,CAAC,KAAK,CAAC;IAEjF;;;OAGG;IACH,SAAgB,eAAe,CAAuB,QAAW;QAC/D,OAAO,CAAC,KAAa,EAAE,IAAO,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpD,CAAC;IAFe,uBAAe,kBAE9B,CAAA;IAED,SAAgB,KAAK,CAAI,IAAsB;QAC7C,OAAO;YACL,EAAE,CAAiC,QAAW;gBAC5C,OAAO,CAAC,KAAa,EAAE,IAAO,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACpD,CAAC;SACF,CAAC;IACJ,CAAC;IANe,aAAK,QAMpB,CAAA;AACH,CAAC,EAlBgB,OAAO,KAAP,OAAO,QAkBvB","sourcesContent":["import { TrackByFunction } from '@angular/core';\nimport { Constructable } from '@coolon/pectin';\nimport { ValuePropertiesOf } from '@coolon/typescript-utilities';\n\nexport namespace TrackBy {\n export const byIndex: TrackByFunction<any> = (index: number, item: any) => index;\n\n /**\n * @deprecated use #track(MyType).by(\"property\") instead.\n * @param property\n */\n export function trackByProperty<T, P extends keyof T>(property: P): TrackByFunction<T> {\n return (index: number, item: T) => item[property];\n }\n\n export function track<T>(type: Constructable<T>) {\n return {\n by<P extends ValuePropertiesOf<T>>(property: P) {\n return (index: number, item: T) => item[property];\n }\n };\n }\n}\n"]}
@@ -41,7 +41,7 @@ VerticalFocusContainerComponent.decorators = [
41
41
  providers: [
42
42
  { provide: FocusManager }
43
43
  ],
44
- styles: [":host{display:block}"]
44
+ styles: [":host{display:block}\n"]
45
45
  },] }
46
46
  ];
47
47
  VerticalFocusContainerComponent.ctorParameters = () => [
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"VerticalFocusContainerComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../focus-container/focus-container.component","name":"FocusContainerComponent","line":12,"character":53},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"aup-vertical-focus-container","providers":[{"provide":{"__symbolic":"reference","module":"@coolon/pectin","name":"FocusManager","line":9,"character":15}}],"template":"<ng-content></ng-content>\n","styles":[":host{display:block}"]}]}],"members":{"rightArrowCommand":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3},"arguments":["command.arrowRight"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@coolon/pectin","name":"TrackExternal","line":15,"character":3}}]}],"leftArrowCommand":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3},"arguments":["command.arrowLeft"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@coolon/pectin","name":"TrackExternal","line":19,"character":3}}]}],"arrowLeft":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":22,"character":3},"arguments":["keyup.arrowLeft",["$event"]]}]}],"arrowRight":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":31,"character":3},"arguments":["keyup.arrowRight",["$event"]]}]}],"arrowDown":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":40,"character":3},"arguments":["keyup.arrowDown",["$event"]]}]}],"arrowUp":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":47,"character":3},"arguments":["keyup.arrowUp",["$event"]]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Self","line":54,"character":15}}]],"parameters":[{"__symbolic":"reference","module":"@coolon/pectin","name":"FocusManager","line":54,"character":45}]}],"ngOnInit":[{"__symbolic":"method"}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"VerticalFocusContainerComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../focus-container/focus-container.component","name":"FocusContainerComponent","line":12,"character":53},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"aup-vertical-focus-container","providers":[{"provide":{"__symbolic":"reference","module":"@coolon/pectin","name":"FocusManager","line":9,"character":15}}],"template":"<ng-content></ng-content>\n","styles":[":host{display:block}\n"]}]}],"members":{"rightArrowCommand":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3},"arguments":["command.arrowRight"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@coolon/pectin","name":"TrackExternal","line":15,"character":3}}]}],"leftArrowCommand":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3},"arguments":["command.arrowLeft"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@coolon/pectin","name":"TrackExternal","line":19,"character":3}}]}],"arrowLeft":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":22,"character":3},"arguments":["keyup.arrowLeft",["$event"]]}]}],"arrowRight":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":31,"character":3},"arguments":["keyup.arrowRight",["$event"]]}]}],"arrowDown":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":40,"character":3},"arguments":["keyup.arrowDown",["$event"]]}]}],"arrowUp":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":47,"character":3},"arguments":["keyup.arrowUp",["$event"]]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Self","line":54,"character":15}}]],"parameters":[{"__symbolic":"reference","module":"@coolon/pectin","name":"FocusManager","line":54,"character":45}]}],"ngOnInit":[{"__symbolic":"method"}]}}}}]
@@ -6,7 +6,7 @@ export class CommandDirective extends GarbageCollector {
6
6
  constructor(elementRef, matButton, matMenuItem) {
7
7
  super();
8
8
  this.elementRef = elementRef;
9
- this._commandEnabled = new DelegatingValueModel().withDefault(false);
9
+ this._commandEnabled = this.registerDisposable(new DelegatingValueModel().withDefault(false));
10
10
  this._commandParameterProvided = false;
11
11
  // Material buttons and menu items don't respond to the disabled binding so we
12
12
  // need to inject them from our host element and handle them manually.
@@ -1 +1 @@
1
- {"version":3,"file":"command.directive.js","sourceRoot":"","sources":["../../../../../../libs/angular-ui-powerups/src/lib/directives/command.directive.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n AfterViewInit,\n Directive,\n ElementRef,\n Host,\n HostListener,\n Inject,\n Input,\n OnDestroy,\n OnInit,\n Optional\n} from '@angular/core';\nimport { MatButton } from '@angular/material/button';\nimport { MatMenuItem } from '@angular/material/menu';\nimport { assert, Command, DelegatingValueModel, Dsl, GarbageCollector, lang, UnaryCommand } from '@coolon/pectin';\n\n@Directive({\n // tslint:disable-next-line:directive-selector\n selector: '[pectinCommand]'\n})\nexport class CommandDirective<P = any> extends GarbageCollector implements OnInit, OnDestroy, AfterViewInit {\n\n private _command: Command<any> | UnaryCommand<P>;\n private _commandEnabled = new DelegatingValueModel<boolean>().withDefault(false);\n private matControl: MatButton | MatMenuItem;\n\n @Input()\n set pectinCommand(command: Command<any> | UnaryCommand<P>) {\n this._command = command;\n this._commandEnabled.setDelegate(command ? command.enabled : null);\n }\n\n get pectinCommand(): Command<any> | UnaryCommand<P> {\n return this._command;\n }\n\n private _commandParameter: P;\n private _commandParameterProvided = false;\n\n @Input()\n set commandParameter(value: P) {\n this._commandParameterProvided = true;\n this._commandParameter = value;\n }\n\n get commandParameter(): P {\n return this._commandParameter;\n }\n\n constructor(\n @Inject(ElementRef) private elementRef: ElementRef,\n @Host() @Optional() matButton: MatButton,\n @Host() @Optional() matMenuItem: MatMenuItem\n ) {\n super();\n // Material buttons and menu items don't respond to the disabled binding so we\n // need to inject them from our host element and handle them manually.\n this.matControl = matButton || matMenuItem;\n }\n\n ngOnInit(): void {\n assert.notNil(this.pectinCommand);\n if (this.pectinCommand instanceof UnaryCommand) {\n if (!this._commandParameterProvided) {\n lang.illegalState('UnaryCommands require the command parameter to be specified.');\n }\n } else {\n if (this._commandParameterProvided) {\n lang.illegalState('command parameters are only supported by UnaryCommands');\n }\n }\n }\n\n ngAfterViewInit(): void {\n const { when } = Dsl.disposeWith(this);\n when(this._commandEnabled).changes(enabled => this.updateEnabledState(enabled), {\n initialValue: 'triggerChange'\n });\n }\n\n updateEnabledState(enabled: boolean) {\n // for some reason mat-buttons kills the disabled host binding. It works on a regular button but for now\n // we need to do this. The set timeout is required to prevent the button getting a expression changed\n // when it's clicked.\n if (this.matControl) {\n setTimeout(() => {\n this.matControl.disabled = !enabled;\n }, 0);\n }\n if (!enabled) {\n // Note:\n // We can't use a host binding here for disabled as the directive can be used on arbitrary\n // components (e.g. divs) and the compiler will barf if we use the host binding.\n this.elementRef.nativeElement.setAttribute('disabled', 'disabled');\n if (this.elementRef.nativeElement.tagName === 'A') {\n this.elementRef.nativeElement.removeAttribute('href');\n }\n } else {\n this.elementRef.nativeElement.removeAttribute('disabled');\n if (this.elementRef.nativeElement.tagName === 'A') {\n this.elementRef.nativeElement.setAttribute('href', 'javascript:void');\n }\n }\n }\n\n ngOnDestroy(): void {\n this.dispose();\n }\n\n\n @HostListener('click', ['$event'])\n notifyClick($event: Event) {\n $event.preventDefault();\n $event.stopPropagation();\n if (this.pectinCommand.enabled.value) {\n if (this.pectinCommand instanceof UnaryCommand) {\n this.pectinCommand.withContext({ event: $event }).execute(this.commandParameter);\n } else {\n this.pectinCommand.withContext({ event: $event }).execute();\n }\n } else {\n console.warn('disabled command clicked, ignoring.');\n }\n }\n}\n"]}
1
+ {"version":3,"file":"command.directive.js","sourceRoot":"","sources":["../../../../../../libs/angular-ui-powerups/src/lib/directives/command.directive.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n AfterViewInit,\n Directive,\n ElementRef,\n Host,\n HostListener,\n Inject,\n Input,\n OnDestroy,\n OnInit,\n Optional\n} from '@angular/core';\nimport { MatButton } from '@angular/material/button';\nimport { MatMenuItem } from '@angular/material/menu';\nimport { assert, Command, DelegatingValueModel, Dsl, GarbageCollector, lang, UnaryCommand } from '@coolon/pectin';\n\n@Directive({\n // tslint:disable-next-line:directive-selector\n selector: '[pectinCommand]'\n})\nexport class CommandDirective<P = any> extends GarbageCollector implements OnInit, OnDestroy, AfterViewInit {\n\n private _command: Command<any> | UnaryCommand<P>;\n private _commandEnabled = this.registerDisposable(new DelegatingValueModel<boolean>().withDefault(false));\n private matControl: MatButton | MatMenuItem;\n\n @Input()\n set pectinCommand(command: Command<any> | UnaryCommand<P>) {\n this._command = command;\n this._commandEnabled.setDelegate(command ? command.enabled : null);\n }\n\n get pectinCommand(): Command<any> | UnaryCommand<P> {\n return this._command;\n }\n\n private _commandParameter: P;\n private _commandParameterProvided = false;\n\n @Input()\n set commandParameter(value: P) {\n this._commandParameterProvided = true;\n this._commandParameter = value;\n }\n\n get commandParameter(): P {\n return this._commandParameter;\n }\n\n constructor(\n @Inject(ElementRef) private elementRef: ElementRef,\n @Host() @Optional() matButton: MatButton,\n @Host() @Optional() matMenuItem: MatMenuItem\n ) {\n super();\n // Material buttons and menu items don't respond to the disabled binding so we\n // need to inject them from our host element and handle them manually.\n this.matControl = matButton || matMenuItem;\n }\n\n ngOnInit(): void {\n assert.notNil(this.pectinCommand);\n if (this.pectinCommand instanceof UnaryCommand) {\n if (!this._commandParameterProvided) {\n lang.illegalState('UnaryCommands require the command parameter to be specified.');\n }\n } else {\n if (this._commandParameterProvided) {\n lang.illegalState('command parameters are only supported by UnaryCommands');\n }\n }\n }\n\n ngAfterViewInit(): void {\n const { when } = Dsl.disposeWith(this);\n when(this._commandEnabled).changes(enabled => this.updateEnabledState(enabled), {\n initialValue: 'triggerChange'\n });\n }\n\n updateEnabledState(enabled: boolean) {\n // for some reason mat-buttons kills the disabled host binding. It works on a regular button but for now\n // we need to do this. The set timeout is required to prevent the button getting a expression changed\n // when it's clicked.\n if (this.matControl) {\n setTimeout(() => {\n this.matControl.disabled = !enabled;\n }, 0);\n }\n if (!enabled) {\n // Note:\n // We can't use a host binding here for disabled as the directive can be used on arbitrary\n // components (e.g. divs) and the compiler will barf if we use the host binding.\n this.elementRef.nativeElement.setAttribute('disabled', 'disabled');\n if (this.elementRef.nativeElement.tagName === 'A') {\n this.elementRef.nativeElement.removeAttribute('href');\n }\n } else {\n this.elementRef.nativeElement.removeAttribute('disabled');\n if (this.elementRef.nativeElement.tagName === 'A') {\n this.elementRef.nativeElement.setAttribute('href', 'javascript:void');\n }\n }\n }\n\n ngOnDestroy(): void {\n this.dispose();\n }\n\n\n @HostListener('click', ['$event'])\n notifyClick($event: Event) {\n $event.preventDefault();\n $event.stopPropagation();\n if (this.pectinCommand.enabled.value) {\n if (this.pectinCommand instanceof UnaryCommand) {\n this.pectinCommand.withContext({ event: $event }).execute(this.commandParameter);\n } else {\n this.pectinCommand.withContext({ event: $event }).execute();\n }\n } else {\n console.warn('disabled command clicked, ignoring.');\n }\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"directives.module.ngfactory.js","sourceRoot":"","sources":["../../../../../../libs/angular-ui-powerups/src/lib/directives/directives.module.ngfactory.ts"],"names":[],"mappings":"","sourcesContent":["import * as i0 from '@angular/core';\nimport * as i1 from './directives.module';\nimport * as i2 from '@angular/common';\nimport * as i3 from '@angular/forms';\nimport * as i4 from '@angular/cdk/text-field';\nimport * as i5 from '@angular/cdk/bidi';\nimport * as i6 from '@angular/material/form-field';\nimport * as i7 from '@angular/material/input';\nimport * as i8 from '@angular/cdk/scrolling';\nimport * as i9 from '@angular/material/core';\nimport * as i10 from '@angular/material/select';\nimport * as i11 from '@angular/material/tabs';\nimport * as i12 from './command.directive';\nimport * as i13 from './focus-binding.directive';\nimport * as i14 from './highlight-text-model.directive';\nimport * as i15 from './highlight.pipe';\nimport * as i16 from '@angular/platform-browser/animations';\nexport const DirectivesModuleNgFactory:i0.NgModuleFactory<i1.DirectivesModule> = (null as any);\nvar _decl0_0:i2.NgClass = (<any>(null as any));\nvar _decl0_1:i2.NgComponentOutlet = (<any>(null as any));\nvar _decl0_2:i2.NgForOf<any,any> = (<any>(null as any));\nvar _decl0_3:i2.NgIf<any> = (<any>(null as any));\nvar _decl0_4:i2.NgTemplateOutlet = (<any>(null as any));\nvar _decl0_5:i2.NgStyle = (<any>(null as any));\nvar _decl0_6:i2.NgSwitch = (<any>(null as any));\nvar _decl0_7:i2.NgSwitchCase = (<any>(null as any));\nvar _decl0_8:i2.NgSwitchDefault = (<any>(null as any));\nvar _decl0_9:i2.NgPlural = (<any>(null as any));\nvar _decl0_10:i2.NgPluralCase = (<any>(null as any));\nvar _decl0_11:i3.ɵangular_packages_forms_forms_bb = (<any>(null as any));\nvar _decl0_12:i3.NgSelectOption = (<any>(null as any));\nvar _decl0_13:i3.ɵangular_packages_forms_forms_ba = (<any>(null as any));\nvar _decl0_14:i3.DefaultValueAccessor = (<any>(null as any));\nvar _decl0_15:i3.NumberValueAccessor = (<any>(null as any));\nvar _decl0_16:i3.RangeValueAccessor = (<any>(null as any));\nvar _decl0_17:i3.CheckboxControlValueAccessor = (<any>(null as any));\nvar _decl0_18:i3.SelectControlValueAccessor = (<any>(null as any));\nvar _decl0_19:i3.SelectMultipleControlValueAccessor = (<any>(null as any));\nvar _decl0_20:i3.RadioControlValueAccessor = (<any>(null as any));\nvar _decl0_21:i3.NgControlStatus = (<any>(null as any));\nvar _decl0_22:i3.NgControlStatusGroup = (<any>(null as any));\nvar _decl0_23:i3.RequiredValidator = (<any>(null as any));\nvar _decl0_24:i3.MinLengthValidator = (<any>(null as any));\nvar _decl0_25:i3.MaxLengthValidator = (<any>(null as any));\nvar _decl0_26:i3.PatternValidator = (<any>(null as any));\nvar _decl0_27:i3.CheckboxRequiredValidator = (<any>(null as any));\nvar _decl0_28:i3.EmailValidator = (<any>(null as any));\nvar _decl0_29:i3.MinValidator = (<any>(null as any));\nvar _decl0_30:i3.MaxValidator = (<any>(null as any));\nvar _decl0_31:i3.NgModel = (<any>(null as any));\nvar _decl0_32:i3.NgModelGroup = (<any>(null as any));\nvar _decl0_33:i3.NgForm = (<any>(null as any));\nvar _decl0_34:i4.CdkAutofill = (<any>(null as any));\nvar _decl0_35:i4.CdkTextareaAutosize = (<any>(null as any));\nvar _decl0_36:i5.Dir = (<any>(null as any));\nvar _decl0_37:i6.MatError = (<any>(null as any));\nvar _decl0_38:i6.MatFormField = (<any>(null as any));\nvar _decl0_39:i6.MatHint = (<any>(null as any));\nvar _decl0_40:i6.MatLabel = (<any>(null as any));\nvar _decl0_41:i6.MatPlaceholder = (<any>(null as any));\nvar _decl0_42:i6.MatPrefix = (<any>(null as any));\nvar _decl0_43:i6.MatSuffix = (<any>(null as any));\nvar _decl0_44:i7.MatInput = (<any>(null as any));\nvar _decl0_45:i7.MatTextareaAutosize = (<any>(null as any));\nvar _decl0_46:i8.CdkScrollable = (<any>(null as any));\nvar _decl0_47:i9.MatOption = (<any>(null as any));\nvar _decl0_48:i9.MatOptgroup = (<any>(null as any));\nvar _decl0_49:i10.MatSelect = (<any>(null as any));\nvar _decl0_50:i10.MatSelectTrigger = (<any>(null as any));\nvar _decl0_51:i11.MatTabGroup = (<any>(null as any));\nvar _decl0_52:i11.MatTabLabel = (<any>(null as any));\nvar _decl0_53:i11.MatTab = (<any>(null as any));\nvar _decl0_54:i11.MatTabNav = (<any>(null as any));\nvar _decl0_55:i11.MatTabLink = (<any>(null as any));\nvar _decl0_56:i11.MatTabContent = (<any>(null as any));\nvar _decl0_57:i12.CommandDirective<any> = (<any>(null as any));\nvar _decl0_58:i13.FocusBindingDirective = (<any>(null as any));\nvar _decl0_59:i14.HighlightTextModelDirective = (<any>(null as any));\nvar _decl0_60:i2.AsyncPipe = (<any>(null as any));\nvar _decl0_61:i2.UpperCasePipe = (<any>(null as any));\nvar _decl0_62:i2.LowerCasePipe = (<any>(null as any));\nvar _decl0_63:i2.JsonPipe = (<any>(null as any));\nvar _decl0_64:i2.SlicePipe = (<any>(null as any));\nvar _decl0_65:i2.DecimalPipe = (<any>(null as any));\nvar _decl0_66:i2.PercentPipe = (<any>(null as any));\nvar _decl0_67:i2.TitleCasePipe = (<any>(null as any));\nvar _decl0_68:i2.CurrencyPipe = (<any>(null as any));\nvar _decl0_69:i2.DatePipe = (<any>(null as any));\nvar _decl0_70:i2.I18nPluralPipe = (<any>(null as any));\nvar _decl0_71:i2.I18nSelectPipe = (<any>(null as any));\nvar _decl0_72:i2.KeyValuePipe = (<any>(null as any));\nvar _decl0_74:i15.HighlightPipe = (<any>(null as any));\nvar _decl0_75:i2.CommonModule = (<any>(null as any));\nvar _decl0_76:i16.BrowserAnimationsModule = (<any>(null as any));\nvar _decl0_77:i3.FormsModule = (<any>(null as any));\nvar _decl0_78:i7.MatInputModule = (<any>(null as any));\nvar _decl0_79:i6.MatFormFieldModule = (<any>(null as any));\nvar _decl0_80:i10.MatSelectModule = (<any>(null as any));\nvar _decl0_81:i11.MatTabsModule = (<any>(null as any));\nvar _decl0_82:i0.TemplateRef<any> = (<any>(null as any));\nvar _decl0_83:i0.ElementRef<any> = (<any>(null as any));\n"]}
1
+ {"version":3,"file":"directives.module.ngfactory.js","sourceRoot":"","sources":["../../../../../../libs/angular-ui-powerups/src/lib/directives/directives.module.ngfactory.ts"],"names":[],"mappings":"","sourcesContent":["import * as i0 from '@angular/core';\nimport * as i1 from './directives.module';\nimport * as i2 from '@angular/common';\nimport * as i3 from '@angular/forms';\nimport * as i4 from '@angular/cdk/text-field';\nimport * as i5 from '@angular/cdk/bidi';\nimport * as i6 from '@angular/material/form-field';\nimport * as i7 from '@angular/material/input';\nimport * as i8 from '@angular/cdk/scrolling';\nimport * as i9 from '@angular/material/core';\nimport * as i10 from '@angular/material/select';\nimport * as i11 from '@angular/material/tabs';\nimport * as i12 from './command.directive';\nimport * as i13 from './focus-binding.directive';\nimport * as i14 from './highlight-text-model.directive';\nimport * as i15 from './highlight.pipe';\nimport * as i16 from '@angular/platform-browser/animations';\nexport const DirectivesModuleNgFactory:i0.NgModuleFactory<i1.DirectivesModule> = (null as any);\nvar _decl0_0:i2.NgClass = (<any>(null as any));\nvar _decl0_1:i2.NgComponentOutlet = (<any>(null as any));\nvar _decl0_2:i2.NgForOf<any,any> = (<any>(null as any));\nvar _decl0_3:i2.NgIf<any> = (<any>(null as any));\nvar _decl0_4:i2.NgTemplateOutlet = (<any>(null as any));\nvar _decl0_5:i2.NgStyle = (<any>(null as any));\nvar _decl0_6:i2.NgSwitch = (<any>(null as any));\nvar _decl0_7:i2.NgSwitchCase = (<any>(null as any));\nvar _decl0_8:i2.NgSwitchDefault = (<any>(null as any));\nvar _decl0_9:i2.NgPlural = (<any>(null as any));\nvar _decl0_10:i2.NgPluralCase = (<any>(null as any));\nvar _decl0_11:i3.ɵangular_packages_forms_forms_bc = (<any>(null as any));\nvar _decl0_12:i3.NgSelectOption = (<any>(null as any));\nvar _decl0_13:i3.ɵangular_packages_forms_forms_bb = (<any>(null as any));\nvar _decl0_14:i3.DefaultValueAccessor = (<any>(null as any));\nvar _decl0_15:i3.NumberValueAccessor = (<any>(null as any));\nvar _decl0_16:i3.RangeValueAccessor = (<any>(null as any));\nvar _decl0_17:i3.CheckboxControlValueAccessor = (<any>(null as any));\nvar _decl0_18:i3.SelectControlValueAccessor = (<any>(null as any));\nvar _decl0_19:i3.SelectMultipleControlValueAccessor = (<any>(null as any));\nvar _decl0_20:i3.RadioControlValueAccessor = (<any>(null as any));\nvar _decl0_21:i3.NgControlStatus = (<any>(null as any));\nvar _decl0_22:i3.NgControlStatusGroup = (<any>(null as any));\nvar _decl0_23:i3.RequiredValidator = (<any>(null as any));\nvar _decl0_24:i3.MinLengthValidator = (<any>(null as any));\nvar _decl0_25:i3.MaxLengthValidator = (<any>(null as any));\nvar _decl0_26:i3.PatternValidator = (<any>(null as any));\nvar _decl0_27:i3.CheckboxRequiredValidator = (<any>(null as any));\nvar _decl0_28:i3.EmailValidator = (<any>(null as any));\nvar _decl0_29:i3.MinValidator = (<any>(null as any));\nvar _decl0_30:i3.MaxValidator = (<any>(null as any));\nvar _decl0_31:i3.NgModel = (<any>(null as any));\nvar _decl0_32:i3.NgModelGroup = (<any>(null as any));\nvar _decl0_33:i3.NgForm = (<any>(null as any));\nvar _decl0_34:i4.CdkAutofill = (<any>(null as any));\nvar _decl0_35:i4.CdkTextareaAutosize = (<any>(null as any));\nvar _decl0_36:i5.Dir = (<any>(null as any));\nvar _decl0_37:i6.MatError = (<any>(null as any));\nvar _decl0_38:i6.MatFormField = (<any>(null as any));\nvar _decl0_39:i6.MatHint = (<any>(null as any));\nvar _decl0_40:i6.MatLabel = (<any>(null as any));\nvar _decl0_41:i6.MatPlaceholder = (<any>(null as any));\nvar _decl0_42:i6.MatPrefix = (<any>(null as any));\nvar _decl0_43:i6.MatSuffix = (<any>(null as any));\nvar _decl0_44:i7.MatInput = (<any>(null as any));\nvar _decl0_45:i7.MatTextareaAutosize = (<any>(null as any));\nvar _decl0_46:i8.CdkScrollable = (<any>(null as any));\nvar _decl0_47:i9.MatOption = (<any>(null as any));\nvar _decl0_48:i9.MatOptgroup = (<any>(null as any));\nvar _decl0_49:i10.MatSelect = (<any>(null as any));\nvar _decl0_50:i10.MatSelectTrigger = (<any>(null as any));\nvar _decl0_51:i11.MatTabGroup = (<any>(null as any));\nvar _decl0_52:i11.MatTabLabel = (<any>(null as any));\nvar _decl0_53:i11.MatTab = (<any>(null as any));\nvar _decl0_54:i11.MatTabNav = (<any>(null as any));\nvar _decl0_55:i11.MatTabLink = (<any>(null as any));\nvar _decl0_56:i11.MatTabContent = (<any>(null as any));\nvar _decl0_57:i12.CommandDirective<any> = (<any>(null as any));\nvar _decl0_58:i13.FocusBindingDirective = (<any>(null as any));\nvar _decl0_59:i14.HighlightTextModelDirective = (<any>(null as any));\nvar _decl0_60:i2.AsyncPipe = (<any>(null as any));\nvar _decl0_61:i2.UpperCasePipe = (<any>(null as any));\nvar _decl0_62:i2.LowerCasePipe = (<any>(null as any));\nvar _decl0_63:i2.JsonPipe = (<any>(null as any));\nvar _decl0_64:i2.SlicePipe = (<any>(null as any));\nvar _decl0_65:i2.DecimalPipe = (<any>(null as any));\nvar _decl0_66:i2.PercentPipe = (<any>(null as any));\nvar _decl0_67:i2.TitleCasePipe = (<any>(null as any));\nvar _decl0_68:i2.CurrencyPipe = (<any>(null as any));\nvar _decl0_69:i2.DatePipe = (<any>(null as any));\nvar _decl0_70:i2.I18nPluralPipe = (<any>(null as any));\nvar _decl0_71:i2.I18nSelectPipe = (<any>(null as any));\nvar _decl0_72:i2.KeyValuePipe = (<any>(null as any));\nvar _decl0_74:i15.HighlightPipe = (<any>(null as any));\nvar _decl0_75:i2.CommonModule = (<any>(null as any));\nvar _decl0_76:i16.BrowserAnimationsModule = (<any>(null as any));\nvar _decl0_77:i3.FormsModule = (<any>(null as any));\nvar _decl0_78:i7.MatInputModule = (<any>(null as any));\nvar _decl0_79:i6.MatFormFieldModule = (<any>(null as any));\nvar _decl0_80:i10.MatSelectModule = (<any>(null as any));\nvar _decl0_81:i11.MatTabsModule = (<any>(null as any));\nvar _decl0_82:i0.TemplateRef<any> = (<any>(null as any));\nvar _decl0_83:i0.ElementRef<any> = (<any>(null as any));\n"]}
@@ -8,7 +8,7 @@ export const ACTIVITY_DATA = new InjectionToken('InteractionActivityData');
8
8
  export class Activity extends DisposableComponent {
9
9
  constructor() {
10
10
  super();
11
- this._busyModel = new DelegatingValueModel().withDefault(false);
11
+ this._busyModel = this.registerDisposable(new DelegatingValueModel().withDefault(false));
12
12
  this._focusedModel = this.registerDisposable(new DelegatingValueModel());
13
13
  this.class = 'aup-activity';
14
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"activity.js","sourceRoot":"","sources":["../../../../../../libs/angular-ui-powerups/src/lib/interaction/activity.ts"],"names":[],"mappings":";AAAA,OAAO,EAAiB,SAAS,EAAc,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC7G,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,GAAG,EAAS,aAAa,EAAc,MAAM,gBAAgB,CAAC;AACtG,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,0DAA0D,CAAC;AAGpG,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,cAAc,CAAM,yBAAyB,CAAC,CAAC;AAKhF,MAAM,OAAO,QAAwB,SAAQ,mBAAmB;IAyB9D;QACE,KAAK,EAAE,CAAC;QAxBO,eAAU,GAAG,IAAI,oBAAoB,EAAW,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC7E,kBAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,oBAAoB,EAAW,CAAC,CAAC;QAe/D,UAAK,GAAG,cAAc,CAAC;IAS7C,CAAC;IAPD,IACI,SAAS;QACX,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;IAClC,CAAC;IAMD,UAAU,CAAC,wBAA4C,EAAE,eAAuC;QAC9F,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACpC,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;QACxC,IAAI,CAAC,mBAAmB,GAAG,wBAAwB,CAAC;QACpD,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QACxD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,EAAE;YAC1C,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,eAAe;;QACb,MAAA,IAAI,CAAC,eAAe,0CAAE,YAAY,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,kBAAkB;QACpB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAED,IAAI,CAAC,MAAU;QACb,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,CAAC,KAAS;QACd,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IAED,WAAW;IACX,eAAe;IACf,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;IAClC,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;IACrC,CAAC;IAED,SAAS,CAAC,SAA8B;QACtC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;IAC/B,CAAC;IAED,aAAa;QACX,OAAO,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC;IACjC,CAAC;;;YAlFF,SAAS,SAAC;gBACT,QAAQ,EAAE,EAAE;aACb;;;;8BAOE,SAAS,SAAC,wBAAwB;oBAYlC,WAAW,SAAC,OAAO;wBAEnB,WAAW,SAAC,cAAc;;AAV3B;IADC,aAAa,EAAE;8BACO,OAAO;gDAAU;AAGxC;IADC,aAAa,EAAE;8BACM,OAAO;+CAAU","sourcesContent":["import { AfterViewInit, Component, forwardRef, HostBinding, InjectionToken, ViewChild } from '@angular/core';\nimport { Command, DelegatingValueModel, Dsl, Trace, TrackExternal, ValueModel } from '@coolon/pectin';\nimport { assert } from '@coolon/typescript-utilities';\nimport { DisposableComponent } from '../components/disposable-component';\nimport { ActivityActionsComponent } from './components/activity-actions/activity-actions.component';\nimport { InteractionContext } from './interaction-context';\n\nexport const ACTIVITY_DATA = new InjectionToken<any>('InteractionActivityData');\n\n@Component({\n template: ''\n})\nexport class Activity<D, R, E = any> extends DisposableComponent implements AfterViewInit {\n\n private readonly _busyModel = new DelegatingValueModel<boolean>().withDefault(false);\n private _focusedModel = this.registerDisposable(new DelegatingValueModel<boolean>());\n private _activityContext: Activity.Context<R, E>;\n\n @ViewChild(ActivityActionsComponent)\n protected activityActions: ActivityActionsComponent;\n\n @TrackExternal()\n public confirmCommand: Command<unknown>;\n\n @TrackExternal()\n public cancelCommand: Command<unknown>;\n\n // @Trace()\n private _interactionContext: InteractionContext;\n\n @HostBinding('class') class = 'aup-activity';\n\n @HostBinding('attr.focused')\n get isFocused() {\n return this._focusedModel.value;\n }\n\n constructor() {\n super();\n }\n\n initialise(nestedInteractionContext: InteractionContext, activityContext: Activity.Context<R, E>): void {\n const { chain, when } = Dsl.disposeWith(this);\n assert.isNil(this._activityContext);\n this._activityContext = activityContext;\n this._interactionContext = nestedInteractionContext;\n this._focusedModel.setDelegate(activityContext.focused);\n when(this._focusedModel).becomesTruthy(() => {\n this.onActivityReady();\n });\n }\n\n ngAfterViewInit() {\n this.activityActions?.initCommands(this);\n }\n\n get interactionContext() {\n assert.isTruthy(this.isInitialised());\n return this._interactionContext;\n }\n\n done(result?: R): void {\n return this._activityContext.onDone(result);\n }\n\n cancel(error?: E): void {\n this._activityContext.onCancel(error);\n }\n\n // @Trace()\n onActivityReady() {\n }\n\n get busy(): ValueModel<boolean> {\n return this._busyModel.readonly;\n }\n\n get focused(): ValueModel<boolean> {\n return this._focusedModel.readonly;\n }\n\n busyWhile(busyModel: ValueModel<boolean>) {\n this._busyModel.setDelegate(busyModel);\n }\n\n isBusy() {\n return this._busyModel.value;\n }\n\n isInitialised() {\n return !!this._activityContext;\n }\n}\n\nexport namespace Activity {\n\n export interface Context<R, E> {\n onDone: (result: R) => void,\n onCancel: (error: E) => void,\n focused: ValueModel<boolean>\n }\n}\n"]}
1
+ {"version":3,"file":"activity.js","sourceRoot":"","sources":["../../../../../../libs/angular-ui-powerups/src/lib/interaction/activity.ts"],"names":[],"mappings":"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","sourcesContent":["import { AfterViewInit, Component, forwardRef, HostBinding, InjectionToken, ViewChild } from '@angular/core';\nimport { Command, DelegatingValueModel, Dsl, Trace, TrackExternal, ValueModel } from '@coolon/pectin';\nimport { assert } from '@coolon/typescript-utilities';\nimport { DisposableComponent } from '../components/disposable-component';\nimport { ActivityActionsComponent } from './components/activity-actions/activity-actions.component';\nimport { InteractionContext } from './interaction-context';\n\nexport const ACTIVITY_DATA = new InjectionToken<any>('InteractionActivityData');\n\n@Component({\n template: ''\n})\nexport class Activity<D, R, E = any> extends DisposableComponent implements AfterViewInit {\n\n private readonly _busyModel = this.registerDisposable(new DelegatingValueModel<boolean>().withDefault(false));\n private _focusedModel = this.registerDisposable(new DelegatingValueModel<boolean>());\n private _activityContext: Activity.Context<R, E>;\n\n @ViewChild(ActivityActionsComponent)\n protected activityActions: ActivityActionsComponent;\n\n @TrackExternal()\n public confirmCommand: Command<unknown>;\n\n @TrackExternal()\n public cancelCommand: Command<unknown>;\n\n // @Trace()\n private _interactionContext: InteractionContext;\n\n @HostBinding('class') class = 'aup-activity';\n\n @HostBinding('attr.focused')\n get isFocused() {\n return this._focusedModel.value;\n }\n\n constructor() {\n super();\n }\n\n initialise(nestedInteractionContext: InteractionContext, activityContext: Activity.Context<R, E>): void {\n const { chain, when } = Dsl.disposeWith(this);\n assert.isNil(this._activityContext);\n this._activityContext = activityContext;\n this._interactionContext = nestedInteractionContext;\n this._focusedModel.setDelegate(activityContext.focused);\n when(this._focusedModel).becomesTruthy(() => {\n this.onActivityReady();\n });\n }\n\n ngAfterViewInit() {\n this.activityActions?.initCommands(this);\n }\n\n get interactionContext() {\n assert.isTruthy(this.isInitialised());\n return this._interactionContext;\n }\n\n done(result?: R): void {\n return this._activityContext.onDone(result);\n }\n\n cancel(error?: E): void {\n this._activityContext.onCancel(error);\n }\n\n // @Trace()\n onActivityReady() {\n }\n\n get busy(): ValueModel<boolean> {\n return this._busyModel.readonly;\n }\n\n get focused(): ValueModel<boolean> {\n return this._focusedModel.readonly;\n }\n\n busyWhile(busyModel: ValueModel<boolean>) {\n this._busyModel.setDelegate(busyModel);\n }\n\n isBusy() {\n return this._busyModel.value;\n }\n\n isInitialised() {\n return !!this._activityContext;\n }\n}\n\nexport namespace Activity {\n\n export interface Context<R, E> {\n onDone: (result: R) => void,\n onCancel: (error: E) => void,\n focused: ValueModel<boolean>\n }\n}\n"]}