@coolon/angular-ui-powerups 12.4.0-alpha.89 → 12.4.0-alpha.9

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 (555) hide show
  1. package/assets/activities.scss +70 -0
  2. package/assets/form.scss +2 -10
  3. package/assets/interaction.scss +7 -10
  4. package/assets/mixins.scss +7 -5
  5. package/assets/styles.scss +15 -10
  6. package/bundles/coolon-angular-ui-powerups-cypress.umd.js +336 -741
  7. package/bundles/coolon-angular-ui-powerups-cypress.umd.js.map +1 -1
  8. package/bundles/coolon-angular-ui-powerups.umd.js +442 -1462
  9. package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
  10. package/coolon-angular-ui-powerups.metadata.json +1 -1
  11. package/cypress/components/aup-command-face.d.ts +8 -2
  12. package/cypress/components/aup-command.d.ts +1 -2
  13. package/cypress/components/aup-empty-state.d.ts +2 -1
  14. package/cypress/components/aup-input.d.ts +5 -11
  15. package/cypress/components/aup-more-menu.d.ts +4 -0
  16. package/cypress/components/aup-popup-menu.d.ts +7 -0
  17. package/cypress/components/aup-table.d.ts +18 -5
  18. package/cypress/components/button-mixin.d.ts +19 -0
  19. package/cypress/components/button.d.ts +7 -11
  20. package/cypress/coolon-angular-ui-powerups-cypress.metadata.json +1 -1
  21. package/cypress/exports.d.ts +4 -24
  22. package/cypress/package.json +1 -1
  23. package/cypress/page-element.d.ts +12 -12
  24. package/cypress/page.d.ts +34 -8
  25. package/cypress/section.d.ts +55 -0
  26. package/esm2015/cypress/components/aup-command-face.js +22 -11
  27. package/esm2015/cypress/components/aup-command-face.js.map +1 -1
  28. package/esm2015/cypress/components/aup-command-face.metadata.json +1 -1
  29. package/esm2015/cypress/components/aup-command.js +6 -12
  30. package/esm2015/cypress/components/aup-command.js.map +1 -1
  31. package/esm2015/cypress/components/aup-command.metadata.json +1 -1
  32. package/esm2015/cypress/components/aup-empty-state.js +2 -2
  33. package/esm2015/cypress/components/aup-empty-state.js.map +1 -1
  34. package/esm2015/cypress/components/aup-empty-state.metadata.json +1 -1
  35. package/esm2015/cypress/components/aup-input.js +5 -17
  36. package/esm2015/cypress/components/aup-input.js.map +1 -1
  37. package/esm2015/cypress/components/aup-input.metadata.json +1 -1
  38. package/esm2015/cypress/components/aup-more-menu.js +7 -0
  39. package/esm2015/cypress/components/aup-more-menu.js.map +1 -0
  40. package/esm2015/cypress/components/aup-more-menu.metadata.json +1 -0
  41. package/esm2015/cypress/components/aup-navigation.js +1 -1
  42. package/esm2015/cypress/components/aup-navigation.js.map +1 -1
  43. package/esm2015/cypress/components/aup-popup-menu.js +19 -0
  44. package/esm2015/cypress/components/aup-popup-menu.js.map +1 -0
  45. package/esm2015/cypress/components/aup-popup-menu.metadata.json +1 -0
  46. package/esm2015/cypress/components/aup-table.js +33 -5
  47. package/esm2015/cypress/components/aup-table.js.map +1 -1
  48. package/esm2015/cypress/components/aup-table.metadata.json +1 -1
  49. package/esm2015/cypress/components/button-mixin.js +15 -0
  50. package/esm2015/cypress/components/button-mixin.js.map +1 -0
  51. package/esm2015/cypress/components/button-mixin.metadata.json +1 -0
  52. package/esm2015/cypress/components/button.js +10 -4
  53. package/esm2015/cypress/components/button.js.map +1 -1
  54. package/esm2015/cypress/components/button.metadata.json +1 -1
  55. package/esm2015/cypress/exports.js +4 -24
  56. package/esm2015/cypress/exports.js.map +1 -1
  57. package/esm2015/cypress/exports.metadata.json +1 -1
  58. package/esm2015/cypress/page-element.js +19 -26
  59. package/esm2015/cypress/page-element.js.map +1 -1
  60. package/esm2015/cypress/page-element.metadata.json +1 -1
  61. package/esm2015/cypress/page.js +19 -31
  62. package/esm2015/cypress/page.js.map +1 -1
  63. package/esm2015/cypress/page.metadata.json +1 -1
  64. package/esm2015/cypress/section.js +76 -0
  65. package/esm2015/cypress/section.js.map +1 -0
  66. package/esm2015/cypress/section.metadata.json +1 -0
  67. package/esm2015/lib/angular-ui-powerups.module.ngfactory.js.map +1 -1
  68. package/esm2015/lib/components/busy-overlay/busy-overlay.component.js +1 -1
  69. package/esm2015/lib/components/busy-overlay/busy-overlay.component.metadata.json +1 -1
  70. package/esm2015/lib/components/card-container/card-container.component.js +84 -0
  71. package/esm2015/lib/components/card-container/card-container.component.js.map +1 -0
  72. package/esm2015/lib/components/card-container/card-container.component.metadata.json +1 -0
  73. package/esm2015/lib/components/card-container/card-container.component.ngfactory.js.map +1 -0
  74. package/esm2015/lib/components/{labelled-value/labelled-value.component.scss.shim.ngstyle.js.map → card-container/card-container.component.scss.shim.ngstyle.js.map} +1 -1
  75. package/esm2015/lib/components/commands/command/command.component.js +1 -1
  76. package/esm2015/lib/components/commands/command/command.component.metadata.json +1 -1
  77. package/esm2015/lib/components/commands/command-face/command-face.component.js +1 -5
  78. package/esm2015/lib/components/commands/command-face/command-face.component.js.map +1 -1
  79. package/esm2015/lib/components/commands/command-face/command-face.component.metadata.json +1 -1
  80. package/esm2015/lib/components/commands/group/popup-menu/abstract-popup-menu.component.js +1 -1
  81. package/esm2015/lib/components/commands/group/popup-menu/abstract-popup-menu.component.js.map +1 -1
  82. package/esm2015/lib/components/commands/group/popup-menu/popup-menu-renderer/popup-menu-renderer.component.js +1 -1
  83. package/esm2015/lib/components/commands/group/popup-menu/popup-menu-renderer/popup-menu-renderer.component.js.map +1 -1
  84. package/esm2015/lib/components/commands/group/tool-bar/tool-bar.component.js +1 -1
  85. package/esm2015/lib/components/commands/group/tool-bar/tool-bar.component.metadata.json +1 -1
  86. package/esm2015/lib/components/components.module.js +25 -43
  87. package/esm2015/lib/components/components.module.js.map +1 -1
  88. package/esm2015/lib/components/components.module.metadata.json +1 -1
  89. package/esm2015/lib/components/components.module.ngfactory.js.map +1 -1
  90. package/esm2015/lib/components/empty-state/empty-state.component.js +1 -1
  91. package/esm2015/lib/components/empty-state/empty-state.component.metadata.json +1 -1
  92. package/esm2015/lib/components/exports.js +4 -8
  93. package/esm2015/lib/components/exports.js.map +1 -1
  94. package/esm2015/lib/components/exports.metadata.json +1 -1
  95. package/esm2015/lib/components/focus-container/focus-container.component.js +1 -1
  96. package/esm2015/lib/components/focus-container/focus-container.component.metadata.json +1 -1
  97. package/esm2015/lib/components/forms/abstract-input.component.js +0 -1
  98. package/esm2015/lib/components/forms/abstract-input.component.js.map +1 -1
  99. package/esm2015/lib/components/forms/autocomplete-input/autocomplete-input.component.js +2 -2
  100. package/esm2015/lib/components/forms/autocomplete-input/autocomplete-input.component.js.map +1 -1
  101. package/esm2015/lib/components/forms/autocomplete-input/autocomplete-input.component.metadata.json +1 -1
  102. package/esm2015/lib/components/forms/checkbox-input/checkbox-input.component.js +1 -1
  103. package/esm2015/lib/components/forms/checkbox-input/checkbox-input.component.metadata.json +1 -1
  104. package/esm2015/lib/components/forms/multiple-select-input/multiple-select-input.component.js +2 -2
  105. package/esm2015/lib/components/forms/multiple-select-input/multiple-select-input.component.js.map +1 -1
  106. package/esm2015/lib/components/forms/multiple-select-input/multiple-select-input.component.metadata.json +1 -1
  107. package/esm2015/lib/components/forms/select-input/select-input.component.js +2 -2
  108. package/esm2015/lib/components/forms/select-input/select-input.component.js.map +1 -1
  109. package/esm2015/lib/components/forms/select-input/select-input.component.metadata.json +1 -1
  110. package/esm2015/lib/components/forms/string-input/string-input.component.js +1 -1
  111. package/esm2015/lib/components/forms/string-input/string-input.component.metadata.json +1 -1
  112. package/esm2015/lib/components/forms/text-input/text-input.component.js +1 -1
  113. package/esm2015/lib/components/forms/text-input/text-input.component.metadata.json +1 -1
  114. package/esm2015/lib/components/icon/icon.component.js +1 -1
  115. package/esm2015/lib/components/icon/icon.component.metadata.json +1 -1
  116. package/esm2015/lib/components/noop/noop.component.js +1 -1
  117. package/esm2015/lib/components/noop/noop.component.metadata.json +1 -1
  118. package/esm2015/lib/components/scroll-container/scroll-container.component.js +1 -1
  119. package/esm2015/lib/components/scroll-container/scroll-container.component.metadata.json +1 -1
  120. package/esm2015/lib/components/section-header/section-header.component.js +5 -12
  121. package/esm2015/lib/components/section-header/section-header.component.js.map +1 -1
  122. package/esm2015/lib/components/section-header/section-header.component.metadata.json +1 -1
  123. package/esm2015/lib/components/switch-case/switch-case.component.js +1 -1
  124. package/esm2015/lib/components/switch-case/switch-case.component.metadata.json +1 -1
  125. package/esm2015/lib/components/tables/abstract-table-model.js +20 -34
  126. package/esm2015/lib/components/tables/abstract-table-model.js.map +1 -1
  127. package/esm2015/lib/components/tables/abstract-table-model.metadata.json +1 -1
  128. package/esm2015/lib/components/tables/column-list-model.js +1 -2
  129. package/esm2015/lib/components/tables/column-list-model.js.map +1 -1
  130. package/esm2015/lib/components/tables/table/cell-portal-ref.js.map +1 -1
  131. package/esm2015/lib/components/tables/table/cell-renderer.js.map +1 -1
  132. package/esm2015/lib/components/tables/table/column-model.js +10 -35
  133. package/esm2015/lib/components/tables/table/column-model.js.map +1 -1
  134. package/esm2015/lib/components/tables/table/column-model.metadata.json +1 -1
  135. package/esm2015/lib/components/tables/table/default-cell-renderer/default-cell-renderer.component.js.map +1 -1
  136. package/esm2015/lib/components/tables/table/default-cell-renderer/default-cell-renderer.component.metadata.json +1 -1
  137. package/esm2015/lib/components/tables/table/edit-row-controls/edit-row-controls.component.js +12 -19
  138. package/esm2015/lib/components/tables/table/edit-row-controls/edit-row-controls.component.js.map +1 -1
  139. package/esm2015/lib/components/tables/table/edit-row-controls/edit-row-controls.component.metadata.json +1 -1
  140. package/esm2015/lib/components/tables/table/edit-session.js.map +1 -0
  141. package/esm2015/lib/components/tables/{edit-session.metadata.json → table/edit-session.metadata.json} +1 -1
  142. package/esm2015/lib/components/tables/table/paginator/paginator.component.js +1 -1
  143. package/esm2015/lib/components/tables/table/paginator/paginator.component.metadata.json +1 -1
  144. package/esm2015/lib/components/tables/table/table-cell-renderer/table-cell-renderer.component.js +1 -1
  145. package/esm2015/lib/components/tables/table/table-cell-renderer/table-cell-renderer.component.js.map +1 -1
  146. package/esm2015/lib/components/tables/table/table-header-cell-renderer/table-header-cell-renderer.component.js +1 -1
  147. package/esm2015/lib/components/tables/table/table-header-cell-renderer/table-header-cell-renderer.component.metadata.json +1 -1
  148. package/esm2015/lib/components/tables/table/table-row-menu/table-row-menu.component.js +2 -0
  149. package/esm2015/lib/components/tables/table/table-row-menu/table-row-menu.component.js.map +1 -1
  150. package/esm2015/lib/components/tables/table/table-row-menu/table-row-menu.component.metadata.json +1 -1
  151. package/esm2015/lib/components/tables/table/table.component.js +13 -14
  152. package/esm2015/lib/components/tables/table/table.component.js.map +1 -1
  153. package/esm2015/lib/components/tables/table/table.component.metadata.json +1 -1
  154. package/esm2015/lib/components/tables/tree-table/flattened-tree-list-model.js +4 -4
  155. package/esm2015/lib/components/tables/tree-table/flattened-tree-list-model.js.map +1 -1
  156. package/esm2015/lib/components/tables/tree-table/flattened-tree-list-model.metadata.json +1 -1
  157. package/esm2015/lib/components/tables/tree-table/tree-inheritance-icon/tree-inheritance-icon.component.js +1 -1
  158. package/esm2015/lib/components/tables/tree-table/tree-inheritance-icon/tree-inheritance-icon.component.metadata.json +1 -1
  159. package/esm2015/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.js +13 -21
  160. package/esm2015/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.js.map +1 -1
  161. package/esm2015/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.metadata.json +1 -1
  162. package/esm2015/lib/components/tables/tree-table/tree-label-column-model.js +1 -1
  163. package/esm2015/lib/components/tables/tree-table/tree-label-column-model.js.map +1 -1
  164. package/esm2015/lib/components/tables/tree-table/tree-label-column-model.metadata.json +1 -1
  165. package/esm2015/lib/components/tables/tree-table/tree-node.js +2 -0
  166. package/esm2015/lib/components/tables/tree-table/tree-node.js.map +1 -0
  167. package/esm2015/lib/components/tables/tree-table/tree-node.metadata.json +1 -0
  168. package/esm2015/lib/components/tables/tree-table/tree-table-component.js +1 -1
  169. package/esm2015/lib/components/tables/tree-table/tree-table-component.js.map +1 -1
  170. package/esm2015/lib/components/tables/tree-table/tree-table-component.metadata.json +1 -1
  171. package/esm2015/lib/components/tables/tree-table/tree-table-model.js +2 -3
  172. package/esm2015/lib/components/tables/tree-table/tree-table-model.js.map +1 -1
  173. package/esm2015/lib/components/tables/tree-table/tree-table-model.metadata.json +1 -1
  174. package/esm2015/lib/components/tables/tree-table/visitable.class.js +26 -0
  175. package/esm2015/lib/components/tables/tree-table/visitable.class.js.map +1 -0
  176. package/esm2015/lib/components/tables/tree-table/visitable.class.metadata.json +1 -0
  177. package/esm2015/lib/components/track-by.js +0 -12
  178. package/esm2015/lib/components/track-by.js.map +1 -1
  179. package/esm2015/lib/components/vertical-focus-container/vertical-focus-container.component.js +1 -1
  180. package/esm2015/lib/components/vertical-focus-container/vertical-focus-container.component.metadata.json +1 -1
  181. package/esm2015/lib/directives/command.directive.js +1 -1
  182. package/esm2015/lib/directives/command.directive.js.map +1 -1
  183. package/esm2015/lib/directives/directives.module.ngfactory.js.map +1 -1
  184. package/esm2015/lib/interaction/abstract-interaction-context.js +0 -7
  185. package/esm2015/lib/interaction/abstract-interaction-context.js.map +1 -1
  186. package/esm2015/lib/interaction/abstract-interaction-context.metadata.json +1 -1
  187. package/esm2015/lib/interaction/activity.js +1 -2
  188. package/esm2015/lib/interaction/activity.js.map +1 -1
  189. package/esm2015/lib/interaction/alert.js +1 -17
  190. package/esm2015/lib/interaction/alert.js.map +1 -1
  191. package/esm2015/lib/interaction/components/activity-actions/activity-actions.component.js +11 -17
  192. package/esm2015/lib/interaction/components/activity-actions/activity-actions.component.js.map +1 -1
  193. package/esm2015/lib/interaction/components/activity-actions/activity-actions.component.metadata.json +1 -1
  194. package/esm2015/lib/interaction/components/activity-container/activity-container.component.js +3 -3
  195. package/esm2015/lib/interaction/components/activity-container/activity-container.component.js.map +1 -1
  196. package/esm2015/lib/interaction/components/activity-container/activity-container.component.metadata.json +1 -1
  197. package/esm2015/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.js +1 -1
  198. package/esm2015/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.metadata.json +1 -1
  199. package/esm2015/lib/interaction/components/activity-title/activity-title.component.js +1 -1
  200. package/esm2015/lib/interaction/components/activity-title/activity-title.component.metadata.json +1 -1
  201. package/esm2015/lib/interaction/components/activity-triggers/abstract-activity-trigger.component.js +0 -4
  202. package/esm2015/lib/interaction/components/activity-triggers/abstract-activity-trigger.component.js.map +1 -1
  203. package/esm2015/lib/interaction/components/activity-triggers/abstract-activity-trigger.component.metadata.json +1 -1
  204. package/esm2015/lib/interaction/components/activity-triggers/inline-activity-trigger/inline-activity-trigger.component.js +2 -5
  205. package/esm2015/lib/interaction/components/activity-triggers/inline-activity-trigger/inline-activity-trigger.component.js.map +1 -1
  206. package/esm2015/lib/interaction/components/activity-triggers/inline-activity-trigger/inline-activity-trigger.component.metadata.json +1 -1
  207. package/esm2015/lib/interaction/components/activity-triggers/modal-activity-trigger/modal-activity-trigger.component.js +2 -5
  208. package/esm2015/lib/interaction/components/activity-triggers/modal-activity-trigger/modal-activity-trigger.component.js.map +1 -1
  209. package/esm2015/lib/interaction/components/activity-triggers/modal-activity-trigger/modal-activity-trigger.component.metadata.json +1 -1
  210. package/esm2015/lib/interaction/components/activity-triggers/popup-activity-trigger/popup-activity-trigger.component.js +2 -5
  211. package/esm2015/lib/interaction/components/activity-triggers/popup-activity-trigger/popup-activity-trigger.component.js.map +1 -1
  212. package/esm2015/lib/interaction/components/activity-triggers/popup-activity-trigger/popup-activity-trigger.component.metadata.json +1 -1
  213. package/esm2015/lib/interaction/components/add-item-interaction-context/add-item-interaction-context.component.js +1 -1
  214. package/esm2015/lib/interaction/components/add-item-interaction-context/add-item-interaction-context.component.metadata.json +1 -1
  215. package/esm2015/lib/interaction/components/alert-dialog/alert-dialog.component.js +14 -8
  216. package/esm2015/lib/interaction/components/alert-dialog/alert-dialog.component.js.map +1 -1
  217. package/esm2015/lib/interaction/components/alert-dialog/alert-dialog.component.metadata.json +1 -1
  218. package/esm2015/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.js +31 -8
  219. package/esm2015/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.js.map +1 -1
  220. package/esm2015/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.metadata.json +1 -1
  221. package/esm2015/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js +26 -7
  222. package/esm2015/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js.map +1 -1
  223. package/esm2015/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.metadata.json +1 -1
  224. package/esm2015/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.js +3 -10
  225. package/esm2015/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.js.map +1 -1
  226. package/esm2015/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.metadata.json +1 -1
  227. package/esm2015/lib/interaction/components/input-activities/abstract-input-activity.js +43 -0
  228. package/esm2015/lib/interaction/components/input-activities/abstract-input-activity.js.map +1 -0
  229. package/esm2015/lib/interaction/components/input-activities/abstract-input-activity.metadata.json +1 -0
  230. package/esm2015/lib/interaction/components/input-activities/abstract-input-activity.ngfactory.js.map +1 -0
  231. package/esm2015/lib/interaction/components/input-activities/input-activity-data.js +2 -0
  232. package/esm2015/lib/interaction/components/input-activities/input-activity-data.js.map +1 -0
  233. package/esm2015/lib/interaction/components/input-activities/input-activity-data.metadata.json +1 -0
  234. package/esm2015/lib/interaction/components/input-activities/select-input-activity-data.js +2 -0
  235. package/esm2015/lib/interaction/components/input-activities/select-input-activity-data.js.map +1 -0
  236. package/esm2015/lib/interaction/components/input-activities/select-input-activity-data.metadata.json +1 -0
  237. package/esm2015/lib/interaction/components/input-activities/select-input-activity.js +3 -5
  238. package/esm2015/lib/interaction/components/input-activities/select-input-activity.js.map +1 -1
  239. package/esm2015/lib/interaction/components/input-activities/select-input-activity.metadata.json +1 -1
  240. package/esm2015/lib/interaction/components/input-activities/string-input-activity.js +4 -6
  241. package/esm2015/lib/interaction/components/input-activities/string-input-activity.js.map +1 -1
  242. package/esm2015/lib/interaction/components/input-activities/string-input-activity.metadata.json +1 -1
  243. package/esm2015/lib/interaction/components/popup-interaction-context/popup-interaction-context.component.js +1 -2
  244. package/esm2015/lib/interaction/components/popup-interaction-context/popup-interaction-context.component.js.map +1 -1
  245. package/esm2015/lib/interaction/components/popup-interaction-context/popup-interaction-context.component.metadata.json +1 -1
  246. package/esm2015/lib/interaction/exports.js +4 -8
  247. package/esm2015/lib/interaction/exports.js.map +1 -1
  248. package/esm2015/lib/interaction/exports.metadata.json +1 -1
  249. package/esm2015/lib/interaction/interaction-context.js.map +1 -1
  250. package/esm2015/lib/interaction/interaction.module.js +9 -29
  251. package/esm2015/lib/interaction/interaction.module.js.map +1 -1
  252. package/esm2015/lib/interaction/interaction.module.metadata.json +1 -1
  253. package/esm2015/lib/interaction/interaction.module.ngfactory.js.map +1 -1
  254. package/esm2015/lib/interaction/result.js +4 -0
  255. package/esm2015/lib/interaction/result.js.map +1 -0
  256. package/esm2015/lib/interaction/result.metadata.json +1 -0
  257. package/esm2015/lib/interaction/services/interaction.service.js +1 -1
  258. package/esm2015/lib/interaction/services/interaction.service.js.map +1 -1
  259. package/esm2015/lib/place/components/abstract-place-navigation.component.js +1 -1
  260. package/esm2015/lib/place/components/abstract-place-navigation.component.js.map +1 -1
  261. package/esm2015/lib/place/components/list-place-nav/list-place-nav.component.js +1 -1
  262. package/esm2015/lib/place/components/list-place-nav/list-place-nav.component.metadata.json +1 -1
  263. package/esm2015/lib/place/components/not-authorised-notice/not-authorised-notice.component.js +1 -1
  264. package/esm2015/lib/place/components/not-authorised-notice/not-authorised-notice.component.metadata.json +1 -1
  265. package/esm2015/lib/place/components/place-outlet/place-outlet.component.js +1 -1
  266. package/esm2015/lib/place/components/place-outlet/place-outlet.component.metadata.json +1 -1
  267. package/esm2015/lib/place/components/side-place-navigation/side-place-navigation.component.js +1 -1
  268. package/esm2015/lib/place/components/side-place-navigation/side-place-navigation.component.metadata.json +1 -1
  269. package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js +1 -1
  270. package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.metadata.json +1 -1
  271. package/esm2015/lib/place/guards/consolidated-param-map.js +1 -2
  272. package/esm2015/lib/place/guards/consolidated-param-map.js.map +1 -1
  273. package/esm2015/lib/place/guards/consolidated-param-map.metadata.json +1 -1
  274. package/esm2015/lib/place/guards/place.guard.js +1 -2
  275. package/esm2015/lib/place/guards/place.guard.js.map +1 -1
  276. package/esm2015/lib/place/place-component.js +4 -31
  277. package/esm2015/lib/place/place-component.js.map +1 -1
  278. package/esm2015/lib/place/place-component.metadata.json +1 -1
  279. package/esm2015/lib/place/place-router.js +14 -11
  280. package/esm2015/lib/place/place-router.js.map +1 -1
  281. package/esm2015/lib/place/place-router.metadata.json +1 -1
  282. package/esm2015/lib/place/place.module.ngfactory.js.map +1 -1
  283. package/esm2015/lib/place/route/parameter-decorators.js.map +1 -1
  284. package/esm2015/lib/place/route/parameter-decorators.metadata.json +1 -1
  285. package/esm2015/lib/place/route/parameter-definition.js +13 -36
  286. package/esm2015/lib/place/route/parameter-definition.js.map +1 -1
  287. package/esm2015/lib/place/route/parameter-definition.metadata.json +1 -1
  288. package/esm2015/lib/place/route/parameter-sanitiser.js.map +1 -1
  289. package/esm2015/lib/place/visit.js +4 -8
  290. package/esm2015/lib/place/visit.js.map +1 -1
  291. package/esm2015/lib/place/visit.metadata.json +1 -1
  292. package/esm2015/lib/services/exports.js +0 -2
  293. package/esm2015/lib/services/exports.js.map +1 -1
  294. package/esm2015/lib/services/exports.metadata.json +1 -1
  295. package/fesm2015/coolon-angular-ui-powerups-cypress.js +244 -546
  296. package/fesm2015/coolon-angular-ui-powerups-cypress.js.map +1 -1
  297. package/fesm2015/coolon-angular-ui-powerups.js +373 -1243
  298. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  299. package/lib/components/{cards/card-container → card-container}/card-container.component.d.ts +9 -30
  300. package/lib/components/commands/command-face/command-face.component.d.ts +0 -1
  301. package/lib/components/exports.d.ts +4 -8
  302. package/lib/components/section-header/section-header.component.d.ts +2 -5
  303. package/lib/components/tables/abstract-table-model.d.ts +7 -10
  304. package/lib/components/tables/table/cell-portal-ref.d.ts +1 -1
  305. package/lib/components/tables/table/cell-renderer.d.ts +0 -2
  306. package/lib/components/tables/table/column-model.d.ts +5 -14
  307. package/lib/components/tables/table/default-cell-renderer/default-cell-renderer.component.d.ts +1 -2
  308. package/lib/components/tables/table/edit-row-controls/edit-row-controls.component.d.ts +2 -4
  309. package/lib/components/tables/{edit-session.d.ts → table/edit-session.d.ts} +3 -3
  310. package/lib/components/tables/table/table-cell-renderer/table-cell-renderer.component.d.ts +1 -1
  311. package/lib/components/tables/table/table-row-menu/table-row-menu.component.d.ts +3 -2
  312. package/lib/components/tables/table/table.component.d.ts +12 -13
  313. package/lib/components/tables/tree-table/flattened-tree-list-model.d.ts +1 -0
  314. package/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.d.ts +3 -2
  315. package/lib/components/tables/tree-table/tree-label-column-model.d.ts +3 -2
  316. package/lib/components/tables/tree-table/tree-node.d.ts +3 -0
  317. package/lib/components/tables/tree-table/tree-table-component.d.ts +1 -1
  318. package/lib/components/tables/tree-table/tree-table-model.d.ts +5 -4
  319. package/lib/components/tables/tree-table/visitable.class.d.ts +22 -0
  320. package/lib/components/track-by.d.ts +0 -9
  321. package/lib/interaction/abstract-interaction-context.d.ts +0 -1
  322. package/lib/interaction/alert.d.ts +1 -7
  323. package/lib/interaction/components/activity-actions/activity-actions.component.d.ts +3 -14
  324. package/lib/interaction/components/activity-triggers/abstract-activity-trigger.component.d.ts +1 -1
  325. package/lib/interaction/components/activity-triggers/inline-activity-trigger/inline-activity-trigger.component.d.ts +1 -2
  326. package/lib/interaction/components/activity-triggers/modal-activity-trigger/modal-activity-trigger.component.d.ts +1 -2
  327. package/lib/interaction/components/activity-triggers/popup-activity-trigger/popup-activity-trigger.component.d.ts +1 -2
  328. package/lib/interaction/components/alert-dialog/alert-dialog.component.d.ts +7 -2
  329. package/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.d.ts +10 -2
  330. package/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.d.ts +9 -2
  331. package/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.d.ts +0 -2
  332. package/lib/interaction/components/input-activities/abstract-input-activity.d.ts +12 -0
  333. package/lib/interaction/components/input-activities/input-activity-data.d.ts +11 -0
  334. package/lib/interaction/components/input-activities/select-input-activity-data.d.ts +8 -0
  335. package/lib/interaction/components/input-activities/select-input-activity.d.ts +3 -11
  336. package/lib/interaction/components/input-activities/string-input-activity.d.ts +2 -6
  337. package/lib/interaction/exports.d.ts +4 -8
  338. package/lib/interaction/interaction-context.d.ts +0 -1
  339. package/lib/interaction/result.d.ts +8 -0
  340. package/lib/place/place-component.d.ts +1 -6
  341. package/lib/place/place-router.d.ts +2 -2
  342. package/lib/place/route/parameter-decorators.d.ts +0 -5
  343. package/lib/place/route/parameter-definition.d.ts +1 -6
  344. package/lib/place/route/parameter-sanitiser.d.ts +3 -2
  345. package/lib/place/visit.d.ts +2 -2
  346. package/lib/services/exports.d.ts +0 -2
  347. package/package.json +16 -17
  348. package/schematics/activity/index.js +1 -1
  349. package/schematics/activity/index.js.map +1 -1
  350. package/schematics/activity/templates/component/__name@dasherize__.component.html.template +1 -1
  351. package/schematics/activity/templates/component/__name@dasherize__.component.ts.template +3 -5
  352. package/schematics/aup-i18n/index.js +1 -1
  353. package/schematics/aup-i18n/index.js.map +1 -1
  354. package/schematics/component/index.js +1 -1
  355. package/schematics/component/index.js.map +1 -1
  356. package/schematics/component/templates/component/__name@dasherize__.component.ts.template +1 -1
  357. package/schematics/place-routes/place-class-scanner.js +1 -3
  358. package/schematics/place-routes/place-class-scanner.js.map +1 -1
  359. package/schematics/utils/build-context.d.ts +3 -6
  360. package/schematics/utils/build-context.js +3 -3
  361. package/schematics/utils/build-context.js.map +1 -1
  362. package/schematics/utils/workspace.d.ts +0 -1
  363. package/schematics/utils/workspace.js +3 -11
  364. package/schematics/utils/workspace.js.map +1 -1
  365. package/assets/activities/activities.scss +0 -80
  366. package/assets/activities/input-activities.scss +0 -36
  367. package/assets/cards.scss +0 -17
  368. package/assets/forms/mixins.scss +0 -6
  369. package/assets/interaction/editor/inline-string-editor.scss +0 -54
  370. package/assets/markdown.scss +0 -10
  371. package/assets/pills.scss +0 -45
  372. package/cypress/component-builder.d.ts +0 -71
  373. package/cypress/components/aup-abstract-activity.d.ts +0 -31
  374. package/cypress/components/aup-abstract-table.d.ts +0 -18
  375. package/cypress/components/aup-activity.d.ts +0 -9
  376. package/cypress/components/aup-alert-dialog.d.ts +0 -27
  377. package/cypress/components/aup-alert.d.ts +0 -9
  378. package/cypress/components/aup-confirm-dialog.d.ts +0 -27
  379. package/cypress/components/aup-confirm.d.ts +0 -11
  380. package/cypress/components/aup-modal-activity.d.ts +0 -24
  381. package/cypress/components/aup-modal-mixin.d.ts +0 -23
  382. package/cypress/components/aup-tree-table.d.ts +0 -16
  383. package/cypress/components/form-element-mixin.d.ts +0 -22
  384. package/cypress/components/mat-checkbox.d.ts +0 -31
  385. package/cypress/components/popup/aup-abstract-popup-menu.d.ts +0 -15
  386. package/cypress/components/popup/aup-more-menu.d.ts +0 -5
  387. package/cypress/components/popup/aup-popup-menu-panel.d.ts +0 -3
  388. package/cypress/components/popup/aup-popup-menu.d.ts +0 -7
  389. package/cypress/components/table/aup-table-cell.d.ts +0 -9
  390. package/cypress/components/table/aup-table-column.d.ts +0 -10
  391. package/cypress/components/table/aup-table-row.d.ts +0 -17
  392. package/cypress/components/table/aup-table-selection-cell.d.ts +0 -5
  393. package/cypress/components/table/aup-table-selection-column.d.ts +0 -5
  394. package/cypress/element-locator.d.ts +0 -8
  395. package/cypress/page-builder.d.ts +0 -9
  396. package/esm2015/cypress/component-builder.js +0 -92
  397. package/esm2015/cypress/component-builder.js.map +0 -1
  398. package/esm2015/cypress/component-builder.metadata.json +0 -1
  399. package/esm2015/cypress/components/aup-abstract-activity.js +0 -12
  400. package/esm2015/cypress/components/aup-abstract-activity.js.map +0 -1
  401. package/esm2015/cypress/components/aup-abstract-activity.metadata.json +0 -1
  402. package/esm2015/cypress/components/aup-abstract-table.js +0 -50
  403. package/esm2015/cypress/components/aup-abstract-table.js.map +0 -1
  404. package/esm2015/cypress/components/aup-abstract-table.metadata.json +0 -1
  405. package/esm2015/cypress/components/aup-activity.js +0 -13
  406. package/esm2015/cypress/components/aup-activity.js.map +0 -1
  407. package/esm2015/cypress/components/aup-activity.metadata.json +0 -1
  408. package/esm2015/cypress/components/aup-alert-dialog.js +0 -8
  409. package/esm2015/cypress/components/aup-alert-dialog.js.map +0 -1
  410. package/esm2015/cypress/components/aup-alert-dialog.metadata.json +0 -1
  411. package/esm2015/cypress/components/aup-alert.js +0 -13
  412. package/esm2015/cypress/components/aup-alert.js.map +0 -1
  413. package/esm2015/cypress/components/aup-alert.metadata.json +0 -1
  414. package/esm2015/cypress/components/aup-confirm-dialog.js +0 -8
  415. package/esm2015/cypress/components/aup-confirm-dialog.js.map +0 -1
  416. package/esm2015/cypress/components/aup-confirm-dialog.metadata.json +0 -1
  417. package/esm2015/cypress/components/aup-confirm.js +0 -19
  418. package/esm2015/cypress/components/aup-confirm.js.map +0 -1
  419. package/esm2015/cypress/components/aup-confirm.metadata.json +0 -1
  420. package/esm2015/cypress/components/aup-modal-activity.js +0 -5
  421. package/esm2015/cypress/components/aup-modal-activity.js.map +0 -1
  422. package/esm2015/cypress/components/aup-modal-activity.metadata.json +0 -1
  423. package/esm2015/cypress/components/aup-modal-mixin.js +0 -18
  424. package/esm2015/cypress/components/aup-modal-mixin.js.map +0 -1
  425. package/esm2015/cypress/components/aup-modal-mixin.metadata.json +0 -1
  426. package/esm2015/cypress/components/aup-tree-table.js +0 -34
  427. package/esm2015/cypress/components/aup-tree-table.js.map +0 -1
  428. package/esm2015/cypress/components/aup-tree-table.metadata.json +0 -1
  429. package/esm2015/cypress/components/form-element-mixin.js +0 -11
  430. package/esm2015/cypress/components/form-element-mixin.js.map +0 -1
  431. package/esm2015/cypress/components/form-element-mixin.metadata.json +0 -1
  432. package/esm2015/cypress/components/mat-checkbox.js +0 -34
  433. package/esm2015/cypress/components/mat-checkbox.js.map +0 -1
  434. package/esm2015/cypress/components/mat-checkbox.metadata.json +0 -1
  435. package/esm2015/cypress/components/popup/aup-abstract-popup-menu.js +0 -33
  436. package/esm2015/cypress/components/popup/aup-abstract-popup-menu.js.map +0 -1
  437. package/esm2015/cypress/components/popup/aup-abstract-popup-menu.metadata.json +0 -1
  438. package/esm2015/cypress/components/popup/aup-more-menu.js +0 -8
  439. package/esm2015/cypress/components/popup/aup-more-menu.js.map +0 -1
  440. package/esm2015/cypress/components/popup/aup-more-menu.metadata.json +0 -1
  441. package/esm2015/cypress/components/popup/aup-popup-menu-panel.js +0 -4
  442. package/esm2015/cypress/components/popup/aup-popup-menu-panel.js.map +0 -1
  443. package/esm2015/cypress/components/popup/aup-popup-menu-panel.metadata.json +0 -1
  444. package/esm2015/cypress/components/popup/aup-popup-menu.js +0 -12
  445. package/esm2015/cypress/components/popup/aup-popup-menu.js.map +0 -1
  446. package/esm2015/cypress/components/popup/aup-popup-menu.metadata.json +0 -1
  447. package/esm2015/cypress/components/table/aup-table-cell.js +0 -14
  448. package/esm2015/cypress/components/table/aup-table-cell.js.map +0 -1
  449. package/esm2015/cypress/components/table/aup-table-cell.metadata.json +0 -1
  450. package/esm2015/cypress/components/table/aup-table-column.js +0 -19
  451. package/esm2015/cypress/components/table/aup-table-column.js.map +0 -1
  452. package/esm2015/cypress/components/table/aup-table-column.metadata.json +0 -1
  453. package/esm2015/cypress/components/table/aup-table-row.js +0 -28
  454. package/esm2015/cypress/components/table/aup-table-row.js.map +0 -1
  455. package/esm2015/cypress/components/table/aup-table-row.metadata.json +0 -1
  456. package/esm2015/cypress/components/table/aup-table-selection-cell.js +0 -6
  457. package/esm2015/cypress/components/table/aup-table-selection-cell.js.map +0 -1
  458. package/esm2015/cypress/components/table/aup-table-selection-cell.metadata.json +0 -1
  459. package/esm2015/cypress/components/table/aup-table-selection-column.js +0 -6
  460. package/esm2015/cypress/components/table/aup-table-selection-column.js.map +0 -1
  461. package/esm2015/cypress/components/table/aup-table-selection-column.metadata.json +0 -1
  462. package/esm2015/cypress/element-locator.js +0 -16
  463. package/esm2015/cypress/element-locator.js.map +0 -1
  464. package/esm2015/cypress/element-locator.metadata.json +0 -1
  465. package/esm2015/cypress/page-builder.js +0 -16
  466. package/esm2015/cypress/page-builder.js.map +0 -1
  467. package/esm2015/cypress/page-builder.metadata.json +0 -1
  468. package/esm2015/lib/components/cards/abstract-card-container.component.js +0 -29
  469. package/esm2015/lib/components/cards/abstract-card-container.component.js.map +0 -1
  470. package/esm2015/lib/components/cards/abstract-card-container.component.metadata.json +0 -1
  471. package/esm2015/lib/components/cards/abstract-card-container.component.ngfactory.js.map +0 -1
  472. package/esm2015/lib/components/cards/card-container/card-container.component.js +0 -123
  473. package/esm2015/lib/components/cards/card-container/card-container.component.js.map +0 -1
  474. package/esm2015/lib/components/cards/card-container/card-container.component.metadata.json +0 -1
  475. package/esm2015/lib/components/cards/card-container/card-container.component.ngfactory.js.map +0 -1
  476. package/esm2015/lib/components/cards/card-container/card-container.component.scss.shim.ngstyle.js.map +0 -1
  477. package/esm2015/lib/components/cards/card-stack/card-stack.component.js +0 -78
  478. package/esm2015/lib/components/cards/card-stack/card-stack.component.js.map +0 -1
  479. package/esm2015/lib/components/cards/card-stack/card-stack.component.metadata.json +0 -1
  480. package/esm2015/lib/components/cards/card-stack/card-stack.component.ngfactory.js.map +0 -1
  481. package/esm2015/lib/components/cards/card-stack/card-stack.component.scss.shim.ngstyle.js.map +0 -1
  482. package/esm2015/lib/components/labelled-value/labelled-value.component.js +0 -22
  483. package/esm2015/lib/components/labelled-value/labelled-value.component.js.map +0 -1
  484. package/esm2015/lib/components/labelled-value/labelled-value.component.metadata.json +0 -1
  485. package/esm2015/lib/components/labelled-value/labelled-value.component.ngfactory.js.map +0 -1
  486. package/esm2015/lib/components/loading-container/loading-container.component.js +0 -45
  487. package/esm2015/lib/components/loading-container/loading-container.component.js.map +0 -1
  488. package/esm2015/lib/components/loading-container/loading-container.component.metadata.json +0 -1
  489. package/esm2015/lib/components/loading-container/loading-container.component.ngfactory.js.map +0 -1
  490. package/esm2015/lib/components/loading-container/loading-container.component.scss.shim.ngstyle.js.map +0 -1
  491. package/esm2015/lib/components/tables/edit-session.js.map +0 -1
  492. package/esm2015/lib/components/tables/table/text-search-predicate.js +0 -2
  493. package/esm2015/lib/components/tables/table/text-search-predicate.js.map +0 -1
  494. package/esm2015/lib/components/tables/table/text-search-predicate.metadata.json +0 -1
  495. package/esm2015/lib/components/text/markdown/markdown.component.js +0 -77
  496. package/esm2015/lib/components/text/markdown/markdown.component.js.map +0 -1
  497. package/esm2015/lib/components/text/markdown/markdown.component.metadata.json +0 -1
  498. package/esm2015/lib/components/text/markdown/markdown.component.ngfactory.js.map +0 -1
  499. package/esm2015/lib/components/text/markdown/markdown.component.scss.shim.ngstyle.js.map +0 -1
  500. package/esm2015/lib/interaction/components/abstract-confirm-dialog.component.js +0 -23
  501. package/esm2015/lib/interaction/components/abstract-confirm-dialog.component.js.map +0 -1
  502. package/esm2015/lib/interaction/components/abstract-confirm-dialog.component.metadata.json +0 -1
  503. package/esm2015/lib/interaction/components/abstract-confirm-dialog.component.ngfactory.js.map +0 -1
  504. package/esm2015/lib/interaction/components/abstract-dialog.component.js +0 -52
  505. package/esm2015/lib/interaction/components/abstract-dialog.component.js.map +0 -1
  506. package/esm2015/lib/interaction/components/abstract-dialog.component.metadata.json +0 -1
  507. package/esm2015/lib/interaction/components/abstract-dialog.component.ngfactory.js.map +0 -1
  508. package/esm2015/lib/interaction/components/add-card-activity/add-card-activity.component.js +0 -77
  509. package/esm2015/lib/interaction/components/add-card-activity/add-card-activity.component.js.map +0 -1
  510. package/esm2015/lib/interaction/components/add-card-activity/add-card-activity.component.metadata.json +0 -1
  511. package/esm2015/lib/interaction/components/add-card-activity/add-card-activity.component.ngfactory.js.map +0 -1
  512. package/esm2015/lib/interaction/components/add-card-activity/add-card-activity.component.scss.shim.ngstyle.js.map +0 -1
  513. package/esm2015/lib/interaction/components/confirm-then-execute-dialog/confirm-then-execute-dialog.component.js +0 -30
  514. package/esm2015/lib/interaction/components/confirm-then-execute-dialog/confirm-then-execute-dialog.component.js.map +0 -1
  515. package/esm2015/lib/interaction/components/confirm-then-execute-dialog/confirm-then-execute-dialog.component.metadata.json +0 -1
  516. package/esm2015/lib/interaction/components/confirm-then-execute-dialog/confirm-then-execute-dialog.component.ngfactory.js.map +0 -1
  517. package/esm2015/lib/interaction/components/confirm-then-execute-dialog/confirm-then-execute-dialog.component.scss.shim.ngstyle.js.map +0 -1
  518. package/esm2015/lib/interaction/components/editors/edit-context.js +0 -2
  519. package/esm2015/lib/interaction/components/editors/edit-context.js.map +0 -1
  520. package/esm2015/lib/interaction/components/editors/edit-context.metadata.json +0 -1
  521. package/esm2015/lib/interaction/components/editors/inline-string-editor/inline-editor-model.js +0 -50
  522. package/esm2015/lib/interaction/components/editors/inline-string-editor/inline-editor-model.js.map +0 -1
  523. package/esm2015/lib/interaction/components/editors/inline-string-editor/inline-editor-model.metadata.json +0 -1
  524. package/esm2015/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.js +0 -161
  525. package/esm2015/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.js.map +0 -1
  526. package/esm2015/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.metadata.json +0 -1
  527. package/esm2015/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.ngfactory.js.map +0 -1
  528. package/esm2015/lib/interaction/components/input-activities/input-activity.js +0 -95
  529. package/esm2015/lib/interaction/components/input-activities/input-activity.js.map +0 -1
  530. package/esm2015/lib/interaction/components/input-activities/input-activity.metadata.json +0 -1
  531. package/esm2015/lib/interaction/components/input-activities/input-activity.ngfactory.js.map +0 -1
  532. package/esm2015/lib/services/markdown/markdown.service.js +0 -25
  533. package/esm2015/lib/services/markdown/markdown.service.js.map +0 -1
  534. package/esm2015/lib/services/markdown/markdown.service.metadata.json +0 -1
  535. package/esm2015/lib/services/markdown/markdown.service.ngfactory.js.map +0 -1
  536. package/esm2015/lib/services/markdown/pill-plugin.js +0 -38
  537. package/esm2015/lib/services/markdown/pill-plugin.js.map +0 -1
  538. package/esm2015/lib/services/markdown/pill-plugin.metadata.json +0 -1
  539. package/lib/components/cards/abstract-card-container.component.d.ts +0 -11
  540. package/lib/components/cards/card-stack/card-stack.component.d.ts +0 -65
  541. package/lib/components/labelled-value/labelled-value.component.d.ts +0 -7
  542. package/lib/components/loading-container/loading-container.component.d.ts +0 -11
  543. package/lib/components/tables/table/text-search-predicate.d.ts +0 -1
  544. package/lib/components/text/markdown/markdown.component.d.ts +0 -28
  545. package/lib/interaction/components/abstract-confirm-dialog.component.d.ts +0 -7
  546. package/lib/interaction/components/abstract-dialog.component.d.ts +0 -17
  547. package/lib/interaction/components/add-card-activity/add-card-activity.component.d.ts +0 -39
  548. package/lib/interaction/components/confirm-then-execute-dialog/confirm-then-execute-dialog.component.d.ts +0 -12
  549. package/lib/interaction/components/editors/edit-context.d.ts +0 -3
  550. package/lib/interaction/components/editors/inline-string-editor/inline-editor-model.d.ts +0 -24
  551. package/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.d.ts +0 -57
  552. package/lib/interaction/components/input-activities/input-activity.d.ts +0 -41
  553. package/lib/services/markdown/markdown.service.d.ts +0 -6
  554. package/lib/services/markdown/pill-plugin.d.ts +0 -15
  555. /package/esm2015/lib/components/tables/{edit-session.js → table/edit-session.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"flattened-tree-list-model.js","sourceRoot":"","sources":["../../../../../../../../libs/angular-ui-powerups/src/lib/components/tables/tree-table/flattened-tree-list-model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAa,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAG7E,MAAM,OAAO,sBAA0B,SAAQ,iBAA4C;IAEzF,YAA6B,MAAoB,EAAmB,QAA0B,EAAW,cAAwD;QAC/J,KAAK,CAAC,MAAM,EAAE;YACZ,YAAY,EAAE,EAAE;YAChB,cAAc,EAAE,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC;SAC9C,CAAC,CAAC;QAJwB,WAAM,GAAN,MAAM,CAAc;QAAmB,aAAQ,GAAR,QAAQ,CAAkB;QAAW,mBAAc,GAAd,cAAc,CAA0C;QAK/J,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAA;IACtD,CAAC;IAED,OAAO,CAAC,MAAW;QACjB,MAAM,MAAM,GAA2B,EAAE,CAAC;QAC1C,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YACxB,OAAO,IAAI,CAAC,yBAAyB,CAAC,iBAAiB,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;QACzG,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAGO,yBAAyB,CAAC,IAA0B,EAAE,MAA8B;QAC1F,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC1C,IAAI,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;YACrE,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;SACpF;IACH,CAAC;CAEF","sourcesContent":["import { ComputedListModel, ListModel } from '@coolon/pectin';\nimport { DecoratedTreeNode, treeNodeDecorator } from './decorated-tree-node';\nimport { TreeExpansionModel } from './tree-expansion-model';\n\nexport class FlattenedTreeListModel<T> extends ComputedListModel<DecoratedTreeNode<T>, T[]> {\n\n constructor(private readonly source: ListModel<T>, private readonly childRef: (node: T) => T[], readonly expansionModel: TreeExpansionModel<DecoratedTreeNode<T>>) {\n super(source, {\n initialValue: [],\n identifiedWith: row => source.identityOf(row)\n });\n this.trackSource(expansionModel.isExpandedPredicate)\n }\n\n compute(values: T[]): DecoratedTreeNode<T>[] {\n const result: DecoratedTreeNode<T>[] = [];\n values.forEach(rootNode => {\n return this.addNodeAndVisibleChildren(DecoratedTreeNode.decorateRoot(rootNode, this.childRef), result);\n });\n return result;\n }\n\n\n private addNodeAndVisibleChildren(node: DecoratedTreeNode<T>, result: DecoratedTreeNode<T>[]) {\n result.push(node);\n const decorator = node[treeNodeDecorator];\n if (decorator.hasChildren() && !this.expansionModel.isCollapsed(node)) {\n decorator.children.forEach(child => this.addNodeAndVisibleChildren(child, result));\n }\n }\n\n}\n"]}
1
+ {"version":3,"file":"flattened-tree-list-model.js","sourceRoot":"","sources":["../../../../../../../../libs/angular-ui-powerups/src/lib/components/tables/tree-table/flattened-tree-list-model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAa,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAG7E,MAAM,OAAO,sBAA0B,SAAQ,iBAA4C;IAEzF,YAA6B,MAAoB,EAAmB,QAA0B,EAAW,cAAwD;QAC/J,KAAK,CAAC,MAAM,CAAC,CAAC;QADa,WAAM,GAAN,MAAM,CAAc;QAAmB,aAAQ,GAAR,QAAQ,CAAkB;QAAW,mBAAc,GAAd,cAAc,CAA0C;QAE/J,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAA;IACtD,CAAC;IAED,aAAa,CAAC,IAA0B;QACtC,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,CAAC,MAAW;QACjB,MAAM,MAAM,GAA2B,EAAE,CAAC;QAC1C,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YACxB,OAAO,IAAI,CAAC,yBAAyB,CAAC,iBAAiB,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;QACzG,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAGO,yBAAyB,CAAC,IAA0B,EAAE,MAA8B;QAC1F,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC1C,IAAI,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;YACrE,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;SACpF;IACH,CAAC;CAEF","sourcesContent":["import { ComputedListModel, ListModel } from '@coolon/pectin';\nimport { DecoratedTreeNode, treeNodeDecorator } from './decorated-tree-node';\nimport { TreeExpansionModel } from './tree-expansion-model';\n\nexport class FlattenedTreeListModel<T> extends ComputedListModel<DecoratedTreeNode<T>, T[]> {\n\n constructor(private readonly source: ListModel<T>, private readonly childRef: (node: T) => T[], readonly expansionModel: TreeExpansionModel<DecoratedTreeNode<T>>) {\n super(source);\n this.trackSource(expansionModel.isExpandedPredicate)\n }\n\n getIdentityOf(item: DecoratedTreeNode<T>): any {\n return this.source.identityOf(item);\n }\n\n compute(values: T[]): DecoratedTreeNode<T>[] {\n const result: DecoratedTreeNode<T>[] = [];\n values.forEach(rootNode => {\n return this.addNodeAndVisibleChildren(DecoratedTreeNode.decorateRoot(rootNode, this.childRef), result);\n });\n return result;\n }\n\n\n private addNodeAndVisibleChildren(node: DecoratedTreeNode<T>, result: DecoratedTreeNode<T>[]) {\n result.push(node);\n const decorator = node[treeNodeDecorator];\n if (decorator.hasChildren() && !this.expansionModel.isCollapsed(node)) {\n decorator.children.forEach(child => this.addNodeAndVisibleChildren(child, result));\n }\n }\n\n}\n"]}
@@ -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"}}]}]}]}],"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"}}]}]}]}],"getIdentityOf":[{"__symbolic":"method"}],"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}\n"]
32
+ styles: [":host{position:relative;color:inherit}svg{color:var(--line-color);display:block}"]
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}\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"}]}}}}]
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"}]}}}}]
@@ -3,6 +3,7 @@ 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';
6
7
  import { TreeInheritanceIconComponent } from '../tree-inheritance-icon/tree-inheritance-icon.component';
