@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
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/common'), require('@angular/core'), require('@angular/forms'), require('@angular/material/form-field'), require('@angular/material/input'), require('@angular/material/select'), require('@angular/material/tabs'), require('@angular/platform-browser/animations'), require('@angular/cdk/portal'), require('@angular/cdk/scrolling'), require('@angular/material/autocomplete'), require('@angular/material/button'), require('@angular/material/checkbox'), require('@angular/material/divider'), require('@angular/material/icon'), require('@angular/material/menu'), require('@angular/material/progress-spinner'), require('@angular/material/table'), require('@angular/material/tooltip'), require('@fortawesome/angular-fontawesome'), require('@fortawesome/free-solid-svg-icons'), require('@coolon/pectin'), require('@angular/platform-browser'), require('lodash'), require('@typescript-plus/fast-memoize-decorator/dist/src'), require('typescript-string-enums'), require('resize-observer-polyfill'), require('@coolon/typescript-utilities'), require('immer'), require('@angular/flex-layout'), require('@angular/material/dialog'), require('@angular/router'), require('@angular/cdk/overlay'), require('@angular/material/list'), require('@typescript-plus/fast-memoize-decorator'), require('reflect-metadata'), require('@angular/animations'), require('wake-event')) :
3
- typeof define === 'function' && define.amd ? define('@coolon/angular-ui-powerups', ['exports', '@angular/common', '@angular/core', '@angular/forms', '@angular/material/form-field', '@angular/material/input', '@angular/material/select', '@angular/material/tabs', '@angular/platform-browser/animations', '@angular/cdk/portal', '@angular/cdk/scrolling', '@angular/material/autocomplete', '@angular/material/button', '@angular/material/checkbox', '@angular/material/divider', '@angular/material/icon', '@angular/material/menu', '@angular/material/progress-spinner', '@angular/material/table', '@angular/material/tooltip', '@fortawesome/angular-fontawesome', '@fortawesome/free-solid-svg-icons', '@coolon/pectin', '@angular/platform-browser', 'lodash', '@typescript-plus/fast-memoize-decorator/dist/src', 'typescript-string-enums', 'resize-observer-polyfill', '@coolon/typescript-utilities', 'immer', '@angular/flex-layout', '@angular/material/dialog', '@angular/router', '@angular/cdk/overlay', '@angular/material/list', '@typescript-plus/fast-memoize-decorator', 'reflect-metadata', '@angular/animations', 'wake-event'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.coolon = global.coolon || {}, global.coolon['angular-ui-powerups'] = {}), global.ng.common, global.ng.core, global.ng.forms, global.ng.material.formField, global.ng.material.input, global.ng.material.select, global.ng.material.tabs, global.ng.platformBrowser.animations, global.ng.cdk.portal, global.ng.cdk.scrolling, global.ng.material.autocomplete, global.ng.material.button, global.ng.material.checkbox, global.ng.material.divider, global.ng.material.icon, global.ng.material.menu, global.ng.material.progressSpinner, global.ng.material.table, global.ng.material.tooltip, global.angularFontawesome, global.freeSolidSvgIcons, global.pectin, global.ng.platformBrowser, global._, global.src, global.typescriptStringEnums, global.ResizeObserver, global.typescriptUtilities, global.produce, global.ng.flexLayout, global.ng.material.dialog, global.ng.router, global.ng.cdk.overlay, global.ng.material.list, global.fastMemoizeDecorator, null, global.ng.animations, global.wakeEvent));
5
- }(this, (function (exports, i2, i0, forms, formField, input, select, tabs, animations, portal, scrolling, autocomplete, button, checkbox, divider, icon, menu, progressSpinner, table, tooltip, angularFontawesome, freeSolidSvgIcons, pectin, platformBrowser, _, src, typescriptStringEnums, ResizeObserver, typescriptUtilities, produce, flexLayout, i1, i1$1, overlay, list, fastMemoizeDecorator, reflectMetadata, animations$1, wakeEvent) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/common'), require('@angular/core'), require('@angular/forms'), require('@angular/material/form-field'), require('@angular/material/input'), require('@angular/material/select'), require('@angular/material/tabs'), require('@angular/platform-browser/animations'), require('@angular/cdk/portal'), require('@angular/cdk/scrolling'), require('@angular/material/autocomplete'), require('@angular/material/button'), require('@angular/material/checkbox'), require('@angular/material/divider'), require('@angular/material/icon'), require('@angular/material/menu'), require('@angular/material/progress-spinner'), require('@angular/material/table'), require('@angular/material/tooltip'), require('@fortawesome/angular-fontawesome'), require('@fortawesome/free-solid-svg-icons'), require('@coolon/pectin'), require('@angular/platform-browser'), require('lodash'), require('@typescript-plus/fast-memoize-decorator/dist/src'), require('typescript-string-enums'), require('@coolon/typescript-utilities'), require('resize-observer-polyfill'), require('immer'), require('@angular/flex-layout'), require('@angular/material/dialog'), require('@angular/router'), require('@angular/cdk/overlay'), require('@angular/material/list'), require('@typescript-plus/fast-memoize-decorator'), require('reflect-metadata'), require('@angular/animations'), require('wake-event')) :
3
+ typeof define === 'function' && define.amd ? define('@coolon/angular-ui-powerups', ['exports', '@angular/common', '@angular/core', '@angular/forms', '@angular/material/form-field', '@angular/material/input', '@angular/material/select', '@angular/material/tabs', '@angular/platform-browser/animations', '@angular/cdk/portal', '@angular/cdk/scrolling', '@angular/material/autocomplete', '@angular/material/button', '@angular/material/checkbox', '@angular/material/divider', '@angular/material/icon', '@angular/material/menu', '@angular/material/progress-spinner', '@angular/material/table', '@angular/material/tooltip', '@fortawesome/angular-fontawesome', '@fortawesome/free-solid-svg-icons', '@coolon/pectin', '@angular/platform-browser', 'lodash', '@typescript-plus/fast-memoize-decorator/dist/src', 'typescript-string-enums', '@coolon/typescript-utilities', 'resize-observer-polyfill', 'immer', '@angular/flex-layout', '@angular/material/dialog', '@angular/router', '@angular/cdk/overlay', '@angular/material/list', '@typescript-plus/fast-memoize-decorator', 'reflect-metadata', '@angular/animations', 'wake-event'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.coolon = global.coolon || {}, global.coolon['angular-ui-powerups'] = {}), global.ng.common, global.ng.core, global.ng.forms, global.ng.material.formField, global.ng.material.input, global.ng.material.select, global.ng.material.tabs, global.ng.platformBrowser.animations, global.ng.cdk.portal, global.ng.cdk.scrolling, global.ng.material.autocomplete, global.ng.material.button, global.ng.material.checkbox, global.ng.material.divider, global.ng.material.icon, global.ng.material.menu, global.ng.material.progressSpinner, global.ng.material.table, global.ng.material.tooltip, global.angularFontawesome, global.freeSolidSvgIcons, global.pectin, global.ng.platformBrowser, global._, global.src, global.typescriptStringEnums, global.typescriptUtilities, global.ResizeObserver, global.produce, global.ng.flexLayout, global.ng.material.dialog, global.ng.router, global.ng.cdk.overlay, global.ng.material.list, global.fastMemoizeDecorator, null, global.ng.animations, global.wakeEvent));
5
+ }(this, (function (exports, i2, i0, forms, formField, input, select, tabs, animations, portal, scrolling, autocomplete, button, checkbox, divider, icon, menu, progressSpinner, table, tooltip, angularFontawesome, freeSolidSvgIcons, pectin, platformBrowser, _, src, typescriptStringEnums, typescriptUtilities, ResizeObserver, produce, flexLayout, i1, i1$1, overlay, list, fastMemoizeDecorator, reflectMetadata, animations$1, wakeEvent) { 'use strict';
6
6
 
7
7
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
8
 
@@ -1047,7 +1047,7 @@
1047
1047
  selector: 'aup-command-face',
1048
1048
  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",
1049
1049
  encapsulation: i0.ViewEncapsulation.None,
1050
- 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}"]
1050
+ 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}"]
1051
1051
  },] }
1052
1052
  ];
1053
1053
  CommandFaceComponent.ctorParameters = function () { return []; };
@@ -1064,6 +1064,12 @@
1064
1064
  __metadata("design:type", Array)
1065
1065
  ], CommandFaceComponent.prototype, "_rawFaces", void 0);
1066
1066
 
