@coolon/angular-ui-powerups 12.0.0-alpha.3 → 12.0.1

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 (300) hide show
  1. package/assets/table.scss +1 -1
  2. package/bundles/coolon-angular-ui-powerups.umd.js +674 -410
  3. package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
  4. package/coolon-angular-ui-powerups.metadata.json +1 -1
  5. package/esm2015/lib/angular-ui-powerups.module.ngfactory.js.map +1 -1
  6. package/esm2015/lib/components/alignment.js +7 -0
  7. package/esm2015/lib/components/alignment.js.map +1 -0
  8. package/esm2015/lib/components/alignment.metadata.json +1 -0
  9. package/esm2015/lib/components/commands/command/command.component.js +7 -4
  10. package/esm2015/lib/components/commands/command/command.component.js.map +1 -1
  11. package/esm2015/lib/components/commands/command/command.component.metadata.json +1 -1
  12. package/esm2015/lib/components/commands/command-face/command-face.component.js +1 -1
  13. package/esm2015/lib/components/commands/command-face/command-face.component.metadata.json +1 -1
  14. package/esm2015/lib/components/commands/group/popup-menu/abstract-popup-menu.component.js.map +1 -1
  15. package/esm2015/lib/components/commands/group/popup-menu/abstract-popup-menu.component.metadata.json +1 -1
  16. package/esm2015/lib/components/commands/group/popup-menu/more-menu.component.js +1 -1
  17. package/esm2015/lib/components/commands/group/popup-menu/more-menu.component.js.map +1 -1
  18. package/esm2015/lib/components/commands/group/popup-menu/more-menu.component.metadata.json +1 -1
  19. package/esm2015/lib/components/commands/group/popup-menu/popup-menu.component.js +1 -1
  20. package/esm2015/lib/components/commands/group/popup-menu/popup-menu.component.js.map +1 -1
  21. package/esm2015/lib/components/commands/group/popup-menu/popup-menu.component.metadata.json +1 -1
  22. package/esm2015/lib/components/components.module.js +16 -14
  23. package/esm2015/lib/components/components.module.js.map +1 -1
  24. package/esm2015/lib/components/components.module.metadata.json +1 -1
  25. package/esm2015/lib/components/components.module.ngfactory.js.map +1 -1
  26. package/esm2015/lib/components/exports.js +33 -31
  27. package/esm2015/lib/components/exports.js.map +1 -1
  28. package/esm2015/lib/components/exports.metadata.json +1 -1
  29. package/esm2015/lib/components/{table → tables}/abstract-table-model.js +17 -12
  30. package/esm2015/lib/components/tables/abstract-table-model.js.map +1 -0
  31. package/esm2015/lib/components/{table → tables}/abstract-table-model.metadata.json +1 -1
  32. package/esm2015/lib/components/{table/table.component.js → tables/abstract-table.component.js} +22 -25
  33. package/esm2015/lib/components/tables/abstract-table.component.js.map +1 -0
  34. package/esm2015/lib/components/tables/abstract-table.component.metadata.json +1 -0
  35. package/esm2015/lib/components/tables/abstract-table.component.ngfactory.js.map +1 -0
  36. package/esm2015/lib/components/tables/table/cell-editors.js.map +1 -0
  37. package/esm2015/lib/components/tables/table/cell-portal-ref.js.map +1 -0
  38. package/esm2015/lib/components/tables/table/cell-renderer.js.map +1 -0
  39. package/esm2015/lib/components/{table → tables/table}/column-model.js +19 -31
  40. package/esm2015/lib/components/tables/table/column-model.js.map +1 -0
  41. package/esm2015/lib/components/tables/table/column-model.metadata.json +1 -0
  42. package/esm2015/lib/components/{table → tables/table}/column-template/column-template.directive.js +2 -2
  43. package/esm2015/lib/components/tables/table/column-template/column-template.directive.js.map +1 -0
  44. package/esm2015/lib/components/{table → tables/table}/column-template/column-template.directive.metadata.json +1 -1
  45. package/esm2015/lib/components/tables/table/column-template/column-template.directive.ngfactory.js.map +1 -0
  46. package/esm2015/lib/components/tables/table/column-text-properties.js.map +1 -0
  47. package/esm2015/lib/components/tables/table/default-cell-renderer/default-cell-renderer.component.js.map +1 -0
  48. package/esm2015/lib/components/tables/table/default-cell-renderer/default-cell-renderer.component.ngfactory.js.map +1 -0
  49. package/esm2015/lib/components/tables/table/default-cell-renderer/default-cell-renderer.component.scss.shim.ngstyle.js.map +1 -0
  50. package/esm2015/lib/components/tables/table/default-header-cell-renderer/default-header-cell-renderer.component.js.map +1 -0
  51. package/esm2015/lib/components/tables/table/default-header-cell-renderer/default-header-cell-renderer.component.ngfactory.js.map +1 -0
  52. package/esm2015/lib/components/tables/table/default-header-cell-renderer/default-header-cell-renderer.component.scss.shim.ngstyle.js.map +1 -0
  53. package/esm2015/lib/components/{table → tables/table}/edit-row-controls/edit-row-controls.component.js +1 -1
  54. package/esm2015/lib/components/tables/table/edit-row-controls/edit-row-controls.component.js.map +1 -0
  55. package/esm2015/lib/components/tables/table/edit-row-controls/edit-row-controls.component.metadata.json +1 -0
  56. package/esm2015/lib/components/tables/table/edit-row-controls/edit-row-controls.component.ngfactory.js.map +1 -0
  57. package/esm2015/lib/components/tables/table/edit-row-controls/edit-row-controls.component.scss.shim.ngstyle.js.map +1 -0
  58. package/esm2015/lib/components/tables/table/edit-session.js.map +1 -0
  59. package/esm2015/lib/components/tables/table/mutable-cell-renderer.js.map +1 -0
  60. package/esm2015/lib/components/{table → tables/table}/paginator/paginator.component.js +1 -1
  61. package/esm2015/lib/components/tables/table/paginator/paginator.component.js.map +1 -0
  62. package/esm2015/lib/components/tables/table/paginator/paginator.component.metadata.json +1 -0
  63. package/esm2015/lib/components/tables/table/paginator/paginator.component.ngfactory.js.map +1 -0
  64. package/esm2015/lib/components/tables/table/paginator/paginator.component.scss.shim.ngstyle.js.map +1 -0
  65. package/esm2015/lib/components/{table → tables/table}/select-cell-renderer/select-cell-renderer.component.js +1 -1
  66. package/esm2015/lib/components/tables/table/select-cell-renderer/select-cell-renderer.component.js.map +1 -0
  67. package/esm2015/lib/components/tables/table/select-cell-renderer/select-cell-renderer.component.metadata.json +1 -0
  68. package/esm2015/lib/components/tables/table/select-cell-renderer/select-cell-renderer.component.ngfactory.js.map +1 -0
  69. package/esm2015/lib/components/tables/table/select-cell-renderer/select-cell-renderer.component.scss.shim.ngstyle.js.map +1 -0
  70. package/esm2015/lib/components/{table → tables/table}/select-header-cell-renderer/select-header-cell-renderer.component.js +1 -1
  71. package/esm2015/lib/components/tables/table/select-header-cell-renderer/select-header-cell-renderer.component.js.map +1 -0
  72. package/esm2015/lib/components/tables/table/select-header-cell-renderer/select-header-cell-renderer.component.metadata.json +1 -0
  73. package/esm2015/lib/components/tables/table/select-header-cell-renderer/select-header-cell-renderer.component.ngfactory.js.map +1 -0
  74. package/esm2015/lib/components/tables/table/select-header-cell-renderer/select-header-cell-renderer.component.scss.shim.ngstyle.js.map +1 -0
  75. package/esm2015/lib/components/{table → tables/table}/table-cell-renderer/table-cell-renderer.component.js +2 -2
  76. package/esm2015/lib/components/tables/table/table-cell-renderer/table-cell-renderer.component.js.map +1 -0
  77. package/esm2015/lib/components/tables/table/table-cell-renderer/table-cell-renderer.component.metadata.json +1 -0
  78. package/esm2015/lib/components/tables/table/table-cell-renderer/table-cell-renderer.component.ngfactory.js.map +1 -0
  79. package/esm2015/lib/components/tables/table/table-cell-renderer/table-cell-renderer.component.scss.shim.ngstyle.js.map +1 -0
  80. package/esm2015/lib/components/tables/table/table-def.js.map +1 -0
  81. package/esm2015/lib/components/tables/table/table-header-cell-renderer/table-header-cell-renderer.component.js.map +1 -0
  82. package/esm2015/lib/components/tables/table/table-header-cell-renderer/table-header-cell-renderer.component.ngfactory.js.map +1 -0
  83. package/esm2015/lib/components/tables/table/table-header-cell-renderer/table-header-cell-renderer.component.scss.shim.ngstyle.js.map +1 -0
  84. package/esm2015/lib/components/{table → tables/table}/table-model.js +3 -3
  85. package/esm2015/lib/components/tables/table/table-model.js.map +1 -0
  86. package/esm2015/lib/components/tables/table/table-model.metadata.json +1 -0
  87. package/esm2015/lib/components/{table → tables/table}/table-row-menu/table-row-menu.component.js +1 -1
  88. package/esm2015/lib/components/tables/table/table-row-menu/table-row-menu.component.js.map +1 -0
  89. package/esm2015/lib/components/tables/table/table-row-menu/table-row-menu.component.metadata.json +1 -0
  90. package/esm2015/lib/components/tables/table/table-row-menu/table-row-menu.component.ngfactory.js.map +1 -0
  91. package/esm2015/lib/components/tables/table/table.component.js +94 -0
  92. package/esm2015/lib/components/tables/table/table.component.js.map +1 -0
  93. package/esm2015/lib/components/tables/table/table.component.metadata.json +1 -0
  94. package/esm2015/lib/components/tables/table/table.component.ngfactory.js.map +1 -0
  95. package/esm2015/lib/components/tables/table.component.scss.shim.ngstyle.js.map +1 -0
  96. package/esm2015/lib/components/tables/tree-table/decorated-tree-node.js.map +1 -0
  97. package/esm2015/lib/components/tables/tree-table/tree-expansion-model.js.map +1 -0
  98. package/esm2015/lib/components/tables/tree-table/tree-inheritance-icon/tree-inheritance-icon.component.js.map +1 -0
  99. package/esm2015/lib/components/tables/tree-table/tree-inheritance-icon/tree-inheritance-icon.component.ngfactory.js.map +1 -0
  100. package/esm2015/lib/components/tables/tree-table/tree-inheritance-icon/tree-inheritance-icon.component.scss.shim.ngstyle.js.map +1 -0
  101. package/esm2015/lib/components/{tree-table → tables/tree-table}/tree-label-cell-renderer/tree-label-cell-renderer.component.js +1 -1
  102. package/esm2015/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.js.map +1 -0
  103. package/esm2015/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.metadata.json +1 -0
  104. package/esm2015/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.ngfactory.js.map +1 -0
  105. package/esm2015/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.scss.shim.ngstyle.js.map +1 -0
  106. package/esm2015/lib/components/{tree-table → tables/tree-table}/tree-label-column-model.js +3 -3
  107. package/esm2015/lib/components/tables/tree-table/tree-label-column-model.js.map +1 -0
  108. package/esm2015/lib/components/{tree-table → tables/tree-table}/tree-label-column-model.metadata.json +1 -1
  109. package/esm2015/lib/components/tables/tree-table/tree-node.js.map +1 -0
  110. package/esm2015/lib/components/tables/tree-table/tree-table-component.js +95 -0
  111. package/esm2015/lib/components/tables/tree-table/tree-table-component.js.map +1 -0
  112. package/esm2015/lib/components/tables/tree-table/tree-table-component.metadata.json +1 -0
  113. package/esm2015/lib/components/tables/tree-table/tree-table-component.ngfactory.js.map +1 -0
  114. package/esm2015/lib/components/{tree-table → tables/tree-table}/tree-table-model.js +26 -19
  115. package/esm2015/lib/components/tables/tree-table/tree-table-model.js.map +1 -0
  116. package/esm2015/lib/components/tables/tree-table/tree-table-model.metadata.json +1 -0
  117. package/esm2015/lib/components/tables/tree-table/tree-table.component.scss.shim.ngstyle.js.map +1 -0
  118. package/esm2015/lib/components/tables/tree-table/tree-to-list-model.js.map +1 -0
  119. package/esm2015/lib/components/tables/tree-table/visitable.class.js.map +1 -0
  120. package/esm2015/lib/interaction/components/activity-triggers/abstract-activity-trigger.component.js +74 -0
  121. package/esm2015/lib/interaction/components/activity-triggers/abstract-activity-trigger.component.js.map +1 -0
  122. package/esm2015/lib/interaction/components/activity-triggers/abstract-activity-trigger.component.metadata.json +1 -0
  123. package/esm2015/lib/interaction/components/activity-triggers/abstract-activity-trigger.component.ngfactory.js.map +1 -0
  124. package/esm2015/lib/interaction/components/activity-triggers/inline-activity-trigger/inline-activity-trigger.component.js +20 -0
  125. package/esm2015/lib/interaction/components/activity-triggers/inline-activity-trigger/inline-activity-trigger.component.js.map +1 -0
  126. package/esm2015/lib/interaction/components/activity-triggers/inline-activity-trigger/inline-activity-trigger.component.metadata.json +1 -0
  127. package/esm2015/lib/interaction/components/activity-triggers/inline-activity-trigger/inline-activity-trigger.component.ngfactory.js.map +1 -0
  128. package/esm2015/lib/interaction/components/activity-triggers/inline-activity-trigger/inline-activity-trigger.component.scss.shim.ngstyle.js.map +1 -0
  129. package/esm2015/lib/interaction/components/activity-triggers/modal-activity-trigger/modal-activity-trigger.component.js +20 -0
  130. package/esm2015/lib/interaction/components/activity-triggers/modal-activity-trigger/modal-activity-trigger.component.js.map +1 -0
  131. package/esm2015/lib/interaction/components/activity-triggers/modal-activity-trigger/modal-activity-trigger.component.metadata.json +1 -0
  132. package/esm2015/lib/interaction/components/activity-triggers/modal-activity-trigger/modal-activity-trigger.component.ngfactory.js.map +1 -0
  133. package/esm2015/lib/interaction/components/activity-triggers/modal-activity-trigger/modal-activity-trigger.component.scss.shim.ngstyle.js.map +1 -0
  134. package/esm2015/lib/interaction/components/activity-triggers/popup-activity-trigger/popup-activity-trigger.component.js +24 -0
  135. package/esm2015/lib/interaction/components/activity-triggers/popup-activity-trigger/popup-activity-trigger.component.js.map +1 -0
  136. package/esm2015/lib/interaction/components/activity-triggers/popup-activity-trigger/popup-activity-trigger.component.metadata.json +1 -0
  137. package/esm2015/lib/interaction/components/activity-triggers/popup-activity-trigger/popup-activity-trigger.component.ngfactory.js.map +1 -0
  138. package/esm2015/lib/interaction/components/activity-triggers/popup-activity-trigger/popup-activity-trigger.component.scss.shim.ngstyle.js.map +1 -0
  139. package/esm2015/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.js +0 -1
  140. package/esm2015/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.js.map +1 -1
  141. package/esm2015/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.metadata.json +1 -1
  142. package/esm2015/lib/interaction/components/popup-interaction-context/popup-interaction-context.component.js +11 -1
  143. package/esm2015/lib/interaction/components/popup-interaction-context/popup-interaction-context.component.js.map +1 -1
  144. package/esm2015/lib/interaction/components/popup-interaction-context/popup-interaction-context.component.metadata.json +1 -1
  145. package/esm2015/lib/interaction/exports.js +4 -0
  146. package/esm2015/lib/interaction/exports.js.map +1 -1
  147. package/esm2015/lib/interaction/exports.metadata.json +1 -1
  148. package/esm2015/lib/interaction/interaction.module.js +13 -2
  149. package/esm2015/lib/interaction/interaction.module.js.map +1 -1
  150. package/esm2015/lib/interaction/interaction.module.metadata.json +1 -1
  151. package/esm2015/lib/interaction/interaction.module.ngfactory.js.map +1 -1
  152. package/esm2015/lib/place/place.module.ngfactory.js.map +1 -1
  153. package/fesm2015/coolon-angular-ui-powerups.js +576 -326
  154. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  155. package/lib/components/alignment.d.ts +7 -0
  156. package/lib/components/commands/command/command.component.d.ts +2 -0
  157. package/lib/components/exports.d.ts +33 -31
  158. package/lib/components/{table → tables}/abstract-table-model.d.ts +8 -8
  159. package/lib/components/{table/table.component.d.ts → tables/abstract-table.component.d.ts} +4 -3
  160. package/lib/components/{table → tables/table}/column-model.d.ts +7 -10
  161. package/lib/components/{table → tables/table}/column-template/column-template.directive.d.ts +3 -3
  162. package/lib/components/{table → tables/table}/edit-row-controls/edit-row-controls.component.d.ts +1 -1
  163. package/lib/components/{table → tables/table}/paginator/paginator.component.d.ts +1 -1
  164. package/lib/components/{table → tables/table}/select-cell-renderer/select-cell-renderer.component.d.ts +1 -1
  165. package/lib/components/{table → tables/table}/select-header-cell-renderer/select-header-cell-renderer.component.d.ts +1 -1
  166. package/lib/components/{table → tables/table}/table-cell-renderer/table-cell-renderer.component.d.ts +2 -2
  167. package/lib/components/{table → tables/table}/table-model.d.ts +3 -3
  168. package/lib/components/{table → tables/table}/table-row-menu/table-row-menu.component.d.ts +2 -2
  169. package/lib/components/tables/table/table.component.d.ts +67 -0
  170. package/lib/components/{tree-table → tables/tree-table}/tree-label-cell-renderer/tree-label-cell-renderer.component.d.ts +1 -1
  171. package/lib/components/{tree-table → tables/tree-table}/tree-label-column-model.d.ts +1 -1
  172. package/lib/components/tables/tree-table/tree-table-component.d.ts +71 -0
  173. package/lib/components/{tree-table → tables/tree-table}/tree-table-model.d.ts +4 -12
  174. package/lib/interaction/components/activity-triggers/abstract-activity-trigger.component.d.ts +23 -0
  175. package/lib/interaction/components/activity-triggers/inline-activity-trigger/inline-activity-trigger.component.d.ts +6 -0
  176. package/lib/interaction/components/activity-triggers/modal-activity-trigger/modal-activity-trigger.component.d.ts +7 -0
  177. package/lib/interaction/components/activity-triggers/popup-activity-trigger/popup-activity-trigger.component.d.ts +8 -0
  178. package/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.d.ts +0 -1
  179. package/lib/interaction/components/popup-interaction-context/popup-interaction-context.component.d.ts +10 -0
  180. package/lib/interaction/exports.d.ts +4 -0
  181. package/package.json +1 -1
  182. package/esm2015/lib/components/table/abstract-table-model.js.map +0 -1
  183. package/esm2015/lib/components/table/cell-editors.js.map +0 -1
  184. package/esm2015/lib/components/table/cell-portal-ref.js.map +0 -1
  185. package/esm2015/lib/components/table/cell-renderer.js.map +0 -1
  186. package/esm2015/lib/components/table/column-model.js.map +0 -1
  187. package/esm2015/lib/components/table/column-model.metadata.json +0 -1
  188. package/esm2015/lib/components/table/column-template/column-template.directive.js.map +0 -1
  189. package/esm2015/lib/components/table/column-template/column-template.directive.ngfactory.js.map +0 -1
  190. package/esm2015/lib/components/table/column-text-properties.js.map +0 -1
  191. package/esm2015/lib/components/table/default-cell-renderer/default-cell-renderer.component.js.map +0 -1
  192. package/esm2015/lib/components/table/default-cell-renderer/default-cell-renderer.component.ngfactory.js.map +0 -1
  193. package/esm2015/lib/components/table/default-cell-renderer/default-cell-renderer.component.scss.shim.ngstyle.js.map +0 -1
  194. package/esm2015/lib/components/table/default-header-cell-renderer/default-header-cell-renderer.component.js.map +0 -1
  195. package/esm2015/lib/components/table/default-header-cell-renderer/default-header-cell-renderer.component.ngfactory.js.map +0 -1
  196. package/esm2015/lib/components/table/default-header-cell-renderer/default-header-cell-renderer.component.scss.shim.ngstyle.js.map +0 -1
  197. package/esm2015/lib/components/table/edit-row-controls/edit-row-controls.component.js.map +0 -1
  198. package/esm2015/lib/components/table/edit-row-controls/edit-row-controls.component.metadata.json +0 -1
  199. package/esm2015/lib/components/table/edit-row-controls/edit-row-controls.component.ngfactory.js.map +0 -1
  200. package/esm2015/lib/components/table/edit-row-controls/edit-row-controls.component.scss.shim.ngstyle.js.map +0 -1
  201. package/esm2015/lib/components/table/edit-session.js.map +0 -1
  202. package/esm2015/lib/components/table/mutable-cell-renderer.js.map +0 -1
  203. package/esm2015/lib/components/table/paginator/paginator.component.js.map +0 -1
  204. package/esm2015/lib/components/table/paginator/paginator.component.metadata.json +0 -1
  205. package/esm2015/lib/components/table/paginator/paginator.component.ngfactory.js.map +0 -1
  206. package/esm2015/lib/components/table/paginator/paginator.component.scss.shim.ngstyle.js.map +0 -1
  207. package/esm2015/lib/components/table/select-cell-renderer/select-cell-renderer.component.js.map +0 -1
  208. package/esm2015/lib/components/table/select-cell-renderer/select-cell-renderer.component.metadata.json +0 -1
  209. package/esm2015/lib/components/table/select-cell-renderer/select-cell-renderer.component.ngfactory.js.map +0 -1
  210. package/esm2015/lib/components/table/select-cell-renderer/select-cell-renderer.component.scss.shim.ngstyle.js.map +0 -1
  211. package/esm2015/lib/components/table/select-header-cell-renderer/select-header-cell-renderer.component.js.map +0 -1
  212. package/esm2015/lib/components/table/select-header-cell-renderer/select-header-cell-renderer.component.metadata.json +0 -1
  213. package/esm2015/lib/components/table/select-header-cell-renderer/select-header-cell-renderer.component.ngfactory.js.map +0 -1
  214. package/esm2015/lib/components/table/select-header-cell-renderer/select-header-cell-renderer.component.scss.shim.ngstyle.js.map +0 -1
  215. package/esm2015/lib/components/table/table-cell-renderer/table-cell-renderer.component.js.map +0 -1
  216. package/esm2015/lib/components/table/table-cell-renderer/table-cell-renderer.component.metadata.json +0 -1
  217. package/esm2015/lib/components/table/table-cell-renderer/table-cell-renderer.component.ngfactory.js.map +0 -1
  218. package/esm2015/lib/components/table/table-cell-renderer/table-cell-renderer.component.scss.shim.ngstyle.js.map +0 -1
  219. package/esm2015/lib/components/table/table-def.js.map +0 -1
  220. package/esm2015/lib/components/table/table-header-cell-renderer/table-header-cell-renderer.component.js.map +0 -1
  221. package/esm2015/lib/components/table/table-header-cell-renderer/table-header-cell-renderer.component.ngfactory.js.map +0 -1
  222. package/esm2015/lib/components/table/table-header-cell-renderer/table-header-cell-renderer.component.scss.shim.ngstyle.js.map +0 -1
  223. package/esm2015/lib/components/table/table-model.js.map +0 -1
  224. package/esm2015/lib/components/table/table-model.metadata.json +0 -1
  225. package/esm2015/lib/components/table/table-row-menu/table-row-menu.component.js.map +0 -1
  226. package/esm2015/lib/components/table/table-row-menu/table-row-menu.component.metadata.json +0 -1
  227. package/esm2015/lib/components/table/table-row-menu/table-row-menu.component.ngfactory.js.map +0 -1
  228. package/esm2015/lib/components/table/table.component.js.map +0 -1
  229. package/esm2015/lib/components/table/table.component.metadata.json +0 -1
  230. package/esm2015/lib/components/table/table.component.ngfactory.js.map +0 -1
  231. package/esm2015/lib/components/table/table.component.scss.shim.ngstyle.js.map +0 -1
  232. package/esm2015/lib/components/tree-table/decorated-tree-node.js.map +0 -1
  233. package/esm2015/lib/components/tree-table/tree-expansion-model.js.map +0 -1
  234. package/esm2015/lib/components/tree-table/tree-inheritance-icon/tree-inheritance-icon.component.js.map +0 -1
  235. package/esm2015/lib/components/tree-table/tree-inheritance-icon/tree-inheritance-icon.component.ngfactory.js.map +0 -1
  236. package/esm2015/lib/components/tree-table/tree-inheritance-icon/tree-inheritance-icon.component.scss.shim.ngstyle.js.map +0 -1
  237. package/esm2015/lib/components/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.js.map +0 -1
  238. package/esm2015/lib/components/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.metadata.json +0 -1
  239. package/esm2015/lib/components/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.ngfactory.js.map +0 -1
  240. package/esm2015/lib/components/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.scss.shim.ngstyle.js.map +0 -1
  241. package/esm2015/lib/components/tree-table/tree-label-column-model.js.map +0 -1
  242. package/esm2015/lib/components/tree-table/tree-node.js.map +0 -1
  243. package/esm2015/lib/components/tree-table/tree-table-component.js +0 -80
  244. package/esm2015/lib/components/tree-table/tree-table-component.js.map +0 -1
  245. package/esm2015/lib/components/tree-table/tree-table-component.metadata.json +0 -1
  246. package/esm2015/lib/components/tree-table/tree-table-component.ngfactory.js.map +0 -1
  247. package/esm2015/lib/components/tree-table/tree-table-model.js.map +0 -1
  248. package/esm2015/lib/components/tree-table/tree-table-model.metadata.json +0 -1
  249. package/esm2015/lib/components/tree-table/tree-table.component.scss.ngstyle.js.map +0 -1
  250. package/esm2015/lib/components/tree-table/tree-to-list-model.js.map +0 -1
  251. package/esm2015/lib/components/tree-table/visitable.class.js.map +0 -1
  252. package/lib/components/tree-table/tree-table-component.d.ts +0 -16
  253. /package/esm2015/lib/components/{table → tables/table}/cell-editors.js +0 -0
  254. /package/esm2015/lib/components/{table → tables/table}/cell-editors.metadata.json +0 -0
  255. /package/esm2015/lib/components/{table → tables/table}/cell-portal-ref.js +0 -0
  256. /package/esm2015/lib/components/{table → tables/table}/cell-portal-ref.metadata.json +0 -0
  257. /package/esm2015/lib/components/{table → tables/table}/cell-renderer.js +0 -0
  258. /package/esm2015/lib/components/{table → tables/table}/cell-renderer.metadata.json +0 -0
  259. /package/esm2015/lib/components/{table → tables/table}/column-text-properties.js +0 -0
  260. /package/esm2015/lib/components/{table → tables/table}/column-text-properties.metadata.json +0 -0
  261. /package/esm2015/lib/components/{table → tables/table}/default-cell-renderer/default-cell-renderer.component.js +0 -0
  262. /package/esm2015/lib/components/{table → tables/table}/default-cell-renderer/default-cell-renderer.component.metadata.json +0 -0
  263. /package/esm2015/lib/components/{table → tables/table}/default-header-cell-renderer/default-header-cell-renderer.component.js +0 -0
  264. /package/esm2015/lib/components/{table → tables/table}/default-header-cell-renderer/default-header-cell-renderer.component.metadata.json +0 -0
  265. /package/esm2015/lib/components/{table → tables/table}/edit-session.js +0 -0
  266. /package/esm2015/lib/components/{table → tables/table}/edit-session.metadata.json +0 -0
  267. /package/esm2015/lib/components/{table → tables/table}/mutable-cell-renderer.js +0 -0
  268. /package/esm2015/lib/components/{table → tables/table}/mutable-cell-renderer.metadata.json +0 -0
  269. /package/esm2015/lib/components/{table → tables/table}/table-def.js +0 -0
  270. /package/esm2015/lib/components/{table → tables/table}/table-def.metadata.json +0 -0
  271. /package/esm2015/lib/components/{table → tables/table}/table-header-cell-renderer/table-header-cell-renderer.component.js +0 -0
  272. /package/esm2015/lib/components/{table → tables/table}/table-header-cell-renderer/table-header-cell-renderer.component.metadata.json +0 -0
  273. /package/esm2015/lib/components/{tree-table → tables/tree-table}/decorated-tree-node.js +0 -0
  274. /package/esm2015/lib/components/{tree-table → tables/tree-table}/decorated-tree-node.metadata.json +0 -0
  275. /package/esm2015/lib/components/{tree-table → tables/tree-table}/tree-expansion-model.js +0 -0
  276. /package/esm2015/lib/components/{tree-table → tables/tree-table}/tree-expansion-model.metadata.json +0 -0
  277. /package/esm2015/lib/components/{tree-table → tables/tree-table}/tree-inheritance-icon/tree-inheritance-icon.component.js +0 -0
  278. /package/esm2015/lib/components/{tree-table → tables/tree-table}/tree-inheritance-icon/tree-inheritance-icon.component.metadata.json +0 -0
  279. /package/esm2015/lib/components/{tree-table → tables/tree-table}/tree-node.js +0 -0
  280. /package/esm2015/lib/components/{tree-table → tables/tree-table}/tree-node.metadata.json +0 -0
  281. /package/esm2015/lib/components/{tree-table → tables/tree-table}/tree-to-list-model.js +0 -0
  282. /package/esm2015/lib/components/{tree-table → tables/tree-table}/tree-to-list-model.metadata.json +0 -0
  283. /package/esm2015/lib/components/{tree-table → tables/tree-table}/visitable.class.js +0 -0
  284. /package/esm2015/lib/components/{tree-table → tables/tree-table}/visitable.class.metadata.json +0 -0
  285. /package/lib/components/{table → tables/table}/cell-editors.d.ts +0 -0
  286. /package/lib/components/{table → tables/table}/cell-portal-ref.d.ts +0 -0
  287. /package/lib/components/{table → tables/table}/cell-renderer.d.ts +0 -0
  288. /package/lib/components/{table → tables/table}/column-text-properties.d.ts +0 -0
  289. /package/lib/components/{table → tables/table}/default-cell-renderer/default-cell-renderer.component.d.ts +0 -0
  290. /package/lib/components/{table → tables/table}/default-header-cell-renderer/default-header-cell-renderer.component.d.ts +0 -0
  291. /package/lib/components/{table → tables/table}/edit-session.d.ts +0 -0
  292. /package/lib/components/{table → tables/table}/mutable-cell-renderer.d.ts +0 -0
  293. /package/lib/components/{table → tables/table}/table-def.d.ts +0 -0
  294. /package/lib/components/{table → tables/table}/table-header-cell-renderer/table-header-cell-renderer.component.d.ts +0 -0
  295. /package/lib/components/{tree-table → tables/tree-table}/decorated-tree-node.d.ts +0 -0
  296. /package/lib/components/{tree-table → tables/tree-table}/tree-expansion-model.d.ts +0 -0
  297. /package/lib/components/{tree-table → tables/tree-table}/tree-inheritance-icon/tree-inheritance-icon.component.d.ts +0 -0
  298. /package/lib/components/{tree-table → tables/tree-table}/tree-node.d.ts +0 -0
  299. /package/lib/components/{tree-table → tables/tree-table}/tree-to-list-model.d.ts +0 -0
  300. /package/lib/components/{tree-table → tables/tree-table}/visitable.class.d.ts +0 -0