7
8
  import { TreeTableModel } from '../tree-table-model';
8
9
  export class TreeLabelCellRendererComponent extends DisposableComponent {
@@ -24,17 +25,17 @@ export class TreeLabelCellRendererComponent extends DisposableComponent {
24
25
  ngOnInit() {
25
26
  const { chain } = Dsl.disposeWith(this);
26
27
  this.canExpand = chain(this.nodeModel).map(node => {
27
- return DecoratedTreeNode.getDecorator(node).hasChildren() && this.treeTableModel.isCollapsed(node);
28
- }, { dependsOn: this.treeTableModel.treeExpansionModel.isExpandedPredicate });
28
+ return DecoratedTreeNode.getDecorator(node).hasChildren() && this.expansionModel.isCollapsed(node);
29
+ }, { dependsOn: this.expansionModel.isExpandedPredicate });
29
30
  this.canCollapse = chain(this.nodeModel).map(node => {
30
- return DecoratedTreeNode.getDecorator(node).hasChildren() && !this.treeTableModel.isCollapsed(node);
31
- }, { dependsOn: this.treeTableModel.treeExpansionModel.isExpandedPredicate });
31
+ return DecoratedTreeNode.getDecorator(node).hasChildren() && !this.expansionModel.isCollapsed(node);
32
+ }, { dependsOn: this.expansionModel.isExpandedPredicate });
32
33
  this.iconModel = chain(this.nodeModel).map(node => {
33
34
  var _a;
34
- const expanded = this.treeTableModel.treeExpansionModel.isExpanded(this.node);
35
+ const expanded = this.expansionModel.isExpanded(this.node);
35
36
  const iconFactory = (_a = this.iconFactory) !== null && _a !== void 0 ? _a : TreeLabelCellRendererComponent.DEFAULT_ICON_FACTORY;
36
37
  return iconFactory(node, expanded, TreeLabelCellRendererComponent.DEFAULT_ICON_FACTORY(node, expanded, undefined));
37
- }, { dependsOn: this.treeTableModel.treeExpansionModel.isExpandedPredicate });
38
+ }, { dependsOn: this.expansionModel.isExpandedPredicate });
38
39
  }