1067
+ var HorizontalAlignment = typescriptStringEnums.Enum({
1068
+ START: 'start',
1069
+ CENTER: 'center',
1070
+ END: 'end'
1071
+ });
1072
+
1067
1073
  var PopupAwareComponent = /** @class */ (function (_super) {
1068
1074
  __extends(PopupAwareComponent, _super);
1069
1075
  function PopupAwareComponent(element, parent) {
@@ -1106,6 +1112,7 @@
1106
1112
  function CommandComponent(element, parent) {
1107
1113
  var _this = _super.call(this, element, parent) || this;
1108
1114
  _this.CommandFace = exports.CommandFace;
1115
+ _this.alignFace = HorizontalAlignment.CENTER;
1109
1116
  var _a = pectin.Dsl.disposeWith(_this), chain = _a.chain, switchOn = _a.switchOn;
1110
1117
  _this.faces = chain(_this.command.busy).mapToList(function (busy) {
1111
1118
  return busy ?
@@ -1138,8 +1145,8 @@
1138
1145
  CommandComponent.decorators = [
1139
1146
  { type: i0.Component, args: [{
1140
1147
  selector: 'aup-command',
1141
- 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",
1142
- styles: [":host{display:inline-flex;flex-direction:row;justify-content:stretch}button{flex:1}"]
1148
+ 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",
1149
+ 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}"]
1143
1150
  },] }
1144
1151
  ];
1145
1152
  CommandComponent.ctorParameters = function () { return [
@@ -1151,7 +1158,8 @@
1151
1158
  faceModel: [{ type: i0.Input }],
1152
1159
  face: [{ type: i0.Input }],
1153
1160
  busyFaceModel: [{ type: i0.Input }],
1154
- busyFace: [{ type: i0.Input }]
1161
+ busyFace: [{ type: i0.Input }],
1162
+ alignFace: [{ type: i0.Input }, { type: i0.HostBinding, args: ["class",] }]
1155
1163
  };
1156
1164
  __decorate([
1157
1165
  pectin.TrackExternal(),
@@ -1306,7 +1314,7 @@
1306
1314
  MoreMenuComponent.decorators = [
1307
1315
  { type: i0.Component, args: [{
1308
1316
  selector: 'aup-more-menu',
1309
- 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",
1317
+ 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",
1310
1318
  providers: [
1311
1319
  { provide: POPUP_CONTAINER, useExisting: MoreMenuComponent }
1312
1320
  ]
@@ -1545,7 +1553,7 @@
1545
1553
  PopupMenuComponent.decorators = [
1546
1554
  { type: i0.Component, args: [{
1547
1555
  selector: 'aup-popup-menu',
1548
- 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",
1556
+ 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",
1549
1557
  providers: [
1550
1558
  { provide: POPUP_CONTAINER, useExisting: PopupMenuComponent }
1551
1559
  ]
@@ -2832,9 +2840,10 @@
2832
2840
  function ColumnModel(columnId, textPropertiesProvider) {
2833
2841
  this.columnId = columnId;
2834
2842
  this.textPropertiesProvider = textPropertiesProvider;
2835
- this._selectRowOnClick = undefined;
2843
+ this._enableRowSelection = true;
2836
2844
  this._flex = false;
2837
- this._visibleModel = new pectin.DelegatingValueModel().withDefault(true);
2845
+ this._defaultVisibility = new pectin.DelegatingValueModel().withDefault(true);
2846
+ this._visible = new pectin.DelegatingValueModel().withDefault(this._defaultVisibility);
2838
2847
  this.installHeaderRenderer();
2839
2848
  this.dasherisedColumnId = typescriptUtilities.Stringy.from(columnId).dasherize().toString();
2840
2849
  }
@@ -2852,15 +2861,18 @@
2852
2861
  };
2853
2862
  Object.defineProperty(ColumnModel.prototype, "visible", {
2854
2863
  get: function () {
2855
- return this._visibleModel.readonly;
2864
+ return this._visible.readonly;
2856
2865
  },
2857
2866
  enumerable: false,
2858
2867
  configurable: true
2859
2868
  });
2860
2869
  ColumnModel.prototype.visibleWhile = function (visible) {
2861
- this._visibleModel.setDelegate(visible);
2870
+ this._visible.setDelegate(visible);
2862
2871
  return this;
2863
2872
  };
2873
+ ColumnModel.prototype.setDefaultVisibility = function (visible) {
2874
+ this._defaultVisibility.setDelegate(visible);
2875
+ };
2864
2876
  ColumnModel.prototype.getDefaultHeaderText = function () {
2865
2877
  return this.columnId;
2866
2878
  };
@@ -2923,18 +2935,12 @@
2923
2935
  ColumnModel.prototype.updatePortalContent = function (host) {
2924
2936
  this._cellRendererPortalRef.pushState(host);
2925
2937
  };
2926
- ColumnModel.prototype.selectRowOnClick = function (selectOnRowClick) {
2927
- this._selectRowOnClick = selectOnRowClick;
2938
+ ColumnModel.prototype._selectRowOnClick = function (selectRowOnClick) {
2939
+ this._enableRowSelection = selectRowOnClick;
2928
2940
  return this;
2929
2941
  };
2930
2942
  ColumnModel.prototype.isRowSelectionEnabled = function () {
2931
- return this._selectRowOnClick;
2932
- };
2933
- ColumnModel.prototype.isRowSelectionExplicitlyEnabled = function () {
2934
- return this._selectRowOnClick === true;
2935
- };
2936
- ColumnModel.prototype.isRowSelectionExplicitlyDisabled = function () {
2937
- return this._selectRowOnClick === false;
2943
+ return this._enableRowSelection;
2938
2944
  };
2939
2945
  return ColumnModel;
2940
2946
  }());
@@ -3038,7 +3044,7 @@
3038
3044
  return this;
3039
3045
  };
3040
3046
  PropertyColumnModel.prototype.selectRowOnClick = function (selectOnRowClick) {
3041
- return _super.prototype.selectRowOnClick.call(this, selectOnRowClick);
3047
+ return this._selectRowOnClick(selectOnRowClick);
3042
3048
  };
3043
3049
  return PropertyColumnModel;
3044
3050
  }(ColumnModel));
@@ -3079,8 +3085,8 @@
3079
3085
  this._format = formatter;
3080
3086
  return this;
3081
3087
  };
3082
- ListPropertyColumnModel.prototype.selectRowOnClick = function (selectOnRowClick) {
3083
- return _super.prototype.selectRowOnClick.call(this, selectOnRowClick);
3088
+ ListPropertyColumnModel.prototype.selectRowOnClick = function (selectRowOnClick) {
3089
+ return this._selectRowOnClick(selectRowOnClick);
3084
3090
  };
3085
3091
  return ListPropertyColumnModel;
3086
3092
  }(ColumnModel));
@@ -3113,7 +3119,7 @@
3113
3119
  return this;
3114
3120
  };
3115
3121
  CustomValueColumnModel.prototype.selectRowOnClick = function (selectOnRowClick) {
3116
- return _super.prototype.selectRowOnClick.call(this, selectOnRowClick);
3122
+ return this._selectRowOnClick(selectOnRowClick);
3117
3123
  };
3118
3124
  return CustomValueColumnModel;
3119
3125
  }(ColumnModel));
@@ -3149,7 +3155,7 @@
3149
3155
  this.config.registerPortal(templateRef, viewContainer, fillCell, padChild);
3150
3156
  };
3151
3157
  CustomTemplateColumnModel.prototype.selectRowOnClick = function (selectOnRowClick) {
3152
- return _super.prototype.selectRowOnClick.call(this, selectOnRowClick);
3158
+ return this._selectRowOnClick(selectOnRowClick);
3153
3159
  };
3154
3160
  return CustomTemplateColumnModel;
3155
3161
  }(ColumnModel));
@@ -3159,8 +3165,7 @@
3159
3165
  var _this = _super.call(this, columnId, defaults) || this;
3160
3166
  _this._enableHeaderControls = true;
3161
3167
  _this.selectionModel = pectin.DelegatingSelectionModel.createDelegate();
3162
- _this.hasSelectionModel = new pectin.MutableValueModel(false);
3163
- _this.selectOnRowClick(false);
3168
+ _this._selectRowOnClick(false);
3164
3169
  _this.cellHeaderRenderer(SelectHeaderCellRendererComponent, function (component) {
3165
3170
  component.selectionModel = _this.selectionModel;
3166
3171
  component.enableHeaderControls = _this._enableHeaderControls;
@@ -3170,24 +3175,15 @@
3170
3175
  component.selectionModel = _this.selectionModel;
3171
3176
  }));
3172
3177
  _this.setSelectionModel(selectionModel);
3173
- _this.visibleWhile(_this.hasSelectionModel);
3174
3178
  return _this;
3175
3179
  }
3176
3180
  SelectionColumnModel.prototype.setSelectionModel = function (selectionModel) {
3177
3181
  this.selectionModel.setDelegate(selectionModel);
3178
- this.hasSelectionModel.value = !!selectionModel;
3182
+ this.setDefaultVisibility(selectionModel instanceof pectin.MultipleSelectionModel ? pectin.ValueModel.TRUE : pectin.ValueModel.FALSE);
3179
3183
  };
3180
3184
  SelectionColumnModel.prototype.getDefaultHeaderText = function () {
3181
3185
  return '';
3182
3186
  };
3183
- SelectionColumnModel.prototype.isRowSelectionEnabledByDefault = function () {
3184
- return this.isRowSelectionExplicitlyEnabled();
3185
- };
3186
- SelectionColumnModel.prototype.selectOnRowClick = function (selectOnRowClick) {
3187
- // note we're using different method name as the selection column treats this
3188
- // state as the default for all columns.
3189
- return _super.prototype.selectRowOnClick.call(this, selectOnRowClick);
3190
- };
3191
3187
  SelectionColumnModel.prototype.enableHeaderControls = function (enable) {
3192
3188
  this._enableHeaderControls = enable;
3193
3189
  return this;
@@ -3201,243 +3197,6 @@
3201
3197
  return SelectionColumnModel;
3202
3198
  }(ColumnModel));
3203
3199
 
