@coolon/angular-ui-powerups 16.1.0-alpha.238 → 16.1.0-aplpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (400) hide show
  1. package/assets/activities/activities.scss +6 -8
  2. package/assets/activities/input-activities.scss +6 -14
  3. package/assets/form.scss +23 -77
  4. package/assets/icons.scss +1 -2
  5. package/assets/interaction/editor/inline-string-editor.scss +0 -4
  6. package/assets/interaction.scss +1 -1
  7. package/assets/styles.scss +0 -4
  8. package/assets/table.scss +31 -84
  9. package/assets/tabs.scss +2 -15
  10. package/esm2022/lib/angular-ui-powerups.module.mjs +9 -9
  11. package/esm2022/lib/animations/slide-animations.mjs +10 -15
  12. package/esm2022/lib/components/alignment.mjs +1 -1
  13. package/esm2022/lib/components/busy-overlay/busy-overlay.component.mjs +12 -7
  14. package/esm2022/lib/components/cards/abstract-card-container.component.mjs +7 -31
  15. package/esm2022/lib/components/cards/card-container/card-container.component.mjs +6 -6
  16. package/esm2022/lib/components/cards/card-stack/card-stack.component.mjs +81 -0
  17. package/esm2022/lib/components/commands/command/command.component.mjs +33 -35
  18. package/esm2022/lib/components/commands/command-face/command-face.component.mjs +5 -13
  19. package/esm2022/lib/components/commands/command-face.mjs +11 -12
  20. package/esm2022/lib/components/commands/flex.component.mjs +4 -4
  21. package/esm2022/lib/components/commands/group/command-container.mjs +1 -1
  22. package/esm2022/lib/components/commands/group/popup-aware.component.mjs +8 -31
  23. package/esm2022/lib/components/commands/group/popup-container.mjs +1 -1
  24. package/esm2022/lib/components/commands/group/popup-menu/abstract-popup-menu.component.mjs +25 -27
  25. package/esm2022/lib/components/commands/group/popup-menu/more-menu.component.mjs +24 -15
  26. package/esm2022/lib/components/commands/group/popup-menu/popup-menu-renderer/popup-menu-renderer.component.mjs +12 -18
  27. package/esm2022/lib/components/commands/group/popup-menu/popup-menu.component.mjs +23 -14
  28. package/esm2022/lib/components/commands/group/tool-bar/tool-bar.component.mjs +19 -12
  29. package/esm2022/lib/components/commands/separator.component.mjs +14 -8
  30. package/esm2022/lib/components/components.module.mjs +58 -73
  31. package/esm2022/lib/components/disposable-component.mjs +40 -74
  32. package/esm2022/lib/components/empty-state/empty-state.component.mjs +9 -5
  33. package/esm2022/lib/components/exports.mjs +12 -16
  34. package/esm2022/lib/components/focus-container/focus-container.component.mjs +4 -4
  35. package/esm2022/lib/components/focusable.component.mjs +5 -5
  36. package/esm2022/lib/components/forms/abstract-input.component.mjs +18 -67
  37. package/esm2022/lib/components/forms/abstract-list-input.component.mjs +4 -4
  38. package/esm2022/lib/components/forms/abstract-value-input.component.mjs +4 -4
  39. package/esm2022/lib/components/forms/autocomplete-input/autocomplete-input.component.mjs +15 -18
  40. package/esm2022/lib/components/forms/checkbox-input/checkbox-input.component.mjs +8 -10
  41. package/esm2022/lib/components/forms/multiple-select-input/multiple-select-input.component.mjs +11 -12
  42. package/esm2022/lib/components/forms/number-input/number-input.component.mjs +13 -94
  43. package/esm2022/lib/components/forms/password-input/password-input.component.mjs +7 -44
  44. package/esm2022/lib/components/forms/select-input/select-input.component.mjs +19 -21
  45. package/esm2022/lib/components/forms/string-input/string-input.component.mjs +16 -35
  46. package/esm2022/lib/components/forms/text-input/text-input.component.mjs +8 -12
  47. package/esm2022/lib/components/icon/icon.component.mjs +7 -10
  48. package/esm2022/lib/components/labelled-value/labelled-value.component.mjs +4 -4
  49. package/esm2022/lib/components/loading-container/loading-container.component.mjs +12 -7
  50. package/esm2022/lib/components/noop/noop.component.mjs +7 -5
  51. package/esm2022/lib/components/resize-aware.component.mjs +27 -64
  52. package/esm2022/lib/components/scroll-container/scroll-container.component.mjs +5 -5
  53. package/esm2022/lib/components/section-header/section-header.component.mjs +4 -4
  54. package/esm2022/lib/components/switch-case/switch-case.component.mjs +17 -15
  55. package/esm2022/lib/components/tables/abstract-table-model.mjs +113 -116
  56. package/esm2022/lib/components/tables/abstract-table.component.mjs +8 -23
  57. package/esm2022/lib/components/tables/column/column-list-model.mjs +44 -0
  58. package/esm2022/lib/components/tables/column/column-model.mjs +23 -20
  59. package/esm2022/lib/components/tables/column/column-template/column-template.directive.mjs +4 -5
  60. package/esm2022/lib/components/tables/column/custom-template-column-model.mjs +3 -4
  61. package/esm2022/lib/components/tables/column/custom-value-column-model.mjs +5 -5
  62. package/esm2022/lib/components/tables/column/editor-controls-column-model.mjs +21 -0
  63. package/esm2022/lib/components/tables/column/list-propery-column-model.mjs +21 -8
  64. package/esm2022/lib/components/tables/column/property-column-model.mjs +20 -7
  65. package/esm2022/lib/components/tables/column/selection-column-model.mjs +13 -35
  66. package/esm2022/lib/components/tables/editor/edit-row-controls/edit-row-controls.component.mjs +60 -0
  67. package/esm2022/lib/components/tables/editor/edit-session.mjs +26 -0
  68. package/esm2022/lib/components/tables/editor/editable-cell-renderer.mjs +2 -0
  69. package/esm2022/lib/components/tables/filter/column-text-search-formatter.mjs +1 -1
  70. package/esm2022/lib/components/tables/filter/enable-cell-text-search.decorator.mjs +2 -3
  71. package/esm2022/lib/components/tables/filter/table-filter-model.mjs +12 -16
  72. package/esm2022/lib/components/tables/filter/text-search-predicate.mjs +2 -17
  73. package/esm2022/lib/components/tables/paginator/paginator.component.mjs +5 -5
  74. package/esm2022/lib/components/tables/renderer/cell-editors.mjs +2 -0
  75. package/esm2022/lib/components/tables/renderer/cell-portal-ref.mjs +26 -22
  76. package/esm2022/lib/components/tables/renderer/default-cell-renderer/default-cell-renderer.component.mjs +8 -6
  77. package/esm2022/lib/components/tables/renderer/default-header-cell-renderer/default-header-cell-renderer.component.mjs +7 -5
  78. package/esm2022/lib/components/tables/renderer/select-header-cell/selection-header-cell.component.mjs +8 -19
  79. package/esm2022/lib/components/tables/renderer/selection-cell/selection-cell.component.mjs +9 -18
  80. package/esm2022/lib/components/tables/renderer/table-body/table-body.component.mjs +53 -266
  81. package/esm2022/lib/components/tables/renderer/table-cell/table-cell.component.mjs +50 -9
  82. package/esm2022/lib/components/tables/renderer/table-header-cell/table-header-cell.component.mjs +7 -5
  83. package/esm2022/lib/components/tables/renderer/table-more-menu/table-more-menu-popup/table-more-menu-popup.component.mjs +33 -0
  84. package/esm2022/lib/components/tables/renderer/table-more-menu/table-more-menu.component.mjs +60 -0
  85. package/esm2022/lib/components/tables/table/table-model.mjs +35 -18
  86. package/esm2022/lib/components/tables/table/table.component.mjs +64 -42
  87. package/esm2022/lib/components/tables/table-row-menu/table-row-menu.component.mjs +84 -0
  88. package/esm2022/lib/components/tables/tree-table/decorated-tree-node.mjs +4 -5
  89. package/esm2022/lib/components/tables/tree-table/flattened-tree-list-model.mjs +1 -1
  90. package/esm2022/lib/components/tables/tree-table/tree-expansion-model.mjs +1 -1
  91. package/esm2022/lib/components/tables/tree-table/tree-inheritance-icon/tree-inheritance-icon.component.mjs +7 -5
  92. package/esm2022/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.mjs +6 -6
  93. package/esm2022/lib/components/tables/tree-table/tree-label-column-model.mjs +4 -4
  94. package/esm2022/lib/components/tables/tree-table/tree-table-component.mjs +8 -15
  95. package/esm2022/lib/components/tables/tree-table/tree-table-model.mjs +7 -4
  96. package/esm2022/lib/components/text/markdown/markdown.component.mjs +6 -6
  97. package/esm2022/lib/components/track.mjs +1 -1
  98. package/esm2022/lib/components/types/bounds.class.mjs +1 -1
  99. package/esm2022/lib/components/types/loadable.mjs +2 -0
  100. package/esm2022/lib/components/vertical-focus-container/vertical-focus-container.component.mjs +4 -4
  101. package/esm2022/lib/directives/command.directive.mjs +14 -26
  102. package/esm2022/lib/directives/directives.module.mjs +10 -10
  103. package/esm2022/lib/directives/exports.mjs +1 -2
  104. package/esm2022/lib/directives/focus-binding-factory.mjs +4 -5
  105. package/esm2022/lib/directives/focus-binding.directive.mjs +5 -5
  106. package/esm2022/lib/directives/focus-binding.mjs +2 -22
  107. package/esm2022/lib/directives/garbage-collector.directive.mjs +4 -5
  108. package/esm2022/lib/directives/highlight-text-model.directive.mjs +4 -4
  109. package/esm2022/lib/directives/highlight.pipe.mjs +13 -22
  110. package/esm2022/lib/interaction/abstract-interaction-context.mjs +8 -6
  111. package/esm2022/lib/interaction/activity-ref.mjs +2 -2
  112. package/esm2022/lib/interaction/activity.mjs +23 -24
  113. package/esm2022/lib/interaction/alert.mjs +2 -2
  114. package/esm2022/lib/interaction/components/abstract-confirm-dialog.component.mjs +10 -14
  115. package/esm2022/lib/interaction/components/abstract-dialog.component.mjs +45 -5
  116. package/esm2022/lib/interaction/components/activity-actions/activity-actions.component.mjs +17 -30
  117. package/esm2022/lib/interaction/components/activity-body/activity-body.component.mjs +4 -10
  118. package/esm2022/lib/interaction/components/activity-container/activity-container.component.mjs +25 -119
  119. package/esm2022/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.mjs +19 -55
  120. package/esm2022/lib/interaction/components/activity-title/activity-title.component.mjs +6 -6
  121. package/esm2022/lib/interaction/components/activity-triggers/abstract-activity-trigger.component.mjs +4 -5
  122. package/esm2022/lib/interaction/components/activity-triggers/inline-activity-trigger/inline-activity-trigger.component.mjs +4 -5
  123. package/esm2022/lib/interaction/components/activity-triggers/modal-activity-trigger/modal-activity-trigger.component.mjs +4 -5
  124. package/esm2022/lib/interaction/components/activity-triggers/popup-activity-trigger/popup-activity-trigger.component.mjs +4 -5
  125. package/esm2022/lib/interaction/components/add-card-activity/add-card-activity.component.mjs +4 -4
  126. package/esm2022/lib/interaction/components/add-item-interaction-context/add-item-interaction-context.component.mjs +4 -5
  127. package/esm2022/lib/interaction/components/alert-dialog/alert-dialog.component.mjs +12 -12
  128. package/esm2022/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.mjs +10 -6
  129. package/esm2022/lib/interaction/components/confirm-then-execute-dialog/confirm-then-execute-dialog.component.mjs +10 -6
  130. package/esm2022/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.mjs +11 -9
  131. package/esm2022/lib/interaction/components/editors/edit-context.mjs +1 -1
  132. package/esm2022/lib/interaction/components/editors/inline-string-editor/inline-editor-model.mjs +2 -2
  133. package/esm2022/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.mjs +13 -13
  134. package/esm2022/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.mjs +9 -25
  135. package/esm2022/lib/interaction/components/input-activities/input-activity.mjs +5 -6
  136. package/esm2022/lib/interaction/components/input-activities/select-input-activity.mjs +38 -44
  137. package/esm2022/lib/interaction/components/input-activities/string-input-activity.mjs +12 -14
  138. package/esm2022/lib/interaction/components/popup-interaction-context/popup-interaction-context.component.mjs +5 -6
  139. package/esm2022/lib/interaction/confirm.mjs +2 -26
  140. package/esm2022/lib/interaction/directives/interaction-context-trigger-for.directive.mjs +6 -6
  141. package/esm2022/lib/interaction/exports.mjs +1 -6
  142. package/esm2022/lib/interaction/in-place-interaction-context.mjs +1 -1
  143. package/esm2022/lib/interaction/interaction-context.mjs +2 -3
  144. package/esm2022/lib/interaction/interaction.module.mjs +36 -44
  145. package/esm2022/lib/interaction/route-synchronisation-adapter.mjs +1 -1
  146. package/esm2022/lib/interaction/services/interaction-service-routing-adapter.mjs +4 -4
  147. package/esm2022/lib/interaction/services/interaction.service.mjs +10 -23
  148. package/esm2022/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.mjs +10 -16
  149. package/esm2022/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.mjs +5 -29
  150. package/esm2022/lib/interaction/services/modal-interaction-context.factory.mjs +1 -1
  151. package/esm2022/lib/place/components/abstract-place-navigation.component.mjs +5 -15
  152. package/esm2022/lib/place/components/list-place-nav/list-place-nav.component.mjs +9 -8
  153. package/esm2022/lib/place/components/not-authorised-notice/not-authorised-notice.component.mjs +7 -5
  154. package/esm2022/lib/place/components/place-outlet/place-outlet.component.mjs +21 -23
  155. package/esm2022/lib/place/components/place-outlet/route-animations.mjs +1 -1
  156. package/esm2022/lib/place/components/side-place-navigation/side-place-navigation.component.mjs +11 -19
  157. package/esm2022/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.mjs +7 -7
  158. package/esm2022/lib/place/guards/consolidated-param-map.mjs +4 -4
  159. package/esm2022/lib/place/guards/noop-auth-guard.service.mjs +7 -5
  160. package/esm2022/lib/place/guards/place.guard.mjs +14 -30
  161. package/esm2022/lib/place/navigation/place-component-deactivation-handler.mjs +2 -2
  162. package/esm2022/lib/place/navigation/session/abstract-pop-state-navigation.mjs +1 -1
  163. package/esm2022/lib/place/navigation/session/event-cleanup/event-clean-up-session.mjs +1 -1
  164. package/esm2022/lib/place/navigation/session/event-cleanup/wait-until-leaving-interaction-transition-cancelled.mjs +1 -1
  165. package/esm2022/lib/place/navigation/session/event-cleanup/wait-until-link-triggered-navigation-interaction-cancelation-type-determined.mjs +1 -1
  166. package/esm2022/lib/place/navigation/session/event-cleanup/wait-until-popstate-during-can-deactivate-transition-finishes.mjs +1 -1
  167. package/esm2022/lib/place/navigation/session/interactions/navigating-during-interaction.mjs +2 -2
  168. package/esm2022/lib/place/navigation/session/interactions/pop-state-during-interaction-navigation.mjs +1 -1
  169. package/esm2022/lib/place/navigation/session/interactions/remove-last-interaction-from-url-navigation-session.mjs +4 -39
  170. package/esm2022/lib/place/navigation/session/interactions/synchronise-interaction-context-ids-with-route.mjs +9 -9
  171. package/esm2022/lib/place/navigation/session/navigating.mjs +2 -2
  172. package/esm2022/lib/place/navigation/session/navigation-context.mjs +1 -1
  173. package/esm2022/lib/place/navigation/session/navigation-session.mjs +2 -11
  174. package/esm2022/lib/place/navigation/session/pop-state-navigation.mjs +1 -1
  175. package/esm2022/lib/place/place-access-guard.mjs +1 -1
  176. package/esm2022/lib/place/place-auth-service.mjs +7 -8
  177. package/esm2022/lib/place/place-component.mjs +79 -82
  178. package/esm2022/lib/place/place-config.mjs +1 -1
  179. package/esm2022/lib/place/place-definition.mjs +5 -18
  180. package/esm2022/lib/place/place-history.mjs +8 -17
  181. package/esm2022/lib/place/place-router.mjs +70 -191
  182. package/esm2022/lib/place/place.decorator.mjs +3 -4
  183. package/esm2022/lib/place/place.module.mjs +17 -17
  184. package/esm2022/lib/place/route/formatter.mjs +2 -2
  185. package/esm2022/lib/place/route/json-types.mjs +1 -1
  186. package/esm2022/lib/place/route/parameter-decorators.mjs +51 -55
  187. package/esm2022/lib/place/route/parameter-definition.mjs +2 -6
  188. package/esm2022/lib/place/route/parameter-sanitiser.mjs +2 -7
  189. package/esm2022/lib/place/route/parameter-snapshot.mjs +1 -1
  190. package/esm2022/lib/place/route/visit-segment-sanitiser.mjs +1 -1
  191. package/esm2022/lib/place/url-service.mjs +4 -4
  192. package/esm2022/lib/place/url-snapshot.mjs +3 -3
  193. package/esm2022/lib/place/visit-segment.mjs +2 -3
  194. package/esm2022/lib/place/visit.mjs +5 -5
  195. package/esm2022/lib/services/markdown/markdown.service.mjs +7 -5
  196. package/esm2022/lib/services/markdown/pill-plugin.mjs +3 -1
  197. package/esm2022/lib/services/visibility-service.mjs +7 -7
  198. package/fesm2022/coolon-angular-ui-powerups.mjs +3634 -5281
  199. package/fesm2022/coolon-angular-ui-powerups.mjs.map +1 -1
  200. package/lib/angular-ui-powerups.module.d.ts +5 -5
  201. package/lib/animations/slide-animations.d.ts +0 -1
  202. package/lib/components/busy-overlay/busy-overlay.component.d.ts +4 -1
  203. package/lib/components/cards/abstract-card-container.component.d.ts +3 -6
  204. package/lib/components/cards/card-container/card-container.component.d.ts +1 -1
  205. package/lib/components/cards/card-stack/card-stack.component.d.ts +68 -0
  206. package/lib/components/commands/command/command.component.d.ts +10 -9
  207. package/lib/components/commands/command-face/command-face.component.d.ts +0 -2
  208. package/lib/components/commands/command-face.d.ts +9 -8
  209. package/lib/components/commands/group/popup-aware.component.d.ts +5 -10
  210. package/lib/components/commands/group/popup-container.d.ts +1 -1
  211. package/lib/components/commands/group/popup-menu/abstract-popup-menu.component.d.ts +6 -6
  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 +2 -4
  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 +30 -33
  218. package/lib/components/disposable-component.d.ts +9 -26
  219. package/lib/components/empty-state/empty-state.component.d.ts +4 -1
  220. package/lib/components/exports.d.ts +11 -15
  221. package/lib/components/forms/abstract-input.component.d.ts +7 -16
  222. package/lib/components/forms/abstract-list-input.component.d.ts +1 -1
  223. package/lib/components/forms/abstract-value-input.component.d.ts +1 -1
  224. package/lib/components/forms/autocomplete-input/autocomplete-input.component.d.ts +2 -2
  225. package/lib/components/forms/checkbox-input/checkbox-input.component.d.ts +0 -2
  226. package/lib/components/forms/number-input/number-input.component.d.ts +4 -16
  227. package/lib/components/forms/password-input/password-input.component.d.ts +1 -7
  228. package/lib/components/forms/select-input/select-input.component.d.ts +3 -4
  229. package/lib/components/forms/string-input/string-input.component.d.ts +1 -7
  230. package/lib/components/forms/text-input/text-input.component.d.ts +0 -3
  231. package/lib/components/loading-container/loading-container.component.d.ts +4 -1
  232. package/lib/components/noop/noop.component.d.ts +1 -0
  233. package/lib/components/resize-aware.component.d.ts +7 -26
  234. package/lib/components/switch-case/switch-case.component.d.ts +7 -6
  235. package/lib/components/tables/abstract-table-model.d.ts +37 -51
  236. package/lib/components/tables/abstract-table.component.d.ts +7 -8
  237. package/lib/components/tables/column/column-list-model.d.ts +13 -0
  238. package/lib/components/tables/column/column-model.d.ts +17 -14
  239. package/lib/components/tables/column/custom-template-column-model.d.ts +2 -3
  240. package/lib/components/tables/column/custom-value-column-model.d.ts +3 -4
  241. package/lib/components/tables/column/editor-controls-column-model.d.ts +13 -0
  242. package/lib/components/tables/column/list-propery-column-model.d.ts +7 -5
  243. package/lib/components/tables/column/property-column-model.d.ts +9 -7
  244. package/lib/components/tables/column/selection-column-model.d.ts +4 -10
  245. package/lib/components/tables/editor/edit-row-controls/edit-row-controls.component.d.ts +17 -0
  246. package/lib/components/tables/editor/edit-session.d.ts +9 -0
  247. package/lib/components/tables/{renderer → editor}/editable-cell-renderer.d.ts +1 -1
  248. package/lib/components/tables/filter/enable-cell-text-search.decorator.d.ts +1 -1
  249. package/lib/components/tables/filter/table-filter-model.d.ts +1 -1
  250. package/lib/components/tables/filter/text-search-predicate.d.ts +0 -9
  251. package/lib/components/tables/renderer/cell-editors.d.ts +9 -0
  252. package/lib/components/tables/renderer/cell-portal-ref.d.ts +25 -22
  253. package/lib/components/tables/renderer/default-cell-renderer/default-cell-renderer.component.d.ts +2 -1
  254. package/lib/components/tables/renderer/default-header-cell-renderer/default-header-cell-renderer.component.d.ts +1 -0
  255. package/lib/components/tables/renderer/select-header-cell/selection-header-cell.component.d.ts +2 -3
  256. package/lib/components/tables/renderer/selection-cell/selection-cell.component.d.ts +0 -1
  257. package/lib/components/tables/renderer/table-body/table-body.component.d.ts +21 -55
  258. package/lib/components/tables/renderer/table-cell/table-cell.component.d.ts +14 -5
  259. package/lib/components/tables/renderer/table-header-cell/table-header-cell.component.d.ts +1 -0
  260. package/lib/components/tables/renderer/table-more-menu/table-more-menu-popup/table-more-menu-popup.component.d.ts +15 -0
  261. package/lib/components/tables/renderer/table-more-menu/table-more-menu.component.d.ts +23 -0
  262. package/lib/components/tables/table/table-model.d.ts +36 -10
  263. package/lib/components/tables/table/table.component.d.ts +13 -17
  264. package/lib/components/tables/table-row-menu/table-row-menu.component.d.ts +28 -0
  265. package/lib/components/tables/tree-table/flattened-tree-list-model.d.ts +1 -1
  266. package/lib/components/tables/tree-table/tree-expansion-model.d.ts +2 -2
  267. package/lib/components/tables/tree-table/tree-inheritance-icon/tree-inheritance-icon.component.d.ts +1 -0
  268. package/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.d.ts +3 -3
  269. package/lib/components/tables/tree-table/tree-label-column-model.d.ts +3 -4
  270. package/lib/components/tables/tree-table/tree-table-component.d.ts +3 -6
  271. package/lib/components/tables/tree-table/tree-table-model.d.ts +6 -5
  272. package/lib/components/text/markdown/markdown.component.d.ts +1 -1
  273. package/lib/components/types/loadable.d.ts +5 -0
  274. package/lib/directives/command.directive.d.ts +5 -7
  275. package/lib/directives/directives.module.d.ts +5 -5
  276. package/lib/directives/exports.d.ts +0 -1
  277. package/lib/directives/focus-binding.d.ts +0 -1
  278. package/lib/directives/highlight.pipe.d.ts +2 -8
  279. package/lib/interaction/abstract-interaction-context.d.ts +5 -5
  280. package/lib/interaction/activity-ref.d.ts +4 -4
  281. package/lib/interaction/activity.d.ts +8 -8
  282. package/lib/interaction/components/abstract-confirm-dialog.component.d.ts +2 -3
  283. package/lib/interaction/components/abstract-dialog.component.d.ts +15 -6
  284. package/lib/interaction/components/activity-actions/activity-actions.component.d.ts +9 -12
  285. package/lib/interaction/components/activity-body/activity-body.component.d.ts +1 -2
  286. package/lib/interaction/components/activity-container/activity-container.component.d.ts +13 -32
  287. package/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.d.ts +7 -6
  288. package/lib/interaction/components/activity-title/activity-title.component.d.ts +1 -1
  289. package/lib/interaction/components/activity-triggers/abstract-activity-trigger.component.d.ts +2 -2
  290. package/lib/interaction/components/activity-triggers/inline-activity-trigger/inline-activity-trigger.component.d.ts +1 -1
  291. package/lib/interaction/components/activity-triggers/modal-activity-trigger/modal-activity-trigger.component.d.ts +1 -1
  292. package/lib/interaction/components/activity-triggers/popup-activity-trigger/popup-activity-trigger.component.d.ts +1 -1
  293. package/lib/interaction/components/add-card-activity/add-card-activity.component.d.ts +2 -2
  294. package/lib/interaction/components/add-item-interaction-context/add-item-interaction-context.component.d.ts +3 -3
  295. package/lib/interaction/components/alert-dialog/alert-dialog.component.d.ts +1 -6
  296. package/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.d.ts +2 -2
  297. package/lib/interaction/components/confirm-then-execute-dialog/confirm-then-execute-dialog.component.d.ts +2 -2
  298. package/lib/interaction/components/editors/edit-context.d.ts +1 -1
  299. package/lib/interaction/components/editors/inline-string-editor/inline-editor-model.d.ts +1 -1
  300. package/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.d.ts +2 -2
  301. package/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.d.ts +10 -12
  302. package/lib/interaction/components/input-activities/input-activity.d.ts +1 -1
  303. package/lib/interaction/components/input-activities/select-input-activity.d.ts +2 -2
  304. package/lib/interaction/components/input-activities/string-input-activity.d.ts +1 -1
  305. package/lib/interaction/components/popup-interaction-context/popup-interaction-context.component.d.ts +2 -2
  306. package/lib/interaction/confirm.d.ts +0 -4
  307. package/lib/interaction/directives/interaction-context-trigger-for.directive.d.ts +5 -5
  308. package/lib/interaction/exports.d.ts +0 -5
  309. package/lib/interaction/in-place-interaction-context.d.ts +2 -2
  310. package/lib/interaction/interaction-context.d.ts +4 -10
  311. package/lib/interaction/interaction.module.d.ts +33 -35
  312. package/lib/interaction/route-synchronisation-adapter.d.ts +3 -3
  313. package/lib/interaction/services/interaction-service-routing-adapter.d.ts +4 -4
  314. package/lib/interaction/services/interaction.service.d.ts +4 -5
  315. package/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.d.ts +5 -4
  316. package/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.d.ts +5 -6
  317. package/lib/interaction/services/modal-interaction-context.factory.d.ts +2 -2
  318. package/lib/place/components/abstract-place-navigation.component.d.ts +2 -3
  319. package/lib/place/components/not-authorised-notice/not-authorised-notice.component.d.ts +1 -0
  320. package/lib/place/components/place-outlet/place-outlet.component.d.ts +7 -6
  321. package/lib/place/components/side-place-navigation/side-place-navigation.component.d.ts +1 -2
  322. package/lib/place/guards/noop-auth-guard.service.d.ts +1 -0
  323. package/lib/place/guards/place.guard.d.ts +1 -8
  324. package/lib/place/navigation/place-component-deactivation-handler.d.ts +4 -4
  325. package/lib/place/navigation/session/abstract-pop-state-navigation.d.ts +1 -1
  326. package/lib/place/navigation/session/event-cleanup/wait-until-leaving-interaction-transition-cancelled.d.ts +3 -3
  327. package/lib/place/navigation/session/event-cleanup/wait-until-link-triggered-navigation-interaction-cancelation-type-determined.d.ts +3 -3
  328. package/lib/place/navigation/session/event-cleanup/wait-until-popstate-during-can-deactivate-transition-finishes.d.ts +3 -3
  329. package/lib/place/navigation/session/interactions/pop-state-during-interaction-navigation.d.ts +1 -1
  330. package/lib/place/navigation/session/interactions/remove-last-interaction-from-url-navigation-session.d.ts +3 -16
  331. package/lib/place/navigation/session/interactions/synchronise-interaction-context-ids-with-route.d.ts +1 -1
  332. package/lib/place/navigation/session/navigation-context.d.ts +5 -5
  333. package/lib/place/navigation/session/navigation-session.d.ts +8 -15
  334. package/lib/place/place-access-guard.d.ts +1 -1
  335. package/lib/place/place-auth-service.d.ts +8 -8
  336. package/lib/place/place-component.d.ts +23 -15
  337. package/lib/place/place-definition.d.ts +3 -6
  338. package/lib/place/place-history.d.ts +4 -5
  339. package/lib/place/place-router.d.ts +10 -41
  340. package/lib/place/place.decorator.d.ts +1 -9
  341. package/lib/place/place.module.d.ts +8 -8
  342. package/lib/place/route/json-types.d.ts +3 -1
  343. package/lib/place/route/parameter-decorators.d.ts +6 -5
  344. package/lib/place/route/parameter-definition.d.ts +5 -5
  345. package/lib/place/route/parameter-sanitiser.d.ts +1 -8
  346. package/lib/place/route/parameter-snapshot.d.ts +2 -2
  347. package/lib/place/route/visit-segment-sanitiser.d.ts +3 -3
  348. package/lib/place/url-service.d.ts +1 -1
  349. package/lib/place/url-snapshot.d.ts +1 -1
  350. package/lib/place/visit-segment.d.ts +6 -6
  351. package/lib/place/visit.d.ts +4 -4
  352. package/lib/services/markdown/markdown.service.d.ts +1 -0
  353. package/lib/services/visibility-service.d.ts +1 -1
  354. package/package.json +20 -19
  355. package/assets/draw.scss +0 -20
  356. package/assets/layout.scss +0 -3
  357. package/assets/place.scss +0 -31
  358. package/esm2022/lib/components/commands/button-renderer/button-renderer.component.mjs +0 -115
  359. package/esm2022/lib/components/file/file-download/file-download.component.mjs +0 -89
  360. package/esm2022/lib/components/forms/form-field.mjs +0 -2
  361. package/esm2022/lib/components/forms/search-input/search-input.component.mjs +0 -33
  362. package/esm2022/lib/components/loadable-component.mjs +0 -69
  363. package/esm2022/lib/components/tables/column/column-manager.mjs +0 -82
  364. package/esm2022/lib/components/tables/column/column-order-manager.mjs +0 -19
  365. package/esm2022/lib/components/tables/footer/footer-row-model.mjs +0 -135
  366. package/esm2022/lib/components/tables/renderer/abstract-cell-renderer.mjs +0 -7
  367. package/esm2022/lib/components/tables/renderer/editable-cell-renderer.mjs +0 -2
  368. package/esm2022/lib/components/tables/renderer/table-action-column/menu-builder.mjs +0 -2
  369. package/esm2022/lib/components/tables/renderer/table-action-column/table-action-column.component.mjs +0 -153
  370. package/esm2022/lib/components/tables/renderer/table-custom-more-menu/table-custom-more-menu-popup.component.mjs +0 -45
  371. package/esm2022/lib/components/tables/renderer/table-custom-more-menu/table-custom-more-menu.component.mjs +0 -71
  372. package/esm2022/lib/components/tables/renderer/table-footer-row/table-footer-row.component.mjs +0 -32
  373. package/esm2022/lib/directives/resize-observer.directive.mjs +0 -40
  374. package/esm2022/lib/interaction/activity-context.mjs +0 -4
  375. package/esm2022/lib/interaction/components/alert-renderer/alert-renderer.component.mjs +0 -55
  376. package/esm2022/lib/interaction/components/confirm-renderer/confirm-renderer.component.mjs +0 -54
  377. package/esm2022/lib/interaction/components/slide-down-interaction-context/slide-down-interaction-context.component.mjs +0 -134
  378. package/esm2022/lib/interaction/interaction-context-provider.mjs +0 -17
  379. package/esm2022/lib/place/place-metadata.mjs +0 -16
  380. package/lib/components/commands/button-renderer/button-renderer.component.d.ts +0 -30
  381. package/lib/components/file/file-download/file-download.component.d.ts +0 -45
  382. package/lib/components/forms/form-field.d.ts +0 -5
  383. package/lib/components/forms/search-input/search-input.component.d.ts +0 -10
  384. package/lib/components/loadable-component.d.ts +0 -20
  385. package/lib/components/tables/column/column-manager.d.ts +0 -19
  386. package/lib/components/tables/column/column-order-manager.d.ts +0 -20
  387. package/lib/components/tables/footer/footer-row-model.d.ts +0 -72
  388. package/lib/components/tables/renderer/abstract-cell-renderer.d.ts +0 -6
  389. package/lib/components/tables/renderer/table-action-column/menu-builder.d.ts +0 -7
  390. package/lib/components/tables/renderer/table-action-column/table-action-column.component.d.ts +0 -42
  391. package/lib/components/tables/renderer/table-custom-more-menu/table-custom-more-menu-popup.component.d.ts +0 -19
  392. package/lib/components/tables/renderer/table-custom-more-menu/table-custom-more-menu.component.d.ts +0 -24
  393. package/lib/components/tables/renderer/table-footer-row/table-footer-row.component.d.ts +0 -10
  394. package/lib/directives/resize-observer.directive.d.ts +0 -16
  395. package/lib/interaction/activity-context.d.ts +0 -9
  396. package/lib/interaction/components/alert-renderer/alert-renderer.component.d.ts +0 -17
  397. package/lib/interaction/components/confirm-renderer/confirm-renderer.component.d.ts +0 -15
  398. package/lib/interaction/components/slide-down-interaction-context/slide-down-interaction-context.component.d.ts +0 -53
  399. package/lib/interaction/interaction-context-provider.d.ts +0 -11
  400. package/lib/place/place-metadata.d.ts +0 -8
