@igo2/common 18.0.1-next.2 → 18.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (312) hide show
  1. package/entity/src/entity-table/entity-table.theming.scss +1 -1
  2. package/esm2022/action/action.module.mjs +19 -0
  3. package/esm2022/action/actionbar/actionbar-item.component.mjs +192 -0
  4. package/esm2022/action/actionbar/actionbar.component.mjs +277 -0
  5. package/esm2022/action/actionbar/actionbar.module.mjs +19 -0
  6. package/esm2022/action/igo2-common-action.mjs +5 -0
  7. package/esm2022/action/public_api.mjs +5 -0
  8. package/esm2022/action/shared/action.enums.mjs +7 -0
  9. package/esm2022/action/shared/action.interfaces.mjs +2 -0
  10. package/esm2022/action/shared/index.mjs +4 -0
  11. package/esm2022/action/shared/store.mjs +8 -0
  12. package/esm2022/backdrop/backdrop.component.mjs +21 -0
  13. package/esm2022/backdrop/backdrop.module.mjs +25 -0
  14. package/esm2022/backdrop/igo2-common-backdrop.mjs +5 -0
  15. package/esm2022/backdrop/public_api.mjs +3 -0
  16. package/esm2022/badge/badge-icon.directive.mjs +149 -0
  17. package/esm2022/badge/badge-icon.module.mjs +25 -0
  18. package/esm2022/badge/igo2-common-badge.mjs +5 -0
  19. package/esm2022/badge/public_api.mjs +3 -0
  20. package/esm2022/clickout/clickout.directive.mjs +32 -0
  21. package/esm2022/clickout/clickout.module.mjs +25 -0
  22. package/esm2022/clickout/igo2-common-clickout.mjs +5 -0
  23. package/esm2022/clickout/public_api.mjs +3 -0
  24. package/esm2022/clone/clone.module.mjs +25 -0
  25. package/esm2022/clone/clone.pipe.mjs +25 -0
  26. package/esm2022/clone/igo2-common-clone.mjs +5 -0
  27. package/esm2022/clone/public_api.mjs +3 -0
  28. package/esm2022/collapsible/collapse.directive.mjs +57 -0
  29. package/esm2022/collapsible/collapsible.component.mjs +38 -0
  30. package/esm2022/collapsible/collapsible.module.mjs +26 -0
  31. package/esm2022/collapsible/igo2-common-collapsible.mjs +5 -0
  32. package/esm2022/collapsible/public_api.mjs +10 -0
  33. package/esm2022/color/color-picker-form-field/color-picker-form-field.component.mjs +104 -0
  34. package/esm2022/color/color-picker-form-field/color-picker-form-field.module.mjs +19 -0
  35. package/esm2022/color/color-picker-form-field/index.mjs +3 -0
  36. package/esm2022/color/igo2-common-color.mjs +5 -0
  37. package/esm2022/color/public_api.mjs +2 -0
  38. package/esm2022/confirm-dialog/confirm-dialog.component.mjs +31 -0
  39. package/esm2022/confirm-dialog/confirm-dialog.interface.mjs +2 -0
  40. package/esm2022/confirm-dialog/confirm-dialog.module.mjs +27 -0
  41. package/esm2022/confirm-dialog/confirm-dialog.service.mjs +35 -0
  42. package/esm2022/confirm-dialog/igo2-common-confirm-dialog.mjs +5 -0
  43. package/esm2022/confirm-dialog/public_api.mjs +5 -0
  44. package/esm2022/context-menu/context-menu.directive.mjs +109 -0
  45. package/esm2022/context-menu/context-menu.module.mjs +26 -0
  46. package/esm2022/context-menu/igo2-common-context-menu.mjs +5 -0
  47. package/esm2022/context-menu/long-press.directive.mjs +65 -0
  48. package/esm2022/context-menu/public_api.mjs +10 -0
  49. package/esm2022/custom-html/custom-html.component.mjs +21 -0
  50. package/esm2022/custom-html/custom-html.module.mjs +25 -0
  51. package/esm2022/custom-html/custom-html.pipe.mjs +23 -0
  52. package/esm2022/custom-html/igo2-common-custom-html.mjs +5 -0
  53. package/esm2022/custom-html/public_api.mjs +10 -0
  54. package/esm2022/dom/dom.interfaces.mjs +2 -0
  55. package/esm2022/dom/dom.module.mjs +27 -0
  56. package/esm2022/dom/dom.service.mjs +35 -0
  57. package/esm2022/dom/igo2-common-dom.mjs +5 -0
  58. package/esm2022/dom/public_api.mjs +4 -0
  59. package/esm2022/drag-drop/drag-drop.directive.mjs +82 -0
  60. package/esm2022/drag-drop/drag-drop.module.mjs +26 -0
  61. package/esm2022/drag-drop/igo2-common-drag-drop.mjs +5 -0
  62. package/esm2022/drag-drop/public_api.mjs +4 -0
  63. package/esm2022/drag-drop/tree-drag-drop/index.mjs +3 -0
  64. package/esm2022/drag-drop/tree-drag-drop/tree-drag-drop.directive.mjs +391 -0
  65. package/esm2022/drag-drop/tree-drag-drop/tree-drag-drop.interface.mjs +2 -0
  66. package/esm2022/dynamic-component/dynamic-component.module.mjs +19 -0
  67. package/esm2022/dynamic-component/dynamic-outlet/dynamic-outlet.component.mjs +129 -0
  68. package/esm2022/dynamic-component/dynamic-outlet/dynamic-outlet.module.mjs +19 -0
  69. package/esm2022/dynamic-component/igo2-common-dynamic-component.mjs +5 -0
  70. package/esm2022/dynamic-component/public_api.mjs +5 -0
  71. package/esm2022/dynamic-component/shared/dynamic-component.interfaces.mjs +2 -0
  72. package/esm2022/dynamic-component/shared/dynamic-component.mjs +183 -0
  73. package/esm2022/dynamic-component/shared/dynamic-component.service.mjs +30 -0
  74. package/esm2022/dynamic-component/shared/index.mjs +4 -0
  75. package/esm2022/entity/entity-selector/entity-selector.component.mjs +174 -0
  76. package/esm2022/entity/entity-selector/entity-selector.module.mjs +19 -0
  77. package/esm2022/entity/entity-selector/index.mjs +3 -0
  78. package/esm2022/entity/entity-table/entity-table-row.directive.mjs +138 -0
  79. package/esm2022/entity/entity-table/entity-table.component.mjs +883 -0
  80. package/esm2022/entity/entity-table/entity-table.module.mjs +19 -0
  81. package/esm2022/entity/entity-table/index.mjs +3 -0
  82. package/esm2022/entity/entity-table-paginator/entity-table-paginator.component.mjs +158 -0
  83. package/esm2022/entity/entity-table-paginator/entity-table-paginator.interface.mjs +2 -0
  84. package/esm2022/entity/entity-table-paginator/entity-table-paginator.module.mjs +19 -0
  85. package/esm2022/entity/entity-table-paginator/index.mjs +4 -0
  86. package/esm2022/entity/entity.module.mjs +30 -0
  87. package/esm2022/entity/igo2-common-entity.mjs +5 -0
  88. package/esm2022/entity/public_api.mjs +6 -0
  89. package/esm2022/entity/shared/entity.enums.mjs +28 -0
  90. package/esm2022/entity/shared/entity.interfaces.mjs +2 -0
  91. package/esm2022/entity/shared/entity.utils.mjs +73 -0
  92. package/esm2022/entity/shared/index.mjs +10 -0
  93. package/esm2022/entity/shared/state.mjs +194 -0
  94. package/esm2022/entity/shared/store.mjs +322 -0
  95. package/esm2022/entity/shared/strategies/filter-custom-function.mjs +80 -0
  96. package/esm2022/entity/shared/strategies/filter-selection.mjs +81 -0
  97. package/esm2022/entity/shared/strategies/index.mjs +4 -0
  98. package/esm2022/entity/shared/strategies/strategy.mjs +82 -0
  99. package/esm2022/entity/shared/transaction.mjs +329 -0
  100. package/esm2022/entity/shared/view.mjs +330 -0
  101. package/esm2022/entity/shared/watcher.mjs +135 -0
  102. package/esm2022/environment/environment.interface.mjs +2 -0
  103. package/esm2022/environment/igo2-common-environment.mjs +5 -0
  104. package/esm2022/environment/public_api.mjs +2 -0
  105. package/esm2022/flexible/flexible.component.mjs +137 -0
  106. package/esm2022/flexible/flexible.module.mjs +25 -0
  107. package/esm2022/flexible/flexible.type.mjs +2 -0
  108. package/esm2022/flexible/igo2-common-flexible.mjs +5 -0
  109. package/esm2022/flexible/public_api.mjs +4 -0
  110. package/esm2022/form/form/form.component.mjs +105 -0
  111. package/esm2022/form/form/form.module.mjs +19 -0
  112. package/esm2022/form/form/index.mjs +3 -0
  113. package/esm2022/form/form-dialog/form-dialog.component.mjs +94 -0
  114. package/esm2022/form/form-dialog/form-dialog.interface.mjs +2 -0
  115. package/esm2022/form/form-dialog/form-dialog.module.mjs +31 -0
  116. package/esm2022/form/form-dialog/form-dialog.service.mjs +30 -0
  117. package/esm2022/form/form-dialog/index.mjs +5 -0
  118. package/esm2022/form/form-field/form-field-select.component.mjs +117 -0
  119. package/esm2022/form/form-field/form-field-text.component.mjs +126 -0
  120. package/esm2022/form/form-field/form-field-textarea.component.mjs +95 -0
  121. package/esm2022/form/form-field/form-field.component.mjs +65 -0
  122. package/esm2022/form/form-field/form-field.directive.mjs +11 -0
  123. package/esm2022/form/form-field/form-field.module.mjs +23 -0
  124. package/esm2022/form/form-field/index.mjs +7 -0
  125. package/esm2022/form/form-group/form-group.component.mjs +81 -0
  126. package/esm2022/form/form-group/form-group.module.mjs +19 -0
  127. package/esm2022/form/form-group/index.mjs +3 -0
  128. package/esm2022/form/form.module.mjs +32 -0
  129. package/esm2022/form/igo2-common-form.mjs +5 -0
  130. package/esm2022/form/public_api.mjs +7 -0
  131. package/esm2022/form/shared/form-field-component.mjs +7 -0
  132. package/esm2022/form/shared/form-field.service.mjs +28 -0
  133. package/esm2022/form/shared/form.interfaces.mjs +2 -0
  134. package/esm2022/form/shared/form.service.mjs +82 -0
  135. package/esm2022/form/shared/form.utils.mjs +41 -0
  136. package/esm2022/form/shared/index.mjs +6 -0
  137. package/esm2022/home-button/home-button.component.mjs +25 -0
  138. package/esm2022/home-button/home-button.module.mjs +19 -0
  139. package/esm2022/home-button/igo2-common-home-button.mjs +5 -0
  140. package/esm2022/home-button/public_api.mjs +3 -0
  141. package/esm2022/icon/icon/icon.component.mjs +38 -0
  142. package/esm2022/icon/icon.provider.mjs +14 -0
  143. package/esm2022/icon/igo2-common-icon.mjs +5 -0
  144. package/esm2022/icon/public_api.mjs +4 -0
  145. package/esm2022/icon/shared/icon.interface.mjs +2 -0
  146. package/esm2022/icon/shared/icon.service.mjs +26 -0
  147. package/esm2022/icon/shared/icons.mjs +40 -0
  148. package/esm2022/icon/shared/index.mjs +4 -0
  149. package/esm2022/igo2-common.mjs +5 -0
  150. package/esm2022/image/igo2-common-image.mjs +5 -0
  151. package/esm2022/image/image-error.directive.mjs +35 -0
  152. package/esm2022/image/image.module.mjs +26 -0
  153. package/esm2022/image/public_api.mjs +7 -0
  154. package/esm2022/image/secure-image.pipe.mjs +66 -0
  155. package/esm2022/interactive-tour/igo2-common-interactive-tour.mjs +5 -0
  156. package/esm2022/interactive-tour/interactive-tour.component.mjs +131 -0
  157. package/esm2022/interactive-tour/interactive-tour.interface.mjs +2 -0
  158. package/esm2022/interactive-tour/interactive-tour.loader.mjs +49 -0
  159. package/esm2022/interactive-tour/interactive-tour.module.mjs +19 -0
  160. package/esm2022/interactive-tour/interactive-tour.service.mjs +303 -0
  161. package/esm2022/interactive-tour/public_api.mjs +6 -0
  162. package/esm2022/json-dialog/igo2-common-json-dialog.mjs +5 -0
  163. package/esm2022/json-dialog/json-dialog.component.mjs +38 -0
  164. package/esm2022/json-dialog/json-dialog.module.mjs +26 -0
  165. package/esm2022/json-dialog/json-dialog.service.mjs +26 -0
  166. package/esm2022/json-dialog/public_api.mjs +4 -0
  167. package/esm2022/keyvalue/igo2-common-keyvalue.mjs +5 -0
  168. package/esm2022/keyvalue/keyvalue.module.mjs +25 -0
  169. package/esm2022/keyvalue/keyvalue.pipe.mjs +19 -0
  170. package/esm2022/keyvalue/public_api.mjs +3 -0
  171. package/esm2022/list/igo2-common-list.mjs +5 -0
  172. package/esm2022/list/list-item.directive.mjs +166 -0
  173. package/esm2022/list/list.component.mjs +252 -0
  174. package/esm2022/list/list.module.mjs +26 -0
  175. package/esm2022/list/public_api.mjs +7 -0
  176. package/esm2022/panel/igo2-common-panel.mjs +5 -0
  177. package/esm2022/panel/panel.component.mjs +30 -0
  178. package/esm2022/panel/panel.module.mjs +19 -0
  179. package/esm2022/panel/public_api.mjs +3 -0
  180. package/esm2022/public_api.mjs +20 -0
  181. package/esm2022/select-value-dialog/igo2-common-select-value-dialog.mjs +5 -0
  182. package/esm2022/select-value-dialog/public_api.mjs +6 -0
  183. package/esm2022/select-value-dialog/select-value-check-radio-dialog.component.mjs +103 -0
  184. package/esm2022/select-value-dialog/select-value-dialog.enums.mjs +6 -0
  185. package/esm2022/select-value-dialog/select-value-dialog.interface.mjs +2 -0
  186. package/esm2022/select-value-dialog/select-value-dialog.module.mjs +27 -0
  187. package/esm2022/select-value-dialog/select-value-dialog.service.mjs +29 -0
  188. package/esm2022/sidenav/igo2-common-sidenav.mjs +5 -0
  189. package/esm2022/sidenav/public_api.mjs +3 -0
  190. package/esm2022/sidenav/sidenav-shim.directive.mjs +58 -0
  191. package/esm2022/sidenav/sidenav.module.mjs +25 -0
  192. package/esm2022/spinner/igo2-common-spinner.mjs +5 -0
  193. package/esm2022/spinner/public_api.mjs +4 -0
  194. package/esm2022/spinner/spinner-activity.directive.mjs +56 -0
  195. package/esm2022/spinner/spinner.component.mjs +29 -0
  196. package/esm2022/spinner/spinner.module.mjs +26 -0
  197. package/esm2022/stop-propagation/igo2-common-stop-propagation.mjs +5 -0
  198. package/esm2022/stop-propagation/public_api.mjs +10 -0
  199. package/esm2022/stop-propagation/stop-drop-propagation.directive.mjs +21 -0
  200. package/esm2022/stop-propagation/stop-propagation.directive.mjs +20 -0
  201. package/esm2022/stop-propagation/stop-propagation.module.mjs +26 -0
  202. package/esm2022/table/igo2-common-table.mjs +5 -0
  203. package/esm2022/table/public_api.mjs +7 -0
  204. package/esm2022/table/table-action-color.enum.mjs +7 -0
  205. package/esm2022/table/table-database.mjs +28 -0
  206. package/esm2022/table/table-datasource.mjs +66 -0
  207. package/esm2022/table/table-model.interface.mjs +2 -0
  208. package/esm2022/table/table.component.mjs +143 -0
  209. package/esm2022/table/table.module.mjs +25 -0
  210. package/esm2022/tool/igo2-common-tool.mjs +5 -0
  211. package/esm2022/tool/public_api.mjs +4 -0
  212. package/esm2022/tool/shared/index.mjs +6 -0
  213. package/esm2022/tool/shared/tool-component.mjs +9 -0
  214. package/esm2022/tool/shared/tool.interface.mjs +2 -0
  215. package/esm2022/tool/shared/tool.service.mjs +43 -0
  216. package/esm2022/tool/shared/toolbox.enums.mjs +2 -0
  217. package/esm2022/tool/shared/toolbox.mjs +192 -0
  218. package/esm2022/tool/tool.module.mjs +28 -0
  219. package/esm2022/tool/toolbox/index.mjs +3 -0
  220. package/esm2022/tool/toolbox/toolbox.animation.mjs +10 -0
  221. package/esm2022/tool/toolbox/toolbox.component.mjs +241 -0
  222. package/esm2022/tool/toolbox/toolbox.module.mjs +19 -0
  223. package/esm2022/widget/igo2-common-widget.mjs +5 -0
  224. package/esm2022/widget/public_api.mjs +4 -0
  225. package/esm2022/widget/shared/index.mjs +4 -0
  226. package/esm2022/widget/shared/widget.interfaces.mjs +2 -0
  227. package/esm2022/widget/shared/widget.mjs +4 -0
  228. package/esm2022/widget/shared/widget.service.mjs +22 -0
  229. package/esm2022/widget/widget-outlet/index.mjs +3 -0
  230. package/esm2022/widget/widget-outlet/widget-outlet.component.mjs +112 -0
  231. package/esm2022/widget/widget-outlet/widget-outlet.module.mjs +19 -0
  232. package/esm2022/widget/widget.module.mjs +22 -0
  233. package/esm2022/workspace/igo2-common-workspace.mjs +5 -0
  234. package/esm2022/workspace/public_api.mjs +5 -0
  235. package/esm2022/workspace/shared/index.mjs +4 -0
  236. package/esm2022/workspace/shared/store.mjs +37 -0
  237. package/esm2022/workspace/shared/workspace.interfaces.mjs +2 -0
  238. package/esm2022/workspace/shared/workspace.mjs +143 -0
  239. package/esm2022/workspace/workspace-selector/index.mjs +3 -0
  240. package/esm2022/workspace/workspace-selector/workspace-selector.component.mjs +51 -0
  241. package/esm2022/workspace/workspace-selector/workspace-selector.module.mjs +19 -0
  242. package/esm2022/workspace/workspace-widget-outlet/index.mjs +3 -0
  243. package/esm2022/workspace/workspace-widget-outlet/workspace-widget-outlet.component.mjs +73 -0
  244. package/esm2022/workspace/workspace-widget-outlet/workspace-widget-outlet.module.mjs +19 -0
  245. package/esm2022/workspace/workspace.module.mjs +27 -0
  246. package/fesm2022/igo2-common-action.mjs +16 -16
  247. package/fesm2022/igo2-common-action.mjs.map +1 -1
  248. package/fesm2022/igo2-common-backdrop.mjs +8 -8
  249. package/fesm2022/igo2-common-backdrop.mjs.map +1 -1
  250. package/fesm2022/igo2-common-badge.mjs +7 -7
  251. package/fesm2022/igo2-common-badge.mjs.map +1 -1
  252. package/fesm2022/igo2-common-clickout.mjs +7 -7
  253. package/fesm2022/igo2-common-clickout.mjs.map +1 -1
  254. package/fesm2022/igo2-common-clone.mjs +7 -7
  255. package/fesm2022/igo2-common-clone.mjs.map +1 -1
  256. package/fesm2022/igo2-common-collapsible.mjs +11 -11
  257. package/fesm2022/igo2-common-collapsible.mjs.map +1 -1
  258. package/fesm2022/igo2-common-color.mjs +9 -9
  259. package/fesm2022/igo2-common-color.mjs.map +1 -1
  260. package/fesm2022/igo2-common-confirm-dialog.mjs +11 -11
  261. package/fesm2022/igo2-common-confirm-dialog.mjs.map +1 -1
  262. package/fesm2022/igo2-common-context-menu.mjs +10 -10
  263. package/fesm2022/igo2-common-context-menu.mjs.map +1 -1
  264. package/fesm2022/igo2-common-custom-html.mjs +11 -11
  265. package/fesm2022/igo2-common-custom-html.mjs.map +1 -1
  266. package/fesm2022/igo2-common-dom.mjs +7 -7
  267. package/fesm2022/igo2-common-dom.mjs.map +1 -1
  268. package/fesm2022/igo2-common-drag-drop.mjs +10 -10
  269. package/fesm2022/igo2-common-drag-drop.mjs.map +1 -1
  270. package/fesm2022/igo2-common-dynamic-component.mjs +14 -14
  271. package/fesm2022/igo2-common-dynamic-component.mjs.map +1 -1
  272. package/fesm2022/igo2-common-entity.mjs +33 -33
  273. package/fesm2022/igo2-common-entity.mjs.map +1 -1
  274. package/fesm2022/igo2-common-flexible.mjs +7 -7
  275. package/fesm2022/igo2-common-flexible.mjs.map +1 -1
  276. package/fesm2022/igo2-common-form.mjs +57 -57
  277. package/fesm2022/igo2-common-form.mjs.map +1 -1
  278. package/fesm2022/igo2-common-home-button.mjs +8 -8
  279. package/fesm2022/igo2-common-home-button.mjs.map +1 -1
  280. package/fesm2022/igo2-common-icon.mjs +14 -13
  281. package/fesm2022/igo2-common-icon.mjs.map +1 -1
  282. package/fesm2022/igo2-common-image.mjs +10 -10
  283. package/fesm2022/igo2-common-image.mjs.map +1 -1
  284. package/fesm2022/igo2-common-interactive-tour.mjs +14 -14
  285. package/fesm2022/igo2-common-interactive-tour.mjs.map +1 -1
  286. package/fesm2022/igo2-common-json-dialog.mjs +11 -11
  287. package/fesm2022/igo2-common-json-dialog.mjs.map +1 -1
  288. package/fesm2022/igo2-common-keyvalue.mjs +7 -7
  289. package/fesm2022/igo2-common-keyvalue.mjs.map +1 -1
  290. package/fesm2022/igo2-common-list.mjs +11 -11
  291. package/fesm2022/igo2-common-list.mjs.map +1 -1
  292. package/fesm2022/igo2-common-panel.mjs +8 -8
  293. package/fesm2022/igo2-common-panel.mjs.map +1 -1
  294. package/fesm2022/igo2-common-select-value-dialog.mjs +11 -11
  295. package/fesm2022/igo2-common-select-value-dialog.mjs.map +1 -1
  296. package/fesm2022/igo2-common-sidenav.mjs +7 -7
  297. package/fesm2022/igo2-common-sidenav.mjs.map +1 -1
  298. package/fesm2022/igo2-common-spinner.mjs +11 -11
  299. package/fesm2022/igo2-common-spinner.mjs.map +1 -1
  300. package/fesm2022/igo2-common-stop-propagation.mjs +10 -10
  301. package/fesm2022/igo2-common-stop-propagation.mjs.map +1 -1
  302. package/fesm2022/igo2-common-table.mjs +8 -8
  303. package/fesm2022/igo2-common-table.mjs.map +1 -1
  304. package/fesm2022/igo2-common-tool.mjs +15 -15
  305. package/fesm2022/igo2-common-tool.mjs.map +1 -1
  306. package/fesm2022/igo2-common-widget.mjs +15 -15
  307. package/fesm2022/igo2-common-widget.mjs.map +1 -1
  308. package/fesm2022/igo2-common-workspace.mjs +20 -20
  309. package/fesm2022/igo2-common-workspace.mjs.map +1 -1
  310. package/package.json +76 -8
  311. package/src/style/style.scss +1 -1
  312. package/style/style.css +1 -4
