@coolon/angular-ui-powerups 16.1.0-aplpha.189 → 16.1.0-aplpha.2

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 (357) hide show
  1. package/README.md +0 -4
  2. package/assets/activities/activities.scss +6 -8
  3. package/assets/activities/input-activities.scss +6 -14
  4. package/assets/form.scss +23 -77
  5. package/assets/icons.scss +1 -2
  6. package/assets/interaction/editor/inline-string-editor.scss +0 -4
  7. package/assets/interaction.scss +1 -1
  8. package/assets/styles.scss +0 -4
  9. package/assets/table.scss +30 -55
  10. package/assets/tabs.scss +2 -15
  11. package/esm2022/lib/angular-ui-powerups.module.mjs +9 -9
  12. package/esm2022/lib/animations/slide-animations.mjs +10 -15
  13. package/esm2022/lib/components/alignment.mjs +1 -1
  14. package/esm2022/lib/components/busy-overlay/busy-overlay.component.mjs +12 -7
  15. package/esm2022/lib/components/cards/abstract-card-container.component.mjs +7 -30
  16. package/esm2022/lib/components/cards/card-container/card-container.component.mjs +6 -6
  17. package/esm2022/lib/components/cards/card-stack/card-stack.component.mjs +81 -0
  18. package/esm2022/lib/components/commands/command/command.component.mjs +33 -35
  19. package/esm2022/lib/components/commands/command-face/command-face.component.mjs +5 -13
  20. package/esm2022/lib/components/commands/command-face.mjs +11 -12
  21. package/esm2022/lib/components/commands/flex.component.mjs +4 -4
  22. package/esm2022/lib/components/commands/group/command-container.mjs +1 -1
  23. package/esm2022/lib/components/commands/group/popup-aware.component.mjs +8 -31
  24. package/esm2022/lib/components/commands/group/popup-container.mjs +1 -1
  25. package/esm2022/lib/components/commands/group/popup-menu/abstract-popup-menu.component.mjs +25 -27
  26. package/esm2022/lib/components/commands/group/popup-menu/more-menu.component.mjs +22 -13
  27. package/esm2022/lib/components/commands/group/popup-menu/popup-menu-renderer/popup-menu-renderer.component.mjs +12 -17
  28. package/esm2022/lib/components/commands/group/popup-menu/popup-menu.component.mjs +23 -14
  29. package/esm2022/lib/components/commands/group/tool-bar/tool-bar.component.mjs +19 -12
  30. package/esm2022/lib/components/commands/separator.component.mjs +14 -8
  31. package/esm2022/lib/components/components.module.mjs +59 -79
  32. package/esm2022/lib/components/disposable-component.mjs +42 -38
  33. package/esm2022/lib/components/empty-state/empty-state.component.mjs +9 -5
  34. package/esm2022/lib/components/exports.mjs +7 -15
  35. package/esm2022/lib/components/focus-container/focus-container.component.mjs +4 -4
  36. package/esm2022/lib/components/focusable.component.mjs +5 -5
  37. package/esm2022/lib/components/forms/abstract-input.component.mjs +18 -66
  38. package/esm2022/lib/components/forms/abstract-list-input.component.mjs +4 -4
  39. package/esm2022/lib/components/forms/abstract-value-input.component.mjs +4 -4
  40. package/esm2022/lib/components/forms/autocomplete-input/autocomplete-input.component.mjs +13 -12
  41. package/esm2022/lib/components/forms/checkbox-input/checkbox-input.component.mjs +8 -10
  42. package/esm2022/lib/components/forms/multiple-select-input/multiple-select-input.component.mjs +10 -10
  43. package/esm2022/lib/components/forms/number-input/number-input.component.mjs +13 -90
  44. package/esm2022/lib/components/forms/password-input/password-input.component.mjs +7 -44
  45. package/esm2022/lib/components/forms/select-input/select-input.component.mjs +16 -17
  46. package/esm2022/lib/components/forms/string-input/string-input.component.mjs +16 -35
  47. package/esm2022/lib/components/forms/text-input/text-input.component.mjs +8 -12
  48. package/esm2022/lib/components/icon/icon.component.mjs +7 -10
  49. package/esm2022/lib/components/labelled-value/labelled-value.component.mjs +4 -4
  50. package/esm2022/lib/components/loading-container/loading-container.component.mjs +12 -7
  51. package/esm2022/lib/components/noop/noop.component.mjs +7 -5
  52. package/esm2022/lib/components/resize-aware.component.mjs +27 -64
  53. package/esm2022/lib/components/scroll-container/scroll-container.component.mjs +5 -5
  54. package/esm2022/lib/components/section-header/section-header.component.mjs +4 -4
  55. package/esm2022/lib/components/switch-case/switch-case.component.mjs +17 -15
  56. package/esm2022/lib/components/tables/abstract-table-model.mjs +63 -112
  57. package/esm2022/lib/components/tables/abstract-table.component.mjs +8 -22
  58. package/esm2022/lib/components/tables/column/column-list-model.mjs +44 -0
  59. package/esm2022/lib/components/tables/column/column-model.mjs +10 -21
  60. package/esm2022/lib/components/tables/column/column-template/column-template.directive.mjs +4 -4
  61. package/esm2022/lib/components/tables/column/custom-template-column-model.mjs +3 -3
  62. package/esm2022/lib/components/tables/column/custom-value-column-model.mjs +5 -5
  63. package/esm2022/lib/components/tables/column/editor-controls-column-model.mjs +5 -5
  64. package/esm2022/lib/components/tables/column/list-propery-column-model.mjs +5 -6
  65. package/esm2022/lib/components/tables/column/property-column-model.mjs +5 -5
  66. package/esm2022/lib/components/tables/column/selection-column-model.mjs +13 -35
  67. package/esm2022/lib/components/tables/editor/edit-row-controls/edit-row-controls.component.mjs +7 -7
  68. package/esm2022/lib/components/tables/editor/edit-session.mjs +2 -4
  69. package/esm2022/lib/components/tables/editor/editable-cell-renderer.mjs +1 -1
  70. package/esm2022/lib/components/tables/filter/column-text-search-formatter.mjs +1 -1
  71. package/esm2022/lib/components/tables/filter/enable-cell-text-search.decorator.mjs +2 -3
  72. package/esm2022/lib/components/tables/filter/table-filter-model.mjs +9 -14
  73. package/esm2022/lib/components/tables/filter/text-search-predicate.mjs +2 -16
  74. package/esm2022/lib/components/tables/paginator/paginator.component.mjs +5 -5
  75. package/esm2022/lib/components/tables/renderer/cell-editors.mjs +1 -1
  76. package/esm2022/lib/components/tables/renderer/cell-portal-ref.mjs +7 -23
  77. package/esm2022/lib/components/tables/renderer/default-cell-renderer/default-cell-renderer.component.mjs +8 -6
  78. package/esm2022/lib/components/tables/renderer/default-header-cell-renderer/default-header-cell-renderer.component.mjs +7 -5
  79. package/esm2022/lib/components/tables/renderer/select-header-cell/selection-header-cell.component.mjs +8 -18
  80. package/esm2022/lib/components/tables/renderer/selection-cell/selection-cell.component.mjs +8 -11
  81. package/esm2022/lib/components/tables/renderer/table-body/table-body.component.mjs +51 -161
  82. package/esm2022/lib/components/tables/renderer/table-cell/table-cell.component.mjs +9 -9
  83. package/esm2022/lib/components/tables/renderer/table-header-cell/table-header-cell.component.mjs +7 -5
  84. package/esm2022/lib/components/tables/renderer/table-more-menu/table-more-menu-popup/table-more-menu-popup.component.mjs +33 -0
  85. package/esm2022/lib/components/tables/renderer/table-more-menu/table-more-menu.component.mjs +60 -0
  86. package/esm2022/lib/components/tables/table/table-model.mjs +3 -12
  87. package/esm2022/lib/components/tables/table/table.component.mjs +64 -42
  88. package/esm2022/lib/components/tables/table-row-menu/table-row-menu.component.mjs +84 -0
  89. package/esm2022/lib/components/tables/tree-table/decorated-tree-node.mjs +4 -5
  90. package/esm2022/lib/components/tables/tree-table/flattened-tree-list-model.mjs +1 -1
  91. package/esm2022/lib/components/tables/tree-table/tree-expansion-model.mjs +1 -1
  92. package/esm2022/lib/components/tables/tree-table/tree-inheritance-icon/tree-inheritance-icon.component.mjs +7 -5
  93. package/esm2022/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.mjs +5 -5
  94. package/esm2022/lib/components/tables/tree-table/tree-label-column-model.mjs +4 -4
  95. package/esm2022/lib/components/tables/tree-table/tree-table-component.mjs +8 -15
  96. package/esm2022/lib/components/tables/tree-table/tree-table-model.mjs +7 -4
  97. package/esm2022/lib/components/text/markdown/markdown.component.mjs +6 -6
  98. package/esm2022/lib/components/track.mjs +1 -1
  99. package/esm2022/lib/components/types/bounds.class.mjs +1 -1
  100. package/esm2022/lib/components/types/loadable.mjs +2 -0
  101. package/esm2022/lib/components/vertical-focus-container/vertical-focus-container.component.mjs +4 -4
  102. package/esm2022/lib/directives/command.directive.mjs +14 -25
  103. package/esm2022/lib/directives/directives.module.mjs +10 -10
  104. package/esm2022/lib/directives/exports.mjs +1 -2
  105. package/esm2022/lib/directives/focus-binding-factory.mjs +4 -4
  106. package/esm2022/lib/directives/focus-binding.directive.mjs +5 -5
  107. package/esm2022/lib/directives/focus-binding.mjs +1 -1
  108. package/esm2022/lib/directives/garbage-collector.directive.mjs +4 -5
  109. package/esm2022/lib/directives/highlight-text-model.directive.mjs +4 -4
  110. package/esm2022/lib/directives/highlight.pipe.mjs +11 -12
  111. package/esm2022/lib/interaction/abstract-interaction-context.mjs +7 -6
  112. package/esm2022/lib/interaction/activity-ref.mjs +2 -2
  113. package/esm2022/lib/interaction/activity.mjs +23 -23
  114. package/esm2022/lib/interaction/alert.mjs +2 -2
  115. package/esm2022/lib/interaction/components/abstract-confirm-dialog.component.mjs +10 -13
  116. package/esm2022/lib/interaction/components/abstract-dialog.component.mjs +45 -4
  117. package/esm2022/lib/interaction/components/activity-actions/activity-actions.component.mjs +17 -29
  118. package/esm2022/lib/interaction/components/activity-body/activity-body.component.mjs +4 -10
  119. package/esm2022/lib/interaction/components/activity-container/activity-container.component.mjs +19 -50
  120. package/esm2022/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.mjs +19 -55
  121. package/esm2022/lib/interaction/components/activity-title/activity-title.component.mjs +6 -6
  122. package/esm2022/lib/interaction/components/activity-triggers/abstract-activity-trigger.component.mjs +3 -3
  123. package/esm2022/lib/interaction/components/activity-triggers/inline-activity-trigger/inline-activity-trigger.component.mjs +4 -4
  124. package/esm2022/lib/interaction/components/activity-triggers/modal-activity-trigger/modal-activity-trigger.component.mjs +4 -4
  125. package/esm2022/lib/interaction/components/activity-triggers/popup-activity-trigger/popup-activity-trigger.component.mjs +4 -4
  126. package/esm2022/lib/interaction/components/add-card-activity/add-card-activity.component.mjs +4 -4
  127. package/esm2022/lib/interaction/components/add-item-interaction-context/add-item-interaction-context.component.mjs +4 -4
  128. package/esm2022/lib/interaction/components/alert-dialog/alert-dialog.component.mjs +12 -12
  129. package/esm2022/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.mjs +10 -6
  130. package/esm2022/lib/interaction/components/confirm-then-execute-dialog/confirm-then-execute-dialog.component.mjs +10 -6
  131. package/esm2022/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.mjs +11 -9
  132. package/esm2022/lib/interaction/components/editors/edit-context.mjs +1 -1
  133. package/esm2022/lib/interaction/components/editors/inline-string-editor/inline-editor-model.mjs +2 -2
  134. package/esm2022/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.mjs +9 -9
  135. package/esm2022/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.mjs +9 -25
  136. package/esm2022/lib/interaction/components/input-activities/input-activity.mjs +5 -6
  137. package/esm2022/lib/interaction/components/input-activities/select-input-activity.mjs +38 -44
  138. package/esm2022/lib/interaction/components/input-activities/string-input-activity.mjs +12 -14
  139. package/esm2022/lib/interaction/components/popup-interaction-context/popup-interaction-context.component.mjs +5 -6
  140. package/esm2022/lib/interaction/confirm.mjs +2 -26
  141. package/esm2022/lib/interaction/directives/interaction-context-trigger-for.directive.mjs +6 -6
  142. package/esm2022/lib/interaction/exports.mjs +1 -6
  143. package/esm2022/lib/interaction/in-place-interaction-context.mjs +1 -1
  144. package/esm2022/lib/interaction/interaction-context.mjs +2 -3
  145. package/esm2022/lib/interaction/interaction.module.mjs +36 -44
  146. package/esm2022/lib/interaction/route-synchronisation-adapter.mjs +1 -1
  147. package/esm2022/lib/interaction/services/interaction-service-routing-adapter.mjs +4 -4
  148. package/esm2022/lib/interaction/services/interaction.service.mjs +10 -22
  149. package/esm2022/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.mjs +10 -9
  150. package/esm2022/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.mjs +5 -23
  151. package/esm2022/lib/interaction/services/modal-interaction-context.factory.mjs +1 -1
  152. package/esm2022/lib/place/components/abstract-place-navigation.component.mjs +5 -15
  153. package/esm2022/lib/place/components/list-place-nav/list-place-nav.component.mjs +9 -8
  154. package/esm2022/lib/place/components/not-authorised-notice/not-authorised-notice.component.mjs +7 -5
  155. package/esm2022/lib/place/components/place-outlet/place-outlet.component.mjs +12 -10
  156. package/esm2022/lib/place/components/place-outlet/route-animations.mjs +1 -1
  157. package/esm2022/lib/place/components/side-place-navigation/side-place-navigation.component.mjs +10 -15
  158. package/esm2022/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.mjs +7 -7
  159. package/esm2022/lib/place/guards/consolidated-param-map.mjs +4 -4
  160. package/esm2022/lib/place/guards/noop-auth-guard.service.mjs +7 -5
  161. package/esm2022/lib/place/guards/place.guard.mjs +9 -10
  162. package/esm2022/lib/place/navigation/place-component-deactivation-handler.mjs +2 -2
  163. package/esm2022/lib/place/navigation/session/abstract-pop-state-navigation.mjs +1 -1
  164. package/esm2022/lib/place/navigation/session/event-cleanup/event-clean-up-session.mjs +1 -1
  165. package/esm2022/lib/place/navigation/session/event-cleanup/wait-until-leaving-interaction-transition-cancelled.mjs +1 -1
  166. package/esm2022/lib/place/navigation/session/event-cleanup/wait-until-link-triggered-navigation-interaction-cancelation-type-determined.mjs +1 -1
  167. package/esm2022/lib/place/navigation/session/event-cleanup/wait-until-popstate-during-can-deactivate-transition-finishes.mjs +1 -1
  168. package/esm2022/lib/place/navigation/session/interactions/navigating-during-interaction.mjs +2 -2
  169. package/esm2022/lib/place/navigation/session/interactions/pop-state-during-interaction-navigation.mjs +1 -1
  170. package/esm2022/lib/place/navigation/session/interactions/remove-last-interaction-from-url-navigation-session.mjs +3 -3
  171. package/esm2022/lib/place/navigation/session/interactions/synchronise-interaction-context-ids-with-route.mjs +6 -3
  172. package/esm2022/lib/place/navigation/session/navigating.mjs +2 -2
  173. package/esm2022/lib/place/navigation/session/navigation-context.mjs +1 -1
  174. package/esm2022/lib/place/navigation/session/navigation-session.mjs +2 -2
  175. package/esm2022/lib/place/navigation/session/pop-state-navigation.mjs +1 -1
  176. package/esm2022/lib/place/place-access-guard.mjs +1 -1
  177. package/esm2022/lib/place/place-auth-service.mjs +6 -7
  178. package/esm2022/lib/place/place-component.mjs +58 -54
  179. package/esm2022/lib/place/place-config.mjs +1 -1
  180. package/esm2022/lib/place/place-definition.mjs +4 -15
  181. package/esm2022/lib/place/place-history.mjs +8 -6
  182. package/esm2022/lib/place/place-router.mjs +68 -84
  183. package/esm2022/lib/place/place.decorator.mjs +2 -2
  184. package/esm2022/lib/place/place.module.mjs +16 -16
  185. package/esm2022/lib/place/route/formatter.mjs +2 -2
  186. package/esm2022/lib/place/route/json-types.mjs +1 -1
  187. package/esm2022/lib/place/route/parameter-decorators.mjs +50 -54
  188. package/esm2022/lib/place/route/parameter-definition.mjs +2 -6
  189. package/esm2022/lib/place/route/parameter-sanitiser.mjs +2 -7
  190. package/esm2022/lib/place/route/parameter-snapshot.mjs +1 -1
  191. package/esm2022/lib/place/route/visit-segment-sanitiser.mjs +1 -1
  192. package/esm2022/lib/place/url-service.mjs +4 -4
  193. package/esm2022/lib/place/url-snapshot.mjs +3 -3
  194. package/esm2022/lib/place/visit-segment.mjs +2 -2
  195. package/esm2022/lib/place/visit.mjs +2 -2
  196. package/esm2022/lib/services/markdown/markdown.service.mjs +7 -5
  197. package/esm2022/lib/services/markdown/pill-plugin.mjs +3 -1
  198. package/esm2022/lib/services/visibility-service.mjs +7 -7
  199. package/fesm2022/coolon-angular-ui-powerups.mjs +3003 -4341
  200. package/fesm2022/coolon-angular-ui-powerups.mjs.map +1 -1
  201. package/lib/angular-ui-powerups.module.d.ts +5 -5
  202. package/lib/animations/slide-animations.d.ts +0 -1
  203. package/lib/components/busy-overlay/busy-overlay.component.d.ts +4 -1
  204. package/lib/components/cards/abstract-card-container.component.d.ts +3 -6
  205. package/lib/components/cards/card-container/card-container.component.d.ts +1 -1
  206. package/lib/components/cards/card-stack/card-stack.component.d.ts +68 -0
  207. package/lib/components/commands/command/command.component.d.ts +10 -9
  208. package/lib/components/commands/command-face/command-face.component.d.ts +0 -2
  209. package/lib/components/commands/command-face.d.ts +9 -8
  210. package/lib/components/commands/group/popup-aware.component.d.ts +4 -9
  211. package/lib/components/commands/group/popup-menu/abstract-popup-menu.component.d.ts +5 -5
  212. package/lib/components/commands/group/popup-menu/more-menu.component.d.ts +4 -2
  213. package/lib/components/commands/group/popup-menu/popup-menu-renderer/popup-menu-renderer.component.d.ts +1 -3
  214. package/lib/components/commands/group/popup-menu/popup-menu.component.d.ts +4 -2
  215. package/lib/components/commands/group/tool-bar/tool-bar.component.d.ts +7 -3
  216. package/lib/components/commands/separator.component.d.ts +4 -2
  217. package/lib/components/components.module.d.ts +53 -57
  218. package/lib/components/disposable-component.d.ts +9 -17
  219. package/lib/components/empty-state/empty-state.component.d.ts +4 -1
  220. package/lib/components/exports.d.ts +6 -14
  221. package/lib/components/forms/abstract-input.component.d.ts +7 -16
  222. package/lib/components/forms/autocomplete-input/autocomplete-input.component.d.ts +2 -2
  223. package/lib/components/forms/checkbox-input/checkbox-input.component.d.ts +0 -2
  224. package/lib/components/forms/number-input/number-input.component.d.ts +4 -16
  225. package/lib/components/forms/password-input/password-input.component.d.ts +1 -7
  226. package/lib/components/forms/select-input/select-input.component.d.ts +3 -4
  227. package/lib/components/forms/string-input/string-input.component.d.ts +1 -7
  228. package/lib/components/forms/text-input/text-input.component.d.ts +0 -3
  229. package/lib/components/loading-container/loading-container.component.d.ts +4 -1
  230. package/lib/components/noop/noop.component.d.ts +1 -0
  231. package/lib/components/resize-aware.component.d.ts +6 -25
  232. package/lib/components/switch-case/switch-case.component.d.ts +7 -6
  233. package/lib/components/tables/abstract-table-model.d.ts +25 -50
  234. package/lib/components/tables/abstract-table.component.d.ts +5 -6
  235. package/lib/components/tables/column/column-list-model.d.ts +13 -0
  236. package/lib/components/tables/column/column-model.d.ts +4 -8
  237. package/lib/components/tables/column/custom-template-column-model.d.ts +2 -3
  238. package/lib/components/tables/column/custom-value-column-model.d.ts +2 -3
  239. package/lib/components/tables/column/editor-controls-column-model.d.ts +2 -3
  240. package/lib/components/tables/column/list-propery-column-model.d.ts +2 -3
  241. package/lib/components/tables/column/property-column-model.d.ts +2 -3
  242. package/lib/components/tables/column/selection-column-model.d.ts +4 -10
  243. package/lib/components/tables/editor/edit-row-controls/edit-row-controls.component.d.ts +3 -3
  244. package/lib/components/tables/editor/edit-session.d.ts +1 -1
  245. package/lib/components/tables/editor/editable-cell-renderer.d.ts +1 -1
  246. package/lib/components/tables/filter/enable-cell-text-search.decorator.d.ts +1 -1
  247. package/lib/components/tables/filter/text-search-predicate.d.ts +0 -9
  248. package/lib/components/tables/renderer/cell-portal-ref.d.ts +14 -21
  249. package/lib/components/tables/renderer/default-cell-renderer/default-cell-renderer.component.d.ts +1 -0
  250. package/lib/components/tables/renderer/default-header-cell-renderer/default-header-cell-renderer.component.d.ts +1 -0
  251. package/lib/components/tables/renderer/select-header-cell/selection-header-cell.component.d.ts +1 -2
  252. package/lib/components/tables/renderer/table-body/table-body.component.d.ts +19 -43
  253. package/lib/components/tables/renderer/table-cell/table-cell.component.d.ts +3 -2
  254. package/lib/components/tables/renderer/table-header-cell/table-header-cell.component.d.ts +1 -0
  255. package/lib/components/tables/renderer/table-more-menu/table-more-menu-popup/table-more-menu-popup.component.d.ts +15 -0
  256. package/lib/components/tables/renderer/{table-custom-more-menu/table-custom-more-menu.component.d.ts → table-more-menu/table-more-menu.component.d.ts} +8 -9
  257. package/lib/components/tables/table/table-model.d.ts +4 -4
  258. package/lib/components/tables/table/table.component.d.ts +11 -15
  259. package/lib/components/tables/table-row-menu/table-row-menu.component.d.ts +28 -0
  260. package/lib/components/tables/tree-table/tree-expansion-model.d.ts +2 -2
  261. package/lib/components/tables/tree-table/tree-inheritance-icon/tree-inheritance-icon.component.d.ts +1 -0
  262. package/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.d.ts +1 -1
  263. package/lib/components/tables/tree-table/tree-label-column-model.d.ts +2 -3
  264. package/lib/components/tables/tree-table/tree-table-component.d.ts +2 -5
  265. package/lib/components/tables/tree-table/tree-table-model.d.ts +5 -4
  266. package/lib/components/text/markdown/markdown.component.d.ts +1 -1
  267. package/lib/components/types/loadable.d.ts +5 -0
  268. package/lib/directives/command.directive.d.ts +5 -7
  269. package/lib/directives/directives.module.d.ts +5 -5
  270. package/lib/directives/exports.d.ts +0 -1
  271. package/lib/interaction/abstract-interaction-context.d.ts +1 -1
  272. package/lib/interaction/activity-ref.d.ts +2 -2
  273. package/lib/interaction/activity.d.ts +7 -7
  274. package/lib/interaction/components/abstract-confirm-dialog.component.d.ts +1 -2
  275. package/lib/interaction/components/abstract-dialog.component.d.ts +14 -5
  276. package/lib/interaction/components/activity-actions/activity-actions.component.d.ts +9 -12
  277. package/lib/interaction/components/activity-body/activity-body.component.d.ts +1 -2
  278. package/lib/interaction/components/activity-container/activity-container.component.d.ts +5 -11
  279. package/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.d.ts +5 -4
  280. package/lib/interaction/components/activity-title/activity-title.component.d.ts +1 -1
  281. package/lib/interaction/components/alert-dialog/alert-dialog.component.d.ts +1 -6
  282. package/lib/interaction/components/editors/edit-context.d.ts +1 -1
  283. package/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.d.ts +4 -6
  284. package/lib/interaction/components/input-activities/string-input-activity.d.ts +1 -1
  285. package/lib/interaction/confirm.d.ts +0 -4
  286. package/lib/interaction/directives/interaction-context-trigger-for.directive.d.ts +3 -3
  287. package/lib/interaction/exports.d.ts +0 -5
  288. package/lib/interaction/interaction-context.d.ts +1 -7
  289. package/lib/interaction/interaction.module.d.ts +33 -35
  290. package/lib/interaction/services/interaction-service-routing-adapter.d.ts +2 -2
  291. package/lib/interaction/services/interaction.service.d.ts +1 -2
  292. package/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.d.ts +3 -2
  293. package/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.d.ts +3 -4
  294. package/lib/place/components/abstract-place-navigation.component.d.ts +0 -1
  295. package/lib/place/components/not-authorised-notice/not-authorised-notice.component.d.ts +1 -0
  296. package/lib/place/components/place-outlet/place-outlet.component.d.ts +4 -3
  297. package/lib/place/components/side-place-navigation/side-place-navigation.component.d.ts +1 -2
  298. package/lib/place/guards/noop-auth-guard.service.d.ts +1 -0
  299. package/lib/place/navigation/session/interactions/remove-last-interaction-from-url-navigation-session.d.ts +1 -0
  300. package/lib/place/place-auth-service.d.ts +4 -4
  301. package/lib/place/place-component.d.ts +16 -8
  302. package/lib/place/place-definition.d.ts +0 -2
  303. package/lib/place/place-history.d.ts +1 -0
  304. package/lib/place/place-router.d.ts +5 -10
  305. package/lib/place/place.decorator.d.ts +1 -1
  306. package/lib/place/place.module.d.ts +8 -8
  307. package/lib/place/route/json-types.d.ts +3 -1
  308. package/lib/place/route/parameter-decorators.d.ts +4 -3
  309. package/lib/place/route/parameter-definition.d.ts +2 -2
  310. package/lib/place/route/parameter-sanitiser.d.ts +0 -7
  311. package/lib/place/visit-segment.d.ts +4 -4
  312. package/lib/place/visit.d.ts +2 -2
  313. package/lib/services/markdown/markdown.service.d.ts +1 -0
  314. package/lib/services/visibility-service.d.ts +1 -1
  315. package/package.json +19 -18
  316. package/assets/draw.scss +0 -20
  317. package/assets/layout.scss +0 -3
  318. package/assets/place.scss +0 -31
  319. package/esm2022/lib/components/commands/button-renderer/button-renderer.component.mjs +0 -115
  320. package/esm2022/lib/components/file/file-download/file-download.component.mjs +0 -89
  321. package/esm2022/lib/components/forms/form-field.mjs +0 -2
  322. package/esm2022/lib/components/forms/search-input/search-input.component.mjs +0 -33
  323. package/esm2022/lib/components/loadable-component.mjs +0 -69
  324. package/esm2022/lib/components/tables/column/column-manager.mjs +0 -81
  325. package/esm2022/lib/components/tables/column/column-order-manager.mjs +0 -19
  326. package/esm2022/lib/components/tables/footer/footer-row-model.mjs +0 -38
  327. package/esm2022/lib/components/tables/renderer/abstract-cell-renderer.mjs +0 -7
  328. package/esm2022/lib/components/tables/renderer/table-action-column/menu-builder.mjs +0 -2
  329. package/esm2022/lib/components/tables/renderer/table-action-column/table-action-column.component.mjs +0 -153
  330. package/esm2022/lib/components/tables/renderer/table-custom-more-menu/table-custom-more-menu-popup.component.mjs +0 -45
  331. package/esm2022/lib/components/tables/renderer/table-custom-more-menu/table-custom-more-menu.component.mjs +0 -71
  332. package/esm2022/lib/components/tables/renderer/table-footer-row/table-footer-row.component.mjs +0 -30
  333. package/esm2022/lib/directives/resize-observer.directive.mjs +0 -40
  334. package/esm2022/lib/interaction/activity-context.mjs +0 -4
  335. package/esm2022/lib/interaction/components/alert-renderer/alert-renderer.component.mjs +0 -55
  336. package/esm2022/lib/interaction/components/confirm-renderer/confirm-renderer.component.mjs +0 -54
  337. package/esm2022/lib/interaction/components/slide-down-interaction-context/slide-down-interaction-context.component.mjs +0 -134
  338. package/esm2022/lib/interaction/interaction-context-provider.mjs +0 -17
  339. package/lib/components/commands/button-renderer/button-renderer.component.d.ts +0 -30
  340. package/lib/components/file/file-download/file-download.component.d.ts +0 -45
  341. package/lib/components/forms/form-field.d.ts +0 -5
  342. package/lib/components/forms/search-input/search-input.component.d.ts +0 -10
  343. package/lib/components/loadable-component.d.ts +0 -20
  344. package/lib/components/tables/column/column-manager.d.ts +0 -19
  345. package/lib/components/tables/column/column-order-manager.d.ts +0 -20
  346. package/lib/components/tables/footer/footer-row-model.d.ts +0 -22
  347. package/lib/components/tables/renderer/abstract-cell-renderer.d.ts +0 -6
  348. package/lib/components/tables/renderer/table-action-column/menu-builder.d.ts +0 -7
  349. package/lib/components/tables/renderer/table-action-column/table-action-column.component.d.ts +0 -42
  350. package/lib/components/tables/renderer/table-custom-more-menu/table-custom-more-menu-popup.component.d.ts +0 -19
  351. package/lib/components/tables/renderer/table-footer-row/table-footer-row.component.d.ts +0 -11
  352. package/lib/directives/resize-observer.directive.d.ts +0 -16
  353. package/lib/interaction/activity-context.d.ts +0 -9
  354. package/lib/interaction/components/alert-renderer/alert-renderer.component.d.ts +0 -17
  355. package/lib/interaction/components/confirm-renderer/confirm-renderer.component.d.ts +0 -15
  356. package/lib/interaction/components/slide-down-interaction-context/slide-down-interaction-context.component.d.ts +0 -53
  357. package/lib/interaction/interaction-context-provider.d.ts +0 -11
