@coolon/angular-ui-powerups 12.4.0-alpha.8 → 12.4.0-alpha.80

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 (542) hide show
  1. package/assets/activities/activities.scss +77 -0
  2. package/assets/activities/input-activities.scss +36 -0
  3. package/assets/cards.scss +17 -0
  4. package/assets/empty-state.scss +11 -0
  5. package/assets/form.scss +10 -2
  6. package/assets/forms/mixins.scss +6 -0
  7. package/assets/interaction/editor/inline-string-editor.scss +54 -0
  8. package/assets/interaction.scss +10 -7
  9. package/assets/markdown.scss +10 -0
  10. package/assets/mixins.scss +5 -7
  11. package/assets/pills.scss +45 -0
  12. package/assets/styles.scss +11 -15
  13. package/bundles/coolon-angular-ui-powerups-cypress.umd.js +741 -336
  14. package/bundles/coolon-angular-ui-powerups-cypress.umd.js.map +1 -1
  15. package/bundles/coolon-angular-ui-powerups.umd.js +1435 -448
  16. package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
  17. package/coolon-angular-ui-powerups.metadata.json +1 -1
  18. package/cypress/component-builder.d.ts +71 -0
  19. package/cypress/components/aup-abstract-activity.d.ts +31 -0
  20. package/cypress/components/aup-abstract-table.d.ts +18 -0
  21. package/cypress/components/aup-activity.d.ts +9 -0
  22. package/cypress/components/aup-alert-dialog.d.ts +27 -0
  23. package/cypress/components/aup-alert.d.ts +9 -0
  24. package/cypress/components/aup-command-face.d.ts +2 -8
  25. package/cypress/components/aup-command.d.ts +2 -1
  26. package/cypress/components/aup-confirm-dialog.d.ts +27 -0
  27. package/cypress/components/aup-confirm.d.ts +11 -0
  28. package/cypress/components/aup-empty-state.d.ts +1 -2
  29. package/cypress/components/aup-input.d.ts +11 -5
  30. package/cypress/components/aup-modal-activity.d.ts +24 -0
  31. package/cypress/components/aup-modal-mixin.d.ts +23 -0
  32. package/cypress/components/aup-table.d.ts +5 -18
  33. package/cypress/components/aup-tree-table.d.ts +16 -0
  34. package/cypress/components/button.d.ts +11 -7
  35. package/cypress/components/form-element-mixin.d.ts +22 -0
  36. package/cypress/components/mat-checkbox.d.ts +31 -0
  37. package/cypress/components/popup/aup-abstract-popup-menu.d.ts +15 -0
  38. package/cypress/components/popup/aup-more-menu.d.ts +5 -0
  39. package/cypress/components/popup/aup-popup-menu-panel.d.ts +3 -0
  40. package/cypress/components/popup/aup-popup-menu.d.ts +7 -0
  41. package/cypress/components/table/aup-table-cell.d.ts +9 -0
  42. package/cypress/components/table/aup-table-column.d.ts +10 -0
  43. package/cypress/components/table/aup-table-row.d.ts +17 -0
  44. package/cypress/components/table/aup-table-selection-cell.d.ts +5 -0
  45. package/cypress/components/table/aup-table-selection-column.d.ts +5 -0
  46. package/cypress/coolon-angular-ui-powerups-cypress.metadata.json +1 -1
  47. package/cypress/element-locator.d.ts +8 -0
  48. package/cypress/exports.d.ts +24 -4
  49. package/cypress/package.json +1 -1
  50. package/cypress/page-builder.d.ts +9 -0
  51. package/cypress/page-element.d.ts +12 -12
  52. package/cypress/page.d.ts +8 -34
  53. package/esm2015/cypress/component-builder.js +92 -0
  54. package/esm2015/cypress/component-builder.js.map +1 -0
  55. package/esm2015/cypress/component-builder.metadata.json +1 -0
  56. package/esm2015/cypress/components/aup-abstract-activity.js +12 -0
  57. package/esm2015/cypress/components/aup-abstract-activity.js.map +1 -0
  58. package/esm2015/cypress/components/aup-abstract-activity.metadata.json +1 -0
  59. package/esm2015/cypress/components/aup-abstract-table.js +50 -0
  60. package/esm2015/cypress/components/aup-abstract-table.js.map +1 -0
  61. package/esm2015/cypress/components/aup-abstract-table.metadata.json +1 -0
  62. package/esm2015/cypress/components/aup-activity.js +13 -0
  63. package/esm2015/cypress/components/aup-activity.js.map +1 -0
  64. package/esm2015/cypress/components/aup-activity.metadata.json +1 -0
  65. package/esm2015/cypress/components/aup-alert-dialog.js +8 -0
  66. package/esm2015/cypress/components/aup-alert-dialog.js.map +1 -0
  67. package/esm2015/cypress/components/aup-alert-dialog.metadata.json +1 -0
  68. package/esm2015/cypress/components/aup-alert.js +13 -0
  69. package/esm2015/cypress/components/aup-alert.js.map +1 -0
  70. package/esm2015/cypress/components/aup-alert.metadata.json +1 -0
  71. package/esm2015/cypress/components/aup-command-face.js +11 -22
  72. package/esm2015/cypress/components/aup-command-face.js.map +1 -1
  73. package/esm2015/cypress/components/aup-command-face.metadata.json +1 -1
  74. package/esm2015/cypress/components/aup-command.js +12 -6
  75. package/esm2015/cypress/components/aup-command.js.map +1 -1
  76. package/esm2015/cypress/components/aup-command.metadata.json +1 -1
  77. package/esm2015/cypress/components/aup-confirm-dialog.js +8 -0
  78. package/esm2015/cypress/components/aup-confirm-dialog.js.map +1 -0
  79. package/esm2015/cypress/components/aup-confirm-dialog.metadata.json +1 -0
  80. package/esm2015/cypress/components/aup-confirm.js +19 -0
  81. package/esm2015/cypress/components/aup-confirm.js.map +1 -0
  82. package/esm2015/cypress/components/aup-confirm.metadata.json +1 -0
  83. package/esm2015/cypress/components/aup-empty-state.js +2 -2
  84. package/esm2015/cypress/components/aup-empty-state.js.map +1 -1
  85. package/esm2015/cypress/components/aup-empty-state.metadata.json +1 -1
  86. package/esm2015/cypress/components/aup-input.js +17 -5
  87. package/esm2015/cypress/components/aup-input.js.map +1 -1
  88. package/esm2015/cypress/components/aup-input.metadata.json +1 -1
  89. package/esm2015/cypress/components/aup-modal-activity.js +5 -0
  90. package/esm2015/cypress/components/aup-modal-activity.js.map +1 -0
  91. package/esm2015/cypress/components/aup-modal-activity.metadata.json +1 -0
  92. package/esm2015/cypress/components/aup-modal-mixin.js +18 -0
  93. package/esm2015/cypress/components/aup-modal-mixin.js.map +1 -0
  94. package/esm2015/cypress/components/aup-modal-mixin.metadata.json +1 -0
  95. package/esm2015/cypress/components/aup-navigation.js +1 -1
  96. package/esm2015/cypress/components/aup-navigation.js.map +1 -1
  97. package/esm2015/cypress/components/aup-table.js +5 -33
  98. package/esm2015/cypress/components/aup-table.js.map +1 -1
  99. package/esm2015/cypress/components/aup-table.metadata.json +1 -1
  100. package/esm2015/cypress/components/aup-tree-table.js +34 -0
  101. package/esm2015/cypress/components/aup-tree-table.js.map +1 -0
  102. package/esm2015/cypress/components/aup-tree-table.metadata.json +1 -0
  103. package/esm2015/cypress/components/button.js +4 -10
  104. package/esm2015/cypress/components/button.js.map +1 -1
  105. package/esm2015/cypress/components/button.metadata.json +1 -1
  106. package/esm2015/cypress/components/form-element-mixin.js +11 -0
  107. package/esm2015/cypress/components/form-element-mixin.js.map +1 -0
  108. package/esm2015/cypress/components/form-element-mixin.metadata.json +1 -0
  109. package/esm2015/cypress/components/mat-checkbox.js +34 -0
  110. package/esm2015/cypress/components/mat-checkbox.js.map +1 -0
  111. package/esm2015/cypress/components/mat-checkbox.metadata.json +1 -0
  112. package/esm2015/cypress/components/popup/aup-abstract-popup-menu.js +33 -0
  113. package/esm2015/cypress/components/popup/aup-abstract-popup-menu.js.map +1 -0
  114. package/esm2015/cypress/components/popup/aup-abstract-popup-menu.metadata.json +1 -0
  115. package/esm2015/cypress/components/popup/aup-more-menu.js +8 -0
  116. package/esm2015/cypress/components/popup/aup-more-menu.js.map +1 -0
  117. package/esm2015/cypress/components/popup/aup-more-menu.metadata.json +1 -0
  118. package/esm2015/cypress/components/popup/aup-popup-menu-panel.js +4 -0
  119. package/esm2015/cypress/components/popup/aup-popup-menu-panel.js.map +1 -0
  120. package/esm2015/cypress/components/popup/aup-popup-menu-panel.metadata.json +1 -0
  121. package/esm2015/cypress/components/popup/aup-popup-menu.js +12 -0
  122. package/esm2015/cypress/components/popup/aup-popup-menu.js.map +1 -0
  123. package/esm2015/cypress/components/popup/aup-popup-menu.metadata.json +1 -0
  124. package/esm2015/cypress/components/table/aup-table-cell.js +14 -0
  125. package/esm2015/cypress/components/table/aup-table-cell.js.map +1 -0
  126. package/esm2015/cypress/components/table/aup-table-cell.metadata.json +1 -0
  127. package/esm2015/cypress/components/table/aup-table-column.js +19 -0
  128. package/esm2015/cypress/components/table/aup-table-column.js.map +1 -0
  129. package/esm2015/cypress/components/table/aup-table-column.metadata.json +1 -0
  130. package/esm2015/cypress/components/table/aup-table-row.js +28 -0
  131. package/esm2015/cypress/components/table/aup-table-row.js.map +1 -0
  132. package/esm2015/cypress/components/table/aup-table-row.metadata.json +1 -0
  133. package/esm2015/cypress/components/table/aup-table-selection-cell.js +6 -0
  134. package/esm2015/cypress/components/table/aup-table-selection-cell.js.map +1 -0
  135. package/esm2015/cypress/components/table/aup-table-selection-cell.metadata.json +1 -0
  136. package/esm2015/cypress/components/table/aup-table-selection-column.js +6 -0
  137. package/esm2015/cypress/components/table/aup-table-selection-column.js.map +1 -0
  138. package/esm2015/cypress/components/table/aup-table-selection-column.metadata.json +1 -0
  139. package/esm2015/cypress/element-locator.js +16 -0
  140. package/esm2015/cypress/element-locator.js.map +1 -0
  141. package/esm2015/cypress/element-locator.metadata.json +1 -0
  142. package/esm2015/cypress/exports.js +24 -4
  143. package/esm2015/cypress/exports.js.map +1 -1
  144. package/esm2015/cypress/exports.metadata.json +1 -1
  145. package/esm2015/cypress/page-builder.js +16 -0
  146. package/esm2015/cypress/page-builder.js.map +1 -0
  147. package/esm2015/cypress/page-builder.metadata.json +1 -0
  148. package/esm2015/cypress/page-element.js +26 -19
  149. package/esm2015/cypress/page-element.js.map +1 -1
  150. package/esm2015/cypress/page-element.metadata.json +1 -1
  151. package/esm2015/cypress/page.js +31 -19
  152. package/esm2015/cypress/page.js.map +1 -1
  153. package/esm2015/cypress/page.metadata.json +1 -1
  154. package/esm2015/lib/angular-ui-powerups.module.ngfactory.js.map +1 -1
  155. package/esm2015/lib/components/busy-overlay/busy-overlay.component.js +1 -1
  156. package/esm2015/lib/components/busy-overlay/busy-overlay.component.metadata.json +1 -1
  157. package/esm2015/lib/components/cards/abstract-card-container.component.js +29 -0
  158. package/esm2015/lib/components/cards/abstract-card-container.component.js.map +1 -0
  159. package/esm2015/lib/components/cards/abstract-card-container.component.metadata.json +1 -0
  160. package/esm2015/lib/components/cards/abstract-card-container.component.ngfactory.js.map +1 -0
  161. package/esm2015/lib/components/cards/card-container/card-container.component.js +123 -0
  162. package/esm2015/lib/components/cards/card-container/card-container.component.js.map +1 -0
  163. package/esm2015/lib/components/cards/card-container/card-container.component.metadata.json +1 -0
  164. package/esm2015/lib/components/cards/card-container/card-container.component.ngfactory.js.map +1 -0
  165. package/esm2015/lib/components/cards/card-container/card-container.component.scss.shim.ngstyle.js.map +1 -0
  166. package/esm2015/lib/components/cards/card-stack/card-stack.component.js +78 -0
  167. package/esm2015/lib/components/cards/card-stack/card-stack.component.js.map +1 -0
  168. package/esm2015/lib/components/cards/card-stack/card-stack.component.metadata.json +1 -0
  169. package/esm2015/lib/components/cards/card-stack/card-stack.component.ngfactory.js.map +1 -0
  170. package/esm2015/lib/components/cards/card-stack/card-stack.component.scss.shim.ngstyle.js.map +1 -0
  171. package/esm2015/lib/components/commands/command/command.component.js +1 -1
  172. package/esm2015/lib/components/commands/command/command.component.metadata.json +1 -1
  173. package/esm2015/lib/components/commands/command-face/command-face.component.js +5 -1
  174. package/esm2015/lib/components/commands/command-face/command-face.component.js.map +1 -1
  175. package/esm2015/lib/components/commands/command-face/command-face.component.metadata.json +1 -1
  176. package/esm2015/lib/components/commands/group/popup-menu/abstract-popup-menu.component.js +1 -1
  177. package/esm2015/lib/components/commands/group/popup-menu/abstract-popup-menu.component.js.map +1 -1
  178. package/esm2015/lib/components/commands/group/popup-menu/popup-menu-renderer/popup-menu-renderer.component.js +1 -1
  179. package/esm2015/lib/components/commands/group/popup-menu/popup-menu-renderer/popup-menu-renderer.component.js.map +1 -1
  180. package/esm2015/lib/components/commands/group/tool-bar/tool-bar.component.js +1 -1
  181. package/esm2015/lib/components/commands/group/tool-bar/tool-bar.component.metadata.json +1 -1
  182. package/esm2015/lib/components/components.module.js +43 -25
  183. package/esm2015/lib/components/components.module.js.map +1 -1
  184. package/esm2015/lib/components/components.module.metadata.json +1 -1
  185. package/esm2015/lib/components/components.module.ngfactory.js.map +1 -1
  186. package/esm2015/lib/components/empty-state/empty-state.component.js +1 -1
  187. package/esm2015/lib/components/empty-state/empty-state.component.metadata.json +1 -1
  188. package/esm2015/lib/components/exports.js +8 -4
  189. package/esm2015/lib/components/exports.js.map +1 -1
  190. package/esm2015/lib/components/exports.metadata.json +1 -1
  191. package/esm2015/lib/components/focus-container/focus-container.component.js +1 -1
  192. package/esm2015/lib/components/focus-container/focus-container.component.metadata.json +1 -1
  193. package/esm2015/lib/components/forms/abstract-input.component.js +1 -0
  194. package/esm2015/lib/components/forms/abstract-input.component.js.map +1 -1
  195. package/esm2015/lib/components/forms/autocomplete-input/autocomplete-input.component.js +1 -1
  196. package/esm2015/lib/components/forms/autocomplete-input/autocomplete-input.component.metadata.json +1 -1
  197. package/esm2015/lib/components/forms/checkbox-input/checkbox-input.component.js +1 -1
  198. package/esm2015/lib/components/forms/checkbox-input/checkbox-input.component.metadata.json +1 -1
  199. package/esm2015/lib/components/forms/multiple-select-input/multiple-select-input.component.js +1 -1
  200. package/esm2015/lib/components/forms/multiple-select-input/multiple-select-input.component.metadata.json +1 -1
  201. package/esm2015/lib/components/forms/select-input/select-input.component.js +2 -2
  202. package/esm2015/lib/components/forms/select-input/select-input.component.js.map +1 -1
  203. package/esm2015/lib/components/forms/select-input/select-input.component.metadata.json +1 -1
  204. package/esm2015/lib/components/forms/string-input/string-input.component.js +1 -1
  205. package/esm2015/lib/components/forms/string-input/string-input.component.metadata.json +1 -1
  206. package/esm2015/lib/components/forms/text-input/text-input.component.js +1 -1
  207. package/esm2015/lib/components/forms/text-input/text-input.component.metadata.json +1 -1
  208. package/esm2015/lib/components/icon/icon.component.js +1 -1
  209. package/esm2015/lib/components/icon/icon.component.metadata.json +1 -1
  210. package/esm2015/lib/components/labelled-value/labelled-value.component.js +22 -0
  211. package/esm2015/lib/components/labelled-value/labelled-value.component.js.map +1 -0
  212. package/esm2015/lib/components/labelled-value/labelled-value.component.metadata.json +1 -0
  213. package/esm2015/lib/components/labelled-value/labelled-value.component.ngfactory.js.map +1 -0
  214. package/esm2015/lib/components/{card-container/card-container.component.scss.shim.ngstyle.js.map → labelled-value/labelled-value.component.scss.shim.ngstyle.js.map} +1 -1
  215. package/esm2015/lib/components/loading-container/loading-container.component.js +45 -0
  216. package/esm2015/lib/components/loading-container/loading-container.component.js.map +1 -0
  217. package/esm2015/lib/components/loading-container/loading-container.component.metadata.json +1 -0
  218. package/esm2015/lib/components/loading-container/loading-container.component.ngfactory.js.map +1 -0
  219. package/esm2015/lib/components/loading-container/loading-container.component.scss.shim.ngstyle.js.map +1 -0
  220. package/esm2015/lib/components/noop/noop.component.js +1 -1
  221. package/esm2015/lib/components/noop/noop.component.metadata.json +1 -1
  222. package/esm2015/lib/components/scroll-container/scroll-container.component.js +1 -1
  223. package/esm2015/lib/components/scroll-container/scroll-container.component.metadata.json +1 -1
  224. package/esm2015/lib/components/section-header/section-header.component.js +12 -5
  225. package/esm2015/lib/components/section-header/section-header.component.js.map +1 -1
  226. package/esm2015/lib/components/section-header/section-header.component.metadata.json +1 -1
  227. package/esm2015/lib/components/switch-case/switch-case.component.js +1 -1
  228. package/esm2015/lib/components/switch-case/switch-case.component.metadata.json +1 -1
  229. package/esm2015/lib/components/tables/abstract-table-model.js +34 -20
  230. package/esm2015/lib/components/tables/abstract-table-model.js.map +1 -1
  231. package/esm2015/lib/components/tables/abstract-table-model.metadata.json +1 -1
  232. package/esm2015/lib/components/tables/edit-session.js.map +1 -0
  233. package/esm2015/lib/components/tables/{table/edit-session.metadata.json → edit-session.metadata.json} +1 -1
  234. package/esm2015/lib/components/tables/table/cell-portal-ref.js.map +1 -1
  235. package/esm2015/lib/components/tables/table/cell-renderer.js.map +1 -1
  236. package/esm2015/lib/components/tables/table/column-model.js +35 -10
  237. package/esm2015/lib/components/tables/table/column-model.js.map +1 -1
  238. package/esm2015/lib/components/tables/table/column-model.metadata.json +1 -1
  239. package/esm2015/lib/components/tables/table/default-cell-renderer/default-cell-renderer.component.js.map +1 -1
  240. package/esm2015/lib/components/tables/table/default-cell-renderer/default-cell-renderer.component.metadata.json +1 -1
  241. package/esm2015/lib/components/tables/table/edit-row-controls/edit-row-controls.component.js +19 -12
  242. package/esm2015/lib/components/tables/table/edit-row-controls/edit-row-controls.component.js.map +1 -1
  243. package/esm2015/lib/components/tables/table/edit-row-controls/edit-row-controls.component.metadata.json +1 -1
  244. package/esm2015/lib/components/tables/table/paginator/paginator.component.js +1 -1
  245. package/esm2015/lib/components/tables/table/paginator/paginator.component.metadata.json +1 -1
  246. package/esm2015/lib/components/tables/table/table-cell-renderer/table-cell-renderer.component.js +1 -1
  247. package/esm2015/lib/components/tables/table/table-cell-renderer/table-cell-renderer.component.js.map +1 -1
  248. package/esm2015/lib/components/tables/table/table-header-cell-renderer/table-header-cell-renderer.component.js +1 -1
  249. package/esm2015/lib/components/tables/table/table-header-cell-renderer/table-header-cell-renderer.component.metadata.json +1 -1
  250. package/esm2015/lib/components/tables/table/table-row-menu/table-row-menu.component.js +0 -2
  251. package/esm2015/lib/components/tables/table/table-row-menu/table-row-menu.component.js.map +1 -1
  252. package/esm2015/lib/components/tables/table/table-row-menu/table-row-menu.component.metadata.json +1 -1
  253. package/esm2015/lib/components/tables/table/table.component.js +14 -13
  254. package/esm2015/lib/components/tables/table/table.component.js.map +1 -1
  255. package/esm2015/lib/components/tables/table/table.component.metadata.json +1 -1
  256. package/esm2015/lib/components/tables/table/text-search-predicate.js +2 -0
  257. package/esm2015/lib/components/tables/table/text-search-predicate.js.map +1 -0
  258. package/esm2015/lib/components/tables/table/text-search-predicate.metadata.json +1 -0
  259. package/esm2015/lib/components/tables/tree-table/flattened-tree-list-model.js +4 -4
  260. package/esm2015/lib/components/tables/tree-table/flattened-tree-list-model.js.map +1 -1
  261. package/esm2015/lib/components/tables/tree-table/flattened-tree-list-model.metadata.json +1 -1
  262. package/esm2015/lib/components/tables/tree-table/tree-inheritance-icon/tree-inheritance-icon.component.js +1 -1
  263. package/esm2015/lib/components/tables/tree-table/tree-inheritance-icon/tree-inheritance-icon.component.metadata.json +1 -1
  264. package/esm2015/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.js +21 -13
  265. package/esm2015/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.js.map +1 -1
  266. package/esm2015/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.metadata.json +1 -1
  267. package/esm2015/lib/components/tables/tree-table/tree-label-column-model.js +1 -1
  268. package/esm2015/lib/components/tables/tree-table/tree-label-column-model.js.map +1 -1
  269. package/esm2015/lib/components/tables/tree-table/tree-label-column-model.metadata.json +1 -1
  270. package/esm2015/lib/components/tables/tree-table/tree-table-component.js +1 -1
  271. package/esm2015/lib/components/tables/tree-table/tree-table-component.js.map +1 -1
  272. package/esm2015/lib/components/tables/tree-table/tree-table-component.metadata.json +1 -1
  273. package/esm2015/lib/components/tables/tree-table/tree-table-model.js +3 -2
  274. package/esm2015/lib/components/tables/tree-table/tree-table-model.js.map +1 -1
  275. package/esm2015/lib/components/tables/tree-table/tree-table-model.metadata.json +1 -1
  276. package/esm2015/lib/components/text/markdown/markdown.component.js +76 -0
  277. package/esm2015/lib/components/text/markdown/markdown.component.js.map +1 -0
  278. package/esm2015/lib/components/text/markdown/markdown.component.metadata.json +1 -0
  279. package/esm2015/lib/components/text/markdown/markdown.component.ngfactory.js.map +1 -0
  280. package/esm2015/lib/components/text/markdown/markdown.component.scss.shim.ngstyle.js.map +1 -0
  281. package/esm2015/lib/components/track-by.js +12 -0
  282. package/esm2015/lib/components/track-by.js.map +1 -1
  283. package/esm2015/lib/components/vertical-focus-container/vertical-focus-container.component.js +1 -1
  284. package/esm2015/lib/components/vertical-focus-container/vertical-focus-container.component.metadata.json +1 -1
  285. package/esm2015/lib/directives/command.directive.js +1 -1
  286. package/esm2015/lib/directives/command.directive.js.map +1 -1
  287. package/esm2015/lib/directives/directives.module.ngfactory.js.map +1 -1
  288. package/esm2015/lib/interaction/abstract-interaction-context.js +7 -0
  289. package/esm2015/lib/interaction/abstract-interaction-context.js.map +1 -1
  290. package/esm2015/lib/interaction/abstract-interaction-context.metadata.json +1 -1
  291. package/esm2015/lib/interaction/activity.js +2 -1
  292. package/esm2015/lib/interaction/activity.js.map +1 -1
  293. package/esm2015/lib/interaction/alert.js +17 -1
  294. package/esm2015/lib/interaction/alert.js.map +1 -1
  295. package/esm2015/lib/interaction/components/abstract-confirm-dialog.component.js +23 -0
  296. package/esm2015/lib/interaction/components/abstract-confirm-dialog.component.js.map +1 -0
  297. package/esm2015/lib/interaction/components/abstract-confirm-dialog.component.metadata.json +1 -0
  298. package/esm2015/lib/interaction/components/abstract-confirm-dialog.component.ngfactory.js.map +1 -0
  299. package/esm2015/lib/interaction/components/abstract-dialog.component.js +52 -0
  300. package/esm2015/lib/interaction/components/abstract-dialog.component.js.map +1 -0
  301. package/esm2015/lib/interaction/components/abstract-dialog.component.metadata.json +1 -0
  302. package/esm2015/lib/interaction/components/abstract-dialog.component.ngfactory.js.map +1 -0
  303. package/esm2015/lib/interaction/components/activity-actions/activity-actions.component.js +17 -11
  304. package/esm2015/lib/interaction/components/activity-actions/activity-actions.component.js.map +1 -1
  305. package/esm2015/lib/interaction/components/activity-actions/activity-actions.component.metadata.json +1 -1
  306. package/esm2015/lib/interaction/components/activity-container/activity-container.component.js +3 -3
  307. package/esm2015/lib/interaction/components/activity-container/activity-container.component.js.map +1 -1
  308. package/esm2015/lib/interaction/components/activity-container/activity-container.component.metadata.json +1 -1
  309. package/esm2015/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.js +1 -1
  310. package/esm2015/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.metadata.json +1 -1
  311. package/esm2015/lib/interaction/components/activity-title/activity-title.component.js +1 -1
  312. package/esm2015/lib/interaction/components/activity-title/activity-title.component.metadata.json +1 -1
  313. package/esm2015/lib/interaction/components/activity-triggers/abstract-activity-trigger.component.js +4 -0
  314. package/esm2015/lib/interaction/components/activity-triggers/abstract-activity-trigger.component.js.map +1 -1
  315. package/esm2015/lib/interaction/components/activity-triggers/abstract-activity-trigger.component.metadata.json +1 -1
  316. package/esm2015/lib/interaction/components/activity-triggers/inline-activity-trigger/inline-activity-trigger.component.js +5 -2
  317. package/esm2015/lib/interaction/components/activity-triggers/inline-activity-trigger/inline-activity-trigger.component.js.map +1 -1
  318. package/esm2015/lib/interaction/components/activity-triggers/inline-activity-trigger/inline-activity-trigger.component.metadata.json +1 -1
  319. package/esm2015/lib/interaction/components/activity-triggers/modal-activity-trigger/modal-activity-trigger.component.js +5 -2
  320. package/esm2015/lib/interaction/components/activity-triggers/modal-activity-trigger/modal-activity-trigger.component.js.map +1 -1
  321. package/esm2015/lib/interaction/components/activity-triggers/modal-activity-trigger/modal-activity-trigger.component.metadata.json +1 -1
  322. package/esm2015/lib/interaction/components/activity-triggers/popup-activity-trigger/popup-activity-trigger.component.js +5 -2
  323. package/esm2015/lib/interaction/components/activity-triggers/popup-activity-trigger/popup-activity-trigger.component.js.map +1 -1
  324. package/esm2015/lib/interaction/components/activity-triggers/popup-activity-trigger/popup-activity-trigger.component.metadata.json +1 -1
  325. package/esm2015/lib/interaction/components/add-card-activity/add-card-activity.component.js +77 -0
  326. package/esm2015/lib/interaction/components/add-card-activity/add-card-activity.component.js.map +1 -0
  327. package/esm2015/lib/interaction/components/add-card-activity/add-card-activity.component.metadata.json +1 -0
  328. package/esm2015/lib/interaction/components/add-card-activity/add-card-activity.component.ngfactory.js.map +1 -0
  329. package/esm2015/lib/interaction/components/add-card-activity/add-card-activity.component.scss.shim.ngstyle.js.map +1 -0
  330. package/esm2015/lib/interaction/components/add-item-interaction-context/add-item-interaction-context.component.js +1 -1
  331. package/esm2015/lib/interaction/components/add-item-interaction-context/add-item-interaction-context.component.metadata.json +1 -1
  332. package/esm2015/lib/interaction/components/alert-dialog/alert-dialog.component.js +8 -14
  333. package/esm2015/lib/interaction/components/alert-dialog/alert-dialog.component.js.map +1 -1
  334. package/esm2015/lib/interaction/components/alert-dialog/alert-dialog.component.metadata.json +1 -1
  335. package/esm2015/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.js +8 -31
  336. package/esm2015/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.js.map +1 -1
  337. package/esm2015/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.metadata.json +1 -1
  338. package/esm2015/lib/interaction/components/confirm-then-execute-dialog/confirm-then-execute-dialog.component.js +30 -0
  339. package/esm2015/lib/interaction/components/confirm-then-execute-dialog/confirm-then-execute-dialog.component.js.map +1 -0
  340. package/esm2015/lib/interaction/components/confirm-then-execute-dialog/confirm-then-execute-dialog.component.metadata.json +1 -0
  341. package/esm2015/lib/interaction/components/confirm-then-execute-dialog/confirm-then-execute-dialog.component.ngfactory.js.map +1 -0
  342. package/esm2015/lib/interaction/components/confirm-then-execute-dialog/confirm-then-execute-dialog.component.scss.shim.ngstyle.js.map +1 -0
  343. package/esm2015/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js +7 -26
  344. package/esm2015/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js.map +1 -1
  345. package/esm2015/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.metadata.json +1 -1
  346. package/esm2015/lib/interaction/components/editors/edit-context.js +2 -0
  347. package/esm2015/lib/interaction/components/editors/edit-context.js.map +1 -0
  348. package/esm2015/lib/interaction/components/editors/edit-context.metadata.json +1 -0
  349. package/esm2015/lib/interaction/components/editors/inline-string-editor/inline-editor-model.js +50 -0
  350. package/esm2015/lib/interaction/components/editors/inline-string-editor/inline-editor-model.js.map +1 -0
  351. package/esm2015/lib/interaction/components/editors/inline-string-editor/inline-editor-model.metadata.json +1 -0
  352. package/esm2015/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.js +161 -0
  353. package/esm2015/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.js.map +1 -0
  354. package/esm2015/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.metadata.json +1 -0
  355. package/esm2015/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.ngfactory.js.map +1 -0
  356. package/esm2015/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.js +10 -3
  357. package/esm2015/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.js.map +1 -1
  358. package/esm2015/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.metadata.json +1 -1
  359. package/esm2015/lib/interaction/components/input-activities/input-activity.js +95 -0
  360. package/esm2015/lib/interaction/components/input-activities/input-activity.js.map +1 -0
  361. package/esm2015/lib/interaction/components/input-activities/input-activity.metadata.json +1 -0
  362. package/esm2015/lib/interaction/components/input-activities/input-activity.ngfactory.js.map +1 -0
  363. package/esm2015/lib/interaction/components/input-activities/select-input-activity.js +5 -3
  364. package/esm2015/lib/interaction/components/input-activities/select-input-activity.js.map +1 -1
  365. package/esm2015/lib/interaction/components/input-activities/select-input-activity.metadata.json +1 -1
  366. package/esm2015/lib/interaction/components/input-activities/string-input-activity.js +6 -4
  367. package/esm2015/lib/interaction/components/input-activities/string-input-activity.js.map +1 -1
  368. package/esm2015/lib/interaction/components/input-activities/string-input-activity.metadata.json +1 -1
  369. package/esm2015/lib/interaction/components/popup-interaction-context/popup-interaction-context.component.js +2 -1
  370. package/esm2015/lib/interaction/components/popup-interaction-context/popup-interaction-context.component.js.map +1 -1
  371. package/esm2015/lib/interaction/components/popup-interaction-context/popup-interaction-context.component.metadata.json +1 -1
  372. package/esm2015/lib/interaction/exports.js +8 -4
  373. package/esm2015/lib/interaction/exports.js.map +1 -1
  374. package/esm2015/lib/interaction/exports.metadata.json +1 -1
  375. package/esm2015/lib/interaction/interaction-context.js.map +1 -1
  376. package/esm2015/lib/interaction/interaction.module.js +29 -9
  377. package/esm2015/lib/interaction/interaction.module.js.map +1 -1
  378. package/esm2015/lib/interaction/interaction.module.metadata.json +1 -1
  379. package/esm2015/lib/interaction/interaction.module.ngfactory.js.map +1 -1
  380. package/esm2015/lib/interaction/services/interaction.service.js +1 -1
  381. package/esm2015/lib/interaction/services/interaction.service.js.map +1 -1
  382. package/esm2015/lib/place/components/abstract-place-navigation.component.js +1 -1
  383. package/esm2015/lib/place/components/abstract-place-navigation.component.js.map +1 -1
  384. package/esm2015/lib/place/components/list-place-nav/list-place-nav.component.js +1 -1
  385. package/esm2015/lib/place/components/list-place-nav/list-place-nav.component.metadata.json +1 -1
  386. package/esm2015/lib/place/components/not-authorised-notice/not-authorised-notice.component.js +1 -1
  387. package/esm2015/lib/place/components/not-authorised-notice/not-authorised-notice.component.metadata.json +1 -1
  388. package/esm2015/lib/place/components/place-outlet/place-outlet.component.js +1 -1
  389. package/esm2015/lib/place/components/place-outlet/place-outlet.component.metadata.json +1 -1
  390. package/esm2015/lib/place/components/side-place-navigation/side-place-navigation.component.js +1 -1
  391. package/esm2015/lib/place/components/side-place-navigation/side-place-navigation.component.metadata.json +1 -1
  392. package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js +1 -1
  393. package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.metadata.json +1 -1
  394. package/esm2015/lib/place/guards/consolidated-param-map.js +2 -1
  395. package/esm2015/lib/place/guards/consolidated-param-map.js.map +1 -1
  396. package/esm2015/lib/place/guards/consolidated-param-map.metadata.json +1 -1
  397. package/esm2015/lib/place/guards/place.guard.js +2 -1
  398. package/esm2015/lib/place/guards/place.guard.js.map +1 -1
  399. package/esm2015/lib/place/place-component.js +31 -4
  400. package/esm2015/lib/place/place-component.js.map +1 -1
  401. package/esm2015/lib/place/place-component.metadata.json +1 -1
  402. package/esm2015/lib/place/place-router.js +11 -14
  403. package/esm2015/lib/place/place-router.js.map +1 -1
  404. package/esm2015/lib/place/place-router.metadata.json +1 -1
  405. package/esm2015/lib/place/place.module.ngfactory.js.map +1 -1
  406. package/esm2015/lib/place/visit.js +5 -1
  407. package/esm2015/lib/place/visit.js.map +1 -1
  408. package/esm2015/lib/place/visit.metadata.json +1 -1
  409. package/esm2015/lib/services/exports.js +2 -0
  410. package/esm2015/lib/services/exports.js.map +1 -1
  411. package/esm2015/lib/services/exports.metadata.json +1 -1
  412. package/esm2015/lib/services/markdown/markdown.service.js +25 -0
  413. package/esm2015/lib/services/markdown/markdown.service.js.map +1 -0
  414. package/esm2015/lib/services/markdown/markdown.service.metadata.json +1 -0
  415. package/esm2015/lib/services/markdown/markdown.service.ngfactory.js.map +1 -0
  416. package/esm2015/lib/services/markdown/pill-plugin.js +38 -0
  417. package/esm2015/lib/services/markdown/pill-plugin.js.map +1 -0
  418. package/esm2015/lib/services/markdown/pill-plugin.metadata.json +1 -0
  419. package/fesm2015/coolon-angular-ui-powerups-cypress.js +546 -244
  420. package/fesm2015/coolon-angular-ui-powerups-cypress.js.map +1 -1
  421. package/fesm2015/coolon-angular-ui-powerups.js +1198 -353
  422. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  423. package/lib/components/cards/abstract-card-container.component.d.ts +11 -0
  424. package/lib/components/{card-container → cards/card-container}/card-container.component.d.ts +30 -9
  425. package/lib/components/cards/card-stack/card-stack.component.d.ts +65 -0
  426. package/lib/components/commands/command-face/command-face.component.d.ts +1 -0
  427. package/lib/components/exports.d.ts +8 -4
  428. package/lib/components/labelled-value/labelled-value.component.d.ts +7 -0
  429. package/lib/components/loading-container/loading-container.component.d.ts +11 -0
  430. package/lib/components/section-header/section-header.component.d.ts +5 -2
  431. package/lib/components/tables/abstract-table-model.d.ts +10 -7
  432. package/lib/components/tables/{table/edit-session.d.ts → edit-session.d.ts} +3 -3
  433. package/lib/components/tables/table/cell-portal-ref.d.ts +1 -1
  434. package/lib/components/tables/table/cell-renderer.d.ts +2 -0
  435. package/lib/components/tables/table/column-model.d.ts +14 -5
  436. package/lib/components/tables/table/default-cell-renderer/default-cell-renderer.component.d.ts +2 -1
  437. package/lib/components/tables/table/edit-row-controls/edit-row-controls.component.d.ts +4 -2
  438. package/lib/components/tables/table/table-cell-renderer/table-cell-renderer.component.d.ts +1 -1
  439. package/lib/components/tables/table/table-row-menu/table-row-menu.component.d.ts +2 -3
  440. package/lib/components/tables/table/table.component.d.ts +13 -12
  441. package/lib/components/tables/table/text-search-predicate.d.ts +1 -0
  442. package/lib/components/tables/tree-table/flattened-tree-list-model.d.ts +0 -1
  443. package/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.d.ts +2 -3
  444. package/lib/components/tables/tree-table/tree-label-column-model.d.ts +2 -3
  445. package/lib/components/tables/tree-table/tree-table-component.d.ts +1 -1
  446. package/lib/components/tables/tree-table/tree-table-model.d.ts +4 -5
  447. package/lib/components/text/markdown/markdown.component.d.ts +28 -0
  448. package/lib/components/track-by.d.ts +9 -0
  449. package/lib/interaction/abstract-interaction-context.d.ts +1 -0
  450. package/lib/interaction/alert.d.ts +7 -1
  451. package/lib/interaction/components/abstract-confirm-dialog.component.d.ts +7 -0
  452. package/lib/interaction/components/abstract-dialog.component.d.ts +17 -0
  453. package/lib/interaction/components/activity-actions/activity-actions.component.d.ts +14 -3
  454. package/lib/interaction/components/activity-triggers/abstract-activity-trigger.component.d.ts +1 -1
  455. package/lib/interaction/components/activity-triggers/inline-activity-trigger/inline-activity-trigger.component.d.ts +2 -1
  456. package/lib/interaction/components/activity-triggers/modal-activity-trigger/modal-activity-trigger.component.d.ts +2 -1
  457. package/lib/interaction/components/activity-triggers/popup-activity-trigger/popup-activity-trigger.component.d.ts +2 -1
  458. package/lib/interaction/components/add-card-activity/add-card-activity.component.d.ts +39 -0
  459. package/lib/interaction/components/alert-dialog/alert-dialog.component.d.ts +2 -7
  460. package/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.d.ts +2 -10
  461. package/lib/interaction/components/confirm-then-execute-dialog/confirm-then-execute-dialog.component.d.ts +12 -0
  462. package/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.d.ts +2 -9
  463. package/lib/interaction/components/editors/edit-context.d.ts +3 -0
  464. package/lib/interaction/components/editors/inline-string-editor/inline-editor-model.d.ts +24 -0
  465. package/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.d.ts +57 -0
  466. package/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.d.ts +2 -0
  467. package/lib/interaction/components/input-activities/input-activity.d.ts +41 -0
  468. package/lib/interaction/components/input-activities/select-input-activity.d.ts +11 -3
  469. package/lib/interaction/components/input-activities/string-input-activity.d.ts +6 -2
  470. package/lib/interaction/exports.d.ts +8 -4
  471. package/lib/interaction/interaction-context.d.ts +1 -0
  472. package/lib/place/place-component.d.ts +6 -1
  473. package/lib/place/place-router.d.ts +2 -2
  474. package/lib/services/exports.d.ts +2 -0
  475. package/lib/services/markdown/markdown.service.d.ts +6 -0
  476. package/lib/services/markdown/pill-plugin.d.ts +15 -0
  477. package/package.json +17 -16
  478. package/schematics/activity/index.js +1 -1
  479. package/schematics/activity/index.js.map +1 -1
  480. package/schematics/activity/templates/component/__name@dasherize__.component.html.template +1 -1
  481. package/schematics/activity/templates/component/__name@dasherize__.component.ts.template +5 -3
  482. package/schematics/aup-i18n/index.js +1 -1
  483. package/schematics/aup-i18n/index.js.map +1 -1
  484. package/schematics/component/index.js +1 -1
  485. package/schematics/component/index.js.map +1 -1
  486. package/schematics/component/templates/component/__name@dasherize__.component.ts.template +1 -1
  487. package/schematics/place-routes/place-class-scanner.js +3 -1
  488. package/schematics/place-routes/place-class-scanner.js.map +1 -1
  489. package/schematics/utils/build-context.d.ts +6 -3
  490. package/schematics/utils/build-context.js +3 -3
  491. package/schematics/utils/build-context.js.map +1 -1
  492. package/schematics/utils/workspace.d.ts +1 -0
  493. package/schematics/utils/workspace.js +11 -3
  494. package/schematics/utils/workspace.js.map +1 -1
  495. package/assets/activities.scss +0 -70
  496. package/cypress/components/aup-more-menu.d.ts +0 -4
  497. package/cypress/components/aup-popup-menu.d.ts +0 -7
  498. package/cypress/components/button-mixin.d.ts +0 -19
  499. package/cypress/section.d.ts +0 -55
  500. package/esm2015/cypress/components/aup-more-menu.js +0 -7
  501. package/esm2015/cypress/components/aup-more-menu.js.map +0 -1
  502. package/esm2015/cypress/components/aup-more-menu.metadata.json +0 -1
  503. package/esm2015/cypress/components/aup-popup-menu.js +0 -19
  504. package/esm2015/cypress/components/aup-popup-menu.js.map +0 -1
  505. package/esm2015/cypress/components/aup-popup-menu.metadata.json +0 -1
  506. package/esm2015/cypress/components/button-mixin.js +0 -15
  507. package/esm2015/cypress/components/button-mixin.js.map +0 -1
  508. package/esm2015/cypress/components/button-mixin.metadata.json +0 -1
  509. package/esm2015/cypress/section.js +0 -76
  510. package/esm2015/cypress/section.js.map +0 -1
  511. package/esm2015/cypress/section.metadata.json +0 -1
  512. package/esm2015/lib/components/card-container/card-container.component.js +0 -84
  513. package/esm2015/lib/components/card-container/card-container.component.js.map +0 -1
  514. package/esm2015/lib/components/card-container/card-container.component.metadata.json +0 -1
  515. package/esm2015/lib/components/card-container/card-container.component.ngfactory.js.map +0 -1
  516. package/esm2015/lib/components/tables/table/edit-session.js.map +0 -1
  517. package/esm2015/lib/components/tables/tree-table/tree-node.js +0 -2
  518. package/esm2015/lib/components/tables/tree-table/tree-node.js.map +0 -1
  519. package/esm2015/lib/components/tables/tree-table/tree-node.metadata.json +0 -1
  520. package/esm2015/lib/components/tables/tree-table/visitable.class.js +0 -26
  521. package/esm2015/lib/components/tables/tree-table/visitable.class.js.map +0 -1
  522. package/esm2015/lib/components/tables/tree-table/visitable.class.metadata.json +0 -1
  523. package/esm2015/lib/interaction/components/input-activities/abstract-input-activity.js +0 -43
  524. package/esm2015/lib/interaction/components/input-activities/abstract-input-activity.js.map +0 -1
  525. package/esm2015/lib/interaction/components/input-activities/abstract-input-activity.metadata.json +0 -1
  526. package/esm2015/lib/interaction/components/input-activities/abstract-input-activity.ngfactory.js.map +0 -1
  527. package/esm2015/lib/interaction/components/input-activities/input-activity-data.js +0 -2
  528. package/esm2015/lib/interaction/components/input-activities/input-activity-data.js.map +0 -1
  529. package/esm2015/lib/interaction/components/input-activities/input-activity-data.metadata.json +0 -1
  530. package/esm2015/lib/interaction/components/input-activities/select-input-activity-data.js +0 -2
  531. package/esm2015/lib/interaction/components/input-activities/select-input-activity-data.js.map +0 -1
  532. package/esm2015/lib/interaction/components/input-activities/select-input-activity-data.metadata.json +0 -1
  533. package/esm2015/lib/interaction/result.js +0 -4
  534. package/esm2015/lib/interaction/result.js.map +0 -1
  535. package/esm2015/lib/interaction/result.metadata.json +0 -1
  536. package/lib/components/tables/tree-table/tree-node.d.ts +0 -3
  537. package/lib/components/tables/tree-table/visitable.class.d.ts +0 -22
  538. package/lib/interaction/components/input-activities/abstract-input-activity.d.ts +0 -12
  539. package/lib/interaction/components/input-activities/input-activity-data.d.ts +0 -11
  540. package/lib/interaction/components/input-activities/select-input-activity-data.d.ts +0 -8
  541. package/lib/interaction/result.d.ts +0 -8
  542. /package/esm2015/lib/components/tables/{table/edit-session.js → edit-session.js} +0 -0