3204
- var EditSession = /** @class */ (function (_super) {
3205
- __extends(EditSession, _super);
3206
- function EditSession(rowId, row, form, saveCommand) {
3207
- var _this = _super.call(this) || this;
3208
- _this.rowId = rowId;
3209
- _this.form = form;
3210
- _this.saveCommand = saveCommand;
3211
- _this._liveRowValue = new pectin.MutableValueModel();
3212
- _this.liveRowValue = _this._liveRowValue.readonly;
3213
- _this.form.load(row);
3214
- _this._liveRowValue.value = row;
3215
- _this.form.onEdit(function () {
3216
- // if (!this._liveRowValue.value[immerable]) {
3217
- // console.warn()
3218
- // }
3219
- _this._liveRowValue.value = produce__default['default'](_this._liveRowValue.value, function (draft) {
3220
- _this.form.writeDirtyStateTo(draft);
3221
- });
3222
- });
3223
- return _this;
3224
- }
3225
- return EditSession;
3226
- }(pectin.GarbageCollector));
3227
-
3228
- // export type StringPropertiesOf<T> = { [K in keyof T]: T[K] extends string ? K : never }[keyof T];
3229
- // export type NumberPropertiesOf<T> = { [K in keyof T]: T[K] extends number ? K : never }[keyof T];
3230
- var RowClass = /** @class */ (function () {
3231
- function RowClass(className, matches) {
3232
- this.className = className;
3233
- this.matches = matches;
3234
- }
3235
- return RowClass;
3236
- }());
3237
- var VisibleColumnListModel = /** @class */ (function (_super) {
3238
- __extends(VisibleColumnListModel, _super);
3239
- function VisibleColumnListModel() {
3240
- var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
3241
- _this.columns = [];
3242
- return _this;
3243
- }
3244
- VisibleColumnListModel.prototype.addColumn = function (column) {
3245
- var _this = this;
3246
- this.runInTransaction(function () {
3247
- _this.columns.push(column);
3248
- _this.trackSource(column.visible);
3249
- });
3250
- };
3251
- VisibleColumnListModel.prototype.doComputeValue = function () {
3252
- return this.columns.filter(function (c) { return c.visible.value; });
3253
- };
3254
- return VisibleColumnListModel;
3255
- }(pectin.AbstractComputedListModel));
3256
- var AbstractTableModel = /** @class */ (function (_super) {
3257
- __extends(AbstractTableModel, _super);
3258
- function AbstractTableModel(sourceOfTruth) {
3259
- var _this = _super.call(this) || this;
3260
- _this.sourceOfTruth = sourceOfTruth;
3261
- _this._columns = new pectin.MutableListModel();
3262
- _this._visibleColumnTracker = new VisibleColumnListModel();
3263
- _this._editorSessions = new pectin.MutableListModel();
3264
- _this.rowClassNamePredicates = [];
3265
- _this.rowClickListeners = new pectin.EventListenerList();
3266
- _this._createForm = function (row) { return new pectin.DirtyTrackingForm(); };
3267
- _this.trackBy = function (index, item) {
3268
- return _this.identityOf ? _this.identityOf(item) : index;
3269
- };
3270
- _this.identityOf = sourceOfTruth.identityOf;
3271
- var _b = pectin.Dsl.disposeWith(_this), chain = _b.chain, valueOf = _b.valueOf, before = _b.before, when = _b.when, after = _b.after, observe = _b.observe, switchOn = _b.switchOn;
3272
- _this._columnsById = chain(_this._columns).indexBy('columnId');
3273
- _this._rowsBeingEdited = new pectin.MutableListModel([], {
3274
- identifiedWith: _this.identityOf
3275
- });
3276
- _this._editorSessionByRowId = chain(_this._editorSessions).indexBy('rowId');
3277
- _this.editing = chain(_this._editorSessions).count().isGreaterThan(0);
3278
- _this.dataSource = chain(_this.sourceOfTruth).replaceAll(_this.rowsBeingEdited);
3279
- _this.firstEditableColumn = chain(_this.columns).select(function (c) { return c.hasEditorPortal(); }).first();
3280
- _this.hasColumnsWithRowSelectionExplicitlyEnabled = chain(_this._columns).findIndex(function (column) { return column.isRowSelectionExplicitlyEnabled(); }).isGreaterThanOrEqualTo(0);
3281
- _this.firstVisibleColumn = chain(_this._visibleColumnTracker).first();
3282
- _this.lastVisibleColumn = chain(_this._visibleColumnTracker).last();
3283
- return _this;
3284
- }
3285
- Object.defineProperty(AbstractTableModel.prototype, "rowsBeingEdited", {
3286
- get: function () {
3287
- return this._rowsBeingEdited.readonly;
3288
- },
3289
- enumerable: false,
3290
- configurable: true
3291
- });
3292
- Object.defineProperty(AbstractTableModel.prototype, "columns", {
3293
- get: function () {
3294
- return this._columns.readonly;
3295
- },
3296
- enumerable: false,
3297
- configurable: true
3298
- });
3299
- Object.defineProperty(AbstractTableModel.prototype, "visibleColumns", {
3300
- get: function () {
3301
- return this._visibleColumnTracker.readonly;
3302
- },
3303
- enumerable: false,
3304
- configurable: true
3305
- });
3306
- AbstractTableModel.prototype.pluck = function (property, options) {
3307
- var _this = this;
3308
- var columnId = (options === null || options === void 0 ? void 0 : options.columnId) || property.toString();
3309
- return this.addColumn(new PropertyColumnModel(columnId, property, function () { return _this.getColumnTextProperties(columnId); }));
3310
- };
3311
- AbstractTableModel.prototype.pluckList = function (property, options) {
3312
- var _this = this;
3313
- var columnId = (options === null || options === void 0 ? void 0 : options.columnId) || property.toString();
3314
- return this.addColumn(new ListPropertyColumnModel(columnId, property, function () { return _this.getColumnTextProperties(columnId); }));
3315
- };
3316
- AbstractTableModel.prototype._addSelectionColumn = function (selectionModel) {
3317
- var _this = this;
3318
- pectin.assert.isNil(this.selectionColumnModel);
3319
- var columnId = 'selection-column';
3320
- this.selectionColumnModel = new SelectionColumnModel(columnId, function () { return _this.getColumnTextProperties(columnId); }, selectionModel);
3321
- this.addRowClass('aup-row-selected', function (row) { return _this.selectionColumnModel.isSelected(row); });
3322
- return this.addColumn(this.selectionColumnModel);
3323
- };
3324
- AbstractTableModel.prototype.addEditControls = function (saveCommand) {
3325
- var _this = this;
3326
- this.saveCommand = saveCommand;
3327
- var columnId = 'editControls';
3328
- return this.addColumn(new EditorControlColumnModel(columnId, saveCommand, function () { return _this.getColumnTextProperties(columnId); }));
3329
- };
3330
- AbstractTableModel.prototype.addCustomColumn = function (columnId, dataAccessor) {
3331
- var _this = this;
3332
- return this.addColumn(new CustomValueColumnModel(columnId, function () { return _this.getColumnTextProperties(columnId); }, dataAccessor));
3333
- };
3334
- AbstractTableModel.prototype.addComponentColumn = function (columnId, component, onComponentInitOrOptions) {
3335
- var _this = this;
3336
- return this.addColumn(new CustomValueColumnModel(columnId, function () { return _this.getColumnTextProperties(columnId); }, function (row) { return row; })).cellRenderer(component, onComponentInitOrOptions);
3337
- };
3338
- AbstractTableModel.prototype.addTemplateColumn = function (columnId) {
3339
- var _this = this;
3340
- return this.addColumn(new CustomTemplateColumnModel(columnId, function () { return _this.getColumnTextProperties(columnId); }));
3341
- };
3342
- AbstractTableModel.prototype.addRowClass = function (className, predicate) {
3343
- this.rowClassNamePredicates.push(new RowClass(className, predicate));
3344
- };
3345
- AbstractTableModel.prototype.getRowClasses = function (row) {
3346
- var classNames = [];
3347
- this.rowClassNamePredicates.forEach(function (i) {
3348
- if (i.matches(row)) {
3349
- classNames.push(i.className);
3350
- }
3351
- });
3352
- return classNames;
3353
- };
3354
- AbstractTableModel.prototype.useFormFactory = function (factory) {
3355
- this._createForm = factory;
3356
- return this;
3357
- };
3358
- AbstractTableModel.prototype.addColumn = function (column) {
3359
- if (this._columnsById.get(column.columnId)) {
3360
- pectin.lang.illegalState("Column with id=" + column.columnId + " already exists");
3361
- }
3362
- else {
3363
- this._columns.push(column);
3364
- this._visibleColumnTracker.addColumn(column);
3365
- }
3366
- return column;
3367
- };
3368
- // removeColumn(column: ColumnModel<Row>) {
3369
- //
3370
- // }
3371
- AbstractTableModel.prototype.columnTextProperties = function (columnTextProperties) {
3372
- this._columnTextPropertiesLookup = columnTextProperties;
3373
- };
3374
- AbstractTableModel.prototype.getColumnTextProperties = function (columnId) {
3375
- return this._columnTextPropertiesLookup ? this._columnTextPropertiesLookup[columnId] : undefined;
3376
- };
3377
- AbstractTableModel.prototype.startEditSession = function (row) {
3378
- var _this = this;
3379
- var rowId = this.identityOf(row);
3380
- if (this._rowsBeingEdited.query().indexOf(row) > -1) {
3381
- return pectin.lang.illegalState("Row with id=" + rowId + " already being edited");
3382
- }
3383
- else {
3384
- var editSession_1 = new EditSession(rowId, row, this._createForm(row), this.saveCommand);
3385
- var when = pectin.Dsl.disposeWith(editSession_1).when;
3386
- when(editSession_1.liveRowValue).changes(function (editedValue) {
3387
- _this._rowsBeingEdited.replaceOrPush(editedValue);
3388
- }, { initialValue: 'triggerChangeUnlessNil' });
3389
- this._editorSessions.push(editSession_1);
3390
- editSession_1.onDispose(function () {
3391
- _this._rowsBeingEdited.remove(editSession_1.liveRowValue.value);
3392
- _this._editorSessions.remove(editSession_1);
3393
- });
3394
- return editSession_1;
3395
- }
3396
- };
3397
- AbstractTableModel.prototype.getEditSessionFor = function (row) {
3398
- return this._editorSessionByRowId.get(this.identityOf(row));
3399
- };
3400
- AbstractTableModel.prototype.cancelAllEditorSessions = function () {
3401
- var _this = this;
3402
- this._editorSessions.runInTransaction(function (draft) {
3403
- _this._rowsBeingEdited.runInTransaction(function () {
3404
- draft.value.forEach(function (session) { return session.dispose(); });
3405
- });
3406
- });
3407
- };
3408
- AbstractTableModel.prototype.isRowSelectionEnabledFor = function (column) {
3409
- var _a;
3410
- return this.selectionColumnModel && ((_a = column.isRowSelectionEnabled()) !== null && _a !== void 0 ? _a : this.isRowSelectionEnabledByDefault());
3411
- };
3412
- AbstractTableModel.prototype.isRowSelectionEnabledByDefault = function () {
3413
- return this.selectionColumnModel && this.selectionColumnModel.isRowSelectionEnabledByDefault();
3414
- };
3415
- AbstractTableModel.prototype.isRowSelectionEnabled = function () {
3416
- return this.hasColumnsWithRowSelectionExplicitlyEnabled.value || this.isRowSelectionEnabledByDefault();
3417
- };
3418
- AbstractTableModel.prototype.isHoverEnabled = function () {
3419
- return this.isRowSelectionEnabled() || this.rowClickListeners.listenerCount > 0;
3420
- };
3421
- AbstractTableModel.prototype.isCursorEnabled = function (column) {
3422
- return this.isRowSelectionEnabledFor(column) || this.rowClickListeners.listenerCount > 0;
3423
- };
3424
- AbstractTableModel.prototype.selectRow = function (row) {
3425
- var _a;
3426
- (_a = this.selectionColumnModel) === null || _a === void 0 ? void 0 : _a.selectRow(row);
3427
- };
3428
- AbstractTableModel.prototype.onRowClicked = function (callback) {
3429
- return this.rowClickListeners.add(callback);
3430
- };
3431
- AbstractTableModel.prototype._notifyCellClicked = function (columnModel, row) {
3432
- if (this.isRowSelectionEnabledFor(columnModel)) {
3433
- this.selectRow(row);
3434
- }
3435
- this.rowClickListeners.fire(function (l) { return l(row); });
3436
- };
3437
- return AbstractTableModel;
3438
- }(pectin.GarbageCollector));
3439
- pectin.TrackExternal.oneTimeBinding(AbstractTableModel);
3440
-
3441
3200
  /**
3442
3201
  * Create your model:
3443
3202
  * @example
@@ -3497,9 +3256,9 @@
3497
3256
  * }
3498
3257
  * }
3499
3258
  */