39
40
  get isRoot() {
40
41
  return DecoratedTreeNode.getDecorator(this.node).isRoot();
@@ -46,17 +47,15 @@ export class TreeLabelCellRendererComponent extends DisposableComponent {
46
47
  return this.nodeModel.value;
47
48
  }
48
49
  // @Trace()
49
- expandOrCollapse($event, node) {
50
- $event.preventDefault();
51
- $event.stopPropagation();
52
- this.treeTableModel.isCollapsed(node) ? this.treeTableModel.expand(node) : this.treeTableModel.collapse(node);
50
+ expandOrCollapse(node) {
51
+ this.expansionModel.isCollapsed(node) ? this.expansionModel.expand(node) : this.expansionModel.collapse(node);
53
52
  }
54
53
  }
55
54
  TreeLabelCellRendererComponent.decorators = [
56
55
  { type: Component, args: [{
57
56
  selector: 'aup-tree-label-cell-renderer',
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"]
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}"]
60
59
  },] }
61
60
  ];
62
61
  TreeLabelCellRendererComponent.ctorParameters = () => [];
@@ -64,7 +63,7 @@ TreeLabelCellRendererComponent.propDecorators = {
64
63
  value: [{ type: Input }],
65
64
  label: [{ type: Input }],
66
65
  iconFactory: [{ type: Input }],
67
- treeTableModel: [{ type: Input }],
66
+ expansionModel: [{ type: Input }],
68
67
  isRoot: [{ type: HostBinding, args: ['class.root',] }],
69
68
  isLeaf: [{ type: HostBinding, args: ['class.leaf',] }]
70
69
  };