@@ -0,0 +1 @@
1
+ [{"__symbolic":"module","version":4,"metadata":{"LoadingContainerComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@coolon/pectin","name":"GarbageCollector","line":8,"character":47},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"aup-loading-container","template":"<ng-content *ngIf=\"!loadingModel.value\"></ng-content>\n<section *ngIf=\"loadingModel.value\" class=\"loading-indicator-overlay\">\n <div class=\"loading-message\">\n <p>{{messageModel.value}}</p>\n <mat-progress-bar mode=\"indeterminate\"></mat-progress-bar>\n </div>\n</section>\n","styles":[":host{display:block;position:relative}section.loading-indicator-overlay{position:absolute;top:0;left:0;bottom:0;right:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.loading-message{display:inline-block;text-align:center;width:10em}\n"]}]}],"members":{"loadingModel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@coolon/pectin","name":"TrackExternal","line":11,"character":3}}]}],"loading":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@coolon/pectin","name":"StoreInValueModel","line":15,"character":3},"arguments":["loadingModel"]}]}],"messageModel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@coolon/pectin","name":"TrackExternal","line":19,"character":3}}]}],"message":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@coolon/pectin","name":"StoreInValueModel","line":23,"character":3},"arguments":["messageModel"]}]}],"state":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":27,"character":3},"arguments":["class"]}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}}}}]
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loading-container.component.ngfactory.js","sourceRoot":"","sources":["../../../../../../../libs/angular-ui-powerups/src/lib/components/loading-container/loading-container.component.ngfactory.ts"],"names":[],"mappings":"","sourcesContent":["import * as i0 from '@angular/core';\ni0.ComponentFactory;\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loading-container.component.scss.shim.ngstyle.js","sourceRoot":"","sources":["../../../../../../../libs/angular-ui-powerups/src/lib/components/loading-container/loading-container.component.scss.shim.ngstyle.ts"],"names":[],"mappings":"","sourcesContent":["import * as i0 from '@angular/core';\ni0.ComponentFactory;\n"]}
@@ -7,7 +7,7 @@ NoopComponent.decorators = [
7
7
  { type: Component, args: [{
8
8
  selector: 'aup-noop',
9
9
  template: "",
10
- styles: [":host{display:block}"]
10
+ styles: [":host{display:block}\n"]
11
11
  },] }
12
12
  ];