3500
- var TableComponent = /** @class */ (function (_super) {
3501
- __extends(TableComponent, _super);
3502
- function TableComponent(elementRef, ngZone) {
3259
+ var AbstractTableComponent = /** @class */ (function (_super) {
3260
+ __extends(AbstractTableComponent, _super);
3261
+ function AbstractTableComponent(elementRef, ngZone) {
3503
3262
  var _this = _super.call(this, elementRef, ngZone) || this;
3504
3263
  /**
3505
3264
  * Set to true to enable scrolling. Once enabled the table will have 0 implicit height. You will either
@@ -3510,6 +3269,7 @@
3510
3269
  // TODO: support user defined header and row heights via css vars.
3511
3270
  _this.headerHeight = new pectin.MutableValueModel(56);
3512
3271
  _this.rowHeight = new pectin.MutableValueModel(48);
3272
+ _this.baseCssClass = 'aup-table-component';
3513
3273
  var _b = pectin.Dsl.disposeWith(_this), chain = _b.chain, when = _b.when;
3514
3274
  var actualHeaderHeight = chain(_this.showHeaderModel).map(function (show) {
3515
3275
  return show ? _this.headerHeight.value : 0;
@@ -3517,51 +3277,52 @@
3517
3277
  _this.visibleRowCount = chain(_this.boundsModel).map(function (bounds) {
3518
3278
  // TODO: this doesn't take into account any css styling adjustments etc. Will invistigate if it's an issue.
3519
3279
  var rawRowCount = (bounds.height - actualHeaderHeight.value) / _this.rowHeight.value;
3520
- var rowCount = rawRowCount < 1 ? 0 : Math.floor(rawRowCount);
3521
- // console.log({rowCount})
3522
- return rowCount;
3280
+ return rawRowCount < 1 ? 0 : Math.floor(rawRowCount);
3523
3281
  }, {
3524
3282
  dependsOn: [actualHeaderHeight, _this.rowHeight],
3525
3283
  postponeWhile: chain(_this.boundsModel).pluckNumeric('height').isLessThan(1)
3526
3284
  });
3527
3285
  return _this;
3528
3286
  }
3529
- Object.defineProperty(TableComponent.prototype, "hideHeader", {
3287
+ Object.defineProperty(AbstractTableComponent.prototype, "hideHeader", {
3530
3288
  get: function () {
3531
3289
  return !this.showHeader;
3532
3290
  },
3533
3291
  enumerable: false,
3534
3292
  configurable: true
3535
3293
  });
3536
- TableComponent.prototype.ngOnInit = function () {
3294
+ AbstractTableComponent.prototype.getModel = function () {
3295
+ return typescriptUtilities.lang.abstractMethod(this.constructor);
3296
+ };
3297
+ AbstractTableComponent.prototype.ngOnInit = function () {
3537
3298
  var _b = pectin.Dsl.disposeWith(this), chain = _b.chain, valueOf = _b.valueOf, before = _b.before, when = _b.when, after = _b.after, observe = _b.observe, switchOn = _b.switchOn;
3538
- this.columns = chain(this.tableModel.columns);
3299
+ this.columns = chain(this.getModel().columns);
3539
3300
  this.columnIds = chain(this.columns).pluck('columnId');
3540
3301
  this.columnsById = chain(this.columns).indexBy('columnId');
3541
3302
  };
3542
- TableComponent.prototype.isEditing = function (row) {
3543
- return !!this.tableModel.getEditSessionFor(row);
3303
+ AbstractTableComponent.prototype.isEditing = function (row) {
3304
+ return !!this.getModel().getEditSessionFor(row);
3544
3305
  };
3545
- TableComponent.prototype.registerColumnTemplate = function (columnId, templateRef, viewContainer, fillCell, padChild) {
3306
+ AbstractTableComponent.prototype.registerColumnTemplate = function (columnId, templateRef, viewContainer, fillCell, padChild) {
3546
3307
  var column = this.columnsById.get(columnId);
3547
3308
  if (column instanceof CustomTemplateColumnModel) {
3548
3309
  column.setTemplate(templateRef, viewContainer, fillCell, padChild);
3549
3310
  }
3550
3311
  };
3551
- TableComponent.prototype.notifyCellClicked = function (columnModel, row) {
3552
- this.tableModel._notifyCellClicked(columnModel, row);
3312
+ AbstractTableComponent.prototype.notifyCellClicked = function (columnModel, row) {
3313
+ this.getModel()._notifyCellClicked(columnModel, row);
3553
3314
  };
3554
3315
  // @Trace()
3555
- TableComponent.prototype.isFirstVisibleColumn = function (columnId) {
3316
+ AbstractTableComponent.prototype.isFirstVisibleColumn = function (columnId) {
3556
3317
  var _a;
3557
- return ((_a = this.tableModel.firstVisibleColumn.query().value) === null || _a === void 0 ? void 0 : _a.columnId) === columnId;
3318
+ return ((_a = this.getModel().firstVisibleColumn.query().value) === null || _a === void 0 ? void 0 : _a.columnId) === columnId;
3558
3319
  };
3559
3320
  // @Trace()
3560
- TableComponent.prototype.isLastVisibleColumn = function (columnId) {
3321
+ AbstractTableComponent.prototype.isLastVisibleColumn = function (columnId) {
3561
3322
  var _a;
3562
- return ((_a = this.tableModel.lastVisibleColumn.query().value) === null || _a === void 0 ? void 0 : _a.columnId) === columnId;
3323
+ return ((_a = this.getModel().lastVisibleColumn.query().value) === null || _a === void 0 ? void 0 : _a.columnId) === columnId;
3563
3324
  };
3564
- TableComponent.prototype.getColumnClasses = function (columnId) {
3325
+ AbstractTableComponent.prototype.getColumnClasses = function (columnId) {
3565
3326
  var classes = ["aup-col-" + this.columnsById.get(columnId).dasherisedColumnId];
3566
3327
  if (this.isFirstVisibleColumn(columnId)) {
3567
3328
  classes.push('first-visible-column');
@@ -3571,38 +3332,33 @@
3571
3332
  }
3572
3333
  return classes;
3573
3334
  };
3574
- return TableComponent;
3335
+ return AbstractTableComponent;
3575
3336
  }(ResizeAwareComponent));
3576
- TableComponent.decorators = [
3337
+ AbstractTableComponent.decorators = [
3577
3338
  { type: i0.Component, args: [{
3578
- selector: 'aup-table',
3579
- 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",
3580
- 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}"]
3339
+ selector: 'aup-abstract-table',
3340
+ template: ''
3581
3341
  },] }
3582
3342
  ];
3583
- TableComponent.ctorParameters = function () { return [
3343
+ AbstractTableComponent.ctorParameters = function () { return [
3584
3344
  { type: i0.ElementRef },
3585
3345
  { type: i0.NgZone }
3586
3346
  ]; };
3587
- TableComponent.propDecorators = {
3588
- tableModel: [{ type: i0.Input }],
3347
+ AbstractTableComponent.propDecorators = {
3589
3348
  showHeaderModel: [{ type: i0.Input }],
3590
3349
  showHeader: [{ type: i0.Input }],
3591
3350
  enableScrolling: [{ type: i0.Input }, { type: i0.HostBinding, args: ['class.enable-scrolling',] }],
3351
+ baseCssClass: [{ type: i0.HostBinding, args: ['class',] }],
3592
3352
  hideHeader: [{ type: i0.HostBinding, args: ['class.hide-header',] }]
3593
3353
  };
3594
- __decorate([
3595
- pectin.TrackExternal(),
3596
- __metadata("design:type", AbstractTableModel)
3597
- ], TableComponent.prototype, "tableModel", void 0);
3598
3354
  __decorate([
3599
3355
  pectin.TrackExternal({ defaultValue: true }),
3600
3356
  __metadata("design:type", pectin.ValueModel)
3601
- ], TableComponent.prototype, "showHeaderModel", void 0);
3357
+ ], AbstractTableComponent.prototype, "showHeaderModel", void 0);
3602
3358
  __decorate([
3603
3359
  pectin.StoreInValueModel('showHeaderModel'),
3604
3360
  __metadata("design:type", Boolean)
3605
- ], TableComponent.prototype, "showHeader", void 0);
3361
+ ], AbstractTableComponent.prototype, "showHeader", void 0);
3606
3362
 
3607
3363
  var ColumnTemplateDirective = /** @class */ (function () {
3608
3364
  function ColumnTemplateDirective(host, templateRef, viewContainer) {
@@ -3625,7 +3381,7 @@
3625
3381
  },] }
3626
3382
  ];
3627
3383
  ColumnTemplateDirective.ctorParameters = function () { return [
3628
- { type: TableComponent },
3384
+ { type: AbstractTableComponent },
3629
3385
  { type: i0.TemplateRef },
3630
3386
  { type: i0.ViewContainerRef }
3631
3387
  ]; };
@@ -3796,8 +3552,340 @@
3796
3552
  menu: [{ type: i0.ViewChild, args: [menu.MatMenuTrigger,] }]
3797
3553
  };
3798
3554
 
3799
- var SVG_HEIGHT = 60;
3800
- exports.TreeInheritanceIconComponent = /** @class */ (function () {
3555
+ var EditSession = /** @class */ (function (_super) {
3556
+ __extends(EditSession, _super);
3557
+ function EditSession(rowId, row, form, saveCommand) {
3558
+ var _this = _super.call(this) || this;
3559
+ _this.rowId = rowId;
3560
+ _this.form = form;
3561
+ _this.saveCommand = saveCommand;
3562
+ _this._liveRowValue = new pectin.MutableValueModel();
3563
+ _this.liveRowValue = _this._liveRowValue.readonly;
3564
+ _this.form.load(row);
3565
+ _this._liveRowValue.value = row;
3566
+ _this.form.onEdit(function () {
3567
+ // if (!this._liveRowValue.value[immerable]) {
3568
+ // console.warn()
3569
+ // }
3570
+ _this._liveRowValue.value = produce__default['default'](_this._liveRowValue.value, function (draft) {
3571
+ _this.form.writeDirtyStateTo(draft);
3572
+ });
3573
+ });
3574
+ return _this;
3575
+ }
3576
+ return EditSession;
3577
+ }(pectin.GarbageCollector));
3578
+
3579
+ // export type StringPropertiesOf<T> = { [K in keyof T]: T[K] extends string ? K : never }[keyof T];
3580
+ // export type NumberPropertiesOf<T> = { [K in keyof T]: T[K] extends number ? K : never }[keyof T];
3581
+ var RowClass = /** @class */ (function () {
3582
+ function RowClass(className, matches) {
3583
+ this.className = className;
3584
+ this.matches = matches;
3585
+ }
3586
+ return RowClass;
3587
+ }());
3588
+ var VisibleColumnListModel = /** @class */ (function (_super) {
3589
+ __extends(VisibleColumnListModel, _super);
3590
+ function VisibleColumnListModel() {
3591
+ var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
3592
+ _this.columns = [];
3593
+ return _this;
3594
+ }
3595
+ VisibleColumnListModel.prototype.addColumn = function (column) {
3596
+ var _this = this;
3597
+ this.runInTransaction(function () {
3598
+ _this.columns.push(column);
3599
+ _this.trackSource(column.visible);
3600
+ });
3601
+ };
3602
+ VisibleColumnListModel.prototype.doComputeValue = function () {
3603
+ return this.columns.filter(function (c) { return c.visible.value; });
3604
+ };
3605
+ return VisibleColumnListModel;
3606
+ }(pectin.AbstractComputedListModel));
3607
+ var AbstractTableModel = /** @class */ (function (_super) {
3608
+ __extends(AbstractTableModel, _super);
3609
+ function AbstractTableModel(sourceOfTruth) {
3610
+ var _this = _super.call(this) || this;
3611
+ _this.sourceOfTruth = sourceOfTruth;
3612
+ _this._columns = new pectin.MutableListModel();
3613
+ _this._visibleColumnTracker = new VisibleColumnListModel();
3614
+ _this._editorSessions = new pectin.MutableListModel();
3615
+ _this.rowClassNamePredicates = [];
3616
+ _this.rowClickListeners = new pectin.EventListenerList();
3617
+ _this._createForm = function (row) { return new pectin.DirtyTrackingForm(); };
3618
+ _this.trackBy = function (index, item) {
3619
+ return _this.identityOf ? _this.identityOf(item) : index;
3620
+ };
3621
+ _this.identityOf = sourceOfTruth.identityOf;
3622
+ var _b = pectin.Dsl.disposeWith(_this), chain = _b.chain, valueOf = _b.valueOf, before = _b.before, when = _b.when, after = _b.after, observe = _b.observe, switchOn = _b.switchOn;
3623
+ _this._columnsById = chain(_this._columns).indexBy('columnId');
3624
+ _this._rowsBeingEdited = new pectin.MutableListModel([], {
3625
+ identifiedWith: _this.identityOf
3626
+ });
3627
+ _this._editorSessionByRowId = chain(_this._editorSessions).indexBy('rowId');
3628
+ _this.editing = chain(_this._editorSessions).count().isGreaterThan(0);
3629
+ _this.dataSource = chain(_this.sourceOfTruth).replaceAll(_this.rowsBeingEdited);
3630
+ _this.firstEditableColumn = chain(_this.columns).select(function (c) { return c.hasEditorPortal(); }).first();
3631
+ _this.firstVisibleColumn = chain(_this._visibleColumnTracker).first();
3632
+ _this.lastVisibleColumn = chain(_this._visibleColumnTracker).last();
3633
+ _this.rowSelectionDisabledOnAllColumns = chain(_this._visibleColumnTracker).select(function (column) { return column.isRowSelectionEnabled(); }).count().equals(0);
3634
+ return _this;
3635
+ }
3636
+ Object.defineProperty(AbstractTableModel.prototype, "rowsBeingEdited", {
3637
+ get: function () {
3638
+ return this._rowsBeingEdited.readonly;
3639
+ },
3640
+ enumerable: false,
3641
+ configurable: true
3642
+ });
3643
+ Object.defineProperty(AbstractTableModel.prototype, "columns", {
3644
+ get: function () {
3645
+ return this._columns.readonly;
3646
+ },
3647
+ enumerable: false,
3648
+ configurable: true
3649
+ });
3650
+ Object.defineProperty(AbstractTableModel.prototype, "visibleColumns", {
3651
+ get: function () {
3652
+ return this._visibleColumnTracker.readonly;
3653
+ },
3654
+ enumerable: false,
3655
+ configurable: true
3656
+ });
3657
+ AbstractTableModel.prototype.pluck = function (property, options) {
3658
+ var _this = this;
3659
+ var columnId = (options === null || options === void 0 ? void 0 : options.columnId) || property.toString();
3660
+ return this.addColumn(new PropertyColumnModel(columnId, property, function () { return _this.getColumnTextProperties(columnId); }));
3661
+ };
3662
+ AbstractTableModel.prototype.pluckList = function (property, options) {
3663
+ var _this = this;
3664
+ var columnId = (options === null || options === void 0 ? void 0 : options.columnId) || property.toString();
3665
+ return this.addColumn(new ListPropertyColumnModel(columnId, property, function () { return _this.getColumnTextProperties(columnId); }));
3666
+ };
3667
+ AbstractTableModel.prototype._addSelectionColumn = function (selectionModel, visible) {
3668
+ var _this = this;
3669
+ pectin.assert.isNil(this.selectionColumnModel);
3670
+ var columnId = 'selection-column';
3671
+ this.selectionColumnModel = new SelectionColumnModel(columnId, function () { return _this.getColumnTextProperties(columnId); }, selectionModel);
3672
+ this.addRowClass('aup-row-selected', function (row) { return _this.selectionColumnModel.isSelected(row); });
3673
+ var selectionColumnModel = this.addColumn(this.selectionColumnModel);
3674
+ if (!___namespace.isNil(visible)) {
3675
+ selectionColumnModel.visibleWhile(visible instanceof pectin.ValueModel ? visible : pectin.ValueModel.constant(visible));
3676
+ }
3677
+ return selectionColumnModel;
3678
+ };
3679
+ AbstractTableModel.prototype.addEditControls = function (saveCommand) {
3680
+ var _this = this;
3681
+ this.saveCommand = saveCommand;
3682
+ var columnId = 'editControls';
3683
+ return this.addColumn(new EditorControlColumnModel(columnId, saveCommand, function () { return _this.getColumnTextProperties(columnId); }));
3684
+ };
3685
+ AbstractTableModel.prototype.addCustomColumn = function (columnId, dataAccessor) {
3686
+ var _this = this;
3687
+ return this.addColumn(new CustomValueColumnModel(columnId, function () { return _this.getColumnTextProperties(columnId); }, dataAccessor));
3688
+ };
3689
+ AbstractTableModel.prototype.addComponentColumn = function (columnId, component, onComponentInitOrOptions) {
3690
+ var _this = this;
3691
+ return this.addColumn(new CustomValueColumnModel(columnId, function () { return _this.getColumnTextProperties(columnId); }, function (row) { return row; })).cellRenderer(component, onComponentInitOrOptions);
3692
+ };
3693
+ AbstractTableModel.prototype.addTemplateColumn = function (columnId) {
3694
+ var _this = this;
3695
+ return this.addColumn(new CustomTemplateColumnModel(columnId, function () { return _this.getColumnTextProperties(columnId); }));
3696
+ };
3697
+ AbstractTableModel.prototype.addRowClass = function (className, predicate) {
3698
+ this.rowClassNamePredicates.push(new RowClass(className, predicate));
3699
+ };
3700
+ AbstractTableModel.prototype.getRowClasses = function (row) {
3701
+ var classNames = [];
3702
+ this.rowClassNamePredicates.forEach(function (i) {
3703
+ if (i.matches(row)) {
3704
+ classNames.push(i.className);
3705
+ }
3706
+ });
3707
+ return classNames;
3708
+ };
3709
+ AbstractTableModel.prototype.useFormFactory = function (factory) {
3710
+ this._createForm = factory;
3711
+ return this;
3712
+ };
3713
+ AbstractTableModel.prototype.addColumn = function (column) {
3714
+ if (this._columnsById.get(column.columnId)) {
3715
+ pectin.lang.illegalState("Column with id=" + column.columnId + " already exists");
3716
+ }
3717
+ else {
3718
+ this._columns.push(column);
3719
+ this._visibleColumnTracker.addColumn(column);
3720
+ }
3721
+ return column;
3722
+ };
3723
+ // removeColumn(column: ColumnModel<Row>) {
3724
+ //
3725
+ // }
3726
+ AbstractTableModel.prototype.columnTextProperties = function (columnTextProperties) {
3727
+ this._columnTextPropertiesLookup = columnTextProperties;
3728
+ };
3729
+ AbstractTableModel.prototype.getColumnTextProperties = function (columnId) {
3730
+ return this._columnTextPropertiesLookup ? this._columnTextPropertiesLookup[columnId] : undefined;
3731
+ };
3732
+ AbstractTableModel.prototype.startEditSession = function (row) {
3733
+ var _this = this;
3734
+ var rowId = this.identityOf(row);
3735
+ if (this._rowsBeingEdited.query().indexOf(row) > -1) {
3736
+ return pectin.lang.illegalState("Row with id=" + rowId + " already being edited");
3737
+ }
3738
+ else {
3739
+ var editSession_1 = new EditSession(rowId, row, this._createForm(row), this.saveCommand);
3740
+ var when = pectin.Dsl.disposeWith(editSession_1).when;
3741
+ when(editSession_1.liveRowValue).changes(function (editedValue) {
3742
+ _this._rowsBeingEdited.replaceOrPush(editedValue);
3743
+ }, { initialValue: 'triggerChangeUnlessNil' });
3744
+ this._editorSessions.push(editSession_1);
3745
+ editSession_1.onDispose(function () {
3746
+ _this._rowsBeingEdited.remove(editSession_1.liveRowValue.value);
3747
+ _this._editorSessions.remove(editSession_1);
3748
+ });
3749
+ return editSession_1;
3750
+ }
3751
+ };
3752
+ AbstractTableModel.prototype.getEditSessionFor = function (row) {
3753
+ return this._editorSessionByRowId.get(this.identityOf(row));
3754
+ };
3755
+ AbstractTableModel.prototype.cancelAllEditorSessions = function () {
3756
+ var _this = this;
3757
+ this._editorSessions.runInTransaction(function (draft) {
3758
+ _this._rowsBeingEdited.runInTransaction(function () {
3759
+ draft.value.forEach(function (session) { return session.dispose(); });
3760
+ });
3761
+ });
3762
+ };
3763
+ AbstractTableModel.prototype.isRowSelectionEnabledFor = function (column) {
3764
+ return this.isRowSelectionEnabled() && column.isRowSelectionEnabled();
3765
+ };
3766
+ AbstractTableModel.prototype.isRowSelectionEnabled = function () {
3767
+ return this.hasSelectionModel() && !this.rowSelectionDisabledOnAllColumns.value;
3768
+ };
3769
+ AbstractTableModel.prototype.hasSelectionModel = function () {
3770
+ var _a;
3771
+ return !!((_a = this.selectionColumnModel) === null || _a === void 0 ? void 0 : _a.selectionModel.getDelegate());
3772
+ };
3773
+ AbstractTableModel.prototype.isHoverEnabled = function () {
3774
+ return this.isRowSelectionEnabled() || this.rowClickListeners.listenerCount > 0;
3775
+ };
3776
+ AbstractTableModel.prototype.isCursorEnabled = function (column) {
3777
+ return this.isRowSelectionEnabledFor(column) || this.rowClickListeners.listenerCount > 0;
3778
+ };
3779
+ AbstractTableModel.prototype.selectRow = function (row) {
3780
+ var _a;
3781
+ (_a = this.selectionColumnModel) === null || _a === void 0 ? void 0 : _a.selectRow(row);
3782
+ };
3783
+ AbstractTableModel.prototype.onRowClicked = function (callback) {
3784
+ return this.rowClickListeners.add(callback);
3785
+ };
3786
+ AbstractTableModel.prototype._notifyCellClicked = function (columnModel, row) {
3787
+ if (this.isRowSelectionEnabledFor(columnModel)) {
3788
+ this.selectRow(row);
3789
+ }
3790
+ this.rowClickListeners.fire(function (l) { return l(row); });
3791
+ };
3792
+ return AbstractTableModel;
3793
+ }(pectin.GarbageCollector));
3794
+ pectin.TrackExternal.oneTimeBinding(AbstractTableModel);
3795
+
3796
+ /**
3797
+ * Create your model:
3798
+ * @example
3799
+ * this.heroTableModel = TableModel.fromList(heroList, table => {
3800
+ * table.pluck("firstName");
3801
+ * table.pluck("lastName");
3802
+ * table.addCustomColumn("fullName", hero => `${hero.firstName} ${hero.lastName}`);
3803
+ * });
3804
+ *
3805
+ * Create your table
3806
+ * @example
3807
+ * <aup-table [tableModel]="heroTableModel"></aup-table>
3808
+ *
3809
+ * Column templates
3810
+ * @example
3811
+ * this.heroTableModel = TableModel.fromList(heroList, table => {
3812
+ * table.pluck("firstName");
3813
+ * table.pluck("lastName");
3814
+ * table.addTemplateColumn("specialColumn");
3815
+ * });
3816
+ * <aup-table [tableModel]="heroTableModel">
3817
+ * <div *aupColumnTemplate="let hero; columnId: 'specialColumn'; fillCell: true; padChild:false">
3818
+ * {{hero.name}}
3819
+ * </div>
3820
+ * </aup-table>
3821
+ *
3822
+ * Styling
3823
+ * @example
3824
+ * // global settings
3825
+ * :root {
3826
+ * --aup-table-column-gap: 10px; // defaults to 24px
3827
+ * --aup-table-row-hover-background-color, rgba(0, 0, 0, 0.05)
3828
+ * --aup-table-row-selected-background-color: rebeccapurple; // defaults to transparent
3829
+ * --aup-table-first-column-padding-left: 18px // defaults to --column-gap
3830
+ * --aup-table-last-column-padding-right: 18px // defaults to --column-gap
3831
+ * }
3832
+ *
3833
+ * // per table settings.
3834
+ * aup-table {
3835
+ * --column-gap: 10px; // defaults to 24px
3836
+ * --row-hover-background-color, rgba(0, 0, 0, 0.05)
3837
+ * --row-selected-background-color: rebeccapurple; // defaults to transparent
3838
+ * --first-column-padding-left: 18px // defaults to --column-gap
3839
+ * --last-column-padding-right: 18px // defaults to --column-gap
3840
+ *
3841
+ * aup-table-header-cell-renderer,
3842
+ * aup-table-cell-renderer {
3843
+ * &.aup-col-my-dasherised-column-id {
3844
+ * // do stuff
3845
+ * }
3846
+ * &.first-visible-column {
3847
+ * // do stuff
3848
+ * }
3849
+ * &.last-visible-column {
3850
+ * // do stuff
3851
+ * }
3852
+ * }
3853
+ * }
3854
+ */
3855
+ var TableComponent = /** @class */ (function (_super) {
3856
+ __extends(TableComponent, _super);
3857
+ function TableComponent(elementRef, ngZone) {
3858
+ return _super.call(this, elementRef, ngZone) || this;
3859
+ }
3860
+ TableComponent.prototype.getModel = function () {
3861
+ return this.tableModel;
3862
+ };
3863
+ return TableComponent;
3864
+ }(AbstractTableComponent));
3865
+ TableComponent.decorators = [
3866
+ { type: i0.Component, args: [{
3867
+ selector: 'aup-table',
3868
+ 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",
3869
+ providers: [
3870
+ { provide: AbstractTableComponent, useExisting: TableComponent }
3871
+ ],
3872
+ 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}"]
3873
+ },] }
3874
+ ];
3875
+ TableComponent.ctorParameters = function () { return [
3876
+ { type: i0.ElementRef },
3877
+ { type: i0.NgZone }
3878
+ ]; };
3879
+ TableComponent.propDecorators = {
3880
+ tableModel: [{ type: i0.Input }]
3881
+ };
3882
+ __decorate([
3883
+ pectin.TrackExternal(),
3884
+ __metadata("design:type", AbstractTableModel)
3885
+ ], TableComponent.prototype, "tableModel", void 0);
3886
+
3887
+ var SVG_HEIGHT = 60;
3888
+ exports.TreeInheritanceIconComponent = /** @class */ (function () {
3801
3889
  function TreeInheritanceIconComponent() {
3802
3890
  this.pixelWidth = 24;
3803
3891
  this.pixelHeight = 48;
@@ -4009,7 +4097,7 @@
4009
4097
  function TreeLabelColumnModel(columnId, textPropertiesProvider, expansionModel) {
4010
4098
  var _this = _super.call(this, columnId, textPropertiesProvider) || this;
4011
4099
  _this.expansionModel = expansionModel;
4012
- _this.iconFactory = function (node, expanded) { return expanded ? 'mat:folder_open' : 'mat:folder'; };
4100
+ _this.iconFactory = function (node, expanded) { return expanded ? 'mat:expand_more' : 'mat:chevron_right'; };
4013
4101
  _this.cellRenderer(TreeLabelCellRendererComponent);
4014
4102
  return _this;
4015
4103
  }
@@ -4031,8 +4119,8 @@
4031
4119
  }));
4032
4120
  return this;
4033
4121
  };
4034
- TreeLabelColumnModel.prototype.selectRowOnClick = function (selectOnRowClick) {
4035
- return _super.prototype.selectRowOnClick.call(this, selectOnRowClick);
4122
+ TreeLabelColumnModel.prototype._selectRowOnClick = function (selectOnRowClick) {
4123
+ return _super.prototype._selectRowOnClick.call(this, selectOnRowClick);
4036
4124
  };
4037
4125
  return TreeLabelColumnModel;
4038
4126
  }(ColumnModel));
@@ -4345,32 +4433,34 @@
4345
4433
  TreeTableModel.prototype.ensureAncestorsAndSelfVisible = function (node) {
4346
4434
  this.treeExpansionModel.ensureAncestorsAndSelfVisible(node);
4347
4435
  };
4436
+ TreeTableModel.prototype.addSelectionColumn = function (selectionModel, showSelectionColumn) {
4437
+ return this._addSelectionColumn(selectionModel, showSelectionColumn);
4438
+ };
4348
4439
  return TreeTableModel;
4349
4440
  }(AbstractTableModel));
4350
- var FlattenStrategy = /** @class */ (function (_super) {
4351
- __extends(FlattenStrategy, _super);
4352
- function FlattenStrategy(collapsedIds) {
4353
- var _this = _super.call(this) || this;
4354
- _this.collapsedIds = collapsedIds;
4355
- _this._areas = [];
4356
- _this._collapsed = new Set(collapsedIds);
4357
- return _this;
4358
- }
4359
- FlattenStrategy.prototype.onVisit = function (it) {
4360
- this._areas.push(it);
4361
- };
4362
- FlattenStrategy.prototype.shouldVisitChildrenOf = function (it) {
4363
- return !this._collapsed.has(it);
4364
- };
4365
- Object.defineProperty(FlattenStrategy.prototype, "flattenedAreas", {
4366
- get: function () {
4367
- return this._areas;
4368
- },
4369
- enumerable: false,
4370
- configurable: true
4371
- });
4372
- return FlattenStrategy;
4373
- }(exports.SelfAndDescendantsVisitor));
4441
+ // export class FlattenStrategy<T extends VisitableTree<any>> extends SelfAndDescendantsVisitor<T> {
4442
+ //
4443
+ // private _areas: T[] = [];
4444
+ // private _collapsed: Set<T>;
4445
+ //
4446
+ // constructor(private collapsedIds: T[]) {
4447
+ // super();
4448
+ // this._collapsed = new Set<T>(collapsedIds);
4449
+ // }
4450
+ //
4451
+ // protected onVisit(it: T) {
4452
+ // this._areas.push(it);
4453
+ // }
4454
+ //
4455
+ // protected shouldVisitChildrenOf(it: T): boolean {
4456
+ // return !this._collapsed.has(it);
4457
+ // }
4458
+ //
4459
+ // get flattenedAreas(): T[] {
4460
+ // return this._areas;
4461
+ // }
4462
+ //
4463
+ // }
4374
4464
  // class DecoratorCache {
4375
4465
  //
4376
4466
  // private map = new Map<number, T>();
@@ -4394,83 +4484,97 @@
4394
4484
  //
4395
4485
  // }
4396
4486
 
4397
- //
4398
- // const template = `
4399
- // <table-component list-model="zoneTreeController.visibleAreas"
4400
- // selection-model="zoneTreeController.selectionModel"
4401
- // selection-command="zoneTreeController.selectionCommand"
4402
- // hover-model="zoneTreeController.decoratedHoverModel"
4403
- // no-hover="zoneTreeController.noHover"
4404
- // no-lines="true" no-scroll>
4405
- //
4406
- // <row-attr name="parent-id" value="{{item.parent.id}}"></row-attr>
4407
- // <row-attr name="area-id" value="{{item.id}}"></row-attr>
4408
- // <row-attr name="area-name" value="{{item.name}}"></row-attr>
4409
- // <row-attr name="area-depth" value="{{item.depthFromZone()}}"></row-attr>
4410
- // <row-attr name="collapsed" value="{{zoneTreeController.isCollapsed(item)}}"></row-attr>
4411
- //
4412
- // <column class="area" ng-class="{root: item.isZone(), parent: item.isGroup()}" class="allow-squish">
4413
- // <!--<label>Rooms in {{zoneTreeController.zoneModel.value.name}}</label>-->
4414
- // <label>Rooms</label>
4415
- // <div layout="row" layout-align="start center">
4416
- // <tree-icons tree-item="item"></tree-icons>
4417
- // <area-icon area="item"></area-icon>
4418
- // <span ng-if="item.isZone()">Zone ({{item.name}})</span>
4419
- // <span ng-if="!item.isZone()">{{item.name}}</span>
4420
- // </div>
4421
- // </column>
4422
- // <column class="expand-collapse" ng-class="{collapsed: zoneTreeController.isCollapsed(item)}">
4423
- // <md-button class="md-icon-button"
4424
- // ng-if="zoneTreeController.canCollapse(item)"
4425
- // ng-click="zoneTreeController.toggleCollapse(item)">
4426
- // <md-icon>keyboard_arrow_up</md-icon>
4427
- // </md-button>
4428
- // </column>
4429
- //
4430
- // </table-component>
4431
- // `;
4487
+ /**
4488
+ * Create your model:
4489
+ * @example
4490
+ * this.heroTableModel = TableTreeModel.fromList(heroList, table => {
4491
+ * table.pluck("firstName");
4492
+ * table.pluck("lastName");
4493
+ * table.addCustomColumn("fullName", hero => `${hero.firstName} ${hero.lastName}`);
4494
+ * table.addTemplateColumn("specialColumn");
4495
+ * });
4496
+ *
4497
+ * Create your table
4498
+ * @example
4499
+ * <aup-tree-table [treeTableModel]="heroTableModel"></aup-table>
4500
+ *
4501
+ * Column templates
4502
+ * @example
4503
+ * this.heroTableModel = TableModel.fromList(heroList, table => {
4504
+ * table.pluck("firstName");
4505
+ * table.pluck("lastName");
4506
+ * table.addTemplateColumn("specialColumn");
4507
+ * });
4508
+ * <aup-table [tableModel]="heroTableModel">
4509
+ * <div *aupColumnTemplate="let hero; columnId: 'specialColumn'; fillCell: true; padChild:false">
4510
+ * {{hero.name}}
4511
+ * </div>
4512
+ * </aup-table>
4513
+ *
4514
+ * Styling
4515
+ * @example
4516
+ * // global settings
4517
+ * :root {
4518
+ * --aup-table-column-gap: 10px; // defaults to 24px
4519
+ * --aup-table-row-hover-background-color, rgba(0, 0, 0, 0.05)
4520
+ * --aup-table-row-selected-background-color: rebeccapurple; // defaults to transparent
4521
+ * --aup-table-first-column-padding-left: 18px // defaults to --column-gap
4522
+ * --aup-table-last-column-padding-right: 18px // defaults to --column-gap
4523
+ * }
4524
+ *
4525
+ * // per table settings.
4526
+ * aup-table {
4527
+ * --column-gap: 10px; // defaults to 24px
4528
+ * --row-hover-background-color, rgba(0, 0, 0, 0.05)
4529
+ * --row-selected-background-color: rebeccapurple; // defaults to transparent
4530
+ * --first-column-padding-left: 18px // defaults to --column-gap
4531
+ * --last-column-padding-right: 18px // defaults to --column-gap
4532
+ *
4533
+ * aup-table-header-cell-renderer,
4534
+ * aup-table-cell-renderer {
4535
+ * &.aup-col-my-dasherised-column-id {
4536
+ * // do stuff
4537
+ * }
4538
+ * &.first-visible-column {
4539
+ * // do stuff
4540
+ * }
4541
+ * &.last-visible-column {
4542
+ * // do stuff
4543
+ * }
4544
+ * }
4545
+ * }
4546
+ */
4432
4547
  var TreeTableComponent = /** @class */ (function (_super) {
4433
4548
  __extends(TreeTableComponent, _super);
4434
- function TreeTableComponent() {
4435
- var _this = _super.call(this) || this;
4436
- /**
4437
- * Set to true to enable scrolling. Once enabled the table will have 0 implicit height. You will either
4438
- * need to set it explicitly e.g. height: 400px; or by using flex or grid layout to make it fill it's
4439
- * containment area.
4440
- */
4441
- _this.enableScrolling = false;
4442
- return _this;
4549
+ function TreeTableComponent(elementRef, ngZone) {
4550
+ return _super.call(this, elementRef, ngZone) || this;
4443
4551
  }
4552
+ TreeTableComponent.prototype.getModel = function () {
4553
+ return this.treeTableModel;
4554
+ };
4444
4555
  return TreeTableComponent;
4445
- }(DisposableComponent));
4556
+ }(AbstractTableComponent));
4446
4557
  TreeTableComponent.decorators = [
4447
4558
  { type: i0.Component, args: [{
4448
- selector: "aup-tree-table",
4449
- template: "<aup-table [tableModel]=\"treeTableModel\" [showHeaderModel]=\"showHeaderModel\" [enableScrolling]=\"enableScrolling\"></aup-table>\n",
4450
- encapsulation: i0.ViewEncapsulation.None // allow us to target nested table styles
4451
- ,
4452
- 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}"]
4559
+ selector: 'aup-tree-table',
4560
+ 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",
4561
+ providers: [
4562
+ { provide: AbstractTableComponent, useExisting: TreeTableComponent }
4563
+ ],
4564
+ 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}"]
4453
4565
  },] }