@@ -73,13 +72,6 @@ __decorate([
73
72
  __metadata("design:type", Object)
74
73
  ], TreeLabelCellRendererComponent.prototype, "value", void 0);
75
74
  (function (TreeLabelCellRendererComponent) {
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
- };
75
+ TreeLabelCellRendererComponent.DEFAULT_ICON_FACTORY = (node, expanded, defaultIcon) => expanded ? 'mat:expand_more' : 'mat:chevron_right';
84
76
  })(TreeLabelCellRendererComponent || (TreeLabelCellRendererComponent = {}));
85
77
  //# 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":"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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
+ {"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 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 +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($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"}]}}}}]
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"}]}}}}]
@@ -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.treeTableModel = this.expansionModel;
27
+ component.expansionModel = 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;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
+ {"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 +1 @@
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"}]}}}}]
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"}]}}}}]
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=tree-node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree-node.js","sourceRoot":"","sources":["../../../../../../../../libs/angular-ui-powerups/src/lib/components/tables/tree-table/tree-node.ts"],"names":[],"mappings":"","sourcesContent":["export interface TreeNode<T extends TreeNode<T>> {\n children: T[];\n}\n"]}
@@ -0,0 +1 @@
1
+ [{"__symbolic":"module","version":4,"metadata":{"TreeNode":{"__symbolic":"interface"}}}]
@@ -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}\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"]
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}"]
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;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
+ {"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 +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}\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"}]}}}}]
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"}]}}}}]
@@ -22,11 +22,10 @@ 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));
26
25
  }