@@ -1,5 +1,5 @@
1
1
  import { Component, ComponentRef, HostBinding, Input } from "@angular/core";
2
- import { Command } from "@coolon/pectin";
2
+ import { Command, Dsl } from "@coolon/pectin";
3
3
  import { DisposableComponent } from "../../../disposable-component";
4
4
  import { AbstractTableModel } from "../../abstract-table-model";
5
5
  import { ColumnModel } from "../../column/column-model";
@@ -19,15 +19,15 @@ export class TableCellComponent extends DisposableComponent {
19
19
  defaultClassNames = 'aup-cell-renderer';
20
20
  fillCell = false;
21
21
  padChild = false;
22
+ firstEditableColumn;
22
23
  constructor() {
23
24
  super();
24
25
  this.editRowCommand = Command.create(() => {
25
26
  this.tableModel.startEditSession(this.row);
26
27
  });
27
28
  this.onInit(() => {
28
- // This binding was triggering a memory leak... not sure why.
29
- // const { chain} = Dsl.disposeWith(this);
30
- // this.firstEditableColumn = chain(this.tableModel.firstEditableColumn$).equals(this.column); // this would break if the column changed.
29
+ const { chain } = Dsl.disposeWith(this);
30
+ this.firstEditableColumn = chain(this.tableModel.firstEditableColumn$).equals(this.column); // this would break if the column changed.
31
31
  this.column.attachCell(this);
32
32
  });
33
33
  }
@@ -39,7 +39,7 @@ export class TableCellComponent extends DisposableComponent {
39
39
  }
40
40
  initialiseEditor(ref) {
41
41
  this.column.onEditorAttached(this, ref);
42
- if (this.tableModel.firstEditableColumn$.value === this.column) {
42
+ if (this.firstEditableColumn.value) {
43
43
  // @see https://github.com/angular/components/issues/12070
44
44
  setTimeout(() => this.tryAndFocusEditor(ref));
45
45
  }
@@ -74,10 +74,10 @@ export class TableCellComponent extends DisposableComponent {
74
74
  editRowCommand: this.editRowCommand
75
75
  };
76
76
  }
77
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TableCellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
78
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: TableCellComponent, selector: "aup-table-cell", inputs: { row: "row", column: "column", editSession: "editSession", tableModel: "tableModel" }, host: { properties: { "class": "this.defaultClassNames", "class.fillCell": "this.fillCell", "class.padChild": "this.padChild" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"!hasActiveEditor()\" [cdkPortalOutlet]=\"getRendererPortal()\" (attached)=\"initialiseRenderer($event)\"></ng-container>\n<ng-container *ngIf=\"hasActiveEditor()\" [cdkPortalOutlet]=\"getEditorPortal()\" (attached)=\"initialiseEditor($event)\"></ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }] });
77
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: TableCellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
78
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: TableCellComponent, selector: "aup-table-cell", inputs: { row: "row", column: "column", editSession: "editSession", tableModel: "tableModel" }, host: { properties: { "class": "this.defaultClassNames", "class.fillCell": "this.fillCell", "class.padChild": "this.padChild" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"!hasActiveEditor()\" [cdkPortalOutlet]=\"getRendererPortal()\" (attached)=\"initialiseRenderer($event)\"></ng-container>\n<ng-container *ngIf=\"hasActiveEditor()\" [cdkPortalOutlet]=\"getEditorPortal()\" (attached)=\"initialiseEditor($event)\"></ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }] });
79
79
  }
80
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TableCellComponent, decorators: [{
80
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: TableCellComponent, decorators: [{
81
81
  type: Component,
82
82
  args: [{ selector: 'aup-table-cell', template: "<ng-container *ngIf=\"!hasActiveEditor()\" [cdkPortalOutlet]=\"getRendererPortal()\" (attached)=\"initialiseRenderer($event)\"></ng-container>\n<ng-container *ngIf=\"hasActiveEditor()\" [cdkPortalOutlet]=\"getEditorPortal()\" (attached)=\"initialiseEditor($event)\"></ng-container>\n" }]
83
83
  }], ctorParameters: function () { return []; }, propDecorators: { row: [{
@@ -98,4 +98,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
98
98
  type: HostBinding,
99
99
  args: ['class.padChild']
100
100
  }] } });
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY2VsbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlcy9yZW5kZXJlci90YWJsZS1jZWxsL3RhYmxlLWNlbGwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXMvcmVuZGVyZXIvdGFibGUtY2VsbC90YWJsZS1jZWxsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQTJCLE1BQU0sZUFBZSxDQUFDO0FBQ3BHLE9BQU8sRUFFTCxPQUFPLEVBT1IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsV0FBVyxFQUFVLE1BQU0sMkJBQTJCLENBQUM7QUFDL0QsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3RELE9BQU8sRUFBQyxrQkFBa0IsRUFBRSxvQkFBb0IsRUFBQyxNQUFNLG9CQUFvQixDQUFDOzs7O0FBTzVFLE1BQU0sT0FBTyxrQkFBdUMsU0FBUSxtQkFBbUI7SUFHN0UsR0FBRyxDQUFNO0lBR1QsTUFBTSxDQUFtQjtJQUd6QixXQUFXLENBQW1CO0lBRzlCLFVBQVUsQ0FBMEI7SUFFbkIsY0FBYyxDQUFnQjtJQUUvQyxDQUFDLG9CQUFvQixDQUFDLENBQWM7SUFDcEMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFjO0lBR2xDLGlCQUFpQixHQUFHLG1CQUFtQixDQUFD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bnRlbnQiOlsiaW1wb3J0IHtDZGtQb3J0YWxPdXRsZXRBdHRhY2hlZFJlZiwgUG9ydGFsfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL3BvcnRhbFwiO1xuaW1wb3J0IHtDb21wb25lbnQsIENvbXBvbmVudFJlZiwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXN9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge1xuICBCb29sZWFuVmFsdWVNb2RlbENoYWluLFxuICBDb21tYW5kLFxuICBEc2wsXG4gIEhhc0ZvY3VzQ29udGV4dCxcbiAgcHJveGlmeSxcbiAgUHJveGlmeSxcbiAgVHJhY2UsXG4gIFZhbHVlTW9kZWxcbn0gZnJvbSBcIkBjb29sb24vcGVjdGluXCI7XG5pbXBvcnQge0Rpc3Bvc2FibGVDb21wb25lbnR9IGZyb20gXCIuLi8uLi8uLi9kaXNwb3NhYmxlLWNvbXBvbmVudFwiO1xuaW1wb3J0IHtBYnN0cmFjdFRhYmxlTW9kZWx9IGZyb20gXCIuLi8uLi9hYnN0cmFjdC10YWJsZS1tb2RlbFwiO1xuaW1wb3J0IHtDb2x1bW5Nb2RlbCwgUm93RGF0YX0gZnJvbSBcIi4uLy4uL2NvbHVtbi9jb2x1bW4tbW9kZWxcIjtcbmltcG9ydCB7RWRpdFNlc3Npb259IGZyb20gXCIuLi8uLi9lZGl0b3IvZWRpdC1zZXNzaW9uXCI7XG5pbXBvcnQge0NFTExfRURJVE9SX1BPUlRBTCwgQ0VMTF9SRU5ERVJFUl9QT1JUQUx9IGZyb20gXCIuLi9jZWxsLXBvcnRhbC1yZWZcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXVwLXRhYmxlLWNlbGwnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUtY2VsbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RhYmxlLWNlbGwuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZUNlbGxDb21wb25lbnQ8Um93IGV4dGVuZHMgb2JqZWN0PiBleHRlbmRzIERpc3Bvc2FibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuXG4gIEBJbnB1dCgpXG4gIHJvdzogUm93O1xuXG4gIEBJbnB1dCgpXG4gIGNvbHVtbjogQ29sdW1uTW9kZWw8Um93PjtcblxuICBASW5wdXQoKVxuICBlZGl0U2Vzc2lvbjogRWRpdFNlc3Npb248Um93PjtcblxuICBASW5wdXQoKVxuICB0YWJsZU1vZGVsOiBBYnN0cmFjdFRhYmxlTW9kZWw8Um93PjtcblxuICBwcml2YXRlIHJlYWRvbmx5IGVkaXRSb3dDb21tYW5kOiBDb21tYW5kPHZvaWQ+O1xuXG4gIFtDRUxMX1JFTkRFUkVSX1BPUlRBTF06IFBvcnRhbDxhbnk+O1xuICBbQ0VMTF9FRElUT1JfUE9SVEFMXTogUG9ydGFsPGFueT47XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIGRlZmF1bHRDbGFzc05hbWVzID0gJ2F1cC1jZWxsLXJlbmRlcmVyJztcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZpbGxDZWxsJylcbiAgZmlsbENlbGwgPSBmYWxzZTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnBhZENoaWxkJylcbiAgcGFkQ2hpbGQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuZWRpdFJvd0NvbW1hbmQgPSBDb21tYW5kLmNyZWF0ZSgoKSA9PiB7XG4gICAgICB0aGlzLnRhYmxlTW9kZWwuc3RhcnRFZGl0U2Vzc2lvbih0aGlzLnJvdyk7XG4gICAgfSk7XG5cbiAgICB0aGlzLm9uSW5pdCgoKSA9PiB7XG4gICAgICAvLyBUaGlzIGJpbmRpbmcgd2FzIHRyaWdnZXJpbmcgYSBtZW1vcnkgbGVhay4uLiBub3Qgc3VyZSB3aHkuXG4gICAgICAvLyBjb25zdCB7IGNoYWlufSA9IERzbC5kaXNwb3NlV2l0aCh0aGlzKTtcbiAgICAgIC8vIHRoaXMuZmlyc3RFZGl0YWJsZUNvbHVtbiA9IGNoYWluKHRoaXMudGFibGVNb2RlbC5maXJzdEVkaXRhYmxlQ29sdW1uJCkuZXF1YWxzKHRoaXMuY29sdW1uKTsgLy8gdGhpcyB3b3VsZCBicmVhayBpZiB0aGUgY29sdW1uIGNoYW5nZWQuXG5cbiAgICAgIHRoaXMuY29sdW1uLmF0dGFjaENlbGwodGhpcyk7XG4gICAgfSlcbiAgfVxuXG4gIGhhc0FjdGl2ZUVkaXRvcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmVkaXRTZXNzaW9uICYmICEhdGhpcy5jb2x1bW4uaGFzRWRpdG9yUG9ydGFsKCk7XG4gIH1cblxuICBpbml0aWFsaXNlUmVuZGVyZXIocmVmOiBDZGtQb3J0YWxPdXRsZXRBdHRhY2hlZFJlZikge1xuICAgIHRoaXMuY29sdW1uLm9uUmVuZGVyZXJBdHRhY2hlZCh0aGlzLCByZWYpO1xuICB9XG5cbiAgaW5pdGlhbGlzZUVkaXRvcihyZWY6IENka1BvcnRhbE91dGxldEF0dGFjaGVkUmVmKSB7XG4gICAgdGhpcy5jb2x1bW4ub25FZGl0b3JBdHRhY2hlZCh0aGlzLCByZWYpO1xuICAgIGlmICh0aGlzLnRhYmxlTW9kZWwuZmlyc3RFZGl0YWJsZUNvbHVtbiQudmFsdWUgPT09IHRoaXMuY29sdW1uKSB7XG4gICAgICAvLyBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2NvbXBvbmVudHMvaXNzdWVzLzEyMDcwXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMudHJ5QW5kRm9jdXNFZGl0b3IocmVmKSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB0cnlBbmRGb2N1c0VkaXRvcihyZWY6IENka1BvcnRhbE91dGxldEF0dGFjaGVkUmVmKSB7XG4gICAgaWYgKHJlZiBpbnN0YW5jZW9mIENvbXBvbmVudFJlZikge1xuICAgICAgY29uc3QgZWRpdG9yID0gcmVmLmluc3RhbmNlO1xuICAgICAgLy8gQ2VsbEVkaXRvckNvbXBvbmVudDxSb3c+IHwgQ2VsbExpc3RFZGl0b3JDb21wb25lbnQ8Um93PlxuICAgICAgaWYgKGVkaXRvci5yZXF1ZXN0Rm9jdXMpIHtcbiAgICAgICAgZWRpdG9yLnJlcXVlc3RGb2N1cygpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgbW9kZWwgPSAoZWRpdG9yWyd2YWx1ZU1vZGVsJ10gfHwgZWRpdG9yWydsaXN0TW9kZWwnXSkgYXMgSGFzRm9jdXNDb250ZXh0O1xuICAgICAgICBtb2RlbD8uZm9jdXNDb250ZXh0Py5yZXF1ZXN0Rm9jdXMoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy5jb2x1bW4udXBkYXRlUG9ydGFsQ29udGVudCh0aGlzKTtcbiAgfVxuXG4gIGdldFJlbmRlcmVyUG9ydGFsKCkge1xuICAgIHJldHVybiB0aGlzW0NFTExfUkVOREVSRVJfUE9SVEFMXTtcbiAgfVxuXG4gIGdldEVkaXRvclBvcnRhbCgpIHtcbiAgICByZXR1cm4gdGhpc1tDRUxMX0VESVRPUl9QT1JUQUxdO1xuICB9XG5cbiAgZ2V0Um93RGF0YSgpOiBSb3dEYXRhPFJvdz4ge1xuICAgIHJldHVybiB7XG4gICAgICByb3c6IHRoaXMucm93LFxuICAgICAgZWRpdFNlc3Npb246IHRoaXMuZWRpdFNlc3Npb24sXG4gICAgICBlZGl0Um93Q29tbWFuZDogdGhpcy5lZGl0Um93Q29tbWFuZFxuICAgIH07XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCIhaGFzQWN0aXZlRWRpdG9yKClcIiBbY2RrUG9ydGFsT3V0bGV0XT1cImdldFJlbmRlcmVyUG9ydGFsKClcIiAoYXR0YWNoZWQpPVwiaW5pdGlhbGlzZVJlbmRlcmVyKCRldmVudClcIj48L25nLWNvbnRhaW5lcj5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJoYXNBY3RpdmVFZGl0b3IoKVwiIFtjZGtQb3J0YWxPdXRsZXRdPVwiZ2V0RWRpdG9yUG9ydGFsKClcIiAoYXR0YWNoZWQpPVwiaW5pdGlhbGlzZUVkaXRvcigkZXZlbnQpXCI+PC9uZy1jb250YWluZXI+XG4iXX0=
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY2VsbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlcy9yZW5kZXJlci90YWJsZS1jZWxsL3RhYmxlLWNlbGwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXMvcmVuZGVyZXIvdGFibGUtY2VsbC90YWJsZS1jZWxsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQW9DLE1BQU0sZUFBZSxDQUFDO0FBQzlHLE9BQU8sRUFBMEIsT0FBTyxFQUFFLEdBQUcsRUFBbUIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsV0FBVyxFQUFXLE1BQU0sMkJBQTJCLENBQUM7QUFDakUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7O0FBTzlFLE1BQU0sT0FBTyxrQkFBd0IsU0FBUSxtQkFBbUI7SUFHOUQsR0FBRyxDQUFNO0lBR1QsTUFBTSxDQUFtQjtJQUd6QixXQUFXLENBQW1CO0lBRzlCLFVBQVUsQ0FBMEI7SUFFNUIsY0FBYyxDQUFnQjtJQUV0QyxDQUFDLG9CQUFvQixDQUFDLENBQWM7SUFDcEMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFjO0lBR2xDLGlCQUFpQixHQUFH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LEtBQUs7Z0JBSU4sVUFBVTtzQkFEVCxLQUFLO2dCQVNOLGlCQUFpQjtzQkFEaEIsV0FBVzt1QkFBQyxPQUFPO2dCQUlwQixRQUFRO3NCQURQLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQUk3QixRQUFRO3NCQURQLFdBQVc7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrUG9ydGFsT3V0bGV0QXR0YWNoZWRSZWYsIFBvcnRhbCB9IGZyb20gXCJAYW5ndWxhci9jZGsvcG9ydGFsXCI7XG5pbXBvcnQgeyBDb21wb25lbnQsIENvbXBvbmVudFJlZiwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBCb29sZWFuVmFsdWVNb2RlbENoYWluLCBDb21tYW5kLCBEc2wsIEhhc0ZvY3VzQ29udGV4dCB9IGZyb20gXCJAY29vbG9uL3BlY3RpblwiO1xuaW1wb3J0IHsgRGlzcG9zYWJsZUNvbXBvbmVudCB9IGZyb20gXCIuLi8uLi8uLi9kaXNwb3NhYmxlLWNvbXBvbmVudFwiO1xuaW1wb3J0IHsgQWJzdHJhY3RUYWJsZU1vZGVsIH0gZnJvbSBcIi4uLy4uL2Fic3RyYWN0LXRhYmxlLW1vZGVsXCI7XG5pbXBvcnQgeyBDb2x1bW5Nb2RlbCwgUm93RGF0YSB9IGZyb20gXCIuLi8uLi9jb2x1bW4vY29sdW1uLW1vZGVsXCI7XG5pbXBvcnQgeyBFZGl0U2Vzc2lvbiB9IGZyb20gXCIuLi8uLi9lZGl0b3IvZWRpdC1zZXNzaW9uXCI7XG5pbXBvcnQgeyBDRUxMX0VESVRPUl9QT1JUQUwsIENFTExfUkVOREVSRVJfUE9SVEFMIH0gZnJvbSBcIi4uL2NlbGwtcG9ydGFsLXJlZlwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdXAtdGFibGUtY2VsbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS1jZWxsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFibGUtY2VsbC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlQ2VsbENvbXBvbmVudDxSb3c+IGV4dGVuZHMgRGlzcG9zYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG5cbiAgQElucHV0KClcbiAgcm93OiBSb3c7XG5cbiAgQElucHV0KClcbiAgY29sdW1uOiBDb2x1bW5Nb2RlbDxSb3c+O1xuXG4gIEBJbnB1dCgpXG4gIGVkaXRTZXNzaW9uOiBFZGl0U2Vzc2lvbjxSb3c+O1xuXG4gIEBJbnB1dCgpXG4gIHRhYmxlTW9kZWw6IEFic3RyYWN0VGFibGVNb2RlbDxSb3c+O1xuXG4gIHByaXZhdGUgZWRpdFJvd0NvbW1hbmQ6IENvbW1hbmQ8dm9pZD47XG5cbiAgW0NFTExfUkVOREVSRVJfUE9SVEFMXTogUG9ydGFsPGFueT47XG4gIFtDRUxMX0VESVRPUl9QT1JUQUxdOiBQb3J0YWw8YW55PjtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgZGVmYXVsdENsYXNzTmFtZXMgPSAnYXVwLWNlbGwtcmVuZGVyZXInO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZmlsbENlbGwnKVxuICBmaWxsQ2VsbCA9IGZhbHNlO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MucGFkQ2hpbGQnKVxuICBwYWRDaGlsZCA9IGZhbHNlO1xuXG4gIHByaXZhdGUgZmlyc3RFZGl0YWJsZUNvbHVtbjogQm9vbGVhblZhbHVlTW9kZWxDaGFpbjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuZWRpdFJvd0NvbW1hbmQgPSBDb21tYW5kLmNyZWF0ZSgoKSA9PiB7XG4gICAgICB0aGlzLnRhYmxlTW9kZWwuc3RhcnRFZGl0U2Vzc2lvbih0aGlzLnJvdyk7XG4gICAgfSk7XG5cbiAgICB0aGlzLm9uSW5pdCgoKSA9PiB7XG4gICAgICBjb25zdCB7IGNoYWlufSA9IERzbC5kaXNwb3NlV2l0aCh0aGlzKTtcbiAgICAgIHRoaXMuZmlyc3RFZGl0YWJsZUNvbHVtbiA9IGNoYWluKHRoaXMudGFibGVNb2RlbC5maXJzdEVkaXRhYmxlQ29sdW1uJCkuZXF1YWxzKHRoaXMuY29sdW1uKTsgLy8gdGhpcyB3b3VsZCBicmVhayBpZiB0aGUgY29sdW1uIGNoYW5nZWQuXG4gICAgICB0aGlzLmNvbHVtbi5hdHRhY2hDZWxsKHRoaXMpO1xuICAgIH0pXG4gIH1cblxuICBoYXNBY3RpdmVFZGl0b3IoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5lZGl0U2Vzc2lvbiAmJiAhIXRoaXMuY29sdW1uLmhhc0VkaXRvclBvcnRhbCgpO1xuICB9XG5cbiAgaW5pdGlhbGlzZVJlbmRlcmVyKHJlZjogQ2RrUG9ydGFsT3V0bGV0QXR0YWNoZWRSZWYpIHtcbiAgICB0aGlzLmNvbHVtbi5vblJlbmRlcmVyQXR0YWNoZWQodGhpcywgcmVmKTtcbiAgfVxuXG4gIGluaXRpYWxpc2VFZGl0b3IocmVmOiBDZGtQb3J0YWxPdXRsZXRBdHRhY2hlZFJlZikge1xuICAgIHRoaXMuY29sdW1uLm9uRWRpdG9yQXR0YWNoZWQodGhpcywgcmVmKTtcbiAgICBpZiAodGhpcy5maXJzdEVkaXRhYmxlQ29sdW1uLnZhbHVlKSB7XG4gICAgICAvLyBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2NvbXBvbmVudHMvaXNzdWVzLzEyMDcwXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMudHJ5QW5kRm9jdXNFZGl0b3IocmVmKSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB0cnlBbmRGb2N1c0VkaXRvcihyZWY6IENka1BvcnRhbE91dGxldEF0dGFjaGVkUmVmKSB7XG4gICAgaWYgKHJlZiBpbnN0YW5jZW9mIENvbXBvbmVudFJlZikge1xuICAgICAgY29uc3QgZWRpdG9yID0gcmVmLmluc3RhbmNlO1xuICAgICAgLy8gQ2VsbEVkaXRvckNvbXBvbmVudDxSb3c+IHwgQ2VsbExpc3RFZGl0b3JDb21wb25lbnQ8Um93PlxuICAgICAgaWYgKGVkaXRvci5yZXF1ZXN0Rm9jdXMpIHtcbiAgICAgICAgZWRpdG9yLnJlcXVlc3RGb2N1cygpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgbW9kZWwgPSAoZWRpdG9yWyd2YWx1ZU1vZGVsJ10gfHwgZWRpdG9yWydsaXN0TW9kZWwnXSkgYXMgSGFzRm9jdXNDb250ZXh0O1xuICAgICAgICBtb2RlbD8uZm9jdXNDb250ZXh0Py5yZXF1ZXN0Rm9jdXMoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICB0aGlzLmNvbHVtbi51cGRhdGVQb3J0YWxDb250ZW50KHRoaXMpO1xuICB9XG5cbiAgZ2V0UmVuZGVyZXJQb3J0YWwoKSB7XG4gICAgcmV0dXJuIHRoaXNbQ0VMTF9SRU5ERVJFUl9QT1JUQUxdO1xuICB9XG5cbiAgZ2V0RWRpdG9yUG9ydGFsKCkge1xuICAgIHJldHVybiB0aGlzW0NFTExfRURJVE9SX1BPUlRBTF07XG4gIH1cblxuICBnZXRSb3dEYXRhKCk6IFJvd0RhdGE8Um93PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHJvdzogdGhpcy5yb3csXG4gICAgICBlZGl0U2Vzc2lvbjogdGhpcy5lZGl0U2Vzc2lvbixcbiAgICAgIGVkaXRSb3dDb21tYW5kOiB0aGlzLmVkaXRSb3dDb21tYW5kXG4gICAgfTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFoYXNBY3RpdmVFZGl0b3IoKVwiIFtjZGtQb3J0YWxPdXRsZXRdPVwiZ2V0UmVuZGVyZXJQb3J0YWwoKVwiIChhdHRhY2hlZCk9XCJpbml0aWFsaXNlUmVuZGVyZXIoJGV2ZW50KVwiPjwvbmctY29udGFpbmVyPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImhhc0FjdGl2ZUVkaXRvcigpXCIgW2Nka1BvcnRhbE91dGxldF09XCJnZXRFZGl0b3JQb3J0YWwoKVwiIChhdHRhY2hlZCk9XCJpbml0aWFsaXNlRWRpdG9yKCRldmVudClcIj48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -7,6 +7,8 @@ export class TableHeaderCellComponent {
7
7
  column;
8
8
  defaultClassNames = 'aup-header-cell-renderer';
9
9
  [HEADER_CELL_RENDERER_PORTAL];
10
+ constructor() {
11
+ }
10
12
  ngOnInit() {
11
13
  this.column.attachHeaderCell(this);
12
14
  }
@@ -17,16 +19,16 @@ export class TableHeaderCellComponent {
17
19
  getPortal() {
18
20
  return this[HEADER_CELL_RENDERER_PORTAL];
19
21
  }
20
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TableHeaderCellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
21
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: TableHeaderCellComponent, selector: "aup-table-header-cell", inputs: { column: "column" }, host: { properties: { "class": "this.defaultClassNames" } }, ngImport: i0, template: "<ng-container [cdkPortalOutlet]=\"getPortal()\" (attached)=\"initialiseHeader($event)\"></ng-container>\n", styles: [":host{display:flex;flex-direction:column;align-items:stretch;justify-content:center;height:100%}\n"], dependencies: [{ kind: "directive", type: i1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }] });
22
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: TableHeaderCellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
23
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: TableHeaderCellComponent, selector: "aup-table-header-cell", inputs: { column: "column" }, host: { properties: { "class": "this.defaultClassNames" } }, ngImport: i0, template: "<ng-container [cdkPortalOutlet]=\"getPortal()\" (attached)=\"initialiseHeader($event)\"></ng-container>\n", styles: [":host{display:flex;flex-direction:column;align-items:stretch;justify-content:center;height:100%}\n"], dependencies: [{ kind: "directive", type: i1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }] });
22
24
  }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TableHeaderCellComponent, decorators: [{
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: TableHeaderCellComponent, decorators: [{
24
26
  type: Component,
25
27
  args: [{ selector: 'aup-table-header-cell', template: "<ng-container [cdkPortalOutlet]=\"getPortal()\" (attached)=\"initialiseHeader($event)\"></ng-container>\n", styles: [":host{display:flex;flex-direction:column;align-items:stretch;justify-content:center;height:100%}\n"] }]
26
- }], propDecorators: { column: [{
28
+ }], ctorParameters: function () { return []; }, propDecorators: { column: [{
27
29
  type: Input
28
30
  }], defaultClassNames: [{
29
31
  type: HostBinding,
30
32
  args: ['class']
31
33
  }] } });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtaGVhZGVyLWNlbGwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXMvcmVuZGVyZXIvdGFibGUtaGVhZGVyLWNlbGwvdGFibGUtaGVhZGVyLWNlbGwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXMvcmVuZGVyZXIvdGFibGUtaGVhZGVyLWNlbGwvdGFibGUtaGVhZGVyLWNlbGwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUN0RCxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBTy9ELE1BQU0sT0FBTyx3QkFBd0I7SUFHbkMsTUFBTSxDQUFtQjtJQUd6QixpQkFBaUIsR0FBRywwQkFBMEIsQ0FBQztJQUUvQyxDQUFDLDJCQUEyQixDQUFDLENBQWM7SUFFM0MsUUFBUTtRQUNOLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELFdBQVc7SUFDWCxnQkFBZ0IsQ0FBQyxHQUErQjtRQUM5QyxJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLDJCQUEyQixDQUFDLENBQUM7SUFDM0MsQ0FBQzt1R0FyQlUsd0JBQXdCOzJGQUF4Qix3QkFBd0Isd0pDVnJDLDJHQUNBOzsyRkRTYSx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0UsdUJBQXVCOzhCQU9qQyxNQUFNO3NCQURMLEtBQUs7Z0JBSU4saUJBQWlCO3NCQURoQixXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0Nka1BvcnRhbE91dGxldEF0dGFjaGVkUmVmLCBQb3J0YWx9IGZyb20gXCJAYW5ndWxhci9jZGsvcG9ydGFsXCI7XG5pbXBvcnQge0NvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXR9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge0NvbHVtbk1vZGVsfSBmcm9tIFwiLi4vLi4vY29sdW1uL2NvbHVtbi1tb2RlbFwiO1xuaW1wb3J0IHtIRUFERVJfQ0VMTF9SRU5ERVJFUl9QT1JUQUx9IGZyb20gXCIuLi9jZWxsLXBvcnRhbC1yZWZcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXVwLXRhYmxlLWhlYWRlci1jZWxsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLWhlYWRlci1jZWxsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFibGUtaGVhZGVyLWNlbGwuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZUhlYWRlckNlbGxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpXG4gIGNvbHVtbjogQ29sdW1uTW9kZWw8YW55PjtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgZGVmYXVsdENsYXNzTmFtZXMgPSAnYXVwLWhlYWRlci1jZWxsLXJlbmRlcmVyJztcblxuICBbSEVBREVSX0NFTExfUkVOREVSRVJfUE9SVEFMXTogUG9ydGFsPGFueT47XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5jb2x1bW4uYXR0YWNoSGVhZGVyQ2VsbCh0aGlzKTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIGluaXRpYWxpc2VIZWFkZXIocmVmOiBDZGtQb3J0YWxPdXRsZXRBdHRhY2hlZFJlZikge1xuICAgIHRoaXMuY29sdW1uLm9uSGVhZGVyQXR0YWNoZWQodGhpcywgcmVmKTtcbiAgfVxuXG4gIGdldFBvcnRhbCgpIHtcbiAgICByZXR1cm4gdGhpc1tIRUFERVJfQ0VMTF9SRU5ERVJFUl9QT1JUQUxdO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyIFtjZGtQb3J0YWxPdXRsZXRdPVwiZ2V0UG9ydGFsKClcIiAoYXR0YWNoZWQpPVwiaW5pdGlhbGlzZUhlYWRlcigkZXZlbnQpXCI+PC9uZy1jb250YWluZXI+XG4iXX0=
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtaGVhZGVyLWNlbGwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXMvcmVuZGVyZXIvdGFibGUtaGVhZGVyLWNlbGwvdGFibGUtaGVhZGVyLWNlbGwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXMvcmVuZGVyZXIvdGFibGUtaGVhZGVyLWNlbGwvdGFibGUtaGVhZGVyLWNlbGwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBT2pFLE1BQU0sT0FBTyx3QkFBd0I7SUFHbkMsTUFBTSxDQUFtQjtJQUd6QixpQkFBaUIsR0FBRywwQkFBMEIsQ0FBQztJQUUvQyxDQUFDLDJCQUEyQixDQUFDLENBQWM7SUFFM0M7SUFDQSxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELFdBQVc7SUFDWCxnQkFBZ0IsQ0FBQyxHQUErQjtRQUM5QyxJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLDJCQUEyQixDQUFDLENBQUM7SUFDM0MsQ0FBQzt1R0F4QlUsd0JBQXdCOzJGQUF4Qix3QkFBd0Isd0pDVnJDLDJHQUNBOzsyRkRTYSx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0UsdUJBQXVCOzBFQU9qQyxNQUFNO3NCQURMLEtBQUs7Z0JBSU4saUJBQWlCO3NCQURoQixXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZGtQb3J0YWxPdXRsZXRBdHRhY2hlZFJlZiwgUG9ydGFsIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9wb3J0YWxcIjtcbmltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQ29sdW1uTW9kZWwgfSBmcm9tIFwiLi4vLi4vY29sdW1uL2NvbHVtbi1tb2RlbFwiO1xuaW1wb3J0IHsgSEVBREVSX0NFTExfUkVOREVSRVJfUE9SVEFMIH0gZnJvbSBcIi4uL2NlbGwtcG9ydGFsLXJlZlwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdXAtdGFibGUtaGVhZGVyLWNlbGwnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUtaGVhZGVyLWNlbGwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YWJsZS1oZWFkZXItY2VsbC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlSGVhZGVyQ2VsbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KClcbiAgY29sdW1uOiBDb2x1bW5Nb2RlbDxhbnk+O1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBkZWZhdWx0Q2xhc3NOYW1lcyA9ICdhdXAtaGVhZGVyLWNlbGwtcmVuZGVyZXInO1xuXG4gIFtIRUFERVJfQ0VMTF9SRU5ERVJFUl9QT1JUQUxdOiBQb3J0YWw8YW55PjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuY29sdW1uLmF0dGFjaEhlYWRlckNlbGwodGhpcyk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBpbml0aWFsaXNlSGVhZGVyKHJlZjogQ2RrUG9ydGFsT3V0bGV0QXR0YWNoZWRSZWYpIHtcbiAgICB0aGlzLmNvbHVtbi5vbkhlYWRlckF0dGFjaGVkKHRoaXMsIHJlZik7XG4gIH1cblxuICBnZXRQb3J0YWwoKSB7XG4gICAgcmV0dXJuIHRoaXNbSEVBREVSX0NFTExfUkVOREVSRVJfUE9SVEFMXTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciBbY2RrUG9ydGFsT3V0bGV0XT1cImdldFBvcnRhbCgpXCIgKGF0dGFjaGVkKT1cImluaXRpYWxpc2VIZWFkZXIoJGV2ZW50KVwiPjwvbmctY29udGFpbmVyPlxuIl19
@@ -0,0 +1,33 @@
1
+ import { Component } from "@angular/core";
2
+ import { DelegatingCommand, DelegatingValueModel } from "@coolon/pectin";
3
+ import { DisposableComponent } from "../../../../disposable-component";
4
+ import * as i0 from "@angular/core";
5
+ export class TableMoreMenuPopupComponent extends DisposableComponent {
6
+ _value$ = this.registerDisposable(new DelegatingValueModel());
7
+ _visible$ = this.registerDisposable(new DelegatingValueModel()).withDefault(true);
8
+ _closeCommand = this.registerDisposable(new DelegatingCommand());
9
+ initialise(row$, closeCommand) {
10
+ this._value$.setDelegate(row$);
11
+ this._closeCommand.setDelegate(closeCommand);
12
+ }
13
+ visibleWhile(condition) {
14
+ this._visible$.setDelegate(condition);
15
+ return this;
16
+ }
17
+ get visible$() {
18
+ return this._visible$.readonly$;
19
+ }
20
+ get closeCommand() {
21
+ return this._closeCommand;
22
+ }
23
+ get value$() {
24
+ return this._value$.readonly$;
25
+ }
26
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: TableMoreMenuPopupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
27
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: TableMoreMenuPopupComponent, selector: "aup-table-more-menu-popup", usesInheritance: true, ngImport: i0, template: '', isInline: true });
28
+ }
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: TableMoreMenuPopupComponent, decorators: [{
30
+ type: Component,
31
+ args: [{ selector: 'aup-table-more-menu-popup', template: '' }]
32
+ }] });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtbW9yZS1tZW51LXBvcHVwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2NvbXBvbmVudHMvdGFibGVzL3JlbmRlcmVyL3RhYmxlLW1vcmUtbWVudS90YWJsZS1tb3JlLW1lbnUtcG9wdXAvdGFibGUtbW9yZS1tZW51LXBvcHVwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBVyxpQkFBaUIsRUFBRSxvQkFBb0IsRUFBYyxNQUFNLGdCQUFnQixDQUFDO0FBQzlGLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLGtDQUFrQyxDQUFDOztBQU9yRSxNQUFNLE9BQU8sMkJBQStCLFNBQVEsbUJBQW1CO0lBRTdELE9BQU8sR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxvQkFBb0IsRUFBSyxDQUFDLENBQUE7SUFFdkQsU0FBUyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLG9CQUFvQixFQUFXLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0YsYUFBYSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLGlCQUFpQixFQUFRLENBQUMsQ0FBQTtJQUd2RixVQUFVLENBQUMsSUFBbUIsRUFBRSxZQUEyQjtRQUN6RCxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRVMsWUFBWSxDQUFDLFNBQThCO1FBQ25ELElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3RDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUE7SUFDakMsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQztJQUNoQyxDQUFDO3VHQTVCVSwyQkFBMkI7MkZBQTNCLDJCQUEyQix3RkFINUIsRUFBRTs7MkZBR0QsMkJBQTJCO2tCQUx2QyxTQUFTOytCQUNFLDJCQUEyQixZQUMzQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbW1hbmQsIERlbGVnYXRpbmdDb21tYW5kLCBEZWxlZ2F0aW5nVmFsdWVNb2RlbCwgVmFsdWVNb2RlbCB9IGZyb20gXCJAY29vbG9uL3BlY3RpblwiO1xuaW1wb3J0IHtEaXNwb3NhYmxlQ29tcG9uZW50fSBmcm9tIFwiLi4vLi4vLi4vLi4vZGlzcG9zYWJsZS1jb21wb25lbnRcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXVwLXRhYmxlLW1vcmUtbWVudS1wb3B1cCcsXG4gIHRlbXBsYXRlOiAnJyxcbiAgc3R5bGVVcmxzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVNb3JlTWVudVBvcHVwQ29tcG9uZW50PFQ+IGV4dGVuZHMgRGlzcG9zYWJsZUNvbXBvbmVudCB7XG5cbiAgcHJpdmF0ZSBfdmFsdWUkID0gdGhpcy5yZWdpc3RlckRpc3Bvc2FibGUobmV3IERlbGVnYXRpbmdWYWx1ZU1vZGVsPFQ+KCkpXG5cbiAgcHJpdmF0ZSByZWFkb25seSBfdmlzaWJsZSQgPSB0aGlzLnJlZ2lzdGVyRGlzcG9zYWJsZShuZXcgRGVsZWdhdGluZ1ZhbHVlTW9kZWw8Ym9vbGVhbj4oKSkud2l0aERlZmF1bHQodHJ1ZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2Nsb3NlQ29tbWFuZCA9IHRoaXMucmVnaXN0ZXJEaXNwb3NhYmxlKG5ldyBEZWxlZ2F0aW5nQ29tbWFuZDx2b2lkPigpKVxuXG5cbiAgaW5pdGlhbGlzZShyb3ckOiBWYWx1ZU1vZGVsPFQ+LCBjbG9zZUNvbW1hbmQ6IENvbW1hbmQ8dm9pZD4pIHtcbiAgICB0aGlzLl92YWx1ZSQuc2V0RGVsZWdhdGUocm93JCk7XG4gICAgdGhpcy5fY2xvc2VDb21tYW5kLnNldERlbGVnYXRlKGNsb3NlQ29tbWFuZCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgdmlzaWJsZVdoaWxlKGNvbmRpdGlvbjogVmFsdWVNb2RlbDxib29sZWFuPikge1xuICAgIHRoaXMuX3Zpc2libGUkLnNldERlbGVnYXRlKGNvbmRpdGlvbik7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBnZXQgdmlzaWJsZSQoKTogVmFsdWVNb2RlbDxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX3Zpc2libGUkLnJlYWRvbmx5JFxuICB9XG5cbiAgZ2V0IGNsb3NlQ29tbWFuZCgpOiBDb21tYW5kPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5fY2xvc2VDb21tYW5kO1xuICB9XG5cbiAgZ2V0IHZhbHVlJCgpIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWUkLnJlYWRvbmx5JDtcbiAgfVxuXG5cbn1cbiJdfQ==
@@ -0,0 +1,60 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { ComponentPortal } from "@angular/cdk/portal";
3
+ import { Component, HostListener, ViewChild } from "@angular/core";
4
+ import { MatLegacyMenuTrigger as MatMenuTrigger } from "@angular/material/legacy-menu";
5
+ import { Command, DelegatingValueModel, Dsl, MutableValueModel, StoreInValueModel } from "@coolon/pectin";
6
+ import { DisposableComponent } from "../../../disposable-component";
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/common";
9
+ import * as i2 from "@angular/material/legacy-button";
10
+ import * as i3 from "@angular/cdk/portal";
11
+ import * as i4 from "@angular/material/legacy-menu";
12
+ import * as i5 from "../../../icon/icon.component";
13
+ export class TableMoreMenuComponent extends DisposableComponent {
14
+ value$ = new MutableValueModel();
15
+ #value_accessor_storage;
16
+ get value() { return this.#value_accessor_storage; }
17
+ set value(value) { this.#value_accessor_storage = value; }
18
+ matMenuTrigger;
19
+ popupType$ = new MutableValueModel();
20
+ popupComponentPortal$;
21
+ _visible$ = this.registerDisposable(new DelegatingValueModel());
22
+ constructor() {
23
+ super();
24
+ const { chain } = Dsl.disposeWith(this);
25
+ this.popupComponentPortal$ = chain(this.popupType$).map(type => new ComponentPortal(type));
26
+ }
27
+ configurePopupComponentType(popupComponentType) {
28
+ this.popupType$.value = popupComponentType;
29
+ }
30
+ // Stops tree selection when clicking the menu button
31
+ preventDefault($event) {
32
+ $event.preventDefault();
33
+ $event.stopPropagation();
34
+ }
35
+ initialise($event) {
36
+ const component = $event.instance;
37
+ component.initialise(this.value$, Command.create(() => this.matMenuTrigger.closeMenu()));
38
+ this._visible$.setDelegate(component.visible$);
39
+ }
40
+ get visible$() {
41
+ return this._visible$.readonly$;
42
+ }
43
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: TableMoreMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
44
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: TableMoreMenuComponent, selector: "aup-table-more-menu", host: { listeners: { "click": "preventDefault($event)" } }, viewQueries: [{ propertyName: "matMenuTrigger", first: true, predicate: MatMenuTrigger, descendants: true }], usesInheritance: true, ngImport: i0, template: "<mat-menu #menu=\"matMenu\" xPosition=\"before\">\n <ng-template matMenuContent [cdkPortalOutlet]=\"popupComponentPortal$.value\"\n (attached)=\"initialise($event)\"></ng-template>\n</mat-menu>\n\n<button mat-icon-button [matMenuTriggerFor]=\"menu\" data-cy=\"more-menu-trigger\" *ngIf=\"visible$.value\">\n <aup-icon icon=\"mat:more_vert\"></aup-icon>\n</button>\n", styles: [":host{display:inline;text-align:end}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatLegacyButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i3.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "component", type: i4.MatLegacyMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "directive", type: i4.MatLegacyMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i4.MatLegacyMenuContent, selector: "ng-template[matMenuContent]" }, { kind: "component", type: i5.IconComponent, selector: "aup-icon", inputs: ["icon"] }] });
45
+ }
46
+ __decorate([
47
+ StoreInValueModel(),
48
+ __metadata("design:type", Object)
49
+ ], TableMoreMenuComponent.prototype, "value", null);
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: TableMoreMenuComponent, decorators: [{
51
+ type: Component,
52
+ args: [{ selector: "aup-table-more-menu", template: "<mat-menu #menu=\"matMenu\" xPosition=\"before\">\n <ng-template matMenuContent [cdkPortalOutlet]=\"popupComponentPortal$.value\"\n (attached)=\"initialise($event)\"></ng-template>\n</mat-menu>\n\n<button mat-icon-button [matMenuTriggerFor]=\"menu\" data-cy=\"more-menu-trigger\" *ngIf=\"visible$.value\">\n <aup-icon icon=\"mat:more_vert\"></aup-icon>\n</button>\n", styles: [":host{display:inline;text-align:end}\n"] }]
53
+ }], ctorParameters: function () { return []; }, propDecorators: { value: [], matMenuTrigger: [{
54
+ type: ViewChild,
55
+ args: [MatMenuTrigger]
56
+ }], preventDefault: [{
57
+ type: HostListener,
58
+ args: ["click", ["$event"]]
59
+ }] } });
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtbW9yZS1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2NvbXBvbmVudHMvdGFibGVzL3JlbmRlcmVyL3RhYmxlLW1vcmUtbWVudS90YWJsZS1tb3JlLW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXMvcmVuZGVyZXIvdGFibGUtbW9yZS1tZW51L3RhYmxlLW1vcmUtbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUE2QixlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRixPQUFPLEVBQUMsU0FBUyxFQUFnQixZQUFZLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBQyxvQkFBb0IsSUFBSSxjQUFjLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUNyRixPQUFPLEVBQ0wsT0FBTyxFQUNQLG9CQUFvQixFQUNwQixHQUFHLEVBQ0gsaUJBQWlCLEVBQ2pCLGlCQUFpQixFQUVsQixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLCtCQUErQixDQUFDOzs7Ozs7O0FBU2xFLE1BQU0sT0FBTyxzQkFBMEIsU0FBUSxtQkFBbUI7SUFHeEQsTUFBTSxHQUFHLElBQUksaUJBQWlCLEVBQUssQ0FBQztJQUduQyx3QkFBUztJQUFULElBQUEsS0FBSywyQ0FBSTtJQUFULElBQUEsS0FBSyxpREFBSTtJQUdsQixjQUFjLENBQWlCO0lBRWQsVUFBVSxHQUFHLElBQUksaUJBQWlCLEVBQWlELENBQUM7SUFFckcscUJBQXFCLENBQW1FO0lBRXZFLFNBQVMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxvQkFBb0IsRUFBVyxDQUFDLENBQUM7SUFFMUY7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQUNSLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDN0YsQ0FBQztJQUVELDJCQUEyQixDQUFDLGtCQUFpRTtRQUMzRixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssR0FBRyxrQkFBa0IsQ0FBQztJQUM3QyxDQUFDO0lBR0QscURBQXFEO0lBRXJELGNBQWMsQ0FBQyxNQUFrQjtRQUMvQixNQUFNLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDeEIsTUFBTSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxVQUFVLENBQUMsTUFBa0M7UUFDM0MsTUFBTSxTQUFTLEdBQUksTUFBdUQsQ0FBQyxRQUFRLENBQUM7UUFDcEYsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDekYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDO0lBQ2xDLENBQUM7dUdBM0NVLHNCQUFzQjsyRkFBdEIsc0JBQXNCLHVLQVF0QixjQUFjLHVFQzdCM0IsK1hBUUE7O0FEbUJXO0lBRFIsaUJBQWlCLEVBQUU7O21EQUNGOzJGQU5QLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSxxQkFBcUI7MEVBVXRCLEtBQUssTUFHZCxjQUFjO3NCQURiLFNBQVM7dUJBQUMsY0FBYztnQkFzQnpCLGNBQWM7c0JBRGIsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0Nka1BvcnRhbE91dGxldEF0dGFjaGVkUmVmLCBDb21wb25lbnRQb3J0YWx9IGZyb20gXCJAYW5ndWxhci9jZGsvcG9ydGFsXCI7XG5pbXBvcnQge0NvbXBvbmVudCwgQ29tcG9uZW50UmVmLCBIb3N0TGlzdGVuZXIsIFZpZXdDaGlsZH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7TWF0TGVnYWN5TWVudVRyaWdnZXIgYXMgTWF0TWVudVRyaWdnZXJ9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9sZWdhY3ktbWVudVwiO1xuaW1wb3J0IHtcbiAgQ29tbWFuZCxcbiAgRGVsZWdhdGluZ1ZhbHVlTW9kZWwsXG4gIERzbCxcbiAgTXV0YWJsZVZhbHVlTW9kZWwsXG4gIFN0b3JlSW5WYWx1ZU1vZGVsLFxuICBWYWx1ZU1vZGVsQ2hhaW5cbn0gZnJvbSBcIkBjb29sb24vcGVjdGluXCI7XG5pbXBvcnQge0NvbnN0cnVjdGFibGV9IGZyb20gXCJAY29vbG9uL3R5cGVzY3JpcHQtdXRpbGl0aWVzXCI7XG5pbXBvcnQge0Rpc3Bvc2FibGVDb21wb25lbnR9IGZyb20gXCIuLi8uLi8uLi9kaXNwb3NhYmxlLWNvbXBvbmVudFwiO1xuaW1wb3J0IHtDZWxsUmVuZGVyZXJ9IGZyb20gXCIuLi9jZWxsLXJlbmRlcmVyXCI7XG5pbXBvcnQge1RhYmxlTW9yZU1lbnVQb3B1cENvbXBvbmVudH0gZnJvbSBcIi4vdGFibGUtbW9yZS1tZW51LXBvcHVwL3RhYmxlLW1vcmUtbWVudS1wb3B1cC5jb21wb25lbnRcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImF1cC10YWJsZS1tb3JlLW1lbnVcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi90YWJsZS1tb3JlLW1lbnUuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL3RhYmxlLW1vcmUtbWVudS5jb21wb25lbnQuc2Nzc1wiXVxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZU1vcmVNZW51Q29tcG9uZW50PFQ+IGV4dGVuZHMgRGlzcG9zYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIENlbGxSZW5kZXJlcjxUPiB7XG5cblxuICBwcml2YXRlIHZhbHVlJCA9IG5ldyBNdXRhYmxlVmFsdWVNb2RlbDxUPigpO1xuXG4gIEBTdG9yZUluVmFsdWVNb2RlbCgpXG4gIGFjY2Vzc29yIHZhbHVlOiBUO1xuXG4gIEBWaWV3Q2hpbGQoTWF0TWVudVRyaWdnZXIpXG4gIG1hdE1lbnVUcmlnZ2VyOiBNYXRNZW51VHJpZ2dlcjtcblxuICBwcml2YXRlIHJlYWRvbmx5IHBvcHVwVHlwZSQgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8Q29uc3RydWN0YWJsZTxUYWJsZU1vcmVNZW51UG9wdXBDb21wb25lbnQ8VD4+PigpO1xuXG4gIHBvcHVwQ29tcG9uZW50UG9ydGFsJDogVmFsdWVNb2RlbENoYWluPENvbXBvbmVudFBvcnRhbDxUYWJsZU1vcmVNZW51UG9wdXBDb21wb25lbnQ8VD4+PjtcblxuICBwcml2YXRlIHJlYWRvbmx5IF92aXNpYmxlJCA9IHRoaXMucmVnaXN0ZXJEaXNwb3NhYmxlKG5ldyBEZWxlZ2F0aW5nVmFsdWVNb2RlbDxib29sZWFuPigpKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIGNvbnN0IHsgY2hhaW4gfSA9IERzbC5kaXNwb3NlV2l0aCh0aGlzKTtcbiAgICB0aGlzLnBvcHVwQ29tcG9uZW50UG9ydGFsJCA9IGNoYWluKHRoaXMucG9wdXBUeXBlJCkubWFwKHR5cGUgPT4gbmV3IENvbXBvbmVudFBvcnRhbCh0eXBlKSk7XG4gIH1cblxuICBjb25maWd1cmVQb3B1cENvbXBvbmVudFR5cGUocG9wdXBDb21wb25lbnRUeXBlOiBDb25zdHJ1Y3RhYmxlPFRhYmxlTW9yZU1lbnVQb3B1cENvbXBvbmVudDxUPj4pIHtcbiAgICB0aGlzLnBvcHVwVHlwZSQudmFsdWUgPSBwb3B1cENvbXBvbmVudFR5cGU7XG4gIH1cblxuXG4gIC8vIFN0b3BzIHRyZWUgc2VsZWN0aW9uIHdoZW4gY2xpY2tpbmcgdGhlIG1lbnUgYnV0dG9uXG4gIEBIb3N0TGlzdGVuZXIoXCJjbGlja1wiLCBbXCIkZXZlbnRcIl0pXG4gIHByZXZlbnREZWZhdWx0KCRldmVudDogTW91c2VFdmVudCkge1xuICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIGluaXRpYWxpc2UoJGV2ZW50OiBDZGtQb3J0YWxPdXRsZXRBdHRhY2hlZFJlZikge1xuICAgIGNvbnN0IGNvbXBvbmVudCA9ICgkZXZlbnQgYXMgQ29tcG9uZW50UmVmPFRhYmxlTW9yZU1lbnVQb3B1cENvbXBvbmVudDxUPj4pLmluc3RhbmNlO1xuICAgIGNvbXBvbmVudC5pbml0aWFsaXNlKHRoaXMudmFsdWUkLCBDb21tYW5kLmNyZWF0ZSgoKSA9PiB0aGlzLm1hdE1lbnVUcmlnZ2VyLmNsb3NlTWVudSgpKSk7XG4gICAgdGhpcy5fdmlzaWJsZSQuc2V0RGVsZWdhdGUoY29tcG9uZW50LnZpc2libGUkKTtcbiAgfVxuXG4gIGdldCB2aXNpYmxlJCgpIHtcbiAgICByZXR1cm4gdGhpcy5fdmlzaWJsZSQucmVhZG9ubHkkO1xuICB9XG5cbn1cbiIsIjxtYXQtbWVudSAjbWVudT1cIm1hdE1lbnVcIiB4UG9zaXRpb249XCJiZWZvcmVcIj5cbiAgPG5nLXRlbXBsYXRlIG1hdE1lbnVDb250ZW50IFtjZGtQb3J0YWxPdXRsZXRdPVwicG9wdXBDb21wb25lbnRQb3J0YWwkLnZhbHVlXCJcbiAgICAgICAgICAgICAgIChhdHRhY2hlZCk9XCJpbml0aWFsaXNlKCRldmVudClcIj48L25nLXRlbXBsYXRlPlxuPC9tYXQtbWVudT5cblxuPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIiBkYXRhLWN5PVwibW9yZS1tZW51LXRyaWdnZXJcIiAqbmdJZj1cInZpc2libGUkLnZhbHVlXCI+XG4gIDxhdXAtaWNvbiBpY29uPVwibWF0Om1vcmVfdmVydFwiPjwvYXVwLWljb24+XG48L2J1dHRvbj5cbiJdfQ==
@@ -1,4 +1,3 @@
1
- import { MultipleSelectionModel } from "@coolon/pectin";
2
1
  import { AbstractTableModel } from "../abstract-table-model";
3
2
  /**
4
3
  * Example:
@@ -93,16 +92,8 @@ export class TableModel extends AbstractTableModel {
93
92
  this._filteredRows$.setDelegate(filteredRows$);
94
93
  this._visibleRows$.setDelegate(visibleRows$);
95
94
  }
96
- get isUsingTemporarySelectionModel$() {
97
- return this.selectionColumnModel.isUsingTemporarySelectionModel$;
98
- }
99
- async withTemporaryMultipleSelectionModel(process) {
100
- return this.selectionColumnModel.withTemporarySelectionModel(garbage => {
101
- return new MultipleSelectionModel(this.filteredRows$, {
102
- identifiedWith: this.dataSource$.identityOf,
103
- disposedWith: garbage
104
- });
105
- }, process);
95
+ addSelectionColumn(selectionModel, showSelectionColumn) {
96
+ return this._addSelectionColumn(selectionModel, showSelectionColumn);
106
97
  }
107
98
  }
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtbW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlcy90YWJsZS90YWJsZS1tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBSUwsc0JBQXNCLEVBSXZCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFHM0Q7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQThFRztBQUNILE1BQU0sT0FBTyxVQUErQixTQUFRLGtCQUF1QjtJQUV6RSxZQUFZLGFBQThCLEVBQUUsT0FBMEM7UUFDcEYsS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLE9BQU8sRUFBRTtZQUNYLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNmO1FBQ0QsSUFBSSxhQUFhLEVBQUU7WUFDakIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUNuQztJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsYUFBNkIsRUFBRSxZQUE0QjtRQUNyRSxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQTtRQUM5QyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsSUFBSSwrQkFBK0I7UUFDakMsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsK0JBQStCLENBQUM7SUFDbkUsQ0FBQztJQUVELEtBQUssQ0FBQyxtQ0FBbUMsQ0FBSSxPQUF5RTtRQUNwSCxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQywyQkFBMkIsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNyRSxPQUFPLElBQUksc0JBQXNCLENBQWMsSUFBSSxDQUFDLGFBQWEsRUFBRTtnQkFDakUsY0FBYyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVTtnQkFDM0MsWUFBWSxFQUFFLE9BQU87YUFDdEIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2QsQ0FBQztDQUdGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3RvclJlZn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7XG4gIENhblByb3h5LFxuICBHYXJiYWdlQ29sbGVjdG9yLFxuICBMaXN0TW9kZWwsXG4gIE11bHRpcGxlU2VsZWN0aW9uTW9kZWwsXG4gIE11dGFibGVWYWx1ZU1vZGVsLFxuICBTZWxlY3Rpb25Nb2RlbCxcbiAgVmFsdWVNb2RlbFxufSBmcm9tIFwiQGNvb2xvbi9wZWN0aW5cIjtcbmltcG9ydCB7QWJzdHJhY3RUYWJsZU1vZGVsfSBmcm9tIFwiLi4vYWJzdHJhY3QtdGFibGUtbW9kZWxcIjtcbmltcG9ydCB7U2VsZWN0aW9uQ29sdW1uTW9kZWx9IGZyb20gXCIuLi9jb2x1bW4vc2VsZWN0aW9uLWNvbHVtbi1tb2RlbFwiO1xuXG4vKipcbiAqIEV4YW1wbGU6XG4gKiBAZXhhbXBsZVxuICogY29uc3QgbW9kZWwgPSBuZXcgVGFibGVNb2RlbChoZXJvTGlzdCwgdGFibGUgPT4ge1xuICogICB0YWJsZS5wbHVjayhcImZpcnN0TmFtZVwiKTtcbiAqICAgdGFibGUucGx1Y2soXCJsYXN0TmFtZVwiKTtcbiAqICAgdGFibGUuYWRkQ3VzdG9tQ29sdW1uKFwiZnVsbE5hbWVcIiwgaGVybyA9PiBgJHtoZXJvLmZpcnN0TmFtZX0gJHtoZXJvLmxhc3ROYW1lfWApO1xuICogfSk7XG4gKlxuICogRWRpdGFibGUgdGFibGVzXG4gKiBAZXhhbXBsZVxuICogY29uc3Qgc2F2ZUNvbW1hbmQgPSBVbmFyeUNvbW1hbmQuY3JlYXRlKChmb3JtOiBGb3JtPEhlcm8+KSA9PiB7XG4gKiAgIGlmIChmb3JtLnZhbGlkYXRlKCkpIHtcbiAqICAgICAvLyBub3JtYWwgZm9ybSBzYXZlIHN0dWZmXG4gKiAgICAgcmV0dXJuIHRydWU7IC8vIGZpbmlzaCBlZGl0aW5nXG4gKiAgIH1cbiAqICAgcmV0dXJuIGZhbHNlOyAvLyBjb250aW51ZSBlZGl0aWluZ1xuICogfVxuICogY29uc3QgY29sb3JzTmFtZXM6IExpc3RNb2RlbDxzdHJpbmc+ID0gLi4uO1xuICogY29uc3QgbW9kZWwgPSBUYWJsZU1vZGVsLmZyb21MaXN0KGhlcm9MaXN0LCB0YWJsZSA9PiB7XG4gKiAgIHRhYmxlLnBsdWNrKFwiZmlyc3ROYW1lXCIpLmNlbGxFZGl0b3IoU3RyaW5nSW5wdXRDb21wb25lbnQpOyA8LS0gaW50ZXJmYWNlIENlbGxFZGl0b3IgeyB2YWx1ZU1vZGVsOiAgRGlydHlUcmFja2luZ0Zvcm0uVmFsdWVNb2RlbDxzdHJpbmc+IHwgVmFsdWVNb2RlbDxzdHJpbmc+OyB9XG4gKiAgIHRhYmxlLnBsdWNrKFwibGFzdE5hbWVcIikuY2VsbEVkaXRvcihTdHJpbmdJbnB1dENvbXBvbmVudCwge1xuICogICAgIHZhbGlkYXRvcnM6IFtWYWxpZGF0b3IucHJlc2VudChcIldlIG5lZWQgYSBsYXN0IG5hbWVcIildXG4gKiAgIH0pO1xuICogICB0YWJsZS5wbHVjayhcImFnZVwiKS5jZWxsRWRpdG9yKE51bWJlcklucHV0Q29tcG9uZW50KTtcbiAqICAgdGFibGUucGx1Y2soXCJmYXZvcml0ZUNvbG9yXCIpLmNlbGxFZGl0b3IoU2VsZWN0SW5wdXRDb21wb25lbnQsIHtcbiAqICAgICBpbml0aWFsaXNlQ29tcG9uZW50KGNvbXBvbmVudDogU2VsZWN0SW5wdXRDb21wb25lbnQpIHtcbiAqICAgICAgIHNlbGVjdElucHV0Lm9wdGlvbnNNb2RlbCA9IGNvbG9yc05hbWVzOyAvLyA8LSBpbml0aWFsaXNlIG91ciBjb21wb25lbnRcbiAqICAgICB9XG4gKiAgIH0pO1xuICogICB0YWJsZS5hZGRFZGl0Q29udHJvbHMoc2F2ZUNvbW1hbmQpOyAvLyA8LSByZXF1aXJlZCB0byBlbmFibGUgZWRpdGluZ1xuICogfSk7XG4gKlxuICogU2VsZWN0aW9uIG1vZGVsc1xuICogQGV4YW1wbGVcbiAqIGNvbnN0IG1vZGVsID0gbmV3IFRhYmxlTW9kZWwoaGVyb0xpc3QsIHRhYmxlID0+IHtcbiAqICAgdGFibGUuYWRkU2VsZWN0aW9uQ29sdW1uKHNlbGVjdGlvbk1vZGVsKTsgLy8gPC0gY2FuIGJlIHNpbmdsZSBvciBtdWx0aXBsZSBzZWxlY3Rpb24gbW9kZWxcbiAqICAgdGFibGUucGx1Y2soXCJmaXJzdE5hbWVcIik7XG4gKiAgIHRhYmxlLnBsdWNrKFwibGFzdE5hbWVcIik7XG4gKiB9KTtcbiAqXG4gKiBDdXN0b20gY2VsbCByZW5kZXJlcnMgYW5kIGVkaXRvcnNcbiAqIEBleGFtcGxlXG4gKiBjb25zdCBtb2RlbCA9IG5ldyBUYWJsZU1vZGVsKGhlcm9MaXN0LCB0YWJsZSA9PiB7XG4gKiAgIHRhYmxlLnBsdWNrKFwiZmF2b3JpdGVDb2xvclwiKVxuICogICAgICAuY2VsbEhlYWRlclJlbmRlcmVyKENlbGxIZWFkZXJSZW5kZXJlckNvbXBvbmVudCwgKGNvbXBvbmVudCwgY29sdW1uKSA9PiB7XG4gKiAgICAgICAgLy8gY29uZmlndXJlIHlvdXIgY29tcG9uZW50IHdpdGggd2hhdCBldmVyIHlvdSBuZWVkLlxuICogICAgICB9KTtcbiAqICAgICAgLmNlbGxSZW5kZXJlcihDZWxsUmVuZGVyZXJDb21wb25lbnQpIC8vIDwtLSBpbnRlcmZhY2UgQ2VsbEVkaXRvciB7IHZhbHVlOiBzdHJpbmc7IH1cbiAqICAgICAgLmNlbGxFZGl0b3IoQ2VsbEVkaXRvckNvbXBvbmVudC4pOyAvLyA8LS0gaW50ZXJmYWNlIENlbGxFZGl0b3IgeyB2YWx1ZU1vZGVsOiAgRGlydHlUcmFja2luZ0Zvcm0uVmFsdWVNb2RlbDxzdHJpbmc+IHwgVmFsdWVNb2RlbDxzdHJpbmc+OyB9XG4gKiAgIHRhYmxlLmFkZEN1c3RvbUNvbHVtbihcImZ1bGxOYW1lXCIsIGhlcm8gPT4gYCR7aGVyby5maXJzdE5hbWV9ICR7aGVyby5sYXN0TmFtZX1gKTtcbiAqIH0pO1xuICpcbiAqIFRlbXBsYXRlIGNvbHVtbnNcbiAqIEBleGFtcGxlXG4gKiBjb25zdCBtb2RlbCA9IG5ldyBUYWJsZU1vZGVsKGhlcm9MaXN0LCB0YWJsZSA9PiB7XG4gKiAgIHRhYmxlLmFkZFNlbGVjdGlvbkNvbHVtbihzZWxlY3Rpb25Nb2RlbCk7IC8vIDwtIGNhbiBiZSBzaW5nbGUgb3IgbXVsdGlwbGUgc2VsZWN0aW9uIG1vZGVsXG4gKiAgIHRhYmxlLmFkZFRlbXBsYXRlQ29sdW1uKFwibXlUZW1wbGF0ZVwiKTtcbiAqIH0pO1xuICpcbiAqIDxkaXYgKmF1cENvbHVtblRlbXBsYXRlPVwibGV0IGhlcm87IGNvbHVtbklkOiAnbXlUZW1wbGF0ZSdcIj57e2hlcm8uYWdlfX08L2Rpdj5cbiAqXG4gKiBJMThuXG4gKiBAZXhhbXBsZVxuICogW3RhYmxlLnltbF1cbiAqIHRhYmxlOlxuICogICBjb2x1bW5zKENvbHVtblRleHRQcm9wZXJ0aWVzW10pOlxuICogICAgICBmaXJzdE5hbWU6XG4gKiAgICAgICAgIGhlYWRlclRleHQ6IFwiRmlyc3QgTmFtZVwiXG4gKiAgICAgIGZ1bGxOYW1lOlxuICogICAgICAgICBoZWFkZXJUZXh0OiBcIkZ1bGwgTmFtZVwiXG4gKlxuICogY29uc3QgbW9kZWwgPSBuZXcgVGFibGVNb2RlbChoZXJvTGlzdCwgdGFibGUgPT4ge1xuICogICB0YWJsZS5wbHVjayhcImZhdm9yaXRlQ29sb3JcIikuY2VsbFJlbmRlcmVyKC4uLikuY2VsbEVkaXRvciguLi4pO1xuICogICB0YWJsZS5hZGRDdXN0b21Db2x1bW4oXCJmdWxsTmFtZVwiLCBoZXJvID0+IGAke2hlcm8uZmlyc3ROYW1lfSAke2hlcm8ubGFzdE5hbWV9YCk7XG4gKlxuICogICB0YWJsZS5jb2x1bW5UZXh0UHJvcGVydGllcyhJMThuLnRhYmxlLmNvbHVtbnMpOyAvLyA8LSBjb25maWd1cmVzIGFsbCBjb2x1bW5zXG4gKiB9KTtcbiAqL1xuZXhwb3J0IGNsYXNzIFRhYmxlTW9kZWw8Um93IGV4dGVuZHMgb2JqZWN0PiBleHRlbmRzIEFic3RyYWN0VGFibGVNb2RlbDxSb3c+IHtcblxuICBjb25zdHJ1Y3Rvcihzb3VyY2VPZlRydXRoPzogTGlzdE1vZGVsPFJvdz4sIGJ1aWxkZXI/OiAodGFibGU6IFRhYmxlTW9kZWw8Um93PikgPT4gdm9pZCkge1xuICAgIHN1cGVyKCk7XG4gICAgaWYgKGJ1aWxkZXIpIHtcbiAgICAgIGJ1aWxkZXIodGhpcyk7XG4gICAgfVxuICAgIGlmIChzb3VyY2VPZlRydXRoKSB7XG4gICAgICB0aGlzLnNldERhdGFTb3VyY2Uoc291cmNlT2ZUcnV0aCk7XG4gICAgfVxuICB9XG5cbiAgYmluZFRvVGFibGUoZmlsdGVyZWRSb3dzJDogTGlzdE1vZGVsPFJvdz4sIHZpc2libGVSb3dzJDogTGlzdE1vZGVsPFJvdz4pIHtcbiAgICB0aGlzLl9maWx0ZXJlZFJvd3MkLnNldERlbGVnYXRlKGZpbHRlcmVkUm93cyQpXG4gICAgdGhpcy5fdmlzaWJsZVJvd3MkLnNldERlbGVnYXRlKHZpc2libGVSb3dzJCk7XG4gIH1cblxuICBnZXQgaXNVc2luZ1RlbXBvcmFyeVNlbGVjdGlvbk1vZGVsJCgpIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3Rpb25Db2x1bW5Nb2RlbC5pc1VzaW5nVGVtcG9yYXJ5U2VsZWN0aW9uTW9kZWwkO1xuICB9XG5cbiAgYXN5bmMgd2l0aFRlbXBvcmFyeU11bHRpcGxlU2VsZWN0aW9uTW9kZWw8Uj4ocHJvY2VzczogKHNlbGVjdGlvbk1vZGVsOiBNdWx0aXBsZVNlbGVjdGlvbk1vZGVsPFJvdywgYW55PikgPT4gUHJvbWlzZTxSPikge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGlvbkNvbHVtbk1vZGVsLndpdGhUZW1wb3JhcnlTZWxlY3Rpb25Nb2RlbChnYXJiYWdlID0+IHtcbiAgICAgIHJldHVybiBuZXcgTXVsdGlwbGVTZWxlY3Rpb25Nb2RlbDxSb3csIHN0cmluZz4odGhpcy5maWx0ZXJlZFJvd3MkLCB7XG4gICAgICAgIGlkZW50aWZpZWRXaXRoOiB0aGlzLmRhdGFTb3VyY2UkLmlkZW50aXR5T2YsXG4gICAgICAgIGRpc3Bvc2VkV2l0aDogZ2FyYmFnZVxuICAgICAgfSk7XG4gICAgfSwgcHJvY2Vzcyk7XG4gIH1cblxuXG59XG5cbiJdfQ==
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtbW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlcy90YWJsZS90YWJsZS1tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUczRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBOEVHO0FBQ0gsTUFBTSxPQUFPLFVBQWdCLFNBQVEsa0JBQXVCO0lBRTFELFlBQVksYUFBOEIsRUFBRSxPQUEwQztRQUNwRixLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksT0FBTyxFQUFFO1lBQ1gsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ2Y7UUFDRCxJQUFJLGFBQWEsRUFBRTtZQUNqQixJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ25DO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxhQUE2QixFQUFFLFlBQTRCO1FBQ3JFLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFBO1FBQzlDLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxjQUFvQyxFQUFFLG1CQUFtRDtRQUMxRyxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztJQUN2RSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0xpc3RNb2RlbCwgUHJveHlSZWdpc3RyeSwgU2VsZWN0aW9uTW9kZWwsIFZhbHVlTW9kZWx9IGZyb20gXCJAY29vbG9uL3BlY3RpblwiO1xuaW1wb3J0IHtpc0Z1bmN0aW9ufSBmcm9tIFwibG9kYXNoLWVzXCI7XG5pbXBvcnQge0Fic3RyYWN0VGFibGVNb2RlbH0gZnJvbSBcIi4uL2Fic3RyYWN0LXRhYmxlLW1vZGVsXCI7XG5pbXBvcnQge1NlbGVjdGlvbkNvbHVtbk1vZGVsfSBmcm9tIFwiLi4vY29sdW1uL3NlbGVjdGlvbi1jb2x1bW4tbW9kZWxcIjtcblxuLyoqXG4gKiBFeGFtcGxlOlxuICogQGV4YW1wbGVcbiAqIGNvbnN0IG1vZGVsID0gbmV3IFRhYmxlTW9kZWwoaGVyb0xpc3QsIHRhYmxlID0+IHtcbiAqICAgdGFibGUucGx1Y2soXCJmaXJzdE5hbWVcIik7XG4gKiAgIHRhYmxlLnBsdWNrKFwibGFzdE5hbWVcIik7XG4gKiAgIHRhYmxlLmFkZEN1c3RvbUNvbHVtbihcImZ1bGxOYW1lXCIsIGhlcm8gPT4gYCR7aGVyby5maXJzdE5hbWV9ICR7aGVyby5sYXN0TmFtZX1gKTtcbiAqIH0pO1xuICpcbiAqIEVkaXRhYmxlIHRhYmxlc1xuICogQGV4YW1wbGVcbiAqIGNvbnN0IHNhdmVDb21tYW5kID0gVW5hcnlDb21tYW5kLmNyZWF0ZSgoZm9ybTogRm9ybTxIZXJvPikgPT4ge1xuICogICBpZiAoZm9ybS52YWxpZGF0ZSgpKSB7XG4gKiAgICAgLy8gbm9ybWFsIGZvcm0gc2F2ZSBzdHVmZlxuICogICAgIHJldHVybiB0cnVlOyAvLyBmaW5pc2ggZWRpdGluZ1xuICogICB9XG4gKiAgIHJldHVybiBmYWxzZTsgLy8gY29udGludWUgZWRpdGlpbmdcbiAqIH1cbiAqIGNvbnN0IGNvbG9yc05hbWVzOiBMaXN0TW9kZWw8c3RyaW5nPiA9IC4uLjtcbiAqIGNvbnN0IG1vZGVsID0gVGFibGVNb2RlbC5mcm9tTGlzdChoZXJvTGlzdCwgdGFibGUgPT4ge1xuICogICB0YWJsZS5wbHVjayhcImZpcnN0TmFtZVwiKS5jZWxsRWRpdG9yKFN0cmluZ0lucHV0Q29tcG9uZW50KTsgPC0tIGludGVyZmFjZSBDZWxsRWRpdG9yIHsgdmFsdWVNb2RlbDogIERpcnR5VHJhY2tpbmdGb3JtLlZhbHVlTW9kZWw8c3RyaW5nPiB8IFZhbHVlTW9kZWw8c3RyaW5nPjsgfVxuICogICB0YWJsZS5wbHVjayhcImxhc3ROYW1lXCIpLmNlbGxFZGl0b3IoU3RyaW5nSW5wdXRDb21wb25lbnQsIHtcbiAqICAgICB2YWxpZGF0b3JzOiBbVmFsaWRhdG9yLnByZXNlbnQoXCJXZSBuZWVkIGEgbGFzdCBuYW1lXCIpXVxuICogICB9KTtcbiAqICAgdGFibGUucGx1Y2soXCJhZ2VcIikuY2VsbEVkaXRvcihOdW1iZXJJbnB1dENvbXBvbmVudCk7XG4gKiAgIHRhYmxlLnBsdWNrKFwiZmF2b3JpdGVDb2xvclwiKS5jZWxsRWRpdG9yKFNlbGVjdElucHV0Q29tcG9uZW50LCB7XG4gKiAgICAgaW5pdGlhbGlzZUNvbXBvbmVudChjb21wb25lbnQ6IFNlbGVjdElucHV0Q29tcG9uZW50KSB7XG4gKiAgICAgICBzZWxlY3RJbnB1dC5vcHRpb25zTW9kZWwgPSBjb2xvcnNOYW1lczsgLy8gPC0gaW5pdGlhbGlzZSBvdXIgY29tcG9uZW50XG4gKiAgICAgfVxuICogICB9KTtcbiAqICAgdGFibGUuYWRkRWRpdENvbnRyb2xzKHNhdmVDb21tYW5kKTsgLy8gPC0gcmVxdWlyZWQgdG8gZW5hYmxlIGVkaXRpbmdcbiAqIH0pO1xuICpcbiAqIFNlbGVjdGlvbiBtb2RlbHNcbiAqIEBleGFtcGxlXG4gKiBjb25zdCBtb2RlbCA9IG5ldyBUYWJsZU1vZGVsKGhlcm9MaXN0LCB0YWJsZSA9PiB7XG4gKiAgIHRhYmxlLmFkZFNlbGVjdGlvbkNvbHVtbihzZWxlY3Rpb25Nb2RlbCk7IC8vIDwtIGNhbiBiZSBzaW5nbGUgb3IgbXVsdGlwbGUgc2VsZWN0aW9uIG1vZGVsXG4gKiAgIHRhYmxlLnBsdWNrKFwiZmlyc3ROYW1lXCIpO1xuICogICB0YWJsZS5wbHVjayhcImxhc3ROYW1lXCIpO1xuICogfSk7XG4gKlxuICogQ3VzdG9tIGNlbGwgcmVuZGVyZXJzIGFuZCBlZGl0b3JzXG4gKiBAZXhhbXBsZVxuICogY29uc3QgbW9kZWwgPSBuZXcgVGFibGVNb2RlbChoZXJvTGlzdCwgdGFibGUgPT4ge1xuICogICB0YWJsZS5wbHVjayhcImZhdm9yaXRlQ29sb3JcIilcbiAqICAgICAgLmNlbGxIZWFkZXJSZW5kZXJlcihDZWxsSGVhZGVyUmVuZGVyZXJDb21wb25lbnQsIChjb21wb25lbnQsIGNvbHVtbikgPT4ge1xuICogICAgICAgIC8vIGNvbmZpZ3VyZSB5b3VyIGNvbXBvbmVudCB3aXRoIHdoYXQgZXZlciB5b3UgbmVlZC5cbiAqICAgICAgfSk7XG4gKiAgICAgIC5jZWxsUmVuZGVyZXIoQ2VsbFJlbmRlcmVyQ29tcG9uZW50KSAvLyA8LS0gaW50ZXJmYWNlIENlbGxFZGl0b3IgeyB2YWx1ZTogc3RyaW5nOyB9XG4gKiAgICAgIC5jZWxsRWRpdG9yKENlbGxFZGl0b3JDb21wb25lbnQuKTsgLy8gPC0tIGludGVyZmFjZSBDZWxsRWRpdG9yIHsgdmFsdWVNb2RlbDogIERpcnR5VHJhY2tpbmdGb3JtLlZhbHVlTW9kZWw8c3RyaW5nPiB8IFZhbHVlTW9kZWw8c3RyaW5nPjsgfVxuICogICB0YWJsZS5hZGRDdXN0b21Db2x1bW4oXCJmdWxsTmFtZVwiLCBoZXJvID0+IGAke2hlcm8uZmlyc3ROYW1lfSAke2hlcm8ubGFzdE5hbWV9YCk7XG4gKiB9KTtcbiAqXG4gKiBUZW1wbGF0ZSBjb2x1bW5zXG4gKiBAZXhhbXBsZVxuICogY29uc3QgbW9kZWwgPSBuZXcgVGFibGVNb2RlbChoZXJvTGlzdCwgdGFibGUgPT4ge1xuICogICB0YWJsZS5hZGRTZWxlY3Rpb25Db2x1bW4oc2VsZWN0aW9uTW9kZWwpOyAvLyA8LSBjYW4gYmUgc2luZ2xlIG9yIG11bHRpcGxlIHNlbGVjdGlvbiBtb2RlbFxuICogICB0YWJsZS5hZGRUZW1wbGF0ZUNvbHVtbihcIm15VGVtcGxhdGVcIik7XG4gKiB9KTtcbiAqXG4gKiA8ZGl2ICphdXBDb2x1bW5UZW1wbGF0ZT1cImxldCBoZXJvOyBjb2x1bW5JZDogJ215VGVtcGxhdGUnXCI+e3toZXJvLmFnZX19PC9kaXY+XG4gKlxuICogSTE4blxuICogQGV4YW1wbGVcbiAqIFt0YWJsZS55bWxdXG4gKiB0YWJsZTpcbiAqICAgY29sdW1ucyhDb2x1bW5UZXh0UHJvcGVydGllc1tdKTpcbiAqICAgICAgZmlyc3ROYW1lOlxuICogICAgICAgICBoZWFkZXJUZXh0OiBcIkZpcnN0IE5hbWVcIlxuICogICAgICBmdWxsTmFtZTpcbiAqICAgICAgICAgaGVhZGVyVGV4dDogXCJGdWxsIE5hbWVcIlxuICpcbiAqIGNvbnN0IG1vZGVsID0gbmV3IFRhYmxlTW9kZWwoaGVyb0xpc3QsIHRhYmxlID0+IHtcbiAqICAgdGFibGUucGx1Y2soXCJmYXZvcml0ZUNvbG9yXCIpLmNlbGxSZW5kZXJlciguLi4pLmNlbGxFZGl0b3IoLi4uKTtcbiAqICAgdGFibGUuYWRkQ3VzdG9tQ29sdW1uKFwiZnVsbE5hbWVcIiwgaGVybyA9PiBgJHtoZXJvLmZpcnN0TmFtZX0gJHtoZXJvLmxhc3ROYW1lfWApO1xuICpcbiAqICAgdGFibGUuY29sdW1uVGV4dFByb3BlcnRpZXMoSTE4bi50YWJsZS5jb2x1bW5zKTsgLy8gPC0gY29uZmlndXJlcyBhbGwgY29sdW1uc1xuICogfSk7XG4gKi9cbmV4cG9ydCBjbGFzcyBUYWJsZU1vZGVsPFJvdz4gZXh0ZW5kcyBBYnN0cmFjdFRhYmxlTW9kZWw8Um93PiB7XG5cbiAgY29uc3RydWN0b3Ioc291cmNlT2ZUcnV0aD86IExpc3RNb2RlbDxSb3c+LCBidWlsZGVyPzogKHRhYmxlOiBUYWJsZU1vZGVsPFJvdz4pID0+IHZvaWQpIHtcbiAgICBzdXBlcigpO1xuICAgIGlmIChidWlsZGVyKSB7XG4gICAgICBidWlsZGVyKHRoaXMpO1xuICAgIH1cbiAgICBpZiAoc291cmNlT2ZUcnV0aCkge1xuICAgICAgdGhpcy5zZXREYXRhU291cmNlKHNvdXJjZU9mVHJ1dGgpO1xuICAgIH1cbiAgfVxuXG4gIGJpbmRUb1RhYmxlKGZpbHRlcmVkUm93cyQ6IExpc3RNb2RlbDxSb3c+LCB2aXNpYmxlUm93cyQ6IExpc3RNb2RlbDxSb3c+KSB7XG4gICAgdGhpcy5fZmlsdGVyZWRSb3dzJC5zZXREZWxlZ2F0ZShmaWx0ZXJlZFJvd3MkKVxuICAgIHRoaXMuX3Zpc2libGVSb3dzJC5zZXREZWxlZ2F0ZSh2aXNpYmxlUm93cyQpO1xuICB9XG5cbiAgYWRkU2VsZWN0aW9uQ29sdW1uKHNlbGVjdGlvbk1vZGVsPzogU2VsZWN0aW9uTW9kZWw8Um93Piwgc2hvd1NlbGVjdGlvbkNvbHVtbj86IFZhbHVlTW9kZWw8Ym9vbGVhbj4gfCBib29sZWFuKTogU2VsZWN0aW9uQ29sdW1uTW9kZWw8Um93PiB7XG4gICAgcmV0dXJuIHRoaXMuX2FkZFNlbGVjdGlvbkNvbHVtbihzZWxlY3Rpb25Nb2RlbCwgc2hvd1NlbGVjdGlvbkNvbHVtbik7XG4gIH1cbn1cblxuIl19
@@ -1,13 +1,14 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
- import { Component, Injector, Input, ViewChild } from "@angular/core";
3
- import { CanProxy, DelegatingListModel, Dsl, Proxify, proxify, StoreInValueModel, ValueModel } from "@coolon/pectin";
2
+ import { Component, Injector, Input } from "@angular/core";
3
+ import { CanProxy, DelegatingListModel, Dsl, MutableValueModel, PagedListModel, Proxify, proxify, StoreInValueModel, ValueModel } from "@coolon/pectin";
4
4
  import { AbstractTableComponent } from '../abstract-table.component';
5
5
  import { TableFilterModel } from "../filter/table-filter-model";
6
- import { TableBodyComponent } from "../renderer/table-body/table-body.component";
7
6
  import { TableModel } from "./table-model";
8
7
  import * as i0 from "@angular/core";
9
- import * as i1 from "../../../directives/highlight-text-model.directive";
10
- import * as i2 from "../renderer/table-body/table-body.component";
8
+ import * as i1 from "@angular/common";
9
+ import * as i2 from "../../../directives/highlight-text-model.directive";
10
+ import * as i3 from "../paginator/paginator.component";
11
+ import * as i4 from "../renderer/table-body/table-body.component";
11
12
  /**
12
13
  * Create your model:
13
14
  * @example
@@ -75,30 +76,31 @@ export class TableComponent extends AbstractTableComponent {
75
76
  #filterModel_accessor_storage = proxify((TableFilterModel));
76
77
  get filterModel() { return this.#filterModel_accessor_storage; }
77
78
  set filterModel(value) { this.#filterModel_accessor_storage = value; }
78
- tableBody;
79
- #scrollMode$_accessor_storage = proxify((ValueModel));
80
- /**
81
- * Set to true to scroll mode to classic or virtual (default). Virtual scrolll performs better for large data sets but clamps the row height. Classic scroll
82
- * renders all rows but allows row heights to grow.
83
- */
84
- get scrollMode$() { return this.#scrollMode$_accessor_storage; }
85
- set scrollMode$(value) { this.#scrollMode$_accessor_storage = value; }
86
- #scrollMode_accessor_storage;
87
- get scrollMode() { return this.#scrollMode_accessor_storage; }
88
- set scrollMode(value) { this.#scrollMode_accessor_storage = value; }
79
+ #enablePaging$_accessor_storage = proxify((ValueModel));
80
+ get enablePaging$() { return this.#enablePaging$_accessor_storage; }
81
+ set enablePaging$(value) { this.#enablePaging$_accessor_storage = value; }
82
+ #enablePaging_accessor_storage;
83
+ get enablePaging() { return this.#enablePaging_accessor_storage; }
84
+ set enablePaging(value) { this.#enablePaging_accessor_storage = value; }
85
+ // enablePaging() {
86
+ // if (isNil(this.pageController)) {
87
+ // const pagedListModel = this.registerDisposable(PagedListModel.create(this._visibleRows$.getDelegate(), this._pageSize));
88
+ // this._visibleRows$.setDelegate(pagedListModel);
89
+ // this._pageController = pagedListModel.pageController;
90
+ // }
91
+ // }
89
92
  _footerContentAdded = false;
90
93
  _filteredRows$ = this.registerDisposable(new DelegatingListModel());
91
- tableBodyScrollMode$;
94
+ _pageSize = new MutableValueModel();
95
+ pagedListModel;
92
96
  constructor(injector) {
93
97
  super(injector);
94
- const { chain, when } = Dsl.disposeWith(this);
95
- this.tableBodyScrollMode$ = chain(this.enableScrolling$).map(enable => {
96
- return enable ? (this.scrollMode$.value ?? "virtual") : 'none';
97
- }, { dependsOn: this.scrollMode$ });
98
+ const { when } = Dsl.disposeWith(this);
99
+ this.onDispose(() => this.disposeOfPagedListModel());
100
+ when(this.enablePaging$).changes(enabled => this.configurePaging(enabled));
98
101
  }
99
102
  ngOnInit() {
100
103
  super.ngOnInit();
101
- const { when } = Dsl.disposeWith(this);
102
104
  if (CanProxy.hasTarget(this.filterModel)) {
103
105
  this.registerDisposable(this.filterModel.bindToTable(this._dataSource$, this.getModel().textSearchPredicate$));
104
106
  this.highlightText$.setDelegate(this.filterModel.highlightText$);
@@ -107,27 +109,50 @@ export class TableComponent extends AbstractTableComponent {
107
109
  else {
108
110
  this._filteredRows$.setDelegate(this._dataSource$);
109
111
  }
110
- this._visibleRows$.setDelegate(this._filteredRows$);
111
- // let users of the model know what the current visible and filtered rows are for selection models and what not
112
+ this.configurePaging(this.enablePaging$.value);
112
113
  this.tableModel.bindToTable(this._filteredRows$, this._visibleRows$);
113
- when.anyOf(...this.tableModel.viewStateDependencies).changes(() => this.cdr.markForCheck());
114
- this.viewStateDependsOn(this._filteredRows$, this.tableModel.visibleColumns$);
115
114
  }
116
115
  getModel() {
117
116
  return this.tableModel;
118
117
  }
118
+ get pageController() {
119
+ // TODO: need to support external page controllers if the paging occurs to our primary data source.
120
+ return this.pagedListModel.pageController;
121
+ }
122
+ configurePaging(enable) {
123
+ if (enable) {
124
+ if (!this.pagedListModel) {
125
+ this.pagedListModel = PagedListModel.create(this._filteredRows$, this._pageSize);
126
+ }
127
+ this._visibleRows$.setDelegate(this.pagedListModel);
128
+ }
129
+ else {
130
+ this.disposeOfPagedListModel();
131
+ this._visibleRows$.setDelegate(this._filteredRows$);
132
+ }
133
+ }
134
+ disposeOfPagedListModel() {
135
+ if (this.pagedListModel) {
136
+ this.pagedListModel.dispose();
137
+ this.pagedListModel = null;
138
+ }
139
+ }
119
140
  footerContentChanged($event) {
120
141
  // console.log($event);
121
142
  this._footerContentAdded = true;
122
143
  }
123
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TableComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
124
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: TableComponent, selector: "aup-table", inputs: { tableModel: "tableModel", filterModel: "filterModel", scrollMode$: "scrollMode$", scrollMode: "scrollMode" }, providers: [
144
+ //@Trace()
145
+ updatePageSize(count) {
146
+ this._pageSize.value = count;
147
+ }
148
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: TableComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
149
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: TableComponent, selector: "aup-table", inputs: { tableModel: "tableModel", filterModel: "filterModel", enablePaging$: "enablePaging$", enablePaging: "enablePaging" }, providers: [
125
150
  { provide: AbstractTableComponent, useExisting: TableComponent }
126
- ], viewQueries: [{ propertyName: "tableBody", first: true, predicate: TableBodyComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<aup-table-body [data$]=\"visibleRows$\"\n [tableModel]=\"$any(tableModel)\"\n [footerRow]=\"tableModel.footerRowModel\"\n [showHeader$]=\"$any(showHeader$)\"\n [scrollMode$]=\"tableBodyScrollMode$\"\n [trackBy]=\"trackBy\"\n [aupHighlightTextModel]=\"highlightText$\"\n></aup-table-body>\n<section class=\"table-footer\">\n <div class=\"footer-content\"><ng-content select=\"[footer], [slot=footer]\"></ng-content></div>\n</section>\n", styles: [":host{display:flex;flex-direction:column;align-items:stretch}aup-table-body{flex:1}.table-footer{display:flex;flex-direction:row;align-items:center}.table-footer .footer-content{flex:1}\n"], dependencies: [{ kind: "directive", type: i1.HighlightTextModelDirective, selector: "[aupHighlightTextModel]", inputs: ["aupHighlightTextModel"] }, { kind: "component", type: i2.TableBodyComponent, selector: "aup-table-body", inputs: ["data$", "tableModel", "footerRow", "showHeader$", "showHeader", "trackBy", "scrollMode$", "scrollMode"] }] });
151
+ ], usesInheritance: true, ngImport: i0, template: "<aup-table-body [data$]=\"visibleRows$\"\n [tableModel]=\"tableModel\"\n [showHeader$]=\"showHeader$\"\n [enableScrolling]=\"enableScrolling\"\n [trackBy]=\"trackBy\"\n (visibleRowCount)=\"updatePageSize($event)\"\n [aupHighlightTextModel]=\"highlightText$\"\n></aup-table-body>\n<section class=\"table-footer\">\n <div class=\"footer-content\"><ng-content select=\"[footer]\"></ng-content></div>\n <aup-paginator *ngIf=\"enablePaging$.value\" [pageController]=\"pageController\"></aup-paginator>\n</section>\n", styles: [":host{display:flex;flex-direction:column;align-items:stretch}aup-table-body{flex:1}.table-footer{display:flex;flex-direction:row;align-items:center}.table-footer .footer-content{flex:1}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.HighlightTextModelDirective, selector: "[aupHighlightTextModel]", inputs: ["aupHighlightTextModel"] }, { kind: "component", type: i3.PaginatorComponent, selector: "aup-paginator", inputs: ["pageController"] }, { kind: "component", type: i4.TableBodyComponent, selector: "aup-table-body", inputs: ["data$", "tableModel", "showHeader$", "showHeader", "trackBy", "enableScrolling"], outputs: ["visibleRowCount"] }] });
127
152
  }
128
153
  __decorate([
129
154
  Proxify(),
130
- __metadata("design:type", TableModel)
155
+ __metadata("design:type", Object)
131
156
  ], TableComponent.prototype, "tableModel", null);
132
157
  __decorate([
133
158
  Proxify(),
@@ -135,27 +160,24 @@ __decorate([
135
160
  ], TableComponent.prototype, "filterModel", null);
136
161
  __decorate([
137
162
  Proxify(),
138
- __metadata("design:type", ValueModel)
139
- ], TableComponent.prototype, "scrollMode$", null);
163
+ __metadata("design:type", Object)
164
+ ], TableComponent.prototype, "enablePaging$", null);
140
165
  __decorate([
141
166
  StoreInValueModel(),
142
- __metadata("design:type", Object)
143
- ], TableComponent.prototype, "scrollMode", null);
144
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TableComponent, decorators: [{
167
+ __metadata("design:type", Boolean)
168
+ ], TableComponent.prototype, "enablePaging", null);
169
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: TableComponent, decorators: [{
145
170
  type: Component,
146
171
  args: [{ selector: 'aup-table', providers: [
147
172
  { provide: AbstractTableComponent, useExisting: TableComponent }
148
- ], template: "<aup-table-body [data$]=\"visibleRows$\"\n [tableModel]=\"$any(tableModel)\"\n [footerRow]=\"tableModel.footerRowModel\"\n [showHeader$]=\"$any(showHeader$)\"\n [scrollMode$]=\"tableBodyScrollMode$\"\n [trackBy]=\"trackBy\"\n [aupHighlightTextModel]=\"highlightText$\"\n></aup-table-body>\n<section class=\"table-footer\">\n <div class=\"footer-content\"><ng-content select=\"[footer], [slot=footer]\"></ng-content></div>\n</section>\n", styles: [":host{display:flex;flex-direction:column;align-items:stretch}aup-table-body{flex:1}.table-footer{display:flex;flex-direction:row;align-items:center}.table-footer .footer-content{flex:1}\n"] }]
173
+ ], template: "<aup-table-body [data$]=\"visibleRows$\"\n [tableModel]=\"tableModel\"\n [showHeader$]=\"showHeader$\"\n [enableScrolling]=\"enableScrolling\"\n [trackBy]=\"trackBy\"\n (visibleRowCount)=\"updatePageSize($event)\"\n [aupHighlightTextModel]=\"highlightText$\"\n></aup-table-body>\n<section class=\"table-footer\">\n <div class=\"footer-content\"><ng-content select=\"[footer]\"></ng-content></div>\n <aup-paginator *ngIf=\"enablePaging$.value\" [pageController]=\"pageController\"></aup-paginator>\n</section>\n", styles: [":host{display:flex;flex-direction:column;align-items:stretch}aup-table-body{flex:1}.table-footer{display:flex;flex-direction:row;align-items:center}.table-footer .footer-content{flex:1}\n"] }]
149
174
  }], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { tableModel: [{
150
175
  type: Input
151
176
  }], filterModel: [{
152
177
  type: Input
153
- }], tableBody: [{
154
- type: ViewChild,
155
- args: [TableBodyComponent]
156
- }], scrollMode$: [{
178
+ }], enablePaging$: [{
157
179
  type: Input
158
- }], scrollMode: [{
180
+ }], enablePaging: [{
159
181
  type: Input
160
182
  }] } });
161
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXMvdGFibGUvdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXMvdGFibGUvdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBMEIsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQVUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JHLE9BQU8sRUFDTCxRQUFRLEVBQ1IsbUJBQW1CLEVBQ25CLEdBQUcsRUFFSCxPQUFPLEVBQ1AsT0FBTyxFQUNQLGlCQUFpQixFQUNqQixVQUFVLEVBQ1gsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUNuRSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUMvRSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDOzs7O0FBRXpDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTJERztBQVNILE1BQU0sT0FBTyxjQUFtQyxTQUFRLHNCQUEyQjtJQUd4RSwrQkFBOEIsT0FBTyxDQUFDLENBQUEsVUFBZSxDQUFBLENBQUMsQ0FBQztJQUF2RCxJQUFBLFVBQVUsZ0RBQTZDO0lBQXZELElBQUEsVUFBVSxzREFBNkM7SUFHdkQsZ0NBQWMsT0FBTyxDQUFDLENBQUEsZ0JBQXFCLENBQUEsQ0FBQyxD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LEVBQUUsc0JBQXNCLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBQztTQUMvRCxxRUFVVSxrQkFBa0IsdUVDN0YvQixnaEJBV0E7O0FENkVXO0lBREMsT0FBTyxFQUFFOzhCQUNFLFVBQVU7Z0RBQWlDO0FBR3ZEO0lBREMsT0FBTyxFQUFFOztpREFDa0M7QUFVNUM7SUFEQyxPQUFPLEVBQUU7OEJBQ0csVUFBVTtpREFBNkU7QUFHcEc7SUFEQyxpQkFBaUIsRUFBRTs7Z0RBQ2tCOzJGQW5CcEMsY0FBYztrQkFSMUIsU0FBUzsrQkFDRSxXQUFXLGFBR1Y7d0JBQ1QsRUFBQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsV0FBVyxnQkFBZ0IsRUFBQztxQkFDL0Q7K0ZBS1EsVUFBVTtzQkFEbEIsS0FBSztnQkFJRyxXQUFXO3NCQURuQixLQUFLO2dCQUlOLFNBQVM7c0JBRFIsU0FBUzt1QkFBQyxrQkFBa0I7Z0JBUXBCLFdBQVc7c0JBRG5CLEtBQUs7Z0JBSUcsVUFBVTtzQkFEbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5qZWN0b3IsIElucHV0LCBPbkluaXQsIFZpZXdDaGlsZH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7XG4gIENhblByb3h5LFxuICBEZWxlZ2F0aW5nTGlzdE1vZGVsLFxuICBEc2wsXG4gIExpc3RNb2RlbCxcbiAgUHJveGlmeSxcbiAgcHJveGlmeSxcbiAgU3RvcmVJblZhbHVlTW9kZWwsXG4gIFZhbHVlTW9kZWxcbn0gZnJvbSBcIkBjb29sb24vcGVjdGluXCI7XG5pbXBvcnQge0Fic3RyYWN0VGFibGVNb2RlbH0gZnJvbSAnLi4vYWJzdHJhY3QtdGFibGUtbW9kZWwnO1xuaW1wb3J0IHtBYnN0cmFjdFRhYmxlQ29tcG9uZW50fSBmcm9tICcuLi9hYnN0cmFjdC10YWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHtUYWJsZUZpbHRlck1vZGVsfSBmcm9tIFwiLi4vZmlsdGVyL3RhYmxlLWZpbHRlci1tb2RlbFwiO1xuaW1wb3J0IHtUYWJsZUJvZHlDb21wb25lbnR9IGZyb20gXCIuLi9yZW5kZXJlci90YWJsZS1ib2R5L3RhYmxlLWJvZHkuY29tcG9uZW50XCI7XG5pbXBvcnQge1RhYmxlTW9kZWx9IGZyb20gXCIuL3RhYmxlLW1vZGVsXCI7XG5cbi8qKlxuICogQ3JlYXRlIHlvdXIgbW9kZWw6XG4gKiBAZXhhbXBsZVxuICogdGhpcy5oZXJvVGFibGVNb2RlbCA9IG5ldyBUYWJsZU1vZGVsKGhlcm9MaXN0LCB0YWJsZSA9PiB7XG4gKiAgIHRhYmxlLnBsdWNrKFwiZmlyc3ROYW1lXCIpO1xuICogICB0YWJsZS5wbHVjayhcImxhc3ROYW1lXCIpO1xuICogICB0YWJsZS5hZGRDdXN0b21Db2x1bW4oXCJmdWxsTmFtZVwiLCBoZXJvID0+IGAke2hlcm8uZmlyc3ROYW1lfSAke2hlcm8ubGFzdE5hbWV9YCk7XG4gKiB9KTtcbiAqXG4gKiBDcmVhdGUgeW91ciB0YWJsZVxuICogQGV4YW1wbGVcbiAqIDxhdXAtdGFibGUgW3RhYmxlTW9kZWxdPVwiaGVyb1RhYmxlTW9kZWxcIj48L2F1cC10YWJsZT5cbiAqXG4gKiBDb2x1bW4gdGVtcGxhdGVzXG4gKiBAZXhhbXBsZVxuICogdGhpcy5oZXJvVGFibGVNb2RlbCA9IG5ldyBUYWJsZU1vZGVsKGhlcm9MaXN0LCB0YWJsZSA9PiB7XG4gKiAgIHRhYmxlLnBsdWNrKFwiZmlyc3ROYW1lXCIpO1xuICogICB0YWJsZS5wbHVjayhcImxhc3ROYW1lXCIpO1xuICogICB0YWJsZS5hZGRUZW1wbGF0ZUNvbHVtbihcInNwZWNpYWxDb2x1bW5cIik7XG4gKiB9KTtcbiAqIDxhdXAtdGFibGUgW3RhYmxlTW9kZWxdPVwiaGVyb1RhYmxlTW9kZWxcIj5cbiAqICAgPGRpdiAqYXVwQ29sdW1uVGVtcGxhdGU9XCJsZXQgaGVybzsgY29sdW1uSWQ6ICdzcGVjaWFsQ29sdW1uJzsgZmlsbENlbGw6IHRydWU7IHBhZENoaWxkOmZhbHNlXCI+XG4gKiAgICAge3toZXJvLm5hbWV9fVxuICogICA8L2Rpdj5cbiAqIDwvYXVwLXRhYmxlPlxuICpcbiAqIFN0eWxpbmdcbiAqIEBleGFtcGxlXG4gKiAgLy8gZ2xvYmFsIHNldHRpbmdzXG4gKiA6cm9vdCB7XG4gKiAgIC0tYXVwLXRhYmxlLWNvbHVtbi1nYXA6IDEwcHg7IC8vIGRlZmF1bHRzIHRvIDI0cHhcbiAqICAgLS1hdXAtdGFibGUtcm93LWhvdmVyLWJhY2tncm91bmQtY29sb3IsIHJnYmEoMCwgMCwgMCwgMC4wNSlcbiAqICAgLS1hdXAtdGFibGUtcm93LXNlbGVjdGVkLWJhY2tncm91bmQtY29sb3I6IHJlYmVjY2FwdXJwbGU7IC8vIGRlZmF1bHRzIHRvIHRyYW5zcGFyZW50XG4gKiAgIC0tYXVwLXRhYmxlLWZpcnN0LWNvbHVtbi1wYWRkaW5nLWxlZnQ6IDE4cHggLy8gZGVmYXVsdHMgdG8gLS1jb2x1bW4tZ2FwXG4gKiAgIC0tYXVwLXRhYmxlLWxhc3QtY29sdW1uLXBhZGRpbmctcmlnaHQ6IDE4cHggLy8gZGVmYXVsdHMgdG8gLS1jb2x1bW4tZ2FwXG4gKiB9XG4gKlxuICogLy8gcGVyIHRhYmxlIHNldHRpbmdzLlxuICogYXVwLXRhYmxlIHtcbiAqICAgLS1jb2x1bW4tZ2FwOiAxMHB4OyAvLyBkZWZhdWx0cyB0byAyNHB4XG4gKiAgIC0tcm93LWhvdmVyLWJhY2tncm91bmQtY29sb3IsIHJnYmEoMCwgMCwgMCwgMC4wNSlcbiAqICAgLS1yb3ctc2VsZWN0ZWQtYmFja2dyb3VuZC1jb2xvcjogcmViZWNjYXB1cnBsZTsgLy8gZGVmYXVsdHMgdG8gdHJhbnNwYXJlbnRcbiAqICAgLS1maXJzdC1jb2x1bW4tcGFkZGluZy1sZWZ0OiAxOHB4IC8vIGRlZmF1bHRzIHRvIC0tY29sdW1uLWdhcFxuICogICAtLWxhc3QtY29sdW1uLXBhZGRpbmctcmlnaHQ6IDE4cHggLy8gZGVmYXVsdHMgdG8gLS1jb2x1bW4tZ2FwXG4gKiAgIDo6bmctZGVlcCB7XG4gKiAgICAgIGF1cC10YWJsZS1oZWFkZXItY2VsbC1yZW5kZXJlcixcbiAqICAgICAgYXVwLXRhYmxlLWNlbGwtcmVuZGVyZXIge1xuICogICAgICAgICYuYXVwLWNvbC1teS1kYXNoZXJpc2VkLWNvbHVtbi1pZCB7XG4gKiAgICAgICAgICAvLyBkbyBzdHVmZlxuICogICAgICAgIH1cbiAqICAgICAgICAmLmZpcnN0LXZpc2libGUtY29sdW1uIHtcbiAqICAgICAgICAgIC8vIGRvIHN0dWZmXG4gKiAgICAgICAgfVxuICogICAgICAgICYubGFzdC12aXNpYmxlLWNvbHVtbiB7XG4gKiAgICAgICAgICAvLyBkbyBzdHVmZlxuICogICAgICAgIH1cbiAqICAgICAgfVxuICogICB9XG4gKiB9XG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1cC10YWJsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RhYmxlLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIHtwcm92aWRlOiBBYnN0cmFjdFRhYmxlQ29tcG9uZW50LCB1c2VFeGlzdGluZzogVGFibGVDb21wb25lbnR9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgVGFibGVDb21wb25lbnQ8Um93IGV4dGVuZHMgb2JqZWN0PiBleHRlbmRzIEFic3RyYWN0VGFibGVDb21wb25lbnQ8Um93PiBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KCkgQFByb3hpZnkoKVxuICBhY2Nlc3NvciB0YWJsZU1vZGVsOiBUYWJsZU1vZGVsPFJvdz4gPSBwcm94aWZ5KFRhYmxlTW9kZWw8Um93Pik7XG5cbiAgQElucHV0KCkgQFByb3hpZnkoKVxuICBhY2Nlc3NvciBmaWx0ZXJNb2RlbCA9IHByb3hpZnkoVGFibGVGaWx0ZXJNb2RlbDxSb3c+KVxuXG4gIEBWaWV3Q2hpbGQoVGFibGVCb2R5Q29tcG9uZW50KVxuICB0YWJsZUJvZHk6IFRhYmxlQm9keUNvbXBvbmVudDxSb3c+XG5cbiAgLyoqXG4gICAqIFNldCB0byB0cnVlIHRvIHNjcm9sbCBtb2RlIHRvIGNsYXNzaWMgb3IgdmlydHVhbCAoZGVmYXVsdCkuICBWaXJ0dWFsIHNjcm9sbGwgcGVyZm9ybXMgYmV0dGVyIGZvciBsYXJnZSBkYXRhIHNldHMgYnV0IGNsYW1wcyB0aGUgcm93IGhlaWdodC4gIENsYXNzaWMgc2Nyb2xsXG4gICAqIHJlbmRlcnMgYWxsIHJvd3MgYnV0IGFsbG93cyByb3cgaGVpZ2h0cyB0byBncm93LlxuICAgKi9cbiAgQElucHV0KCkgQFByb3hpZnkoKVxuICBhY2Nlc3NvciBzY3JvbGxNb2RlJDogVmFsdWVNb2RlbDxUYWJsZUNvbXBvbmVudC5TY3JvbGxNb2RlPiA9IHByb3hpZnkoVmFsdWVNb2RlbDxUYWJsZUNvbXBvbmVudC5TY3JvbGxNb2RlPik7XG5cbiAgQElucHV0KCkgQFN0b3JlSW5WYWx1ZU1vZGVsKClcbiAgYWNjZXNzb3Igc2Nyb2xsTW9kZTogVGFibGVDb21wb25lbnQuU2Nyb2xsTW9kZTtcblxuICBwcml2YXRlIF9mb290ZXJDb250ZW50QWRkZWQgPSBmYWxzZTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9maWx0ZXJlZFJvd3MkID0gdGhpcy5yZWdpc3RlckRpc3Bvc2FibGUobmV3IERlbGVnYXRpbmdMaXN0TW9kZWw8Um93PigpKVxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdGFibGVCb2R5U2Nyb2xsTW9kZSQ6IFZhbHVlTW9kZWw8VGFibGVCb2R5Q29tcG9uZW50LlNjcm9sbE1vZGU+O1xuXG4gIGNvbnN0cnVjdG9yKGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgIHN1cGVyKGluamVjdG9yKTtcbiAgICBjb25zdCB7Y2hhaW4sIHdoZW59ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuICAgIHRoaXMudGFibGVCb2R5U2Nyb2xsTW9kZSQgPSBjaGFpbih0aGlzLmVuYWJsZVNjcm9sbGluZyQpLm1hcChlbmFibGUgPT4ge1xuICAgICAgcmV0dXJuIGVuYWJsZSA/ICh0aGlzLnNjcm9sbE1vZGUkLnZhbHVlID8/IFwidmlydHVhbFwiKSBhcyBUYWJsZUJvZHlDb21wb25lbnQuU2Nyb2xsTW9kZSA6ICdub25lJ1xuICAgIH0sIHtkZXBlbmRzT246IHRoaXMuc2Nyb2xsTW9kZSR9KVxuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkluaXQoKSB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICBjb25zdCB7d2hlbn0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG4gICAgaWYgKENhblByb3h5Lmhhc1RhcmdldCh0aGlzLmZpbHRlck1vZGVsKSkge1xuICAgICAgdGhpcy5yZWdpc3RlckRpc3Bvc2FibGUodGhpcy5maWx0ZXJNb2RlbC5iaW5kVG9UYWJsZSh0aGlzLl9kYXRhU291cmNlJCwgdGhpcy5nZXRNb2RlbCgpLnRleHRTZWFyY2hQcmVkaWNhdGUkKSk7XG4gICAgICB0aGlzLmhpZ2hsaWdodFRleHQkLnNldERlbGVnYXRlKHRoaXMuZmlsdGVyTW9kZWwuaGlnaGxpZ2h0VGV4dCQpO1xuICAgICAgdGhpcy5fZmlsdGVyZWRSb3dzJC5zZXREZWxlZ2F0ZSh0aGlzLmZpbHRlck1vZGVsLmZpbHRlcmVkUm93cyQpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2ZpbHRlcmVkUm93cyQuc2V0RGVsZWdhdGUodGhpcy5fZGF0YVNvdXJjZSQpO1xuICAgIH1cbiAgICB0aGlzLl92aXNpYmxlUm93cyQuc2V0RGVsZWdhdGUodGhpcy5fZmlsdGVyZWRSb3dzJCk7XG4gICAgLy8gbGV0IHVzZXJzIG9mIHRoZSBtb2RlbCBrbm93IHdoYXQgdGhlIGN1cnJlbnQgdmlzaWJsZSBhbmQgZmlsdGVyZWQgcm93cyBhcmUgZm9yIHNlbGVjdGlvbiBtb2RlbHMgYW5kIHdoYXQgbm90XG4gICAgdGhpcy50YWJsZU1vZGVsLmJpbmRUb1RhYmxlKHRoaXMuX2ZpbHRlcmVkUm93cyQsIHRoaXMuX3Zpc2libGVSb3dzJClcbiAgICB3aGVuLmFueU9mKC4uLnRoaXMudGFibGVNb2RlbC52aWV3U3RhdGVEZXBlbmRlbmNpZXMpLmNoYW5nZXMoKCkgPT4gdGhpcy5jZHIubWFya0ZvckNoZWNrKCkpXG4gICAgdGhpcy52aWV3U3RhdGVEZXBlbmRzT24odGhpcy5fZmlsdGVyZWRSb3dzJCwgdGhpcy50YWJsZU1vZGVsLnZpc2libGVDb2x1bW5zJCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZ2V0TW9kZWwoKTogQWJzdHJhY3RUYWJsZU1vZGVsPFJvdz4ge1xuICAgIHJldHVybiB0aGlzLnRhYmxlTW9kZWw7XG4gIH1cblxuICBmb290ZXJDb250ZW50Q2hhbmdlZCgkZXZlbnQ6IGFueSkge1xuICAgIC8vIGNvbnNvbGUubG9nKCRldmVudCk7XG4gICAgdGhpcy5fZm9vdGVyQ29udGVudEFkZGVkID0gdHJ1ZTtcbiAgfVxufVxuXG5leHBvcnQgbmFtZXNwYWNlIFRhYmxlQ29tcG9uZW50IHtcbiAgZXhwb3J0IHR5cGUgU2Nyb2xsTW9kZSA9IE9taXQ8VGFibGVCb2R5Q29tcG9uZW50LlNjcm9sbE1vZGUsICdub25lJz47XG59XG4iLCI8YXVwLXRhYmxlLWJvZHkgW2RhdGEkXT1cInZpc2libGVSb3dzJFwiXG4gICAgICAgICAgICAgICAgW3RhYmxlTW9kZWxdPVwiJGFueSh0YWJsZU1vZGVsKVwiXG4gICAgICAgICAgICAgICAgW2Zvb3RlclJvd109XCJ0YWJsZU1vZGVsLmZvb3RlclJvd01vZGVsXCJcbiAgICAgICAgICAgICAgICBbc2hvd0hlYWRlciRdPVwiJGFueShzaG93SGVhZGVyJClcIlxuICAgICAgICAgICAgICAgIFtzY3JvbGxNb2RlJF09XCJ0YWJsZUJvZHlTY3JvbGxNb2RlJFwiXG4gICAgICAgICAgICAgICAgW3RyYWNrQnldPVwidHJhY2tCeVwiXG4gICAgICAgICAgICAgICAgW2F1cEhpZ2hsaWdodFRleHRNb2RlbF09XCJoaWdobGlnaHRUZXh0JFwiXG4+PC9hdXAtdGFibGUtYm9keT5cbjxzZWN0aW9uIGNsYXNzPVwidGFibGUtZm9vdGVyXCI+XG4gIDxkaXYgY2xhc3M9XCJmb290ZXItY29udGVudFwiPjxuZy1jb250ZW50IHNlbGVjdD1cIltmb290ZXJdLCBbc2xvdD1mb290ZXJdXCI+PC9uZy1jb250ZW50PjwvZGl2PlxuPC9zZWN0aW9uPlxuIl19
183
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXMvdGFibGUvdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXMvdGFibGUvdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQ0wsUUFBUSxFQUNSLG1CQUFtQixFQUNuQixHQUFHLEVBQ0gsaUJBQWlCLEVBQ2pCLGNBQWMsRUFDZCxPQUFPLEVBQ1AsT0FBTyxFQUNQLGlCQUFpQixFQUNqQixVQUFVLEVBQ1gsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUNuRSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFFekM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMkRHO0FBU0gsTUFBTSxPQUFPLGNBQW9CLFNBQVEsc0JBQTJCO0lBR3pELCtCQUFhLE9BQU8sQ0FBQyxDQUFBLFVBQWUsQ0FBQSxDQUFDLENBQUM7SUFBdEMsSUFBQSxVQUFVLGdEQUE0QjtJQUF0QyxJQUFBLFVBQVUsc0RBQTRCO0lBR3RDLGdDQUFjLE9BQU8sQ0FBQyxDQUFBLGdCQUFxQixDQUFBLENBQUMsQ0FBQTtJQUE1QyxJQUFBLFdBQVcsaURBQWlDO0lBQTVDLElBQUEsV0FBVyx1REFBaUM7SUFJNUMsa0NBQWdCLE9BQU8sQ0FBQyxDQUFBLFVBQW1CLENBQUEsQ0FBQyxDQUFFO0lBQTlDLElBQUEsYUFBYSxtREFBaUM7SUFBOUMsSUFBQSxhQUFhLHlEQUFpQztJQUc5QywrQkFBc0I7SUFBdEIsSUFBQSxZQUFZLGtEQUFVO0lBQXRCLElBQUEsWUFBWSx3REFBVTtJQUUvQixtQkFBbUI7SUFDbkIsc0NBQXNDO0lBQ3RDLCtIQUErSDtJQUMvSCxzREFBc0Q7SUFDdEQsNERBQTREO0lBQzVELE1BQU07SUFDTixJQUFJO0lBRUksbUJBQW1CLEdBQUcsS0FBSyxDQUFDO0lBRW5CLGNBQWMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxtQkFBbUIsRUFBTyxDQUFDLENBQUE7SUFDakYsU0FBUyxHQUFHLElBQUksaUJBQWlCLEVBQVUsQ0FBQztJQUM1QyxjQUFjLENBQThCO0lBR3BELFlBQVksUUFBa0I7UUFDNUIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hCLE1BQU0sRUFBQyxJQUFJLEVBQUMsR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRVEsUUFBUTtRQUNmLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQ3hDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUM7WUFDL0csSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUNqRSxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFBO1NBQ2hFO2FBQU07WUFDTCxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDcEQ7UUFDRCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDOUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUE7SUFDdEUsQ0FBQztJQUVrQixRQUFRO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hCLG1HQUFtRztRQUNuRyxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDO0lBQzVDLENBQUM7SUFFTyxlQUFlLENBQUMsTUFBZTtRQUNyQyxJQUFJLE1BQU0sRUFBRTtZQUNWLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFO2dCQUN4QixJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDbEY7WUFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7U0FDckQ7YUFBTTtZQUNMLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1lBQy9CLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUNyRDtJQUNILENBQUM7SUFFTyx1QkFBdUI7UUFDN0IsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7U0FDNUI7SUFDSCxDQUFDO0lBRUQsb0JBQW9CLENBQUMsTUFBVztRQUM5Qix1QkFBdUI7UUFDdkIsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQztJQUNsQyxDQUFDO0lBQ0QsVUFBVTtJQUVWLGNBQWMsQ0FBQyxLQUFhO1FBQzFCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUMvQixDQUFDO3VHQXRGVSxjQUFjOzJGQUFkLGNBQWMsb0tBSmQ7WUFDVCxFQUFDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFDO1NBQy9ELGlEQ25GSCw0bEJBWUE7O0FENEVXO0lBREMsT0FBTyxFQUFFOztnREFDNEI7QUFHdEM7SUFEQyxPQUFPLEVBQUU7O2lEQUNrQztBQUk1QztJQURDLE9BQU8sRUFBRTs7bURBQ29DO0FBRzlDO0lBREMsaUJBQWlCLEVBQUU7O2tEQUNFOzJGQWJwQixjQUFjO2tCQVIxQixTQUFTOytCQUNFLFdBQVcsYUFHVjt3QkFDVCxFQUFDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxXQUFXLGdCQUFnQixFQUFDO3FCQUMvRDsrRkFLUSxVQUFVO3NCQURsQixLQUFLO2dCQUlHLFdBQVc7c0JBRG5CLEtBQUs7Z0JBS0csYUFBYTtzQkFEckIsS0FBSztnQkFJRyxZQUFZO3NCQURwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEluamVjdG9yLCBJbnB1dH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7XG4gIENhblByb3h5LFxuICBEZWxlZ2F0aW5nTGlzdE1vZGVsLFxuICBEc2wsXG4gIE11dGFibGVWYWx1ZU1vZGVsLFxuICBQYWdlZExpc3RNb2RlbCxcbiAgUHJveGlmeSxcbiAgcHJveGlmeSxcbiAgU3RvcmVJblZhbHVlTW9kZWwsXG4gIFZhbHVlTW9kZWxcbn0gZnJvbSBcIkBjb29sb24vcGVjdGluXCI7XG5pbXBvcnQge0Fic3RyYWN0VGFibGVNb2RlbH0gZnJvbSAnLi4vYWJzdHJhY3QtdGFibGUtbW9kZWwnO1xuaW1wb3J0IHtBYnN0cmFjdFRhYmxlQ29tcG9uZW50fSBmcm9tICcuLi9hYnN0cmFjdC10YWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHtUYWJsZUZpbHRlck1vZGVsfSBmcm9tIFwiLi4vZmlsdGVyL3RhYmxlLWZpbHRlci1tb2RlbFwiO1xuaW1wb3J0IHtUYWJsZU1vZGVsfSBmcm9tIFwiLi90YWJsZS1tb2RlbFwiO1xuXG4vKipcbiAqIENyZWF0ZSB5b3VyIG1vZGVsOlxuICogQGV4YW1wbGVcbiAqIHRoaXMuaGVyb1RhYmxlTW9kZWwgPSBuZXcgVGFibGVNb2RlbChoZXJvTGlzdCwgdGFibGUgPT4ge1xuICogICB0YWJsZS5wbHVjayhcImZpcnN0TmFtZVwiKTtcbiAqICAgdGFibGUucGx1Y2soXCJsYXN0TmFtZVwiKTtcbiAqICAgdGFibGUuYWRkQ3VzdG9tQ29sdW1uKFwiZnVsbE5hbWVcIiwgaGVybyA9PiBgJHtoZXJvLmZpcnN0TmFtZX0gJHtoZXJvLmxhc3ROYW1lfWApO1xuICogfSk7XG4gKlxuICogQ3JlYXRlIHlvdXIgdGFibGVcbiAqIEBleGFtcGxlXG4gKiA8YXVwLXRhYmxlIFt0YWJsZU1vZGVsXT1cImhlcm9UYWJsZU1vZGVsXCI+PC9hdXAtdGFibGU+XG4gKlxuICogQ29sdW1uIHRlbXBsYXRlc1xuICogQGV4YW1wbGVcbiAqIHRoaXMuaGVyb1RhYmxlTW9kZWwgPSBuZXcgVGFibGVNb2RlbChoZXJvTGlzdCwgdGFibGUgPT4ge1xuICogICB0YWJsZS5wbHVjayhcImZpcnN0TmFtZVwiKTtcbiAqICAgdGFibGUucGx1Y2soXCJsYXN0TmFtZVwiKTtcbiAqICAgdGFibGUuYWRkVGVtcGxhdGVDb2x1bW4oXCJzcGVjaWFsQ29sdW1uXCIpO1xuICogfSk7XG4gKiA8YXVwLXRhYmxlIFt0YWJsZU1vZGVsXT1cImhlcm9UYWJsZU1vZGVsXCI+XG4gKiAgIDxkaXYgKmF1cENvbHVtblRlbXBsYXRlPVwibGV0IGhlcm87IGNvbHVtbklkOiAnc3BlY2lhbENvbHVtbic7IGZpbGxDZWxsOiB0cnVlOyBwYWRDaGlsZDpmYWxzZVwiPlxuICogICAgIHt7aGVyby5uYW1lfX1cbiAqICAgPC9kaXY+XG4gKiA8L2F1cC10YWJsZT5cbiAqXG4gKiBTdHlsaW5nXG4gKiBAZXhhbXBsZVxuICogIC8vIGdsb2JhbCBzZXR0aW5nc1xuICogOnJvb3Qge1xuICogICAtLWF1cC10YWJsZS1jb2x1bW4tZ2FwOiAxMHB4OyAvLyBkZWZhdWx0cyB0byAyNHB4XG4gKiAgIC0tYXVwLXRhYmxlLXJvdy1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yLCByZ2JhKDAsIDAsIDAsIDAuMDUpXG4gKiAgIC0tYXVwLXRhYmxlLXJvdy1zZWxlY3RlZC1iYWNrZ3JvdW5kLWNvbG9yOiByZWJlY2NhcHVycGxlOyAvLyBkZWZhdWx0cyB0byB0cmFuc3BhcmVudFxuICogICAtLWF1cC10YWJsZS1maXJzdC1jb2x1bW4tcGFkZGluZy1sZWZ0OiAxOHB4IC8vIGRlZmF1bHRzIHRvIC0tY29sdW1uLWdhcFxuICogICAtLWF1cC10YWJsZS1sYXN0LWNvbHVtbi1wYWRkaW5nLXJpZ2h0OiAxOHB4IC8vIGRlZmF1bHRzIHRvIC0tY29sdW1uLWdhcFxuICogfVxuICpcbiAqIC8vIHBlciB0YWJsZSBzZXR0aW5ncy5cbiAqIGF1cC10YWJsZSB7XG4gKiAgIC0tY29sdW1uLWdhcDogMTBweDsgLy8gZGVmYXVsdHMgdG8gMjRweFxuICogICAtLXJvdy1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yLCByZ2JhKDAsIDAsIDAsIDAuMDUpXG4gKiAgIC0tcm93LXNlbGVjdGVkLWJhY2tncm91bmQtY29sb3I6IHJlYmVjY2FwdXJwbGU7IC8vIGRlZmF1bHRzIHRvIHRyYW5zcGFyZW50XG4gKiAgIC0tZmlyc3QtY29sdW1uLXBhZGRpbmctbGVmdDogMThweCAvLyBkZWZhdWx0cyB0byAtLWNvbHVtbi1nYXBcbiAqICAgLS1sYXN0LWNvbHVtbi1wYWRkaW5nLXJpZ2h0OiAxOHB4IC8vIGRlZmF1bHRzIHRvIC0tY29sdW1uLWdhcFxuICogICA6Om5nLWRlZXAge1xuICogICAgICBhdXAtdGFibGUtaGVhZGVyLWNlbGwtcmVuZGVyZXIsXG4gKiAgICAgIGF1cC10YWJsZS1jZWxsLXJlbmRlcmVyIHtcbiAqICAgICAgICAmLmF1cC1jb2wtbXktZGFzaGVyaXNlZC1jb2x1bW4taWQge1xuICogICAgICAgICAgLy8gZG8gc3R1ZmZcbiAqICAgICAgICB9XG4gKiAgICAgICAgJi5maXJzdC12aXNpYmxlLWNvbHVtbiB7XG4gKiAgICAgICAgICAvLyBkbyBzdHVmZlxuICogICAgICAgIH1cbiAqICAgICAgICAmLmxhc3QtdmlzaWJsZS1jb2x1bW4ge1xuICogICAgICAgICAgLy8gZG8gc3R1ZmZcbiAqICAgICAgICB9XG4gKiAgICAgIH1cbiAqICAgfVxuICogfVxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdXAtdGFibGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YWJsZS5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7cHJvdmlkZTogQWJzdHJhY3RUYWJsZUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IFRhYmxlQ29tcG9uZW50fVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlQ29tcG9uZW50PFJvdz4gZXh0ZW5kcyBBYnN0cmFjdFRhYmxlQ29tcG9uZW50PFJvdz4ge1xuXG4gIEBJbnB1dCgpIEBQcm94aWZ5KClcbiAgYWNjZXNzb3IgdGFibGVNb2RlbCA9IHByb3hpZnkoVGFibGVNb2RlbDxSb3c+KTtcblxuICBASW5wdXQoKSBAUHJveGlmeSgpXG4gIGFjY2Vzc29yIGZpbHRlck1vZGVsID0gcHJveGlmeShUYWJsZUZpbHRlck1vZGVsPFJvdz4pXG5cblxuICBASW5wdXQoKSBAUHJveGlmeSgpXG4gIGFjY2Vzc29yIGVuYWJsZVBhZ2luZyQgPSBwcm94aWZ5KFZhbHVlTW9kZWw8Ym9vbGVhbj4pIDtcblxuICBASW5wdXQoKSBAU3RvcmVJblZhbHVlTW9kZWwoKVxuICBhY2Nlc3NvciBlbmFibGVQYWdpbmc6IGJvb2xlYW47XG5cbiAgLy8gZW5hYmxlUGFnaW5nKCkge1xuICAvLyAgIGlmIChpc05pbCh0aGlzLnBhZ2VDb250cm9sbGVyKSkge1xuICAvLyAgICAgY29uc3QgcGFnZWRMaXN0TW9kZWwgPSB0aGlzLnJlZ2lzdGVyRGlzcG9zYWJsZShQYWdlZExpc3RNb2RlbC5jcmVhdGUodGhpcy5fdmlzaWJsZVJvd3MkLmdldERlbGVnYXRlKCksIHRoaXMuX3BhZ2VTaXplKSk7XG4gIC8vICAgICB0aGlzLl92aXNpYmxlUm93cyQuc2V0RGVsZWdhdGUocGFnZWRMaXN0TW9kZWwpO1xuICAvLyAgICAgdGhpcy5fcGFnZUNvbnRyb2xsZXIgPSBwYWdlZExpc3RNb2RlbC5wYWdlQ29udHJvbGxlcjtcbiAgLy8gICB9XG4gIC8vIH1cblxuICBwcml2YXRlIF9mb290ZXJDb250ZW50QWRkZWQgPSBmYWxzZTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9maWx0ZXJlZFJvd3MkID0gdGhpcy5yZWdpc3RlckRpc3Bvc2FibGUobmV3IERlbGVnYXRpbmdMaXN0TW9kZWw8Um93PigpKVxuICBwcml2YXRlIF9wYWdlU2l6ZSA9IG5ldyBNdXRhYmxlVmFsdWVNb2RlbDxudW1iZXI+KCk7XG4gIHByaXZhdGUgcGFnZWRMaXN0TW9kZWw6IFBhZ2VkTGlzdE1vZGVsLldyYXBwZXI8Um93PjtcblxuXG4gIGNvbnN0cnVjdG9yKGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgIHN1cGVyKGluamVjdG9yKTtcbiAgICBjb25zdCB7d2hlbn0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG4gICAgdGhpcy5vbkRpc3Bvc2UoKCkgPT4gdGhpcy5kaXNwb3NlT2ZQYWdlZExpc3RNb2RlbCgpKTtcbiAgICB3aGVuKHRoaXMuZW5hYmxlUGFnaW5nJCkuY2hhbmdlcyhlbmFibGVkID0+IHRoaXMuY29uZmlndXJlUGFnaW5nKGVuYWJsZWQpKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nT25Jbml0KCkge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgaWYgKENhblByb3h5Lmhhc1RhcmdldCh0aGlzLmZpbHRlck1vZGVsKSkge1xuICAgICAgdGhpcy5yZWdpc3RlckRpc3Bvc2FibGUodGhpcy5maWx0ZXJNb2RlbC5iaW5kVG9UYWJsZSh0aGlzLl9kYXRhU291cmNlJCwgdGhpcy5nZXRNb2RlbCgpLnRleHRTZWFyY2hQcmVkaWNhdGUkKSk7XG4gICAgICB0aGlzLmhpZ2hsaWdodFRleHQkLnNldERlbGVnYXRlKHRoaXMuZmlsdGVyTW9kZWwuaGlnaGxpZ2h0VGV4dCQpO1xuICAgICAgdGhpcy5fZmlsdGVyZWRSb3dzJC5zZXREZWxlZ2F0ZSh0aGlzLmZpbHRlck1vZGVsLmZpbHRlcmVkUm93cyQpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2ZpbHRlcmVkUm93cyQuc2V0RGVsZWdhdGUodGhpcy5fZGF0YVNvdXJjZSQpO1xuICAgIH1cbiAgICB0aGlzLmNvbmZpZ3VyZVBhZ2luZyh0aGlzLmVuYWJsZVBhZ2luZyQudmFsdWUpXG4gICAgdGhpcy50YWJsZU1vZGVsLmJpbmRUb1RhYmxlKHRoaXMuX2ZpbHRlcmVkUm93cyQsIHRoaXMuX3Zpc2libGVSb3dzJClcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBnZXRNb2RlbCgpOiBBYnN0cmFjdFRhYmxlTW9kZWw8Um93PiB7XG4gICAgcmV0dXJuIHRoaXMudGFibGVNb2RlbDtcbiAgfVxuXG4gIGdldCBwYWdlQ29udHJvbGxlcigpIHtcbiAgICAvLyBUT0RPOiBuZWVkIHRvIHN1cHBvcnQgZXh0ZXJuYWwgcGFnZSBjb250cm9sbGVycyBpZiB0aGUgcGFnaW5nIG9jY3VycyB0byBvdXIgcHJpbWFyeSBkYXRhIHNvdXJjZS5cbiAgICByZXR1cm4gdGhpcy5wYWdlZExpc3RNb2RlbC5wYWdlQ29udHJvbGxlcjtcbiAgfVxuXG4gIHByaXZhdGUgY29uZmlndXJlUGFnaW5nKGVuYWJsZTogYm9vbGVhbikge1xuICAgIGlmIChlbmFibGUpIHtcbiAgICAgIGlmICghdGhpcy5wYWdlZExpc3RNb2RlbCkge1xuICAgICAgICB0aGlzLnBhZ2VkTGlzdE1vZGVsID0gUGFnZWRMaXN0TW9kZWwuY3JlYXRlKHRoaXMuX2ZpbHRlcmVkUm93cyQsIHRoaXMuX3BhZ2VTaXplKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuX3Zpc2libGVSb3dzJC5zZXREZWxlZ2F0ZSh0aGlzLnBhZ2VkTGlzdE1vZGVsKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kaXNwb3NlT2ZQYWdlZExpc3RNb2RlbCgpO1xuICAgICAgdGhpcy5fdmlzaWJsZVJvd3MkLnNldERlbGVnYXRlKHRoaXMuX2ZpbHRlcmVkUm93cyQpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZGlzcG9zZU9mUGFnZWRMaXN0TW9kZWwoKSB7XG4gICAgaWYgKHRoaXMucGFnZWRMaXN0TW9kZWwpIHtcbiAgICAgIHRoaXMucGFnZWRMaXN0TW9kZWwuZGlzcG9zZSgpO1xuICAgICAgdGhpcy5wYWdlZExpc3RNb2RlbCA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgZm9vdGVyQ29udGVudENoYW5nZWQoJGV2ZW50OiBhbnkpIHtcbiAgICAvLyBjb25zb2xlLmxvZygkZXZlbnQpO1xuICAgIHRoaXMuX2Zvb3RlckNvbnRlbnRBZGRlZCA9IHRydWU7XG4gIH1cbiAgLy9AVHJhY2UoKVxuXG4gIHVwZGF0ZVBhZ2VTaXplKGNvdW50OiBudW1iZXIpIHtcbiAgICB0aGlzLl9wYWdlU2l6ZS52YWx1ZSA9IGNvdW50O1xuICB9XG59XG4iLCI8YXVwLXRhYmxlLWJvZHkgW2RhdGEkXT1cInZpc2libGVSb3dzJFwiXG4gICAgICAgICAgICAgICAgW3RhYmxlTW9kZWxdPVwidGFibGVNb2RlbFwiXG4gICAgICAgICAgICAgICAgW3Nob3dIZWFkZXIkXT1cInNob3dIZWFkZXIkXCJcbiAgICAgICAgICAgICAgICBbZW5hYmxlU2Nyb2xsaW5nXT1cImVuYWJsZVNjcm9sbGluZ1wiXG4gICAgICAgICAgICAgICAgW3RyYWNrQnldPVwidHJhY2tCeVwiXG4gICAgICAgICAgICAgICAgKHZpc2libGVSb3dDb3VudCk9XCJ1cGRhdGVQYWdlU2l6ZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICBbYXVwSGlnaGxpZ2h0VGV4dE1vZGVsXT1cImhpZ2hsaWdodFRleHQkXCJcbj48L2F1cC10YWJsZS1ib2R5PlxuPHNlY3Rpb24gY2xhc3M9XCJ0YWJsZS1mb290ZXJcIj5cbiAgPGRpdiBjbGFzcz1cImZvb3Rlci1jb250ZW50XCI+PG5nLWNvbnRlbnQgc2VsZWN0PVwiW2Zvb3Rlcl1cIj48L25nLWNvbnRlbnQ+PC9kaXY+XG4gIDxhdXAtcGFnaW5hdG9yICpuZ0lmPVwiZW5hYmxlUGFnaW5nJC52YWx1ZVwiIFtwYWdlQ29udHJvbGxlcl09XCJwYWdlQ29udHJvbGxlclwiPjwvYXVwLXBhZ2luYXRvcj5cbjwvc2VjdGlvbj5cbiJdfQ==