4454
4566
  ];
4455
- TreeTableComponent.ctorParameters = function () { return []; };
4567
+ TreeTableComponent.ctorParameters = function () { return [
4568
+ { type: i0.ElementRef },
4569
+ { type: i0.NgZone }
4570
+ ]; };
4456
4571
  TreeTableComponent.propDecorators = {
4457
- treeTableModel: [{ type: i0.Input }],
4458
- showHeaderModel: [{ type: i0.Input }],
4459
- showHeader: [{ type: i0.Input }],
4460
- enableScrolling: [{ type: i0.Input }, { type: i0.HostBinding, args: ['class.enable-scrolling',] }]
4572
+ treeTableModel: [{ type: i0.Input }]
4461
4573
  };
4462
4574
  __decorate([
4463
4575
  pectin.TrackExternal(),
4464
4576
  __metadata("design:type", TreeTableModel)
4465
4577
  ], TreeTableComponent.prototype, "treeTableModel", void 0);
4466
- __decorate([
4467
- pectin.TrackExternal({ defaultValue: true }),
4468
- __metadata("design:type", pectin.ValueModel)
4469
- ], TreeTableComponent.prototype, "showHeaderModel", void 0);
4470
- __decorate([
4471
- pectin.StoreInValueModel('showHeaderModel'),
4472
- __metadata("design:type", Boolean)
4473
- ], TreeTableComponent.prototype, "showHeader", void 0);
4474
4578
 