27
26
  treeControlColumn(builder) {
28
27
  const columnId = 'tree-label';
29
- const column = new TreeLabelColumnModel(columnId, () => this.getColumnTextProperties(columnId), this);
28
+ const column = new TreeLabelColumnModel(columnId, () => this.getColumnTextProperties(columnId), this.treeExpansionModel);
30
29
  builder(column);
31
30
  this.addColumn(column);
32
31
  }
@@ -34,7 +33,7 @@ export class TreeTableModel extends AbstractTableModel {
34
33
  this.treeExpansionModel.expand(node);
35
34
  }
36
35
  collapse(node) {
37
- this.treeExpansionModel.collapse(node);
36
+ this.treeExpansionModel.expand(node);
38
37
  }
39
38
  isCollapsed(node) {
40
39
  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":"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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
+ {"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 { 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 +1 @@
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
+ [{"__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"}]}}}}]
@@ -0,0 +1,26 @@
1
+ export class SelfAndDescendantsVisitor {
2
+ constructor() {
3
+ }
4
+ visit(it) {
5
+ this.onVisit(it);
6
+ if (this.shouldVisitChildrenOf(it)) {
7
+ it.visitChildren(this);
8
+ }
9
+ }
10
+ shouldVisitChildrenOf(it) {
11
+ return true;
12
+ }
13
+ }
14
+ (function (SelfAndDescendantsVisitor) {
15
+ class Each extends SelfAndDescendantsVisitor {
16
+ constructor(callback) {
17
+ super();
18
+ this.callback = callback;
19
+ }
20
+ onVisit(it) {
21
+ this.callback(it);
22
+ }
23
+ }
24
+ SelfAndDescendantsVisitor.Each = Each;
25
+ })(SelfAndDescendantsVisitor || (SelfAndDescendantsVisitor = {}));
26
+ //# sourceMappingURL=visitable.class.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"visitable.class.js","sourceRoot":"","sources":["../../../../../../../../libs/angular-ui-powerups/src/lib/components/tables/tree-table/visitable.class.ts"],"names":[],"mappings":"AAaA,MAAM,OAAgB,yBAAyB;IAE3C;IACA,CAAC;IAED,KAAK,CAAC,EAAK;QACP,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACjB,IAAI,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,EAAE;YAChC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;SAC1B;IACL,CAAC;IAIS,qBAAqB,CAAC,EAAK;QACjC,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAED,WAAiB,yBAAyB;IAEtC,MAAa,IAAmC,SAAQ,yBAA4B;QAChF,YAAoB,QAAyB;YACzC,KAAK,EAAE,CAAC;YADQ,aAAQ,GAAR,QAAQ,CAAiB;QAE7C,CAAC;QACS,OAAO,CAAC,EAAK;YACnB,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACtB,CAAC;KACJ;IAPY,8BAAI,OAOhB,CAAA;AACL,CAAC,EAVgB,yBAAyB,KAAzB,yBAAyB,QAUzC","sourcesContent":["export interface Visitor<T> {\n visit(it: T);\n}\n\nexport interface Visitable<T> {\n visit<V extends Visitor<T>>(it: V):V;\n}\n\nexport interface VisitableTree<T> extends Visitable<T> {\n visitChildren<V extends Visitor<T>>(it: V):V;\n}\n\n\nexport abstract class SelfAndDescendantsVisitor<T extends VisitableTree<T>> implements Visitor<T> {\n\n constructor() {\n }\n\n visit(it: T) {\n this.onVisit(it);\n if (this.shouldVisitChildrenOf(it)) {\n it.visitChildren(this);\n }\n }\n\n protected abstract onVisit(it: T);\n\n protected shouldVisitChildrenOf(it: T): boolean {\n return true;\n }\n}\n\nexport namespace SelfAndDescendantsVisitor {\n\n export class Each<T extends VisitableTree<any>> extends SelfAndDescendantsVisitor<T> {\n constructor(private callback: (it: T) => void) {\n super();\n }\n protected onVisit(it: T) {\n this.callback(it);\n }\n }\n}"]}
@@ -0,0 +1 @@
1
+ [{"__symbolic":"module","version":4,"metadata":{"Visitor":{"__symbolic":"interface"},"Visitable":{"__symbolic":"interface"},"VisitableTree":{"__symbolic":"interface"},"SelfAndDescendantsVisitor":{"__symbolic":"class","arity":1,"members":{"__ctor__":[{"__symbolic":"constructor"}],"visit":[{"__symbolic":"method"}],"onVisit":[{"__symbolic":"method"}],"shouldVisitChildrenOf":[{"__symbolic":"method"}]}}}}]
@@ -1,21 +1,9 @@
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
- */
8
4
  function trackByProperty(property) {
9
5
  return (index, item) => item[property];
10
6
  }