13
13
  NoopComponent.ctorParameters = () => [];
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"NoopComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"aup-noop","template":"","styles":[":host{display:block}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"NoopComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"aup-noop","template":"","styles":[":host{display:block}\n"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}]}}}}]
@@ -8,7 +8,7 @@ ScrollContainerComponent.decorators = [
8
8
  { type: Component, args: [{
9
9
  selector: 'aup-scroll-container',
10
10
  template: "<div class=\"container\" cdkScrollable>\n <ng-content></ng-content>\n</div>\n",
11
- styles: [":host{display:flex;flex-direction:column;min-height:0;align-items:stretch}.container{display:flex;flex-direction:column;flex:1;flex-basis:0;overflow-y:scroll;align-items:stretch}"]
11
+ styles: [":host{display:flex;flex-direction:column;min-height:0;align-items:stretch}.container{display:flex;flex-direction:column;flex:1;flex-basis:0;overflow-y:scroll;align-items:stretch}\n"]
12
12
  },] }
13
13
  ];
14
14
  ScrollContainerComponent.ctorParameters = () => [];
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"ScrollContainerComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"aup-scroll-container","template":"<div class=\"container\" cdkScrollable>\n <ng-content></ng-content>\n</div>\n","styles":[":host{display:flex;flex-direction:column;min-height:0;align-items:stretch}.container{display:flex;flex-direction:column;flex:1;flex-basis:0;overflow-y:scroll;align-items:stretch}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"ScrollContainerComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"aup-scroll-container","template":"<div class=\"container\" cdkScrollable>\n <ng-content></ng-content>\n</div>\n","styles":[":host{display:flex;flex-direction:column;min-height:0;align-items:stretch}.container{display:flex;flex-direction:column;flex:1;flex-basis:0;overflow-y:scroll;align-items:stretch}\n"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}}}}]
@@ -1,7 +1,12 @@
1
1
  import { Component, HostBinding, Input } from '@angular/core';