@@ -0,0 +1,19 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { DynamicOutletComponent } from './dynamic-outlet.component';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * @deprecated import the DynamicOutletComponent directly
6
+ */
7
+ export class IgoDynamicOutletModule {
8
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IgoDynamicOutletModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: IgoDynamicOutletModule, imports: [DynamicOutletComponent], exports: [DynamicOutletComponent] });
10
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IgoDynamicOutletModule });
11
+ }
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IgoDynamicOutletModule, decorators: [{
13
+ type: NgModule,
14
+ args: [{
15
+ imports: [DynamicOutletComponent],
16
+ exports: [DynamicOutletComponent]
17
+ }]
18
+ }] });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1vdXRsZXQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL2R5bmFtaWMtY29tcG9uZW50L3NyYy9keW5hbWljLW91dGxldC9keW5hbWljLW91dGxldC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFFcEU7O0dBRUc7QUFLSCxNQUFNLE9BQU8sc0JBQXNCO3dHQUF0QixzQkFBc0I7eUdBQXRCLHNCQUFzQixZQUh2QixzQkFBc0IsYUFDdEIsc0JBQXNCO3lHQUVyQixzQkFBc0I7OzRGQUF0QixzQkFBc0I7a0JBSmxDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7b0JBQ2pDLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO2lCQUNsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IER5bmFtaWNPdXRsZXRDb21wb25lbnQgfSBmcm9tICcuL2R5bmFtaWMtb3V0bGV0LmNvbXBvbmVudCc7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgaW1wb3J0IHRoZSBEeW5hbWljT3V0bGV0Q29tcG9uZW50IGRpcmVjdGx5XG4gKi9cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtEeW5hbWljT3V0bGV0Q29tcG9uZW50XSxcbiAgZXhwb3J0czogW0R5bmFtaWNPdXRsZXRDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIElnb0R5bmFtaWNPdXRsZXRNb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public_api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWdvMi1jb21tb24tZHluYW1pYy1jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vZHluYW1pYy1jb21wb25lbnQvc3JjL2lnbzItY29tbW9uLWR5bmFtaWMtY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0=
@@ -0,0 +1,5 @@
1
+ export * from './shared';
2
+ export * from './dynamic-component.module';
3
+ export * from './dynamic-outlet/dynamic-outlet.component';
4
+ export * from './dynamic-outlet/dynamic-outlet.module';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9keW5hbWljLWNvbXBvbmVudC9zcmMvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyx3Q0FBd0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2hhcmVkJztcbmV4cG9ydCAqIGZyb20gJy4vZHluYW1pYy1jb21wb25lbnQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vZHluYW1pYy1vdXRsZXQvZHluYW1pYy1vdXRsZXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZHluYW1pYy1vdXRsZXQvZHluYW1pYy1vdXRsZXQubW9kdWxlJztcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jb21wb25lbnQuaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9keW5hbWljLWNvbXBvbmVudC9zcmMvc2hhcmVkL2R5bmFtaWMtY29tcG9uZW50LmludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgT25VcGRhdGVJbnB1dHMge1xuICBvblVwZGF0ZUlucHV0czogKCkgPT4gdm9pZDtcbn1cbiJdfQ==
@@ -0,0 +1,183 @@
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=
@@ -0,0 +1,30 @@
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==
@@ -0,0 +1,4 @@
1
+ export * from './dynamic-component.interfaces';
2
+ export * from './dynamic-component';
3
+ export * from './dynamic-component.service';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vZHluYW1pYy1jb21wb25lbnQvc3JjL3NoYXJlZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyw2QkFBNkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZHluYW1pYy1jb21wb25lbnQuaW50ZXJmYWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL2R5bmFtaWMtY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZHluYW1pYy1jb21wb25lbnQuc2VydmljZSc7XG4iXX0=
@@ -0,0 +1,174 @@
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=
@@ -0,0 +1,19 @@
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
@@ -0,0 +1,3 @@
1
+ export * from './entity-selector.module';
2
+ export * from './entity-selector.component';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vZW50aXR5L3NyYy9lbnRpdHktc2VsZWN0b3IvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9lbnRpdHktc2VsZWN0b3IubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vZW50aXR5LXNlbGVjdG9yLmNvbXBvbmVudCc7XG4iXX0=