@igo2/common 18.0.0-next.9 → 18.0.1-next.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 (318) hide show
  1. package/drag-drop/drag-drop.module.d.ts +2 -1
  2. package/drag-drop/public_api.d.ts +1 -0
  3. package/drag-drop/tree-drag-drop/index.d.ts +2 -0
  4. package/drag-drop/tree-drag-drop/tree-drag-drop.directive.d.ts +85 -0
  5. package/drag-drop/tree-drag-drop/tree-drag-drop.interface.d.ts +15 -0
  6. package/entity/src/entity-table/entity-table.theming.scss +1 -1
  7. package/fesm2022/igo2-common-action.mjs +16 -16
  8. package/fesm2022/igo2-common-action.mjs.map +1 -1
  9. package/fesm2022/igo2-common-backdrop.mjs +8 -8
  10. package/fesm2022/igo2-common-backdrop.mjs.map +1 -1
  11. package/fesm2022/igo2-common-badge.mjs +7 -7
  12. package/fesm2022/igo2-common-badge.mjs.map +1 -1
  13. package/fesm2022/igo2-common-clickout.mjs +7 -7
  14. package/fesm2022/igo2-common-clickout.mjs.map +1 -1
  15. package/fesm2022/igo2-common-clone.mjs +7 -7
  16. package/fesm2022/igo2-common-clone.mjs.map +1 -1
  17. package/fesm2022/igo2-common-collapsible.mjs +11 -11
  18. package/fesm2022/igo2-common-collapsible.mjs.map +1 -1
  19. package/fesm2022/igo2-common-color.mjs +9 -9
  20. package/fesm2022/igo2-common-color.mjs.map +1 -1
  21. package/fesm2022/igo2-common-confirm-dialog.mjs +11 -11
  22. package/fesm2022/igo2-common-confirm-dialog.mjs.map +1 -1
  23. package/fesm2022/igo2-common-context-menu.mjs +10 -10
  24. package/fesm2022/igo2-common-context-menu.mjs.map +1 -1
  25. package/fesm2022/igo2-common-custom-html.mjs +11 -11
  26. package/fesm2022/igo2-common-custom-html.mjs.map +1 -1
  27. package/fesm2022/igo2-common-dom.mjs +7 -7
  28. package/fesm2022/igo2-common-dom.mjs.map +1 -1
  29. package/fesm2022/igo2-common-drag-drop.mjs +400 -11
  30. package/fesm2022/igo2-common-drag-drop.mjs.map +1 -1
  31. package/fesm2022/igo2-common-dynamic-component.mjs +14 -14
  32. package/fesm2022/igo2-common-dynamic-component.mjs.map +1 -1
  33. package/fesm2022/igo2-common-entity.mjs +33 -33
  34. package/fesm2022/igo2-common-entity.mjs.map +1 -1
  35. package/fesm2022/igo2-common-flexible.mjs +7 -7
  36. package/fesm2022/igo2-common-flexible.mjs.map +1 -1
  37. package/fesm2022/igo2-common-form.mjs +64 -61
  38. package/fesm2022/igo2-common-form.mjs.map +1 -1
  39. package/fesm2022/igo2-common-home-button.mjs +8 -8
  40. package/fesm2022/igo2-common-home-button.mjs.map +1 -1
  41. package/fesm2022/igo2-common-icon.mjs +22 -15
  42. package/fesm2022/igo2-common-icon.mjs.map +1 -1
  43. package/fesm2022/igo2-common-image.mjs +10 -10
  44. package/fesm2022/igo2-common-image.mjs.map +1 -1
  45. package/fesm2022/igo2-common-interactive-tour.mjs +14 -14
  46. package/fesm2022/igo2-common-interactive-tour.mjs.map +1 -1
  47. package/fesm2022/igo2-common-json-dialog.mjs +11 -11
  48. package/fesm2022/igo2-common-json-dialog.mjs.map +1 -1
  49. package/fesm2022/igo2-common-keyvalue.mjs +7 -7
  50. package/fesm2022/igo2-common-keyvalue.mjs.map +1 -1
  51. package/fesm2022/igo2-common-list.mjs +11 -11
  52. package/fesm2022/igo2-common-list.mjs.map +1 -1
  53. package/fesm2022/igo2-common-panel.mjs +8 -8
  54. package/fesm2022/igo2-common-panel.mjs.map +1 -1
  55. package/fesm2022/igo2-common-select-value-dialog.mjs +11 -11
  56. package/fesm2022/igo2-common-select-value-dialog.mjs.map +1 -1
  57. package/fesm2022/igo2-common-sidenav.mjs +7 -7
  58. package/fesm2022/igo2-common-sidenav.mjs.map +1 -1
  59. package/fesm2022/igo2-common-spinner.mjs +11 -11
  60. package/fesm2022/igo2-common-spinner.mjs.map +1 -1
  61. package/fesm2022/igo2-common-stop-propagation.mjs +10 -10
  62. package/fesm2022/igo2-common-stop-propagation.mjs.map +1 -1
  63. package/fesm2022/igo2-common-table.mjs +8 -8
  64. package/fesm2022/igo2-common-table.mjs.map +1 -1
  65. package/fesm2022/igo2-common-tool.mjs +15 -15
  66. package/fesm2022/igo2-common-tool.mjs.map +1 -1
  67. package/fesm2022/igo2-common-widget.mjs +15 -15
  68. package/fesm2022/igo2-common-widget.mjs.map +1 -1
  69. package/fesm2022/igo2-common-workspace.mjs +20 -20
  70. package/fesm2022/igo2-common-workspace.mjs.map +1 -1
  71. package/form/shared/form.interfaces.d.ts +1 -0
  72. package/icon/shared/icons.d.ts +2 -0
  73. package/locale/en.common.json +6 -0
  74. package/locale/fr.common.json +6 -0
  75. package/package.json +8 -76
  76. package/src/style/style.scss +1 -1
  77. package/style/style.css +4 -1
  78. package/esm2022/action/action.module.mjs +0 -19
  79. package/esm2022/action/actionbar/actionbar-item.component.mjs +0 -192
  80. package/esm2022/action/actionbar/actionbar.component.mjs +0 -277
  81. package/esm2022/action/actionbar/actionbar.module.mjs +0 -19
  82. package/esm2022/action/igo2-common-action.mjs +0 -5
  83. package/esm2022/action/public_api.mjs +0 -5
  84. package/esm2022/action/shared/action.enums.mjs +0 -7
  85. package/esm2022/action/shared/action.interfaces.mjs +0 -2
  86. package/esm2022/action/shared/index.mjs +0 -4
  87. package/esm2022/action/shared/store.mjs +0 -8
  88. package/esm2022/backdrop/backdrop.component.mjs +0 -21
  89. package/esm2022/backdrop/backdrop.module.mjs +0 -25
  90. package/esm2022/backdrop/igo2-common-backdrop.mjs +0 -5
  91. package/esm2022/backdrop/public_api.mjs +0 -3
  92. package/esm2022/badge/badge-icon.directive.mjs +0 -149
  93. package/esm2022/badge/badge-icon.module.mjs +0 -25
  94. package/esm2022/badge/igo2-common-badge.mjs +0 -5
  95. package/esm2022/badge/public_api.mjs +0 -3
  96. package/esm2022/clickout/clickout.directive.mjs +0 -32
  97. package/esm2022/clickout/clickout.module.mjs +0 -25
  98. package/esm2022/clickout/igo2-common-clickout.mjs +0 -5
  99. package/esm2022/clickout/public_api.mjs +0 -3
  100. package/esm2022/clone/clone.module.mjs +0 -25
  101. package/esm2022/clone/clone.pipe.mjs +0 -25
  102. package/esm2022/clone/igo2-common-clone.mjs +0 -5
  103. package/esm2022/clone/public_api.mjs +0 -3
  104. package/esm2022/collapsible/collapse.directive.mjs +0 -57
  105. package/esm2022/collapsible/collapsible.component.mjs +0 -38
  106. package/esm2022/collapsible/collapsible.module.mjs +0 -26
  107. package/esm2022/collapsible/igo2-common-collapsible.mjs +0 -5
  108. package/esm2022/collapsible/public_api.mjs +0 -10
  109. package/esm2022/color/color-picker-form-field/color-picker-form-field.component.mjs +0 -104
  110. package/esm2022/color/color-picker-form-field/color-picker-form-field.module.mjs +0 -19
  111. package/esm2022/color/color-picker-form-field/index.mjs +0 -3
  112. package/esm2022/color/igo2-common-color.mjs +0 -5
  113. package/esm2022/color/public_api.mjs +0 -2
  114. package/esm2022/confirm-dialog/confirm-dialog.component.mjs +0 -31
  115. package/esm2022/confirm-dialog/confirm-dialog.interface.mjs +0 -2
  116. package/esm2022/confirm-dialog/confirm-dialog.module.mjs +0 -27
  117. package/esm2022/confirm-dialog/confirm-dialog.service.mjs +0 -35
  118. package/esm2022/confirm-dialog/igo2-common-confirm-dialog.mjs +0 -5
  119. package/esm2022/confirm-dialog/public_api.mjs +0 -5
  120. package/esm2022/context-menu/context-menu.directive.mjs +0 -109
  121. package/esm2022/context-menu/context-menu.module.mjs +0 -26
  122. package/esm2022/context-menu/igo2-common-context-menu.mjs +0 -5
  123. package/esm2022/context-menu/long-press.directive.mjs +0 -65
  124. package/esm2022/context-menu/public_api.mjs +0 -10
  125. package/esm2022/custom-html/custom-html.component.mjs +0 -21
  126. package/esm2022/custom-html/custom-html.module.mjs +0 -25
  127. package/esm2022/custom-html/custom-html.pipe.mjs +0 -23
  128. package/esm2022/custom-html/igo2-common-custom-html.mjs +0 -5
  129. package/esm2022/custom-html/public_api.mjs +0 -10
  130. package/esm2022/dom/dom.interfaces.mjs +0 -2
  131. package/esm2022/dom/dom.module.mjs +0 -27
  132. package/esm2022/dom/dom.service.mjs +0 -35
  133. package/esm2022/dom/igo2-common-dom.mjs +0 -5
  134. package/esm2022/dom/public_api.mjs +0 -4
  135. package/esm2022/drag-drop/drag-drop.directive.mjs +0 -82
  136. package/esm2022/drag-drop/drag-drop.module.mjs +0 -25
  137. package/esm2022/drag-drop/igo2-common-drag-drop.mjs +0 -5
  138. package/esm2022/drag-drop/public_api.mjs +0 -3
  139. package/esm2022/dynamic-component/dynamic-component.module.mjs +0 -19
  140. package/esm2022/dynamic-component/dynamic-outlet/dynamic-outlet.component.mjs +0 -129
  141. package/esm2022/dynamic-component/dynamic-outlet/dynamic-outlet.module.mjs +0 -19
  142. package/esm2022/dynamic-component/igo2-common-dynamic-component.mjs +0 -5
  143. package/esm2022/dynamic-component/public_api.mjs +0 -5
  144. package/esm2022/dynamic-component/shared/dynamic-component.interfaces.mjs +0 -2
  145. package/esm2022/dynamic-component/shared/dynamic-component.mjs +0 -183
  146. package/esm2022/dynamic-component/shared/dynamic-component.service.mjs +0 -30
  147. package/esm2022/dynamic-component/shared/index.mjs +0 -4
  148. package/esm2022/entity/entity-selector/entity-selector.component.mjs +0 -174
  149. package/esm2022/entity/entity-selector/entity-selector.module.mjs +0 -19
  150. package/esm2022/entity/entity-selector/index.mjs +0 -3
  151. package/esm2022/entity/entity-table/entity-table-row.directive.mjs +0 -138
  152. package/esm2022/entity/entity-table/entity-table.component.mjs +0 -883
  153. package/esm2022/entity/entity-table/entity-table.module.mjs +0 -19
  154. package/esm2022/entity/entity-table/index.mjs +0 -3
  155. package/esm2022/entity/entity-table-paginator/entity-table-paginator.component.mjs +0 -158
  156. package/esm2022/entity/entity-table-paginator/entity-table-paginator.interface.mjs +0 -2
  157. package/esm2022/entity/entity-table-paginator/entity-table-paginator.module.mjs +0 -19
  158. package/esm2022/entity/entity-table-paginator/index.mjs +0 -4
  159. package/esm2022/entity/entity.module.mjs +0 -30
  160. package/esm2022/entity/igo2-common-entity.mjs +0 -5
  161. package/esm2022/entity/public_api.mjs +0 -6
  162. package/esm2022/entity/shared/entity.enums.mjs +0 -28
  163. package/esm2022/entity/shared/entity.interfaces.mjs +0 -2
  164. package/esm2022/entity/shared/entity.utils.mjs +0 -73
  165. package/esm2022/entity/shared/index.mjs +0 -10
  166. package/esm2022/entity/shared/state.mjs +0 -194
  167. package/esm2022/entity/shared/store.mjs +0 -322
  168. package/esm2022/entity/shared/strategies/filter-custom-function.mjs +0 -80
  169. package/esm2022/entity/shared/strategies/filter-selection.mjs +0 -81
  170. package/esm2022/entity/shared/strategies/index.mjs +0 -4
  171. package/esm2022/entity/shared/strategies/strategy.mjs +0 -82
  172. package/esm2022/entity/shared/transaction.mjs +0 -329
  173. package/esm2022/entity/shared/view.mjs +0 -330
  174. package/esm2022/entity/shared/watcher.mjs +0 -135
  175. package/esm2022/environment/environment.interface.mjs +0 -2
  176. package/esm2022/environment/igo2-common-environment.mjs +0 -5
  177. package/esm2022/environment/public_api.mjs +0 -2
  178. package/esm2022/flexible/flexible.component.mjs +0 -137
  179. package/esm2022/flexible/flexible.module.mjs +0 -25
  180. package/esm2022/flexible/flexible.type.mjs +0 -2
  181. package/esm2022/flexible/igo2-common-flexible.mjs +0 -5
  182. package/esm2022/flexible/public_api.mjs +0 -4
  183. package/esm2022/form/form/form.component.mjs +0 -102
  184. package/esm2022/form/form/form.module.mjs +0 -19
  185. package/esm2022/form/form/index.mjs +0 -3
  186. package/esm2022/form/form-dialog/form-dialog.component.mjs +0 -94
  187. package/esm2022/form/form-dialog/form-dialog.interface.mjs +0 -2
  188. package/esm2022/form/form-dialog/form-dialog.module.mjs +0 -31
  189. package/esm2022/form/form-dialog/form-dialog.service.mjs +0 -30
  190. package/esm2022/form/form-dialog/index.mjs +0 -5
  191. package/esm2022/form/form-field/form-field-select.component.mjs +0 -117
  192. package/esm2022/form/form-field/form-field-text.component.mjs +0 -126
  193. package/esm2022/form/form-field/form-field-textarea.component.mjs +0 -95
  194. package/esm2022/form/form-field/form-field.component.mjs +0 -65
  195. package/esm2022/form/form-field/form-field.directive.mjs +0 -11
  196. package/esm2022/form/form-field/form-field.module.mjs +0 -23
  197. package/esm2022/form/form-field/index.mjs +0 -7
  198. package/esm2022/form/form-group/form-group.component.mjs +0 -81
  199. package/esm2022/form/form-group/form-group.module.mjs +0 -19
  200. package/esm2022/form/form-group/index.mjs +0 -3
  201. package/esm2022/form/form.module.mjs +0 -32
  202. package/esm2022/form/igo2-common-form.mjs +0 -5
  203. package/esm2022/form/public_api.mjs +0 -7
  204. package/esm2022/form/shared/form-field-component.mjs +0 -7
  205. package/esm2022/form/shared/form-field.service.mjs +0 -28
  206. package/esm2022/form/shared/form.interfaces.mjs +0 -2
  207. package/esm2022/form/shared/form.service.mjs +0 -82
  208. package/esm2022/form/shared/form.utils.mjs +0 -41
  209. package/esm2022/form/shared/index.mjs +0 -6
  210. package/esm2022/home-button/home-button.component.mjs +0 -25
  211. package/esm2022/home-button/home-button.module.mjs +0 -19
  212. package/esm2022/home-button/igo2-common-home-button.mjs +0 -5
  213. package/esm2022/home-button/public_api.mjs +0 -3
  214. package/esm2022/icon/icon/icon.component.mjs +0 -38
  215. package/esm2022/icon/icon.provider.mjs +0 -14
  216. package/esm2022/icon/igo2-common-icon.mjs +0 -5
  217. package/esm2022/icon/public_api.mjs +0 -4
  218. package/esm2022/icon/shared/icon.interface.mjs +0 -2
  219. package/esm2022/icon/shared/icon.service.mjs +0 -26
  220. package/esm2022/icon/shared/icons.mjs +0 -32
  221. package/esm2022/icon/shared/index.mjs +0 -4
  222. package/esm2022/igo2-common.mjs +0 -5
  223. package/esm2022/image/igo2-common-image.mjs +0 -5
  224. package/esm2022/image/image-error.directive.mjs +0 -35
  225. package/esm2022/image/image.module.mjs +0 -26
  226. package/esm2022/image/public_api.mjs +0 -7
  227. package/esm2022/image/secure-image.pipe.mjs +0 -66
  228. package/esm2022/interactive-tour/igo2-common-interactive-tour.mjs +0 -5
  229. package/esm2022/interactive-tour/interactive-tour.component.mjs +0 -131
  230. package/esm2022/interactive-tour/interactive-tour.interface.mjs +0 -2
  231. package/esm2022/interactive-tour/interactive-tour.loader.mjs +0 -49
  232. package/esm2022/interactive-tour/interactive-tour.module.mjs +0 -19
  233. package/esm2022/interactive-tour/interactive-tour.service.mjs +0 -303
  234. package/esm2022/interactive-tour/public_api.mjs +0 -6
  235. package/esm2022/json-dialog/igo2-common-json-dialog.mjs +0 -5
  236. package/esm2022/json-dialog/json-dialog.component.mjs +0 -38
  237. package/esm2022/json-dialog/json-dialog.module.mjs +0 -26
  238. package/esm2022/json-dialog/json-dialog.service.mjs +0 -26
  239. package/esm2022/json-dialog/public_api.mjs +0 -4
  240. package/esm2022/keyvalue/igo2-common-keyvalue.mjs +0 -5
  241. package/esm2022/keyvalue/keyvalue.module.mjs +0 -25
  242. package/esm2022/keyvalue/keyvalue.pipe.mjs +0 -19
  243. package/esm2022/keyvalue/public_api.mjs +0 -3
  244. package/esm2022/list/igo2-common-list.mjs +0 -5
  245. package/esm2022/list/list-item.directive.mjs +0 -166
  246. package/esm2022/list/list.component.mjs +0 -252
  247. package/esm2022/list/list.module.mjs +0 -26
  248. package/esm2022/list/public_api.mjs +0 -7
  249. package/esm2022/panel/igo2-common-panel.mjs +0 -5
  250. package/esm2022/panel/panel.component.mjs +0 -30
  251. package/esm2022/panel/panel.module.mjs +0 -19
  252. package/esm2022/panel/public_api.mjs +0 -3
  253. package/esm2022/public_api.mjs +0 -20
  254. package/esm2022/select-value-dialog/igo2-common-select-value-dialog.mjs +0 -5
  255. package/esm2022/select-value-dialog/public_api.mjs +0 -6
  256. package/esm2022/select-value-dialog/select-value-check-radio-dialog.component.mjs +0 -103
  257. package/esm2022/select-value-dialog/select-value-dialog.enums.mjs +0 -6
  258. package/esm2022/select-value-dialog/select-value-dialog.interface.mjs +0 -2
  259. package/esm2022/select-value-dialog/select-value-dialog.module.mjs +0 -27
  260. package/esm2022/select-value-dialog/select-value-dialog.service.mjs +0 -29
  261. package/esm2022/sidenav/igo2-common-sidenav.mjs +0 -5
  262. package/esm2022/sidenav/public_api.mjs +0 -3
  263. package/esm2022/sidenav/sidenav-shim.directive.mjs +0 -58
  264. package/esm2022/sidenav/sidenav.module.mjs +0 -25
  265. package/esm2022/spinner/igo2-common-spinner.mjs +0 -5
  266. package/esm2022/spinner/public_api.mjs +0 -4
  267. package/esm2022/spinner/spinner-activity.directive.mjs +0 -56
  268. package/esm2022/spinner/spinner.component.mjs +0 -29
  269. package/esm2022/spinner/spinner.module.mjs +0 -26
  270. package/esm2022/stop-propagation/igo2-common-stop-propagation.mjs +0 -5
  271. package/esm2022/stop-propagation/public_api.mjs +0 -10
  272. package/esm2022/stop-propagation/stop-drop-propagation.directive.mjs +0 -21
  273. package/esm2022/stop-propagation/stop-propagation.directive.mjs +0 -20
  274. package/esm2022/stop-propagation/stop-propagation.module.mjs +0 -26
  275. package/esm2022/table/igo2-common-table.mjs +0 -5
  276. package/esm2022/table/public_api.mjs +0 -7
  277. package/esm2022/table/table-action-color.enum.mjs +0 -7
  278. package/esm2022/table/table-database.mjs +0 -28
  279. package/esm2022/table/table-datasource.mjs +0 -66
  280. package/esm2022/table/table-model.interface.mjs +0 -2
  281. package/esm2022/table/table.component.mjs +0 -143
  282. package/esm2022/table/table.module.mjs +0 -25
  283. package/esm2022/tool/igo2-common-tool.mjs +0 -5
  284. package/esm2022/tool/public_api.mjs +0 -4
  285. package/esm2022/tool/shared/index.mjs +0 -6
  286. package/esm2022/tool/shared/tool-component.mjs +0 -9
  287. package/esm2022/tool/shared/tool.interface.mjs +0 -2
  288. package/esm2022/tool/shared/tool.service.mjs +0 -43
  289. package/esm2022/tool/shared/toolbox.enums.mjs +0 -2
  290. package/esm2022/tool/shared/toolbox.mjs +0 -192
  291. package/esm2022/tool/tool.module.mjs +0 -28
  292. package/esm2022/tool/toolbox/index.mjs +0 -3
  293. package/esm2022/tool/toolbox/toolbox.animation.mjs +0 -10
  294. package/esm2022/tool/toolbox/toolbox.component.mjs +0 -241
  295. package/esm2022/tool/toolbox/toolbox.module.mjs +0 -19
  296. package/esm2022/widget/igo2-common-widget.mjs +0 -5
  297. package/esm2022/widget/public_api.mjs +0 -4
  298. package/esm2022/widget/shared/index.mjs +0 -4
  299. package/esm2022/widget/shared/widget.interfaces.mjs +0 -2
  300. package/esm2022/widget/shared/widget.mjs +0 -4
  301. package/esm2022/widget/shared/widget.service.mjs +0 -22
  302. package/esm2022/widget/widget-outlet/index.mjs +0 -3
  303. package/esm2022/widget/widget-outlet/widget-outlet.component.mjs +0 -112
  304. package/esm2022/widget/widget-outlet/widget-outlet.module.mjs +0 -19
  305. package/esm2022/widget/widget.module.mjs +0 -22
  306. package/esm2022/workspace/igo2-common-workspace.mjs +0 -5
  307. package/esm2022/workspace/public_api.mjs +0 -5
  308. package/esm2022/workspace/shared/index.mjs +0 -4
  309. package/esm2022/workspace/shared/store.mjs +0 -37
  310. package/esm2022/workspace/shared/workspace.interfaces.mjs +0 -2
  311. package/esm2022/workspace/shared/workspace.mjs +0 -143
  312. package/esm2022/workspace/workspace-selector/index.mjs +0 -3
  313. package/esm2022/workspace/workspace-selector/workspace-selector.component.mjs +0 -51
  314. package/esm2022/workspace/workspace-selector/workspace-selector.module.mjs +0 -19
  315. package/esm2022/workspace/workspace-widget-outlet/index.mjs +0 -3
  316. package/esm2022/workspace/workspace-widget-outlet/workspace-widget-outlet.component.mjs +0 -73
  317. package/esm2022/workspace/workspace-widget-outlet/workspace-widget-outlet.module.mjs +0 -19
  318. package/esm2022/workspace/workspace.module.mjs +0 -27