4475
4579
  var VerticalFocusContainerComponent = /** @class */ (function (_super) {
4476
4580
  __extends(VerticalFocusContainerComponent, _super);
@@ -4646,6 +4750,7 @@
4646
4750
  BusyOverlayComponent,
4647
4751
  EmptyStateComponent,
4648
4752
  PaginatorComponent,
4753
+ AbstractTableComponent
4649
4754
  ],
4650
4755
  imports: [
4651
4756
  i2.CommonModule,
@@ -5503,6 +5608,81 @@
5503
5608
  color: [{ type: i0.Input }, { type: i0.HostBinding, args: ['attr.color',] }]
5504
5609
  };
5505
5610
 
5611
+ var AbstractActivityTriggerComponent = /** @class */ (function (_super) {
5612
+ __extends(AbstractActivityTriggerComponent, _super);
5613
+ function AbstractActivityTriggerComponent() {
5614
+ var _this = _super.call(this) || this;
5615
+ _this.alignFace = HorizontalAlignment.CENTER;
5616
+ _this.confirmEvent = new i0.EventEmitter();
5617
+ _this.cancelEvent = new i0.EventEmitter();
5618
+ _this.startActivityCommand = pectin.Command.create(function () {
5619
+ pectin.assert.notNil(_this.activityClass);
5620
+ pectin.assert.notNil(_this.interactionContext);
5621
+ _this.interactionContext.startActivity(_this.activityClass, _this.activityData)
5622
+ .then(function (result) {
5623
+ _this.confirmEvent.emit(result);
5624
+ }).catch(function (error) {
5625
+ _this.cancelEvent.emit(error);
5626
+ });
5627
+ });
5628
+ return _this;
5629
+ }
5630
+ AbstractActivityTriggerComponent.prototype.ngOnInit = function () {
5631
+ };
5632
+ Object.defineProperty(AbstractActivityTriggerComponent.prototype, "isActive", {
5633
+ get: function () {
5634
+ var _a;
5635
+ return (_a = this.interactionContext) === null || _a === void 0 ? void 0 : _a.isActive();
5636
+ },
5637
+ enumerable: false,
5638
+ configurable: true
5639
+ });
5640
+ return AbstractActivityTriggerComponent;
5641
+ }(DisposableComponent));
5642
+ AbstractActivityTriggerComponent.decorators = [
5643
+ { type: i0.Component, args: [{
5644
+ selector: 'aup-abstract-activity-trigger',
5645
+ template: ''
5646
+ },] }
5647
+ ];
5648
+ AbstractActivityTriggerComponent.ctorParameters = function () { return []; };
5649
+ AbstractActivityTriggerComponent.propDecorators = {
5650
+ activityClass: [{ type: i0.Input }],
5651
+ activityClassModel: [{ type: i0.Input }],
5652
+ activityData: [{ type: i0.Input }],
5653
+ activityDataModel: [{ type: i0.Input }],
5654
+ face: [{ type: i0.Input }],
5655
+ faceModel: [{ type: i0.Input }],
5656
+ alignFace: [{ type: i0.Input }],
5657
+ confirmEvent: [{ type: i0.Output }],
5658
+ cancelEvent: [{ type: i0.Output }],
5659
+ isActive: [{ type: i0.HostBinding, args: ['class.active',] }]
5660
+ };
5661
+ __decorate([
5662
+ pectin.StoreInValueModel('activityClassModel'),
5663
+ __metadata("design:type", Object)
5664
+ ], AbstractActivityTriggerComponent.prototype, "activityClass", void 0);
5665
+ __decorate([
5666
+ pectin.TrackExternal(),
5667
+ __metadata("design:type", pectin.ValueModel)
5668
+ ], AbstractActivityTriggerComponent.prototype, "activityClassModel", void 0);
5669
+ __decorate([
5670
+ pectin.StoreInValueModel('activityDataModel'),
5671
+ __metadata("design:type", Object)
5672
+ ], AbstractActivityTriggerComponent.prototype, "activityData", void 0);
5673
+ __decorate([
5674
+ pectin.TrackExternal(),
5675
+ __metadata("design:type", pectin.ValueModel)
5676
+ ], AbstractActivityTriggerComponent.prototype, "activityDataModel", void 0);
5677
+ __decorate([
5678
+ pectin.StoreInValueModel('faceModel'),
5679
+ __metadata("design:type", Object)
5680
+ ], AbstractActivityTriggerComponent.prototype, "face", void 0);
5681
+ __decorate([
5682
+ pectin.TrackExternal(),
5683
+ __metadata("design:type", pectin.ValueModel)
5684
+ ], AbstractActivityTriggerComponent.prototype, "faceModel", void 0);
5685
+
5506
5686
  var InteractionServiceRoutingAdapter = /** @class */ (function () {
5507
5687
  function InteractionServiceRoutingAdapter(activeInteractionContextIds, activeModalContext, createExclusiveInteractionContext) {
5508
5688
  this.activeInteractionContextIds = activeInteractionContextIds;
@@ -5684,10 +5864,29 @@
5684
5864
  InteractionService.ApiAdapter = ApiAdapter;
5685
5865
  })(exports.InteractionService || (exports.InteractionService = {}));
5686
5866
 
5867
+ var ModalActivityTriggerComponent = /** @class */ (function (_super) {
5868
+ __extends(ModalActivityTriggerComponent, _super);
5869
+ function ModalActivityTriggerComponent(interactionService) {
5870
+ var _this = _super.call(this) || this;
5871
+ _this.interactionContext = interactionService.createModalInteractionContextDisposedWith(_this);
5872
+ return _this;
5873
+ }
5874
+ return ModalActivityTriggerComponent;
5875
+ }(AbstractActivityTriggerComponent));
5876
+ ModalActivityTriggerComponent.decorators = [
5877
+ { type: i0.Component, args: [{
5878
+ selector: 'aup-modal-activity-trigger',
5879
+ template: "<aup-command [command]=\"startActivityCommand\" [faceModel]=\"faceModel\" [alignFace]=\"alignFace\"></aup-command>\n",
5880
+ styles: [":host{display:inline-block}"]
5881
+ },] }
5882
+ ];
5883
+ ModalActivityTriggerComponent.ctorParameters = function () { return [
5884
+ { type: exports.InteractionService }
5885
+ ]; };
5886
+
5687
5887
  /**
5688
5888
  * @example
5689
5889
  * <aup-in-place-interaction-context #inPlaceInteractionContext>
5690
- *
5691
5890
  * </aup-in-place-interaction-context>
5692
5891
  *
5693
5892
  * in your component
@@ -5833,6 +6032,35 @@
5833
6032
  __metadata("design:type", pectin.Command)
5834
6033
  ], AddItemInteractionContextComponent.prototype, "addCommand", void 0);
5835
6034
 
6035
+ var InlineActivityTriggerComponent = /** @class */ (function (_super) {
6036
+ __extends(InlineActivityTriggerComponent, _super);
6037
+ function InlineActivityTriggerComponent() {
6038
+ return _super.call(this) || this;
6039
+ }
6040
+ return InlineActivityTriggerComponent;
6041
+ }(AbstractActivityTriggerComponent));
6042
+ InlineActivityTriggerComponent.decorators = [
6043
+ { type: i0.Component, args: [{
6044
+ selector: 'aup-inline-activity-trigger',
6045
+ 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",
6046
+ styles: [":host{display:inline-block}"]
6047
+ },] }
6048
+ ];
6049
+ InlineActivityTriggerComponent.ctorParameters = function () { return []; };
6050
+ InlineActivityTriggerComponent.propDecorators = {
6051
+ interactionContext: [{ type: i0.ViewChild, args: [InPlaceInteractionContextComponent, { static: true },] }]
6052
+ };
6053
+
6054
+ /**
6055
+ * <aup-popup-interaction-context #ctx></aup-popup-interaction-context>
6056
+ *
6057
+ * in your component
6058
+ * @ViewChild('inPlaceInteractionContext', { static: true })
6059
+ * interactionContext: InteractionContext;
6060
+ * or
6061
+ * @ViewChild('ctx', { static: true })
6062
+ * interactionContext: InteractionContext;
6063
+ */
5836
6064
  var PopupInteractionContextComponent = /** @class */ (function (_super) {
5837
6065
  __extends(PopupInteractionContextComponent, _super);
5838
6066
  function PopupInteractionContextComponent(_element, _overlay, scrollable) {
@@ -5913,7 +6141,7 @@
5913
6141
  { type: i0.Component, args: [{
5914
6142
  selector: 'aup-popup-interaction-context',
5915
6143
  template: "<ng-content></ng-content>\n",
5916
- styles: [":host{display:inline}:host.interaction-active{background:rgba(0,0,0,.05)}"]
6144
+ styles: [":host{display:inline-block}:host.interaction-active{background:rgba(0,0,0,.05)}"]
5917
6145
  },] }
5918
6146
  ];
5919
6147
  PopupInteractionContextComponent.ctorParameters = function () { return [
@@ -6171,8 +6399,8 @@
6171
6399
  builder(model);
6172
6400
  return model;
6173
6401
  };
6174
- TableModel.prototype.addSelectionColumn = function (selectionModel) {
6175
- return this._addSelectionColumn(selectionModel);
6402
+ TableModel.prototype.addSelectionColumn = function (selectionModel, showSelectionColumn) {
6403
+ return this._addSelectionColumn(selectionModel, showSelectionColumn);
6176
6404
  };
6177
6405
  return TableModel;
6178
6406
  }(AbstractTableModel));
@@ -6181,6 +6409,30 @@
6181
6409
  * @file Automatically generated by barrelsby.
6182
6410
  */
6183
6411
 
6412
+ var PopupActivityTriggerComponent = /** @class */ (function (_super) {
6413
+ __extends(PopupActivityTriggerComponent, _super);
6414
+ function PopupActivityTriggerComponent() {
6415
+ var _this = _super.call(this) || this;
6416
+ _this.anchorX = 'start';
6417
+ _this.anchorY = 'bottom';
6418
+ return _this;
6419
+ }
6420
+ return PopupActivityTriggerComponent;
6421
+ }(AbstractActivityTriggerComponent));
6422
+ PopupActivityTriggerComponent.decorators = [
6423
+ { type: i0.Component, args: [{
6424
+ selector: 'aup-popup-activity-trigger',
6425
+ 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",
6426
+ styles: [":host{display:inline-block}"]
6427
+ },] }
6428
+ ];
6429
+ PopupActivityTriggerComponent.ctorParameters = function () { return []; };
6430
+ PopupActivityTriggerComponent.propDecorators = {
6431
+ anchorX: [{ type: i0.Input }],
6432
+ anchorY: [{ type: i0.Input }],
6433
+ interactionContext: [{ type: i0.ViewChild, args: [PopupInteractionContextComponent, { static: true },] }]
6434
+ };
6435
+
6184
6436
  var InteractionModule = /** @class */ (function () {
6185
6437
  function InteractionModule() {
6186
6438
  }
@@ -6218,7 +6470,11 @@
6218
6470
  Activity,
6219
6471
  ActivityTitleComponent,
6220
6472
  ActivityBodyComponent,
6221
- ActivityActionsComponent
6473
+ ActivityActionsComponent,
6474
+ AbstractActivityTriggerComponent,
6475
+ PopupActivityTriggerComponent,
6476
+ InlineActivityTriggerComponent,
6477
+ ModalActivityTriggerComponent
6222
6478
  ],
6223
6479
  exports: [
6224
6480
  ActivityContainerComponent,
@@ -6231,7 +6487,10 @@
6231
6487
  InteractionContextTriggerFor,
6232
6488
  StringInputActivity,
6233
6489
  SelectInputActivity,
6234
- ActivityBodyComponent
6490
+ ActivityBodyComponent,
6491
+ PopupActivityTriggerComponent,
6492
+ InlineActivityTriggerComponent,
6493
+ ModalActivityTriggerComponent
6235
6494
  ],
6236
6495
  entryComponents: [
6237
6496
  ActivityContainerComponent,
@@ -9414,6 +9673,7 @@
9414
9673
  exports.ACTIVITY_DATA = ACTIVITY_DATA;
9415
9674
  exports.AUP_PLACE_CONFIG = AUP_PLACE_CONFIG;
9416
9675
  exports.AUP_UNAUTHORISED_PLACE_NOTICE_COMPONENT = AUP_UNAUTHORISED_PLACE_NOTICE_COMPONENT;
9676
+ exports.AbstractActivityTriggerComponent = AbstractActivityTriggerComponent;
9417
9677
  exports.AbstractInputActivity = AbstractInputActivity;
9418
9678
  exports.AbstractInputComponent = AbstractInputComponent;
9419
9679
  exports.AbstractInteractionContext = AbstractInteractionContext;
@@ -9421,6 +9681,7 @@
9421
9681
  exports.AbstractPlaceNavigationComponent = AbstractPlaceNavigationComponent;
9422
9682
  exports.AbstractPopStateNavigation = AbstractPopStateNavigation;
9423
9683
  exports.AbstractPopupMenuComponent = AbstractPopupMenuComponent;
9684
+ exports.AbstractTableComponent = AbstractTableComponent;
9424
9685
  exports.AbstractTableModel = AbstractTableModel;
9425
9686
  exports.AbstractValueInputComponent = AbstractValueInputComponent;
9426
9687
  exports.Activity = Activity;
@@ -9469,7 +9730,6 @@
9469
9730
  exports.EditorControlColumnModel = EditorControlColumnModel;
9470
9731
  exports.EmptyStateComponent = EmptyStateComponent;
9471
9732
  exports.EventCleanUpSession = EventCleanUpSession;
9472
- exports.FlattenStrategy = FlattenStrategy;
9473
9733
  exports.FlexComponent = FlexComponent;
9474
9734
  exports.FocusBinding = FocusBinding;
9475
9735
  exports.FocusBindingDirective = FocusBindingDirective;
@@ -9479,13 +9739,16 @@
9479
9739
  exports.HEADER_CELL_RENDERER_PORTAL = HEADER_CELL_RENDERER_PORTAL;
9480
9740
  exports.HighlightPipe = HighlightPipe;
9481
9741
  exports.HighlightTextModelDirective = HighlightTextModelDirective;
9742
+ exports.HorizontalAlignment = HorizontalAlignment;
9482
9743
  exports.InPlaceInteractionContextComponent = InPlaceInteractionContextComponent;
9744
+ exports.InlineActivityTriggerComponent = InlineActivityTriggerComponent;
9483
9745
  exports.InteractionContextTriggerFor = InteractionContextTriggerFor;
9484
9746
  exports.InteractionModule = InteractionModule;
9485
9747
  exports.InteractionServiceRoutingAdapter = InteractionServiceRoutingAdapter;
9486
9748
  exports.LEFT_RIGHT_PLACE_ANIMATION = LEFT_RIGHT_PLACE_ANIMATION;
9487
9749
  exports.ListPlaceNavComponent = ListPlaceNavComponent;
9488
9750
  exports.ListPropertyColumnModel = ListPropertyColumnModel;
9751
+ exports.ModalActivityTriggerComponent = ModalActivityTriggerComponent;
9489
9752
  exports.ModalInteractionContextFactory = ModalInteractionContextFactory;
9490
9753
  exports.MoreMenuComponent = MoreMenuComponent;
9491
9754
  exports.MultipleSelectInputComponent = MultipleSelectInputComponent;
@@ -9510,6 +9773,7 @@
9510
9773
  exports.Point = Point;
9511
9774
  exports.PopStateDuringInteractionNavigation = PopStateDuringInteractionNavigation;
9512
9775
  exports.PopStateNavigation = PopStateNavigation;
9776
+ exports.PopupActivityTriggerComponent = PopupActivityTriggerComponent;
9513
9777
  exports.PopupAwareComponent = PopupAwareComponent;
9514
9778
  exports.PopupInteractionContextComponent = PopupInteractionContextComponent;
9515
9779
  exports.PopupMenuComponent = PopupMenuComponent;