2
- export class SectionHeaderComponent {
2
+ import { DisposableComponent } from '../disposable-component';
3
+ export class SectionHeaderComponent extends DisposableComponent {
3
4
  constructor() {
4
- this.underline = false;
5
+ super();
6
+ // readonly i18n = I18nMarsUi.components.layout.header;
7
+ this.size = 'medium';
8
+ this.borderTop = false;
9
+ this.borderBottom = false;
5
10
  }
6
11
  ngOnInit() {
7
12
  }
@@ -9,12 +14,14 @@ export class SectionHeaderComponent {
9
14
  SectionHeaderComponent.decorators = [
10
15
  { type: Component, args: [{
11
16
  selector: 'aup-section-header',
12
- template: "<ng-content></ng-content>\n",
13
- styles: [":host{--def-border-bottom-color:var(--border-bottom-color,rgba(0,0,0,0.07));display:block;padding:8px 16px;font-size:12px;line-height:12px;color:rgba(0,0,0,.5)}:host.underline{border-bottom:1px solid var(--def-border-bottom-color)}"]
17
+ template: "<span class=\"container-start\"><ng-content select=\"[header-start]\"></ng-content><ng-content></ng-content></span>\n<span class=\"container-middle\"><ng-content select=\"[header-center]\"></ng-content></span>\n<span class=\"container-end\"><ng-content select=\"[header-end]\"></ng-content></span>\n",
18
+ styles: [":host{display:flex;flex-direction:row;align-items:center;--resolved-padding: var(--padding, var(--default-padding));--resolved-padding-right: var(--padding-right, calc(var(--default-padding)/2));padding-left:var(--resolved-padding);padding-right:var(--resolved-padding-right);box-sizing:border-box}:host.has-back-button{padding-left:0}:host.toolbar{height:56px;min-height:56px}:host.toolbar span{font-weight:500;font-size:18px;color:#000000ab}:host.large{height:48px;min-height:48px}:host.large span{font-weight:500;font-size:14px;color:#000000ab}:host.medium{height:48px;min-height:48px}:host.medium span{font-weight:500;font-size:13px;color:#000000ab}:host.small{height:30px;min-height:30px}:host.small span{font-weight:300;font-size:12px;color:#000000ab}:host.border-top{border-top:var(--pinstripe-border)}:host.border-bottom{border-bottom:var(--pinstripe-border)}span{white-space:nowrap;display:inline-flex;flex-direction:row;align-items:center}span.container-start{justify-content:flex-start}span.container-middle{justify-content:center;flex:1;width:0;overflow:hidden}span.container-end{justify-content:flex-end}\n"]
14
19
  },] }
15
20
  ];
16
21
  SectionHeaderComponent.ctorParameters = () => [];
17
22
  SectionHeaderComponent.propDecorators = {
18
- underline: [{ type: Input }, { type: HostBinding, args: ['class.underline',] }]
23
+ size: [{ type: Input }, { type: HostBinding, args: ['class',] }],
24
+ borderTop: [{ type: Input }, { type: HostBinding, args: ['class.border-top',] }],
25
+ borderBottom: [{ type: Input }, { type: HostBinding, args: ['class.border-bottom',] }]
19
26
  };
20
27
  //# sourceMappingURL=section-header.component.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"section-header.component.js","sourceRoot":"","sources":["../../../../../../../libs/angular-ui-powerups/src/lib/components/section-header/section-header.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAU,MAAM,eAAe,CAAC;AAOtE,MAAM,OAAO,sBAAsB;IAMjC;QAFA,cAAS,GAAG,KAAK,CAAC;IAEF,CAAC;IAEjB,QAAQ;IACR,CAAC;;;YAdF,SAAS,SAAC;gBACT,QAAQ,EAAE,oBAAoB;gBAC9B,uCAA8C;;aAE/C;;;;wBAGE,KAAK,YACL,WAAW,SAAC,iBAAiB","sourcesContent":["import { Component, HostBinding, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'aup-section-header',\n templateUrl: './section-header.component.html',\n styleUrls: ['./section-header.component.scss']\n})\nexport class SectionHeaderComponent implements OnInit {\n\n @Input()\n @HostBinding('class.underline')\n underline = false;\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n"]}
1
+ {"version":3,"file":"section-header.component.js","sourceRoot":"","sources":["../../../../../../../libs/angular-ui-powerups/src/lib/components/section-header/section-header.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAU,MAAM,eAAe,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAO9D,MAAM,OAAO,sBAAuB,SAAQ,mBAAmB;IAgB7D;QACE,KAAK,EAAE,CAAC;QAfV,uDAAuD;QAIvD,SAAI,GAA6C,QAAQ,CAAC;QAI1D,cAAS,GAAG,KAAK,CAAC;QAIlB,iBAAY,GAAG,KAAK,CAAC;IAIrB,CAAC;IAED,QAAQ;IACR,CAAC;;;YA1BF,SAAS,SAAC;gBACT,QAAQ,EAAE,oBAAoB;gBAC9B,uTAA8C;;aAE/C;;;;mBAKE,KAAK,YACL,WAAW,SAAC,OAAO;wBAGnB,KAAK,YACL,WAAW,SAAC,kBAAkB;2BAG9B,KAAK,YACL,WAAW,SAAC,qBAAqB","sourcesContent":["import { Component, HostBinding, Input, OnInit } from '@angular/core';\nimport { DisposableComponent } from '../disposable-component';\n\n@Component({\n selector: 'aup-section-header',\n templateUrl: './section-header.component.html',\n styleUrls: ['./section-header.component.scss']\n})\nexport class SectionHeaderComponent extends DisposableComponent implements OnInit {\n\n // readonly i18n = I18nMarsUi.components.layout.header;\n\n @Input()\n @HostBinding('class')\n size: 'toolbar' | 'large' | 'medium' | 'small' = 'medium';\n\n @Input()\n @HostBinding('class.border-top')\n borderTop = false;\n\n @Input()\n @HostBinding('class.border-bottom')\n borderBottom = false;\n\n constructor() {\n super();\n }\n\n ngOnInit(): void {\n }\n\n}\n"]}
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"SectionHeaderComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"aup-section-header","template":"<ng-content></ng-content>\n","styles":[":host{--def-border-bottom-color:var(--border-bottom-color,rgba(0,0,0,0.07));display:block;padding:8px 16px;font-size:12px;line-height:12px;color:rgba(0,0,0,.5)}:host.underline{border-bottom:1px solid var(--def-border-bottom-color)}"]}]}],"members":{"underline":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":10,"character":3},"arguments":["class.underline"]}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"SectionHeaderComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../disposable-component","name":"DisposableComponent","line":8,"character":44},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"aup-section-header","template":"<span class=\"container-start\"><ng-content select=\"[header-start]\"></ng-content><ng-content></ng-content></span>\n<span class=\"container-middle\"><ng-content select=\"[header-center]\"></ng-content></span>\n<span class=\"container-end\"><ng-content select=\"[header-end]\"></ng-content></span>\n","styles":[":host{display:flex;flex-direction:row;align-items:center;--resolved-padding: var(--padding, var(--default-padding));--resolved-padding-right: var(--padding-right, calc(var(--default-padding)/2));padding-left:var(--resolved-padding);padding-right:var(--resolved-padding-right);box-sizing:border-box}:host.has-back-button{padding-left:0}:host.toolbar{height:56px;min-height:56px}:host.toolbar span{font-weight:500;font-size:18px;color:#000000ab}:host.large{height:48px;min-height:48px}:host.large span{font-weight:500;font-size:14px;color:#000000ab}:host.medium{height:48px;min-height:48px}:host.medium span{font-weight:500;font-size:13px;color:#000000ab}:host.small{height:30px;min-height:30px}:host.small span{font-weight:300;font-size:12px;color:#000000ab}:host.border-top{border-top:var(--pinstripe-border)}:host.border-bottom{border-bottom:var(--pinstripe-border)}span{white-space:nowrap;display:inline-flex;flex-direction:row;align-items:center}span.container-start{justify-content:flex-start}span.container-middle{justify-content:center;flex:1;width:0;overflow:hidden}span.container-end{justify-content:flex-end}\n"]}]}],"members":{"size":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":13,"character":3},"arguments":["class"]}]}],"borderTop":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":17,"character":3},"arguments":["class.border-top"]}]}],"borderBottom":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":21,"character":3},"arguments":["class.border-bottom"]}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}}}}]
@@ -104,7 +104,7 @@ SwitchCaseComponent.decorators = [
104
104
  { type: Component, args: [{
105
105
  selector: 'aup-switch-case',
106
106
  template: "<mat-tab-group class=\"content-wrapper\" no-tab-header full-height-tabs [selectedIndex]=\"selectedIndex\">\n <mat-tab *ngFor=\"let option of switchCaseOptions\">\n <ng-template [ngTemplateOutlet]=\"option.templateRef\"></ng-template>\n </mat-tab>\n</mat-tab-group>\n\n\n",
107
- styles: [":host{display:flex;flex-direction:column;align-items:stretch}mat-tab-group{flex:1}"]
107
+ styles: [":host{display:flex;flex-direction:column;align-items:stretch}mat-tab-group{flex:1}\n"]
108
108
  },] }
109
109
  ];