11
7
  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;
20
8
  })(TrackBy || (TrackBy = {}));
21
9
  //# 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":"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"]}
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"]}
@@ -41,7 +41,7 @@ VerticalFocusContainerComponent.decorators = [
41
41
  providers: [
42
42
  { provide: FocusManager }
43
43
  ],
44
- styles: [":host{display:block}\n"]
44
+ styles: [":host{display:block}"]
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}\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"}]}}}}]
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"}]}}}}]
@@ -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 = this.registerDisposable(new DelegatingValueModel().withDefault(false));
9
+ this._commandEnabled = 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 = 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
+ {"version":3,"file":"command.directive.js","sourceRoot":"","sources":["../../../../../../libs/angular-ui-powerups/src/lib/directives/command.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EACT,UAAU,EACV,IAAI,EACJ,YAAY,EACZ,MAAM,EACN,KAAK,EAGL,QAAQ,EACT,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAW,oBAAoB,EAAE,GAAG,EAAE,gBAAgB,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAMlH,MAAM,OAAO,gBAA0B,SAAQ,gBAAgB;IA6B7D,YAC8B,UAAsB,EAC7B,SAAoB,EACpB,WAAwB;QAE7C,KAAK,EAAE,CAAC;QAJoB,eAAU,GAAV,UAAU,CAAY;QA3B5C,oBAAe,GAAG,IAAI,oBAAoB,EAAW,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAczE,8BAAyB,GAAG,KAAK,CAAC;QAkBxC,8EAA8E;QAC9E,sEAAsE;QACtE,IAAI,CAAC,UAAU,GAAG,SAAS,IAAI,WAAW,CAAC;IAC7C,CAAC;IAhCD,IACI,aAAa,CAAC,OAAuC;QACvD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACrE,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAKD,IACI,gBAAgB,CAAC,KAAQ;QAC3B,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;QACtC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;IACjC,CAAC;IAED,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAaD,QAAQ;QACN,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAClC,IAAI,IAAI,CAAC,aAAa,YAAY,YAAY,EAAE;YAC9C,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE;gBACnC,IAAI,CAAC,YAAY,CAAC,8DAA8D,CAAC,CAAC;aACnF;SACF;aAAM;YACL,IAAI,IAAI,CAAC,yBAAyB,EAAE;gBAClC,IAAI,CAAC,YAAY,CAAC,wDAAwD,CAAC,CAAC;aAC7E;SACF;IACH,CAAC;IAED,eAAe;QACb,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE;YAC9E,YAAY,EAAE,eAAe;SAC9B,CAAC,CAAC;IACL,CAAC;IAED,kBAAkB,CAAC,OAAgB;QACjC,yGAAyG;QACzG,qGAAqG;QACrG,qBAAqB;QACrB,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,CAAC,OAAO,CAAC;YACtC,CAAC,EAAE,CAAC,CAAC,CAAC;SACP;QACD,IAAI,CAAC,OAAO,EAAE;YACZ,QAAQ;YACR,0FAA0F;YAC1F,gFAAgF;YAChF,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,YAAY,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YACnE,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,KAAK,GAAG,EAAE;gBACjD,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;aACvD;SACF;aAAM;YACL,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;YAC1D,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,KAAK,GAAG,EAAE;gBACjD,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;aACvE;SACF;IACH,CAAC;IAED,WAAW;QACT,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAID,WAAW,CAAC,MAAa;QACvB,MAAM,CAAC,cAAc,EAAE,CAAC;QACxB,MAAM,CAAC,eAAe,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE;YACpC,IAAI,IAAI,CAAC,aAAa,YAAY,YAAY,EAAE;gBAC9C,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;aAClF;iBAAM;gBACL,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;aAC7D;SACF;aAAM;YACL,OAAO,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;SACrD;IACH,CAAC;;;YA3GF,SAAS,SAAC;gBACT,8CAA8C;gBAC9C,QAAQ,EAAE,iBAAiB;aAC5B;;;YAhBC,UAAU,uBA+CP,MAAM,SAAC,UAAU;YAtCb,SAAS,uBAuCb,IAAI,YAAI,QAAQ;YAtCZ,WAAW,uBAuCf,IAAI,YAAI,QAAQ;;;4BA1BlB,KAAK;+BAaL,KAAK;0BAuEL,YAAY,SAAC,OAAO,EAAE,CAAC,QAAQ,CAAC","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"]}