@@ -0,0 +1,44 @@
1
+ import { AbstractComputedListModel, Dsl, lang, MutableListModel } from '@coolon/pectin';
2
+ import { isNil } from 'lodash';
3
+ export class ColumnListModel extends AbstractComputedListModel {
4
+ _allColumns$ = new MutableListModel();
5
+ columnsById$;
6
+ constructor() {
7
+ super();
8
+ const { chain } = Dsl.disposeWith(this);
9
+ this.columnsById$ = chain(this._allColumns$).indexBy('columnId');
10
+ }
11
+ get allColumns$() {
12
+ return this._allColumns$.readonly$;
13
+ }
14
+ getColumn(id) {
15
+ return this.columnsById$.get(id);
16
+ }
17
+ hasColumn(id) {
18
+ return !!this.columnsById$.get(id);
19
+ }
20
+ hasMatchingColumn(row, regex) {
21
+ // only search the visible columns
22
+ return !!this.value.find(c => regex.test(c.getSearchTextFor(row)));
23
+ }
24
+ addColumn(column, index) {
25
+ if (this.hasColumn(column.columnId)) {
26
+ lang.illegalState(`Column with id=${column.columnId} already exists`);
27
+ }
28
+ this.registerDisposable(column);
29
+ this.runInTransaction(() => {
30
+ if (!isNil(index)) {
31
+ this._allColumns$.insert(index, column);
32
+ }
33
+ else {
34
+ this._allColumns$.push(column);
35
+ }
36
+ this.registerDisposable(this.trackSource(column.visible$));
37
+ });
38
+ return column;
39
+ }
40
+ doComputeValue() {
41
+ return this._allColumns$.value.filter(c => c.visible$.value);
42
+ }
43
+ }
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLWxpc3QtbW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlcy9jb2x1bW4vY29sdW1uLWxpc3QtbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHlCQUF5QixFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQTRCLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEgsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUcvQixNQUFNLE9BQU8sZUFBcUIsU0FBUSx5QkFBb0Q7SUFFM0UsWUFBWSxHQUFHLElBQUksZ0JBQWdCLEVBQW9CLENBQUM7SUFDeEQsWUFBWSxDQUEwQztJQUV2RTtRQUNFLEtBQUssRUFBRSxDQUFDO1FBQ1IsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsU0FBUyxDQUFDLEVBQVU7UUFDbEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsU0FBUyxDQUFDLEVBQVU7UUFDbEIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELGlCQUFpQixDQUFDLEdBQVEsRUFBRSxLQUFhO1FBQ3ZDLGtDQUFrQztRQUNsQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQsU0FBUyxDQUE2QixNQUFTLEVBQUUsS0FBYztRQUM3RCxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ25DLElBQUksQ0FBQyxZQUFZLENBQUMsa0JBQWtCLE1BQU0sQ0FBQyxRQUFRLGlCQUFpQixDQUFDLENBQUM7U0FDdkU7UUFDRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsRUFBRTtZQUN6QixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNqQixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7YUFDekM7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDaEM7WUFDRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUM3RCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9ELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29tcHV0ZWRMaXN0TW9kZWwsIERzbCwgbGFuZywgTGlzdE1vZGVsLCBNYXBNb2RlbENoYWluLCBNdXRhYmxlTGlzdE1vZGVsIH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuXG5pbXBvcnQgeyBpc05pbCB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBDb2x1bW5Nb2RlbCB9IGZyb20gJy4vY29sdW1uLW1vZGVsJztcblxuZXhwb3J0IGNsYXNzIENvbHVtbkxpc3RNb2RlbDxSb3c+IGV4dGVuZHMgQWJzdHJhY3RDb21wdXRlZExpc3RNb2RlbDxDb2x1bW5Nb2RlbDxSb3c+LCBib29sZWFuPiB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfYWxsQ29sdW1ucyQgPSBuZXcgTXV0YWJsZUxpc3RNb2RlbDxDb2x1bW5Nb2RlbDxSb3c+PigpO1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbHVtbnNCeUlkJDogTWFwTW9kZWxDaGFpbjxzdHJpbmcsIENvbHVtbk1vZGVsPFJvdz4+O1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgY29uc3QgeyBjaGFpbiB9ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuICAgIHRoaXMuY29sdW1uc0J5SWQkID0gY2hhaW4odGhpcy5fYWxsQ29sdW1ucyQpLmluZGV4QnkoJ2NvbHVtbklkJyk7XG4gIH1cblxuICBnZXQgYWxsQ29sdW1ucyQoKTogTGlzdE1vZGVsPENvbHVtbk1vZGVsPFJvdz4+IHtcbiAgICByZXR1cm4gdGhpcy5fYWxsQ29sdW1ucyQucmVhZG9ubHkkO1xuICB9XG5cbiAgZ2V0Q29sdW1uKGlkOiBzdHJpbmcpOiBDb2x1bW5Nb2RlbDxSb3c+IHtcbiAgICByZXR1cm4gdGhpcy5jb2x1bW5zQnlJZCQuZ2V0KGlkKTtcbiAgfVxuXG4gIGhhc0NvbHVtbihpZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5jb2x1bW5zQnlJZCQuZ2V0KGlkKTtcbiAgfVxuXG4gIGhhc01hdGNoaW5nQ29sdW1uKHJvdzogUm93LCByZWdleDogUmVnRXhwKTogYm9vbGVhbiB7XG4gICAgLy8gb25seSBzZWFyY2ggdGhlIHZpc2libGUgY29sdW1uc1xuICAgIHJldHVybiAhIXRoaXMudmFsdWUuZmluZChjID0+IHJlZ2V4LnRlc3QoYy5nZXRTZWFyY2hUZXh0Rm9yKHJvdykpKTtcbiAgfVxuXG4gIGFkZENvbHVtbjxDIGV4dGVuZHMgQ29sdW1uTW9kZWw8Um93Pj4oY29sdW1uOiBDLCBpbmRleD86IG51bWJlcik6IEMge1xuICAgIGlmICh0aGlzLmhhc0NvbHVtbihjb2x1bW4uY29sdW1uSWQpKSB7XG4gICAgICBsYW5nLmlsbGVnYWxTdGF0ZShgQ29sdW1uIHdpdGggaWQ9JHtjb2x1bW4uY29sdW1uSWR9IGFscmVhZHkgZXhpc3RzYCk7XG4gICAgfVxuICAgIHRoaXMucmVnaXN0ZXJEaXNwb3NhYmxlKGNvbHVtbik7XG4gICAgdGhpcy5ydW5JblRyYW5zYWN0aW9uKCgpID0+IHtcbiAgICAgIGlmICghaXNOaWwoaW5kZXgpKSB7XG4gICAgICAgIHRoaXMuX2FsbENvbHVtbnMkLmluc2VydChpbmRleCwgY29sdW1uKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX2FsbENvbHVtbnMkLnB1c2goY29sdW1uKTtcbiAgICAgIH1cbiAgICAgIHRoaXMucmVnaXN0ZXJEaXNwb3NhYmxlKHRoaXMudHJhY2tTb3VyY2UoY29sdW1uLnZpc2libGUkKSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIGNvbHVtbjtcbiAgfVxuXG4gIGRvQ29tcHV0ZVZhbHVlKCk6IENvbHVtbk1vZGVsPFJvdz5bXSB7XG4gICAgcmV0dXJuIHRoaXMuX2FsbENvbHVtbnMkLnZhbHVlLmZpbHRlcihjID0+IGMudmlzaWJsZSQudmFsdWUpO1xuICB9XG59XG4iXX0=
@@ -1,13 +1,12 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
2
  import { ComponentRef } from "@angular/core";
3
3
  import { DelegatingValueModel, Dsl, Functions, GarbageCollector } from "@coolon/pectin";
4
- import { assert, lang, Stringy } from "@coolon/typescript-utilities";
5
- import { Memoize } from "fast-typescript-memoize";
6
- import { ColumnTextSearchFormatter } from "../filter/column-text-search-formatter";
4
+ import { lang, assert, Stringy } from "@coolon/typescript-utilities";
5
+ import { Memoize } from "@typescript-plus/fast-memoize-decorator";
7
6
  import { CellHeaderPortalRef } from "../renderer/cell-portal-ref";
8
7
  import { DefaultHeaderCellRendererComponent } from "../renderer/default-header-cell-renderer/default-header-cell-renderer.component";
8
+ import { ColumnTextSearchFormatter } from "../filter/column-text-search-formatter";
9
9
  const noop = () => {
10
- // noop
11
10
  };
12
11
  class ColumnTextSearchWrapper extends ColumnTextSearchFormatter.Delegate {
13
12
  _delegate;
@@ -18,8 +17,8 @@ class ColumnTextSearchWrapper extends ColumnTextSearchFormatter.Delegate {
18
17
  }
19
18
  }
20
19
  format(row) {
21
- const value = this._map(row);
22
- const result = this._delegate ? this._delegate.format(value) : "";
20
+ let value = this._map(row);
21
+ let result = this._delegate ? this._delegate.format(value) : "";
23
22
  // console.log({format: row, value, text:result})
24
23
  return result;
25
24
  }
@@ -30,11 +29,11 @@ class ColumnTextSearchWrapper extends ColumnTextSearchFormatter.Delegate {
30
29
  }