110
110
  SwitchCaseComponent.ctorParameters = () => [
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"SwitchCaseOption":{"__symbolic":"class","arity":1,"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef","line":20,"character":36,"arguments":[{"__symbolic":"reference","name":"Object"}]}]}],"matches":[{"__symbolic":"method"}]}},"SwitchCaseWhenDirective":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"SwitchCaseOption"},"arity":1,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":30,"character":1},"arguments":[{"selector":"[aupSwitchCaseWhen]","providers":[{"provide":{"__symbolic":"reference","name":"SwitchCaseOption"},"useExisting":{"__symbolic":"reference","name":"SwitchCaseWhenDirective"}}]}]}],"members":{"aupSwitchCaseWhen":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":35,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef","line":20,"character":36,"arguments":[{"__symbolic":"reference","name":"Object"}]}]}],"matches":[{"__symbolic":"method"}]}},"SwitchCaseDefaultDirective":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"SwitchCaseOption"},"arity":1,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":47,"character":1},"arguments":[{"selector":"[aupSwitchCaseDefault]","providers":[{"provide":{"__symbolic":"reference","name":"SwitchCaseOption"},"useExisting":{"__symbolic":"reference","name":"SwitchCaseDefaultDirective"}}]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef","line":20,"character":36,"arguments":[{"__symbolic":"reference","name":"Object"}]}]}],"matches":[{"__symbolic":"method"}]}},"SwitchCaseComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../disposable-component","name":"DisposableComponent","line":75,"character":44},"arity":1,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":70,"character":1},"arguments":[{"selector":"aup-switch-case","template":"<mat-tab-group class=\"content-wrapper\" no-tab-header full-height-tabs [selectedIndex]=\"selectedIndex\">\n <mat-tab *ngFor=\"let option of switchCaseOptions\">\n <ng-template [ngTemplateOutlet]=\"option.templateRef\"></ng-template>\n </mat-tab>\n</mat-tab-group>\n\n\n","styles":[":host{display:flex;flex-direction:column;align-items:stretch}mat-tab-group{flex:1}"]}]}],"members":{"switchModel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":77,"character":3}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@coolon/pectin","name":"TrackExternal","line":77,"character":12}}]}],"switch":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":80,"character":3}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@coolon/pectin","name":"StoreInValueModel","line":80,"character":12},"arguments":["switchModel"]}]}],"switchCaseOptions":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":83,"character":3},"arguments":[{"__symbolic":"reference","name":"SwitchCaseOption"}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":88,"character":27}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterContentInit":[{"__symbolic":"method"}],"updateSelection":[{"__symbolic":"method"}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"SwitchCaseOption":{"__symbolic":"class","arity":1,"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef","line":20,"character":36,"arguments":[{"__symbolic":"reference","name":"Object"}]}]}],"matches":[{"__symbolic":"method"}]}},"SwitchCaseWhenDirective":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"SwitchCaseOption"},"arity":1,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":30,"character":1},"arguments":[{"selector":"[aupSwitchCaseWhen]","providers":[{"provide":{"__symbolic":"reference","name":"SwitchCaseOption"},"useExisting":{"__symbolic":"reference","name":"SwitchCaseWhenDirective"}}]}]}],"members":{"aupSwitchCaseWhen":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":35,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef","line":20,"character":36,"arguments":[{"__symbolic":"reference","name":"Object"}]}]}],"matches":[{"__symbolic":"method"}]}},"SwitchCaseDefaultDirective":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"SwitchCaseOption"},"arity":1,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":47,"character":1},"arguments":[{"selector":"[aupSwitchCaseDefault]","providers":[{"provide":{"__symbolic":"reference","name":"SwitchCaseOption"},"useExisting":{"__symbolic":"reference","name":"SwitchCaseDefaultDirective"}}]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef","line":20,"character":36,"arguments":[{"__symbolic":"reference","name":"Object"}]}]}],"matches":[{"__symbolic":"method"}]}},"SwitchCaseComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../disposable-component","name":"DisposableComponent","line":75,"character":44},"arity":1,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":70,"character":1},"arguments":[{"selector":"aup-switch-case","template":"<mat-tab-group class=\"content-wrapper\" no-tab-header full-height-tabs [selectedIndex]=\"selectedIndex\">\n <mat-tab *ngFor=\"let option of switchCaseOptions\">\n <ng-template [ngTemplateOutlet]=\"option.templateRef\"></ng-template>\n </mat-tab>\n</mat-tab-group>\n\n\n","styles":[":host{display:flex;flex-direction:column;align-items:stretch}mat-tab-group{flex:1}\n"]}]}],"members":{"switchModel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":77,"character":3}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@coolon/pectin","name":"TrackExternal","line":77,"character":12}}]}],"switch":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":80,"character":3}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@coolon/pectin","name":"StoreInValueModel","line":80,"character":12},"arguments":["switchModel"]}]}],"switchCaseOptions":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":83,"character":3},"arguments":[{"__symbolic":"reference","name":"SwitchCaseOption"}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":88,"character":27}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterContentInit":[{"__symbolic":"method"}],"updateSelection":[{"__symbolic":"method"}]}}}}]
@@ -1,8 +1,8 @@
1
1
  import { assert, DelegatingListModel, DirtyTrackingForm, Dsl, EventListenerList, GarbageCollector, lang, MutableListModel, TrackExternal, ValueModel } from '@coolon/pectin';
2
2
  import * as _ from 'lodash';
3
3
  import { ColumnListModel } from './column-list-model';
4
+ import { EditSession } from './edit-session';
4
5
  import { CustomTemplateColumnModel, CustomValueColumnModel, EditorControlColumnModel, ListPropertyColumnModel, PropertyColumnModel, SelectionColumnModel } from './table/column-model';
5
- import { EditSession } from './table/edit-session';
6
6
  // export type StringPropertiesOf<T> = { [K in keyof T]: T[K] extends string ? K : never }[keyof T];
7
7
  // export type NumberPropertiesOf<T> = { [K in keyof T]: T[K] extends number ? K : never }[keyof T];