@@ -1,183 +0,0 @@
1
- import { Observable } from 'rxjs';
2
- /**
3
- * This class is used in the DynamicComponentOutlet component. It holds
4
- * a reference to a component factory and can render that component
5
- * in a target element on demand. It's also possible to set inputs
6
- * and to subscribe to outputs.
7
- */
8
- export class DynamicComponent {
9
- componentFactory;
10
- /**
11
- * Component reference
12
- */
13
- componentRef;
14
- /**
15
- * Subscriptions to the component's outputs. Those need
16
- * to be unsubscribed when the component is destroyed.
17
- */
18
- subscriptions = [];
19
- /**
20
- * Component target element
21
- */
22
- target;
23
- /**
24
- * Component inputs
25
- */
26
- inputs = {};
27
- /**
28
- * Subscriptions to the component's async inputs
29
- */
30
- inputs$$ = {};
31
- /**
32
- * Subscribers to the component's outputs
33
- */
34
- subscribers = {};
35
- constructor(componentFactory) {
36
- this.componentFactory = componentFactory;
37
- }
38
- /**
39
- * Render the component to a target element.
40
- * Set it's inputs and subscribe to it's outputs.
41
- * @param target Target element
42
- */
43
- setTarget(target) {
44
- this.target = target;
45
- this.componentRef = target.createComponent(this.componentFactory);
46
- this.updateInputs(this.inputs);
47
- this.updateSubscribers(this.subscribers);
48
- }
49
- /**
50
- * Destroy this component. That means, removing from it's target
51
- * element and unsubscribing to it's outputs.
52
- */
53
- destroy() {
54
- if (this.target !== undefined) {
55
- this.target.clear();
56
- }
57
- if (this.componentRef !== undefined) {
58
- this.componentRef.destroy();
59
- this.componentRef = undefined;
60
- }
61
- this.unobserveAllInputs();
62
- this.unsubscribeAll();
63
- }
64
- /**
65
- * Update the component inputs. This is an update so any
66
- * key not defined won't be overwritten.
67
- */
68
- updateInputs(inputs) {
69
- this.inputs = inputs;
70
- if (this.componentRef === undefined) {
71
- return;
72
- }
73
- const instance = this.componentRef.instance;
74
- const allowedInputs = this.componentFactory.inputs;
75
- allowedInputs.forEach((value) => {
76
- const key = value.propName;
77
- this.unobserveInput(key);
78
- const inputValue = inputs[key];
79
- if (Object.prototype.hasOwnProperty.call(inputs, key)) {
80
- if (inputValue instanceof Observable) {
81
- this.observeInput(key, inputValue);
82
- }
83
- else {
84
- this.setInputValue(instance, key, inputValue);
85
- }
86
- }
87
- });
88
- if (typeof instance.onUpdateInputs === 'function') {
89
- instance.onUpdateInputs();
90
- }
91
- }
92
- /**
93
- * Set an instance's input value
94
- * @param instance Component instance
95
- * @param key Input key
96
- * @param value Input value
97
- */
98
- setInputValue(instance, key, value) {
99
- const currentValue = instance[key];
100
- if (value === currentValue) {
101
- return;
102
- }
103
- const prototype = Object.getPrototypeOf(instance);
104
- const descriptor = Object.getOwnPropertyDescriptor(prototype, key);
105
- if (descriptor !== undefined && descriptor.set !== undefined) {
106
- descriptor.set.call(instance, value);
107
- }
108
- else {
109
- instance[key] = value;
110
- }
111
- }
112
- /**
113
- * Update the component subscribers. This is an update so any
114
- * key not defined won't be overwritten.
115
- */
116
- updateSubscribers(subscribers) {
117
- this.subscribers = subscribers;
118
- if (this.componentRef === undefined) {
119
- return;
120
- }
121
- const instance = this.componentRef.instance;
122
- const allowedSubscribers = this.componentFactory.outputs;
123
- allowedSubscribers.forEach((value) => {
124
- const key = value.propName;
125
- if (Object.prototype.hasOwnProperty.call(subscribers, key)) {
126
- const emitter = instance[key];
127
- const subscriber = subscribers[key];
128
- if (Array.isArray(subscriber)) {
129
- subscriber.forEach((_subscriber) => {
130
- this.subscriptions.push(emitter.subscribe(_subscriber));
131
- });
132
- }
133
- else {
134
- this.subscriptions.push(emitter.subscribe(subscriber));
135
- }
136
- }
137
- });
138
- }
139
- /**
140
- * Subscribe to an observable input and update the component's input value
141
- * accordingly
142
- * @param key Input key
143
- * @param observable Observable
144
- */
145
- observeInput(key, observable) {
146
- this.inputs$$[key] = observable.subscribe((value) => {
147
- const instance = this.componentRef.instance;
148
- this.setInputValue(instance, key, value);
149
- if (typeof instance.onUpdateInputs === 'function') {
150
- instance.onUpdateInputs();
151
- }
152
- });
153
- }
154
- /**
155
- * Unsubscribe to an observable input
156
- * @param key Input key
157
- */
158
- unobserveInput(key) {
159
- if (this.inputs$$[key] !== undefined) {
160
- this.inputs$$[key].unsubscribe();
161
- this.inputs$$[key] = undefined;
162
- }
163
- }
164
- /**
165
- * Unsubscribe to all outputs.
166
- */
167
- unobserveAllInputs() {
168
- Object.values(this.inputs$$).forEach((s) => {
169
- if (s !== undefined) {
170
- s.unsubscribe();
171
- }
172
- });
173
- this.inputs$$ = {};
174
- }
175
- /**
176
- * Unsubscribe to all outputs.
177
- */
178
- unsubscribeAll() {
179
- this.subscriptions.forEach((s) => s.unsubscribe());
180
- this.subscriptions = [];
181
- }
182
- }
183
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vZHluYW1pYy1jb21wb25lbnQvc3JjL3NoYXJlZC9keW5hbWljLWNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxPQUFPLEVBQUUsVUFBVSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUVoRDs7Ozs7R0FLRztBQUNILE1BQU0sT0FBTyxnQkFBZ0I7SUFnQ1A7SUEvQnBCOztPQUVHO0lBQ0ssWUFBWSxDQUFrQjtJQUV0Qzs7O09BR0c7SUFDSyxhQUFhLEdBQW1CLEVBQUUsQ0FBQztJQUUzQzs7T0FFRztJQUNLLE1BQU0sQ0FBbUI7SUFFakM7O09BRUc7SUFDSyxNQUFNLEdBQXdCLEVBQUUsQ0FBQztJQUV6Qzs7T0FFRztJQUNLLFFBQVEsR0FBaUMsRUFBRSxDQUFDO0lBRXBEOztPQUVHO0lBQ0ssV0FBVyxHQUF5QyxFQUFFLENBQUM7SUFFL0QsWUFBb0IsZ0JBQXFDO1FBQXJDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBcUI7SUFBRyxDQUFDO0lBRTdEOzs7O09BSUc7SUFDSCxTQUFTLENBQUMsTUFBd0I7UUFDaEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2xFLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVEOzs7T0FHRztJQUNILE9BQU87UUFDTCxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztR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O1lBQ3JDLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSyxjQUFjLENBQUMsR0FBVztRQUNoQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDckMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNqQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFNBQVMsQ0FBQztRQUNqQyxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ssa0JBQWtCO1FBQ3hCLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQTJCLEVBQUUsRUFBRTtZQUNuRSxJQUFJLENBQUMsS0FBSyxTQUFTLEVBQUUsQ0FBQztnQkFDcEIsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2xCLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7T0FFRztJQUNLLGNBQWM7UUFDcEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFlLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ2pFLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO0lBQzFCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudEZhY3RvcnksXG4gIENvbXBvbmVudFJlZixcbiAgVmlld0NvbnRhaW5lclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICogVGhpcyBjbGFzcyBpcyB1c2VkIGluIHRoZSBEeW5hbWljQ29tcG9uZW50T3V0bGV0IGNvbXBvbmVudC4gSXQgaG9sZHNcbiAqIGEgcmVmZXJlbmNlIHRvIGEgY29tcG9uZW50IGZhY3RvcnkgYW5kIGNhbiByZW5kZXIgdGhhdCBjb21wb25lbnRcbiAqIGluIGEgdGFyZ2V0IGVsZW1lbnQgb24gZGVtYW5kLiBJdCdzIGFsc28gcG9zc2libGUgdG8gc2V0IGlucHV0c1xuICogYW5kIHRvIHN1YnNjcmliZSB0byBvdXRwdXRzLlxuICovXG5leHBvcnQgY2xhc3MgRHluYW1pY0NvbXBvbmVudDxDPiB7XG4gIC8qKlxuICAgKiBDb21wb25lbnQgcmVmZXJlbmNlXG4gICAqL1xuICBwcml2YXRlIGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPEM+O1xuXG4gIC8qKlxuICAgKiBTdWJzY3JpcHRpb25zIHRvIHRoZSBjb21wb25lbnQncyBvdXRwdXRzLiBUaG9zZSBuZWVkXG4gICAqIHRvIGJlIHVuc3Vic2NyaWJlZCB3aGVuIHRoZSBjb21wb25lbnQgaXMgZGVzdHJveWVkLlxuICAgKi9cbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBDb21wb25lbnQgdGFyZ2V0IGVsZW1lbnRcbiAgICovXG4gIHByaXZhdGUgdGFyZ2V0OiBWaWV3Q29udGFpbmVyUmVmO1xuXG4gIC8qKlxuICAgKiBDb21wb25lbnQgaW5wdXRzXG4gICAqL1xuICBwcml2YXRlIGlucHV0czogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xuXG4gIC8qKlxuICAgKiBTdWJzY3JpcHRpb25zIHRvIHRoZSBjb21wb25lbnQncyBhc3luYyBpbnB1dHNcbiAgICovXG4gIHByaXZhdGUgaW5wdXRzJCQ6IFJlY29yZDxzdHJpbmcsIFN1YnNjcmlwdGlvbj4gPSB7fTtcblxuICAvKipcbiAgICogU3Vic2NyaWJlcnMgdG8gdGhlIGNvbXBvbmVudCdzIG91dHB1dHNcbiAgICovXG4gIHByaXZhdGUgc3Vic2NyaWJlcnM6IFJlY29yZDxzdHJpbmcsIChldmVudDogYW55KSA9PiB2b2lkPiA9IHt9O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29tcG9uZW50RmFjdG9yeTogQ29tcG9uZW50RmFjdG9yeTxDPikge31cblxuICAvKipcbiAgICogUmVuZGVyIHRoZSBjb21wb25lbnQgdG8gYSB0YXJnZXQgZWxlbWVudC5cbiAgICogU2V0IGl0J3MgaW5wdXRzIGFuZCBzdWJzY3JpYmUgdG8gaXQncyBvdXRwdXRzLlxuICAgKiBAcGFyYW0gdGFyZ2V0IFRhcmdldCBlbGVtZW50XG4gICAqL1xuICBzZXRUYXJnZXQodGFyZ2V0OiBWaWV3Q29udGFpbmVyUmVmKSB7XG4gICAgdGhpcy50YXJnZXQgPSB0YXJnZXQ7XG4gICAgdGhpcy5jb21wb25lbnRSZWYgPSB0YXJnZXQuY3JlYXRlQ29tcG9uZW50KHRoaXMuY29tcG9uZW50RmFjdG9yeSk7XG4gICAgdGhpcy51cGRhdGVJbnB1dHModGhpcy5pbnB1dHMpO1xuICAgIHRoaXMudXBkYXRlU3Vic2NyaWJlcnModGhpcy5zdWJzY3JpYmVycyk7XG4gIH1cblxuICAvKipcbiAgICogRGVzdHJveSB0aGlzIGNvbXBvbmVudC4gVGhhdCBtZWFucywgcmVtb3ZpbmcgZnJvbSBpdCdzIHRhcmdldFxuICAgKiBlbGVtZW50IGFuZCB1bnN1YnNjcmliaW5nIHRvIGl0J3Mgb3V0cHV0cy5cbiAgICovXG4gIGRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMudGFyZ2V0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMudGFyZ2V0LmNsZWFyKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLmNvbXBvbmVudFJlZiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmNvbXBvbmVudFJlZi5kZXN0cm95KCk7XG4gICAgICB0aGlzLmNvbXBvbmVudFJlZiA9IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgdGhpcy51bm9ic2VydmVBbGxJbnB1dHMoKTtcbiAgICB0aGlzLnVuc3Vic2NyaWJlQWxsKCk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIHRoZSBjb21wb25lbnQgaW5wdXRzLiBUaGlzIGlzIGFuIHVwZGF0ZSBzbyBhbnlcbiAgICoga2V5IG5vdCBkZWZpbmVkIHdvbid0IGJlIG92ZXJ3cml0dGVuLlxuICAgKi9cbiAgdXBkYXRlSW5wdXRzKGlucHV0czogUmVjb3JkPHN0cmluZywgYW55Pikge1xuICAgIHRoaXMuaW5wdXRzID0gaW5wdXRzO1xuICAgIGlmICh0aGlzLmNvbXBvbmVudFJlZiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgaW5zdGFuY2UgPSB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZTtcbiAgICBjb25zdCBhbGxvd2VkSW5wdXRzID0gdGhpcy5jb21wb25lbnRGYWN0b3J5LmlucHV0cztcbiAgICBhbGxvd2VkSW5wdXRzLmZvckVhY2goXG4gICAgICAodmFsdWU6IHsgcHJvcE5hbWU6IHN0cmluZzsgdGVtcGxhdGVOYW1lOiBzdHJpbmcgfSkgPT4ge1xuICAgICAgICBjb25zdCBrZXkgPSB2YWx1ZS5wcm9wTmFtZTtcblxuICAgICAgICB0aGlzLnVub2JzZXJ2ZUlucHV0KGtleSk7XG5cbiAgICAgICAgY29uc3QgaW5wdXRWYWx1ZSA9IGlucHV0c1trZXldO1xuICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGlucHV0cywga2V5KSkge1xuICAgICAgICAgIGlmIChpbnB1dFZhbHVlIGluc3RhbmNlb2YgT2JzZXJ2YWJsZSkge1xuICAgICAgICAgICAgdGhpcy5vYnNlcnZlSW5wdXQoa2V5LCBpbnB1dFZhbHVlKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZXRJbnB1dFZhbHVlKGluc3RhbmNlLCBrZXksIGlucHV0VmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICk7XG5cbiAgICBpZiAodHlwZW9mIChpbnN0YW5jZSBhcyBhbnkpLm9uVXBkYXRlSW5wdXRzID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAoaW5zdGFuY2UgYXMgYW55KS5vblVwZGF0ZUlucHV0cygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgYW4gaW5zdGFuY2UncyBpbnB1dCB2YWx1ZVxuICAgKiBAcGFyYW0gaW5zdGFuY2UgQ29tcG9uZW50IGluc3RhbmNlXG4gICAqIEBwYXJhbSBrZXkgSW5wdXQga2V5XG4gICAqIEBwYXJhbSB2YWx1ZSBJbnB1dCB2YWx1ZVxuICAgKi9cbiAgcHJpdmF0ZSBzZXRJbnB1dFZhbHVlKGluc3RhbmNlOiBDLCBrZXk6IHN0cmluZywgdmFsdWU6IGFueSkge1xuICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IGluc3RhbmNlW2tleV07XG4gICAgaWYgKHZhbHVlID09PSBjdXJyZW50VmFsdWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBwcm90b3R5cGUgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YoaW5zdGFuY2UpO1xuICAgIGNvbnN0IGRlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHByb3RvdHlwZSwga2V5KTtcbiAgICBpZiAoZGVzY3JpcHRvciAhPT0gdW5kZWZpbmVkICYmIGRlc2NyaXB0b3Iuc2V0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGRlc2NyaXB0b3Iuc2V0LmNhbGwoaW5zdGFuY2UsIHZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaW5zdGFuY2Vba2V5XSA9IHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgdGhlIGNvbXBvbmVudCBzdWJzY3JpYmVycy4gVGhpcyBpcyBhbiB1cGRhdGUgc28gYW55XG4gICAqIGtleSBub3QgZGVmaW5lZCB3b24ndCBiZSBvdmVyd3JpdHRlbi5cbiAgICovXG4gIHVwZGF0ZVN1YnNjcmliZXJzKHN1YnNjcmliZXJzOiBSZWNvcmQ8c3RyaW5nLCAoZXZlbnQ6IGFueSkgPT4gdm9pZD4pIHtcbiAgICB0aGlzLnN1YnNjcmliZXJzID0gc3Vic2NyaWJlcnM7XG4gICAgaWYgKHRoaXMuY29tcG9uZW50UmVmID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBpbnN0YW5jZSA9IHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlO1xuICAgIGNvbnN0IGFsbG93ZWRTdWJzY3JpYmVycyA9IHRoaXMuY29tcG9uZW50RmFjdG9yeS5vdXRwdXRzO1xuICAgIGFsbG93ZWRTdWJzY3JpYmVycy5mb3JFYWNoKFxuICAgICAgKHZhbHVlOiB7IHByb3BOYW1lOiBzdHJpbmc7IHRlbXBsYXRlTmFtZTogc3RyaW5nIH0pID0+IHtcbiAgICAgICAgY29uc3Qga2V5ID0gdmFsdWUucHJvcE5hbWU7XG4gICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoc3Vic2NyaWJlcnMsIGtleSkpIHtcbiAgICAgICAgICBjb25zdCBlbWl0dGVyID0gaW5zdGFuY2Vba2V5XTtcbiAgICAgICAgICBjb25zdCBzdWJzY3JpYmVyID0gc3Vic2NyaWJlcnNba2V5XTtcbiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShzdWJzY3JpYmVyKSkge1xuICAgICAgICAgICAgc3Vic2NyaWJlci5mb3JFYWNoKChfc3Vic2NyaWJlcikgPT4ge1xuICAgICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChlbWl0dGVyLnN1YnNjcmliZShfc3Vic2NyaWJlcikpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKGVtaXR0ZXIuc3Vic2NyaWJlKHN1YnNjcmliZXIpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFN1YnNjcmliZSB0byBhbiBvYnNlcnZhYmxlIGlucHV0IGFuZCB1cGRhdGUgdGhlIGNvbXBvbmVudCdzIGlucHV0IHZhbHVlXG4gICAqIGFjY29yZGluZ2x5XG4gICAqIEBwYXJhbSBrZXkgSW5wdXQga2V5XG4gICAqIEBwYXJhbSBvYnNlcnZhYmxlIE9ic2VydmFibGVcbiAgICovXG4gIHByaXZhdGUgb2JzZXJ2ZUlucHV0KGtleTogc3RyaW5nLCBvYnNlcnZhYmxlOiBPYnNlcnZhYmxlPGFueT4pIHtcbiAgICB0aGlzLmlucHV0cyQkW2tleV0gPSBvYnNlcnZhYmxlLnN1YnNjcmliZSgodmFsdWU6IGFueSkgPT4ge1xuICAgICAgY29uc3QgaW5zdGFuY2UgPSB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZTtcbiAgICAgIHRoaXMuc2V0SW5wdXRWYWx1ZShpbnN0YW5jZSwga2V5LCB2YWx1ZSk7XG5cbiAgICAgIGlmICh0eXBlb2YgKGluc3RhbmNlIGFzIGFueSkub25VcGRhdGVJbnB1dHMgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgKGluc3RhbmNlIGFzIGFueSkub25VcGRhdGVJbnB1dHMoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVbnN1YnNjcmliZSB0byBhbiBvYnNlcnZhYmxlIGlucHV0XG4gICAqIEBwYXJhbSBrZXkgSW5wdXQga2V5XG4gICAqL1xuICBwcml2YXRlIHVub2JzZXJ2ZUlucHV0KGtleTogc3RyaW5nKSB7XG4gICAgaWYgKHRoaXMuaW5wdXRzJCRba2V5XSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmlucHV0cyQkW2tleV0udW5zdWJzY3JpYmUoKTtcbiAgICAgIHRoaXMuaW5wdXRzJCRba2V5XSA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVW5zdWJzY3JpYmUgdG8gYWxsIG91dHB1dHMuXG4gICAqL1xuICBwcml2YXRlIHVub2JzZXJ2ZUFsbElucHV0cygpIHtcbiAgICBPYmplY3QudmFsdWVzKHRoaXMuaW5wdXRzJCQpLmZvckVhY2goKHM6IFN1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZCkgPT4ge1xuICAgICAgaWYgKHMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBzLnVuc3Vic2NyaWJlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5pbnB1dHMkJCA9IHt9O1xuICB9XG5cbiAgLyoqXG4gICAqIFVuc3Vic2NyaWJlIHRvIGFsbCBvdXRwdXRzLlxuICAgKi9cbiAgcHJpdmF0ZSB1bnN1YnNjcmliZUFsbCgpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaCgoczogU3Vic2NyaXB0aW9uKSA9PiBzLnVuc3Vic2NyaWJlKCkpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucyA9IFtdO1xuICB9XG59XG4iXX0=
@@ -1,30 +0,0 @@
1
- import { ComponentFactoryResolver, Injectable } from '@angular/core';
2
- import { DynamicComponent } from './dynamic-component';
3
- import * as i0 from "@angular/core";
4
- /**
5
- * Service to creates DynamicComponent instances from base component classes
6
- */
7
- export class DynamicComponentService {
8
- resolver;
9
- constructor(resolver) {
10
- this.resolver = resolver;
11
- }
12
- /**
13
- * Creates a DynamicComponent instance from a base component class
14
- * @param componentCls The component class
15
- * @returns DynamicComponent instance
16
- */
17
- create(componentCls) {
18
- const factory = this.resolver.resolveComponentFactory(componentCls);
19
- return new DynamicComponent(factory);
20
- }
21
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DynamicComponentService, deps: [{ token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Injectable });
22
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DynamicComponentService, providedIn: 'root' });
23
- }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DynamicComponentService, decorators: [{
25
- type: Injectable,
26
- args: [{
27
- providedIn: 'root'
28
- }]
29
- }], ctorParameters: () => [{ type: i0.ComponentFactoryResolver }] });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jb21wb25lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9keW5hbWljLWNvbXBvbmVudC9zcmMvc2hhcmVkL2R5bmFtaWMtY29tcG9uZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHdCQUF3QixFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVyRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFFdkQ7O0dBRUc7QUFJSCxNQUFNLE9BQU8sdUJBQXVCO0lBQ2Q7SUFBcEIsWUFBb0IsUUFBa0M7UUFBbEMsYUFBUSxHQUFSLFFBQVEsQ0FBMEI7SUFBRyxDQUFDO0lBRTFEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsWUFBaUI7UUFDdEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyx1QkFBdUIsQ0FBQyxZQUFtQixDQUFDLENBQUM7UUFDM0UsT0FBTyxJQUFJLGdCQUFnQixDQUFzQixPQUFPLENBQUMsQ0FBQztJQUM1RCxDQUFDO3dHQVhVLHVCQUF1Qjs0R0FBdkIsdUJBQXVCLGNBRnRCLE1BQU07OzRGQUVQLHVCQUF1QjtrQkFIbkMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRHluYW1pY0NvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1jb21wb25lbnQnO1xuXG4vKipcbiAqIFNlcnZpY2UgdG8gY3JlYXRlcyBEeW5hbWljQ29tcG9uZW50IGluc3RhbmNlcyBmcm9tIGJhc2UgY29tcG9uZW50IGNsYXNzZXNcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY0NvbXBvbmVudFNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIpIHt9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBEeW5hbWljQ29tcG9uZW50IGluc3RhbmNlIGZyb20gYSBiYXNlIGNvbXBvbmVudCBjbGFzc1xuICAgKiBAcGFyYW0gY29tcG9uZW50Q2xzIFRoZSBjb21wb25lbnQgY2xhc3NcbiAgICogQHJldHVybnMgRHluYW1pY0NvbXBvbmVudCBpbnN0YW5jZVxuICAgKi9cbiAgY3JlYXRlKGNvbXBvbmVudENsczogYW55KTogRHluYW1pY0NvbXBvbmVudDxhbnk+IHtcbiAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy5yZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShjb21wb25lbnRDbHMgYXMgYW55KTtcbiAgICByZXR1cm4gbmV3IER5bmFtaWNDb21wb25lbnQ8dHlwZW9mIGNvbXBvbmVudENscz4oZmFjdG9yeSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,4 +0,0 @@
1
- export * from './dynamic-component.interfaces';
2
- export * from './dynamic-component';
3
- export * from './dynamic-component.service';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vZHluYW1pYy1jb21wb25lbnQvc3JjL3NoYXJlZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyw2QkFBNkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZHluYW1pYy1jb21wb25lbnQuaW50ZXJmYWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL2R5bmFtaWMtY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZHluYW1pYy1jb21wb25lbnQuc2VydmljZSc7XG4iXX0=
@@ -1,174 +0,0 @@
1
- import { AsyncPipe, NgFor, NgIf } from '@angular/common';
2
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, Output } from '@angular/core';
3
- import { MatOptionModule } from '@angular/material/core';
4
- import { MatFormFieldModule } from '@angular/material/form-field';
5
- import { MatSelectModule } from '@angular/material/select';
6
- import { BehaviorSubject } from 'rxjs';
7
- import { getEntityTitle } from '../shared/entity.utils';
8
- import { EntityStore } from '../shared/store';
9
- import { EntityStoreWatcher } from '../shared/watcher';
10
- import * as i0 from "@angular/core";
11
- import * as i1 from "@angular/material/form-field";
12
- import * as i2 from "@angular/material/select";
13
- import * as i3 from "@angular/material/core";
14
- export class EntitySelectorComponent {
15
- cdRef;
16
- /**
17
- * The selected entity
18
- * @internal
19
- */
20
- selected$ = new BehaviorSubject(undefined);
21
- /**
22
- * The current multi select option text
23
- * @internal
24
- */
25
- multiText$ = new BehaviorSubject(undefined);
26
- multiSelectValue = { id: 'IGO_MULTI_SELECT' };
27
- emptyValue = { id: 'IGO_EMPTY_SELECT' };
28
- /**
29
- * Subscription to the selected entity
30
- */
31
- selected$$;
32
- /**
33
- * Store watcher
34
- */
35
- watcher;
36
- /**
37
- * Entity store
38
- */
39
- store;
40
- /**
41
- * Title accessor
42
- */
43
- titleAccessor = getEntityTitle;
44
- /**
45
- * Text to display when nothing is selected
46
- */
47
- emptyText = undefined;
48
- /**
49
- * Wheter selecting many entities is allowed
50
- */
51
- multi = false;
52
- /**
53
- * Text to display for the select all option
54
- */
55
- multiAllText = 'All';
56
- /**
57
- * Text to display for the select none option
58
- */
59
- multiNoneText = 'None';
60
- /**
61
- * Field placeholder
62
- */
63
- placeholder;
64
- /**
65
- * Wheter the selector is disabled or not
66
- */
67
- disabled = false;
68
- /**
69
- * Event emitted when the selection changes
70
- */
71
- selectedChange = new EventEmitter();
72
- constructor(cdRef) {
73
- this.cdRef = cdRef;
74
- }
75
- /**
76
- * Create a store watcher and subscribe to the selected entity
77
- * @internal
78
- */
79
- ngOnInit() {
80
- this.watcher = new EntityStoreWatcher(this.store, this.cdRef);
81
- this.selected$$ = this.store.stateView
82
- .manyBy$((record) => record.state.selected === true)
83
- .subscribe((records) => {
84
- const entities = records.map((record) => record.entity);
85
- this.onSelectFromStore(entities);
86
- });
87
- }
88
- /**
89
- * Unsubscribe to the selected entity and destroy the store watcher
90
- * @internal
91
- */
92
- ngOnDestroy() {
93
- this.watcher.destroy();
94
- this.selected$$.unsubscribe();
95
- }
96
- /**
97
- * On selection change, update the store's state and emit an event
98
- * @internal
99
- */
100
- onSelectionChange(event) {
101
- const values = event.value instanceof Array ? event.value : [event.value];
102
- const multiSelect = values.find((_value) => _value === this.multiSelectValue);
103
- let entities = values.filter((_value) => _value !== this.multiSelectValue);
104
- if (multiSelect !== undefined) {
105
- if (entities.length === this.store.count) {
106
- entities = [];
107
- }
108
- else if (entities.length < this.store.count) {
109
- entities = this.store.all();
110
- }
111
- }
112
- entities = entities.filter((entity) => entity !== this.emptyValue);
113
- if (entities.length === 0) {
114
- this.store.state.updateAll({ selected: false });
115
- }
116
- else {
117
- this.store.state.updateMany(entities, { selected: true }, true);
118
- }
119
- const value = this.multi ? entities : event.value;
120
- this.selectedChange.emit({ selected: true, value });
121
- }
122
- onSelectFromStore(entities) {
123
- if (this.multi === true) {
124
- this.selected$.next(entities);
125
- }
126
- else {
127
- const entity = entities.length > 0 ? entities[0] : undefined;
128
- this.selected$.next(entity);
129
- }
130
- this.updateMultiToggleWithEntities(entities);
131
- }
132
- updateMultiToggleWithEntities(entities) {
133
- if (entities.length === this.store.count &&
134
- this.multiText$.value !== this.multiNoneText) {
135
- this.multiText$.next(this.multiNoneText);
136
- }
137
- else if (entities.length < this.store.count &&
138
- this.multiText$.value !== this.multiAllText) {
139
- this.multiText$.next(this.multiAllText);
140
- }
141
- }
142
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EntitySelectorComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
143
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: EntitySelectorComponent, isStandalone: true, selector: "igo-entity-selector", inputs: { store: "store", titleAccessor: "titleAccessor", emptyText: "emptyText", multi: "multi", multiAllText: "multiAllText", multiNoneText: "multiNoneText", placeholder: "placeholder", disabled: "disabled" }, outputs: { selectedChange: "selectedChange" }, ngImport: i0, template: "<mat-form-field class=\"igo-entity-selector\" subscriptSizing=\"dynamic\">\n <mat-select\n [disabled]=\"disabled\"\n [value]=\"selected$ | async\"\n [multiple]=\"multi\"\n [placeholder]=\"placeholder\"\n (selectionChange)=\"onSelectionChange($event)\"\n >\n <mat-option\n *ngIf=\"emptyText !== undefined && multi === false\"\n [value]=\"emptyValue\"\n >{{ emptyText }}</mat-option\n >\n <mat-option *ngIf=\"multi === true\" [value]=\"multiSelectValue\">{{\n multiText$ | async\n }}</mat-option>\n <ng-template ngFor let-record [ngForOf]=\"store.stateView.all$() | async\">\n <mat-option [value]=\"record.entity\">\n {{ titleAccessor(record.entity) }}\n </mat-option>\n </ng-template>\n </mat-select>\n</mat-form-field>\n", styles: ["mat-form-field{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i2.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i3.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
144
- }
145
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EntitySelectorComponent, decorators: [{
146
- type: Component,
147
- args: [{ selector: 'igo-entity-selector', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
148
- MatFormFieldModule,
149
- MatSelectModule,
150
- NgIf,
151
- MatOptionModule,
152
- NgFor,
153
- AsyncPipe
154
- ], template: "<mat-form-field class=\"igo-entity-selector\" subscriptSizing=\"dynamic\">\n <mat-select\n [disabled]=\"disabled\"\n [value]=\"selected$ | async\"\n [multiple]=\"multi\"\n [placeholder]=\"placeholder\"\n (selectionChange)=\"onSelectionChange($event)\"\n >\n <mat-option\n *ngIf=\"emptyText !== undefined && multi === false\"\n [value]=\"emptyValue\"\n >{{ emptyText }}</mat-option\n >\n <mat-option *ngIf=\"multi === true\" [value]=\"multiSelectValue\">{{\n multiText$ | async\n }}</mat-option>\n <ng-template ngFor let-record [ngForOf]=\"store.stateView.all$() | async\">\n <mat-option [value]=\"record.entity\">\n {{ titleAccessor(record.entity) }}\n </mat-option>\n </ng-template>\n </mat-select>\n</mat-form-field>\n", styles: ["mat-form-field{width:100%}\n"] }]
155
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { store: [{
156
- type: Input
157
- }], titleAccessor: [{
158
- type: Input
159
- }], emptyText: [{
160
- type: Input
161
- }], multi: [{
162
- type: Input
163
- }], multiAllText: [{
164
- type: Input
165
- }], multiNoneText: [{
166
- type: Input
167
- }], placeholder: [{
168
- type: Input
169
- }], disabled: [{
170
- type: Input
171
- }], selectedChange: [{
172
- type: Output
173
- }] } });
174
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LXNlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9lbnRpdHkvc3JjL2VudGl0eS1zZWxlY3Rvci9lbnRpdHktc2VsZWN0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL2VudGl0eS9zcmMvZW50aXR5LXNlbGVjdG9yL2VudGl0eS1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsZUFBZSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUdyRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7OztBQXFCdkQsTUFBTSxPQUFPLHVCQUF1QjtJQXdFZDtJQXZFcEI7OztPQUdHO0lBQ00sU0FBUyxHQUFHLElBQUksZUFBZSxDQUFTLFNBQVMsQ0FBQyxDQUFDO0lBRTVEOzs7T0FHRztJQUNNLFVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBUyxTQUFTLENBQUMsQ0FBQztJQUVwRCxnQkFBZ0IsR0FBRyxFQUFFLEVBQUUsRUFBRSxrQkFBa0IsRUFBRSxDQUFDO0lBRTlDLFVBQVUsR0FBRyxFQUFFLEVBQUUsRUFBRSxrQkFBa0IsRUFBRSxDQUFDO0lBRWpEOztPQUVHO0lBQ0ssVUFBVSxDQUFlO0lBRWpDOztPQUVHO0lBQ0ssT0FBTyxDQUE2QjtJQUU1Qzs7T0FFRztJQUNNLEtBQUssQ0FBc0I7SUFFcEM7O09BRUc7SUFDTSxhQUFhLEdBQXVCLGNBQWMsQ0FBQztJQUU1RDs7T0FFRztJQUNNLFNBQVMsR0FBVyxTQUFTLENBQUM7SUFFdkM7O09BRUc7SUFDTSxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBRXZCOztPQUVHO0lBQ00sWUFBWSxHQUFHLEtBQUssQ0FBQztJQUU5Qjs7T0FFRztJQUNNLGFBQWEsR0FBRyxNQUFNLENBQUM7SUFFaEM7O09BRUc7SUFDTSxXQUFXLENBQVM7SUFFN0I7O09BRUc7SUFDTSxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBRTFCOztPQUVHO0lBQ08sY0FBYyxHQUFHLElBQUksWUFBWSxFQUF3QixDQUFDO0lBRXBFLFlBQW9CLEtBQXdCO1FBQXhCLFVBQUssR0FBTCxLQUFLLENBQW1CO0lBQUcsQ0FBQztJQUVoRDs7O09BR0c7SUFDSCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTlELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTO2FBQ25DLE9BQU8sQ0FBQyxDQUFDLE1BQTRCLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQzthQUN6RSxTQUFTLENBQUMsQ0FBQyxPQUErQixFQUFFLEVBQUU7WUFDN0MsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FDMUIsQ0FBQyxNQUE0QixFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUNoRCxDQUFDO1lBQ0YsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ25DLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOzs7T0FHRztJQUNILFdBQVc7UUFDVCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVEOzs7T0FHRztJQUNILGlCQUFpQixDQUFDLEtBQW9DO1FBQ3BELE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxLQUFLLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUxRSxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUM3QixDQUFDLE1BQWMsRUFBRSxFQUFFLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxnQkFBZ0IsQ0FDckQsQ0FBQztRQUNGLElBQUksUUFBUSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQzFCLENBQUMsTUFBYyxFQUFFLEVBQUUsQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLGdCQUFnQixDQUNyRCxDQUFDO1FBQ0YsSUFBSSxXQUFXLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDOUIsSUFBSSxRQUFRLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ3pDLFFBQVEsR0FBRyxFQUFFLENBQUM7WUFDaEIsQ0FBQztpQkFBTSxJQUFJLFFBQVEsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDOUMsUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDOUIsQ0FBQztRQUNILENBQUM7UUFFRCxRQUFRLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQWMsRUFBRSxFQUFFLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMzRSxJQUFJLFFBQVEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDbEQsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2xFLENBQUM7UUFFRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDbEQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVPLGlCQUFpQixDQUFDLFFBQWtCO1FBQzFDLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoQyxDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUM3RCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM5QixDQUFDO1FBRUQsSUFBSSxDQUFDLDZCQUE2QixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFTyw2QkFBNkIsQ0FBQyxRQUFrQjtRQUN0RCxJQUNFLFFBQVEsQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLO1lBQ3BDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxhQUFhLEVBQzVDLENBQUM7WUFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDM0MsQ0FBQzthQUFNLElBQ0wsUUFBUSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUs7WUFDbEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLFlBQVksRUFDM0MsQ0FBQztZQUNELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUMxQyxDQUFDO0lBQ0gsQ0FBQzt3R0EzSlUsdUJBQXVCOzRGQUF2Qix1QkFBdUIsa1ZDekNwQywyeEJBdUJBLHFGRFVJLGtCQUFrQix5T0FDbEIsZUFBZSxvckJBQ2YsSUFBSSw0RkFDSixlQUFlLCtCQUNmLEtBQUssOEdBQ0wsU0FBUzs7NEZBR0EsdUJBQXVCO2tCQWZuQyxTQUFTOytCQUNFLHFCQUFxQixtQkFHZCx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxrQkFBa0I7d0JBQ2xCLGVBQWU7d0JBQ2YsSUFBSTt3QkFDSixlQUFlO3dCQUNmLEtBQUs7d0JBQ0wsU0FBUztxQkFDVjtzRkFnQ1EsS0FBSztzQkFBYixLQUFLO2dCQUtHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBS0csU0FBUztzQkFBakIsS0FBSztnQkFLRyxLQUFLO3NCQUFiLEtBQUs7Z0JBS0csWUFBWTtzQkFBcEIsS0FBSztnQkFLRyxhQUFhO3NCQUFyQixLQUFLO2dCQUtHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBS0csUUFBUTtzQkFBaEIsS0FBSztnQkFLSSxjQUFjO3NCQUF2QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0ZvciwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdE9wdGlvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBFbnRpdHlSZWNvcmQgfSBmcm9tICcuLi9zaGFyZWQvZW50aXR5LmludGVyZmFjZXMnO1xuaW1wb3J0IHsgZ2V0RW50aXR5VGl0bGUgfSBmcm9tICcuLi9zaGFyZWQvZW50aXR5LnV0aWxzJztcbmltcG9ydCB7IEVudGl0eVN0b3JlIH0gZnJvbSAnLi4vc2hhcmVkL3N0b3JlJztcbmltcG9ydCB7IEVudGl0eVN0b3JlV2F0Y2hlciB9IGZyb20gJy4uL3NoYXJlZC93YXRjaGVyJztcblxuZXhwb3J0IGludGVyZmFjZSBFbnRpdHlTZWxlY3RvckNoYW5nZTxUID0gYW55PiB7XG4gIHNlbGVjdGVkOiBib29sZWFuO1xuICB2YWx1ZTogVDtcbn1cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lnby1lbnRpdHktc2VsZWN0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vZW50aXR5LXNlbGVjdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZW50aXR5LXNlbGVjdG9yLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIE1hdFNlbGVjdE1vZHVsZSxcbiAgICBOZ0lmLFxuICAgIE1hdE9wdGlvbk1vZHVsZSxcbiAgICBOZ0ZvcixcbiAgICBBc3luY1BpcGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBFbnRpdHlTZWxlY3RvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgLyoqXG4gICAqIFRoZSBzZWxlY3RlZCBlbnRpdHlcbiAgICogQGludGVybmFsXG4gICAqL1xuICByZWFkb25seSBzZWxlY3RlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG9iamVjdD4odW5kZWZpbmVkKTtcblxuICAvKipcbiAgICogVGhlIGN1cnJlbnQgbXVsdGkgc2VsZWN0IG9wdGlvbiB0ZXh0XG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcmVhZG9ubHkgbXVsdGlUZXh0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPih1bmRlZmluZWQpO1xuXG4gIHJlYWRvbmx5IG11bHRpU2VsZWN0VmFsdWUgPSB7IGlkOiAnSUdPX01VTFRJX1NFTEVDVCcgfTtcblxuICByZWFkb25seSBlbXB0eVZhbHVlID0geyBpZDogJ0lHT19FTVBUWV9TRUxFQ1QnIH07XG5cbiAgLyoqXG4gICAqIFN1YnNjcmlwdGlvbiB0byB0aGUgc2VsZWN0ZWQgZW50aXR5XG4gICAqL1xuICBwcml2YXRlIHNlbGVjdGVkJCQ6IFN1YnNjcmlwdGlvbjtcblxuICAvKipcbiAgICogU3RvcmUgd2F0Y2hlclxuICAgKi9cbiAgcHJpdmF0ZSB3YXRjaGVyOiBFbnRpdHlTdG9yZVdhdGNoZXI8b2JqZWN0PjtcblxuICAvKipcbiAgICogRW50aXR5IHN0b3JlXG4gICAqL1xuICBASW5wdXQoKSBzdG9yZTogRW50aXR5U3RvcmU8b2JqZWN0PjtcblxuICAvKipcbiAgICogVGl0bGUgYWNjZXNzb3JcbiAgICovXG4gIEBJbnB1dCgpIHRpdGxlQWNjZXNzb3I6IChvYmplY3QpID0+IHN0cmluZyA9IGdldEVudGl0eVRpdGxlO1xuXG4gIC8qKlxuICAgKiBUZXh0IHRvIGRpc3BsYXkgd2hlbiBub3RoaW5nIGlzIHNlbGVjdGVkXG4gICAqL1xuICBASW5wdXQoKSBlbXB0eVRleHQ6IHN0cmluZyA9IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogV2hldGVyIHNlbGVjdGluZyBtYW55IGVudGl0aWVzIGlzIGFsbG93ZWRcbiAgICovXG4gIEBJbnB1dCgpIG11bHRpID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFRleHQgdG8gZGlzcGxheSBmb3IgdGhlIHNlbGVjdCBhbGwgb3B0aW9uXG4gICAqL1xuICBASW5wdXQoKSBtdWx0aUFsbFRleHQgPSAnQWxsJztcblxuICAvKipcbiAgICogVGV4dCB0byBkaXNwbGF5IGZvciB0aGUgc2VsZWN0IG5vbmUgb3B0aW9uXG4gICAqL1xuICBASW5wdXQoKSBtdWx0aU5vbmVUZXh0ID0gJ05vbmUnO1xuXG4gIC8qKlxuICAgKiBGaWVsZCBwbGFjZWhvbGRlclxuICAgKi9cbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcblxuICAvKipcbiAgICogV2hldGVyIHRoZSBzZWxlY3RvciBpcyBkaXNhYmxlZCBvciBub3RcbiAgICovXG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgc2VsZWN0aW9uIGNoYW5nZXNcbiAgICovXG4gIEBPdXRwdXQoKSBzZWxlY3RlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RW50aXR5U2VsZWN0b3JDaGFuZ2U+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIHN0b3JlIHdhdGNoZXIgYW5kIHN1YnNjcmliZSB0byB0aGUgc2VsZWN0ZWQgZW50aXR5XG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy53YXRjaGVyID0gbmV3IEVudGl0eVN0b3JlV2F0Y2hlcih0aGlzLnN0b3JlLCB0aGlzLmNkUmVmKTtcblxuICAgIHRoaXMuc2VsZWN0ZWQkJCA9IHRoaXMuc3RvcmUuc3RhdGVWaWV3XG4gICAgICAubWFueUJ5JCgocmVjb3JkOiBFbnRpdHlSZWNvcmQ8b2JqZWN0PikgPT4gcmVjb3JkLnN0YXRlLnNlbGVjdGVkID09PSB0cnVlKVxuICAgICAgLnN1YnNjcmliZSgocmVjb3JkczogRW50aXR5UmVjb3JkPG9iamVjdD5bXSkgPT4ge1xuICAgICAgICBjb25zdCBlbnRpdGllcyA9IHJlY29yZHMubWFwKFxuICAgICAgICAgIChyZWNvcmQ6IEVudGl0eVJlY29yZDxvYmplY3Q+KSA9PiByZWNvcmQuZW50aXR5XG4gICAgICAgICk7XG4gICAgICAgIHRoaXMub25TZWxlY3RGcm9tU3RvcmUoZW50aXRpZXMpO1xuICAgICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogVW5zdWJzY3JpYmUgdG8gdGhlIHNlbGVjdGVkIGVudGl0eSBhbmQgZGVzdHJveSB0aGUgc3RvcmUgd2F0Y2hlclxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMud2F0Y2hlci5kZXN0cm95KCk7XG4gICAgdGhpcy5zZWxlY3RlZCQkLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICAvKipcbiAgICogT24gc2VsZWN0aW9uIGNoYW5nZSwgdXBkYXRlIHRoZSBzdG9yZSdzIHN0YXRlIGFuZCBlbWl0IGFuIGV2ZW50XG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgb25TZWxlY3Rpb25DaGFuZ2UoZXZlbnQ6IHsgdmFsdWU6IG9iamVjdCB8IHVuZGVmaW5lZCB9KSB7XG4gICAgY29uc3QgdmFsdWVzID0gZXZlbnQudmFsdWUgaW5zdGFuY2VvZiBBcnJheSA/IGV2ZW50LnZhbHVlIDogW2V2ZW50LnZhbHVlXTtcblxuICAgIGNvbnN0IG11bHRpU2VsZWN0ID0gdmFsdWVzLmZpbmQoXG4gICAgICAoX3ZhbHVlOiBvYmplY3QpID0+IF92YWx1ZSA9PT0gdGhpcy5tdWx0aVNlbGVjdFZhbHVlXG4gICAgKTtcbiAgICBsZXQgZW50aXRpZXMgPSB2YWx1ZXMuZmlsdGVyKFxuICAgICAgKF92YWx1ZTogb2JqZWN0KSA9PiBfdmFsdWUgIT09IHRoaXMubXVsdGlTZWxlY3RWYWx1ZVxuICAgICk7XG4gICAgaWYgKG11bHRpU2VsZWN0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGlmIChlbnRpdGllcy5sZW5ndGggPT09IHRoaXMuc3RvcmUuY291bnQpIHtcbiAgICAgICAgZW50aXRpZXMgPSBbXTtcbiAgICAgIH0gZWxzZSBpZiAoZW50aXRpZXMubGVuZ3RoIDwgdGhpcy5zdG9yZS5jb3VudCkge1xuICAgICAgICBlbnRpdGllcyA9IHRoaXMuc3RvcmUuYWxsKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZW50aXRpZXMgPSBlbnRpdGllcy5maWx0ZXIoKGVudGl0eTogb2JqZWN0KSA9PiBlbnRpdHkgIT09IHRoaXMuZW1wdHlWYWx1ZSk7XG4gICAgaWYgKGVudGl0aWVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5zdG9yZS5zdGF0ZS51cGRhdGVBbGwoeyBzZWxlY3RlZDogZmFsc2UgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc3RvcmUuc3RhdGUudXBkYXRlTWFueShlbnRpdGllcywgeyBzZWxlY3RlZDogdHJ1ZSB9LCB0cnVlKTtcbiAgICB9XG5cbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMubXVsdGkgPyBlbnRpdGllcyA6IGV2ZW50LnZhbHVlO1xuICAgIHRoaXMuc2VsZWN0ZWRDaGFuZ2UuZW1pdCh7IHNlbGVjdGVkOiB0cnVlLCB2YWx1ZSB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb25TZWxlY3RGcm9tU3RvcmUoZW50aXRpZXM6IG9iamVjdFtdKSB7XG4gICAgaWYgKHRoaXMubXVsdGkgPT09IHRydWUpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWQkLm5leHQoZW50aXRpZXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBlbnRpdHkgPSBlbnRpdGllcy5sZW5ndGggPiAwID8gZW50aXRpZXNbMF0gOiB1bmRlZmluZWQ7XG4gICAgICB0aGlzLnNlbGVjdGVkJC5uZXh0KGVudGl0eSk7XG4gICAgfVxuXG4gICAgdGhpcy51cGRhdGVNdWx0aVRvZ2dsZVdpdGhFbnRpdGllcyhlbnRpdGllcyk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZU11bHRpVG9nZ2xlV2l0aEVudGl0aWVzKGVudGl0aWVzOiBvYmplY3RbXSkge1xuICAgIGlmIChcbiAgICAgIGVudGl0aWVzLmxlbmd0aCA9PT0gdGhpcy5zdG9yZS5jb3VudCAmJlxuICAgICAgdGhpcy5tdWx0aVRleHQkLnZhbHVlICE9PSB0aGlzLm11bHRpTm9uZVRleHRcbiAgICApIHtcbiAgICAgIHRoaXMubXVsdGlUZXh0JC5uZXh0KHRoaXMubXVsdGlOb25lVGV4dCk7XG4gICAgfSBlbHNlIGlmIChcbiAgICAgIGVudGl0aWVzLmxlbmd0aCA8IHRoaXMuc3RvcmUuY291bnQgJiZcbiAgICAgIHRoaXMubXVsdGlUZXh0JC52YWx1ZSAhPT0gdGhpcy5tdWx0aUFsbFRleHRcbiAgICApIHtcbiAgICAgIHRoaXMubXVsdGlUZXh0JC5uZXh0KHRoaXMubXVsdGlBbGxUZXh0KTtcbiAgICB9XG4gIH1cbn1cbiIsIjxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImlnby1lbnRpdHktc2VsZWN0b3JcIiBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCI+XG4gIDxtYXQtc2VsZWN0XG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbdmFsdWVdPVwic2VsZWN0ZWQkIHwgYXN5bmNcIlxuICAgIFttdWx0aXBsZV09XCJtdWx0aVwiXG4gICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uU2VsZWN0aW9uQ2hhbmdlKCRldmVudClcIlxuICA+XG4gICAgPG1hdC1vcHRpb25cbiAgICAgICpuZ0lmPVwiZW1wdHlUZXh0ICE9PSB1bmRlZmluZWQgJiYgbXVsdGkgPT09IGZhbHNlXCJcbiAgICAgIFt2YWx1ZV09XCJlbXB0eVZhbHVlXCJcbiAgICAgID57eyBlbXB0eVRleHQgfX08L21hdC1vcHRpb25cbiAgICA+XG4gICAgPG1hdC1vcHRpb24gKm5nSWY9XCJtdWx0aSA9PT0gdHJ1ZVwiIFt2YWx1ZV09XCJtdWx0aVNlbGVjdFZhbHVlXCI+e3tcbiAgICAgIG11bHRpVGV4dCQgfCBhc3luY1xuICAgIH19PC9tYXQtb3B0aW9uPlxuICAgIDxuZy10ZW1wbGF0ZSBuZ0ZvciBsZXQtcmVjb3JkIFtuZ0Zvck9mXT1cInN0b3JlLnN0YXRlVmlldy5hbGwkKCkgfCBhc3luY1wiPlxuICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cInJlY29yZC5lbnRpdHlcIj5cbiAgICAgICAge3sgdGl0bGVBY2Nlc3NvcihyZWNvcmQuZW50aXR5KSB9fVxuICAgICAgPC9tYXQtb3B0aW9uPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbWF0LXNlbGVjdD5cbjwvbWF0LWZvcm0tZmllbGQ+XG4iXX0=
@@ -1,19 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { EntitySelectorComponent } from './entity-selector.component';
3
- import * as i0 from "@angular/core";
4
- /**
5
- * @deprecated import the EntitySelectorComponent directly
6
- */
7
- export class IgoEntitySelectorModule {
8
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IgoEntitySelectorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: IgoEntitySelectorModule, imports: [EntitySelectorComponent], exports: [EntitySelectorComponent] });
10
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IgoEntitySelectorModule, imports: [EntitySelectorComponent] });
11
- }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IgoEntitySelectorModule, decorators: [{
13
- type: NgModule,
14
- args: [{
15
- imports: [EntitySelectorComponent],
16
- exports: [EntitySelectorComponent]
17
- }]
18
- }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LXNlbGVjdG9yLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9lbnRpdHkvc3JjL2VudGl0eS1zZWxlY3Rvci9lbnRpdHktc2VsZWN0b3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7O0FBRXRFOztHQUVHO0FBS0gsTUFBTSxPQUFPLHVCQUF1Qjt3R0FBdkIsdUJBQXVCO3lHQUF2Qix1QkFBdUIsWUFIeEIsdUJBQXVCLGFBQ3ZCLHVCQUF1Qjt5R0FFdEIsdUJBQXVCLFlBSHhCLHVCQUF1Qjs7NEZBR3RCLHVCQUF1QjtrQkFKbkMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztvQkFDbEMsT0FBTyxFQUFFLENBQUMsdUJBQXVCLENBQUM7aUJBQ25DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRW50aXR5U2VsZWN0b3JDb21wb25lbnQgfSBmcm9tICcuL2VudGl0eS1zZWxlY3Rvci5jb21wb25lbnQnO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIGltcG9ydCB0aGUgRW50aXR5U2VsZWN0b3JDb21wb25lbnQgZGlyZWN0bHlcbiAqL1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0VudGl0eVNlbGVjdG9yQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW0VudGl0eVNlbGVjdG9yQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBJZ29FbnRpdHlTZWxlY3Rvck1vZHVsZSB7fVxuIl19
@@ -1,3 +0,0 @@
1
- export * from './entity-selector.module';
2
- export * from './entity-selector.component';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vZW50aXR5L3NyYy9lbnRpdHktc2VsZWN0b3IvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9lbnRpdHktc2VsZWN0b3IubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vZW50aXR5LXNlbGVjdG9yLmNvbXBvbmVudCc7XG4iXX0=
@@ -1,138 +0,0 @@
1
- import { Directive, ElementRef, EventEmitter, HostListener, Input, Output, Renderer2 } from '@angular/core';
2
- import scrollIntoView from 'scroll-into-view-if-needed';
3
- import { EntityTableScrollBehavior } from '../shared/entity.enums';
4
- import * as i0 from "@angular/core";
5
- /**
6
- * Directive that handles an entity table row click and selection.
7
- */
8
- export class EntityTableRowDirective {
9
- renderer;
10
- el;
11
- /**
12
- * Class added to a selected row
13
- */
14
- static selectedCls = 'igo-entity-table-row-selected';
15
- /**
16
- * Class added to a highlighted row
17
- */
18
- static highlightedCls = 'igo-entity-table-row-highlighted';
19
- /**
20
- * Whether a row supports selection
21
- */
22
- selection = false;
23
- /**
24
- * Whether clicking a row should select it (if selection is true)
25
- */
26
- selectOnClick = true;
27
- /**
28
- * Whether the selected row should be highlighted
29
- */
30
- highlightSelection = true;
31
- /**
32
- * Whether a row is selected
33
- */
34
- set selected(value) {
35
- if (this.selection === false) {
36
- return;
37
- }
38
- if (value === this._selected) {
39
- return;
40
- }
41
- this.toggleSelected(value);
42
- this.scroll();
43
- }
44
- get selected() {
45
- return this._selected;
46
- }
47
- _selected = false;
48
- /**
49
- * Scroll behavior on selection
50
- */
51
- scrollBehavior = EntityTableScrollBehavior.Auto;
52
- /**
53
- * Event emitted when a row is selected
54
- */
55
- select = new EventEmitter();
56
- /**
57
- * When a row is clicked, select it if it's supported
58
- * @ignore
59
- */
60
- onClick() {
61
- if (this.selection === false || this.selectOnClick === false) {
62
- return;
63
- }
64
- this.toggleSelected(true);
65
- this.select.emit(this);
66
- }
67
- constructor(renderer, el) {
68
- this.renderer = renderer;
69
- this.el = el;
70
- }
71
- /**
72
- * Select a row and add or remove the selected class from it
73
- * @param selected Whether the row should be selected
74
- */
75
- toggleSelected(selected) {
76
- this._selected = selected;
77
- if (selected === true) {
78
- this.addCls(EntityTableRowDirective.selectedCls);
79
- if (this.highlightSelection === true) {
80
- this.addCls(EntityTableRowDirective.highlightedCls);
81
- }
82
- }
83
- else {
84
- this.removeCls(EntityTableRowDirective.selectedCls);
85
- this.removeCls(EntityTableRowDirective.highlightedCls);
86
- }
87
- }
88
- /**
89
- * Scroll to the selected row
90
- */
91
- scroll() {
92
- if (this._selected === true) {
93
- scrollIntoView(this.el.nativeElement, {
94
- scrollMode: 'if-needed',
95
- behavior: 'smooth',
96
- block: 'end',
97
- inline: 'nearest'
98
- });
99
- }
100
- }
101
- /**
102
- * Add the selected CSS class
103
- */
104
- addCls(cls) {
105
- this.renderer.addClass(this.el.nativeElement, cls);
106
- }
107
- /**
108
- * Remove the selected CSS class
109
- */
110
- removeCls(cls) {
111
- this.renderer.removeClass(this.el.nativeElement, cls);
112
- }
113
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EntityTableRowDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
114
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: EntityTableRowDirective, isStandalone: true, selector: "[igoEntityTableRow]", inputs: { selection: "selection", selectOnClick: "selectOnClick", highlightSelection: "highlightSelection", selected: "selected", scrollBehavior: "scrollBehavior" }, outputs: { select: "select" }, host: { listeners: { "click": "onClick()" } }, ngImport: i0 });
115
- }
116
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EntityTableRowDirective, decorators: [{
117
- type: Directive,
118
- args: [{
119
- selector: '[igoEntityTableRow]',
120
- standalone: true
121
- }]
122
- }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }], propDecorators: { selection: [{
123
- type: Input
124
- }], selectOnClick: [{
125
- type: Input
126
- }], highlightSelection: [{
127
- type: Input
128
- }], selected: [{
129
- type: Input
130
- }], scrollBehavior: [{
131
- type: Input
132
- }], select: [{
133
- type: Output
134
- }], onClick: [{
135
- type: HostListener,
136
- args: ['click']
137
- }] } });
138
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LXRhYmxlLXJvdy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vZW50aXR5L3NyYy9lbnRpdHktdGFibGUvZW50aXR5LXRhYmxlLXJvdy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLGNBQWMsTUFBTSw0QkFBNEIsQ0FBQztBQUV4RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFFbkU7O0dBRUc7QUFLSCxNQUFNLE9BQU8sdUJBQXVCO0lBd0V4QjtJQUNBO0lBeEVWOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFdBQVcsR0FBRywrQkFBK0IsQ0FBQztJQUVyRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxjQUFjLEdBQUcsa0NBQWtDLENBQUM7SUFFM0Q7O09BRUc7SUFDTSxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBRTNCOztPQUVHO0lBQ00sYUFBYSxHQUFHLElBQUksQ0FBQztJQUU5Qjs7T0FFRztJQUNNLGtCQUFrQixHQUFHLElBQUksQ0FBQztJQUVuQzs7T0FFRztJQUNILElBQ0ksUUFBUSxDQUFDLEtBQWM7UUFDekIsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLEtBQUssRUFBRSxDQUFDO1lBQzdCLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQzdCLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUNELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBQ08sU0FBUyxHQUFHLEtBQUssQ0FBQztJQUUxQjs7T0FFRztJQUVILGNBQWMsR0FBOEIseUJBQXlCLENBQUMsSUFBSSxDQUFDO0lBRTNFOztPQUVHO0lBQ08sTUFBTSxHQUFHLElBQUksWUFBWSxFQUEyQixDQUFDO0lBRS9EOzs7T0FHRztJQUVILE9BQU87UUFDTCxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxhQUFhLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDN0QsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxZQUNVLFFBQW1CLEVBQ25CLEVBQWM7UUFEZCxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLE9BQUUsR0FBRixFQUFFLENBQVk7SUFDckIsQ0FBQztJQUVKOzs7T0FHRztJQUNLLGNBQWMsQ0FBQyxRQUFpQjtRQUN0QyxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztRQUMxQixJQUFJLFFBQVEsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsTUFBTSxDQUFDLHVCQUF1QixDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ2pELElBQUksSUFBSSxDQUFDLGtCQUFrQixLQUFLLElBQUksRUFBRSxDQUFDO2dCQUNyQyxJQUFJLENBQUMsTUFBTSxDQUFDLHVCQUF1QixDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ3RELENBQUM7UUFDSCxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQXVCLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDcEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN6RCxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ssTUFBTTtRQUNaLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUM1QixjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUU7Z0JBQ3BDLFVBQVUsRUFBRSxXQUFXO2dCQUN2QixRQUFRLEVBQUUsUUFBUTtnQkFDbEIsS0FBSyxFQUFFLEtBQUs7Z0JBQ1osTUFBTSxFQUFFLFNBQVM7YUFDbEIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNLLE1BQU0sQ0FBQyxHQUFXO1FBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRDs7T0FFRztJQUNLLFNBQVMsQ0FBQyxHQUFXO1FBQzNCLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3hELENBQUM7d0dBdkhVLHVCQUF1Qjs0RkFBdkIsdUJBQXVCOzs0RkFBdkIsdUJBQXVCO2tCQUpuQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjt1R0FlVSxTQUFTO3NCQUFqQixLQUFLO2dCQUtHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBS0csa0JBQWtCO3NCQUExQixLQUFLO2dCQU1GLFFBQVE7c0JBRFgsS0FBSztnQkFxQk4sY0FBYztzQkFEYixLQUFLO2dCQU1JLE1BQU07c0JBQWYsTUFBTTtnQkFPUCxPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFJlbmRlcmVyMlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHNjcm9sbEludG9WaWV3IGZyb20gJ3Njcm9sbC1pbnRvLXZpZXctaWYtbmVlZGVkJztcblxuaW1wb3J0IHsgRW50aXR5VGFibGVTY3JvbGxCZWhhdmlvciB9IGZyb20gJy4uL3NoYXJlZC9lbnRpdHkuZW51bXMnO1xuXG4vKipcbiAqIERpcmVjdGl2ZSB0aGF0IGhhbmRsZXMgYW4gZW50aXR5IHRhYmxlIHJvdyBjbGljayBhbmQgc2VsZWN0aW9uLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbaWdvRW50aXR5VGFibGVSb3ddJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBFbnRpdHlUYWJsZVJvd0RpcmVjdGl2ZSB7XG4gIC8qKlxuICAgKiBDbGFzcyBhZGRlZCB0byBhIHNlbGVjdGVkIHJvd1xuICAgKi9cbiAgc3RhdGljIHNlbGVjdGVkQ2xzID0gJ2lnby1lbnRpdHktdGFibGUtcm93LXNlbGVjdGVkJztcblxuICAvKipcbiAgICogQ2xhc3MgYWRkZWQgdG8gYSBoaWdobGlnaHRlZCByb3dcbiAgICovXG4gIHN0YXRpYyBoaWdobGlnaHRlZENscyA9ICdpZ28tZW50aXR5LXRhYmxlLXJvdy1oaWdobGlnaHRlZCc7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgYSByb3cgc3VwcG9ydHMgc2VsZWN0aW9uXG4gICAqL1xuICBASW5wdXQoKSBzZWxlY3Rpb24gPSBmYWxzZTtcblxuICAvKipcbiAgICogV2hldGhlciBjbGlja2luZyBhIHJvdyBzaG91bGQgc2VsZWN0IGl0IChpZiBzZWxlY3Rpb24gaXMgdHJ1ZSlcbiAgICovXG4gIEBJbnB1dCgpIHNlbGVjdE9uQ2xpY2sgPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBzZWxlY3RlZCByb3cgc2hvdWxkIGJlIGhpZ2hsaWdodGVkXG4gICAqL1xuICBASW5wdXQoKSBoaWdobGlnaHRTZWxlY3Rpb24gPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIGEgcm93IGlzIHNlbGVjdGVkXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgc2VsZWN0ZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAodGhpcy5zZWxlY3Rpb24gPT09IGZhbHNlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh2YWx1ZSA9PT0gdGhpcy5fc2VsZWN0ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnRvZ2dsZVNlbGVjdGVkKHZhbHVlKTtcbiAgICB0aGlzLnNjcm9sbCgpO1xuICB9XG4gIGdldCBzZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWQ7XG4gIH1cbiAgcHJpdmF0ZSBfc2VsZWN0ZWQgPSBmYWxzZTtcblxuICAvKipcbiAgICogU2Nyb2xsIGJlaGF2aW9yIG9uIHNlbGVjdGlvblxuICAgKi9cbiAgQElucHV0KClcbiAgc2Nyb2xsQmVoYXZpb3I6IEVudGl0eVRhYmxlU2Nyb2xsQmVoYXZpb3IgPSBFbnRpdHlUYWJsZVNjcm9sbEJlaGF2aW9yLkF1dG87XG5cbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiBhIHJvdyBpcyBzZWxlY3RlZFxuICAgKi9cbiAgQE91dHB1dCgpIHNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8RW50aXR5VGFibGVSb3dEaXJlY3RpdmU+KCk7XG5cbiAgLyoqXG4gICAqIFdoZW4gYSByb3cgaXMgY2xpY2tlZCwgc2VsZWN0IGl0IGlmIGl0J3Mgc3VwcG9ydGVkXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgb25DbGljaygpIHtcbiAgICBpZiAodGhpcy5zZWxlY3Rpb24gPT09IGZhbHNlIHx8IHRoaXMuc2VsZWN0T25DbGljayA9PT0gZmFsc2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnRvZ2dsZVNlbGVjdGVkKHRydWUpO1xuICAgIHRoaXMuc2VsZWN0LmVtaXQodGhpcyk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZlxuICApIHt9XG5cbiAgLyoqXG4gICAqIFNlbGVjdCBhIHJvdyBhbmQgYWRkIG9yIHJlbW92ZSB0aGUgc2VsZWN0ZWQgY2xhc3MgZnJvbSBpdFxuICAgKiBAcGFyYW0gc2VsZWN0ZWQgV2hldGhlciB0aGUgcm93IHNob3VsZCBiZSBzZWxlY3RlZFxuICAgKi9cbiAgcHJpdmF0ZSB0b2dnbGVTZWxlY3RlZChzZWxlY3RlZDogYm9vbGVhbikge1xuICAgIHRoaXMuX3NlbGVjdGVkID0gc2VsZWN0ZWQ7XG4gICAgaWYgKHNlbGVjdGVkID09PSB0cnVlKSB7XG4gICAgICB0aGlzLmFkZENscyhFbnRpdHlUYWJsZVJvd0RpcmVjdGl2ZS5zZWxlY3RlZENscyk7XG4gICAgICBpZiAodGhpcy5oaWdobGlnaHRTZWxlY3Rpb24gPT09IHRydWUpIHtcbiAgICAgICAgdGhpcy5hZGRDbHMoRW50aXR5VGFibGVSb3dEaXJlY3RpdmUuaGlnaGxpZ2h0ZWRDbHMpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlbW92ZUNscyhFbnRpdHlUYWJsZVJvd0RpcmVjdGl2ZS5zZWxlY3RlZENscyk7XG4gICAgICB0aGlzLnJlbW92ZUNscyhFbnRpdHlUYWJsZVJvd0RpcmVjdGl2ZS5oaWdobGlnaHRlZENscyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNjcm9sbCB0byB0aGUgc2VsZWN0ZWQgcm93XG4gICAqL1xuICBwcml2YXRlIHNjcm9sbCgpIHtcbiAgICBpZiAodGhpcy5fc2VsZWN0ZWQgPT09IHRydWUpIHtcbiAgICAgIHNjcm9sbEludG9WaWV3KHRoaXMuZWwubmF0aXZlRWxlbWVudCwge1xuICAgICAgICBzY3JvbGxNb2RlOiAnaWYtbmVlZGVkJyxcbiAgICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxuICAgICAgICBibG9jazogJ2VuZCcsXG4gICAgICAgIGlubGluZTogJ25lYXJlc3QnXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQWRkIHRoZSBzZWxlY3RlZCBDU1MgY2xhc3NcbiAgICovXG4gIHByaXZhdGUgYWRkQ2xzKGNsczogc3RyaW5nKSB7XG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsIGNscyk7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIHRoZSBzZWxlY3RlZCBDU1MgY2xhc3NcbiAgICovXG4gIHByaXZhdGUgcmVtb3ZlQ2xzKGNsczogc3RyaW5nKSB7XG4gICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsIGNscyk7XG4gIH1cbn1cbiJdfQ==