@@ -28,8 +28,8 @@ import * as _ from 'lodash';
28
28
  import ___default from 'lodash';
29
29
  import { Memoize } from '@typescript-plus/fast-memoize-decorator/dist/src';
30
30
  import { Enum } from 'typescript-string-enums';
31
+ import { assert as assert$1, Stringy, lang as lang$1, Mixin, Opts, Klass } from '@coolon/typescript-utilities';
31
32
  import ResizeObserver from 'resize-observer-polyfill';
32
- import { assert as assert$1, Stringy, Mixin, Opts, lang as lang$1, Klass } from '@coolon/typescript-utilities';
33
33
  import produce from 'immer';
34
34
  import { FlexModule, GridModule } from '@angular/flex-layout';
35
35
  import * as i1$1 from '@angular/material/dialog';
@@ -651,7 +651,7 @@ CommandFaceComponent.decorators = [
651
651
  selector: 'aup-command-face',
652
652
  template: "<div class=\"face-container\" *ngFor=\"let face of faceAdapters.value\">\n <aup-icon *ngIf=\"hasIconStart(face)\" [icon]=\"face.icon\"></aup-icon>\n <span *ngIf=\"face.text\">{{face.text}}</span>\n <aup-icon *ngIf=\"hasIconEnd(face)\" [icon]=\"face.icon\"></aup-icon>\n</div>\n",
653
653
  encapsulation: ViewEncapsulation.None,
654
- styles: ["aup-command-face{--icon-gap:var(--aup-command-face-icon-gap);display:inline-grid}aup-command-face>.face-container{grid-column:1;grid-row:1;display:inline-flex;flex-direction:row;align-items:center}aup-command-face>.face-container:not(:first-child){visibility:hidden}aup-command-face>.face-container *+*{margin-left:var(--icon-gap)}aup-command-face.hide-icon aup-icon{visibility:hidden}aup-command-face.centered{justify-items:center}"]
654
+ styles: ["aup-command-face{--icon-gap:var(--aup-command-face-icon-gap);display:inline-grid}aup-command-face>.face-container{grid-column:1;grid-row:1;display:inline-flex;flex-direction:row;align-items:center}aup-command-face>.face-container:not(:first-child){visibility:hidden}aup-command-face>.face-container *+*{margin-left:var(--icon-gap)}aup-command-face.hide-icon aup-icon{visibility:hidden}aup-command-face.centered{justify-items:center}aup-command-face.start{justify-items:self-start}aup-command-face.end{justify-items:self-end}"]
655
655
  },] }