31
30
  export class ColumnModel extends GarbageCollector {
32
31
  columnId;
33
- order;
34
32
  textPropertiesProvider;
35
33
  _columnTextProperties;
36
34
  _columnHeaderPortalRef;
37
35
  _cellRendererPortalRef;
36
+ _cellEditorPortalRef;
38
37
  _enableRowSelection = true;
39
38
  _flex = false;
40
39
  _defaultVisibility$ = this.registerDisposable(new DelegatingValueModel().withDefault(true));
@@ -43,10 +42,9 @@ export class ColumnModel extends GarbageCollector {
43
42
  dasherisedColumnId;
44
43
  textSearchDelegate = new ColumnTextSearchWrapper();
45
44
  visible$;
46
- constructor(columnId, order, textPropertiesProvider) {
45
+ constructor(columnId, textPropertiesProvider) {
47
46
  super();
48
47
  this.columnId = columnId;
49
- this.order = order;
50
48
  this.textPropertiesProvider = textPropertiesProvider;
51
49
  const { valueOf } = Dsl.disposeWith(this);
52
50
  this.installHeaderRenderer();
@@ -91,14 +89,6 @@ export class ColumnModel extends GarbageCollector {
91
89
  this._columnTextProperties = columnTextProperties;
92
90
  return this;
93
91
  }
94
- positionAfter(column) {
95
- this.order.position(this, { after: column });
96
- return this;
97
- }
98
- positionBefore(column) {
99
- this.order.position(this, { before: column });
100
- return this;
101
- }
102
92
  getSearchTextFor(row) {
103
93
  return this.textSearchDelegate.format(row);
104
94
  }
@@ -114,6 +104,9 @@ export class ColumnModel extends GarbageCollector {
114
104
  configureCellRenderer(config) {
115
105
  this._cellRendererPortalRef = config;
116
106
  }
107
+ configureCellEditor(cellEditor) {
108
+ this._cellEditorPortalRef = cellEditor;
109
+ }
117
110
  cellHeaderRenderer(componentType, initialiser) {
118
111
  this.configureHeaderRenderer(new CellHeaderPortalRef(componentType, initialiser));
119
112
  return this;
@@ -124,11 +117,17 @@ export class ColumnModel extends GarbageCollector {
124
117
  isFlex() {
125
118
  return this._flex;
126
119
  }
120
+ hasEditorPortal() {
121
+ return !!this._cellEditorPortalRef;
122
+ }
127
123
  attachHeaderCell(host) {
128
- this._columnHeaderPortalRef.initialiseHost(host);
124
+ this._columnHeaderPortalRef.initialiseHost(host, this);
129
125
  }
130
126
  attachCell(host) {
131
- this._cellRendererPortalRef.initialiseHost(host);
127
+ this._cellRendererPortalRef.initialiseHost(host, this);
128
+ if (this.hasEditorPortal()) {
129
+ this._cellEditorPortalRef.initialiseHost(host, this);
130
+ }
132
131
  }
133
132
  onHeaderAttached(host, ref) {
134
133
  const component = this.getComponent(ref);
@@ -138,6 +137,10 @@ export class ColumnModel extends GarbageCollector {
138
137
  const component = this.getComponentOrEmbeddedView(ref);
139
138
  this._cellRendererPortalRef.onPortalAttached(host, component);
140
139
  }
140
+ // @Trace()
141
+ onEditorAttached(host, ref) {
142
+ this._cellEditorPortalRef.onPortalAttached(host, this.getComponent(ref));
143
+ }
141
144
  updatePortalContent(host) {
142
145
  this._cellRendererPortalRef.pushState(host);
143
146
  }
@@ -184,4 +187,4 @@ __decorate([
184
187
  (function (ColumnModel) {
185
188
  ColumnModel.CELL_RENDERER_COMPONENT_ROW_CACHE = Symbol('aup-cell-renderer:row-data-cache');
186
189
  })(ColumnModel || (ColumnModel = {}));
187
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLW1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXMvY29sdW1uL2NvbHVtbi1tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBR0EsT0FBTyxFQUFDLFlBQVksRUFBVyxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUMsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBYSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xHLE9BQU8sRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ25FLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRCxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUNqRixPQUFPLEVBQUMsbUJBQW1CLEVBQTZCLE1BQU0sNkJBQTZCLENBQUM7QUFDNUYsT0FBTyxFQUFDLGtDQUFrQyxFQUFDLE1BQU0saUZBQWlGLENBQUM7QUFRbkksTUFBTSxJQUFJLEdBQUcsR0FBRyxFQUFFO0lBQ2hCLE9BQU87QUFDVCxDQUFDLENBQUM7QUFrQkYsTUFBTSx1QkFBNkIsU0FBUSx5QkFBeUIsQ0FBQyxRQUFhO0lBQ3hFLFNBQVMsQ0FBaUM7SUFDMUMsSUFBSSxHQUFxQixTQUFTLENBQUMsUUFBUSxDQUFDO0lBRXBELFVBQVUsQ0FBQyxRQUFrQjtRQUMzQixJQUFJLElBQUksQ0FBQyxTQUFTLFlBQVkseUJBQXlCLENBQUMsUUFBUSxFQUFFO1lBQ2hFLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ3JDO0lBQ0gsQ0FBQztJQUVELE1BQU0sQ0FBQyxHQUFRO1FBQ2IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM3QixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ2xFLGlEQUFpRDtRQUNqRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsV0FBVyxDQUFJLFNBQXVDLEVBQUUsTUFBdUI7UUFDN0UsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDM0IsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLElBQUksU0FBUyxDQUFDLFFBQVEsQ0FBQztJQUMzQyxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sV0FBZ0MsU0FBUSxnQkFBZ0I7SUFtQjlDO0lBQW1DO0lBQW1DO0lBakJuRixxQkFBcUIsQ0FBdUI7SUFFNUMsc0JBQXNCLENBQW9DO0lBQzFELHNCQUFzQixDQUFzQztJQUU1RCxtQkFBbUIsR0FBRyxJQUFJLENBQUM7SUFDM0IsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUVkLG1CQUFtQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLG9CQUFvQixFQUFXLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDckcsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksb0JBQW9CLEVBQVcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNwRyxhQUFhLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksb0JBQW9CLEVBQVcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQztJQUNsSCxrQkFBa0IsQ0FBUztJQUVuQixrQkFBa0IsR0FBRyxJQUFJLHVCQUF1QixFQUFPLENBQUM7SUFFaEUsUUFBUSxDQUFzQjtJQUV2QyxZQUFxQixRQUFnQixFQUFtQixLQUF5QixFQUFVLHNCQUEwRDtRQUNuSixLQUFLLEVBQUUsQ0FBQztRQURXLGFBQVEsR0FBUixRQUFRLENBQVE7UUFBbUIsVUFBSyxHQUFMLEtBQUssQ0FBb0I7UUFBVSwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQW9DO1FBRW5KLE1BQU0sRUFBQyxPQUFPLEVBQUMsR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3hFLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FDekIsSUFBSSxDQUFDLGFBQWEsRUFDbEIsSUFBSSxDQUFDLGtCQUFrQixDQUN4QixDQUFDLFNBQVMsRUFBRSxDQUFBO0lBQ2YsQ0FBQztJQUVTLHFCQUFxQjtRQUM3QixJQUFJLENBQUMsa0JBQWtCLENBQUMsa0NBQWtDLEVBQUUsQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDaEYsU0FBUyxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDaEQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBR0QsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDckYsQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO0lBQzdCLENBQUM7SUFFRCxZQUFZLENBQUMsT0FBNEI7UUFDdkMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDeEMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRVMsb0JBQW9CLENBQUMsT0FBNEI7UUFDekQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRVMsbUJBQW1CLENBQUMsT0FBNEI7UUFDeEQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRVMsb0JBQW9CO1FBQzVCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBR0QsdUJBQXVCO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixJQUFJLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ3JFLENBQUM7SUFFRDs7O09BR0c7SUFDSCxjQUFjLENBQUMsb0JBQTBDO1FBQ3ZELE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELG9CQUFvQixDQUFDLG9CQUEwQztRQUM3RCxJQUFJLENBQUMscUJBQXFCLEdBQUcsb0JBQW9CLENBQUM7UUFDbEQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsYUFBYSxDQUFDLE1BQXdCO1FBQ3BDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxFQUFDLEtBQUssRUFBRSxNQUFNLEVBQUMsQ0FBQyxDQUFDO1FBQzNDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELGNBQWMsQ0FBQyxNQUF3QjtRQUNyQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBQyxNQUFNLEVBQUUsTUFBTSxFQUFDLENBQUMsQ0FBQztRQUM1QyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxHQUFRO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUM5QyxDQUFDO0lBSUQseUJBQXlCLENBQUMsU0FBeUMsRUFBRSxNQUF5QjtRQUM1RixNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3pCLGdEQUFnRDtRQUNoRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN2RCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFHUyx1QkFBdUIsQ0FBSSxNQUF5QztRQUM1RSxJQUFJLENBQUMsc0JBQXNCLEdBQUcsTUFBTSxDQUFDO0lBQ3ZDLENBQUM7SUFFUyxxQkFBcUIsQ0FBSSxNQUEyQztRQUM1RSxJQUFJLENBQUMsc0JBQXNCLEdBQUcsTUFBTSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxrQkFBa0IsQ0FBSSxhQUErQixFQUFFLFdBQTZEO1FBQ2xILElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLG1CQUFtQixDQUFTLGFBQWEsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBQzFGLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSTtRQUNkLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxNQUFNO1FBQ0osT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxJQUFTO1FBQ3hCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFTO1FBQ2xCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELGdCQUFnQixDQUFDLElBQThCLEVBQUUsR0FBK0I7UUFDOUUsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsc0JBQXNCLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxJQUE2QixFQUFFLEdBQStCO1FBQy9FLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsc0JBQXNCLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxJQUE2QjtRQUMvQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFUyxpQkFBaUIsQ0FBQyxnQkFBeUI7UUFDbkQsSUFBSSxDQUFDLG1CQUFtQixHQUFHLGdCQUFnQixDQUFDO1FBQzVDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELHFCQUFxQjtRQUNuQixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztJQUNsQyxDQUFDO0lBRVMsWUFBWSxDQUFDLEdBQStCO1FBQ3BELElBQUksR0FBRyxZQUFZLFlBQVksRUFBRTtZQUMvQixPQUFPLEdBQUcsQ0FBQyxRQUFRLENBQUM7U0FDckI7YUFBTTtZQUNMLE9BQU8sQ0FBQyxLQUFLLENBQUMsNkNBQTZDLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDbEUsSUFBSSxDQUFDLFlBQVksQ0FBQywrQ0FBK0MsR0FBRyxFQUFFLENBQUMsQ0FBQTtTQUN4RTtJQUNILENBQUM7SUFDUywwQkFBMEIsQ0FBQyxHQUErQjtRQUNsRSxJQUFJLEdBQUcsWUFBWSxZQUFZLEVBQUU7WUFDL0IsT0FBTyxHQUFHLENBQUMsUUFBUSxDQUFDO1NBQ3JCO2FBQU07WUFDTCxPQUFPLEdBQUcsQ0FBQztTQUNaO0lBQ0gsQ0FBQztJQUVELFVBQVUsQ0FBQyxRQUFrQjtRQUMzQixJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQy9DLENBQUM7Q0FDRjtBQTFJQztJQURDLE9BQU8sRUFBRTs7OztnREFHVDtBQXdCRDtJQURDLE9BQU8sRUFBRTs7OzswREFHVDtBQWdISCxXQUFpQixXQUFXO0lBQ2IsNkNBQWlDLEdBQUcsTUFBTSxDQUFDLGtDQUFrQyxDQUFDLENBQUM7QUFFOUYsQ0FBQyxFQUhnQixXQUFXLEtBQVgsV0FBVyxRQUczQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgLS0gdGFibGUgY29sdW1uIHBsdW1iaW5nIOKAlCBnZW5lcmljIG92ZXIgYXJiaXRyYXJ5IHJvdy9jZWxsIHR5cGVzICovXG5pbXBvcnQge0NvbXBvbmVudFR5cGV9IGZyb20gXCJAYW5ndWxhci9jZGsvb3ZlcmxheVwiO1xuaW1wb3J0IHtDZGtQb3J0YWxPdXRsZXRBdHRhY2hlZFJlZn0gZnJvbSBcIkBhbmd1bGFyL2Nkay9wb3J0YWxcIjtcbmltcG9ydCB7Q29tcG9uZW50UmVmLCBJbmplY3Rvcn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7RGVsZWdhdGluZ1ZhbHVlTW9kZWwsIERzbCwgRnVuY3Rpb25zLCBHYXJiYWdlQ29sbGVjdG9yLCBWYWx1ZU1vZGVsfSBmcm9tIFwiQGNvb2xvbi9wZWN0aW5cIjtcbmltcG9ydCB7YXNzZXJ0LCBsYW5nLCBTdHJpbmd5fSBmcm9tIFwiQGNvb2xvbi90eXBlc2NyaXB0LXV0aWxpdGllc1wiO1xuaW1wb3J0IHtNZW1vaXplfSBmcm9tIFwiZmFzdC10eXBlc2NyaXB0LW1lbW9pemVcIjtcbmltcG9ydCB7Q29sdW1uVGV4dFNlYXJjaEZvcm1hdHRlcn0gZnJvbSBcIi4uL2ZpbHRlci9jb2x1bW4tdGV4dC1zZWFyY2gtZm9ybWF0dGVyXCI7XG5pbXBvcnQge0NlbGxIZWFkZXJQb3J0YWxSZWYsIHR5cGUgQ2VsbFJlbmRlcmVyUG9ydGFsUmVmfSBmcm9tIFwiLi4vcmVuZGVyZXIvY2VsbC1wb3J0YWwtcmVmXCI7XG5pbXBvcnQge0RlZmF1bHRIZWFkZXJDZWxsUmVuZGVyZXJDb21wb25lbnR9IGZyb20gXCIuLi9yZW5kZXJlci9kZWZhdWx0LWhlYWRlci1jZWxsLXJlbmRlcmVyL2RlZmF1bHQtaGVhZGVyLWNlbGwtcmVuZGVyZXIuY29tcG9uZW50XCI7XG5pbXBvcnQgdHlwZSB7VGFibGVDZWxsQ29tcG9uZW50fSBmcm9tIFwiLi4vcmVuZGVyZXIvdGFibGUtY2VsbC90YWJsZS1jZWxsLmNvbXBvbmVudFwiO1xuaW1wb3J0IHR5cGUge1RhYmxlSGVhZGVyQ2VsbENvbXBvbmVudH0gZnJvbSBcIi4uL3JlbmRlcmVyL3RhYmxlLWhlYWRlci1jZWxsL3RhYmxlLWhlYWRlci1jZWxsLmNvbXBvbmVudFwiO1xuaW1wb3J0IHR5cGUge0NvbHVtbk1hbmFnZXJ9IGZyb20gXCIuL2NvbHVtbi1tYW5hZ2VyXCI7XG5pbXBvcnQgdHlwZSB7Q29sdW1uT3JkZXJNYW5hZ2VyfSBmcm9tIFwiLi9jb2x1bW4tb3JkZXItbWFuYWdlclwiO1xuaW1wb3J0IHR5cGUge0NvbHVtblRleHRQcm9wZXJ0aWVzfSBmcm9tIFwiLi9jb2x1bW4tdGV4dC1wcm9wZXJ0aWVzXCI7XG5cblxuY29uc3Qgbm9vcCA9ICgpID0+IHtcbiAgLy8gbm9vcFxufTtcblxuZXhwb3J0IGludGVyZmFjZSBSb3dEYXRhPFJvdyBleHRlbmRzIG9iamVjdD4ge1xuICByb3c6IFJvdztcbn1cblxuZXhwb3J0IHR5cGUgT25Db21wb25lbnRJbml0PEM+ID0gKGNvbXBvbmVudDogQykgPT4gdm9pZDtcblxuZXhwb3J0IGludGVyZmFjZSBDZWxsUmVuZGVyZXJPcHRpb25zPFJvdywgRT4ge1xuICBvbkNvbXBvbmVudEluaXQ/OiAoY29tcG9uZW50OiBFKSA9PiB2b2lkO1xuICBvblJvd1VwZGF0ZT86IChjb21wb25lbnQ6IEUsIHJvdzogUm93KSA9PiB2b2lkO1xufVxuXG5cbmV4cG9ydCBpbnRlcmZhY2UgTXV0YWJsZUNlbGxSZW5kZXJlck9wdGlvbnM8Um93LCBFLCBQIGV4dGVuZHMga2V5b2YgUm93PiBleHRlbmRzIENlbGxSZW5kZXJlck9wdGlvbnM8Um93LCBFPiB7XG4gIG9uVmFsdWVFZGl0OiAocm93OiBSb3csIGlzOiBSb3dbUF0sIHdhczogUm93W1BdKSA9PiB2b2lkO1xufVxuXG5jbGFzcyBDb2x1bW5UZXh0U2VhcmNoV3JhcHBlcjxSb3c+IGV4dGVuZHMgQ29sdW1uVGV4dFNlYXJjaEZvcm1hdHRlci5EZWxlZ2F0ZTxSb3c+e1xuICBwcml2YXRlIF9kZWxlZ2F0ZTogQ29sdW1uVGV4dFNlYXJjaEZvcm1hdHRlcjxhbnk+O1xuICBwcml2YXRlIF9tYXA6IChyb3c6Um93KSA9PiBhbnkgPSBGdW5jdGlvbnMuaWRlbnRpdHk7XG5cbiAgaW5pdGlhbGlzZShpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICBpZiAodGhpcy5fZGVsZWdhdGUgaW5zdGFuY2VvZiBDb2x1bW5UZXh0U2VhcmNoRm9ybWF0dGVyLkRlbGVnYXRlKSB7XG4gICAgICB0aGlzLl9kZWxlZ2F0ZS5pbml0aWFsaXNlKGluamVjdG9yKTtcbiAgICB9XG4gIH1cblxuICBmb3JtYXQocm93OiBSb3cpOiBzdHJpbmcge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5fbWFwKHJvdyk7XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5fZGVsZWdhdGUgPyB0aGlzLl9kZWxlZ2F0ZS5mb3JtYXQodmFsdWUpIDogXCJcIjtcbiAgICAvLyBjb25zb2xlLmxvZyh7Zm9ybWF0OiByb3csIHZhbHVlLCB0ZXh0OnJlc3VsdH0pXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHNldERlbGVnYXRlPFQ+KGZvcm1hdHRlcjogQ29sdW1uVGV4dFNlYXJjaEZvcm1hdHRlcjxUPiwgbWFwcGVyPzogKHJvdzpSb3cpID0+IFQpIHtcbiAgICB0aGlzLl9kZWxlZ2F0ZSA9IGZvcm1hdHRlcjtcbiAgICB0aGlzLl9tYXAgPSBtYXBwZXIgPz8gRnVuY3Rpb25zLmlkZW50aXR5O1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDb2x1bW5Nb2RlbDxSb3cgZXh0ZW5kcyBvYmplY3Q+IGV4dGVuZHMgR2FyYmFnZUNvbGxlY3RvciB7XG5cbiAgcHJpdmF0ZSBfY29sdW1uVGV4dFByb3BlcnRpZXM6IENvbHVtblRleHRQcm9wZXJ0aWVzO1xuXG4gIHByaXZhdGUgX2NvbHVtbkhlYWRlclBvcnRhbFJlZjogQ2VsbEhlYWRlclBvcnRhbFJlZjxSb3csIHVua25vd24+O1xuICBwcml2YXRlIF9jZWxsUmVuZGVyZXJQb3J0YWxSZWY6IENlbGxSZW5kZXJlclBvcnRhbFJlZjxSb3csIHVua25vd24+O1xuXG4gIHByaXZhdGUgX2VuYWJsZVJvd1NlbGVjdGlvbiA9IHRydWU7XG4gIHByaXZhdGUgX2ZsZXggPSBmYWxzZTtcblxuICBwcml2YXRlIF9kZWZhdWx0VmlzaWJpbGl0eSQgPSB0aGlzLnJlZ2lzdGVyRGlzcG9zYWJsZShuZXcgRGVsZWdhdGluZ1ZhbHVlTW9kZWw8Ym9vbGVhbj4oKS53aXRoRGVmYXVsdCh0cnVlKSk7XG4gIHByaXZhdGUgX21hc3RlclZpc2liaWxpdHkkID0gdGhpcy5yZWdpc3RlckRpc3Bvc2FibGUobmV3IERlbGVnYXRpbmdWYWx1ZU1vZGVsPGJvb2xlYW4+KCkud2l0aERlZmF1bHQodHJ1ZSkpO1xuICBwcml2YXRlIF91c2VyVmlzaWJsZSQgPSB0aGlzLnJlZ2lzdGVyRGlzcG9zYWJsZShuZXcgRGVsZWdhdGluZ1ZhbHVlTW9kZWw8Ym9vbGVhbj4oKS53aXRoRGVmYXVsdCh0aGlzLl9kZWZhdWx0VmlzaWJpbGl0eSQpKTtcbiAgcmVhZG9ubHkgZGFzaGVyaXNlZENvbHVtbklkOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSB0ZXh0U2VhcmNoRGVsZWdhdGUgPSBuZXcgQ29sdW1uVGV4dFNlYXJjaFdyYXBwZXI8Um93PigpO1xuXG4gIHJlYWRvbmx5IHZpc2libGUkOiBWYWx1ZU1vZGVsPGJvb2xlYW4+O1xuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGNvbHVtbklkOiBzdHJpbmcsIHByaXZhdGUgcmVhZG9ubHkgb3JkZXI6IENvbHVtbk9yZGVyTWFuYWdlciwgcHJpdmF0ZSB0ZXh0UHJvcGVydGllc1Byb3ZpZGVyOiBDb2x1bW5Nb2RlbC5UZXh0UHJvcGVydGllc1Byb3ZpZGVyKSB7XG4gICAgc3VwZXIoKTtcbiAgICBjb25zdCB7dmFsdWVPZn0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG4gICAgdGhpcy5pbnN0YWxsSGVhZGVyUmVuZGVyZXIoKTtcbiAgICB0aGlzLmRhc2hlcmlzZWRDb2x1bW5JZCA9IFN0cmluZ3kuZnJvbShjb2x1bW5JZCkuZGFzaGVyaXplKCkudG9TdHJpbmcoKTtcbiAgICB0aGlzLnZpc2libGUkID0gdmFsdWVPZi5hbGwoXG4gICAgICB0aGlzLl91c2VyVmlzaWJsZSQsXG4gICAgICB0aGlzLl9tYXN0ZXJWaXNpYmlsaXR5JFxuICAgICkuYXJlVHJ1dGh5KClcbiAgfVxuXG4gIHByb3RlY3RlZCBpbnN0YWxsSGVhZGVyUmVuZGVyZXIoKSB7XG4gICAgdGhpcy5jZWxsSGVhZGVyUmVuZGVyZXIoRGVmYXVsdEhlYWRlckNlbGxSZW5kZXJlckNvbXBvbmVudCwgKGNvbXBvbmVudCwgY29sdW1uKSA9PiB7XG4gICAgICBjb21wb25lbnQuaGVhZGVyVGV4dCA9IGNvbHVtbi5nZXRIZWFkZXJUZXh0KCk7XG4gICAgfSk7XG4gIH1cblxuICBATWVtb2l6ZSgpXG4gIGdldEhlYWRlclRleHQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5nZXRDb2x1bW5UZXh0UHJvcGVydGllcygpPy5oZWFkZXJUZXh0KCkgPz8gdGhpcy5nZXREZWZhdWx0SGVhZGVyVGV4dCgpO1xuICB9XG5cbiAgaXNWaXNpYmxlKCkge1xuICAgIHJldHVybiB0aGlzLnZpc2libGUkLnZhbHVlO1xuICB9XG5cbiAgdmlzaWJsZVdoaWxlKHZpc2libGU6IFZhbHVlTW9kZWw8Ym9vbGVhbj4pOiB0aGlzIHtcbiAgICB0aGlzLl91c2VyVmlzaWJsZSQuc2V0RGVsZWdhdGUodmlzaWJsZSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0RGVmYXVsdFZpc2liaWxpdHkodmlzaWJsZTogVmFsdWVNb2RlbDxib29sZWFuPikge1xuICAgIHRoaXMuX2RlZmF1bHRWaXNpYmlsaXR5JC5zZXREZWxlZ2F0ZSh2aXNpYmxlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXRNYXN0ZXJWaXNpYmlsaXR5KHZpc2libGU6IFZhbHVlTW9kZWw8Ym9vbGVhbj4pIHtcbiAgICB0aGlzLl9tYXN0ZXJWaXNpYmlsaXR5JC5zZXREZWxlZ2F0ZSh2aXNpYmxlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXREZWZhdWx0SGVhZGVyVGV4dCgpIHtcbiAgICByZXR1cm4gdGhpcy5jb2x1bW5JZDtcbiAgfVxuXG4gIEBNZW1vaXplKClcbiAgZ2V0Q29sdW1uVGV4dFByb3BlcnRpZXMoKTogQ29sdW1uVGV4dFByb3BlcnRpZXMge1xuICAgIHJldHVybiB0aGlzLl9jb2x1bW5UZXh0UHJvcGVydGllcyA/PyB0aGlzLnRleHRQcm9wZXJ0aWVzUHJvdmlkZXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCB1c2UgI2NvbHVtblRleHRQcm9wZXJ0aWVzIGluc3RlYWRcbiAgICogQHBhcmFtIGNvbHVtblRleHRQcm9wZXJ0aWVzXG4gICAqL1xuICB0ZXh0UHJvcGVydGllcyhjb2x1bW5UZXh0UHJvcGVydGllczogQ29sdW1uVGV4dFByb3BlcnRpZXMpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5jb2x1bW5UZXh0UHJvcGVydGllcyhjb2x1bW5UZXh0UHJvcGVydGllcyk7XG4gIH1cblxuICBjb2x1bW5UZXh0UHJvcGVydGllcyhjb2x1bW5UZXh0UHJvcGVydGllczogQ29sdW1uVGV4dFByb3BlcnRpZXMpOiB0aGlzIHtcbiAgICB0aGlzLl9jb2x1bW5UZXh0UHJvcGVydGllcyA9IGNvbHVtblRleHRQcm9wZXJ0aWVzO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcG9zaXRpb25BZnRlcihjb2x1bW46IENvbHVtbk1vZGVsPGFueT4pOnRoaXMge1xuICAgIHRoaXMub3JkZXIucG9zaXRpb24odGhpcywge2FmdGVyOiBjb2x1bW59KTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHBvc2l0aW9uQmVmb3JlKGNvbHVtbjogQ29sdW1uTW9kZWw8YW55Pik6dGhpcyB7XG4gICAgdGhpcy5vcmRlci5wb3NpdGlvbih0aGlzLCB7YmVmb3JlOiBjb2x1bW59KTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGdldFNlYXJjaFRleHRGb3Iocm93OiBSb3cpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIHRoaXMudGV4dFNlYXJjaERlbGVnYXRlLmZvcm1hdChyb3cpXG4gIH1cblxuICBjb25maWd1cmVDb2x1bW5UZXh0U2VhcmNoKGZvcm1hdHRlcjogQ29sdW1uVGV4dFNlYXJjaEZvcm1hdHRlcjxSb3c+KTp0aGlzXG4gIGNvbmZpZ3VyZUNvbHVtblRleHRTZWFyY2g8VD4oZm9ybWF0dGVyOiBDb2x1bW5UZXh0U2VhcmNoRm9ybWF0dGVyPFQ+LCBtYXBwZXI6IChyb3c6Um93KSA9PiBUKTp0aGlzXG4gIGNvbmZpZ3VyZUNvbHVtblRleHRTZWFyY2goZm9ybWF0dGVyOiBDb2x1bW5UZXh0U2VhcmNoRm9ybWF0dGVyPGFueT4sIG1hcHBlcj86IChyb3c6Um93KSA9PiBhbnkpOnRoaXMge1xuICAgIGFzc2VydC5ub3ROaWwoZm9ybWF0dGVyKTtcbiAgICAvLyBjb25zb2xlLmxvZyh7Y29sOiB0aGlzLmNvbHVtbklkLCBmb3JtYXR0ZXJ9KTtcbiAgICB0aGlzLnRleHRTZWFyY2hEZWxlZ2F0ZS5zZXREZWxlZ2F0ZShmb3JtYXR0ZXIsIG1hcHBlcik7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuXG4gIHByb3RlY3RlZCBjb25maWd1cmVIZWFkZXJSZW5kZXJlcjxDPihjb25maWc6IENlbGxIZWFkZXJQb3J0YWxSZWY8Um93LCB1bmtub3duPik6IHZvaWQge1xuICAgIHRoaXMuX2NvbHVtbkhlYWRlclBvcnRhbFJlZiA9IGNvbmZpZztcbiAgfVxuXG4gIHByb3RlY3RlZCBjb25maWd1cmVDZWxsUmVuZGVyZXI8Qz4oY29uZmlnOiBDZWxsUmVuZGVyZXJQb3J0YWxSZWY8Um93LCB1bmtub3duPik6IHZvaWQge1xuICAgIHRoaXMuX2NlbGxSZW5kZXJlclBvcnRhbFJlZiA9IGNvbmZpZztcbiAgfVxuXG4gIGNlbGxIZWFkZXJSZW5kZXJlcjxDPihjb21wb25lbnRUeXBlOiBDb21wb25lbnRUeXBlPEM+LCBpbml0aWFsaXNlcjogKGNvbXBvbmVudDogQywgY29sdW1uOiBDb2x1bW5Nb2RlbDxSb3c+KSA9PiB2b2lkKTogdGhpcyB7XG4gICAgdGhpcy5jb25maWd1cmVIZWFkZXJSZW5kZXJlcihuZXcgQ2VsbEhlYWRlclBvcnRhbFJlZjxSb3csIEM+KGNvbXBvbmVudFR5cGUsIGluaXRpYWxpc2VyKSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBmbGV4KGZsZXggPSB0cnVlKSB7XG4gICAgdGhpcy5fZmxleCA9IGZsZXg7XG4gIH1cblxuICBpc0ZsZXgoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZsZXg7XG4gIH1cblxuICBhdHRhY2hIZWFkZXJDZWxsKGhvc3Q6IGFueSkge1xuICAgIHRoaXMuX2NvbHVtbkhlYWRlclBvcnRhbFJlZi5pbml0aWFsaXNlSG9zdChob3N0KTtcbiAgfVxuXG4gIGF0dGFjaENlbGwoaG9zdDogYW55KSB7XG4gICAgdGhpcy5fY2VsbFJlbmRlcmVyUG9ydGFsUmVmLmluaXRpYWxpc2VIb3N0KGhvc3QpO1xuICB9XG5cbiAgb25IZWFkZXJBdHRhY2hlZChob3N0OiBUYWJsZUhlYWRlckNlbGxDb21wb25lbnQsIHJlZjogQ2RrUG9ydGFsT3V0bGV0QXR0YWNoZWRSZWYpIHtcbiAgICBjb25zdCBjb21wb25lbnQgPSB0aGlzLmdldENvbXBvbmVudChyZWYpO1xuICAgIHRoaXMuX2NvbHVtbkhlYWRlclBvcnRhbFJlZi5vblBvcnRhbEF0dGFjaGVkKGhvc3QsIGNvbXBvbmVudCk7XG4gIH1cblxuICBvblJlbmRlcmVyQXR0YWNoZWQoaG9zdDogVGFibGVDZWxsQ29tcG9uZW50PFJvdz4sIHJlZjogQ2RrUG9ydGFsT3V0bGV0QXR0YWNoZWRSZWYpIHtcbiAgICBjb25zdCBjb21wb25lbnQgPSB0aGlzLmdldENvbXBvbmVudE9yRW1iZWRkZWRWaWV3KHJlZik7XG4gICAgdGhpcy5fY2VsbFJlbmRlcmVyUG9ydGFsUmVmLm9uUG9ydGFsQXR0YWNoZWQoaG9zdCwgY29tcG9uZW50KTtcbiAgfVxuXG4gIHVwZGF0ZVBvcnRhbENvbnRlbnQoaG9zdDogVGFibGVDZWxsQ29tcG9uZW50PFJvdz4pIHtcbiAgICB0aGlzLl9jZWxsUmVuZGVyZXJQb3J0YWxSZWYucHVzaFN0YXRlKGhvc3QpO1xuICB9XG5cbiAgcHJvdGVjdGVkIF9zZWxlY3RSb3dPbkNsaWNrKHNlbGVjdFJvd09uQ2xpY2s6IGJvb2xlYW4pOiB0aGlzIHtcbiAgICB0aGlzLl9lbmFibGVSb3dTZWxlY3Rpb24gPSBzZWxlY3RSb3dPbkNsaWNrO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgaXNSb3dTZWxlY3Rpb25FbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9lbmFibGVSb3dTZWxlY3Rpb247XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0Q29tcG9uZW50KHJlZjogQ2RrUG9ydGFsT3V0bGV0QXR0YWNoZWRSZWYpOiBhbnkge1xuICAgIGlmIChyZWYgaW5zdGFuY2VvZiBDb21wb25lbnRSZWYpIHtcbiAgICAgIHJldHVybiByZWYuaW5zdGFuY2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoXCJoZWFkZXJzIG9ubHkgc3VwcG9ydCBjb21wb25lbnQgcG9ydGFscywgZ290XCIsIHJlZik7XG4gICAgICBsYW5nLmlsbGVnYWxTdGF0ZShgaGVhZGVycyBvbmx5IHN1cHBvcnQgY29tcG9uZW50IHBvcnRhbHMsIGdvdCAke3JlZn1gKVxuICAgIH1cbiAgfVxuICBwcm90ZWN0ZWQgZ2V0Q29tcG9uZW50T3JFbWJlZGRlZFZpZXcocmVmOiBDZGtQb3J0YWxPdXRsZXRBdHRhY2hlZFJlZik6IGFueSB7XG4gICAgaWYgKHJlZiBpbnN0YW5jZW9mIENvbXBvbmVudFJlZikge1xuICAgICAgcmV0dXJuIHJlZi5pbnN0YW5jZTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHJlZjtcbiAgICB9XG4gIH1cblxuICBpbml0aWFsaXNlKGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgIHRoaXMudGV4dFNlYXJjaERlbGVnYXRlLmluaXRpYWxpc2UoaW5qZWN0b3IpO1xuICB9XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQ29sdW1uTW9kZWwge1xuICBleHBvcnQgY29uc3QgQ0VMTF9SRU5ERVJFUl9DT01QT05FTlRfUk9XX0NBQ0hFID0gU3ltYm9sKCdhdXAtY2VsbC1yZW5kZXJlcjpyb3ctZGF0YS1jYWNoZScpO1xuICBleHBvcnQgdHlwZSBUZXh0UHJvcGVydGllc1Byb3ZpZGVyID0gKCkgPT4gQ29sdW1uVGV4dFByb3BlcnRpZXNcbn1cblxuIl19
190
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLW1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXMvY29sdW1uL2NvbHVtbi1tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBRUEsT0FBTyxFQUFFLFlBQVksRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBR0wsb0JBQW9CLEVBQ3BCLEdBQUcsRUFDSCxTQUFTLEVBQ1QsZ0JBQWdCLEVBR2pCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDckUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRWxFLE9BQU8sRUFBdUIsbUJBQW1CLEVBQXlCLE1BQU0sNkJBQTZCLENBQUM7QUFDOUcsT0FBTyxFQUNMLGtDQUFrQyxFQUNuQyxNQUFNLGlGQUFpRixDQUFDO0FBR3pGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBSW5GLE1BQU0sSUFBSSxHQUFHLEdBQUcsRUFBRTtBQUNsQixDQUFDLENBQUM7QUFvQkYsTUFBTSx1QkFBNkIsU0FBUSx5QkFBeUIsQ0FBQyxRQUFhO0lBQ3hFLFNBQVMsQ0FBaUM7SUFDMUMsSUFBSSxHQUFxQixTQUFTLENBQUMsUUFBUSxDQUFDO0lBRXBELFVBQVUsQ0FBQyxRQUFrQjtRQUMzQixJQUFJLElBQUksQ0FBQyxTQUFTLFlBQVkseUJBQXlCLENBQUMsUUFBUSxFQUFFO1lBQ2hFLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ3JDO0lBQ0gsQ0FBQztJQUVELE1BQU0sQ0FBQyxHQUFRO1FBQ2IsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFH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SUFEQyxPQUFPLEVBQUU7Ozs7MERBR1Q7QUFzSEgsV0FBaUIsV0FBVztJQUNiLDZDQUFpQyxHQUFHLE1BQU0sQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO0FBRTlGLENBQUMsRUFIZ0IsV0FBVyxLQUFYLFdBQVcsUUFHM0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRUeXBlIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9vdmVybGF5XCI7XG5pbXBvcnQgeyBDZGtQb3J0YWxPdXRsZXRBdHRhY2hlZFJlZiB9IGZyb20gXCJAYW5ndWxhci9jZGsvcG9ydGFsXCI7XG5pbXBvcnQgeyBDb21wb25lbnRSZWYsIEluamVjdG9yIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7XG4gIEJvb2xlYW5WYWx1ZU1vZGVsQ2hhaW4sXG4gIENvbW1hbmQsXG4gIERlbGVnYXRpbmdWYWx1ZU1vZGVsLFxuICBEc2wsXG4gIEZ1bmN0aW9ucyxcbiAgR2FyYmFnZUNvbGxlY3RvcixcbiAgVHJhY2UsXG4gIFZhbHVlTW9kZWxcbn0gZnJvbSBcIkBjb29sb24vcGVjdGluXCI7XG5pbXBvcnQgeyBsYW5nLCBhc3NlcnQsIFN0cmluZ3kgfSBmcm9tIFwiQGNvb2xvbi90eXBlc2NyaXB0LXV0aWxpdGllc1wiO1xuaW1wb3J0IHsgTWVtb2l6ZSB9IGZyb20gXCJAdHlwZXNjcmlwdC1wbHVzL2Zhc3QtbWVtb2l6ZS1kZWNvcmF0b3JcIjtcbmltcG9ydCB7IEVkaXRTZXNzaW9uIH0gZnJvbSBcIi4uL2VkaXRvci9lZGl0LXNlc3Npb25cIjtcbmltcG9ydCB7IENlbGxFZGl0b3JQb3J0YWxSZWYsIENlbGxIZWFkZXJQb3J0YWxSZWYsIENlbGxSZW5kZXJlclBvcnRhbFJlZiB9IGZyb20gXCIuLi9yZW5kZXJlci9jZWxsLXBvcnRhbC1yZWZcIjtcbmltcG9ydCB7XG4gIERlZmF1bHRIZWFkZXJDZWxsUmVuZGVyZXJDb21wb25lbnRcbn0gZnJvbSBcIi4uL3JlbmRlcmVyL2RlZmF1bHQtaGVhZGVyLWNlbGwtcmVuZGVyZXIvZGVmYXVsdC1oZWFkZXItY2VsbC1yZW5kZXJlci5jb21wb25lbnRcIjtcbmltcG9ydCB7IFRhYmxlQ2VsbENvbXBvbmVudCB9IGZyb20gXCIuLi9yZW5kZXJlci90YWJsZS1jZWxsL3RhYmxlLWNlbGwuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBUYWJsZUhlYWRlckNlbGxDb21wb25lbnQgfSBmcm9tIFwiLi4vcmVuZGVyZXIvdGFibGUtaGVhZGVyLWNlbGwvdGFibGUtaGVhZGVyLWNlbGwuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBDb2x1bW5UZXh0U2VhcmNoRm9ybWF0dGVyIH0gZnJvbSBcIi4uL2ZpbHRlci9jb2x1bW4tdGV4dC1zZWFyY2gtZm9ybWF0dGVyXCI7XG5pbXBvcnQgeyBDb2x1bW5UZXh0UHJvcGVydGllcyB9IGZyb20gXCIuL2NvbHVtbi10ZXh0LXByb3BlcnRpZXNcIjtcblxuXG5jb25zdCBub29wID0gKCkgPT4ge1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBSb3dEYXRhPFJvdz4ge1xuICByb3c6IFJvdztcbiAgZWRpdFNlc3Npb24/OiBFZGl0U2Vzc2lvbjxSb3c+O1xuICBlZGl0Um93Q29tbWFuZDogQ29tbWFuZDx2b2lkPjtcbn1cblxuZXhwb3J0IHR5cGUgT25Db21wb25lbnRJbml0PEM+ID0gKGNvbXBvbmVudDogQykgPT4gdm9pZDtcblxuZXhwb3J0IGludGVyZmFjZSBDZWxsUmVuZGVyZXJPcHRpb25zPFJvdywgRT4ge1xuICBvbkNvbXBvbmVudEluaXQ/OiAoY29tcG9uZW50OiBFKSA9PiB2b2lkO1xuICBvblJvd1VwZGF0ZT86IChjb21wb25lbnQ6IEUsIHJvdzogUm93KSA9PiB2b2lkO1xufVxuXG5cbmV4cG9ydCBpbnRlcmZhY2UgTXV0YWJsZUNlbGxSZW5kZXJlck9wdGlvbnM8Um93LCBFLCBQIGV4dGVuZHMga2V5b2YgUm93PiBleHRlbmRzIENlbGxSZW5kZXJlck9wdGlvbnM8Um93LCBFPiB7XG4gIG9uVmFsdWVFZGl0OiAocm93OiBSb3csIGlzOiBSb3dbUF0sIHdhczogUm93W1BdKSA9PiB2b2lkO1xufVxuXG5jbGFzcyBDb2x1bW5UZXh0U2VhcmNoV3JhcHBlcjxSb3c+IGV4dGVuZHMgQ29sdW1uVGV4dFNlYXJjaEZvcm1hdHRlci5EZWxlZ2F0ZTxSb3c+e1xuICBwcml2YXRlIF9kZWxlZ2F0ZTogQ29sdW1uVGV4dFNlYXJjaEZvcm1hdHRlcjxhbnk+O1xuICBwcml2YXRlIF9tYXA6IChyb3c6Um93KSA9PiBhbnkgPSBGdW5jdGlvbnMuaWRlbnRpdHk7XG5cbiAgaW5pdGlhbGlzZShpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICBpZiAodGhpcy5fZGVsZWdhdGUgaW5zdGFuY2VvZiBDb2x1bW5UZXh0U2VhcmNoRm9ybWF0dGVyLkRlbGVnYXRlKSB7XG4gICAgICB0aGlzLl9kZWxlZ2F0ZS5pbml0aWFsaXNlKGluamVjdG9yKTtcbiAgICB9XG4gIH1cblxuICBmb3JtYXQocm93OiBSb3cpOiBzdHJpbmcge1xuICAgIGxldCB2YWx1ZSA9IHRoaXMuX21hcChyb3cpO1xuICAgIGxldCByZXN1bHQgPSB0aGlzLl9kZWxlZ2F0ZSA/IHRoaXMuX2RlbGVnYXRlLmZvcm1hdCh2YWx1ZSkgOiBcIlwiO1xuICAgIC8vIGNvbnNvbGUubG9nKHtmb3JtYXQ6IHJvdywgdmFsdWUsIHRleHQ6cmVzdWx0fSlcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgc2V0RGVsZWdhdGU8VD4oZm9ybWF0dGVyOiBDb2x1bW5UZXh0U2VhcmNoRm9ybWF0dGVyPFQ+LCBtYXBwZXI/OiAocm93OlJvdykgPT4gVCkge1xuICAgIHRoaXMuX2RlbGVnYXRlID0gZm9ybWF0dGVyO1xuICAgIHRoaXMuX21hcCA9IG1hcHBlciA/PyBGdW5jdGlvbnMuaWRlbnRpdHk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIENvbHVtbk1vZGVsPFJvdz4gZXh0ZW5kcyBHYXJiYWdlQ29sbGVjdG9yIHtcblxuICBwcml2YXRlIF9jb2x1bW5UZXh0UHJvcGVydGllczogQ29sdW1uVGV4dFByb3BlcnRpZXM7XG5cbiAgcHJpdmF0ZSBfY29sdW1uSGVhZGVyUG9ydGFsUmVmOiBDZWxsSGVhZGVyUG9ydGFsUmVmPFJvdywgYW55PjtcbiAgcHJpdmF0ZSBfY2VsbFJlbmRlcmVyUG9ydGFsUmVmOiBDZWxsUmVuZGVyZXJQb3J0YWxSZWY8Um93LCBhbnk+O1xuICBwcml2YXRlIF9jZWxsRWRpdG9yUG9ydGFsUmVmOiBDZWxsRWRpdG9yUG9ydGFsUmVmPFJvdywgYW55PjtcblxuICBwcml2YXRlIF9lbmFibGVSb3dTZWxlY3Rpb24gPSB0cnVlO1xuICBwcml2YXRlIF9mbGV4ID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBfZGVmYXVsdFZpc2liaWxpdHkkID0gdGhpcy5yZWdpc3RlckRpc3Bvc2FibGUobmV3IERlbGVnYXRpbmdWYWx1ZU1vZGVsPGJvb2xlYW4+KCkud2l0aERlZmF1bHQodHJ1ZSkpO1xuICBwcml2YXRlIF9tYXN0ZXJWaXNpYmlsaXR5JCA9IHRoaXMucmVnaXN0ZXJEaXNwb3NhYmxlKG5ldyBEZWxlZ2F0aW5nVmFsdWVNb2RlbDxib29sZWFuPigpLndpdGhEZWZhdWx0KHRydWUpKTtcbiAgcHJpdmF0ZSBfdXNlclZpc2libGUkID0gdGhpcy5yZWdpc3RlckRpc3Bvc2FibGUobmV3IERlbGVnYXRpbmdWYWx1ZU1vZGVsPGJvb2xlYW4+KCkud2l0aERlZmF1bHQodGhpcy5fZGVmYXVsdFZpc2liaWxpdHkkKSk7XG4gIHJlYWRvbmx5IGRhc2hlcmlzZWRDb2x1bW5JZDogc3RyaW5nO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgdGV4dFNlYXJjaERlbGVnYXRlID0gbmV3IENvbHVtblRleHRTZWFyY2hXcmFwcGVyPFJvdz4oKTtcblxuICByZWFkb25seSB2aXNpYmxlJDogVmFsdWVNb2RlbDxib29sZWFuPjtcblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBjb2x1bW5JZDogc3RyaW5nLCBwcml2YXRlIHRleHRQcm9wZXJ0aWVzUHJvdmlkZXI6IENvbHVtbk1vZGVsLlRleHRQcm9wZXJ0aWVzUHJvdmlkZXIpIHtcbiAgICBzdXBlcigpO1xuICAgIGNvbnN0IHt2YWx1ZU9mfSA9IERzbC5kaXNwb3NlV2l0aCh0aGlzKTtcbiAgICB0aGlzLmluc3RhbGxIZWFkZXJSZW5kZXJlcigpO1xuICAgIHRoaXMuZGFzaGVyaXNlZENvbHVtbklkID0gU3RyaW5neS5mcm9tKGNvbHVtbklkKS5kYXNoZXJpemUoKS50b1N0cmluZygpO1xuICAgIHRoaXMudmlzaWJsZSQgPSB2YWx1ZU9mLmFsbChcbiAgICAgIHRoaXMuX3VzZXJWaXNpYmxlJCxcbiAgICAgIHRoaXMuX21hc3RlclZpc2liaWxpdHkkXG4gICAgKS5hcmVUcnV0aHkoKVxuICB9XG5cbiAgcHJvdGVjdGVkIGluc3RhbGxIZWFkZXJSZW5kZXJlcigpIHtcbiAgICB0aGlzLmNlbGxIZWFkZXJSZW5kZXJlcihEZWZhdWx0SGVhZGVyQ2VsbFJlbmRlcmVyQ29tcG9uZW50LCAoY29tcG9uZW50LCBjb2x1bW4pID0+IHtcbiAgICAgIGNvbXBvbmVudC5oZWFkZXJUZXh0ID0gY29sdW1uLmdldEhlYWRlclRleHQoKTtcbiAgICB9KTtcbiAgfVxuXG4gIEBNZW1vaXplKClcbiAgZ2V0SGVhZGVyVGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmdldENvbHVtblRleHRQcm9wZXJ0aWVzKCk/LmhlYWRlclRleHQoKSA/PyB0aGlzLmdldERlZmF1bHRIZWFkZXJUZXh0KCk7XG4gIH1cblxuICBpc1Zpc2libGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudmlzaWJsZSQudmFsdWU7XG4gIH1cblxuICB2aXNpYmxlV2hpbGUodmlzaWJsZTogVmFsdWVNb2RlbDxib29sZWFuPik6IHRoaXMge1xuICAgIHRoaXMuX3VzZXJWaXNpYmxlJC5zZXREZWxlZ2F0ZSh2aXNpYmxlKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXREZWZhdWx0VmlzaWJpbGl0eSh2aXNpYmxlOiBWYWx1ZU1vZGVsPGJvb2xlYW4+KSB7XG4gICAgdGhpcy5fZGVmYXVsdFZpc2liaWxpdHkkLnNldERlbGVnYXRlKHZpc2libGUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldE1hc3RlclZpc2liaWxpdHkodmlzaWJsZTogVmFsdWVNb2RlbDxib29sZWFuPikge1xuICAgIHRoaXMuX21hc3RlclZpc2liaWxpdHkkLnNldERlbGVnYXRlKHZpc2libGUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldERlZmF1bHRIZWFkZXJUZXh0KCkge1xuICAgIHJldHVybiB0aGlzLmNvbHVtbklkO1xuICB9XG5cbiAgQE1lbW9pemUoKVxuICBnZXRDb2x1bW5UZXh0UHJvcGVydGllcygpOiBDb2x1bW5UZXh0UHJvcGVydGllcyB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbHVtblRleHRQcm9wZXJ0aWVzID8/IHRoaXMudGV4dFByb3BlcnRpZXNQcm92aWRlcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIHVzZSAjY29sdW1uVGV4dFByb3BlcnRpZXMgaW5zdGVhZFxuICAgKiBAcGFyYW0gY29sdW1uVGV4dFByb3BlcnRpZXNcbiAgICovXG4gIHRleHRQcm9wZXJ0aWVzKGNvbHVtblRleHRQcm9wZXJ0aWVzOiBDb2x1bW5UZXh0UHJvcGVydGllcyk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmNvbHVtblRleHRQcm9wZXJ0aWVzKGNvbHVtblRleHRQcm9wZXJ0aWVzKTtcbiAgfVxuXG4gIGNvbHVtblRleHRQcm9wZXJ0aWVzKGNvbHVtblRleHRQcm9wZXJ0aWVzOiBDb2x1bW5UZXh0UHJvcGVydGllcyk6IHRoaXMge1xuICAgIHRoaXMuX2NvbHVtblRleHRQcm9wZXJ0aWVzID0gY29sdW1uVGV4dFByb3BlcnRpZXM7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBnZXRTZWFyY2hUZXh0Rm9yKHJvdzogUm93KTogc3RyaW5nIHtcbiAgICAgIHJldHVybiB0aGlzLnRleHRTZWFyY2hEZWxlZ2F0ZS5mb3JtYXQocm93KVxuICB9XG5cbiAgY29uZmlndXJlQ29sdW1uVGV4dFNlYXJjaChmb3JtYXR0ZXI6IENvbHVtblRleHRTZWFyY2hGb3JtYXR0ZXI8Um93Pik6dGhpc1xuICBjb25maWd1cmVDb2x1bW5UZXh0U2VhcmNoPFQ+KGZvcm1hdHRlcjogQ29sdW1uVGV4dFNlYXJjaEZvcm1hdHRlcjxUPiwgbWFwcGVyOiAocm93OlJvdykgPT4gVCk6dGhpc1xuICBjb25maWd1cmVDb2x1bW5UZXh0U2VhcmNoKGZvcm1hdHRlcjogQ29sdW1uVGV4dFNlYXJjaEZvcm1hdHRlcjxhbnk+LCBtYXBwZXI/OiAocm93OlJvdykgPT4gYW55KTp0aGlzIHtcbiAgICBhc3NlcnQubm90TmlsKGZvcm1hdHRlcik7XG4gICAgLy8gY29uc29sZS5sb2coe2NvbDogdGhpcy5jb2x1bW5JZCwgZm9ybWF0dGVyfSk7XG4gICAgdGhpcy50ZXh0U2VhcmNoRGVsZWdhdGUuc2V0RGVsZWdhdGUoZm9ybWF0dGVyLCBtYXBwZXIpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cblxuICBwcm90ZWN0ZWQgY29uZmlndXJlSGVhZGVyUmVuZGVyZXI8Qz4oY29uZmlnOiBDZWxsSGVhZGVyUG9ydGFsUmVmPFJvdywgYW55Pik6IHZvaWQge1xuICAgIHRoaXMuX2NvbHVtbkhlYWRlclBvcnRhbFJlZiA9IGNvbmZpZztcbiAgfVxuXG4gIHByb3RlY3RlZCBjb25maWd1cmVDZWxsUmVuZGVyZXI8Qz4oY29uZmlnOiBDZWxsUmVuZGVyZXJQb3J0YWxSZWY8Um93LCBhbnk+KTogdm9pZCB7XG4gICAgdGhpcy5fY2VsbFJlbmRlcmVyUG9ydGFsUmVmID0gY29uZmlnO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNvbmZpZ3VyZUNlbGxFZGl0b3I8RT4oY2VsbEVkaXRvcjogQ2VsbEVkaXRvclBvcnRhbFJlZjxSb3csIEU+KTogdm9pZCB7XG4gICAgdGhpcy5fY2VsbEVkaXRvclBvcnRhbFJlZiA9IGNlbGxFZGl0b3I7XG4gIH1cblxuICBjZWxsSGVhZGVyUmVuZGVyZXI8Qz4oY29tcG9uZW50VHlwZTogQ29tcG9uZW50VHlwZTxDPiwgaW5pdGlhbGlzZXI6IChjb21wb25lbnQ6IEMsIGNvbHVtbjogQ29sdW1uTW9kZWw8Um93PikgPT4gdm9pZCk6IHRoaXMge1xuICAgIHRoaXMuY29uZmlndXJlSGVhZGVyUmVuZGVyZXIobmV3IENlbGxIZWFkZXJQb3J0YWxSZWY8Um93LCBDPihjb21wb25lbnRUeXBlLCBpbml0aWFsaXNlcikpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgZmxleChmbGV4ID0gdHJ1ZSkge1xuICAgIHRoaXMuX2ZsZXggPSBmbGV4O1xuICB9XG5cbiAgaXNGbGV4KCkge1xuICAgIHJldHVybiB0aGlzLl9mbGV4O1xuICB9XG5cbiAgaGFzRWRpdG9yUG9ydGFsKCkge1xuICAgIHJldHVybiAhIXRoaXMuX2NlbGxFZGl0b3JQb3J0YWxSZWY7XG4gIH1cblxuICBhdHRhY2hIZWFkZXJDZWxsKGhvc3Q6IGFueSkge1xuICAgIHRoaXMuX2NvbHVtbkhlYWRlclBvcnRhbFJlZi5pbml0aWFsaXNlSG9zdChob3N0LCB0aGlzKTtcbiAgfVxuXG4gIGF0dGFjaENlbGwoaG9zdDogYW55KSB7XG4gICAgdGhpcy5fY2VsbFJlbmRlcmVyUG9ydGFsUmVmLmluaXRpYWxpc2VIb3N0KGhvc3QsIHRoaXMpO1xuICAgIGlmICh0aGlzLmhhc0VkaXRvclBvcnRhbCgpKSB7XG4gICAgICB0aGlzLl9jZWxsRWRpdG9yUG9ydGFsUmVmLmluaXRpYWxpc2VIb3N0KGhvc3QsIHRoaXMpO1xuICAgIH1cbiAgfVxuXG4gIG9uSGVhZGVyQXR0YWNoZWQoaG9zdDogVGFibGVIZWFkZXJDZWxsQ29tcG9uZW50LCByZWY6IENka1BvcnRhbE91dGxldEF0dGFjaGVkUmVmKSB7XG4gICAgY29uc3QgY29tcG9uZW50ID0gdGhpcy5nZXRDb21wb25lbnQocmVmKTtcbiAgICB0aGlzLl9jb2x1bW5IZWFkZXJQb3J0YWxSZWYub25Qb3J0YWxBdHRhY2hlZChob3N0LCBjb21wb25lbnQpO1xuICB9XG5cbiAgb25SZW5kZXJlckF0dGFjaGVkKGhvc3Q6IFRhYmxlQ2VsbENvbXBvbmVudDxSb3c+LCByZWY6IENka1BvcnRhbE91dGxldEF0dGFjaGVkUmVmKSB7XG4gICAgY29uc3QgY29tcG9uZW50ID0gdGhpcy5nZXRDb21wb25lbnRPckVtYmVkZGVkVmlldyhyZWYpO1xuICAgIHRoaXMuX2NlbGxSZW5kZXJlclBvcnRhbFJlZi5vblBvcnRhbEF0dGFjaGVkKGhvc3QsIGNvbXBvbmVudCk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBvbkVkaXRvckF0dGFjaGVkKGhvc3Q6IFRhYmxlQ2VsbENvbXBvbmVudDxSb3c+LCByZWY6IENka1BvcnRhbE91dGxldEF0dGFjaGVkUmVmKSB7XG4gICAgdGhpcy5fY2VsbEVkaXRvclBvcnRhbFJlZi5vblBvcnRhbEF0dGFjaGVkKGhvc3QsIHRoaXMuZ2V0Q29tcG9uZW50KHJlZikpO1xuICB9XG5cbiAgdXBkYXRlUG9ydGFsQ29udGVudChob3N0OiBUYWJsZUNlbGxDb21wb25lbnQ8Um93Pikge1xuICAgIHRoaXMuX2NlbGxSZW5kZXJlclBvcnRhbFJlZi5wdXNoU3RhdGUoaG9zdCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgX3NlbGVjdFJvd09uQ2xpY2soc2VsZWN0Um93T25DbGljazogYm9vbGVhbik6IHRoaXMge1xuICAgIHRoaXMuX2VuYWJsZVJvd1NlbGVjdGlvbiA9IHNlbGVjdFJvd09uQ2xpY2s7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBpc1Jvd1NlbGVjdGlvbkVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2VuYWJsZVJvd1NlbGVjdGlvbjtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRDb21wb25lbnQocmVmOiBDZGtQb3J0YWxPdXRsZXRBdHRhY2hlZFJlZik6IGFueSB7XG4gICAgaWYgKHJlZiBpbnN0YW5jZW9mIENvbXBvbmVudFJlZikge1xuICAgICAgcmV0dXJuIHJlZi5pbnN0YW5jZTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5lcnJvcihcImhlYWRlcnMgb25seSBzdXBwb3J0IGNvbXBvbmVudCBwb3J0YWxzLCBnb3RcIiwgcmVmKTtcbiAgICAgIGxhbmcuaWxsZWdhbFN0YXRlKGBoZWFkZXJzIG9ubHkgc3VwcG9ydCBjb21wb25lbnQgcG9ydGFscywgZ290ICR7cmVmfWApXG4gICAgfVxuICB9XG4gIHByb3RlY3RlZCBnZXRDb21wb25lbnRPckVtYmVkZGVkVmlldyhyZWY6IENka1BvcnRhbE91dGxldEF0dGFjaGVkUmVmKTogYW55IHtcbiAgICBpZiAocmVmIGluc3RhbmNlb2YgQ29tcG9uZW50UmVmKSB7XG4gICAgICByZXR1cm4gcmVmLmluc3RhbmNlO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gcmVmO1xuICAgIH1cbiAgfVxuXG4gIGluaXRpYWxpc2UoaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgdGhpcy50ZXh0U2VhcmNoRGVsZWdhdGUuaW5pdGlhbGlzZShpbmplY3Rvcik7XG4gIH1cbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBDb2x1bW5Nb2RlbCB7XG4gIGV4cG9ydCBjb25zdCBDRUxMX1JFTkRFUkVSX0NPTVBPTkVOVF9ST1dfQ0FDSEUgPSBTeW1ib2woJ2F1cC1jZWxsLXJlbmRlcmVyOnJvdy1kYXRhLWNhY2hlJyk7XG4gIGV4cG9ydCB0eXBlIFRleHRQcm9wZXJ0aWVzUHJvdmlkZXIgPSAoKSA9PiBDb2x1bW5UZXh0UHJvcGVydGllc1xufVxuXG4iXX0=
@@ -1,4 +1,3 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any -- directive captures arbitrary template refs */
2
1
  import { Directive, Input, TemplateRef, ViewContainerRef } from '@angular/core';
3
2
  import { assert } from '@coolon/pectin';
4
3
  import { AbstractTableComponent } from '../../abstract-table.component';
@@ -21,10 +20,10 @@ export class ColumnTemplateDirective {
21
20
  assert.isTruthy(this.aupColumnTemplateColumnId);
22
21
  this.host.registerColumnTemplate(this.aupColumnTemplateColumnId, this.templateRef, this.viewContainer, this.aupColumnTemplateFillCell, this.aupColumnTemplateAutoPadChild ?? this.aupColumnTemplateFillCell);
23
22
  }
24
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ColumnTemplateDirective, deps: [{ token: i1.AbstractTableComponent }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
25
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.9", type: ColumnTemplateDirective, selector: "[aupColumnTemplate]", inputs: { aupColumnTemplate: "aupColumnTemplate", aupColumnTemplateColumnId: "aupColumnTemplateColumnId", aupColumnTemplateFillCell: "aupColumnTemplateFillCell", aupColumnTemplateAutoPadChild: "aupColumnTemplateAutoPadChild" }, ngImport: i0 });
23
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: ColumnTemplateDirective, deps: [{ token: i1.AbstractTableComponent }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
24
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.1", type: ColumnTemplateDirective, selector: "[aupColumnTemplate]", inputs: { aupColumnTemplate: "aupColumnTemplate", aupColumnTemplateColumnId: "aupColumnTemplateColumnId", aupColumnTemplateFillCell: "aupColumnTemplateFillCell", aupColumnTemplateAutoPadChild: "aupColumnTemplateAutoPadChild" }, ngImport: i0 });
26
25
  }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ColumnTemplateDirective, decorators: [{
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: ColumnTemplateDirective, decorators: [{
28
27
  type: Directive,
29
28
  args: [{
30
29
  selector: '[aupColumnTemplate]'
@@ -38,4 +37,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
38
37
  }], aupColumnTemplateAutoPadChild: [{
39
38
  type: Input
40
39
  }] } });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXRlbXBsYXRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2NvbXBvbmVudHMvdGFibGVzL2NvbHVtbi9jb2x1bW4tdGVtcGxhdGUvY29sdW1uLXRlbXBsYXRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxxR0FBcUc7QUFDckcsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQVUsV0FBVyxFQUFFLGdCQUFnQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0QyxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQzs7O0FBS3RFLE1BQU0sT0FBTyx1QkFBdUI7SUFjYjtJQUNEO0lBQ0E7SUFicEIsaUJBQWlCLENBQVM7SUFHMUIseUJBQXlCLENBQVM7SUFHbEMseUJBQXlCLEdBQUcsS0FBSyxDQUFDO0lBR2xDLDZCQUE2QixHQUFHLFNBQVMsQ0FBQztJQUUxQyxZQUFxQixJQUFpQyxFQUNsQyxXQUE2QixFQUM3QixhQUErQjtRQUY5QixTQUFJLEdBQUosSUFBSSxDQUE2QjtRQUNsQyxnQkFBVyxHQUFYLFdBQVcsQ0FBa0I7UUFDN0Isa0JBQWEsR0FBYixhQUFhLENBQWtCO0lBQ25ELENBQUM7SUFFRCxRQUFRO1FBQ04sTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyx5QkFBeUIsRUFDN0QsSUFBSSxDQUFDLFdBQVcsRUFDaEIsSUFBSSxDQUFDLGFBQWEsRUFDbEIsSUFBSSxDQUFDLHlCQUF5QixFQUM5QixJQUFJLENBQUMsNkJBQTZCLElBQUksSUFBSSxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDMUUsQ0FBQzt1R0ExQlUsdUJBQXVCOzJGQUF2Qix1QkFBdUI7OzJGQUF2Qix1QkFBdUI7a0JBSG5DLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtpQkFDaEM7c0tBSUMsaUJBQWlCO3NCQURoQixLQUFLO2dCQUlOLHlCQUF5QjtzQkFEeEIsS0FBSztnQkFJTix5QkFBeUI7c0JBRHhCLEtBQUs7Z0JBSU4sNkJBQTZCO3NCQUQ1QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAtLSBkaXJlY3RpdmUgY2FwdHVyZXMgYXJiaXRyYXJ5IHRlbXBsYXRlIHJlZnMgKi9cbmltcG9ydCB7RGlyZWN0aXZlLCBJbnB1dCwgT25Jbml0LCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2Fzc2VydH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHtBYnN0cmFjdFRhYmxlQ29tcG9uZW50fSBmcm9tICcuLi8uLi9hYnN0cmFjdC10YWJsZS5jb21wb25lbnQnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYXVwQ29sdW1uVGVtcGxhdGVdJ1xufSlcbmV4cG9ydCBjbGFzcyBDb2x1bW5UZW1wbGF0ZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KClcbiAgYXVwQ29sdW1uVGVtcGxhdGU6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBhdXBDb2x1bW5UZW1wbGF0ZUNvbHVtbklkOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgYXVwQ29sdW1uVGVtcGxhdGVGaWxsQ2VsbCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGF1cENvbHVtblRlbXBsYXRlQXV0b1BhZENoaWxkID0gdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGhvc3Q6IEFic3RyYWN0VGFibGVDb21wb25lbnQ8YW55PixcbiAgICAgICAgICAgICAgcHJpdmF0ZSB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PixcbiAgICAgICAgICAgICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmKSB7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBhc3NlcnQuaXNUcnV0aHkodGhpcy5hdXBDb2x1bW5UZW1wbGF0ZUNvbHVtbklkKTtcbiAgICB0aGlzLmhvc3QucmVnaXN0ZXJDb2x1bW5UZW1wbGF0ZSh0aGlzLmF1cENvbHVtblRlbXBsYXRlQ29sdW1uSWQsXG4gICAgICB0aGlzLnRlbXBsYXRlUmVmLFxuICAgICAgdGhpcy52aWV3Q29udGFpbmVyLFxuICAgICAgdGhpcy5hdXBDb2x1bW5UZW1wbGF0ZUZpbGxDZWxsLFxuICAgICAgdGhpcy5hdXBDb2x1bW5UZW1wbGF0ZUF1dG9QYWRDaGlsZCA/PyB0aGlzLmF1cENvbHVtblRlbXBsYXRlRmlsbENlbGwpO1xuICB9XG5cbn1cbiJdfQ==
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXRlbXBsYXRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2NvbXBvbmVudHMvdGFibGVzL2NvbHVtbi9jb2x1bW4tdGVtcGxhdGUvY29sdW1uLXRlbXBsYXRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7QUFLeEUsTUFBTSxPQUFPLHVCQUF1QjtJQWNiO0lBQ0Q7SUFDQTtJQWJwQixpQkFBaUIsQ0FBUztJQUcxQix5QkFBeUIsQ0FBUztJQUdsQyx5QkFBeUIsR0FBRyxLQUFLLENBQUM7SUFHbEMsNkJBQTZCLEdBQUcsU0FBUyxDQUFDO0lBRTFDLFlBQXFCLElBQWlDLEVBQ2xDLFdBQTZCLEVBQzdCLGFBQStCO1FBRjlCLFNBQUksR0FBSixJQUFJLENBQTZCO1FBQ2xDLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtRQUM3QixrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7SUFDbkQsQ0FBQztJQUVELFFBQVE7UUFDTixNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLHlCQUF5QixFQUM3RCxJQUFJLENBQUMsV0FBVyxFQUNoQixJQUFJLENBQUMsYUFBYSxFQUNsQixJQUFJLENBQUMseUJBQXlCLEVBQzlCLElBQUksQ0FBQyw2QkFBNkIsSUFBSSxJQUFJLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUMxRSxDQUFDO3VHQTFCVSx1QkFBdUI7MkZBQXZCLHVCQUF1Qjs7MkZBQXZCLHVCQUF1QjtrQkFIbkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO2lCQUNoQztzS0FJQyxpQkFBaUI7c0JBRGhCLEtBQUs7Z0JBSU4seUJBQXlCO3NCQUR4QixLQUFLO2dCQUlOLHlCQUF5QjtzQkFEeEIsS0FBSztnQkFJTiw2QkFBNkI7c0JBRDVCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBPbkluaXQsIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBhc3NlcnQgfSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBBYnN0cmFjdFRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYWJzdHJhY3QtdGFibGUuY29tcG9uZW50JztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2F1cENvbHVtblRlbXBsYXRlXSdcbn0pXG5leHBvcnQgY2xhc3MgQ29sdW1uVGVtcGxhdGVEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpXG4gIGF1cENvbHVtblRlbXBsYXRlOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgYXVwQ29sdW1uVGVtcGxhdGVDb2x1bW5JZDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIGF1cENvbHVtblRlbXBsYXRlRmlsbENlbGwgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBhdXBDb2x1bW5UZW1wbGF0ZUF1dG9QYWRDaGlsZCA9IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBob3N0OiBBYnN0cmFjdFRhYmxlQ29tcG9uZW50PGFueT4sXG4gICAgICAgICAgICAgIHByaXZhdGUgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4sXG4gICAgICAgICAgICAgIHByaXZhdGUgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZikge1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgYXNzZXJ0LmlzVHJ1dGh5KHRoaXMuYXVwQ29sdW1uVGVtcGxhdGVDb2x1bW5JZCk7XG4gICAgdGhpcy5ob3N0LnJlZ2lzdGVyQ29sdW1uVGVtcGxhdGUodGhpcy5hdXBDb2x1bW5UZW1wbGF0ZUNvbHVtbklkLFxuICAgICAgdGhpcy50ZW1wbGF0ZVJlZixcbiAgICAgIHRoaXMudmlld0NvbnRhaW5lcixcbiAgICAgIHRoaXMuYXVwQ29sdW1uVGVtcGxhdGVGaWxsQ2VsbCxcbiAgICAgIHRoaXMuYXVwQ29sdW1uVGVtcGxhdGVBdXRvUGFkQ2hpbGQgPz8gdGhpcy5hdXBDb2x1bW5UZW1wbGF0ZUZpbGxDZWxsKTtcbiAgfVxuXG59XG4iXX0=
@@ -2,11 +2,10 @@ import { TemplateCellRendererPortalRef } from "../renderer/cell-portal-ref";
2
2
  import { ColumnModel } from "./column-model";
3
3
  export class CustomTemplateColumnModel extends ColumnModel {
4
4
  config = new TemplateCellRendererPortalRef();
5
- constructor(columnId, order, defaults) {
6
- super(columnId, order, defaults);
5
+ constructor(columnId, defaults) {
6
+ super(columnId, defaults);
7
7
  this.configureCellRenderer(this.config);
8
8
  }
9
- // eslint-disable-next-line @typescript-eslint/no-explicit-any -- TemplateRef<any> is the Angular convention for ng-template refs
10
9
  setTemplate(templateRef, viewContainer, fillCell, padChild) {
11
10
  this.config.registerPortal(templateRef, viewContainer, fillCell, padChild);
12
11
  }
@@ -14,4 +13,4 @@ export class CustomTemplateColumnModel extends ColumnModel {
14
13
  return this._selectRowOnClick(selectOnRowClick);
15
14
  }
16
15
  }
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXRlbXBsYXRlLWNvbHVtbi1tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2NvbXBvbmVudHMvdGFibGVzL2NvbHVtbi9jdXN0b20tdGVtcGxhdGUtY29sdW1uLW1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQzFFLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUczQyxNQUFNLE9BQU8seUJBQThDLFNBQVEsV0FBZ0I7SUFDaEUsTUFBTSxHQUFHLElBQUksNkJBQTZCLEVBQU8sQ0FBQztJQUVuRSxZQUFZLFFBQWdCLEVBQUUsS0FBeUIsRUFBRSxRQUE0QztRQUNuRyxLQUFLLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxpSUFBaUk7SUFDakksV0FBVyxDQUFDLFdBQTZCLEVBQUUsYUFBK0IsRUFBRSxRQUFpQixFQUFFLFFBQWlCO1FBQzlHLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxnQkFBeUI7UUFDL0MsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNsRCxDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1RlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtUZW1wbGF0ZUNlbGxSZW5kZXJlclBvcnRhbFJlZn0gZnJvbSBcIi4uL3JlbmRlcmVyL2NlbGwtcG9ydGFsLXJlZlwiO1xuaW1wb3J0IHtDb2x1bW5Nb2RlbH0gZnJvbSBcIi4vY29sdW1uLW1vZGVsXCI7XG5pbXBvcnQgdHlwZSB7Q29sdW1uT3JkZXJNYW5hZ2VyfSBmcm9tIFwiLi9jb2x1bW4tb3JkZXItbWFuYWdlclwiO1xuXG5leHBvcnQgY2xhc3MgQ3VzdG9tVGVtcGxhdGVDb2x1bW5Nb2RlbDxSb3cgZXh0ZW5kcyBvYmplY3Q+IGV4dGVuZHMgQ29sdW1uTW9kZWw8Um93PiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnID0gbmV3IFRlbXBsYXRlQ2VsbFJlbmRlcmVyUG9ydGFsUmVmPFJvdz4oKTtcblxuICBjb25zdHJ1Y3Rvcihjb2x1bW5JZDogc3RyaW5nLCBvcmRlcjogQ29sdW1uT3JkZXJNYW5hZ2VyLCBkZWZhdWx0czogQ29sdW1uTW9kZWwuVGV4dFByb3BlcnRpZXNQcm92aWRlcikge1xuICAgIHN1cGVyKGNvbHVtbklkLCBvcmRlciwgZGVmYXVsdHMpO1xuICAgIHRoaXMuY29uZmlndXJlQ2VsbFJlbmRlcmVyKHRoaXMuY29uZmlnKTtcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55IC0tIFRlbXBsYXRlUmVmPGFueT4gaXMgdGhlIEFuZ3VsYXIgY29udmVudGlvbiBmb3IgbmctdGVtcGxhdGUgcmVmc1xuICBzZXRUZW1wbGF0ZSh0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55Piwgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZiwgZmlsbENlbGw6IGJvb2xlYW4sIHBhZENoaWxkOiBib29sZWFuKSB7XG4gICAgdGhpcy5jb25maWcucmVnaXN0ZXJQb3J0YWwodGVtcGxhdGVSZWYsIHZpZXdDb250YWluZXIsIGZpbGxDZWxsLCBwYWRDaGlsZCk7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0Um93T25DbGljayhzZWxlY3RPblJvd0NsaWNrOiBib29sZWFuKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdFJvd09uQ2xpY2soc2VsZWN0T25Sb3dDbGljayk7XG4gIH1cblxufVxuIl19
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXRlbXBsYXRlLWNvbHVtbi1tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2NvbXBvbmVudHMvdGFibGVzL2NvbHVtbi9jdXN0b20tdGVtcGxhdGUtY29sdW1uLW1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzVFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxNQUFNLE9BQU8seUJBQStCLFNBQVEsV0FBZ0I7SUFDakQsTUFBTSxHQUFHLElBQUksNkJBQTZCLEVBQU8sQ0FBQztJQUVuRSxZQUFZLFFBQWdCLEVBQUUsUUFBNEM7UUFDeEUsS0FBSyxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxXQUFXLENBQUMsV0FBNkIsRUFBRSxhQUErQixFQUFFLFFBQWlCLEVBQUUsUUFBaUI7UUFDOUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVNLGdCQUFnQixDQUFDLGdCQUF5QjtRQUMvQyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2xELENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFRlbXBsYXRlQ2VsbFJlbmRlcmVyUG9ydGFsUmVmIH0gZnJvbSBcIi4uL3JlbmRlcmVyL2NlbGwtcG9ydGFsLXJlZlwiO1xuaW1wb3J0IHsgQ29sdW1uTW9kZWwgfSBmcm9tIFwiLi9jb2x1bW4tbW9kZWxcIjtcblxuZXhwb3J0IGNsYXNzIEN1c3RvbVRlbXBsYXRlQ29sdW1uTW9kZWw8Um93PiBleHRlbmRzIENvbHVtbk1vZGVsPFJvdz4ge1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZyA9IG5ldyBUZW1wbGF0ZUNlbGxSZW5kZXJlclBvcnRhbFJlZjxSb3c+KCk7XG5cbiAgY29uc3RydWN0b3IoY29sdW1uSWQ6IHN0cmluZywgZGVmYXVsdHM6IENvbHVtbk1vZGVsLlRleHRQcm9wZXJ0aWVzUHJvdmlkZXIpIHtcbiAgICBzdXBlcihjb2x1bW5JZCwgZGVmYXVsdHMpO1xuICAgIHRoaXMuY29uZmlndXJlQ2VsbFJlbmRlcmVyKHRoaXMuY29uZmlnKTtcbiAgfVxuXG4gIHNldFRlbXBsYXRlKHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+LCB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmLCBmaWxsQ2VsbDogYm9vbGVhbiwgcGFkQ2hpbGQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmNvbmZpZy5yZWdpc3RlclBvcnRhbCh0ZW1wbGF0ZVJlZiwgdmlld0NvbnRhaW5lciwgZmlsbENlbGwsIHBhZENoaWxkKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3RSb3dPbkNsaWNrKHNlbGVjdE9uUm93Q2xpY2s6IGJvb2xlYW4pOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0Um93T25DbGljayhzZWxlY3RPblJvd0NsaWNrKTtcbiAgfVxuXG59XG4iXX0=
@@ -1,13 +1,13 @@
1
1
  import { isFunction } from "lodash-es";
2
- import { ColumnTextSearchFormatter } from "../filter/column-text-search-formatter";
3
- import { EnableCellTextSearch } from "../filter/enable-cell-text-search.decorator";
4
2
  import { ComponentCellRendererPortalRef } from "../renderer/cell-portal-ref";
5
3
  import { DefaultCellRendererComponent } from "../renderer/default-cell-renderer/default-cell-renderer.component";
4
+ import { ColumnTextSearchFormatter } from "../filter/column-text-search-formatter";
5
+ import { EnableCellTextSearch } from "../filter/enable-cell-text-search.decorator";
6
6
  import { ColumnModel } from "./column-model";
7
7
  export class CustomValueColumnModel extends ColumnModel {
8
8
  getValue;
9
- constructor(columnId, order, defaults, getValue) {
10
- super(columnId, order, defaults);
9
+ constructor(columnId, defaults, getValue) {
10
+ super(columnId, defaults);
11
11
  this.getValue = getValue;
12
12
  this.cellRenderer(DefaultCellRendererComponent);
13
13
  }
@@ -35,4 +35,4 @@ export class CustomValueColumnModel extends ColumnModel {
35
35
  return this._selectRowOnClick(selectOnRowClick);
36
36
  }
37
37
  }
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXZhbHVlLWNvbHVtbi1tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2NvbXBvbmVudHMvdGFibGVzL2NvbHVtbi9jdXN0b20tdmFsdWUtY29sdW1uLW1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxXQUFXLENBQUM7QUFDckMsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDakYsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFDakYsT0FBTyxFQUFDLDhCQUE4QixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDM0UsT0FBTyxFQUFDLDRCQUE0QixFQUFDLE1BQU0sbUVBQW1FLENBQUM7QUFDL0csT0FBTyxFQUEyQixXQUFXLEVBQXVCLE1BQU0sZ0JBQWdCLENBQUM7QUFHM0YsTUFBTSxPQUFPLHNCQUE4QyxTQUFRLFdBQWdCO0lBRThCO0lBQS9HLFlBQVksUUFBZ0IsRUFBRSxLQUF5QixFQUFFLFFBQTRDLEVBQVUsUUFBeUI7UUFDdEksS0FBSyxDQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFENEUsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFFdEksSUFBSSxDQUFDLFlBQVksQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxZQUFZLENBQWtDLGFBQStCLEVBQUUsd0JBQTJFO1FBQ3hKLElBQUksQ0FBQyx5QkFBeUIsQ0FDNUIsb0JBQW9CLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLHlCQUF5QixDQUFDLElBQUksRUFBRSxDQUFDLEVBQzVGLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FDMUIsQ0FBQztRQUNGLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLDhCQUE4QixDQUFDLGFBQWEsRUFBRSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEVBQUU7WUFDN0csSUFBSSxTQUFTLEVBQUU7Z0JBQ2IsSUFBSSxVQUFVLENBQUMsd0JBQXdCLENBQUMsRUFBRTtvQkFDeEMsd0JBQXdCLENBQUMsU0FBUyxDQUFDLENBQUM7aUJBQ3JDO3FCQUFNO29CQUNMLElBQUksVUFBVSxDQUFDLHdCQUF3QixFQUFFLGVBQWUsQ0FBQyxFQUFFO3dCQUN6RCx3QkFBd0IsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUM7cUJBQ3JEO2lCQUNGO2FBQ0Y7WUFDRCxTQUFTLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBRTdDLElBQUksQ0FBQyxVQUFVLENBQUMsd0JBQXdCLENBQUMsSUFBSSxVQUFVLENBQUMsd0JBQXdCLEVBQUUsV0FBVyxDQUFDLEVBQUU7Z0JBQzlGLHdCQUF3QixDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQzlEO1FBQ0gsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNKLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLGdCQUFnQixDQUFDLGdCQUF5QjtRQUMvQyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2xELENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50VHlwZX0gZnJvbSBcIkBhbmd1bGFyL2Nkay9vdmVybGF5XCI7XG5cbmltcG9ydCB7aXNGdW5jdGlvbn0gZnJvbSBcImxvZGFzaC1lc1wiO1xuaW1wb3J0IHtDb2x1bW5UZXh0U2VhcmNoRm9ybWF0dGVyfSBmcm9tIFwiLi4vZmlsdGVyL2NvbHVtbi10ZXh0LXNlYXJjaC1mb3JtYXR0ZXJcIjtcbmltcG9ydCB7RW5hYmxlQ2VsbFRleHRTZWFyY2h9IGZyb20gXCIuLi9maWx0ZXIvZW5hYmxlLWNlbGwtdGV4dC1zZWFyY2guZGVjb3JhdG9yXCI7XG5pbXBvcnQge0NvbXBvbmVudENlbGxSZW5kZXJlclBvcnRhbFJlZn0gZnJvbSBcIi4uL3JlbmRlcmVyL2NlbGwtcG9ydGFsLXJlZlwiO1xuaW1wb3J0IHtEZWZhdWx0Q2VsbFJlbmRlcmVyQ29tcG9uZW50fSBmcm9tIFwiLi4vcmVuZGVyZXIvZGVmYXVsdC1jZWxsLXJlbmRlcmVyL2RlZmF1bHQtY2VsbC1yZW5kZXJlci5jb21wb25lbnRcIjtcbmltcG9ydCB7dHlwZSBDZWxsUmVuZGVyZXJPcHRpb25zLCBDb2x1bW5Nb2RlbCwgdHlwZSBPbkNvbXBvbmVudEluaXR9IGZyb20gXCIuL2NvbHVtbi1tb2RlbFwiO1xuaW1wb3J0IHR5cGUge0NvbHVtbk9yZGVyTWFuYWdlcn0gZnJvbSBcIi4vY29sdW1uLW9yZGVyLW1hbmFnZXJcIjtcblxuZXhwb3J0IGNsYXNzIEN1c3RvbVZhbHVlQ29sdW1uTW9kZWw8Um93IGV4dGVuZHMgb2JqZWN0LCBWPiBleHRlbmRzIENvbHVtbk1vZGVsPFJvdz4ge1xuXG4gIGNvbnN0cnVjdG9yKGNvbHVtbklkOiBzdHJpbmcsIG9yZGVyOiBDb2x1bW5PcmRlck1hbmFnZXIsIGRlZmF1bHRzOiBDb2x1bW5Nb2RlbC5UZXh0UHJvcGVydGllc1Byb3ZpZGVyLCBwcml2YXRlIGdldFZhbHVlOiAocm93OiBSb3cpID0+IFYpIHtcbiAgICBzdXBlcihjb2x1bW5JZCwgb3JkZXIsIGRlZmF1bHRzKTtcbiAgICB0aGlzLmNlbGxSZW5kZXJlcihEZWZhdWx0Q2VsbFJlbmRlcmVyQ29tcG9uZW50KTtcbiAgfVxuXG4gIGNlbGxSZW5kZXJlcjxDIGV4dGVuZHMgeyB2YWx1ZTogUGFydGlhbDxWPiB9Pihjb21wb25lbnRUeXBlOiBDb21wb25lbnRUeXBlPEM+LCBvbkNvbXBvbmVudEluaXRPck9wdGlvbnM/OiBDZWxsUmVuZGVyZXJPcHRpb25zPFJvdywgQz4gfCBPbkNvbXBvbmVudEluaXQ8Qz4pOiB0aGlzIHtcbiAgICB0aGlzLmNvbmZpZ3VyZUNvbHVtblRleHRTZWFyY2goXG4gICAgICBFbmFibGVDZWxsVGV4dFNlYXJjaC5nZXRGb3JtYXR0ZXIoY29tcG9uZW50VHlwZSwgKCkgPT4gbmV3IENvbHVtblRleHRTZWFyY2hGb3JtYXR0ZXIuTnVsbCgpKSxcbiAgICAgIHJvdyA9PiB0aGlzLmdldFZhbHVlKHJvdylcbiAgICApO1xuICAgIHRoaXMuY29uZmlndXJlQ2VsbFJlbmRlcmVyKG5ldyBDb21wb25lbnRDZWxsUmVuZGVyZXJQb3J0YWxSZWYoY29tcG9uZW50VHlwZSwgKGNvbXBvbmVudCwgcm93RGF0YSwgZmlyc3RUaW1lKSA9PiB7XG4gICAgICBpZiAoZmlyc3RUaW1lKSB7XG4gICAgICAgIGlmIChpc0Z1bmN0aW9uKG9uQ29tcG9uZW50SW5pdE9yT3B0aW9ucykpIHtcbiAgICAgICAgICBvbkNvbXBvbmVudEluaXRPck9wdGlvbnMoY29tcG9uZW50KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAoaXNGdW5jdGlvbihvbkNvbXBvbmVudEluaXRPck9wdGlvbnM/Lm9uQ29tcG9uZW50SW5pdCkpIHtcbiAgICAgICAgICAgIG9uQ29tcG9uZW50SW5pdE9yT3B0aW9ucy5vbkNvbXBvbmVudEluaXQoY29tcG9uZW50KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGNvbXBvbmVudC52YWx1ZSA9IHRoaXMuZ2V0VmFsdWUocm93RGF0YS5yb3cpO1xuXG4gICAgICBpZiAoIWlzRnVuY3Rpb24ob25Db21wb25lbnRJbml0T3JPcHRpb25zKSAmJiBpc0Z1bmN0aW9uKG9uQ29tcG9uZW50SW5pdE9yT3B0aW9ucz8ub25Sb3dVcGRhdGUpKSB7XG4gICAgICAgIG9uQ29tcG9uZW50SW5pdE9yT3B0aW9ucy5vblJvd1VwZGF0ZShjb21wb25lbnQsIHJvd0RhdGEucm93KTtcbiAgICAgIH1cbiAgICB9KSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0Um93T25DbGljayhzZWxlY3RPblJvd0NsaWNrOiBib29sZWFuKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdFJvd09uQ2xpY2soc2VsZWN0T25Sb3dDbGljayk7XG4gIH1cblxufVxuIl19
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXZhbHVlLWNvbHVtbi1tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2NvbXBvbmVudHMvdGFibGVzL2NvbHVtbi9jdXN0b20tdmFsdWUtY29sdW1uLW1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDdkMsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDN0UsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sbUVBQW1FLENBQUM7QUFDakgsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDbkYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDbkYsT0FBTyxFQUF1QixXQUFXLEVBQW1CLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkYsTUFBTSxPQUFPLHNCQUErQixTQUFRLFdBQWdCO0lBRWtCO0lBQXBGLFlBQVksUUFBZ0IsRUFBRSxRQUE0QyxFQUFVLFFBQXlCO1FBQzNHLEtBQUssQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFEd0QsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFFM0csSUFBSSxDQUFDLFlBQVksQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxZQUFZLENBQWtDLGFBQStCLEVBQUUsd0JBQTJFO1FBQ3hKLElBQUksQ0FBQyx5QkFBeUIsQ0FDNUIsb0JBQW9CLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLHlCQUF5QixDQUFDLElBQUksRUFBRSxDQUFDLEVBQzVGLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FDMUIsQ0FBQztRQUNGLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLDhCQUE4QixDQUFDLGFBQWEsRUFBRSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEVBQUU7WUFDN0csSUFBSSxTQUFTLEVBQUU7Z0JBQ2IsSUFBSSxVQUFVLENBQUMsd0JBQXdCLENBQUMsRUFBRTtvQkFDeEMsd0JBQXdCLENBQUMsU0FBUyxDQUFDLENBQUM7aUJBQ3JDO3FCQUFNO29CQUNMLElBQUksVUFBVSxDQUFDLHdCQUF3QixFQUFFLGVBQWUsQ0FBQyxFQUFFO3dCQUN6RCx3QkFBd0IsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUM7cUJBQ3JEO2lCQUNGO2FBQ0Y7WUFDRCxTQUFTLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBRTdDLElBQUksQ0FBQyxVQUFVLENBQUMsd0JBQXdCLENBQUMsSUFBSSxVQUFVLENBQUMsd0JBQXdCLEVBQUUsV0FBVyxDQUFDLEVBQUU7Z0JBQzlGLHdCQUF3QixDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQzlEO1FBQ0gsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNKLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLGdCQUFnQixDQUFDLGdCQUF5QjtRQUMvQyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2xELENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFR5cGUgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL292ZXJsYXlcIjtcblxuaW1wb3J0IHsgaXNGdW5jdGlvbiB9IGZyb20gXCJsb2Rhc2gtZXNcIjtcbmltcG9ydCB7IENvbXBvbmVudENlbGxSZW5kZXJlclBvcnRhbFJlZiB9IGZyb20gXCIuLi9yZW5kZXJlci9jZWxsLXBvcnRhbC1yZWZcIjtcbmltcG9ydCB7IERlZmF1bHRDZWxsUmVuZGVyZXJDb21wb25lbnQgfSBmcm9tIFwiLi4vcmVuZGVyZXIvZGVmYXVsdC1jZWxsLXJlbmRlcmVyL2RlZmF1bHQtY2VsbC1yZW5kZXJlci5jb21wb25lbnRcIjtcbmltcG9ydCB7IENvbHVtblRleHRTZWFyY2hGb3JtYXR0ZXIgfSBmcm9tIFwiLi4vZmlsdGVyL2NvbHVtbi10ZXh0LXNlYXJjaC1mb3JtYXR0ZXJcIjtcbmltcG9ydCB7IEVuYWJsZUNlbGxUZXh0U2VhcmNoIH0gZnJvbSBcIi4uL2ZpbHRlci9lbmFibGUtY2VsbC10ZXh0LXNlYXJjaC5kZWNvcmF0b3JcIjtcbmltcG9ydCB7IENlbGxSZW5kZXJlck9wdGlvbnMsIENvbHVtbk1vZGVsLCBPbkNvbXBvbmVudEluaXQgfSBmcm9tIFwiLi9jb2x1bW4tbW9kZWxcIjtcblxuZXhwb3J0IGNsYXNzIEN1c3RvbVZhbHVlQ29sdW1uTW9kZWw8Um93LCBWPiBleHRlbmRzIENvbHVtbk1vZGVsPFJvdz4ge1xuXG4gIGNvbnN0cnVjdG9yKGNvbHVtbklkOiBzdHJpbmcsIGRlZmF1bHRzOiBDb2x1bW5Nb2RlbC5UZXh0UHJvcGVydGllc1Byb3ZpZGVyLCBwcml2YXRlIGdldFZhbHVlOiAocm93OiBSb3cpID0+IFYpIHtcbiAgICBzdXBlcihjb2x1bW5JZCwgZGVmYXVsdHMpO1xuICAgIHRoaXMuY2VsbFJlbmRlcmVyKERlZmF1bHRDZWxsUmVuZGVyZXJDb21wb25lbnQpO1xuICB9XG5cbiAgY2VsbFJlbmRlcmVyPEMgZXh0ZW5kcyB7IHZhbHVlOiBQYXJ0aWFsPFY+IH0+KGNvbXBvbmVudFR5cGU6IENvbXBvbmVudFR5cGU8Qz4sIG9uQ29tcG9uZW50SW5pdE9yT3B0aW9ucz86IENlbGxSZW5kZXJlck9wdGlvbnM8Um93LCBDPiB8IE9uQ29tcG9uZW50SW5pdDxDPik6IHRoaXMge1xuICAgIHRoaXMuY29uZmlndXJlQ29sdW1uVGV4dFNlYXJjaChcbiAgICAgIEVuYWJsZUNlbGxUZXh0U2VhcmNoLmdldEZvcm1hdHRlcihjb21wb25lbnRUeXBlLCAoKSA9PiBuZXcgQ29sdW1uVGV4dFNlYXJjaEZvcm1hdHRlci5OdWxsKCkpLFxuICAgICAgcm93ID0+IHRoaXMuZ2V0VmFsdWUocm93KVxuICAgICk7XG4gICAgdGhpcy5jb25maWd1cmVDZWxsUmVuZGVyZXIobmV3IENvbXBvbmVudENlbGxSZW5kZXJlclBvcnRhbFJlZihjb21wb25lbnRUeXBlLCAoY29tcG9uZW50LCByb3dEYXRhLCBmaXJzdFRpbWUpID0+IHtcbiAgICAgIGlmIChmaXJzdFRpbWUpIHtcbiAgICAgICAgaWYgKGlzRnVuY3Rpb24ob25Db21wb25lbnRJbml0T3JPcHRpb25zKSkge1xuICAgICAgICAgIG9uQ29tcG9uZW50SW5pdE9yT3B0aW9ucyhjb21wb25lbnQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmIChpc0Z1bmN0aW9uKG9uQ29tcG9uZW50SW5pdE9yT3B0aW9ucz8ub25Db21wb25lbnRJbml0KSkge1xuICAgICAgICAgICAgb25Db21wb25lbnRJbml0T3JPcHRpb25zLm9uQ29tcG9uZW50SW5pdChjb21wb25lbnQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgY29tcG9uZW50LnZhbHVlID0gdGhpcy5nZXRWYWx1ZShyb3dEYXRhLnJvdyk7XG5cbiAgICAgIGlmICghaXNGdW5jdGlvbihvbkNvbXBvbmVudEluaXRPck9wdGlvbnMpICYmIGlzRnVuY3Rpb24ob25Db21wb25lbnRJbml0T3JPcHRpb25zPy5vblJvd1VwZGF0ZSkpIHtcbiAgICAgICAgb25Db21wb25lbnRJbml0T3JPcHRpb25zLm9uUm93VXBkYXRlKGNvbXBvbmVudCwgcm93RGF0YS5yb3cpO1xuICAgICAgfVxuICAgIH0pKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3RSb3dPbkNsaWNrKHNlbGVjdE9uUm93Q2xpY2s6IGJvb2xlYW4pOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0Um93T25DbGljayhzZWxlY3RPblJvd0NsaWNrKTtcbiAgfVxuXG59XG4iXX0=
@@ -0,0 +1,21 @@
1
+ import { EditRowControls } from "../editor/edit-row-controls/edit-row-controls.component";
2
+ import { ComponentCellRendererPortalRef } from "../renderer/cell-portal-ref";
3
+ import { ColumnModel } from "./column-model";
4
+ export class EditorControlColumnModel extends ColumnModel {
5
+ constructor(columnId, saveCommandFactory, defaults) {
6
+ super(columnId, defaults);
7
+ this.cellRenderer(EditRowControls);
8
+ }
9
+ cellRenderer(componentType) {
10
+ this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, (component, rowData) => {
11
+ component.row = rowData.row;
12
+ component.editSession = rowData.editSession;
13
+ component.editRowCommand = rowData.editRowCommand;
14
+ }));
15
+ return this;
16
+ }
17
+ getDefaultHeaderText() {
18
+ return '';
19
+ }
20
+ }
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLWNvbnRyb2xzLWNvbHVtbi1tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2NvbXBvbmVudHMvdGFibGVzL2NvbHVtbi9lZGl0b3ItY29udHJvbHMtY29sdW1uLW1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUUxRixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM3RSxPQUFPLEVBQUUsV0FBVyxFQUFXLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEQsTUFBTSxPQUFPLHdCQUE4QixTQUFRLFdBQWdCO0lBRWpFLFlBQVksUUFBZ0IsRUFBRSxrQkFBdUYsRUFBRSxRQUE0QztRQUNqSyxLQUFLLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELFlBQVksQ0FBQyxhQUF3RztRQUNuSCxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSw4QkFBOEIsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxTQUFTLEVBQUUsT0FBcUIsRUFBRSxFQUFFO1lBQ2hILFNBQVMsQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQztZQUM1QixTQUFTLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUM7WUFDNUMsU0FBUyxDQUFDLGNBQWMsR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDO1FBQ3BELENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDSixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFa0Isb0JBQW9CO1FBQ3JDLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50VHlwZSB9IGZyb20gXCJAYW5ndWxhci9jZGsvb3ZlcmxheVwiO1xuaW1wb3J0IHsgQ29tbWFuZCwgRGlydHlUcmFja2luZ0Zvcm0gfSBmcm9tIFwiQGNvb2xvbi9wZWN0aW5cIjtcbmltcG9ydCB7IEVkaXRSb3dDb250cm9scyB9IGZyb20gXCIuLi9lZGl0b3IvZWRpdC1yb3ctY29udHJvbHMvZWRpdC1yb3ctY29udHJvbHMuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBFZGl0U2Vzc2lvbiB9IGZyb20gXCIuLi9lZGl0b3IvZWRpdC1zZXNzaW9uXCI7XG5pbXBvcnQgeyBDb21wb25lbnRDZWxsUmVuZGVyZXJQb3J0YWxSZWYgfSBmcm9tIFwiLi4vcmVuZGVyZXIvY2VsbC1wb3J0YWwtcmVmXCI7XG5pbXBvcnQgeyBDb2x1bW5Nb2RlbCwgUm93RGF0YSB9IGZyb20gXCIuL2NvbHVtbi1tb2RlbFwiO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yQ29udHJvbENvbHVtbk1vZGVsPFJvdz4gZXh0ZW5kcyBDb2x1bW5Nb2RlbDxSb3c+IHtcblxuICBjb25zdHJ1Y3Rvcihjb2x1bW5JZDogc3RyaW5nLCBzYXZlQ29tbWFuZEZhY3Rvcnk6IENvbW1hbmQuRmFjdG9yeTxEaXJ0eVRyYWNraW5nRm9ybTxSb3c+LCBib29sZWFuIHwgUHJvbWlzZTxib29sZWFuPj4sIGRlZmF1bHRzOiBDb2x1bW5Nb2RlbC5UZXh0UHJvcGVydGllc1Byb3ZpZGVyKSB7XG4gICAgc3VwZXIoY29sdW1uSWQsIGRlZmF1bHRzKTtcbiAgICB0aGlzLmNlbGxSZW5kZXJlcihFZGl0Um93Q29udHJvbHMpO1xuICB9XG5cbiAgY2VsbFJlbmRlcmVyKGNvbXBvbmVudFR5cGU6IENvbXBvbmVudFR5cGU8eyByb3c6IFJvdywgZWRpdFNlc3Npb246IEVkaXRTZXNzaW9uPFJvdz4sIGVkaXRSb3dDb21tYW5kOiBDb21tYW5kPHZvaWQ+IH0+KTogdGhpcyB7XG4gICAgdGhpcy5jb25maWd1cmVDZWxsUmVuZGVyZXIobmV3IENvbXBvbmVudENlbGxSZW5kZXJlclBvcnRhbFJlZihjb21wb25lbnRUeXBlLCAoY29tcG9uZW50LCByb3dEYXRhOiBSb3dEYXRhPFJvdz4pID0+IHtcbiAgICAgIGNvbXBvbmVudC5yb3cgPSByb3dEYXRhLnJvdztcbiAgICAgIGNvbXBvbmVudC5lZGl0U2Vzc2lvbiA9IHJvd0RhdGEuZWRpdFNlc3Npb247XG4gICAgICBjb21wb25lbnQuZWRpdFJvd0NvbW1hbmQgPSByb3dEYXRhLmVkaXRSb3dDb21tYW5kO1xuICAgIH0pKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBnZXREZWZhdWx0SGVhZGVyVGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiAnJztcbiAgfVxufVxuIl19
@@ -1,13 +1,13 @@
1
1
  import { Functions } from "@coolon/pectin";
2
2
  import { assert } from "@coolon/typescript-utilities";
3
+ import { isFunction } from "lodash-es";
4
+ import { CellEditorPortalRef, ComponentCellRendererPortalRef } from "../renderer/cell-portal-ref";
5
+ import { DefaultCellRendererComponent } from "../renderer/default-cell-renderer/default-cell-renderer.component";
3
6
  import { ColumnTextSearchFormatter } from "../filter/column-text-search-formatter";
4
7
  import { EnableCellTextSearch } from "../filter/enable-cell-text-search.decorator";
5
- import { ComponentCellRendererPortalRef } from "../renderer/cell-portal-ref";
6
- import { DefaultCellRendererComponent } from "../renderer/default-cell-renderer/default-cell-renderer.component";
7
8
  import { ColumnModel } from "./column-model";
8
9
  export class ListPropertyColumnModel extends ColumnModel {
9
10
  property;
10
- // eslint-disable-next-line @typescript-eslint/no-explicit-any -- format callback returns arbitrary display value
11
11
  _userFormat;
12
12
  _defaultSearchTextFormat = value => {
13
13
  const intermediate = (this._userFormat ?? Functions.identity)(value);
@@ -15,8 +15,8 @@ export class ListPropertyColumnModel extends ColumnModel {
15
15
  intermediate.map(v => v?.toString()).join(", ") :
16
16
  intermediate?.toString();
17
17
  };
18
- constructor(id, order, property, defaults) {
19
- super(id, order, defaults);
18
+ constructor(id, property, defaults) {
19
+ super(id, defaults);
20
20
  this.property = property;
21
21
  this.cellRenderer(DefaultCellRendererComponent);
22
22
  }
@@ -24,13 +24,26 @@ export class ListPropertyColumnModel extends ColumnModel {
24
24
  this.configureColumnTextSearch(EnableCellTextSearch.getFormatter(componentType, () => ColumnTextSearchFormatter.forFormatter(this._defaultSearchTextFormat)), row => row[this.property]);
25
25
  this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, (component, rowData) => {
26
26
  const rowValue = rowData.row[this.property];
27
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
28
27
  // @ts-ignore Started complaining in ts 4.5.. but I think my logic is correct...
29
28
  component.value = (this._userFormat) ? this._userFormat(rowValue) : rowValue;
30
29
  }));
31
30
  return this;
32
31
  }
33
- // eslint-disable-next-line @typescript-eslint/no-explicit-any -- format callback returns arbitrary display value
32
+ cellEditor(editor, validatorsOrInitialiser, initialiseComponent) {
33
+ const validators = Array.isArray(validatorsOrInitialiser) ? validatorsOrInitialiser : undefined;
34
+ const initialiser = isFunction(validatorsOrInitialiser) ? validatorsOrInitialiser : initialiseComponent;
35
+ this.configureCellEditor(new CellEditorPortalRef(editor, (component, editSession) => {
36
+ const formListModel = editSession.form.pluckList(this.property);
37
+ if (validators) {
38
+ formListModel.validateUsing(validators);
39
+ }
40
+ component.list$ = formListModel;
41
+ if (initialiser) {
42
+ initialiser(component);
43
+ }
44
+ }));
45
+ return this;
46
+ }
34
47
  format(formatter) {
35
48
  assert.isFunction(formatter);
36
49
  this._userFormat = formatter;
@@ -40,4 +53,4 @@ export class ListPropertyColumnModel extends ColumnModel {
40
53
  return this._selectRowOnClick(selectRowOnClick);
41
54
  }
42
55
  }
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1wcm9wZXJ5LWNvbHVtbi1tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2NvbXBvbmVudHMvdGFibGVzL2NvbHVtbi9saXN0LXByb3BlcnktY29sdW1uLW1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxTQUFTLEVBQVEsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDcEQsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDakYsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFDakYsT0FBTyxFQUFDLDhCQUE4QixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFFM0UsT0FBTyxFQUFDLDRCQUE0QixFQUFDLE1BQU0sbUVBQW1FLENBQUM7QUFDL0csT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRzNDLE1BQU0sT0FBTyx1QkFBb0YsU0FBUSxXQUFnQjtJQVczRDtJQVQ1RCxpSEFBaUg7SUFDekcsV0FBVyxDQUFtRDtJQUM5RCx3QkFBd0IsR0FBRyxLQUFLLENBQUMsRUFBRTtRQUN6QyxNQUFNLFlBQVksR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JFLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO1lBQ2xDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNqRCxZQUFZLEVBQUUsUUFBUSxFQUFFLENBQUE7SUFDNUIsQ0FBQyxDQUFDO0lBRUYsWUFBWSxFQUFVLEVBQUUsS0FBeUIsRUFBVyxRQUFXLEVBQUUsUUFBNEM7UUFDbkgsS0FBSyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFEK0IsYUFBUSxHQUFSLFFBQVEsQ0FBRztRQUVyRSxJQUFJLENBQUMsWUFBWSxDQUFDLDRCQUE0QixDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELFlBQVksQ0FBQyxhQUE0RTtRQUN2RixJQUFJLENBQUMseUJBQXlCLENBQzVCLG9CQUFvQixDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsR0FBRyxFQUFFLENBQUMseUJBQXlCLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLEVBQzdILEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FDMUIsQ0FBQztRQUNGLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLDhCQUE4QixDQUFDLGFBQWEsRUFBRSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsRUFBRTtZQUNsRyxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM1Qyw2REFBNkQ7WUFDN0QsZ0ZBQWdGO1lBQ2hGLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUMvRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ0osT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsaUhBQWlIO0lBQ2pILE1BQU0sQ0FBQyxTQUEyRDtRQUNoRSxNQUFNLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxXQUFXLEdBQUcsU0FBUyxDQUFDO1FBQzdCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLGdCQUFnQixDQUFDLGdCQUF5QjtRQUMvQyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2xELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50VHlwZX0gZnJvbSBcIkBhbmd1bGFyL2Nkay9vdmVybGF5XCI7XG5pbXBvcnQge0Z1bmN0aW9ucywgVHlwZXN9IGZyb20gXCJAY29vbG9uL3BlY3RpblwiO1xuaW1wb3J0IHthc3NlcnR9IGZyb20gXCJAY29vbG9uL3R5cGVzY3JpcHQtdXRpbGl0aWVzXCI7XG5pbXBvcnQge0NvbHVtblRleHRTZWFyY2hGb3JtYXR0ZXJ9IGZyb20gXCIuLi9maWx0ZXIvY29sdW1uLXRleHQtc2VhcmNoLWZvcm1hdHRlclwiO1xuaW1wb3J0IHtFbmFibGVDZWxsVGV4dFNlYXJjaH0gZnJvbSBcIi4uL2ZpbHRlci9lbmFibGUtY2VsbC10ZXh0LXNlYXJjaC5kZWNvcmF0b3JcIjtcbmltcG9ydCB7Q29tcG9uZW50Q2VsbFJlbmRlcmVyUG9ydGFsUmVmfSBmcm9tIFwiLi4vcmVuZGVyZXIvY2VsbC1wb3J0YWwtcmVmXCI7XG5pbXBvcnQgdHlwZSB7Q2VsbFJlbmRlcmVyfSBmcm9tIFwiLi4vcmVuZGVyZXIvY2VsbC1yZW5kZXJlclwiO1xuaW1wb3J0IHtEZWZhdWx0Q2VsbFJlbmRlcmVyQ29tcG9uZW50fSBmcm9tIFwiLi4vcmVuZGVyZXIvZGVmYXVsdC1jZWxsLXJlbmRlcmVyL2RlZmF1bHQtY2VsbC1yZW5kZXJlci5jb21wb25lbnRcIjtcbmltcG9ydCB7Q29sdW1uTW9kZWx9IGZyb20gXCIuL2NvbHVtbi1tb2RlbFwiO1xuaW1wb3J0IHR5cGUge0NvbHVtbk9yZGVyTWFuYWdlcn0gZnJvbSBcIi4vY29sdW1uLW9yZGVyLW1hbmFnZXJcIjtcblxuZXhwb3J0IGNsYXNzIExpc3RQcm9wZXJ0eUNvbHVtbk1vZGVsPFJvdyBleHRlbmRzIG9iamVjdCwgUCBleHRlbmRzIFR5cGVzLkFycmF5UHJvcGVydGllc09mPFJvdz4+IGV4dGVuZHMgQ29sdW1uTW9kZWw8Um93PiB7XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgLS0gZm9ybWF0IGNhbGxiYWNrIHJldHVybnMgYXJiaXRyYXJ5IGRpc3BsYXkgdmFsdWVcbiAgcHJpdmF0ZSBfdXNlckZvcm1hdDogKHZhbHVlOiBUeXBlcy5BcnJheUVsZW1lbnRUeXBlPFJvdywgUD5bXSkgPT4gYW55O1xuICBwcml2YXRlIF9kZWZhdWx0U2VhcmNoVGV4dEZvcm1hdCA9IHZhbHVlID0+IHtcbiAgICBjb25zdCBpbnRlcm1lZGlhdGUgPSAodGhpcy5fdXNlckZvcm1hdCA/PyBGdW5jdGlvbnMuaWRlbnRpdHkpKHZhbHVlKTtcbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheShpbnRlcm1lZGlhdGUpID9cbiAgICAgIGludGVybWVkaWF0ZS5tYXAodiA9PiB2Py50b1N0cmluZygpKS5qb2luKFwiLCBcIikgOlxuICAgICAgaW50ZXJtZWRpYXRlPy50b1N0cmluZygpXG4gIH07XG5cbiAgY29uc3RydWN0b3IoaWQ6IHN0cmluZywgb3JkZXI6IENvbHVtbk9yZGVyTWFuYWdlciwgcmVhZG9ubHkgcHJvcGVydHk6IFAsIGRlZmF1bHRzOiBDb2x1bW5Nb2RlbC5UZXh0UHJvcGVydGllc1Byb3ZpZGVyKSB7XG4gICAgc3VwZXIoaWQsIG9yZGVyLCBkZWZhdWx0cyk7XG4gICAgdGhpcy5jZWxsUmVuZGVyZXIoRGVmYXVsdENlbGxSZW5kZXJlckNvbXBvbmVudCk7XG4gIH1cblxuICBjZWxsUmVuZGVyZXIoY29tcG9uZW50VHlwZTogQ29tcG9uZW50VHlwZTxDZWxsUmVuZGVyZXI8VHlwZXMuQXJyYXlFbGVtZW50VHlwZTxSb3csIFA+W10+Pik6IE9taXQ8dGhpcywgXCJmb3JtYXRcIj4geyAvLyBoYWNrOiBmb3JtYXQgYW5kIGNlbGwgcmVuZGVyZXJzIHRvZ2V0aGVyIGJyZWFrIHRoZSB0eXBlcy5cbiAgICB0aGlzLmNvbmZpZ3VyZUNvbHVtblRleHRTZWFyY2goXG4gICAgICBFbmFibGVDZWxsVGV4dFNlYXJjaC5nZXRGb3JtYXR0ZXIoY29tcG9uZW50VHlwZSwgKCkgPT4gQ29sdW1uVGV4dFNlYXJjaEZvcm1hdHRlci5mb3JGb3JtYXR0ZXIodGhpcy5fZGVmYXVsdFNlYXJjaFRleHRGb3JtYXQpKSxcbiAgICAgIHJvdyA9PiByb3dbdGhpcy5wcm9wZXJ0eV1cbiAgICApO1xuICAgIHRoaXMuY29uZmlndXJlQ2VsbFJlbmRlcmVyKG5ldyBDb21wb25lbnRDZWxsUmVuZGVyZXJQb3J0YWxSZWYoY29tcG9uZW50VHlwZSwgKGNvbXBvbmVudCwgcm93RGF0YSkgPT4ge1xuICAgICAgY29uc3Qgcm93VmFsdWUgPSByb3dEYXRhLnJvd1t0aGlzLnByb3BlcnR5XTtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXRzLWNvbW1lbnRcbiAgICAgIC8vIEB0cy1pZ25vcmUgU3RhcnRlZCBjb21wbGFpbmluZyBpbiB0cyA0LjUuLiBidXQgSSB0aGluayBteSBsb2dpYyBpcyBjb3JyZWN0Li4uXG4gICAgICBjb21wb25lbnQudmFsdWUgPSAodGhpcy5fdXNlckZvcm1hdCkgPyB0aGlzLl91c2VyRm9ybWF0KHJvd1ZhbHVlKSA6IHJvd1ZhbHVlO1xuICAgIH0pKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55IC0tIGZvcm1hdCBjYWxsYmFjayByZXR1cm5zIGFyYml0cmFyeSBkaXNwbGF5IHZhbHVlXG4gIGZvcm1hdChmb3JtYXR0ZXI6ICh2YWx1ZTogVHlwZXMuQXJyYXlFbGVtZW50VHlwZTxSb3csIFA+W10pID0+IGFueSk6IE9taXQ8dGhpcywgXCJjZWxsUmVuZGVyZXJcIj4geyAvLyBoYWNrOiBmb3JtYXQgYW5kIGNlbGwgcmVuZGVyZXJzIHRvZ2V0aGVyIGJyZWFrIHRoZSB0eXBlcy5cbiAgICBhc3NlcnQuaXNGdW5jdGlvbihmb3JtYXR0ZXIpO1xuICAgIHRoaXMuX3VzZXJGb3JtYXQgPSBmb3JtYXR0ZXI7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0Um93T25DbGljayhzZWxlY3RSb3dPbkNsaWNrOiBib29sZWFuKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdFJvd09uQ2xpY2soc2VsZWN0Um93T25DbGljayk7XG4gIH1cbn1cbiJdfQ==
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1wcm9wZXJ5LWNvbHVtbi1tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2NvbXBvbmVudHMvdGFibGVzL2NvbHVtbi9saXN0LXByb3BlcnktY29sdW1uLW1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQW9CLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFHdkMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLDhCQUE4QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFbEcsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sbUVBQW1FLENBQUM7QUFDakgsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDbkYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDbkYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE1BQU0sT0FBTyx1QkFBcUUsU0FBUSxXQUFnQjtJQVV2RTtJQVJ6QixXQUFXLENBQW1EO0lBQzlELHdCQUF3QixHQUFHLEtBQUssQ0FBQyxFQUFFO1FBQ3pDLE1BQU0sWUFBWSxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckUsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7WUFDbEMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ2pELFlBQVksRUFBRSxRQUFRLEVBQUUsQ0FBQTtJQUM1QixDQUFDLENBQUM7SUFFRixZQUFZLEVBQVUsRUFBVyxRQUFXLEVBQUUsUUFBNEM7UUFDeEYsS0FBSyxDQUFDLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQztRQURXLGFBQVEsR0FBUixRQUFRLENBQUc7UUFFMUMsSUFBSSxDQUFDLFlBQVksQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxZQUFZLENBQUMsYUFBNEU7UUFDdkYsSUFBSSxDQUFDLHlCQUF5QixDQUM1QixvQkFBb0IsQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLEdBQUcsRUFBRSxDQUFDLHlCQUF5QixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxFQUM3SCxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQzFCLENBQUM7UUFDRixJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSw4QkFBOEIsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLEVBQUU7WUFDbEcsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDNUMsZ0ZBQWdGO1lBQ2hGLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUMvRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ0osT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBSUQsVUFBVSxDQUFvRSxNQUF3QixFQUFFLHVCQUFrRyxFQUFFLG1CQUE0QztRQUN0UCxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDaEcsTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQztRQUV4RyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxTQUFZLEVBQUUsV0FBNkIsRUFBRSxFQUFFO1lBQ3ZHLE1BQU0sYUFBYSxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNoRSxJQUFJLFVBQVUsRUFBRTtnQkFDZCxhQUFhLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ3pDO1lBQ0QsU0FBUyxDQUFDLEtBQUssR0FBRyxhQUFhLENBQUM7WUFDaEMsSUFBSSxXQUFXLEVBQUU7Z0JBQ2YsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ3hCO1FBQ0gsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNKLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELE1BQU0sQ0FBQyxTQUEyRDtRQUNoRSxNQUFNLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxXQUFXLEdBQUcsU0FBUyxDQUFDO1FBQzdCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLGdCQUFnQixDQUFDLGdCQUF5QjtRQUMvQyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2xELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFR5cGUgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL292ZXJsYXlcIjtcbmltcG9ydCB7IEZ1bmN0aW9ucywgVHlwZXMsIFZhbGlkYXRvciB9IGZyb20gXCJAY29vbG9uL3BlY3RpblwiO1xuaW1wb3J0IHsgYXNzZXJ0IH0gZnJvbSBcIkBjb29sb24vdHlwZXNjcmlwdC11dGlsaXRpZXNcIjtcbmltcG9ydCB7IGlzRnVuY3Rpb24gfSBmcm9tIFwibG9kYXNoLWVzXCI7XG5pbXBvcnQgeyBFZGl0U2Vzc2lvbiB9IGZyb20gXCIuLi9lZGl0b3IvZWRpdC1zZXNzaW9uXCI7XG5pbXBvcnQgeyBDZWxsTGlzdEVkaXRvckNvbXBvbmVudCB9IGZyb20gXCIuLi9yZW5kZXJlci9jZWxsLWVkaXRvcnNcIjtcbmltcG9ydCB7IENlbGxFZGl0b3JQb3J0YWxSZWYsIENvbXBvbmVudENlbGxSZW5kZXJlclBvcnRhbFJlZiB9IGZyb20gXCIuLi9yZW5kZXJlci9jZWxsLXBvcnRhbC1yZWZcIjtcbmltcG9ydCB7IENlbGxSZW5kZXJlciB9IGZyb20gXCIuLi9yZW5kZXJlci9jZWxsLXJlbmRlcmVyXCI7XG5pbXBvcnQgeyBEZWZhdWx0Q2VsbFJlbmRlcmVyQ29tcG9uZW50IH0gZnJvbSBcIi4uL3JlbmRlcmVyL2RlZmF1bHQtY2VsbC1yZW5kZXJlci9kZWZhdWx0LWNlbGwtcmVuZGVyZXIuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBDb2x1bW5UZXh0U2VhcmNoRm9ybWF0dGVyIH0gZnJvbSBcIi4uL2ZpbHRlci9jb2x1bW4tdGV4dC1zZWFyY2gtZm9ybWF0dGVyXCI7XG5pbXBvcnQgeyBFbmFibGVDZWxsVGV4dFNlYXJjaCB9IGZyb20gXCIuLi9maWx0ZXIvZW5hYmxlLWNlbGwtdGV4dC1zZWFyY2guZGVjb3JhdG9yXCI7XG5pbXBvcnQgeyBDb2x1bW5Nb2RlbCB9IGZyb20gXCIuL2NvbHVtbi1tb2RlbFwiO1xuXG5leHBvcnQgY2xhc3MgTGlzdFByb3BlcnR5Q29sdW1uTW9kZWw8Um93LCBQIGV4dGVuZHMgVHlwZXMuQXJyYXlQcm9wZXJ0aWVzT2Y8Um93Pj4gZXh0ZW5kcyBDb2x1bW5Nb2RlbDxSb3c+IHtcblxuICBwcml2YXRlIF91c2VyRm9ybWF0OiAodmFsdWU6IFR5cGVzLkFycmF5RWxlbWVudFR5cGU8Um93LCBQPltdKSA9PiBhbnk7XG4gIHByaXZhdGUgX2RlZmF1bHRTZWFyY2hUZXh0Rm9ybWF0ID0gdmFsdWUgPT4ge1xuICAgIGNvbnN0IGludGVybWVkaWF0ZSA9ICh0aGlzLl91c2VyRm9ybWF0ID8/IEZ1bmN0aW9ucy5pZGVudGl0eSkodmFsdWUpO1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KGludGVybWVkaWF0ZSkgP1xuICAgICAgaW50ZXJtZWRpYXRlLm1hcCh2ID0+IHY/LnRvU3RyaW5nKCkpLmpvaW4oXCIsIFwiKSA6XG4gICAgICBpbnRlcm1lZGlhdGU/LnRvU3RyaW5nKClcbiAgfTtcblxuICBjb25zdHJ1Y3RvcihpZDogc3RyaW5nLCByZWFkb25seSBwcm9wZXJ0eTogUCwgZGVmYXVsdHM6IENvbHVtbk1vZGVsLlRleHRQcm9wZXJ0aWVzUHJvdmlkZXIpIHtcbiAgICBzdXBlcihpZCwgZGVmYXVsdHMpO1xuICAgIHRoaXMuY2VsbFJlbmRlcmVyKERlZmF1bHRDZWxsUmVuZGVyZXJDb21wb25lbnQpO1xuICB9XG5cbiAgY2VsbFJlbmRlcmVyKGNvbXBvbmVudFR5cGU6IENvbXBvbmVudFR5cGU8Q2VsbFJlbmRlcmVyPFR5cGVzLkFycmF5RWxlbWVudFR5cGU8Um93LCBQPltdPj4pOiBPbWl0PHRoaXMsIFwiZm9ybWF0XCI+IHsgLy8gaGFjazogZm9ybWF0IGFuZCBjZWxsIHJlbmRlcmVycyB0b2dldGhlciBicmVhayB0aGUgdHlwZXMuXG4gICAgdGhpcy5jb25maWd1cmVDb2x1bW5UZXh0U2VhcmNoKFxuICAgICAgRW5hYmxlQ2VsbFRleHRTZWFyY2guZ2V0Rm9ybWF0dGVyKGNvbXBvbmVudFR5cGUsICgpID0+IENvbHVtblRleHRTZWFyY2hGb3JtYXR0ZXIuZm9yRm9ybWF0dGVyKHRoaXMuX2RlZmF1bHRTZWFyY2hUZXh0Rm9ybWF0KSksXG4gICAgICByb3cgPT4gcm93W3RoaXMucHJvcGVydHldXG4gICAgKTtcbiAgICB0aGlzLmNvbmZpZ3VyZUNlbGxSZW5kZXJlcihuZXcgQ29tcG9uZW50Q2VsbFJlbmRlcmVyUG9ydGFsUmVmKGNvbXBvbmVudFR5cGUsIChjb21wb25lbnQsIHJvd0RhdGEpID0+IHtcbiAgICAgIGNvbnN0IHJvd1ZhbHVlID0gcm93RGF0YS5yb3dbdGhpcy5wcm9wZXJ0eV07XG4gICAgICAvLyBAdHMtaWdub3JlIFN0YXJ0ZWQgY29tcGxhaW5pbmcgaW4gdHMgNC41Li4gYnV0IEkgdGhpbmsgbXkgbG9naWMgaXMgY29ycmVjdC4uLlxuICAgICAgY29tcG9uZW50LnZhbHVlID0gKHRoaXMuX3VzZXJGb3JtYXQpID8gdGhpcy5fdXNlckZvcm1hdChyb3dWYWx1ZSkgOiByb3dWYWx1ZTtcbiAgICB9KSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBjZWxsRWRpdG9yPEMgZXh0ZW5kcyBDZWxsTGlzdEVkaXRvckNvbXBvbmVudDxUeXBlcy5BcnJheUVsZW1lbnRUeXBlPFJvdywgUD4+PihlZGl0b3I6IENvbXBvbmVudFR5cGU8Qz4sIHZhbGlkYXRvcnM/OiBWYWxpZGF0b3I8VHlwZXMuQXJyYXlFbGVtZW50VHlwZTxSb3csIFA+W10+W10sIGluaXRpYWxpc2VDb21wb25lbnQ/OiAoY29tcG9uZW50OiBDKSA9PiB2b2lkKTogdGhpc1xuICBjZWxsRWRpdG9yPEMgZXh0ZW5kcyBDZWxsTGlzdEVkaXRvckNvbXBvbmVudDxUeXBlcy5BcnJheUVsZW1lbnRUeXBlPFJvdywgUD4+PihlZGl0b3I6IENvbXBvbmVudFR5cGU8Qz4sIGluaXRpYWxpc2VDb21wb25lbnQ/OiAoY29tcG9uZW50OiBDKSA9PiB2b2lkKTogdGhpc1xuICBjZWxsRWRpdG9yPEMgZXh0ZW5kcyBDZWxsTGlzdEVkaXRvckNvbXBvbmVudDxUeXBlcy5BcnJheUVsZW1lbnRUeXBlPFJvdywgUD4+PihlZGl0b3I6IENvbXBvbmVudFR5cGU8Qz4sIHZhbGlkYXRvcnNPckluaXRpYWxpc2VyPzogVmFsaWRhdG9yPFR5cGVzLkFycmF5RWxlbWVudFR5cGU8Um93LCBQPltdPltdIHwgKChjb21wb25lbnQ6IEMpID0+IHZvaWQpLCBpbml0aWFsaXNlQ29tcG9uZW50PzogKGNvbXBvbmVudDogQykgPT4gdm9pZCk6IHRoaXMge1xuICAgIGNvbnN0IHZhbGlkYXRvcnMgPSBBcnJheS5pc0FycmF5KHZhbGlkYXRvcnNPckluaXRpYWxpc2VyKSA/IHZhbGlkYXRvcnNPckluaXRpYWxpc2VyIDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IGluaXRpYWxpc2VyID0gaXNGdW5jdGlvbih2YWxpZGF0b3JzT3JJbml0aWFsaXNlcikgPyB2YWxpZGF0b3JzT3JJbml0aWFsaXNlciA6IGluaXRpYWxpc2VDb21wb25lbnQ7XG5cbiAgICB0aGlzLmNvbmZpZ3VyZUNlbGxFZGl0b3IobmV3IENlbGxFZGl0b3JQb3J0YWxSZWYoZWRpdG9yLCAoY29tcG9uZW50OiBDLCBlZGl0U2Vzc2lvbjogRWRpdFNlc3Npb248Um93PikgPT4ge1xuICAgICAgY29uc3QgZm9ybUxpc3RNb2RlbCA9IGVkaXRTZXNzaW9uLmZvcm0ucGx1Y2tMaXN0KHRoaXMucHJvcGVydHkpO1xuICAgICAgaWYgKHZhbGlkYXRvcnMpIHtcbiAgICAgICAgZm9ybUxpc3RNb2RlbC52YWxpZGF0ZVVzaW5nKHZhbGlkYXRvcnMpO1xuICAgICAgfVxuICAgICAgY29tcG9uZW50Lmxpc3QkID0gZm9ybUxpc3RNb2RlbDtcbiAgICAgIGlmIChpbml0aWFsaXNlcikge1xuICAgICAgICBpbml0aWFsaXNlcihjb21wb25lbnQpO1xuICAgICAgfVxuICAgIH0pKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGZvcm1hdChmb3JtYXR0ZXI6ICh2YWx1ZTogVHlwZXMuQXJyYXlFbGVtZW50VHlwZTxSb3csIFA+W10pID0+IGFueSk6IE9taXQ8dGhpcywgXCJjZWxsUmVuZGVyZXJcIj4geyAvLyBoYWNrOiBmb3JtYXQgYW5kIGNlbGwgcmVuZGVyZXJzIHRvZ2V0aGVyIGJyZWFrIHRoZSB0eXBlcy5cbiAgICBhc3NlcnQuaXNGdW5jdGlvbihmb3JtYXR0ZXIpO1xuICAgIHRoaXMuX3VzZXJGb3JtYXQgPSBmb3JtYXR0ZXI7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0Um93T25DbGljayhzZWxlY3RSb3dPbkNsaWNrOiBib29sZWFuKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdFJvd09uQ2xpY2soc2VsZWN0Um93T25DbGljayk7XG4gIH1cbn1cbiJdfQ==
@@ -1,20 +1,19 @@
1
1
  import { Functions } from "@coolon/pectin";
2
2
  import { assert } from "@coolon/typescript-utilities";
3
3
  import { isFunction } from "lodash-es";
4
+ import { CellEditorPortalRef, ComponentCellRendererPortalRef } from "../renderer/cell-portal-ref";
5
+ import { DefaultCellRendererComponent } from "../renderer/default-cell-renderer/default-cell-renderer.component";
4
6
  import { ColumnTextSearchFormatter } from "../filter/column-text-search-formatter";
5
7
  import { EnableCellTextSearch } from "../filter/enable-cell-text-search.decorator";
6
- import { ComponentCellRendererPortalRef } from "../renderer/cell-portal-ref";
7
- import { DefaultCellRendererComponent } from "../renderer/default-cell-renderer/default-cell-renderer.component";
8
8
  import { ColumnModel } from "./column-model";
9
9
  export class PropertyColumnModel extends ColumnModel {
10
10
  property;
11
- // eslint-disable-next-line @typescript-eslint/no-explicit-any -- format callback returns arbitrary display value
12
11
  _userFormat;
13
12
  _defaultSearchTextFormatter = (value) => {
14
13
  return (this._userFormat ?? Functions.identity)(value)?.toString();
15
14
  };
16
- constructor(id, order, property, defaults) {
17
- super(id, order, defaults);
15
+ constructor(id, property, defaults) {
16
+ super(id, defaults);
18
17
  this.property = property;
19
18
  this.cellRenderer(DefaultCellRendererComponent);
20
19
  }
@@ -72,7 +71,21 @@ export class PropertyColumnModel extends ColumnModel {
72
71
  }));
73
72
  return this;
74
73
  }
75
- // eslint-disable-next-line @typescript-eslint/no-explicit-any -- format callback returns arbitrary display value
74
+ cellEditor(editor, validatorsOrInitialiser, onComponentInit) {
75
+ const validators = Array.isArray(validatorsOrInitialiser) ? validatorsOrInitialiser : undefined;
76
+ const initialiser = isFunction(validatorsOrInitialiser) ? validatorsOrInitialiser : onComponentInit;
77
+ this.configureCellEditor(new CellEditorPortalRef(editor, (component, editSession) => {
78
+ const formValueModel = editSession.form.pluck(this.property);
79
+ if (validators) {
80
+ formValueModel.validateUsing(validators);
81
+ }
82
+ component.value$ = formValueModel;
83
+ if (initialiser) {
84
+ initialiser(component);
85
+ }
86
+ }));
87
+ return this;
88
+ }
76
89
  format(formatter) {
77
90
  assert.isFunction(formatter);
78
91
  this._userFormat = formatter;
@@ -82,4 +95,4 @@ export class PropertyColumnModel extends ColumnModel {
82
95
  return this._selectRowOnClick(selectOnRowClick);
83
96
  }
84
97
  }
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktY29sdW1uLW1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXMvY29sdW1uL3Byb3BlcnR5LWNvbHVtbi1tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsU0FBUyxFQUFRLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxXQUFXLENBQUM7QUFDckMsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDakYsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFDakYsT0FBTyxFQUFDLDhCQUE4QixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFFM0UsT0FBTyxFQUFDLDRCQUE0QixFQUFDLE1BQU0sbUVBQW1FLENBQUM7QUFFL0csT0FBTyxFQUEyQixXQUFXLEVBQXdELE1BQU0sZ0JBQWdCLENBQUM7QUFHNUgsTUFBTSxPQUFPLG1CQUFnRixTQUFRLFdBQWdCO0lBUXZEO0lBTjVELGlIQUFpSDtJQUN6RyxXQUFXLENBQXlCO0lBQ3BDLDJCQUEyQixHQUFHLENBQUMsS0FBYSxFQUFFLEVBQUU7UUFDdEQsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFBO0lBQ3BFLENBQUMsQ0FBQTtJQUVELFlBQVksRUFBVSxFQUFFLEtBQXlCLEVBQVcsUUFBVyxFQUFFLFFBQTRDO1FBQ25ILEtBQUssQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBRCtCLGFBQVEsR0FBUixRQUFRLENBQUc7UUFF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R0FBRyxDQUFDLENBQUM7YUFDN0M7UUFFSCxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ0osT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsaUhBQWlIO0lBQ2pILE1BQU0sQ0FBQyxTQUFpQztRQUN0QyxNQUFNLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxXQUFXLEdBQUcsU0FBUyxDQUFDO1FBQzdCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLGdCQUFnQixDQUFDLGdCQUF5QjtRQUMvQyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2xELENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50VHlwZX0gZnJvbSBcIkBhbmd1bGFyL2Nkay9vdmVybGF5XCI7XG5pbXBvcnQge0Z1bmN0aW9ucywgVHlwZXN9IGZyb20gXCJAY29vbG9uL3BlY3RpblwiO1xuaW1wb3J0IHthc3NlcnR9IGZyb20gXCJAY29vbG9uL3R5cGVzY3JpcHQtdXRpbGl0aWVzXCI7XG5pbXBvcnQge2lzRnVuY3Rpb259IGZyb20gXCJsb2Rhc2gtZXNcIjtcbmltcG9ydCB7Q29sdW1uVGV4dFNlYXJjaEZvcm1hdHRlcn0gZnJvbSBcIi4uL2ZpbHRlci9jb2x1bW4tdGV4dC1zZWFyY2gtZm9ybWF0dGVyXCI7XG5pbXBvcnQge0VuYWJsZUNlbGxUZXh0U2VhcmNofSBmcm9tIFwiLi4vZmlsdGVyL2VuYWJsZS1jZWxsLXRleHQtc2VhcmNoLmRlY29yYXRvclwiO1xuaW1wb3J0IHtDb21wb25lbnRDZWxsUmVuZGVyZXJQb3J0YWxSZWZ9IGZyb20gXCIuLi9yZW5kZXJlci9jZWxsLXBvcnRhbC1yZWZcIjtcbmltcG9ydCB0eXBlIHtDZWxsUmVuZGVyZXJ9IGZyb20gXCIuLi9yZW5kZXJlci9jZWxsLXJlbmRlcmVyXCI7XG5pbXBvcnQge0RlZmF1bHRDZWxsUmVuZGVyZXJDb21wb25lbnR9IGZyb20gXCIuLi9yZW5kZXJlci9kZWZhdWx0LWNlbGwtcmVuZGVyZXIvZGVmYXVsdC1jZWxsLXJlbmRlcmVyLmNvbXBvbmVudFwiO1xuaW1wb3J0IHR5cGUge0VkaXRhYmxlQ2VsbFJlbmRlcmVyfSBmcm9tIFwiLi4vcmVuZGVyZXIvZWRpdGFibGUtY2VsbC1yZW5kZXJlclwiO1xuaW1wb3J0IHt0eXBlIENlbGxSZW5kZXJlck9wdGlvbnMsIENvbHVtbk1vZGVsLCB0eXBlIE11dGFibGVDZWxsUmVuZGVyZXJPcHRpb25zLCB0eXBlIE9uQ29tcG9uZW50SW5pdH0gZnJvbSBcIi4vY29sdW1uLW1vZGVsXCI7XG5pbXBvcnQgdHlwZSB7Q29sdW1uT3JkZXJNYW5hZ2VyfSBmcm9tIFwiLi9jb2x1bW4tb3JkZXItbWFuYWdlclwiO1xuXG5leHBvcnQgY2xhc3MgUHJvcGVydHlDb2x1bW5Nb2RlbDxSb3cgZXh0ZW5kcyBvYmplY3QsIFAgZXh0ZW5kcyBUeXBlcy5WYWx1ZVByb3BlcnRpZXNPZjxSb3c+PiBleHRlbmRzIENvbHVtbk1vZGVsPFJvdz4ge1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55IC0tIGZvcm1hdCBjYWxsYmFjayByZXR1cm5zIGFyYml0cmFyeSBkaXNwbGF5IHZhbHVlXG4gIHByaXZhdGUgX3VzZXJGb3JtYXQ6ICh2YWx1ZTogUm93W1BdKSA9PiBhbnk7XG4gIHByaXZhdGUgX2RlZmF1bHRTZWFyY2hUZXh0Rm9ybWF0dGVyID0gKHZhbHVlOiBSb3dbUF0pID0+IHtcbiAgICByZXR1cm4gKHRoaXMuX3VzZXJGb3JtYXQgPz8gRnVuY3Rpb25zLmlkZW50aXR5KSh2YWx1ZSk/LnRvU3RyaW5nKClcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKGlkOiBzdHJpbmcsIG9yZGVyOiBDb2x1bW5PcmRlck1hbmFnZXIsIHJlYWRvbmx5IHByb3BlcnR5OiBQLCBkZWZhdWx0czogQ29sdW1uTW9kZWwuVGV4dFByb3BlcnRpZXNQcm92aWRlcikge1xuICAgIHN1cGVyKGlkLCBvcmRlciwgZGVmYXVsdHMpO1xuICAgIHRoaXMuY2VsbFJlbmRlcmVyKERlZmF1bHRDZWxsUmVuZGVyZXJDb21wb25lbnQpO1xuICB9XG5cbiAgY2VsbFJlbmRlcmVyPEUgZXh0ZW5kcyBDZWxsUmVuZGVyZXI8Um93W1BdPj4oY29tcG9uZW50VHlwZTogQ29tcG9uZW50VHlwZTxFPiwgb3B0aW9ucz86IENlbGxSZW5kZXJlck9wdGlvbnM8Um93LCBFPik6IE9taXQ8dGhpcywgXCJmb3JtYXRcIj4gIC8vIGhhY2s6IGZvcm1hdCBhbmQgY2VsbCByZW5kZXJlcnMgdG9nZXRoZXIgYnJlYWsgdGhlIHR5cGVzLlxuICBjZWxsUmVuZGVyZXI8RSBleHRlbmRzIENlbGxSZW5kZXJlcjxSb3dbUF0+Pihjb21wb25lbnRUeXBlOiBDb21wb25lbnRUeXBlPEU+LCBvbkNvbXBvbmVudEluaXQ/OiBPbkNvbXBvbmVudEluaXQ8RT4pOiBPbWl0PHRoaXMsIFwiZm9ybWF0XCI+XG4gIGNlbGxSZW5kZXJlcjxFIGV4dGVuZHMgQ2VsbFJlbmRlcmVyPFJvd1tQXT4+KGNvbXBvbmVudFR5cGU6IENvbXBvbmVudFR5cGU8RT4sIG9uQ29tcG9uZW50SW5pdE9yT3B0aW9ucz86IENlbGxSZW5kZXJlck9wdGlvbnM8Um93LCBFPiB8IE9uQ29tcG9uZW50SW5pdDxFPik6IE9taXQ8dGhpcywgXCJmb3JtYXRcIj4ge1xuICAgIHRoaXMuY29uZmlndXJlQ29sdW1uVGV4dFNlYXJjaChcbiAgICAgIEVuYWJsZUNlbGxUZXh0U2VhcmNoLmdldEZvcm1hdHRlcihjb21wb25lbnRUeXBlLCAoKSA9PiBDb2x1bW5UZXh0U2VhcmNoRm9ybWF0dGVyLmZvckZvcm1hdHRlcih0aGlzLl9kZWZhdWx0U2VhcmNoVGV4dEZvcm1hdHRlcikpLFxuICAgICAgcm93ID0+IHJvd1t0aGlzLnByb3BlcnR5XVxuICAgICk7XG4gICAgdGhpcy5jb25maWd1cmVDZWxsUmVuZGVyZXIobmV3IENvbXBvbmVudENlbGxSZW5kZXJlclBvcnRhbFJlZihjb21wb25lbnRUeXBlLCAoY29tcG9uZW50LCByb3dEYXRhLCBmaXJzdFRpbWUpID0+IHtcbiAgICAgIGlmIChmaXJzdFRpbWUpIHtcbiAgICAgICAgaWYgKGlzRnVuY3Rpb24ob25Db21wb25lbnRJbml0T3JPcHRpb25zKSkge1xuICAgICAgICAgIG9uQ29tcG9uZW50SW5pdE9yT3B0aW9ucyhjb21wb25lbnQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmIChpc0Z1bmN0aW9uKG9uQ29tcG9uZW50SW5pdE9yT3B0aW9ucz8ub25Db21wb25lbnRJbml0KSkge1xuICAgICAgICAgICAgb25Db21wb25lbnRJbml0T3JPcHRpb25zLm9uQ29tcG9uZW50SW5pdChjb21wb25lbnQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgY29uc3Qgcm93VmFsdWUgPSByb3dEYXRhLnJvd1t0aGlzLnByb3BlcnR5XTtcbiAgICAgIGNvbXBvbmVudC52YWx1ZSA9IHRoaXMuX3VzZXJGb3JtYXQgPyB0aGlzLl91c2VyRm9ybWF0KHJvd1ZhbHVlKSA6IHJvd1ZhbHVlO1xuICAgIH0pKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGxpdmVFZGl0Q2VsbFJlbmRlcmVyPEUgZXh0ZW5kcyBFZGl0YWJsZUNlbGxSZW5kZXJlcjxSb3dbUF0+Pihjb21wb25lbnRUeXBlOiBDb21wb25lbnRUeXBlPEU+LCBvcHRpb25zOiBNdXRhYmxlQ2VsbFJlbmRlcmVyT3B0aW9uczxSb3csIEUsIFA+KTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMubXV0YWJsZUNlbGxSZW5kZXJlcihjb21wb25lbnRUeXBlLCBvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXByZWNhdGVkLiAgVXNlICNsaXZlRWRpdENlbGxSZW5kZXJlciBpbnN0ZWFkLlxuICAgKiBAcGFyYW0gY29tcG9uZW50VHlwZVxuICAgKiBAcGFyYW0gb3B0aW9uc1xuICAgKi9cbiAgbXV0YWJsZUNlbGxSZW5kZXJlcjxFIGV4dGVuZHMgRWRpdGFibGVDZWxsUmVuZGVyZXI8Um93W1BdPj4oY29tcG9uZW50VHlwZTogQ29tcG9uZW50VHlwZTxFPiwgb3B0aW9uczogTXV0YWJsZUNlbGxSZW5kZXJlck9wdGlvbnM8Um93LCBFLCBQPik6IHRoaXMge1xuXG4gICAgdGhpcy5jb25maWd1cmVDZWxsUmVuZGVyZXIobmV3IENvbXBvbmVudENlbGxSZW5kZXJlclBvcnRhbFJlZihjb21wb25lbnRUeXBlLCAoY29tcG9uZW50LCByb3dEYXRhLCBmaXJzdFRpbWUpID0+IHtcblxuICAgICAgLy8ga2VlcCBhIGxvY2FsIGNvcHkgbW9zdCByZWNlbnQgcm93IHZhbHVlIHNvIGl0J3MgYXZhaWxhYmxlIHRvIHRlaFxuICAgICAgLy8gZWRpdCBjYWxsYmFjayB3aXRob3V0IGhhdmluZyB0byBhZGQvcmVtb3ZlIHN1YnNjcmliZXJzIGFsbCB0aGUgdGltZS5cbiAgICAgIGNvbXBvbmVudFtDb2x1bW5Nb2RlbC5DRUxMX1JFTkRFUkVSX0NPTVBPTkVOVF9ST1dfQ0FDSEVdID0gcm93RGF0YS5yb3c7XG4gICAgICBsZXQgZGlzYWJsZUVkaXRDYWxsYmFjayA9IGZhbHNlO1xuXG4gICAgICBpZiAoZmlyc3RUaW1lKSB7XG4gICAgICAgIGlmIChpc0Z1bmN0aW9uKG9wdGlvbnM/Lm9uQ29tcG9uZW50SW5pdCkpIHtcbiAgICAgICAgICBvcHRpb25zLm9uQ29tcG9uZW50SW5pdChjb21wb25lbnQpO1xuICAgICAgICB9XG4gICAgICAgIC8vIGluc3RhbGwgb3VyIGVkaXQgY2FsbGJhY2tcbiAgICAgICAgY29tcG9uZW50Lm9uVmFsdWVFZGl0ZWQoKGlzLCB3YXMpID0+IHtcbiAgICAgICAgICBpZiAoIWRpc2FibGVFZGl0Q2FsbGJhY2spIHtcbiAgICAgICAgICAgIG9wdGlvbnMub25WYWx1ZUVkaXQoY29tcG9uZW50W0NvbHVtbk1vZGVsLkNFTExfUkVOREVSRVJfQ09NUE9ORU5UX1JPV19DQUNIRV0sIGlzLCB3YXMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgIH1cblxuICAgICAgLy8gbm93IHB1c2ggdGhlIHZhbHVlIHRoZSBjb21wb25lbnQgYW5kIGRpc2FibGUgdGhlIGNhbGxiYWNrIGp1c3QgaW5jYXNlIHRoZSBjb21wb25lbnQgbWlzYmVoYXZlc1xuICAgICAgLy8gYW5kIGZpcmVzIGEgdmFsdWUgY2hhbmdlIGR1cmluZyB0aGUgb3BlcmF0aW9uLlxuICAgICAgZGlzYWJsZUVkaXRDYWxsYmFjayA9IHRydWU7XG4gICAgICBjb21wb25lbnQudmFsdWUgPSByb3dEYXRhLnJvd1t0aGlzLnByb3BlcnR5XTtcbiAgICAgIGRpc2FibGVFZGl0Q2FsbGJhY2sgPSBmYWxzZTtcblxuICAgICAgaWYgKCFpc0Z1bmN0aW9uKG9wdGlvbnMpICYmIGlzRnVuY3Rpb24ob3B0aW9ucz8ub25Sb3dVcGRhdGUpKSB7XG4gICAgICAgIG9wdGlvbnMub25Sb3dVcGRhdGUoY29tcG9uZW50LCByb3dEYXRhLnJvdyk7XG4gICAgICB9XG5cbiAgICB9KSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAtLSBmb3JtYXQgY2FsbGJhY2sgcmV0dXJucyBhcmJpdHJhcnkgZGlzcGxheSB2YWx1ZVxuICBmb3JtYXQoZm9ybWF0dGVyOiAodmFsdWU6IFJvd1tQXSkgPT4gYW55KTogT21pdDx0aGlzLCBcImNlbGxSZW5kZXJlclwiPiB7IC8vIGhhY2s6IGZvcm1hdCBhbmQgY2VsbCByZW5kZXJlcnMgdG9nZXRoZXIgYnJlYWsgdGhlIHR5cGVzLlxuICAgIGFzc2VydC5pc0Z1bmN0aW9uKGZvcm1hdHRlcik7XG4gICAgdGhpcy5fdXNlckZvcm1hdCA9IGZvcm1hdHRlcjtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3RSb3dPbkNsaWNrKHNlbGVjdE9uUm93Q2xpY2s6IGJvb2xlYW4pOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0Um93T25DbGljayhzZWxlY3RPblJvd0NsaWNrKTtcbiAgfVxuXG59XG4iXX0=
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktY29sdW1uLW1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXMvY29sdW1uL3Byb3BlcnR5LWNvbHVtbi1tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFvQixNQUFNLGdCQUFnQixDQUFDO0FBQzdELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBSXZDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRWxHLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG1FQUFtRSxDQUFDO0FBQ2pILE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ25GLE9BQU8sRUFBdUIsV0FBVyxFQUErQyxNQUFNLGdCQUFnQixDQUFDO0FBRS9HLE1BQU0sT0FBTyxtQkFBaUUsU0FBUSxXQUFnQjtJQU9uRTtJQUx6QixXQUFXLENBQXlCO0lBQ3BDLDJCQUEyQixHQUFHLENBQUMsS0FBYSxFQUFFLEVBQUU7UUFDdEQsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFBO0lBQ3BFLENBQUMsQ0FBQTtJQUVELFlBQVksRUFBVSxFQUFXLFFBQVcsRUFBRSxRQUE0QztRQUN4RixLQUFLLENBQUMsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBRFcsYUFBUSxHQUFSLFFBQVEsQ0FBRztRQUUxQyxJQUFJLENBQUMsWUFBWSxDQUFD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bnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50VHlwZSB9IGZyb20gXCJAYW5ndWxhci9jZGsvb3ZlcmxheVwiO1xuaW1wb3J0IHsgRnVuY3Rpb25zLCBUeXBlcywgVmFsaWRhdG9yIH0gZnJvbSBcIkBjb29sb24vcGVjdGluXCI7XG5pbXBvcnQgeyBhc3NlcnQgfSBmcm9tIFwiQGNvb2xvbi90eXBlc2NyaXB0LXV0aWxpdGllc1wiO1xuaW1wb3J0IHsgaXNGdW5jdGlvbiB9IGZyb20gXCJsb2Rhc2gtZXNcIjtcbmltcG9ydCB7IEVkaXRTZXNzaW9uIH0gZnJvbSBcIi4uL2VkaXRvci9lZGl0LXNlc3Npb25cIjtcbmltcG9ydCB7IEVkaXRhYmxlQ2VsbFJlbmRlcmVyIH0gZnJvbSBcIi4uL2VkaXRvci9lZGl0YWJsZS1jZWxsLXJlbmRlcmVyXCI7XG5pbXBvcnQgeyBDZWxsRWRpdG9yQ29tcG9uZW50IH0gZnJvbSBcIi4uL3JlbmRlcmVyL2NlbGwtZWRpdG9yc1wiO1xuaW1wb3J0IHsgQ2VsbEVkaXRvclBvcnRhbFJlZiwgQ29tcG9uZW50Q2VsbFJlbmRlcmVyUG9ydGFsUmVmIH0gZnJvbSBcIi4uL3JlbmRlcmVyL2NlbGwtcG9ydGFsLXJlZlwiO1xuaW1wb3J0IHsgQ2VsbFJlbmRlcmVyIH0gZnJvbSBcIi4uL3JlbmRlcmVyL2NlbGwtcmVuZGVyZXJcIjtcbmltcG9ydCB7IERlZmF1bHRDZWxsUmVuZGVyZXJDb21wb25lbnQgfSBmcm9tIFwiLi4vcmVuZGVyZXIvZGVmYXVsdC1jZWxsLXJlbmRlcmVyL2RlZmF1bHQtY2VsbC1yZW5kZXJlci5jb21wb25lbnRcIjtcbmltcG9ydCB7IENvbHVtblRleHRTZWFyY2hGb3JtYXR0ZXIgfSBmcm9tIFwiLi4vZmlsdGVyL2NvbHVtbi10ZXh0LXNlYXJjaC1mb3JtYXR0ZXJcIjtcbmltcG9ydCB7IEVuYWJsZUNlbGxUZXh0U2VhcmNoIH0gZnJvbSBcIi4uL2ZpbHRlci9lbmFibGUtY2VsbC10ZXh0LXNlYXJjaC5kZWNvcmF0b3JcIjtcbmltcG9ydCB7IENlbGxSZW5kZXJlck9wdGlvbnMsIENvbHVtbk1vZGVsLCBNdXRhYmxlQ2VsbFJlbmRlcmVyT3B0aW9ucywgT25Db21wb25lbnRJbml0IH0gZnJvbSBcIi4vY29sdW1uLW1vZGVsXCI7XG5cbmV4cG9ydCBjbGFzcyBQcm9wZXJ0eUNvbHVtbk1vZGVsPFJvdywgUCBleHRlbmRzIFR5cGVzLlZhbHVlUHJvcGVydGllc09mPFJvdz4+IGV4dGVuZHMgQ29sdW1uTW9kZWw8Um93PiB7XG5cbiAgcHJpdmF0ZSBfdXNlckZvcm1hdDogKHZhbHVlOiBSb3dbUF0pID0+IGFueTtcbiAgcHJpdmF0ZSBfZGVmYXVsdFNlYXJjaFRleHRGb3JtYXR0ZXIgPSAodmFsdWU6IFJvd1tQXSkgPT4ge1xuICAgIHJldHVybiAodGhpcy5fdXNlckZvcm1hdCA/PyBGdW5jdGlvbnMuaWRlbnRpdHkpKHZhbHVlKT8udG9TdHJpbmcoKVxuICB9XG5cbiAgY29uc3RydWN0b3IoaWQ6IHN0cmluZywgcmVhZG9ubHkgcHJvcGVydHk6IFAsIGRlZmF1bHRzOiBDb2x1bW5Nb2RlbC5UZXh0UHJvcGVydGllc1Byb3ZpZGVyKSB7XG4gICAgc3VwZXIoaWQsIGRlZmF1bHRzKTtcbiAgICB0aGlzLmNlbGxSZW5kZXJlcihEZWZhdWx0Q2VsbFJlbmRlcmVyQ29tcG9uZW50KTtcbiAgfVxuXG4gIGNlbGxSZW5kZXJlcjxFIGV4dGVuZHMgQ2VsbFJlbmRlcmVyPFJvd1tQXT4+KGNvbXBvbmVudFR5cGU6IENvbXBvbmVudFR5cGU8RT4sIG9wdGlvbnM/OiBDZWxsUmVuZGVyZXJPcHRpb25zPFJvdywgRT4pOiBPbWl0PHRoaXMsIFwiZm9ybWF0XCI+ICAvLyBoYWNrOiBmb3JtYXQgYW5kIGNlbGwgcmVuZGVyZXJzIHRvZ2V0aGVyIGJyZWFrIHRoZSB0eXBlcy5cbiAgY2VsbFJlbmRlcmVyPEUgZXh0ZW5kcyBDZWxsUmVuZGVyZXI8Um93W1BdPj4oY29tcG9uZW50VHlwZTogQ29tcG9uZW50VHlwZTxFPiwgb25Db21wb25lbnRJbml0PzogT25Db21wb25lbnRJbml0PEU+KTogT21pdDx0aGlzLCBcImZvcm1hdFwiPlxuICBjZWxsUmVuZGVyZXI8RSBleHRlbmRzIENlbGxSZW5kZXJlcjxSb3dbUF0+Pihjb21wb25lbnRUeXBlOiBDb21wb25lbnRUeXBlPEU+LCBvbkNvbXBvbmVudEluaXRPck9wdGlvbnM/OiBDZWxsUmVuZGVyZXJPcHRpb25zPFJvdywgRT4gfCBPbkNvbXBvbmVudEluaXQ8RT4pOiBPbWl0PHRoaXMsIFwiZm9ybWF0XCI+IHtcbiAgICB0aGlzLmNvbmZpZ3VyZUNvbHVtblRleHRTZWFyY2goXG4gICAgICBFbmFibGVDZWxsVGV4dFNlYXJjaC5nZXRGb3JtYXR0ZXIoY29tcG9uZW50VHlwZSwgKCkgPT4gQ29sdW1uVGV4dFNlYXJjaEZvcm1hdHRlci5mb3JGb3JtYXR0ZXIodGhpcy5fZGVmYXVsdFNlYXJjaFRleHRGb3JtYXR0ZXIpKSxcbiAgICAgIHJvdyA9PiByb3dbdGhpcy5wcm9wZXJ0eV1cbiAgICApO1xuICAgIHRoaXMuY29uZmlndXJlQ2VsbFJlbmRlcmVyKG5ldyBDb21wb25lbnRDZWxsUmVuZGVyZXJQb3J0YWxSZWYoY29tcG9uZW50VHlwZSwgKGNvbXBvbmVudCwgcm93RGF0YSwgZmlyc3RUaW1lKSA9PiB7XG4gICAgICBpZiAoZmlyc3RUaW1lKSB7XG4gICAgICAgIGlmIChpc0Z1bmN0aW9uKG9uQ29tcG9uZW50SW5pdE9yT3B0aW9ucykpIHtcbiAgICAgICAgICBvbkNvbXBvbmVudEluaXRPck9wdGlvbnMoY29tcG9uZW50KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAoaXNGdW5jdGlvbihvbkNvbXBvbmVudEluaXRPck9wdGlvbnM/Lm9uQ29tcG9uZW50SW5pdCkpIHtcbiAgICAgICAgICAgIG9uQ29tcG9uZW50SW5pdE9yT3B0aW9ucy5vbkNvbXBvbmVudEluaXQoY29tcG9uZW50KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGNvbnN0IHJvd1ZhbHVlID0gcm93RGF0YS5yb3dbdGhpcy5wcm9wZXJ0eV07XG4gICAgICBjb21wb25lbnQudmFsdWUgPSB0aGlzLl91c2VyRm9ybWF0ID8gdGhpcy5fdXNlckZvcm1hdChyb3dWYWx1ZSkgOiByb3dWYWx1ZTtcbiAgICB9KSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBsaXZlRWRpdENlbGxSZW5kZXJlcjxFIGV4dGVuZHMgRWRpdGFibGVDZWxsUmVuZGVyZXI8Um93W1BdPj4oY29tcG9uZW50VHlwZTogQ29tcG9uZW50VHlwZTxFPiwgb3B0aW9uczogTXV0YWJsZUNlbGxSZW5kZXJlck9wdGlvbnM8Um93LCBFLCBQPik6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLm11dGFibGVDZWxsUmVuZGVyZXIoY29tcG9uZW50VHlwZSwgb3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogRGVwcmVjYXRlZC4gIFVzZSAjbGl2ZUVkaXRDZWxsUmVuZGVyZXIgaW5zdGVhZC5cbiAgICogQHBhcmFtIGNvbXBvbmVudFR5cGVcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICovXG4gIG11dGFibGVDZWxsUmVuZGVyZXI8RSBleHRlbmRzIEVkaXRhYmxlQ2VsbFJlbmRlcmVyPFJvd1tQXT4+KGNvbXBvbmVudFR5cGU6IENvbXBvbmVudFR5cGU8RT4sIG9wdGlvbnM6IE11dGFibGVDZWxsUmVuZGVyZXJPcHRpb25zPFJvdywgRSwgUD4pOiB0aGlzIHtcblxuICAgIHRoaXMuY29uZmlndXJlQ2VsbFJlbmRlcmVyKG5ldyBDb21wb25lbnRDZWxsUmVuZGVyZXJQb3J0YWxSZWYoY29tcG9uZW50VHlwZSwgKGNvbXBvbmVudCwgcm93RGF0YSwgZmlyc3RUaW1lKSA9PiB7XG5cbiAgICAgIC8vIGtlZXAgYSBsb2NhbCBjb3B5IG1vc3QgcmVjZW50IHJvdyB2YWx1ZSBzbyBpdCdzIGF2YWlsYWJsZSB0byB0ZWhcbiAgICAgIC8vIGVkaXQgY2FsbGJhY2sgd2l0aG91dCBoYXZpbmcgdG8gYWRkL3JlbW92ZSBzdWJzY3JpYmVycyBhbGwgdGhlIHRpbWUuXG4gICAgICBjb21wb25lbnRbQ29sdW1uTW9kZWwuQ0VMTF9SRU5ERVJFUl9DT01QT05FTlRfUk9XX0NBQ0hFXSA9IHJvd0RhdGEucm93O1xuICAgICAgbGV0IGRpc2FibGVFZGl0Q2FsbGJhY2sgPSBmYWxzZTtcblxuICAgICAgaWYgKGZpcnN0VGltZSkge1xuICAgICAgICBpZiAoaXNGdW5jdGlvbihvcHRpb25zPy5vbkNvbXBvbmVudEluaXQpKSB7XG4gICAgICAgICAgb3B0aW9ucy5vbkNvbXBvbmVudEluaXQoY29tcG9uZW50KTtcbiAgICAgICAgfVxuICAgICAgICAvLyBpbnN0YWxsIG91ciBlZGl0IGNhbGxiYWNrXG4gICAgICAgIGNvbXBvbmVudC5vblZhbHVlRWRpdGVkKChpcywgd2FzKSA9PiB7XG4gICAgICAgICAgaWYgKCFkaXNhYmxlRWRpdENhbGxiYWNrKSB7XG4gICAgICAgICAgICBvcHRpb25zLm9uVmFsdWVFZGl0KGNvbXBvbmVudFtDb2x1bW5Nb2RlbC5DRUxMX1JFTkRFUkVSX0NPTVBPTkVOVF9ST1dfQ0FDSEVdLCBpcywgd2FzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICB9XG5cbiAgICAgIC8vIG5vdyBwdXNoIHRoZSB2YWx1ZSB0aGUgY29tcG9uZW50IGFuZCBkaXNhYmxlIHRoZSBjYWxsYmFjayBqdXN0IGluY2FzZSB0aGUgY29tcG9uZW50IG1pc2JlaGF2ZXNcbiAgICAgIC8vIGFuZCBmaXJlcyBhIHZhbHVlIGNoYW5nZSBkdXJpbmcgdGhlIG9wZXJhdGlvbi5cbiAgICAgIGRpc2FibGVFZGl0Q2FsbGJhY2sgPSB0cnVlO1xuICAgICAgY29tcG9uZW50LnZhbHVlID0gcm93RGF0YS5yb3dbdGhpcy5wcm9wZXJ0eV07XG4gICAgICBkaXNhYmxlRWRpdENhbGxiYWNrID0gZmFsc2U7XG5cbiAgICAgIGlmICghaXNGdW5jdGlvbihvcHRpb25zKSAmJiBpc0Z1bmN0aW9uKG9wdGlvbnM/Lm9uUm93VXBkYXRlKSkge1xuICAgICAgICBvcHRpb25zLm9uUm93VXBkYXRlKGNvbXBvbmVudCwgcm93RGF0YS5yb3cpO1xuICAgICAgfVxuXG4gICAgfSkpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgY2VsbEVkaXRvcjxFIGV4dGVuZHMgQ2VsbEVkaXRvckNvbXBvbmVudDxSb3dbUF0+PihlZGl0b3I6IENvbXBvbmVudFR5cGU8RT4sIHZhbGlkYXRvcnM/OiBWYWxpZGF0b3I8Um93W1BdPltdLCBpbml0aWFsaXNlQ29tcG9uZW50PzogKGNvbXBvbmVudDogRSkgPT4gdm9pZCk6IHRoaXNcbiAgY2VsbEVkaXRvcjxFIGV4dGVuZHMgQ2VsbEVkaXRvckNvbXBvbmVudDxSb3dbUF0+PihlZGl0b3I6IENvbXBvbmVudFR5cGU8RT4sIGluaXRpYWxpc2VDb21wb25lbnQ/OiAoY29tcG9uZW50OiBFKSA9PiB2b2lkKTogdGhpc1xuICBjZWxsRWRpdG9yPEUgZXh0ZW5kcyBDZWxsRWRpdG9yQ29tcG9uZW50PFJvd1tQXT4+KGVkaXRvcjogQ29tcG9uZW50VHlwZTxFPiwgdmFsaWRhdG9yc09ySW5pdGlhbGlzZXI/OiBWYWxpZGF0b3I8Um93W1BdPltdIHwgKChjb21wb25lbnQ6IEUpID0+IHZvaWQpLCBvbkNvbXBvbmVudEluaXQ/OiAoY29tcG9uZW50OiBFKSA9PiB2b2lkKTogdGhpcyB7XG4gICAgY29uc3QgdmFsaWRhdG9ycyA9IEFycmF5LmlzQXJyYXkodmFsaWRhdG9yc09ySW5pdGlhbGlzZXIpID8gdmFsaWRhdG9yc09ySW5pdGlhbGlzZXIgOiB1bmRlZmluZWQ7XG4gICAgY29uc3QgaW5pdGlhbGlzZXIgPSBpc0Z1bmN0aW9uKHZhbGlkYXRvcnNPckluaXRpYWxpc2VyKSA/IHZhbGlkYXRvcnNPckluaXRpYWxpc2VyIDogb25Db21wb25lbnRJbml0O1xuICAgIHRoaXMuY29uZmlndXJlQ2VsbEVkaXRvcihuZXcgQ2VsbEVkaXRvclBvcnRhbFJlZihlZGl0b3IsIChjb21wb25lbnQ6IEUsIGVkaXRTZXNzaW9uOiBFZGl0U2Vzc2lvbjxSb3c+KSA9PiB7XG4gICAgICBjb25zdCBmb3JtVmFsdWVNb2RlbCA9IGVkaXRTZXNzaW9uLmZvcm0ucGx1Y2sodGhpcy5wcm9wZXJ0eSk7XG4gICAgICBpZiAodmFsaWRhdG9ycykge1xuICAgICAgICBmb3JtVmFsdWVNb2RlbC52YWxpZGF0ZVVzaW5nKHZhbGlkYXRvcnMpO1xuICAgICAgfVxuICAgICAgY29tcG9uZW50LnZhbHVlJCA9IGZvcm1WYWx1ZU1vZGVsO1xuICAgICAgaWYgKGluaXRpYWxpc2VyKSB7XG4gICAgICAgIGluaXRpYWxpc2VyKGNvbXBvbmVudCk7XG4gICAgICB9XG4gICAgfSkpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgZm9ybWF0KGZvcm1hdHRlcjogKHZhbHVlOiBSb3dbUF0pID0+IGFueSk6IE9taXQ8dGhpcywgXCJjZWxsUmVuZGVyZXJcIj4geyAvLyBoYWNrOiBmb3JtYXQgYW5kIGNlbGwgcmVuZGVyZXJzIHRvZ2V0aGVyIGJyZWFrIHRoZSB0eXBlcy5cbiAgICBhc3NlcnQuaXNGdW5jdGlvbihmb3JtYXR0ZXIpO1xuICAgIHRoaXMuX3VzZXJGb3JtYXQgPSBmb3JtYXR0ZXI7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0Um93T25DbGljayhzZWxlY3RPblJvd0NsaWNrOiBib29sZWFuKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdFJvd09uQ2xpY2soc2VsZWN0T25Sb3dDbGljayk7XG4gIH1cblxufVxuIl19