8
8
  class RowClass {
@@ -14,7 +14,7 @@ class RowClass {
14
14
  export class AbstractTableModel extends GarbageCollector {
15
15
  constructor() {
16
16
  super();
17
- this._dataSource = new DelegatingListModel();
17
+ this._dataSource = this.registerDisposable(new DelegatingListModel());
18
18
  this._columnList = this.registerDisposable(new ColumnListModel());
19
19
  this._editorSessions = new MutableListModel();
20
20
  this.rowClassNamePredicates = [];
@@ -35,6 +35,12 @@ export class AbstractTableModel extends GarbageCollector {
35
35
  this.lastVisibleColumn = chain(this._columnList).last();
36
36
  this.rowSelectionDisabledOnAllColumns = chain(this._columnList).select(column => column.isRowSelectionEnabled()).count().equals(0);
37
37
  }
38
+ findMatchingColumns(row, regex) {
39
+ return this.columns.value.filter(c => c.isTextMatch(row, regex));
40
+ }
41
+ hasMatchingColumn(row, regex) {
42
+ return !!this.columns.value.find(c => c.isTextMatch(row, regex));
43
+ }
38
44
  setDataSource(sourceOfTruth) {
39
45
  this._dataSource.setDelegate(sourceOfTruth);
40
46
  }
@@ -69,10 +75,13 @@ export class AbstractTableModel extends GarbageCollector {
69
75
  }
70
76
  return selectionColumnModel;
71
77
  }
72
- addEditControls(saveCommand) {
73
- this.saveCommand = saveCommand;
78
+ addEditControls(saveCommandFactory, formFactory) {
79
+ this.saveCommandFactory = saveCommandFactory;
80
+ if (_.isFunction(formFactory)) {
81
+ this._createForm = formFactory;
82
+ }
74
83
  const columnId = 'editControls';
75
- return this.addColumn(new EditorControlColumnModel(columnId, saveCommand, () => this.getColumnTextProperties(columnId)));
84
+ return this.addColumn(new EditorControlColumnModel(columnId, saveCommandFactory, () => this.getColumnTextProperties(columnId)));
76
85
  }
77
86
  addCustomColumn(columnId, dataAccessor) {
78
87
  return this.addColumn(new CustomValueColumnModel(columnId, () => this.getColumnTextProperties(columnId), dataAccessor));
@@ -116,19 +125,20 @@ export class AbstractTableModel extends GarbageCollector {
116
125
  if (this._rowsBeingEdited.query().indexOf(row) > -1) {
117
126
  return lang.illegalState(`Row with id=${rowId} already being edited`);
118
127
  }
119
- else {
120
- const editSession = new EditSession(rowId, row, this._createForm(row), this.saveCommand);
121
- const { when } = Dsl.disposeWith(editSession);
122
- when(editSession.liveRowValue).changes((editedValue) => {
123
- this._rowsBeingEdited.replaceOrPush(editedValue);
124
- }, { initialValue: 'triggerChangeUnlessNil' });
125
- this._editorSessions.push(editSession);
126
- editSession.onDispose(() => {
127
- this._rowsBeingEdited.remove(editSession.liveRowValue.value);
128
- this._editorSessions.remove(editSession);
129
- });
130
- return editSession;
131
- }
128
+ // todo: pass the factories to the edit session so we can make the whole lot pluggable?
129
+ const form = this._createForm(row);
130
+ const saveCommand = this.saveCommandFactory.create(form);
131
+ const editSession = new EditSession(rowId, row, form, saveCommand);
132
+ const { when } = Dsl.disposeWith(editSession);
133
+ when(editSession.liveRowValue).changes((editedValue) => {
134
+ this._rowsBeingEdited.replaceOrPush(editedValue);
135
+ }, { initialValue: 'triggerChangeUnlessNil' });
136
+ this._editorSessions.push(editSession);
137
+ editSession.onDispose(() => {
138
+ this._rowsBeingEdited.remove(editSession.liveRowValue.value);
139
+ this._editorSessions.remove(editSession);
140
+ });
141
+ return editSession;
132
142
  }
133
143
  getEditSessionFor(row) {
134
144
  return this._editorSessionByRowId.get(this.identityOf(row));
@@ -144,12 +154,16 @@ export class AbstractTableModel extends GarbageCollector {
144
154
  return this.isRowSelectionEnabled() && column.isRowSelectionEnabled();
145
155
  }
146
156
  isRowSelectionEnabled() {
147
- return this.hasSelectionModel() && !this.rowSelectionDisabledOnAllColumns.value;
157
+ return this.hasUserSelectionModel() && !this.rowSelectionDisabledOnAllColumns.value;
148
158
  }
149
- hasSelectionModel() {
159
+ hasUserSelectionModel() {
150
160
  var _a;
151
161
  return !!((_a = this.selectionColumnModel) === null || _a === void 0 ? void 0 : _a.selectionModel.getDelegate());
152
162
  }
163
+ getSelectionModel() {
164
+ var _a;
165
+ return (_a = this.selectionColumnModel) === null || _a === void 0 ? void 0 : _a.selectionModel;
166
+ }
153
167
  isHoverEnabled() {
154
168
  return this.isRowSelectionEnabled() || this.rowClickListeners.listenerCount > 0;
155
169
  }
@@ -1 +1 @@
1
- {"version":3,"file":"abstract-table-model.js","sourceRoot":"","sources":["../../../../../../../libs/angular-ui-powerups/src/lib/components/tables/abstract-table-model.ts"],"names":[],"mappings":"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","sourcesContent":["import { ComponentType } from '@angular/cdk/overlay';\nimport {\n assert,\n BooleanValueModelChain,\n DelegatingListModel,\n DirtyTrackingForm,\n Disposable,\n Dsl,\n EventListenerList,\n GarbageCollector,\n lang,\n ListModel,\n ListModelChain,\n MapModelChain,\n MutableListModel,\n SelectionModel,\n TrackExternal,\n Types,\n UnaryCommand,\n ValueModel,\n ValueModelChain\n} from '@coolon/pectin';\nimport * as _ from 'lodash';\nimport { ColumnListModel } from './column-list-model';\nimport { CellRenderer } from './table/cell-renderer';\nimport {\n CellRendererOptions,\n ColumnModel,\n CustomTemplateColumnModel,\n CustomValueColumnModel,\n EditorControlColumnModel,\n ListPropertyColumnModel,\n OnComponentInit,\n PropertyColumnModel,\n SelectionColumnModel\n} from './table/column-model';\nimport { ColumnTextProperties } from './table/column-text-properties';\nimport { EditSession } from './table/edit-session';\n\n// export type StringPropertiesOf<T> = { [K in keyof T]: T[K] extends string ? K : never }[keyof T];\n// export type NumberPropertiesOf<T> = { [K in keyof T]: T[K] extends number ? K : never }[keyof T];\n\nclass RowClass<Row> {\n constructor(readonly className: string,\n readonly matches: (row: Row) => boolean) {\n }\n}\n\n\nexport class AbstractTableModel<Row> extends GarbageCollector {\n\n private readonly _dataSource = new DelegatingListModel<Row>();\n readonly dataSource: ListModelChain<Row>;\n\n private readonly _columnList = this.registerDisposable(new ColumnListModel<Row>());\n\n private _editorSessions = new MutableListModel<EditSession<Row>>();\n private readonly _rowsBeingEdited: MutableListModel<Row>;\n private readonly rowClassNamePredicates: RowClass<Row>[] = [];\n\n private _columnTextPropertiesLookup: { [columnName: string]: ColumnTextProperties };\n\n private saveCommand: UnaryCommand<DirtyTrackingForm<Row>, boolean>;\n private _editorSessionByRowId: MapModelChain<any, EditSession<Row>>;\n\n readonly editing: BooleanValueModelChain;\n readonly firstEditableColumn: ValueModelChain<ColumnModel<Row>>;\n private selectionColumnModel: SelectionColumnModel<Row>;\n private rowSelectionDisabledOnAllColumns: BooleanValueModelChain;\n private readonly rowClickListeners = new EventListenerList<(row: Row) => void>();\n readonly firstVisibleColumn: ValueModel<ColumnModel<Row>>;\n readonly lastVisibleColumn: ValueModel<ColumnModel<Row>>;\n\n private _createForm: (row: Row) => DirtyTrackingForm<Row> = (row) => new DirtyTrackingForm<Row>();\n\n public constructor() {\n super();\n const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);\n this._rowsBeingEdited = new MutableListModel<Row>([], {\n identifiedWith: row => this.identityOf(row)\n });\n this._editorSessionByRowId = chain(this._editorSessions).indexBy('rowId');\n this.editing = chain(this._editorSessions).count().isGreaterThan(0);\n this.dataSource = chain(this._dataSource).replaceAll(this.rowsBeingEdited);\n\n this.firstEditableColumn = chain(this.columns).select(c => c.hasEditorPortal()).first();\n this.firstVisibleColumn = chain(this._columnList).first();\n this.lastVisibleColumn = chain(this._columnList).last();\n\n this.rowSelectionDisabledOnAllColumns = chain(this._columnList).select(column => column.isRowSelectionEnabled()).count().equals(0);\n }\n\n protected setDataSource(sourceOfTruth: ListModel<Row>) {\n this._dataSource.setDelegate(sourceOfTruth);\n }\n\n identityOf(row: Row): any {\n return this._dataSource.identityOf(row);\n }\n\n get rowsBeingEdited(): ListModel<Row> {\n return this._rowsBeingEdited.readonly;\n }\n\n readonly trackBy = (index: number, item: Row) => {\n return this.identityOf ? this.identityOf(item) : index;\n };\n\n get columns(): ListModel<ColumnModel<Row>> {\n return this._columnList.allColumns;\n }\n\n get visibleColumns(): ListModel<ColumnModel<Row>> {\n return this._columnList.readonly;\n }\n\n pluck<P extends Types.ValuePropertiesOf<Row>>(property: P, options?: { columnId: string }): PropertyColumnModel<Row, P> {\n const columnId = options?.columnId || property.toString();\n return this.addColumn(new PropertyColumnModel<Row, P>(columnId, property, () => this.getColumnTextProperties(columnId)));\n }\n\n pluckList<P extends Types.ArrayPropertiesOf<Row>>(property: P, options?: { columnId: string }): ListPropertyColumnModel<Row, P> {\n const columnId = options?.columnId || property.toString();\n return this.addColumn(new ListPropertyColumnModel<Row, P>(columnId, property, () => this.getColumnTextProperties(columnId)));\n }\n\n protected _addSelectionColumn(selectionModel?: SelectionModel<Row>, visible?: ValueModel<boolean> | boolean): SelectionColumnModel<Row> {\n assert.isNil(this.selectionColumnModel);\n const columnId = 'selection-column';\n this.selectionColumnModel = new SelectionColumnModel<Row>(columnId, () => this.getColumnTextProperties(columnId), selectionModel);\n this.addRowClass('aup-row-selected', row => this.selectionColumnModel.isSelected(row));\n const selectionColumnModel = this.addColumn(this.selectionColumnModel, 0);\n if (!_.isNil(visible)) {\n selectionColumnModel.visibleWhile(visible instanceof ValueModel ? visible : ValueModel.constant(visible));\n }\n return selectionColumnModel;\n }\n\n addEditControls(saveCommand: UnaryCommand<DirtyTrackingForm<Row>, boolean>): EditorControlColumnModel<Row> {\n this.saveCommand = saveCommand;\n const columnId = 'editControls';\n return this.addColumn(new EditorControlColumnModel<Row>(columnId, saveCommand, () => this.getColumnTextProperties(columnId)));\n }\n\n addCustomColumn<V>(columnId: string, dataAccessor: (row: Row) => V): CustomValueColumnModel<Row, V> {\n return this.addColumn(new CustomValueColumnModel<Row, V>(columnId, () => this.getColumnTextProperties(columnId), dataAccessor));\n }\n\n addComponentColumn<C extends CellRenderer<Row>>(columnId: string, component: ComponentType<C>, onInit?: OnComponentInit<C>): CustomValueColumnModel<Row, Row>\n addComponentColumn<C extends CellRenderer<Row>>(columnId: string, component: ComponentType<C>, options?: CellRendererOptions<Row, C>): CustomValueColumnModel<Row, Row>\n addComponentColumn<C extends CellRenderer<Row>>(columnId: string, component: ComponentType<C>, onComponentInitOrOptions?: OnComponentInit<C> | CellRendererOptions<Row, C>): CustomValueColumnModel<Row, Row> {\n return this.addColumn(new CustomValueColumnModel<Row, Row>(columnId, () => this.getColumnTextProperties(columnId), row => row)).cellRenderer(component, onComponentInitOrOptions);\n }\n\n addTemplateColumn<V>(columnId: string): CustomTemplateColumnModel<Row> {\n return this.addColumn(new CustomTemplateColumnModel<Row>(columnId, () => this.getColumnTextProperties(columnId)));\n }\n\n addRowClass(className: string, predicate: (row: Row) => boolean) {\n this.rowClassNamePredicates.push(new RowClass<Row>(className, predicate));\n }\n\n getRowClasses(row: Row): string[] {\n const classNames: string[] = [];\n this.rowClassNamePredicates.forEach(i => {\n if (i.matches(row)) {\n classNames.push(i.className);\n }\n });\n return classNames;\n }\n\n useFormFactory(factory: (row: Row) => DirtyTrackingForm<Row>): this {\n this._createForm = factory;\n return this;\n }\n\n protected addColumn<C extends ColumnModel<Row>>(column: C, index?: number): C {\n return this._columnList.addColumn(column, index);\n }\n\n // removeColumn(column: ColumnModel<Row>) {\n //\n // }\n\n columnTextProperties(columnTextProperties: { [columnName: string]: ColumnTextProperties }) {\n this._columnTextPropertiesLookup = columnTextProperties;\n }\n\n getColumnTextProperties(columnId: string): ColumnTextProperties {\n return this._columnTextPropertiesLookup ? this._columnTextPropertiesLookup[columnId] : undefined;\n }\n\n startEditSession(row: Row): EditSession<Row> {\n const rowId = this.identityOf(row);\n if (this._rowsBeingEdited.query().indexOf(row) > -1) {\n return lang.illegalState(`Row with id=${rowId} already being edited`);\n } else {\n const editSession = new EditSession<Row>(rowId, row, this._createForm(row), this.saveCommand);\n const { when } = Dsl.disposeWith(editSession);\n when(editSession.liveRowValue).changes((editedValue) => {\n this._rowsBeingEdited.replaceOrPush(editedValue);\n }, { initialValue: 'triggerChangeUnlessNil' });\n\n this._editorSessions.push(editSession);\n editSession.onDispose(() => {\n this._rowsBeingEdited.remove(editSession.liveRowValue.value);\n this._editorSessions.remove(editSession);\n });\n return editSession;\n }\n }\n\n getEditSessionFor(row: Row): EditSession<Row> {\n return this._editorSessionByRowId.get(this.identityOf(row));\n }\n\n cancelAllEditorSessions() {\n this._editorSessions.runInTransaction((draft) => {\n this._rowsBeingEdited.runInTransaction(() => {\n draft.value.forEach(session => session.dispose());\n });\n });\n }\n\n isRowSelectionEnabledFor(column: ColumnModel<Row>): boolean {\n return this.isRowSelectionEnabled() && column.isRowSelectionEnabled();\n }\n\n isRowSelectionEnabled() {\n return this.hasSelectionModel() && !this.rowSelectionDisabledOnAllColumns.value;\n }\n\n hasSelectionModel() {\n return !!this.selectionColumnModel?.selectionModel.getDelegate();\n }\n\n isHoverEnabled(): boolean {\n return this.isRowSelectionEnabled() || this.rowClickListeners.listenerCount > 0;\n }\n\n isCursorEnabled(column: ColumnModel<Row>) {\n return this.isRowSelectionEnabledFor(column) || this.rowClickListeners.listenerCount > 0;\n }\n\n selectRow(row: Row) {\n this.selectionColumnModel?.selectRow(row);\n }\n\n onRowClicked(callback: (row: Row) => void): Disposable {\n return this.rowClickListeners.add(callback);\n }\n\n _notifyCellClicked(columnModel: ColumnModel<Row>, row: Row) {\n if (this.isRowSelectionEnabledFor(columnModel)) {\n this.selectRow(row);\n }\n this.rowClickListeners.fire(l => l(row));\n }\n}\n\n\nTrackExternal.oneTimeBinding(AbstractTableModel);\n"]}
1
+ {"version":3,"file":"abstract-table-model.js","sourceRoot":"","sources":["../../../../../../../libs/angular-ui-powerups/src/lib/components/tables/abstract-table-model.ts"],"names":[],"mappings":"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","sourcesContent":["import { ComponentType } from '@angular/cdk/overlay';\nimport {\n assert,\n BooleanValueModelChain, Command,\n CommandFactory,\n DelegatingListModel,\n DirtyTrackingForm,\n Disposable,\n Dsl,\n EventListenerList,\n GarbageCollector,\n lang,\n ListModel,\n ListModelChain,\n MapModelChain,\n MutableListModel,\n SelectionModel,\n TrackExternal,\n Types,\n ValueModel,\n ValueModelChain\n} from '@coolon/pectin';\nimport * as _ from 'lodash';\nimport { ColumnListModel } from './column-list-model';\nimport { EditSession } from './edit-session';\nimport { CellRenderer } from './table/cell-renderer';\nimport {\n CellRendererOptions,\n ColumnModel,\n CustomTemplateColumnModel,\n CustomValueColumnModel,\n EditorControlColumnModel,\n ListPropertyColumnModel,\n OnComponentInit,\n PropertyColumnModel,\n SelectionColumnModel\n} from './table/column-model';\nimport { ColumnTextProperties } from './table/column-text-properties';\n\n// export type StringPropertiesOf<T> = { [K in keyof T]: T[K] extends string ? K : never }[keyof T];\n// export type NumberPropertiesOf<T> = { [K in keyof T]: T[K] extends number ? K : never }[keyof T];\n\nclass RowClass<Row> {\n constructor(readonly className: string,\n readonly matches: (row: Row) => boolean) {\n }\n}\n\n\nexport class AbstractTableModel<Row> extends GarbageCollector {\n\n private readonly _dataSource = this.registerDisposable(new DelegatingListModel<Row>());\n readonly dataSource: ListModelChain<Row>;\n\n private readonly _columnList = this.registerDisposable(new ColumnListModel<Row>());\n\n private _editorSessions = new MutableListModel<EditSession<Row>>();\n private readonly _rowsBeingEdited: MutableListModel<Row>;\n private readonly rowClassNamePredicates: RowClass<Row>[] = [];\n\n private _columnTextPropertiesLookup: { [columnName: string]: ColumnTextProperties };\n\n private saveCommandFactory: Command.Factory<DirtyTrackingForm<Row>, boolean | Promise<boolean>>;\n private _editorSessionByRowId: MapModelChain<any, EditSession<Row>>;\n\n readonly editing: BooleanValueModelChain;\n readonly firstEditableColumn: ValueModelChain<ColumnModel<Row>>;\n private selectionColumnModel: SelectionColumnModel<Row>;\n private rowSelectionDisabledOnAllColumns: BooleanValueModelChain;\n private readonly rowClickListeners = new EventListenerList<(row: Row) => void>();\n readonly firstVisibleColumn: ValueModel<ColumnModel<Row>>;\n readonly lastVisibleColumn: ValueModel<ColumnModel<Row>>;\n\n private _createForm: (row: Row) => DirtyTrackingForm<Row> = (row) => new DirtyTrackingForm<Row>();\n\n public constructor() {\n super();\n const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);\n this._rowsBeingEdited = new MutableListModel<Row>([], {\n identifiedWith: row => this.identityOf(row)\n });\n this._editorSessionByRowId = chain(this._editorSessions).indexBy('rowId');\n this.editing = chain(this._editorSessions).count().isGreaterThan(0);\n this.dataSource = chain(this._dataSource).replaceAll(this.rowsBeingEdited);\n\n this.firstEditableColumn = chain(this.columns).select(c => c.hasEditorPortal()).first();\n this.firstVisibleColumn = chain(this._columnList).first();\n this.lastVisibleColumn = chain(this._columnList).last();\n\n this.rowSelectionDisabledOnAllColumns = chain(this._columnList).select(column => column.isRowSelectionEnabled()).count().equals(0);\n }\n\n findMatchingColumns(row: Row, regex: RegExp): ColumnModel<Row>[] {\n return this.columns.value.filter(c => c.isTextMatch(row, regex));\n }\n\n hasMatchingColumn(row: Row, regex: RegExp): boolean {\n return !!this.columns.value.find(c => c.isTextMatch(row, regex));\n }\n\n protected setDataSource(sourceOfTruth: ListModel<Row>) {\n this._dataSource.setDelegate(sourceOfTruth);\n }\n\n identityOf(row: Row): any {\n return this._dataSource.identityOf(row);\n }\n\n get rowsBeingEdited(): ListModel<Row> {\n return this._rowsBeingEdited.readonly;\n }\n\n readonly trackBy = (index: number, item: Row) => {\n return this.identityOf ? this.identityOf(item) : index;\n };\n\n get columns(): ListModel<ColumnModel<Row>> {\n return this._columnList.allColumns;\n }\n\n get visibleColumns(): ListModel<ColumnModel<Row>> {\n return this._columnList.readonly;\n }\n\n pluck<P extends Types.ValuePropertiesOf<Row>>(property: P, options?: { columnId: string }): PropertyColumnModel<Row, P> {\n const columnId = options?.columnId || property.toString();\n return this.addColumn(new PropertyColumnModel<Row, P>(columnId, property, () => this.getColumnTextProperties(columnId)));\n }\n\n pluckList<P extends Types.ArrayPropertiesOf<Row>>(property: P, options?: { columnId: string }): ListPropertyColumnModel<Row, P> {\n const columnId = options?.columnId || property.toString();\n return this.addColumn(new ListPropertyColumnModel<Row, P>(columnId, property, () => this.getColumnTextProperties(columnId)));\n }\n\n protected _addSelectionColumn(selectionModel?: SelectionModel<Row>, visible?: ValueModel<boolean> | boolean): SelectionColumnModel<Row> {\n assert.isNil(this.selectionColumnModel);\n const columnId = 'selection-column';\n this.selectionColumnModel = new SelectionColumnModel<Row>(columnId, () => this.getColumnTextProperties(columnId), selectionModel);\n this.addRowClass('aup-row-selected', row => this.selectionColumnModel.isSelected(row));\n const selectionColumnModel = this.addColumn(this.selectionColumnModel, 0);\n if (!_.isNil(visible)) {\n selectionColumnModel.visibleWhile(visible instanceof ValueModel ? visible : ValueModel.constant(visible));\n }\n return selectionColumnModel;\n }\n\n addEditControls(saveCommandFactory: Command.Factory<DirtyTrackingForm<Row>, boolean|Promise<boolean>>, formFactory?: (row: Row) => DirtyTrackingForm<Row>): EditorControlColumnModel<Row> {\n this.saveCommandFactory = saveCommandFactory;\n if (_.isFunction(formFactory)) {\n this._createForm = formFactory;\n }\n const columnId = 'editControls';\n return this.addColumn(new EditorControlColumnModel<Row>(columnId, saveCommandFactory, () => this.getColumnTextProperties(columnId)));\n }\n\n addCustomColumn<V>(columnId: string, dataAccessor: (row: Row) => V): CustomValueColumnModel<Row, V> {\n return this.addColumn(new CustomValueColumnModel<Row, V>(columnId, () => this.getColumnTextProperties(columnId), dataAccessor));\n }\n\n addComponentColumn<C extends CellRenderer<Partial<Row>>>(columnId: string, component: ComponentType<C>, onInit?: OnComponentInit<C>): CustomValueColumnModel<Row, Row>\n addComponentColumn<C extends CellRenderer<Partial<Row>>>(columnId: string, component: ComponentType<C>, options?: CellRendererOptions<Row, C>): CustomValueColumnModel<Row, Row>\n addComponentColumn<C extends CellRenderer<Partial<Row>>>(columnId: string, component: ComponentType<C>, onComponentInitOrOptions?: OnComponentInit<C> | CellRendererOptions<Row, C>): CustomValueColumnModel<Row, Row> {\n return this.addColumn(new CustomValueColumnModel<Row, Row>(columnId, () => this.getColumnTextProperties(columnId), row => row)).cellRenderer(component, onComponentInitOrOptions);\n }\n\n addTemplateColumn<V>(columnId: string): CustomTemplateColumnModel<Row> {\n return this.addColumn(new CustomTemplateColumnModel<Row>(columnId, () => this.getColumnTextProperties(columnId)));\n }\n\n addRowClass(className: string, predicate: (row: Row) => boolean) {\n this.rowClassNamePredicates.push(new RowClass<Row>(className, predicate));\n }\n\n getRowClasses(row: Row): string[] {\n const classNames: string[] = [];\n this.rowClassNamePredicates.forEach(i => {\n if (i.matches(row)) {\n classNames.push(i.className);\n }\n });\n return classNames;\n }\n\n useFormFactory(factory: (row: Row) => DirtyTrackingForm<Row>): this {\n this._createForm = factory;\n return this;\n }\n\n protected addColumn<C extends ColumnModel<Row>>(column: C, index?: number): C {\n return this._columnList.addColumn(column, index);\n }\n\n // removeColumn(column: ColumnModel<Row>) {\n //\n // }\n\n columnTextProperties(columnTextProperties: { [columnName: string]: ColumnTextProperties }) {\n this._columnTextPropertiesLookup = columnTextProperties;\n }\n\n getColumnTextProperties(columnId: string): ColumnTextProperties {\n return this._columnTextPropertiesLookup ? this._columnTextPropertiesLookup[columnId] : undefined;\n }\n\n startEditSession(row: Row): EditSession<Row> {\n const rowId = this.identityOf(row);\n if (this._rowsBeingEdited.query().indexOf(row) > -1) {\n return lang.illegalState(`Row with id=${rowId} already being edited`);\n }\n\n // todo: pass the factories to the edit session so we can make the whole lot pluggable?\n const form = this._createForm(row);\n const saveCommand = this.saveCommandFactory.create(form);\n const editSession = new EditSession<Row>(rowId, row, form, saveCommand);\n const { when } = Dsl.disposeWith(editSession);\n when(editSession.liveRowValue).changes((editedValue) => {\n this._rowsBeingEdited.replaceOrPush(editedValue);\n }, { initialValue: 'triggerChangeUnlessNil' });\n\n this._editorSessions.push(editSession);\n editSession.onDispose(() => {\n this._rowsBeingEdited.remove(editSession.liveRowValue.value);\n this._editorSessions.remove(editSession);\n });\n return editSession;\n }\n\n getEditSessionFor(row: Row): EditSession<Row> {\n return this._editorSessionByRowId.get(this.identityOf(row));\n }\n\n cancelAllEditorSessions() {\n this._editorSessions.runInTransaction((draft) => {\n this._rowsBeingEdited.runInTransaction(() => {\n draft.value.forEach(session => session.dispose());\n });\n });\n }\n\n isRowSelectionEnabledFor(column: ColumnModel<Row>): boolean {\n return this.isRowSelectionEnabled() && column.isRowSelectionEnabled();\n }\n\n isRowSelectionEnabled() {\n return this.hasUserSelectionModel() && !this.rowSelectionDisabledOnAllColumns.value;\n }\n\n hasUserSelectionModel() {\n return !!this.selectionColumnModel?.selectionModel.getDelegate();\n }\n\n getSelectionModel(): SelectionModel<Row> | undefined {\n return this.selectionColumnModel?.selectionModel;\n }\n\n isHoverEnabled(): boolean {\n return this.isRowSelectionEnabled() || this.rowClickListeners.listenerCount > 0;\n }\n\n isCursorEnabled(column: ColumnModel<Row>) {\n return this.isRowSelectionEnabledFor(column) || this.rowClickListeners.listenerCount > 0;\n }\n\n selectRow(row: Row) {\n this.selectionColumnModel?.selectRow(row);\n }\n\n onRowClicked(callback: (row: Row) => void): Disposable {\n return this.rowClickListeners.add(callback);\n }\n\n _notifyCellClicked(columnModel: ColumnModel<Row>, row: Row) {\n if (this.isRowSelectionEnabledFor(columnModel)) {\n this.selectRow(row);\n }\n this.rowClickListeners.fire(l => l(row));\n }\n}\n\n\nTrackExternal.oneTimeBinding(AbstractTableModel);\n"]}
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"AbstractTableModel":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@coolon/pectin","name":"GarbageCollector","line":49,"character":45},"arity":1,"members":{"__ctor__":[{"__symbolic":"constructor"}],"setDataSource":[{"__symbolic":"method"}],"identityOf":[{"__symbolic":"method"}],"pluck":[{"__symbolic":"method"}],"pluckList":[{"__symbolic":"method"}],"_addSelectionColumn":[{"__symbolic":"method"}],"addEditControls":[{"__symbolic":"method"}],"addCustomColumn":[{"__symbolic":"method"}],"addComponentColumn":[{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"}],"addTemplateColumn":[{"__symbolic":"method"}],"addRowClass":[{"__symbolic":"method"}],"getRowClasses":[{"__symbolic":"method"}],"useFormFactory":[{"__symbolic":"method"}],"addColumn":[{"__symbolic":"method"}],"columnTextProperties":[{"__symbolic":"method"}],"getColumnTextProperties":[{"__symbolic":"method"}],"startEditSession":[{"__symbolic":"method"}],"getEditSessionFor":[{"__symbolic":"method"}],"cancelAllEditorSessions":[{"__symbolic":"method"}],"isRowSelectionEnabledFor":[{"__symbolic":"method"}],"isRowSelectionEnabled":[{"__symbolic":"method"}],"hasSelectionModel":[{"__symbolic":"method"}],"isHoverEnabled":[{"__symbolic":"method"}],"isCursorEnabled":[{"__symbolic":"method"}],"selectRow":[{"__symbolic":"method"}],"onRowClicked":[{"__symbolic":"method"}],"_notifyCellClicked":[{"__symbolic":"method"}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"AbstractTableModel":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@coolon/pectin","name":"GarbageCollector","line":49,"character":45},"arity":1,"members":{"__ctor__":[{"__symbolic":"constructor"}],"findMatchingColumns":[{"__symbolic":"method"}],"hasMatchingColumn":[{"__symbolic":"method"}],"setDataSource":[{"__symbolic":"method"}],"identityOf":[{"__symbolic":"method"}],"pluck":[{"__symbolic":"method"}],"pluckList":[{"__symbolic":"method"}],"_addSelectionColumn":[{"__symbolic":"method"}],"addEditControls":[{"__symbolic":"method"}],"addCustomColumn":[{"__symbolic":"method"}],"addComponentColumn":[{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"}],"addTemplateColumn":[{"__symbolic":"method"}],"addRowClass":[{"__symbolic":"method"}],"getRowClasses":[{"__symbolic":"method"}],"useFormFactory":[{"__symbolic":"method"}],"addColumn":[{"__symbolic":"method"}],"columnTextProperties":[{"__symbolic":"method"}],"getColumnTextProperties":[{"__symbolic":"method"}],"startEditSession":[{"__symbolic":"method"}],"getEditSessionFor":[{"__symbolic":"method"}],"cancelAllEditorSessions":[{"__symbolic":"method"}],"isRowSelectionEnabledFor":[{"__symbolic":"method"}],"isRowSelectionEnabled":[{"__symbolic":"method"}],"hasUserSelectionModel":[{"__symbolic":"method"}],"getSelectionModel":[{"__symbolic":"method"}],"isHoverEnabled":[{"__symbolic":"method"}],"isCursorEnabled":[{"__symbolic":"method"}],"selectRow":[{"__symbolic":"method"}],"onRowClicked":[{"__symbolic":"method"}],"_notifyCellClicked":[{"__symbolic":"method"}]}}}}]
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edit-session.js","sourceRoot":"","sources":["../../../../../../../libs/angular-ui-powerups/src/lib/components/tables/edit-session.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEjG,OAAO,OAAO,MAAM,OAAO,CAAC;AAE5B,MAAM,OAAO,WAAiB,SAAQ,gBAAgB;IAIpD,YAAqB,KAAU,EAAE,GAAQ,EAAW,IAA4B,EAAW,WAAgD;QACzI,KAAK,EAAE,CAAC;QADW,UAAK,GAAL,KAAK,CAAK;QAAqB,SAAI,GAAJ,IAAI,CAAwB;QAAW,gBAAW,GAAX,WAAW,CAAqC;QAHnI,kBAAa,GAAG,IAAI,iBAAiB,EAAO,CAAC;QAC5C,iBAAY,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;QAIlD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,GAAG,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;YACpB,8CAA8C;YAC9C,mBAAmB;YACnB,IAAI;YACJ,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;gBACnE,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAyB,CAAC,CAAC;YACzD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CACF","sourcesContent":["import { Command, DirtyTrackingForm, GarbageCollector, MutableValueModel } from '@coolon/pectin';\nimport { PickMutable } from '@coolon/typescript-utilities';\nimport produce from 'immer';\n\nexport class EditSession<Row> extends GarbageCollector {\n private _liveRowValue = new MutableValueModel<Row>();\n readonly liveRowValue = this._liveRowValue.readonly;\n\n constructor(readonly rowId: any, row: Row, readonly form: DirtyTrackingForm<Row>, readonly saveCommand: Command<boolean | Promise<boolean>>) {\n super();\n this.form.load(row);\n this._liveRowValue.value = row;\n this.form.onEdit(() => {\n // if (!this._liveRowValue.value[immerable]) {\n // console.warn()\n // }\n this._liveRowValue.value = produce(this._liveRowValue.value, draft => {\n this.form.writeDirtyStateTo(draft as PickMutable<Row>);\n });\n });\n }\n}\n"]}
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"EditSession":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@coolon/pectin","name":"GarbageCollector","line":4,"character":38},"arity":1,"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"any"},{"__symbolic":"error","message":"Could not resolve type","line":8,"character":40,"context":{"typeName":"Row"}},{"__symbolic":"reference","module":"@coolon/pectin","name":"DirtyTrackingForm","line":8,"character":60,"arguments":[{"__symbolic":"error","message":"Could not resolve type","line":8,"character":137,"context":{"typeName":"Row"}}]},{"__symbolic":"reference","module":"@coolon/pectin","name":"UnaryCommand","line":8,"character":106,"arguments":[{"__symbolic":"reference","module":"@coolon/pectin","name":"DirtyTrackingForm","line":8,"character":60,"arguments":[{"__symbolic":"error","message":"Could not resolve type","line":8,"character":137,"context":{"typeName":"Row"}}]},{"__symbolic":"reference","name":"boolean"}]}]}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"EditSession":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@coolon/pectin","name":"GarbageCollector","line":4,"character":38},"arity":1,"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"any"},{"__symbolic":"error","message":"Could not resolve type","line":8,"character":40,"context":{"typeName":"Row"}},{"__symbolic":"reference","module":"@coolon/pectin","name":"DirtyTrackingForm","line":8,"character":60,"arguments":[{"__symbolic":"error","message":"Could not resolve type","line":8,"character":78,"context":{"typeName":"Row"}}]},{"__symbolic":"reference","module":"@coolon/pectin","name":"Command","line":8,"character":106,"arguments":[{"__symbolic":"error","message":"Could not resolve type","line":8,"character":124,"context":{"typeName":"Promise"}}]}]}]}}}}]
@@ -1 +1 @@
1
- {"version":3,"file":"cell-portal-ref.js","sourceRoot":"","sources":["../../../../../../../../libs/angular-ui-powerups/src/lib/components/tables/table/cell-portal-ref.ts"],"names":[],"mappings":"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","sourcesContent":["import { ComponentType } from '@angular/cdk/overlay';\nimport { ComponentPortal, TemplatePortal } from '@angular/cdk/portal';\nimport { TemplateRef, ViewContainerRef } from '@angular/core';\nimport { Trace } from '@coolon/pectin';\nimport { assert } from '@coolon/typescript-utilities';\nimport { ColumnModel, RowData } from './column-model';\nimport { EditSession } from './edit-session';\nimport { TableCellRendererComponent } from './table-cell-renderer/table-cell-renderer.component';\nimport { TableHeaderCellRendererComponent } from './table-header-cell-renderer/table-header-cell-renderer.component';\n\nexport const HEADER_CELL_RENDERER_PORTAL = Symbol('aup-cell-header-renderer-component-ref');\nexport const CELL_RENDERER_PORTAL = Symbol('aup-cell-renderer-component-ref');\nexport const CELL_EDITOR_PORTAL = Symbol('aup-cell-editor-component-ref');\nexport const PORTAL_RENDERER_COMPONENT = Symbol('aup-cell-renderer-portal-component');\nexport const PORTAL_EDITOR_COMPONENT = Symbol('aup-cell-editor-portal-component');\n\n\nexport abstract class CellPortalRef<Row, Host, Portal> {\n constructor() {\n }\n\n abstract initialiseHost(host: Host, columnModel: ColumnModel<Row>)\n\n abstract onPortalAttached(host: Host, portalComponent: Portal);\n}\n\nexport class CellHeaderPortalRef<Row, C> extends CellPortalRef<Row, TableHeaderCellRendererComponent, C> {\n constructor(readonly componentType: ComponentType<C>, readonly initialiseHeader: (component: C, columnModel: ColumnModel<Row>) => void) {\n super();\n }\n\n initialiseHost(host: TableHeaderCellRendererComponent, columnModel: ColumnModel<Row>) {\n assert.isTruthy(host);\n host[HEADER_CELL_RENDERER_PORTAL] = new ComponentPortal(this.componentType);\n }\n\n // @Trace()\n onPortalAttached(host: TableHeaderCellRendererComponent, portalComponent: C) {\n this.initialiseHeader(portalComponent, host.column);\n }\n\n}\n\nexport abstract class CellRendererPortalRef<Row, Portal> extends CellPortalRef<Row, TableCellRendererComponent<Row>, Portal> {\n abstract pushState(host: TableCellRendererComponent<Row>): void;\n}\n\nexport class ComponentCellRendererPortalRef<Row, Portal> extends CellRendererPortalRef<Row, Portal> {\n\n\n constructor(readonly componentType: ComponentType<Portal>, readonly updateComponent: (component: Portal, rowData: RowData<Row>, firstTime: boolean) => void) {\n super();\n }\n\n initialiseHost(host: TableCellRendererComponent<Row>, columnModel: ColumnModel<Row>) {\n host[CELL_RENDERER_PORTAL] = new ComponentPortal(this.componentType);\n }\n\n // @Trace()\n onPortalAttached(host: TableCellRendererComponent<Row>, portalComponent: Portal) {\n host[PORTAL_RENDERER_COMPONENT] = portalComponent;\n this.updateComponent(portalComponent, host.getRowData(), true);\n }\n\n // @Trace()\n pushState(host: TableCellRendererComponent<Row>): void {\n if (host[PORTAL_RENDERER_COMPONENT]) {\n this.updateComponent(host[PORTAL_RENDERER_COMPONENT], host.getRowData(), false);\n }\n }\n\n}\n\nexport class CellEditorPortalRef<Row, Portal> extends CellPortalRef<Row, TableCellRendererComponent<Row>, Portal> {\n\n constructor(readonly componentType: ComponentType<Portal>, readonly initialiseEditorSession: (component: Portal, editSession: EditSession<Row>) => void) {\n super();\n }\n\n initialiseHost(host: TableCellRendererComponent<Row>, columnModel: ColumnModel<Row>) {\n assert.isTruthy(host);\n host[CELL_EDITOR_PORTAL] = new ComponentPortal(this.componentType);\n }\n\n // @Trace()\n onPortalAttached(host: TableCellRendererComponent<Row>, portalComponent: Portal) {\n host[PORTAL_EDITOR_COMPONENT] = portalComponent;\n this.initialiseEditorSession(portalComponent, host.editSession);\n }\n\n}\n\nexport class TemplateCellRendererPortalRef<Row> extends CellRendererPortalRef<Row, undefined> {\n\n private templateRef: TemplateRef<any>;\n private viewContainer: ViewContainerRef;\n private fillCell: boolean;\n private padChild: boolean;\n\n constructor() {\n super();\n }\n\n public registerPortal(templateRef: TemplateRef<any>, viewContainer: ViewContainerRef, fillCell: boolean, padChild: boolean) {\n this.templateRef = templateRef;\n this.viewContainer = viewContainer;\n this.fillCell = fillCell;\n this.padChild = padChild;\n }\n\n initialiseHost(host: TableCellRendererComponent<Row>, columnModel: ColumnModel<Row>) {\n assert.isTruthy(host);\n }\n\n // @Trace()\n onPortalAttached(host: TableCellRendererComponent<Row>, portalComponent: undefined) {\n // don't care\n }\n\n // @Trace()\n pushState(host: TableCellRendererComponent<Row>): void {\n host[CELL_RENDERER_PORTAL] = this.createPortal(host.getRowData());\n host.fillCell = this.fillCell;\n host.padChild = this.padChild;\n }\n\n private createPortal(data: RowData<Row>) {\n return new TemplatePortal<any>(this.templateRef, this.viewContainer, { ...(data), $implicit: data.row });\n }\n}\n"]}
1
+ {"version":3,"file":"cell-portal-ref.js","sourceRoot":"","sources":["../../../../../../../../libs/angular-ui-powerups/src/lib/components/tables/table/cell-portal-ref.ts"],"names":[],"mappings":"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","sourcesContent":["import { ComponentType } from '@angular/cdk/overlay';\nimport { ComponentPortal, TemplatePortal } from '@angular/cdk/portal';\nimport { TemplateRef, ViewContainerRef } from '@angular/core';\nimport { Trace } from '@coolon/pectin';\nimport { assert } from '@coolon/typescript-utilities';\nimport { ColumnModel, RowData } from './column-model';\nimport { EditSession } from '../edit-session';\nimport { TableCellRendererComponent } from './table-cell-renderer/table-cell-renderer.component';\nimport { TableHeaderCellRendererComponent } from './table-header-cell-renderer/table-header-cell-renderer.component';\n\nexport const HEADER_CELL_RENDERER_PORTAL = Symbol('aup-cell-header-renderer-component-ref');\nexport const CELL_RENDERER_PORTAL = Symbol('aup-cell-renderer-component-ref');\nexport const CELL_EDITOR_PORTAL = Symbol('aup-cell-editor-component-ref');\nexport const PORTAL_RENDERER_COMPONENT = Symbol('aup-cell-renderer-portal-component');\nexport const PORTAL_EDITOR_COMPONENT = Symbol('aup-cell-editor-portal-component');\n\n\nexport abstract class CellPortalRef<Row, Host, Portal> {\n constructor() {\n }\n\n abstract initialiseHost(host: Host, columnModel: ColumnModel<Row>)\n\n abstract onPortalAttached(host: Host, portalComponent: Portal);\n}\n\nexport class CellHeaderPortalRef<Row, C> extends CellPortalRef<Row, TableHeaderCellRendererComponent, C> {\n constructor(readonly componentType: ComponentType<C>, readonly initialiseHeader: (component: C, columnModel: ColumnModel<Row>) => void) {\n super();\n }\n\n initialiseHost(host: TableHeaderCellRendererComponent, columnModel: ColumnModel<Row>) {\n assert.isTruthy(host);\n host[HEADER_CELL_RENDERER_PORTAL] = new ComponentPortal(this.componentType);\n }\n\n // @Trace()\n onPortalAttached(host: TableHeaderCellRendererComponent, portalComponent: C) {\n this.initialiseHeader(portalComponent, host.column);\n }\n\n}\n\nexport abstract class CellRendererPortalRef<Row, Portal> extends CellPortalRef<Row, TableCellRendererComponent<Row>, Portal> {\n abstract pushState(host: TableCellRendererComponent<Row>): void;\n}\n\nexport class ComponentCellRendererPortalRef<Row, Portal> extends CellRendererPortalRef<Row, Portal> {\n\n\n constructor(readonly componentType: ComponentType<Portal>, readonly updateComponent: (component: Portal, rowData: RowData<Row>, firstTime: boolean) => void) {\n super();\n }\n\n initialiseHost(host: TableCellRendererComponent<Row>, columnModel: ColumnModel<Row>) {\n host[CELL_RENDERER_PORTAL] = new ComponentPortal(this.componentType);\n }\n\n // @Trace()\n onPortalAttached(host: TableCellRendererComponent<Row>, portalComponent: Portal) {\n host[PORTAL_RENDERER_COMPONENT] = portalComponent;\n this.updateComponent(portalComponent, host.getRowData(), true);\n }\n\n // @Trace()\n pushState(host: TableCellRendererComponent<Row>): void {\n if (host[PORTAL_RENDERER_COMPONENT]) {\n this.updateComponent(host[PORTAL_RENDERER_COMPONENT], host.getRowData(), false);\n }\n }\n\n}\n\nexport class CellEditorPortalRef<Row, Portal> extends CellPortalRef<Row, TableCellRendererComponent<Row>, Portal> {\n\n constructor(readonly componentType: ComponentType<Portal>, readonly initialiseEditorSession: (component: Portal, editSession: EditSession<Row>) => void) {\n super();\n }\n\n initialiseHost(host: TableCellRendererComponent<Row>, columnModel: ColumnModel<Row>) {\n assert.isTruthy(host);\n host[CELL_EDITOR_PORTAL] = new ComponentPortal(this.componentType);\n }\n\n // @Trace()\n onPortalAttached(host: TableCellRendererComponent<Row>, portalComponent: Portal) {\n host[PORTAL_EDITOR_COMPONENT] = portalComponent;\n this.initialiseEditorSession(portalComponent, host.editSession);\n }\n\n}\n\nexport class TemplateCellRendererPortalRef<Row> extends CellRendererPortalRef<Row, undefined> {\n\n private templateRef: TemplateRef<any>;\n private viewContainer: ViewContainerRef;\n private fillCell: boolean;\n private padChild: boolean;\n\n constructor() {\n super();\n }\n\n public registerPortal(templateRef: TemplateRef<any>, viewContainer: ViewContainerRef, fillCell: boolean, padChild: boolean) {\n this.templateRef = templateRef;\n this.viewContainer = viewContainer;\n this.fillCell = fillCell;\n this.padChild = padChild;\n }\n\n initialiseHost(host: TableCellRendererComponent<Row>, columnModel: ColumnModel<Row>) {\n assert.isTruthy(host);\n }\n\n // @Trace()\n onPortalAttached(host: TableCellRendererComponent<Row>, portalComponent: undefined) {\n // don't care\n }\n\n // @Trace()\n pushState(host: TableCellRendererComponent<Row>): void {\n host[CELL_RENDERER_PORTAL] = this.createPortal(host.getRowData());\n host.fillCell = this.fillCell;\n host.padChild = this.padChild;\n }\n\n private createPortal(data: RowData<Row>) {\n return new TemplatePortal<any>(this.templateRef, this.viewContainer, { ...(data), $implicit: data.row });\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"cell-renderer.js","sourceRoot":"","sources":["../../../../../../../../libs/angular-ui-powerups/src/lib/components/tables/table/cell-renderer.ts"],"names":[],"mappings":"","sourcesContent":["export interface CellRenderer<T> {\n value: T\n}\n\n"]}
1
+ {"version":3,"file":"cell-renderer.js","sourceRoot":"","sources":["../../../../../../../../libs/angular-ui-powerups/src/lib/components/tables/table/cell-renderer.ts"],"names":[],"mappings":"","sourcesContent":["import { TextSearchPredicate } from './text-search-predicate';\n\nexport interface CellRenderer<T> {\n value: T;\n matches?: TextSearchPredicate<T>;\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
- import { DelegatingSelectionModel, DelegatingValueModel, MultipleSelectionModel, ValueModel } from '@coolon/pectin';
2
+ import { DelegatingSelectionModel, DelegatingValueModel, GarbageCollector, MultipleSelectionModel, ValueModel } from '@coolon/pectin';
3
3
  import { assert, Stringy } from '@coolon/typescript-utilities';
4
4
  import { Memoize } from '@typescript-plus/fast-memoize-decorator/dist/src';
5
5
  import _ from 'lodash';
@@ -13,14 +13,19 @@ const noop = () => {
13
13
  };
14
14
  const ɵ0 = noop;
15
15
  const CELL_RENDERER_COMPONENT_ROW_CACHE = Symbol('aup-cell-renderer:row-data-cache');
16
- export class ColumnModel {
16
+ const DEFAULT_TEXT_SEARCH_PREDICATE = (row, text) => false;
17
+ const ɵ1 = DEFAULT_TEXT_SEARCH_PREDICATE;
18
+ export class ColumnModel extends GarbageCollector {
17
19
  constructor(columnId, textPropertiesProvider) {
20
+ super();
18
21
  this.columnId = columnId;
19
22
  this.textPropertiesProvider = textPropertiesProvider;
20
23
  this._enableRowSelection = true;
21
24
  this._flex = false;
22
- this._defaultVisibility = new DelegatingValueModel().withDefault(true);
23
- this._visible = new DelegatingValueModel().withDefault(this._defaultVisibility);
25
+ this._defaultVisibility = this.registerDisposable(new DelegatingValueModel().withDefault(true));
26
+ this._visible = this.registerDisposable(new DelegatingValueModel().withDefault(this._defaultVisibility));
27
+ this._columnModelTextSearchPredicate = undefined;
28
+ this._cellRendererTextSearchPredicate = undefined;
24
29
  this.installHeaderRenderer();
25
30
  this.dasherisedColumnId = Stringy.from(columnId).dasherize().toString();
26
31
  }
@@ -49,6 +54,17 @@ export class ColumnModel {
49
54
  getDefaultHeaderText() {
50
55
  return this.columnId;
51
56
  }
57
+ get isTextMatch() {
58
+ return this._columnModelTextSearchPredicate || this._cellRendererTextSearchPredicate || DEFAULT_TEXT_SEARCH_PREDICATE;
59
+ }
60
+ /**
61
+ * Sets the predicate to use when checking if the specified row is a text match for this column.
62
+ * @param predicate
63
+ */
64
+ useTextSearchPredicate(predicate) {
65
+ this._columnModelTextSearchPredicate = predicate;
66
+ return this;
67
+ }
52
68
  getColumnTextProperties() {
53
69
  return this._columnTextProperties || this.textPropertiesProvider();
54
70
  }
@@ -99,6 +115,12 @@ export class ColumnModel {
99
115
  }
100
116
  onRendererAttached(host, component) {
101
117
  this._cellRendererPortalRef.onPortalAttached(host, component);
118
+ if (_.isFunction(component === null || component === void 0 ? void 0 : component.matches)) {
119
+ this._cellRendererTextSearchPredicate = (row, text) => component.matches(row, text);
120
+ }
121
+ else {
122
+ this._cellRendererTextSearchPredicate = undefined;
123
+ }
102
124
  }
103
125
  // @Trace()
104
126
  onEditorAttached(host, component) {
@@ -131,8 +153,11 @@ export class PropertyColumnModel extends ColumnModel {
131
153
  constructor(id, property, defaults) {
132
154
  super(id, defaults);
133
155
  this.property = property;
134
- this._format = (value) => value;
156
+ this._format = (value) => value === null || value === void 0 ? void 0 : value.toString();
135
157
  this.cellRenderer(DefaultCellRendererComponent);
158
+ this.useTextSearchPredicate((row, regex) => {
159
+ return regex.test(this._format(row[this.property]));
160
+ });
136
161
  }
137
162
  cellRenderer(componentType, onComponentInitOrOptions) {
138
163
  this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, (component, rowData, firstTime) => {
@@ -147,9 +172,6 @@ export class PropertyColumnModel extends ColumnModel {
147
172
  }
148
173
  }
149
174
  component.value = this._format(rowData.row[this.property]);
150
- if (!_.isFunction(onComponentInitOrOptions) && _.isFunction(onComponentInitOrOptions === null || onComponentInitOrOptions === void 0 ? void 0 : onComponentInitOrOptions.onRowUpdate)) {
151
- onComponentInitOrOptions.onRowUpdate(component, rowData.row);
152
- }
153
175
  }));
154
176
  return this;
155
177
  }
@@ -219,6 +241,9 @@ export class ListPropertyColumnModel extends ColumnModel {
219
241
  this.property = property;
220
242
  this._format = (value) => value.map(v => v === null || v === void 0 ? void 0 : v.toString()).join(', ');
221
243
  this.cellRenderer(DefaultCellRendererComponent);
244
+ this.useTextSearchPredicate((row, regex) => {
245
+ return regex.test(this._format(row[this.property]));
246
+ });
222
247
  }
223
248
  cellRenderer(componentType) {
224
249
  this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, (component, rowData) => {
@@ -280,7 +305,7 @@ export class CustomValueColumnModel extends ColumnModel {
280
305
  }
281
306
  }
282
307
  export class EditorControlColumnModel extends ColumnModel {
283
- constructor(columnId, saveCommand, defaults) {
308
+ constructor(columnId, saveCommandFactory, defaults) {
284
309
  super(columnId, defaults);
285
310
  this.cellRenderer(EditRowControls);
286
311
  }
@@ -343,5 +368,5 @@ export class SelectionColumnModel extends ColumnModel {
343
368
  return this.selectionModel.isSelected(row);
344
369
  }
345
370
  }
346
- export { ɵ0 };
371
+ export { ɵ0, ɵ1 };
347
372
  //# sourceMappingURL=column-model.js.map