656
656
  ];
657
657
  CommandFaceComponent.ctorParameters = () => [];
@@ -668,6 +668,12 @@ __decorate([
668
668
  __metadata("design:type", Array)
669
669
  ], CommandFaceComponent.prototype, "_rawFaces", void 0);
670
670
 
671
+ const HorizontalAlignment = Enum({
672
+ START: 'start',
673
+ CENTER: 'center',
674
+ END: 'end'
675
+ });
676
+
671
677
  class PopupAwareComponent extends DisposableComponent {
672
678
  constructor(element, parent) {
673
679
  super();
@@ -702,6 +708,7 @@ class CommandComponent extends PopupAwareComponent {
702
708
  constructor(element, parent) {
703
709
  super(element, parent);
704
710
  this.CommandFace = CommandFace;
711
+ this.alignFace = HorizontalAlignment.CENTER;
705
712
  const { chain, switchOn } = Dsl.disposeWith(this);
706
713
  this.faces = chain(this.command.busy).mapToList(busy => {
707
714
  return busy ?
@@ -732,8 +739,8 @@ class CommandComponent extends PopupAwareComponent {
732
739
  CommandComponent.decorators = [
733
740
  { type: Component, args: [{
734
741
  selector: 'aup-command',
735
- template: "<ng-container *ngIf=\"iconOnly.value\">\n <button mat-icon-button [pectinCommand]=\"command\" [color]=\"colorModel.value\" [class.busy]=\"command.busy.value\" [matTooltip]=\"tooltipModel.value\">\n <aup-command-face class=\"centered\" [faces]=\"faces.value\"></aup-command-face>\n </button>\n</ng-container>\n<ng-container *ngIf=\"!iconOnly.value\">\n <ng-container [ngSwitch]=\"buttonStyle.value\">\n <ng-container *ngSwitchCase=\"CommandFace.Style.STROKED\">\n <button mat-stroked-button [pectinCommand]=\"command\" [color]=\"colorModel.value\" [class.busy]=\"command.busy.value\" [matTooltip]=\"tooltipModel.value\">\n <aup-command-face class=\"centered\" [faces]=\"faces.value\"></aup-command-face>\n </button>\n </ng-container>\n <ng-container *ngSwitchCase=\"CommandFace.Style.RAISED\">\n <button mat-raised-button [pectinCommand]=\"command\" [color]=\"colorModel.value\" [class.busy]=\"command.busy.value\" [matTooltip]=\"tooltipModel.value\">\n <aup-command-face class=\"centered\" [faces]=\"faces.value\"></aup-command-face>\n </button>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <button mat-button [pectinCommand]=\"command\" [color]=\"colorModel.value\" [class.busy]=\"command.busy.value\" [matTooltip]=\"tooltipModel.value\">\n <aup-command-face class=\"centered\" [faces]=\"faces.value\"></aup-command-face>\n </button>\n </ng-container>\n </ng-container>\n</ng-container>\n",
736
- styles: [":host{display:inline-flex;flex-direction:row;justify-content:stretch}button{flex:1}"]
742
+ template: "<ng-container *ngIf=\"iconOnly.value\">\n <button mat-icon-button [pectinCommand]=\"command\" [color]=\"colorModel.value\" [class.busy]=\"command.busy.value\"\n [matTooltip]=\"tooltipModel.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces.value\"></aup-command-face>\n </button>\n</ng-container>\n<ng-container *ngIf=\"!iconOnly.value\">\n <ng-container [ngSwitch]=\"buttonStyle.value\">\n <ng-container *ngSwitchCase=\"CommandFace.Style.STROKED\">\n <button mat-stroked-button [pectinCommand]=\"command\" [color]=\"colorModel.value\" [class.busy]=\"command.busy.value\"\n [matTooltip]=\"tooltipModel.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces.value\"></aup-command-face>\n </button>\n </ng-container>\n <ng-container *ngSwitchCase=\"CommandFace.Style.RAISED\">\n <button mat-raised-button [pectinCommand]=\"command\" [color]=\"colorModel.value\" [class.busy]=\"command.busy.value\"\n [matTooltip]=\"tooltipModel.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces.value\"></aup-command-face>\n </button>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <button mat-button [pectinCommand]=\"command\" [color]=\"colorModel.value\" [class.busy]=\"command.busy.value\"\n [matTooltip]=\"tooltipModel.value\">\n <aup-command-face [class]=\"alignFace\" [faces]=\"faces.value\"></aup-command-face>\n </button>\n </ng-container>\n </ng-container>\n</ng-container>\n",
743
+ styles: [":host{display:inline-flex;flex-direction:row;justify-content:stretch}:host.centered button{text-align:center}:host.start button{text-align:start}:host.end button{text-align:end}button{flex:1}"]
737
744
  },] }
738
745
  ];
739
746
  CommandComponent.ctorParameters = () => [
@@ -745,7 +752,8 @@ CommandComponent.propDecorators = {
745
752
  faceModel: [{ type: Input }],
746
753
  face: [{ type: Input }],
747
754
  busyFaceModel: [{ type: Input }],
748
- busyFace: [{ type: Input }]
755
+ busyFace: [{ type: Input }],
756
+ alignFace: [{ type: Input }, { type: HostBinding, args: ["class",] }]
749
757
  };
750
758
  __decorate([
751
759
  TrackExternal(),
@@ -883,7 +891,7 @@ class MoreMenuComponent extends AbstractPopupMenuComponent {
883
891
  MoreMenuComponent.decorators = [
884
892
  { type: Component, args: [{
885
893
  selector: 'aup-more-menu',
886
- template: "<div class=\"content\" style=\"display: none\">\n <ng-content></ng-content>\n</div>\n<ng-container *ngIf=\"isRoot()\">\n <ng-container *ngIf=\"faceAdapter.text\" [ngSwitch]=\"faceAdapter.style\">\n <ng-container *ngSwitchCase=\"'stroked'\">\n <button matMenuTrigger\n [matMenuTriggerFor]=\"subMenu.menuComponent\"\n [matTooltip]=\"faceAdapter.tooltip\"\n [color]=\"faceAdapter.color\"\n [disabled]=\"!enabled\"\n mat-stroked-button>\n <aup-command-face [faces]=\"[face]\"></aup-command-face>\n </button>\n <aup-popup-menu-renderer #subMenu\n [parent]=\"this\"\n (commandFired)=\"onCommandFired()\"></aup-popup-menu-renderer>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'raised'\">\n <button matMenuTrigger\n [matMenuTriggerFor]=\"subMenu.menuComponent\"\n [matTooltip]=\"faceAdapter.tooltip\"\n [color]=\"faceAdapter.color\"\n [disabled]=\"!enabled\"\n mat-raised-button>\n <aup-command-face [faces]=\"[face]\"></aup-command-face>\n </button>\n <aup-popup-menu-renderer #subMenu\n [parent]=\"this\"\n (commandFired)=\"onCommandFired()\"></aup-popup-menu-renderer>\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n <button matMenuTrigger\n [matMenuTriggerFor]=\"subMenu.menuComponent\"\n [matTooltip]=\"faceAdapter.tooltip\"\n [color]=\"faceAdapter.color\"\n [disabled]=\"!enabled\"\n mat-button>\n <aup-command-face [faces]=\"[face]\"></aup-command-face>\n </button>\n <aup-popup-menu-renderer #subMenu [parent]=\"this\" (commandFired)=\"onCommandFired()\"></aup-popup-menu-renderer>\n </ng-container>\n\n </ng-container>\n\n <ng-container *ngIf=\"!faceAdapter.text\">\n <button matMenuTrigger\n mat-icon-button\n [matMenuTriggerFor]=\"subMenu.menuComponent\"\n [matTooltip]=\"faceAdapter.tooltip\"\n [color]=\"faceAdapter.color\"\n [disabled]=\"!enabled\"\n >\n <aup-command-face [faces]=\"[face]\"></aup-command-face>\n </button>\n <aup-popup-menu-renderer #subMenu\n [parent]=\"this\"\n (commandFired)=\"onCommandFired()\"></aup-popup-menu-renderer>\n </ng-container>\n</ng-container>\n",
894
+ template: "<div class=\"content\" style=\"display: none\">\n <ng-content></ng-content>\n</div>\n<ng-container *ngIf=\"isRoot()\">\n <ng-container *ngIf=\"faceAdapter.text\" [ngSwitch]=\"faceAdapter.style\">\n <ng-container *ngSwitchCase=\"'stroked'\">\n <button matMenuTrigger\n [matMenuTriggerFor]=\"subMenu.menuComponent\"\n (click) = \"$event.stopPropagation()\"\n [matTooltip]=\"faceAdapter.tooltip\"\n [color]=\"faceAdapter.color\"\n [disabled]=\"!enabled\"\n mat-stroked-button>\n <aup-command-face [faces]=\"[face]\"></aup-command-face>\n </button>\n <aup-popup-menu-renderer #subMenu\n [parent]=\"this\"\n (commandFired)=\"onCommandFired()\"></aup-popup-menu-renderer>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'raised'\">\n <button matMenuTrigger\n [matMenuTriggerFor]=\"subMenu.menuComponent\"\n (click) = \"$event.stopPropagation()\"\n [matTooltip]=\"faceAdapter.tooltip\"\n [color]=\"faceAdapter.color\"\n [disabled]=\"!enabled\"\n mat-raised-button>\n <aup-command-face [faces]=\"[face]\"></aup-command-face>\n </button>\n <aup-popup-menu-renderer #subMenu\n [parent]=\"this\"\n (commandFired)=\"onCommandFired()\"></aup-popup-menu-renderer>\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n <button matMenuTrigger\n [matMenuTriggerFor]=\"subMenu.menuComponent\"\n (click) = \"$event.stopPropagation()\"\n [matTooltip]=\"faceAdapter.tooltip\"\n [color]=\"faceAdapter.color\"\n [disabled]=\"!enabled\"\n mat-button>\n <aup-command-face [faces]=\"[face]\"></aup-command-face>\n </button>\n <aup-popup-menu-renderer #subMenu [parent]=\"this\" (commandFired)=\"onCommandFired()\"></aup-popup-menu-renderer>\n </ng-container>\n\n </ng-container>\n\n <ng-container *ngIf=\"!faceAdapter.text\">\n <button matMenuTrigger\n mat-icon-button\n [matMenuTriggerFor]=\"subMenu.menuComponent\"\n (click) = \"$event.stopPropagation()\"\n [matTooltip]=\"faceAdapter.tooltip\"\n [color]=\"faceAdapter.color\"\n [disabled]=\"!enabled\"\n >\n <aup-command-face [faces]=\"[face]\"></aup-command-face>\n </button>\n <aup-popup-menu-renderer #subMenu\n [parent]=\"this\"\n (commandFired)=\"onCommandFired()\"></aup-popup-menu-renderer>\n </ng-container>\n</ng-container>\n",
887
895
  providers: [
888
896
  { provide: POPUP_CONTAINER, useExisting: MoreMenuComponent }
889
897
  ]
@@ -1010,7 +1018,7 @@ class PopupMenuComponent extends AbstractPopupMenuComponent {
1010
1018
  PopupMenuComponent.decorators = [
1011
1019
  { type: Component, args: [{
1012
1020
  selector: 'aup-popup-menu',
1013
- template: "<div class=\"content\" style=\"display: none\">\n <ng-content></ng-content>\n</div>\n<ng-container *ngIf=\"isRoot()\">\n <ng-container *ngIf=\"faceAdapter.text\" [ngSwitch]=\"faceAdapter.style\">\n <ng-container *ngSwitchCase=\"'stroked'\">\n <button matMenuTrigger\n [matMenuTriggerFor]=\"subMenu.menuComponent\"\n [matTooltip]=\"faceAdapter.tooltip\"\n [color]=\"faceAdapter.color\"\n [disabled]=\"!enabled\"\n mat-stroked-button>\n <aup-command-face [faces]=\"[face]\"></aup-command-face>\n </button>\n <aup-popup-menu-renderer #subMenu\n [parent]=\"this\"\n (commandFired)=\"onCommandFired()\"></aup-popup-menu-renderer>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'raised'\">\n <button matMenuTrigger\n [matMenuTriggerFor]=\"subMenu.menuComponent\"\n [matTooltip]=\"faceAdapter.tooltip\"\n [color]=\"faceAdapter.color\"\n [disabled]=\"!enabled\"\n mat-raised-button>\n <aup-command-face [faces]=\"[face]\"></aup-command-face>\n </button>\n <aup-popup-menu-renderer #subMenu\n [parent]=\"this\"\n (commandFired)=\"onCommandFired()\"></aup-popup-menu-renderer>\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n <button matMenuTrigger\n [matMenuTriggerFor]=\"subMenu.menuComponent\"\n [matTooltip]=\"faceAdapter.tooltip\"\n [color]=\"faceAdapter.color\"\n [disabled]=\"!enabled\"\n mat-button>\n <aup-command-face [faces]=\"[face]\"></aup-command-face>\n </button>\n <aup-popup-menu-renderer #subMenu [parent]=\"this\" (commandFired)=\"onCommandFired()\"></aup-popup-menu-renderer>\n </ng-container>\n\n </ng-container>\n\n <ng-container *ngIf=\"!faceAdapter.text\">\n <button matMenuTrigger\n mat-icon-button\n [matMenuTriggerFor]=\"subMenu.menuComponent\"\n [matTooltip]=\"faceAdapter.tooltip\"\n [color]=\"faceAdapter.color\"\n [disabled]=\"!enabled\"\n >\n <aup-command-face [faces]=\"[face]\"></aup-command-face>\n </button>\n <aup-popup-menu-renderer #subMenu\n [parent]=\"this\"\n (commandFired)=\"onCommandFired()\"></aup-popup-menu-renderer>\n </ng-container>\n</ng-container>\n",
1021
+ template: "<div class=\"content\" style=\"display: none\">\n <ng-content></ng-content>\n</div>\n<ng-container *ngIf=\"isRoot()\">\n <ng-container *ngIf=\"faceAdapter.text\" [ngSwitch]=\"faceAdapter.style\">\n <ng-container *ngSwitchCase=\"'stroked'\">\n <button matMenuTrigger\n [matMenuTriggerFor]=\"subMenu.menuComponent\"\n (click) = \"$event.stopPropagation()\"\n [matTooltip]=\"faceAdapter.tooltip\"\n [color]=\"faceAdapter.color\"\n [disabled]=\"!enabled\"\n mat-stroked-button>\n <aup-command-face [faces]=\"[face]\"></aup-command-face>\n </button>\n <aup-popup-menu-renderer #subMenu\n [parent]=\"this\"\n (commandFired)=\"onCommandFired()\"></aup-popup-menu-renderer>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'raised'\">\n <button matMenuTrigger\n [matMenuTriggerFor]=\"subMenu.menuComponent\"\n (click) = \"$event.stopPropagation()\"\n [matTooltip]=\"faceAdapter.tooltip\"\n [color]=\"faceAdapter.color\"\n [disabled]=\"!enabled\"\n mat-raised-button>\n <aup-command-face [faces]=\"[face]\"></aup-command-face>\n </button>\n <aup-popup-menu-renderer #subMenu\n [parent]=\"this\"\n (commandFired)=\"onCommandFired()\"></aup-popup-menu-renderer>\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n <button matMenuTrigger\n [matMenuTriggerFor]=\"subMenu.menuComponent\"\n (click) = \"$event.stopPropagation()\"\n [matTooltip]=\"faceAdapter.tooltip\"\n [color]=\"faceAdapter.color\"\n [disabled]=\"!enabled\"\n mat-button>\n <aup-command-face [faces]=\"[face]\"></aup-command-face>\n </button>\n <aup-popup-menu-renderer #subMenu [parent]=\"this\" (commandFired)=\"onCommandFired()\"></aup-popup-menu-renderer>\n </ng-container>\n\n </ng-container>\n\n <ng-container *ngIf=\"!faceAdapter.text\">\n <button matMenuTrigger\n mat-icon-button\n [matMenuTriggerFor]=\"subMenu.menuComponent\"\n (click) = \"$event.stopPropagation()\"\n [matTooltip]=\"faceAdapter.tooltip\"\n [color]=\"faceAdapter.color\"\n [disabled]=\"!enabled\"\n >\n <aup-command-face [faces]=\"[face]\"></aup-command-face>\n </button>\n <aup-popup-menu-renderer #subMenu\n [parent]=\"this\"\n (commandFired)=\"onCommandFired()\"></aup-popup-menu-renderer>\n </ng-container>\n</ng-container>\n",
1014
1022
  providers: [
1015
1023
  { provide: POPUP_CONTAINER, useExisting: PopupMenuComponent }
1016
1024
  ]
@@ -2243,9 +2251,10 @@ class ColumnModel {
2243
2251
  constructor(columnId, textPropertiesProvider) {
2244
2252
  this.columnId = columnId;
2245
2253
  this.textPropertiesProvider = textPropertiesProvider;
2246
- this._selectRowOnClick = undefined;
2254
+ this._enableRowSelection = true;
2247
2255
  this._flex = false;
2248
- this._visibleModel = new DelegatingValueModel().withDefault(true);
2256
+ this._defaultVisibility = new DelegatingValueModel().withDefault(true);
2257
+ this._visible = new DelegatingValueModel().withDefault(this._defaultVisibility);
2249
2258
  this.installHeaderRenderer();
2250
2259
  this.dasherisedColumnId = Stringy.from(columnId).dasherize().toString();
2251
2260
  }
@@ -2262,12 +2271,15 @@ class ColumnModel {
2262
2271
  return this.visible.value;
2263
2272
  }
2264
2273
  get visible() {
2265
- return this._visibleModel.readonly;
2274
+ return this._visible.readonly;
2266
2275
  }
2267
2276
  visibleWhile(visible) {
2268
- this._visibleModel.setDelegate(visible);
2277
+ this._visible.setDelegate(visible);
2269
2278
  return this;
2270
2279
  }
2280
+ setDefaultVisibility(visible) {
2281
+ this._defaultVisibility.setDelegate(visible);
2282
+ }
2271
2283
  getDefaultHeaderText() {
2272
2284
  return this.columnId;
2273
2285
  }
@@ -2329,18 +2341,12 @@ class ColumnModel {
2329
2341
  updatePortalContent(host) {
2330
2342
  this._cellRendererPortalRef.pushState(host);
2331
2343
  }
2332
- selectRowOnClick(selectOnRowClick) {
2333
- this._selectRowOnClick = selectOnRowClick;
2344
+ _selectRowOnClick(selectRowOnClick) {
2345
+ this._enableRowSelection = selectRowOnClick;
2334
2346
  return this;
2335
2347
  }
2336
2348
  isRowSelectionEnabled() {
2337
- return this._selectRowOnClick;
2338
- }
2339
- isRowSelectionExplicitlyEnabled() {
2340
- return this._selectRowOnClick === true;
2341
- }
2342
- isRowSelectionExplicitlyDisabled() {
2343
- return this._selectRowOnClick === false;
2349
+ return this._enableRowSelection;
2344
2350
  }
2345
2351
  }
2346
2352
  __decorate([
@@ -2438,7 +2444,7 @@ class PropertyColumnModel extends ColumnModel {
2438
2444
  return this;
2439
2445
  }
2440
2446
  selectRowOnClick(selectOnRowClick) {
2441
- return super.selectRowOnClick(selectOnRowClick);
2447
+ return this._selectRowOnClick(selectOnRowClick);
2442
2448
  }
2443
2449
  }
2444
2450
  class ListPropertyColumnModel extends ColumnModel {
@@ -2474,8 +2480,8 @@ class ListPropertyColumnModel extends ColumnModel {
2474
2480
  this._format = formatter;
2475
2481
  return this;
2476
2482
  }
2477
- selectRowOnClick(selectOnRowClick) {
2478
- return super.selectRowOnClick(selectOnRowClick);
2483
+ selectRowOnClick(selectRowOnClick) {
2484
+ return this._selectRowOnClick(selectRowOnClick);
2479
2485
  }
2480
2486
  }
2481
2487
  class CustomValueColumnModel extends ColumnModel {
@@ -2504,7 +2510,7 @@ class CustomValueColumnModel extends ColumnModel {
2504
2510
  return this;
2505
2511
  }
2506
2512
  selectRowOnClick(selectOnRowClick) {
2507
- return super.selectRowOnClick(selectOnRowClick);
2513
+ return this._selectRowOnClick(selectOnRowClick);
2508
2514
  }
2509
2515
  }
2510
2516
  class EditorControlColumnModel extends ColumnModel {
@@ -2534,7 +2540,7 @@ class CustomTemplateColumnModel extends ColumnModel {
2534
2540
  this.config.registerPortal(templateRef, viewContainer, fillCell, padChild);
2535
2541
  }
2536
2542
  selectRowOnClick(selectOnRowClick) {
2537
- return super.selectRowOnClick(selectOnRowClick);
2543
+ return this._selectRowOnClick(selectOnRowClick);
2538
2544
  }
2539
2545
  }
2540
2546
  class SelectionColumnModel extends ColumnModel {
@@ -2542,8 +2548,7 @@ class SelectionColumnModel extends ColumnModel {
2542
2548
  super(columnId, defaults);
2543
2549
  this._enableHeaderControls = true;
2544
2550
  this.selectionModel = DelegatingSelectionModel.createDelegate();
2545
- this.hasSelectionModel = new MutableValueModel(false);
2546
- this.selectOnRowClick(false);
2551
+ this._selectRowOnClick(false);
2547
2552
  this.cellHeaderRenderer(SelectHeaderCellRendererComponent, (component) => {
2548
2553
  component.selectionModel = this.selectionModel;
2549
2554
  component.enableHeaderControls = this._enableHeaderControls;
@@ -2553,23 +2558,14 @@ class SelectionColumnModel extends ColumnModel {
2553
2558
  component.selectionModel = this.selectionModel;
2554
2559
  }));
2555
2560
  this.setSelectionModel(selectionModel);
2556
- this.visibleWhile(this.hasSelectionModel);
2557
2561
  }
2558
2562
  setSelectionModel(selectionModel) {
2559
2563
  this.selectionModel.setDelegate(selectionModel);
2560
- this.hasSelectionModel.value = !!selectionModel;
2564
+ this.setDefaultVisibility(selectionModel instanceof MultipleSelectionModel ? ValueModel.TRUE : ValueModel.FALSE);
2561
2565
  }
2562
2566
  getDefaultHeaderText() {
2563
2567
  return '';
2564
2568
  }
2565
- isRowSelectionEnabledByDefault() {
2566
- return this.isRowSelectionExplicitlyEnabled();
2567
- }
2568
- selectOnRowClick(selectOnRowClick) {
2569
- // note we're using different method name as the selection column treats this
2570
- // state as the default for all columns.
2571
- return super.selectRowOnClick(selectOnRowClick);
2572
- }
2573
2569
  enableHeaderControls(enable) {
2574
2570
  this._enableHeaderControls = enable;
2575
2571
  return this;
@@ -2582,6 +2578,193 @@ class SelectionColumnModel extends ColumnModel {
2582
2578
  }
2583
2579
  }
2584
2580
 
2581
+ /**
2582
+ * Create your model:
2583
+ * @example
2584
+ * this.heroTableModel = TableModel.fromList(heroList, table => {
2585
+ * table.pluck("firstName");
2586
+ * table.pluck("lastName");
2587
+ * table.addCustomColumn("fullName", hero => `${hero.firstName} ${hero.lastName}`);
2588
+ * });
2589
+ *
2590
+ * Create your table
2591
+ * @example
2592
+ * <aup-table [tableModel]="heroTableModel"></aup-table>
2593
+ *
2594
+ * Column templates
2595
+ * @example
2596
+ * this.heroTableModel = TableModel.fromList(heroList, table => {
2597
+ * table.pluck("firstName");
2598
+ * table.pluck("lastName");
2599
+ * table.addTemplateColumn("specialColumn");
2600
+ * });
2601
+ * <aup-table [tableModel]="heroTableModel">
2602
+ * <div *aupColumnTemplate="let hero; columnId: 'specialColumn'; fillCell: true; padChild:false">
2603
+ * {{hero.name}}
2604
+ * </div>
2605
+ * </aup-table>
2606
+ *
2607
+ * Styling
2608
+ * @example
2609
+ * // global settings
2610
+ * :root {
2611
+ * --aup-table-column-gap: 10px; // defaults to 24px
2612
+ * --aup-table-row-hover-background-color, rgba(0, 0, 0, 0.05)
2613
+ * --aup-table-row-selected-background-color: rebeccapurple; // defaults to transparent
2614
+ * --aup-table-first-column-padding-left: 18px // defaults to --column-gap
2615
+ * --aup-table-last-column-padding-right: 18px // defaults to --column-gap
2616
+ * }
2617
+ *
2618
+ * // per table settings.
2619
+ * aup-table {
2620
+ * --column-gap: 10px; // defaults to 24px
2621
+ * --row-hover-background-color, rgba(0, 0, 0, 0.05)
2622
+ * --row-selected-background-color: rebeccapurple; // defaults to transparent
2623
+ * --first-column-padding-left: 18px // defaults to --column-gap
2624
+ * --last-column-padding-right: 18px // defaults to --column-gap
2625
+ *
2626
+ * aup-table-header-cell-renderer,
2627
+ * aup-table-cell-renderer {
2628
+ * &.aup-col-my-dasherised-column-id {
2629
+ * // do stuff
2630
+ * }
2631
+ * &.first-visible-column {
2632
+ * // do stuff
2633
+ * }
2634
+ * &.last-visible-column {
2635
+ * // do stuff
2636
+ * }
2637
+ * }
2638
+ * }
2639
+ */
2640
+ class AbstractTableComponent extends ResizeAwareComponent {
2641
+ constructor(elementRef, ngZone) {
2642
+ super(elementRef, ngZone);
2643
+ /**
2644
+ * Set to true to enable scrolling. Once enabled the table will have 0 implicit height. You will either
2645
+ * need to set it explicitly e.g. height: 400px; or by using flex or grid layout to make it fill it's
2646
+ * containment area.
2647
+ */
2648
+ this.enableScrolling = false;
2649
+ // TODO: support user defined header and row heights via css vars.
2650
+ this.headerHeight = new MutableValueModel(56);
2651
+ this.rowHeight = new MutableValueModel(48);
2652
+ this.baseCssClass = 'aup-table-component';
2653
+ const { chain, when } = Dsl.disposeWith(this);
2654
+ const actualHeaderHeight = chain(this.showHeaderModel).map(show => {
2655
+ return show ? this.headerHeight.value : 0;
2656
+ }, { dependsOn: this.headerHeight });
2657
+ this.visibleRowCount = chain(this.boundsModel).map(bounds => {
2658
+ // TODO: this doesn't take into account any css styling adjustments etc. Will invistigate if it's an issue.
2659
+ const rawRowCount = (bounds.height - actualHeaderHeight.value) / this.rowHeight.value;
2660
+ return rawRowCount < 1 ? 0 : Math.floor(rawRowCount);
2661
+ }, {
2662
+ dependsOn: [actualHeaderHeight, this.rowHeight],
2663
+ postponeWhile: chain(this.boundsModel).pluckNumeric('height').isLessThan(1)
2664
+ });
2665
+ }
2666
+ get hideHeader() {
2667
+ return !this.showHeader;
2668
+ }
2669
+ getModel() {
2670
+ return lang$1.abstractMethod(this.constructor);
2671
+ }
2672
+ ngOnInit() {
2673
+ const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
2674
+ this.columns = chain(this.getModel().columns);
2675
+ this.columnIds = chain(this.columns).pluck('columnId');
2676
+ this.columnsById = chain(this.columns).indexBy('columnId');
2677
+ }
2678
+ isEditing(row) {
2679
+ return !!this.getModel().getEditSessionFor(row);
2680
+ }
2681
+ registerColumnTemplate(columnId, templateRef, viewContainer, fillCell, padChild) {
2682
+ const column = this.columnsById.get(columnId);
2683
+ if (column instanceof CustomTemplateColumnModel) {
2684
+ column.setTemplate(templateRef, viewContainer, fillCell, padChild);
2685
+ }
2686
+ }
2687
+ notifyCellClicked(columnModel, row) {
2688
+ this.getModel()._notifyCellClicked(columnModel, row);
2689
+ }
2690
+ // @Trace()
2691
+ isFirstVisibleColumn(columnId) {
2692
+ var _a;
2693
+ return ((_a = this.getModel().firstVisibleColumn.query().value) === null || _a === void 0 ? void 0 : _a.columnId) === columnId;
2694
+ }
2695
+ // @Trace()
2696
+ isLastVisibleColumn(columnId) {
2697
+ var _a;
2698
+ return ((_a = this.getModel().lastVisibleColumn.query().value) === null || _a === void 0 ? void 0 : _a.columnId) === columnId;
2699
+ }
2700
+ getColumnClasses(columnId) {
2701
+ const classes = [`aup-col-${this.columnsById.get(columnId).dasherisedColumnId}`];
2702
+ if (this.isFirstVisibleColumn(columnId)) {
2703
+ classes.push('first-visible-column');
2704
+ }
2705
+ if (this.isLastVisibleColumn(columnId)) {
2706
+ classes.push('last-visible-column');
2707
+ }
2708
+ return classes;
2709
+ }
2710
+ }
2711
+ AbstractTableComponent.decorators = [
2712
+ { type: Component, args: [{
2713
+ selector: 'aup-abstract-table',
2714
+ template: ''
2715
+ },] }
2716
+ ];
2717
+ AbstractTableComponent.ctorParameters = () => [
2718
+ { type: ElementRef },
2719
+ { type: NgZone }
2720
+ ];
2721
+ AbstractTableComponent.propDecorators = {
2722
+ showHeaderModel: [{ type: Input }],
2723
+ showHeader: [{ type: Input }],
2724
+ enableScrolling: [{ type: Input }, { type: HostBinding, args: ['class.enable-scrolling',] }],
2725
+ baseCssClass: [{ type: HostBinding, args: ['class',] }],
2726
+ hideHeader: [{ type: HostBinding, args: ['class.hide-header',] }]
2727
+ };
2728
+ __decorate([
2729
+ TrackExternal({ defaultValue: true }),
2730
+ __metadata("design:type", ValueModel)
2731
+ ], AbstractTableComponent.prototype, "showHeaderModel", void 0);
2732
+ __decorate([
2733
+ StoreInValueModel('showHeaderModel'),
2734
+ __metadata("design:type", Boolean)
2735
+ ], AbstractTableComponent.prototype, "showHeader", void 0);
2736
+
2737
+ class ColumnTemplateDirective {
2738
+ constructor(host, templateRef, viewContainer) {
2739
+ this.host = host;
2740
+ this.templateRef = templateRef;
2741
+ this.viewContainer = viewContainer;
2742
+ this.aupColumnTemplateFillCell = false;
2743
+ this.aupColumnTemplateAutoPadChild = undefined;
2744
+ }
2745
+ ngOnInit() {
2746
+ var _a;
2747
+ assert.isTruthy(this.aupColumnTemplateColumnId);
2748
+ this.host.registerColumnTemplate(this.aupColumnTemplateColumnId, this.templateRef, this.viewContainer, this.aupColumnTemplateFillCell, (_a = this.aupColumnTemplateAutoPadChild) !== null && _a !== void 0 ? _a : this.aupColumnTemplateFillCell);
2749
+ }
2750
+ }
2751
+ ColumnTemplateDirective.decorators = [
2752
+ { type: Directive, args: [{
2753
+ selector: '[aupColumnTemplate]'
2754
+ },] }
2755
+ ];
2756
+ ColumnTemplateDirective.ctorParameters = () => [
2757
+ { type: AbstractTableComponent },
2758
+ { type: TemplateRef },
2759
+ { type: ViewContainerRef }
2760
+ ];
2761
+ ColumnTemplateDirective.propDecorators = {
2762
+ aupColumnTemplate: [{ type: Input }],
2763
+ aupColumnTemplateColumnId: [{ type: Input }],
2764
+ aupColumnTemplateFillCell: [{ type: Input }],
2765
+ aupColumnTemplateAutoPadChild: [{ type: Input }]
2766
+ };
2767
+
2585
2768
  // export type StringPropertiesOf<T> = { [K in keyof T]: T[K] extends string ? K : never }[keyof T];
2586
2769
  // export type NumberPropertiesOf<T> = { [K in keyof T]: T[K] extends number ? K : never }[keyof T];
2587
2770
  class RowClass {
@@ -2628,9 +2811,9 @@ class AbstractTableModel extends GarbageCollector {
2628
2811
  this.editing = chain(this._editorSessions).count().isGreaterThan(0);
2629
2812
  this.dataSource = chain(this.sourceOfTruth).replaceAll(this.rowsBeingEdited);
2630
2813
  this.firstEditableColumn = chain(this.columns).select(c => c.hasEditorPortal()).first();
2631
- this.hasColumnsWithRowSelectionExplicitlyEnabled = chain(this._columns).findIndex(column => column.isRowSelectionExplicitlyEnabled()).isGreaterThanOrEqualTo(0);
2632
2814
  this.firstVisibleColumn = chain(this._visibleColumnTracker).first();
2633
2815
  this.lastVisibleColumn = chain(this._visibleColumnTracker).last();
2816
+ this.rowSelectionDisabledOnAllColumns = chain(this._visibleColumnTracker).select(column => column.isRowSelectionEnabled()).count().equals(0);
2634
2817
  }
2635
2818
  get rowsBeingEdited() {
2636
2819
  return this._rowsBeingEdited.readonly;
@@ -2649,12 +2832,16 @@ class AbstractTableModel extends GarbageCollector {
2649
2832
  const columnId = (options === null || options === void 0 ? void 0 : options.columnId) || property.toString();
2650
2833
  return this.addColumn(new ListPropertyColumnModel(columnId, property, () => this.getColumnTextProperties(columnId)));
2651
2834
  }
2652
- _addSelectionColumn(selectionModel) {
2835
+ _addSelectionColumn(selectionModel, visible) {
2653
2836
  assert.isNil(this.selectionColumnModel);
2654
2837
  const columnId = 'selection-column';
2655
2838
  this.selectionColumnModel = new SelectionColumnModel(columnId, () => this.getColumnTextProperties(columnId), selectionModel);
2656
2839
  this.addRowClass('aup-row-selected', row => this.selectionColumnModel.isSelected(row));
2657
- return this.addColumn(this.selectionColumnModel);
2840
+ const selectionColumnModel = this.addColumn(this.selectionColumnModel);
2841
+ if (!_.isNil(visible)) {
2842
+ selectionColumnModel.visibleWhile(visible instanceof ValueModel ? visible : ValueModel.constant(visible));
2843
+ }
2844
+ return selectionColumnModel;
2658
2845
  }
2659
2846
  addEditControls(saveCommand) {
2660
2847
  this.saveCommand = saveCommand;
@@ -2735,14 +2922,14 @@ class AbstractTableModel extends GarbageCollector {
2735
2922
  });
2736
2923
  }
2737
2924
  isRowSelectionEnabledFor(column) {
2738
- var _a;
2739
- return this.selectionColumnModel && ((_a = column.isRowSelectionEnabled()) !== null && _a !== void 0 ? _a : this.isRowSelectionEnabledByDefault());
2740
- }
2741
- isRowSelectionEnabledByDefault() {
2742
- return this.selectionColumnModel && this.selectionColumnModel.isRowSelectionEnabledByDefault();
2925
+ return this.isRowSelectionEnabled() && column.isRowSelectionEnabled();
2743
2926
  }
2744
2927
  isRowSelectionEnabled() {
2745
- return this.hasColumnsWithRowSelectionExplicitlyEnabled.value || this.isRowSelectionEnabledByDefault();
2928
+ return this.hasSelectionModel() && !this.rowSelectionDisabledOnAllColumns.value;
2929
+ }
2930
+ hasSelectionModel() {
2931
+ var _a;
2932
+ return !!((_a = this.selectionColumnModel) === null || _a === void 0 ? void 0 : _a.selectionModel.getDelegate());
2746
2933
  }
2747
2934
  isHoverEnabled() {
2748
2935
  return this.isRowSelectionEnabled() || this.rowClickListeners.listenerCount > 0;
@@ -2764,197 +2951,7 @@ class AbstractTableModel extends GarbageCollector {
2764
2951
  this.rowClickListeners.fire(l => l(row));
2765
2952
  }
2766
2953
  }
2767
- TrackExternal.oneTimeBinding(AbstractTableModel);
2768
-
2769
- /**
2770
- * Create your model:
2771
- * @example
2772
- * this.heroTableModel = TableModel.fromList(heroList, table => {
2773
- * table.pluck("firstName");
2774
- * table.pluck("lastName");
2775
- * table.addCustomColumn("fullName", hero => `${hero.firstName} ${hero.lastName}`);
2776
- * });
2777
- *
2778
- * Create your table
2779
- * @example
2780
- * <aup-table [tableModel]="heroTableModel"></aup-table>
2781
- *
2782
- * Column templates
2783
- * @example
2784
- * this.heroTableModel = TableModel.fromList(heroList, table => {
2785
- * table.pluck("firstName");
2786
- * table.pluck("lastName");
2787
- * table.addTemplateColumn("specialColumn");
2788
- * });
2789
- * <aup-table [tableModel]="heroTableModel">
2790
- * <div *aupColumnTemplate="let hero; columnId: 'specialColumn'; fillCell: true; padChild:false">
2791
- * {{hero.name}}
2792
- * </div>
2793
- * </aup-table>
2794
- *
2795
- * Styling
2796
- * @example
2797
- * // global settings
2798
- * :root {
2799
- * --aup-table-column-gap: 10px; // defaults to 24px
2800
- * --aup-table-row-hover-background-color, rgba(0, 0, 0, 0.05)
2801
- * --aup-table-row-selected-background-color: rebeccapurple; // defaults to transparent
2802
- * --aup-table-first-column-padding-left: 18px // defaults to --column-gap
2803
- * --aup-table-last-column-padding-right: 18px // defaults to --column-gap
2804
- * }
2805
- *
2806
- * // per table settings.
2807
- * aup-table {
2808
- * --column-gap: 10px; // defaults to 24px
2809
- * --row-hover-background-color, rgba(0, 0, 0, 0.05)
2810
- * --row-selected-background-color: rebeccapurple; // defaults to transparent
2811
- * --first-column-padding-left: 18px // defaults to --column-gap
2812
- * --last-column-padding-right: 18px // defaults to --column-gap
2813
- *
2814
- * aup-table-header-cell-renderer,
2815
- * aup-table-cell-renderer {
2816
- * &.aup-col-my-dasherised-column-id {
2817
- * // do stuff
2818
- * }
2819
- * &.first-visible-column {
2820
- * // do stuff
2821
- * }
2822
- * &.last-visible-column {
2823
- * // do stuff
2824
- * }
2825
- * }
2826
- * }
2827
- */
2828
- class TableComponent extends ResizeAwareComponent {
2829
- constructor(elementRef, ngZone) {
2830
- super(elementRef, ngZone);
2831
- /**
2832
- * Set to true to enable scrolling. Once enabled the table will have 0 implicit height. You will either
2833
- * need to set it explicitly e.g. height: 400px; or by using flex or grid layout to make it fill it's
2834
- * containment area.
2835
- */
2836
- this.enableScrolling = false;
2837
- // TODO: support user defined header and row heights via css vars.
2838
- this.headerHeight = new MutableValueModel(56);
2839
- this.rowHeight = new MutableValueModel(48);
2840
- const { chain, when } = Dsl.disposeWith(this);
2841
- const actualHeaderHeight = chain(this.showHeaderModel).map(show => {
2842
- return show ? this.headerHeight.value : 0;
2843
- }, { dependsOn: this.headerHeight });
2844
- this.visibleRowCount = chain(this.boundsModel).map(bounds => {
2845
- // TODO: this doesn't take into account any css styling adjustments etc. Will invistigate if it's an issue.
2846
- const rawRowCount = (bounds.height - actualHeaderHeight.value) / this.rowHeight.value;
2847
- const rowCount = rawRowCount < 1 ? 0 : Math.floor(rawRowCount);
2848
- // console.log({rowCount})
2849
- return rowCount;
2850
- }, {
2851
- dependsOn: [actualHeaderHeight, this.rowHeight],
2852
- postponeWhile: chain(this.boundsModel).pluckNumeric('height').isLessThan(1)
2853
- });
2854
- }
2855
- get hideHeader() {
2856
- return !this.showHeader;
2857
- }
2858
- ngOnInit() {
2859
- const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
2860
- this.columns = chain(this.tableModel.columns);
2861
- this.columnIds = chain(this.columns).pluck('columnId');
2862
- this.columnsById = chain(this.columns).indexBy('columnId');
2863
- }
2864
- isEditing(row) {
2865
- return !!this.tableModel.getEditSessionFor(row);
2866
- }
2867
- registerColumnTemplate(columnId, templateRef, viewContainer, fillCell, padChild) {
2868
- const column = this.columnsById.get(columnId);
2869
- if (column instanceof CustomTemplateColumnModel) {
2870
- column.setTemplate(templateRef, viewContainer, fillCell, padChild);
2871
- }
2872
- }
2873
- notifyCellClicked(columnModel, row) {
2874
- this.tableModel._notifyCellClicked(columnModel, row);
2875
- }
2876
- // @Trace()
2877
- isFirstVisibleColumn(columnId) {
2878
- var _a;
2879
- return ((_a = this.tableModel.firstVisibleColumn.query().value) === null || _a === void 0 ? void 0 : _a.columnId) === columnId;
2880
- }
2881
- // @Trace()
2882
- isLastVisibleColumn(columnId) {
2883
- var _a;
2884
- return ((_a = this.tableModel.lastVisibleColumn.query().value) === null || _a === void 0 ? void 0 : _a.columnId) === columnId;
2885
- }
2886
- getColumnClasses(columnId) {
2887
- const classes = [`aup-col-${this.columnsById.get(columnId).dasherisedColumnId}`];
2888
- if (this.isFirstVisibleColumn(columnId)) {
2889
- classes.push('first-visible-column');
2890
- }
2891
- if (this.isLastVisibleColumn(columnId)) {
2892
- classes.push('last-visible-column');
2893
- }
2894
- return classes;
2895
- }
2896
- }
2897
- TableComponent.decorators = [
2898
- { type: Component, args: [{
2899
- selector: 'aup-table',
2900
- template: "<div class=\"scroll-container\">\n <table mat-table [dataSource]=\"tableModel.dataSource.value\" [trackBy]=\"tableModel.trackBy\">\n\n <ng-container *ngFor=\"let column of columns.value; index as index; first as first; last as last\"\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]=\"tableModel.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]=\"tableModel\"\n [editSession]=\"tableModel.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]=\"tableModel.getRowClasses(row)\" [class.enable-hover]=\"tableModel.isHoverEnabled()\"\n [attr.trackBy]=\"tableModel.trackBy(i, row)\"\n ></tr>\n\n </table>\n</div>\n",
2901
- 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}"]
2902
- },] }
2903
- ];
2904
- TableComponent.ctorParameters = () => [
2905
- { type: ElementRef },
2906
- { type: NgZone }
2907
- ];
2908
- TableComponent.propDecorators = {
2909
- tableModel: [{ type: Input }],
2910
- showHeaderModel: [{ type: Input }],
2911
- showHeader: [{ type: Input }],
2912
- enableScrolling: [{ type: Input }, { type: HostBinding, args: ['class.enable-scrolling',] }],
2913
- hideHeader: [{ type: HostBinding, args: ['class.hide-header',] }]
2914
- };
2915
- __decorate([
2916
- TrackExternal(),
2917
- __metadata("design:type", AbstractTableModel)
2918
- ], TableComponent.prototype, "tableModel", void 0);
2919
- __decorate([
2920
- TrackExternal({ defaultValue: true }),
2921
- __metadata("design:type", ValueModel)
2922
- ], TableComponent.prototype, "showHeaderModel", void 0);
2923
- __decorate([
2924
- StoreInValueModel('showHeaderModel'),
2925
- __metadata("design:type", Boolean)
2926
- ], TableComponent.prototype, "showHeader", void 0);
2927
-
2928
- class ColumnTemplateDirective {
2929
- constructor(host, templateRef, viewContainer) {
2930
- this.host = host;
2931
- this.templateRef = templateRef;
2932
- this.viewContainer = viewContainer;
2933
- this.aupColumnTemplateFillCell = false;
2934
- this.aupColumnTemplateAutoPadChild = undefined;
2935
- }
2936
- ngOnInit() {
2937
- var _a;
2938
- assert.isTruthy(this.aupColumnTemplateColumnId);
2939
- this.host.registerColumnTemplate(this.aupColumnTemplateColumnId, this.templateRef, this.viewContainer, this.aupColumnTemplateFillCell, (_a = this.aupColumnTemplateAutoPadChild) !== null && _a !== void 0 ? _a : this.aupColumnTemplateFillCell);
2940
- }
2941
- }
2942
- ColumnTemplateDirective.decorators = [
2943
- { type: Directive, args: [{
2944
- selector: '[aupColumnTemplate]'
2945
- },] }
2946
- ];
2947
- ColumnTemplateDirective.ctorParameters = () => [
2948
- { type: TableComponent },
2949
- { type: TemplateRef },
2950
- { type: ViewContainerRef }
2951
- ];
2952
- ColumnTemplateDirective.propDecorators = {
2953
- aupColumnTemplate: [{ type: Input }],
2954
- aupColumnTemplateColumnId: [{ type: Input }],
2955
- aupColumnTemplateFillCell: [{ type: Input }],
2956
- aupColumnTemplateAutoPadChild: [{ type: Input }]
2957
- };
2954
+ TrackExternal.oneTimeBinding(AbstractTableModel);
2958
2955
 
2959
2956
  class TableCellRendererComponent extends DisposableComponent {
2960
2957
  constructor() {
@@ -3121,6 +3118,95 @@ TableRowMenuComponent.propDecorators = {
3121
3118
  menu: [{ type: ViewChild, args: [MatMenuTrigger,] }]
3122
3119
  };
3123
3120
 
3121
+ /**
3122
+ * Create your model:
3123
+ * @example
3124
+ * this.heroTableModel = TableModel.fromList(heroList, table => {
3125
+ * table.pluck("firstName");
3126
+ * table.pluck("lastName");
3127
+ * table.addCustomColumn("fullName", hero => `${hero.firstName} ${hero.lastName}`);
3128
+ * });
3129
+ *
3130
+ * Create your table
3131
+ * @example
3132
+ * <aup-table [tableModel]="heroTableModel"></aup-table>
3133
+ *
3134
+ * Column templates
3135
+ * @example
3136
+ * this.heroTableModel = TableModel.fromList(heroList, table => {
3137
+ * table.pluck("firstName");
3138
+ * table.pluck("lastName");
3139
+ * table.addTemplateColumn("specialColumn");
3140
+ * });
3141
+ * <aup-table [tableModel]="heroTableModel">
3142
+ * <div *aupColumnTemplate="let hero; columnId: 'specialColumn'; fillCell: true; padChild:false">
3143
+ * {{hero.name}}
3144
+ * </div>
3145
+ * </aup-table>
3146
+ *
3147
+ * Styling
3148
+ * @example
3149
+ * // global settings
3150
+ * :root {
3151
+ * --aup-table-column-gap: 10px; // defaults to 24px
3152
+ * --aup-table-row-hover-background-color, rgba(0, 0, 0, 0.05)
3153
+ * --aup-table-row-selected-background-color: rebeccapurple; // defaults to transparent
3154
+ * --aup-table-first-column-padding-left: 18px // defaults to --column-gap
3155
+ * --aup-table-last-column-padding-right: 18px // defaults to --column-gap
3156
+ * }
3157
+ *
3158
+ * // per table settings.
3159
+ * aup-table {
3160
+ * --column-gap: 10px; // defaults to 24px
3161
+ * --row-hover-background-color, rgba(0, 0, 0, 0.05)
3162
+ * --row-selected-background-color: rebeccapurple; // defaults to transparent
3163
+ * --first-column-padding-left: 18px // defaults to --column-gap
3164
+ * --last-column-padding-right: 18px // defaults to --column-gap
3165
+ *
3166
+ * aup-table-header-cell-renderer,
3167
+ * aup-table-cell-renderer {
3168
+ * &.aup-col-my-dasherised-column-id {
3169
+ * // do stuff
3170
+ * }
3171
+ * &.first-visible-column {
3172
+ * // do stuff
3173
+ * }
3174
+ * &.last-visible-column {
3175
+ * // do stuff
3176
+ * }
3177
+ * }
3178
+ * }
3179
+ */
3180
+ class TableComponent extends AbstractTableComponent {
3181
+ constructor(elementRef, ngZone) {
3182
+ super(elementRef, ngZone);
3183
+ }
3184
+ getModel() {
3185
+ return this.tableModel;
3186
+ }
3187
+ }
3188
+ TableComponent.decorators = [
3189
+ { type: Component, args: [{
3190
+ selector: 'aup-table',
3191
+ 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.trackBy]=\"getModel().trackBy(i, row)\"\n ></tr>\n\n </table>\n</div>\n",
3192
+ providers: [
3193
+ { provide: AbstractTableComponent, useExisting: TableComponent }
3194
+ ],
3195
+ 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}"]
3196
+ },] }
3197
+ ];
3198
+ TableComponent.ctorParameters = () => [
3199
+ { type: ElementRef },
3200
+ { type: NgZone }
3201
+ ];
3202
+ TableComponent.propDecorators = {
3203
+ tableModel: [{ type: Input }]
3204
+ };
3205
+ __decorate([
3206
+ TrackExternal(),
3207
+ __metadata("design:type", AbstractTableModel)
3208
+ ], TableComponent.prototype, "tableModel", void 0);
3209
+
3124
3210
  const SVG_HEIGHT = 60;
3125
3211
  class TreeInheritanceIconComponent {
3126
3212
  constructor() {
@@ -3426,7 +3512,7 @@ class TreeLabelColumnModel extends ColumnModel {
3426
3512
  constructor(columnId, textPropertiesProvider, expansionModel) {
3427
3513
  super(columnId, textPropertiesProvider);
3428
3514
  this.expansionModel = expansionModel;
3429
- this.iconFactory = (node, expanded) => expanded ? 'mat:folder_open' : 'mat:folder';
3515
+ this.iconFactory = (node, expanded) => expanded ? 'mat:expand_more' : 'mat:chevron_right';
3430
3516
  this.cellRenderer(TreeLabelCellRendererComponent);
3431
3517
  }
3432
3518
  pluck(property) {
@@ -3446,8 +3532,8 @@ class TreeLabelColumnModel extends ColumnModel {
3446
3532
  }));
3447
3533
  return this;
3448
3534
  }
3449
- selectRowOnClick(selectOnRowClick) {
3450
- return super.selectRowOnClick(selectOnRowClick);
3535
+ _selectRowOnClick(selectOnRowClick) {
3536
+ return super._selectRowOnClick(selectOnRowClick);
3451
3537
  }
3452
3538
  }
3453
3539
 
@@ -3537,7 +3623,7 @@ class TreeToListModel extends ComputedListModel {
3537
3623
  }
3538
3624
  }
3539
3625
 
3540
- // import {T } from '@client/api/light-architect/model/area/area.class';
3626
+ // import { SelfAndDescendantsVisitor } from '@client/api/light-architect/model/area/visitable.class';
3541
3627
  // TODO:
3542
3628
  // Selection Models:
3543
3629
  // - as simple navigation tree
@@ -3596,24 +3682,33 @@ class TreeTableModel extends AbstractTableModel {
3596
3682
  ensureAncestorsAndSelfVisible(node) {
3597
3683
  this.treeExpansionModel.ensureAncestorsAndSelfVisible(node);
3598
3684
  }
3599
- }
3600
- class FlattenStrategy extends SelfAndDescendantsVisitor {
3601
- constructor(collapsedIds) {
3602
- super();
3603
- this.collapsedIds = collapsedIds;
3604
- this._areas = [];
3605
- this._collapsed = new Set(collapsedIds);
3606
- }
3607
- onVisit(it) {
3608
- this._areas.push(it);
3609
- }
3610
- shouldVisitChildrenOf(it) {
3611
- return !this._collapsed.has(it);
3612
- }
3613
- get flattenedAreas() {
3614
- return this._areas;
3685
+ addSelectionColumn(selectionModel, showSelectionColumn) {
3686
+ return this._addSelectionColumn(selectionModel, showSelectionColumn);
3615
3687
  }
3616
3688
  }
3689
+ // export class FlattenStrategy<T extends VisitableTree<any>> extends SelfAndDescendantsVisitor<T> {
3690
+ //
3691
+ // private _areas: T[] = [];
3692
+ // private _collapsed: Set<T>;
3693
+ //
3694
+ // constructor(private collapsedIds: T[]) {
3695
+ // super();
3696
+ // this._collapsed = new Set<T>(collapsedIds);
3697
+ // }
3698
+ //
3699
+ // protected onVisit(it: T) {
3700
+ // this._areas.push(it);
3701
+ // }
3702
+ //
3703
+ // protected shouldVisitChildrenOf(it: T): boolean {
3704
+ // return !this._collapsed.has(it);
3705
+ // }
3706
+ //
3707
+ // get flattenedAreas(): T[] {
3708
+ // return this._areas;
3709
+ // }
3710
+ //
3711
+ // }
3617
3712
  // class DecoratorCache {
3618
3713
  //
3619
3714
  // private map = new Map<number, T>();
@@ -3637,80 +3732,95 @@ class FlattenStrategy extends SelfAndDescendantsVisitor {
3637
3732
  //
3638
3733
  // }
3639
3734
 
3640
- //
3641
- // const template = `
3642
- // <table-component list-model="zoneTreeController.visibleAreas"
3643
- // selection-model="zoneTreeController.selectionModel"
3644
- // selection-command="zoneTreeController.selectionCommand"
3645
- // hover-model="zoneTreeController.decoratedHoverModel"
3646
- // no-hover="zoneTreeController.noHover"
3647
- // no-lines="true" no-scroll>
3648
- //
3649
- // <row-attr name="parent-id" value="{{item.parent.id}}"></row-attr>
3650
- // <row-attr name="area-id" value="{{item.id}}"></row-attr>
3651
- // <row-attr name="area-name" value="{{item.name}}"></row-attr>
3652
- // <row-attr name="area-depth" value="{{item.depthFromZone()}}"></row-attr>
3653
- // <row-attr name="collapsed" value="{{zoneTreeController.isCollapsed(item)}}"></row-attr>
3654
- //
3655
- // <column class="area" ng-class="{root: item.isZone(), parent: item.isGroup()}" class="allow-squish">
3656
- // <!--<label>Rooms in {{zoneTreeController.zoneModel.value.name}}</label>-->
3657
- // <label>Rooms</label>
3658
- // <div layout="row" layout-align="start center">
3659
- // <tree-icons tree-item="item"></tree-icons>
3660
- // <area-icon area="item"></area-icon>
3661
- // <span ng-if="item.isZone()">Zone ({{item.name}})</span>
3662
- // <span ng-if="!item.isZone()">{{item.name}}</span>
3663
- // </div>
3664
- // </column>
3665
- // <column class="expand-collapse" ng-class="{collapsed: zoneTreeController.isCollapsed(item)}">
3666
- // <md-button class="md-icon-button"
3667
- // ng-if="zoneTreeController.canCollapse(item)"
3668
- // ng-click="zoneTreeController.toggleCollapse(item)">
3669
- // <md-icon>keyboard_arrow_up</md-icon>
3670
- // </md-button>
3671
- // </column>
3672
- //
3673
- // </table-component>
3674
- // `;
3675
- class TreeTableComponent extends DisposableComponent {
3676
- constructor() {
3677
- super();
3678
- /**
3679
- * Set to true to enable scrolling. Once enabled the table will have 0 implicit height. You will either
3680
- * need to set it explicitly e.g. height: 400px; or by using flex or grid layout to make it fill it's
3681
- * containment area.
3682
- */
3683
- this.enableScrolling = false;
3735
+ /**
3736
+ * Create your model:
3737
+ * @example
3738
+ * this.heroTableModel = TableTreeModel.fromList(heroList, table => {
3739
+ * table.pluck("firstName");
3740
+ * table.pluck("lastName");
3741
+ * table.addCustomColumn("fullName", hero => `${hero.firstName} ${hero.lastName}`);
3742
+ * table.addTemplateColumn("specialColumn");
3743
+ * });
3744
+ *
3745
+ * Create your table
3746
+ * @example
3747
+ * <aup-tree-table [treeTableModel]="heroTableModel"></aup-table>
3748
+ *
3749
+ * Column templates
3750
+ * @example
3751
+ * this.heroTableModel = TableModel.fromList(heroList, table => {
3752
+ * table.pluck("firstName");
3753
+ * table.pluck("lastName");
3754
+ * table.addTemplateColumn("specialColumn");
3755
+ * });
3756
+ * <aup-table [tableModel]="heroTableModel">
3757
+ * <div *aupColumnTemplate="let hero; columnId: 'specialColumn'; fillCell: true; padChild:false">
3758
+ * {{hero.name}}
3759
+ * </div>
3760
+ * </aup-table>
3761
+ *
3762
+ * Styling
3763
+ * @example
3764
+ * // global settings
3765
+ * :root {
3766
+ * --aup-table-column-gap: 10px; // defaults to 24px
3767
+ * --aup-table-row-hover-background-color, rgba(0, 0, 0, 0.05)
3768
+ * --aup-table-row-selected-background-color: rebeccapurple; // defaults to transparent
3769
+ * --aup-table-first-column-padding-left: 18px // defaults to --column-gap
3770
+ * --aup-table-last-column-padding-right: 18px // defaults to --column-gap
3771
+ * }
3772
+ *
3773
+ * // per table settings.
3774
+ * aup-table {
3775
+ * --column-gap: 10px; // defaults to 24px
3776
+ * --row-hover-background-color, rgba(0, 0, 0, 0.05)
3777
+ * --row-selected-background-color: rebeccapurple; // defaults to transparent
3778
+ * --first-column-padding-left: 18px // defaults to --column-gap
3779
+ * --last-column-padding-right: 18px // defaults to --column-gap
3780
+ *
3781
+ * aup-table-header-cell-renderer,
3782
+ * aup-table-cell-renderer {
3783
+ * &.aup-col-my-dasherised-column-id {
3784
+ * // do stuff
3785
+ * }
3786
+ * &.first-visible-column {
3787
+ * // do stuff
3788
+ * }
3789
+ * &.last-visible-column {
3790
+ * // do stuff
3791
+ * }
3792
+ * }
3793
+ * }
3794
+ */
3795
+ class TreeTableComponent extends AbstractTableComponent {
3796
+ constructor(elementRef, ngZone) {
3797
+ super(elementRef, ngZone);
3798
+ }
3799
+ getModel() {
3800
+ return this.treeTableModel;
3684
3801
  }
3685
3802
  }
3686
3803
  TreeTableComponent.decorators = [
3687
3804
  { type: Component, args: [{
3688
- selector: "aup-tree-table",
3689
- template: "<aup-table [tableModel]=\"treeTableModel\" [showHeaderModel]=\"showHeaderModel\" [enableScrolling]=\"enableScrolling\"></aup-table>\n",
3690
- encapsulation: ViewEncapsulation.None // allow us to target nested table styles
3691
- ,
3692
- styles: ["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}"]
3805
+ selector: 'aup-tree-table',
3806
+ 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.trackBy]=\"getModel().trackBy(i, row)\"\n ></tr>\n\n </table>\n</div>\n",
3807
+ providers: [
3808
+ { provide: AbstractTableComponent, useExisting: TreeTableComponent }
3809
+ ],
3810
+ 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}"]
3693
3811
  },] }
3694
3812
  ];
3695
- TreeTableComponent.ctorParameters = () => [];
3813
+ TreeTableComponent.ctorParameters = () => [
3814
+ { type: ElementRef },
3815
+ { type: NgZone }
3816
+ ];
3696
3817
  TreeTableComponent.propDecorators = {
3697
- treeTableModel: [{ type: Input }],
3698
- showHeaderModel: [{ type: Input }],
3699
- showHeader: [{ type: Input }],
3700
- enableScrolling: [{ type: Input }, { type: HostBinding, args: ['class.enable-scrolling',] }]
3818
+ treeTableModel: [{ type: Input }]
3701
3819
  };
3702
3820
  __decorate([
3703
3821
  TrackExternal(),
3704
3822
  __metadata("design:type", TreeTableModel)
3705
3823
  ], TreeTableComponent.prototype, "treeTableModel", void 0);
3706
- __decorate([
3707
- TrackExternal({ defaultValue: true }),
3708
- __metadata("design:type", ValueModel)
3709
- ], TreeTableComponent.prototype, "showHeaderModel", void 0);
3710
- __decorate([
3711
- StoreInValueModel('showHeaderModel'),
3712
- __metadata("design:type", Boolean)
3713
- ], TreeTableComponent.prototype, "showHeader", void 0);
3714
3824
 
3715
3825
  class VerticalFocusContainerComponent extends FocusContainerComponent {
3716
3826
  constructor(focusManager) {
@@ -3864,6 +3974,7 @@ ComponentsModule.decorators = [
3864
3974
  BusyOverlayComponent,
3865
3975
  EmptyStateComponent,
3866
3976
  PaginatorComponent,
3977
+ AbstractTableComponent
3867
3978
  ],
3868
3979
  imports: [
3869
3980
  CommonModule,
@@ -4598,6 +4709,74 @@ ActivityTitleComponent.propDecorators = {
4598
4709
  color: [{ type: Input }, { type: HostBinding, args: ['attr.color',] }]
4599
4710
  };
4600
4711
 
4712
+ class AbstractActivityTriggerComponent extends DisposableComponent {
4713
+ constructor() {
4714
+ super();
4715
+ this.alignFace = HorizontalAlignment.CENTER;
4716
+ this.confirmEvent = new EventEmitter();
4717
+ this.cancelEvent = new EventEmitter();
4718
+ this.startActivityCommand = Command.create(() => {
4719
+ assert.notNil(this.activityClass);
4720
+ assert.notNil(this.interactionContext);
4721
+ this.interactionContext.startActivity(this.activityClass, this.activityData)
4722
+ .then(result => {
4723
+ this.confirmEvent.emit(result);
4724
+ }).catch(error => {
4725
+ this.cancelEvent.emit(error);
4726
+ });
4727
+ });
4728
+ }
4729
+ ngOnInit() {
4730
+ }
4731
+ get isActive() {
4732
+ var _a;
4733
+ return (_a = this.interactionContext) === null || _a === void 0 ? void 0 : _a.isActive();
4734
+ }
4735
+ }
4736
+ AbstractActivityTriggerComponent.decorators = [
4737
+ { type: Component, args: [{
4738
+ selector: 'aup-abstract-activity-trigger',
4739
+ template: ''
4740
+ },] }
4741
+ ];
4742
+ AbstractActivityTriggerComponent.ctorParameters = () => [];
4743
+ AbstractActivityTriggerComponent.propDecorators = {
4744
+ activityClass: [{ type: Input }],
4745
+ activityClassModel: [{ type: Input }],
4746
+ activityData: [{ type: Input }],
4747
+ activityDataModel: [{ type: Input }],
4748
+ face: [{ type: Input }],
4749
+ faceModel: [{ type: Input }],
4750
+ alignFace: [{ type: Input }],
4751
+ confirmEvent: [{ type: Output }],
4752
+ cancelEvent: [{ type: Output }],
4753
+ isActive: [{ type: HostBinding, args: ['class.active',] }]
4754
+ };
4755
+ __decorate([
4756
+ StoreInValueModel('activityClassModel'),
4757
+ __metadata("design:type", Object)
4758
+ ], AbstractActivityTriggerComponent.prototype, "activityClass", void 0);
4759
+ __decorate([
4760
+ TrackExternal(),
4761
+ __metadata("design:type", ValueModel)
4762
+ ], AbstractActivityTriggerComponent.prototype, "activityClassModel", void 0);
4763
+ __decorate([
4764
+ StoreInValueModel('activityDataModel'),
4765
+ __metadata("design:type", Object)
4766
+ ], AbstractActivityTriggerComponent.prototype, "activityData", void 0);
4767
+ __decorate([
4768
+ TrackExternal(),
4769
+ __metadata("design:type", ValueModel)
4770
+ ], AbstractActivityTriggerComponent.prototype, "activityDataModel", void 0);
4771
+ __decorate([
4772
+ StoreInValueModel('faceModel'),
4773
+ __metadata("design:type", Object)
4774
+ ], AbstractActivityTriggerComponent.prototype, "face", void 0);
4775
+ __decorate([
4776
+ TrackExternal(),
4777
+ __metadata("design:type", ValueModel)
4778
+ ], AbstractActivityTriggerComponent.prototype, "faceModel", void 0);
4779
+
4601
4780
  class InteractionServiceRoutingAdapter {
4602
4781
  constructor(activeInteractionContextIds, activeModalContext, createExclusiveInteractionContext) {
4603
4782
  this.activeInteractionContextIds = activeInteractionContextIds;
@@ -4765,10 +4944,26 @@ InteractionService.ctorParameters = () => [
4765
4944
  InteractionService.ApiAdapter = ApiAdapter;
4766
4945
  })(InteractionService || (InteractionService = {}));
4767
4946
 
4947
+ class ModalActivityTriggerComponent extends AbstractActivityTriggerComponent {
4948
+ constructor(interactionService) {
4949
+ super();
4950
+ this.interactionContext = interactionService.createModalInteractionContextDisposedWith(this);
4951
+ }
4952
+ }
4953
+ ModalActivityTriggerComponent.decorators = [
4954
+ { type: Component, args: [{
4955
+ selector: 'aup-modal-activity-trigger',
4956
+ template: "<aup-command [command]=\"startActivityCommand\" [faceModel]=\"faceModel\" [alignFace]=\"alignFace\"></aup-command>\n",
4957
+ styles: [":host{display:inline-block}"]
4958
+ },] }
4959
+ ];
4960
+ ModalActivityTriggerComponent.ctorParameters = () => [
4961
+ { type: InteractionService }
4962
+ ];
4963
+
4768
4964
  /**
4769
4965
  * @example
4770
4966
  * <aup-in-place-interaction-context #inPlaceInteractionContext>
4771
- *
4772
4967
  * </aup-in-place-interaction-context>
4773
4968
  *
4774
4969
  * in your component
@@ -4896,6 +5091,33 @@ __decorate([
4896
5091
  __metadata("design:type", Command)
4897
5092
  ], AddItemInteractionContextComponent.prototype, "addCommand", void 0);
4898
5093
 
5094
+ class InlineActivityTriggerComponent extends AbstractActivityTriggerComponent {
5095
+ constructor() {
5096
+ super();
5097
+ }
5098
+ }
5099
+ InlineActivityTriggerComponent.decorators = [
5100
+ { type: Component, args: [{
5101
+ selector: 'aup-inline-activity-trigger',
5102
+ template: "<aup-in-place-interaction-context #interactionContext [animateFirstActivity]=\"false\">\n <aup-command [command]=\"startActivityCommand\" [faceModel]=\"faceModel\" [alignFace]=\"alignFace\"></aup-command>\n</aup-in-place-interaction-context>\n",
5103
+ styles: [":host{display:inline-block}"]
5104
+ },] }
5105
+ ];
5106
+ InlineActivityTriggerComponent.ctorParameters = () => [];
5107
+ InlineActivityTriggerComponent.propDecorators = {
5108
+ interactionContext: [{ type: ViewChild, args: [InPlaceInteractionContextComponent, { static: true },] }]
5109
+ };
5110
+
5111
+ /**
5112
+ * <aup-popup-interaction-context #ctx></aup-popup-interaction-context>
5113
+ *
5114
+ * in your component
5115
+ * @ViewChild('inPlaceInteractionContext', { static: true })
5116
+ * interactionContext: InteractionContext;
5117
+ * or
5118
+ * @ViewChild('ctx', { static: true })
5119
+ * interactionContext: InteractionContext;
5120
+ */
4899
5121
  class PopupInteractionContextComponent extends DisposableComponent {
4900
5122
  constructor(_element, _overlay, scrollable) {
4901
5123
  super();
@@ -4968,7 +5190,7 @@ PopupInteractionContextComponent.decorators = [
4968
5190
  { type: Component, args: [{
4969
5191
  selector: 'aup-popup-interaction-context',
4970
5192
  template: "<ng-content></ng-content>\n",
4971
- styles: [":host{display:inline}:host.interaction-active{background:rgba(0,0,0,.05)}"]
5193
+ styles: [":host{display:inline-block}:host.interaction-active{background:rgba(0,0,0,.05)}"]
4972
5194
  },] }
4973
5195
  ];
4974
5196
  PopupInteractionContextComponent.ctorParameters = () => [
@@ -5218,8 +5440,8 @@ class TableModel extends AbstractTableModel {
5218
5440
  builder(model);
5219
5441
  return model;
5220
5442
  }
5221
- addSelectionColumn(selectionModel) {
5222
- return this._addSelectionColumn(selectionModel);
5443
+ addSelectionColumn(selectionModel, showSelectionColumn) {
5444
+ return this._addSelectionColumn(selectionModel, showSelectionColumn);
5223
5445
  }
5224
5446
  }
5225
5447
 
@@ -5227,6 +5449,27 @@ class TableModel extends AbstractTableModel {
5227
5449
  * @file Automatically generated by barrelsby.
5228
5450
  */
5229
5451
 
5452
+ class PopupActivityTriggerComponent extends AbstractActivityTriggerComponent {
5453
+ constructor() {
5454
+ super();
5455
+ this.anchorX = 'start';
5456
+ this.anchorY = 'bottom';
5457
+ }
5458
+ }
5459
+ PopupActivityTriggerComponent.decorators = [
5460
+ { type: Component, args: [{
5461
+ selector: 'aup-popup-activity-trigger',
5462
+ template: "<aup-popup-interaction-context [anchorX]=\"anchorX\" [anchorY]=\"anchorY\">\n <aup-command [command]=\"startActivityCommand\" [faceModel]=\"faceModel\" [alignFace]=\"alignFace\"></aup-command>\n</aup-popup-interaction-context>\n",
5463
+ styles: [":host{display:inline-block}"]
5464
+ },] }
5465
+ ];
5466
+ PopupActivityTriggerComponent.ctorParameters = () => [];
5467
+ PopupActivityTriggerComponent.propDecorators = {
5468
+ anchorX: [{ type: Input }],
5469
+ anchorY: [{ type: Input }],
5470
+ interactionContext: [{ type: ViewChild, args: [PopupInteractionContextComponent, { static: true },] }]
5471
+ };
5472
+
5230
5473
  class InteractionModule {
5231
5474
  }
5232
5475
  InteractionModule.decorators = [
@@ -5261,7 +5504,11 @@ InteractionModule.decorators = [
5261
5504
  Activity,
5262
5505
  ActivityTitleComponent,
5263
5506
  ActivityBodyComponent,
5264
- ActivityActionsComponent
5507
+ ActivityActionsComponent,
5508
+ AbstractActivityTriggerComponent,
5509
+ PopupActivityTriggerComponent,
5510
+ InlineActivityTriggerComponent,
5511
+ ModalActivityTriggerComponent
5265
5512
  ],
5266
5513
  exports: [
5267
5514
  ActivityContainerComponent,
@@ -5274,7 +5521,10 @@ InteractionModule.decorators = [
5274
5521
  InteractionContextTriggerFor,
5275
5522
  StringInputActivity,
5276
5523
  SelectInputActivity,
5277
- ActivityBodyComponent
5524
+ ActivityBodyComponent,
5525
+ PopupActivityTriggerComponent,
5526
+ InlineActivityTriggerComponent,
5527
+ ModalActivityTriggerComponent
5278
5528
  ],
5279
5529
  entryComponents: [
5280
5530
  ActivityContainerComponent,
@@ -8133,5 +8383,5 @@ VisibilityService.ctorParameters = () => [
8133
8383
  * Generated bundle index. Do not edit.
8134
8384
  */
8135
8385
 
8136
- export { ACTIVITY_DATA, AUP_PLACE_CONFIG, AUP_UNAUTHORISED_PLACE_NOTICE_COMPONENT, AbstractInputActivity, AbstractInputComponent, AbstractInteractionContext, AbstractListInputComponent, AbstractPlaceNavigationComponent, AbstractPopStateNavigation, AbstractPopupMenuComponent, AbstractTableModel, AbstractValueInputComponent, Activity, ActivityActionsComponent, ActivityBodyComponent, ActivityContainerComponent, ActivityOutletComponent, ActivityRef, ActivityTitleComponent, AddItemInteractionContextComponent, AlertDialogComponent, AngularUiPowerupsModule, AutocompleteInputComponent, Bounds, BusyOverlayComponent, CELL_EDITOR_PORTAL, CELL_RENDERER_PORTAL, CardContainerComponent, CellEditorPortalRef, CellHeaderPortalRef, CellPortalRef, CellRendererPortalRef, CheckboxInputComponent, ColumnModel, ColumnTemplateDirective, CommandComponent, CommandContainer, CommandDirective, CommandFace, CommandFaceComponent, ComponentCellRendererPortalRef, ComponentsModule, ConfirmThenDialogComponent, ConfirmationDialogComponent, ConsolidatedParameterMap, CustomTemplateColumnModel, CustomValueColumnModel, DEFINITION_META_DATA_KEY, DIALOG_INTERACTION_SERVICE_DEFAULTS, DecoratedTreeNode, DefaultCellRendererComponent, DefaultHeaderCellRendererComponent, DialogInteractionContext, DialogInteractionContextFactory, Dimension, DirectivesModule, DisposableComponent, EditRowControls, EditSession, EditorControlColumnModel, EmptyStateComponent, EventCleanUpSession, FlattenStrategy, FlexComponent, FocusBinding, FocusBindingDirective, FocusBindingFactory, FocusContainerComponent, FocusableComponent, Formatter, HEADER_CELL_RENDERER_PORTAL, HighlightPipe, HighlightTextModelDirective, IconComponent, InPlaceInteractionContextComponent, InteractionContextTriggerFor, InteractionModule, InteractionService, InteractionServiceRoutingAdapter, LEFT_RIGHT_PLACE_ANIMATION, ListPlaceNavComponent, ListPropertyColumnModel, ModalInteractionContextFactory, MoreMenuComponent, MultipleSelectInputComponent, Navigating, NavigatingDuringInteraction, NavigationContext, NavigationSession, NoopAuthGuard, NoopComponent, NotAuthorisedNoticeComponent, NumberInputComponent, POPUP_CONTAINER, PORTAL_EDITOR_COMPONENT, PORTAL_RENDERER_COMPONENT, PaginatorComponent, ParameterDefinition, PasswordInputComponent, Place, PlaceAccessGuard, PlaceComponent, PlaceComponentDeactivationHandler, PlaceDefinition, PlaceGuard, PlaceHistory, PlaceModule, PlaceOutletComponent, PlaceRouter, Point, PopStateDuringInteractionNavigation, PopStateNavigation, PopupAwareComponent, PopupInteractionContextComponent, PopupMenuComponent, PopupMenuRendererComponent, PropertyColumnModel, ROUTE_PARAMETER_LIST_KEY, RemoveLastInteractionFromUrlNavigationSession, ResizeAwareComponent, RouteId, ScrollContainerComponent, SectionHeaderComponent, SelectCellRendererComponent, SelectHeaderCellRendererComponent, SelectInputActivity, SelectInputComponent, SelectionColumnModel, SelfAndDescendantsVisitor, SeparatorComponent, SidePlaceNavigationComponent, StringInputActivity, StringInputComponent, SwitchCaseComponent, SwitchCaseDefaultDirective, SwitchCaseOption, SwitchCaseWhenDirective, SynchroniseInteractionContextIdsWithRoute, TabbedPlaceNavigationComponent, TableCellRendererComponent, TableComponent, TableHeaderCellRendererComponent, TableModel, TableRowMenuComponent, TemplateCellRendererPortalRef, TextInputComponent, ToolBarComponent, TrackBy, TreeExpansionModel, TreeInheritanceIconComponent, TreeLabelCellRendererComponent, TreeLabelColumnModel, TreeTableComponent, TreeTableModel, TreeToListModel, UrlService, UrlSnapshot, VerticalFocusContainerComponent, VisibilityService, Visit, VisitParameter, VisitParameterList, VisitSanitiser, WaitUntilLeavingInteractionTransitionCancelled, WaitUntilLinkTriggeredNavigationInteractionCancellationTypeDetermined, WaitUntilPopStateDuringCanDeactivateInteractionFinishes, leftRightPlaceAnimation, slideDownOnEnterAnimation, slideRightOnEnterAnimation, ɵ0 };
8386
+ export { ACTIVITY_DATA, AUP_PLACE_CONFIG, AUP_UNAUTHORISED_PLACE_NOTICE_COMPONENT, AbstractActivityTriggerComponent, AbstractInputActivity, AbstractInputComponent, AbstractInteractionContext, AbstractListInputComponent, AbstractPlaceNavigationComponent, AbstractPopStateNavigation, AbstractPopupMenuComponent, AbstractTableComponent, AbstractTableModel, AbstractValueInputComponent, Activity, ActivityActionsComponent, ActivityBodyComponent, ActivityContainerComponent, ActivityOutletComponent, ActivityRef, ActivityTitleComponent, AddItemInteractionContextComponent, AlertDialogComponent, AngularUiPowerupsModule, AutocompleteInputComponent, Bounds, BusyOverlayComponent, CELL_EDITOR_PORTAL, CELL_RENDERER_PORTAL, CardContainerComponent, CellEditorPortalRef, CellHeaderPortalRef, CellPortalRef, CellRendererPortalRef, CheckboxInputComponent, ColumnModel, ColumnTemplateDirective, CommandComponent, CommandContainer, CommandDirective, CommandFace, CommandFaceComponent, ComponentCellRendererPortalRef, ComponentsModule, ConfirmThenDialogComponent, ConfirmationDialogComponent, ConsolidatedParameterMap, CustomTemplateColumnModel, CustomValueColumnModel, DEFINITION_META_DATA_KEY, DIALOG_INTERACTION_SERVICE_DEFAULTS, DecoratedTreeNode, DefaultCellRendererComponent, DefaultHeaderCellRendererComponent, DialogInteractionContext, DialogInteractionContextFactory, Dimension, DirectivesModule, DisposableComponent, EditRowControls, EditSession, EditorControlColumnModel, EmptyStateComponent, EventCleanUpSession, FlexComponent, FocusBinding, FocusBindingDirective, FocusBindingFactory, FocusContainerComponent, FocusableComponent, Formatter, HEADER_CELL_RENDERER_PORTAL, HighlightPipe, HighlightTextModelDirective, HorizontalAlignment, IconComponent, InPlaceInteractionContextComponent, InlineActivityTriggerComponent, InteractionContextTriggerFor, InteractionModule, InteractionService, InteractionServiceRoutingAdapter, LEFT_RIGHT_PLACE_ANIMATION, ListPlaceNavComponent, ListPropertyColumnModel, ModalActivityTriggerComponent, ModalInteractionContextFactory, MoreMenuComponent, MultipleSelectInputComponent, Navigating, NavigatingDuringInteraction, NavigationContext, NavigationSession, NoopAuthGuard, NoopComponent, NotAuthorisedNoticeComponent, NumberInputComponent, POPUP_CONTAINER, PORTAL_EDITOR_COMPONENT, PORTAL_RENDERER_COMPONENT, PaginatorComponent, ParameterDefinition, PasswordInputComponent, Place, PlaceAccessGuard, PlaceComponent, PlaceComponentDeactivationHandler, PlaceDefinition, PlaceGuard, PlaceHistory, PlaceModule, PlaceOutletComponent, PlaceRouter, Point, PopStateDuringInteractionNavigation, PopStateNavigation, PopupActivityTriggerComponent, PopupAwareComponent, PopupInteractionContextComponent, PopupMenuComponent, PopupMenuRendererComponent, PropertyColumnModel, ROUTE_PARAMETER_LIST_KEY, RemoveLastInteractionFromUrlNavigationSession, ResizeAwareComponent, RouteId, ScrollContainerComponent, SectionHeaderComponent, SelectCellRendererComponent, SelectHeaderCellRendererComponent, SelectInputActivity, SelectInputComponent, SelectionColumnModel, SelfAndDescendantsVisitor, SeparatorComponent, SidePlaceNavigationComponent, StringInputActivity, StringInputComponent, SwitchCaseComponent, SwitchCaseDefaultDirective, SwitchCaseOption, SwitchCaseWhenDirective, SynchroniseInteractionContextIdsWithRoute, TabbedPlaceNavigationComponent, TableCellRendererComponent, TableComponent, TableHeaderCellRendererComponent, TableModel, TableRowMenuComponent, TemplateCellRendererPortalRef, TextInputComponent, ToolBarComponent, TrackBy, TreeExpansionModel, TreeInheritanceIconComponent, TreeLabelCellRendererComponent, TreeLabelColumnModel, TreeTableComponent, TreeTableModel, TreeToListModel, UrlService, UrlSnapshot, VerticalFocusContainerComponent, VisibilityService, Visit, VisitParameter, VisitParameterList, VisitSanitiser, WaitUntilLeavingInteractionTransitionCancelled, WaitUntilLinkTriggeredNavigationInteractionCancellationTypeDetermined, WaitUntilPopStateDuringCanDeactivateInteractionFinishes, leftRightPlaceAnimation, slideDownOnEnterAnimation, slideRightOnEnterAnimation, ɵ0 };
8137
8387
  //# sourceMappingURL=coolon-angular-ui-powerups.js.map