@igo2/common 1.15.4 → 16.0.0-rc.0

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 (473) hide show
  1. package/common-theme.scss +19 -0
  2. package/{esm2020 → esm2022}/igo2-common.mjs +4 -4
  3. package/esm2022/lib/action/action.module.mjs +20 -0
  4. package/esm2022/lib/action/actionbar/actionbar-item.component.mjs +270 -0
  5. package/esm2022/lib/action/actionbar/actionbar.component.mjs +389 -0
  6. package/{esm2020 → esm2022}/lib/action/actionbar/actionbar.module.mjs +57 -57
  7. package/{esm2020 → esm2022}/lib/action/index.mjs +3 -3
  8. package/{esm2020 → esm2022}/lib/action/shared/action.enums.mjs +7 -7
  9. package/{esm2020 → esm2022}/lib/action/shared/action.interfaces.mjs +2 -2
  10. package/{esm2020 → esm2022}/lib/action/shared/index.mjs +4 -4
  11. package/{esm2020 → esm2022}/lib/action/shared/store.mjs +8 -8
  12. package/esm2022/lib/backdrop/backdrop.component.mjs +27 -0
  13. package/{esm2020 → esm2022}/lib/backdrop/backdrop.module.mjs +25 -25
  14. package/{esm2020 → esm2022}/lib/backdrop/index.mjs +2 -2
  15. package/esm2022/lib/badge-icon/badge-icon.directive.mjs +150 -0
  16. package/{esm2020 → esm2022}/lib/badge-icon/badge-icon.module.mjs +26 -26
  17. package/{esm2020 → esm2022}/lib/badge-icon/index.mjs +2 -2
  18. package/esm2022/lib/clickout/clickout.directive.mjs +33 -0
  19. package/{esm2020 → esm2022}/lib/clickout/clickout.module.mjs +24 -24
  20. package/{esm2020 → esm2022}/lib/clickout/index.mjs +2 -2
  21. package/{esm2020 → esm2022}/lib/clone/clone.module.mjs +24 -24
  22. package/esm2022/lib/clone/clone.pipe.mjs +24 -0
  23. package/{esm2020 → esm2022}/lib/clone/index.mjs +2 -2
  24. package/esm2022/lib/collapsible/collapse.directive.mjs +58 -0
  25. package/esm2022/lib/collapsible/collapsible.component.mjs +54 -0
  26. package/{esm2020 → esm2022}/lib/collapsible/collapsible.module.mjs +27 -27
  27. package/{esm2020 → esm2022}/lib/collapsible/index.mjs +3 -3
  28. package/esm2022/lib/color-picker-form-field/color-picker-form-field.component.mjs +121 -0
  29. package/esm2022/lib/color-picker-form-field/color-picker-form-field.module.mjs +32 -0
  30. package/esm2022/lib/color-picker-form-field/index.mjs +2 -0
  31. package/esm2022/lib/confirm-dialog/confirm-dialog.component.mjs +47 -0
  32. package/{esm2020 → esm2022}/lib/confirm-dialog/confirm-dialog.module.mjs +29 -29
  33. package/esm2022/lib/confirm-dialog/confirm-dialog.service.mjs +29 -0
  34. package/{esm2020 → esm2022}/lib/confirm-dialog/index.mjs +3 -3
  35. package/esm2022/lib/context-menu/context-menu.directive.mjs +110 -0
  36. package/{esm2020 → esm2022}/lib/context-menu/context-menu.module.mjs +25 -25
  37. package/{esm2020 → esm2022}/lib/context-menu/index.mjs +3 -3
  38. package/esm2022/lib/context-menu/long-press.directive.mjs +67 -0
  39. package/esm2022/lib/custom-html/custom-html.component.mjs +27 -0
  40. package/{esm2020 → esm2022}/lib/custom-html/custom-html.module.mjs +47 -47
  41. package/{esm2020 → esm2022}/lib/custom-html/custom-html.pipe.mjs +20 -18
  42. package/{esm2020 → esm2022}/lib/custom-html/index.mjs +3 -3
  43. package/{esm2020 → esm2022}/lib/dom/dom.interfaces.mjs +2 -2
  44. package/{esm2020 → esm2022}/lib/dom/dom.module.mjs +21 -23
  45. package/esm2022/lib/dom/dom.service.mjs +35 -0
  46. package/{esm2020 → esm2022}/lib/dom/index.mjs +3 -3
  47. package/esm2022/lib/drag-drop/drag-drop.directive.mjs +85 -0
  48. package/{esm2020 → esm2022}/lib/drag-drop/drag-drop.module.mjs +24 -24
  49. package/{esm2020 → esm2022}/lib/drag-drop/index.mjs +2 -2
  50. package/esm2022/lib/dynamic-component/dynamic-component.module.mjs +20 -0
  51. package/esm2022/lib/dynamic-component/dynamic-outlet/dynamic-outlet.component.mjs +138 -0
  52. package/esm2022/lib/dynamic-component/dynamic-outlet/dynamic-outlet.module.mjs +22 -0
  53. package/{esm2020 → esm2022}/lib/dynamic-component/index.mjs +3 -3
  54. package/{esm2020 → esm2022}/lib/dynamic-component/shared/dynamic-component.interfaces.mjs +2 -2
  55. package/esm2022/lib/dynamic-component/shared/dynamic-component.mjs +183 -0
  56. package/{esm2020 → esm2022}/lib/dynamic-component/shared/dynamic-component.service.mjs +30 -29
  57. package/{esm2020 → esm2022}/lib/dynamic-component/shared/index.mjs +4 -4
  58. package/esm2022/lib/entity/entity-selector/entity-selector.component.mjs +214 -0
  59. package/esm2022/lib/entity/entity-selector/entity-selector.module.mjs +24 -0
  60. package/esm2022/lib/entity/entity-table/entity-table-row.directive.mjs +139 -0
  61. package/esm2022/lib/entity/entity-table/entity-table.component.mjs +1455 -0
  62. package/esm2022/lib/entity/entity-table/entity-table.module.mjs +96 -0
  63. package/esm2022/lib/entity/entity-table-paginator/entity-table-paginator.component.mjs +167 -0
  64. package/esm2022/lib/entity/entity-table-paginator/entity-table-paginator.interface.mjs +2 -0
  65. package/esm2022/lib/entity/entity-table-paginator/entity-table-paginator.module.mjs +22 -0
  66. package/{esm2020 → esm2022}/lib/entity/entity.module.mjs +29 -31
  67. package/{esm2020 → esm2022}/lib/entity/index.mjs +6 -6
  68. package/{esm2020 → esm2022}/lib/entity/shared/entity.enums.mjs +28 -28
  69. package/esm2022/lib/entity/shared/entity.interfaces.mjs +2 -0
  70. package/esm2022/lib/entity/shared/entity.utils.mjs +73 -0
  71. package/esm2022/lib/entity/shared/index.mjs +11 -0
  72. package/esm2022/lib/entity/shared/state.mjs +194 -0
  73. package/esm2022/lib/entity/shared/store-strategy.mjs +73 -0
  74. package/esm2022/lib/entity/shared/store.mjs +256 -0
  75. package/esm2022/lib/entity/shared/strategies/filter-custom-function.mjs +80 -0
  76. package/esm2022/lib/entity/shared/strategies/filter-selection.mjs +81 -0
  77. package/{esm2020 → esm2022}/lib/entity/shared/strategies/index.mjs +4 -4
  78. package/esm2022/lib/entity/shared/strategies/strategy.mjs +78 -0
  79. package/esm2022/lib/entity/shared/transaction.mjs +329 -0
  80. package/esm2022/lib/entity/shared/view.mjs +330 -0
  81. package/esm2022/lib/entity/shared/watcher.mjs +135 -0
  82. package/esm2022/lib/flexible/flexible.component.mjs +153 -0
  83. package/{esm2020 → esm2022}/lib/flexible/flexible.module.mjs +24 -24
  84. package/{esm2020 → esm2022}/lib/flexible/flexible.type.mjs +2 -2
  85. package/{esm2020 → esm2022}/lib/flexible/index.mjs +3 -3
  86. package/esm2022/lib/form/form/form.component.mjs +125 -0
  87. package/esm2022/lib/form/form/form.module.mjs +23 -0
  88. package/esm2022/lib/form/form-field/form-field-select.component.mjs +140 -0
  89. package/esm2022/lib/form/form-field/form-field-text.component.mjs +113 -0
  90. package/esm2022/lib/form/form-field/form-field-textarea.component.mjs +114 -0
  91. package/esm2022/lib/form/form-field/form-field.component.mjs +78 -0
  92. package/{esm2020 → esm2022}/lib/form/form-field/form-field.module.mjs +74 -74
  93. package/{esm2020 → esm2022}/lib/form/form-field/index.mjs +5 -5
  94. package/esm2022/lib/form/form-group/form-group.component.mjs +115 -0
  95. package/esm2022/lib/form/form-group/form-group.module.mjs +36 -0
  96. package/esm2022/lib/form/form.module.mjs +27 -0
  97. package/{esm2020 → esm2022}/lib/form/index.mjs +5 -5
  98. package/{esm2020 → esm2022}/lib/form/shared/form-field-component.mjs +7 -7
  99. package/esm2022/lib/form/shared/form-field.service.mjs +29 -0
  100. package/esm2022/lib/form/shared/form.interfaces.mjs +2 -0
  101. package/esm2022/lib/form/shared/form.service.mjs +82 -0
  102. package/esm2022/lib/form/shared/form.utils.mjs +40 -0
  103. package/{esm2020 → esm2022}/lib/form/shared/index.mjs +6 -6
  104. package/esm2022/lib/home-button/home-button.component.mjs +30 -0
  105. package/{esm2020 → esm2022}/lib/home-button/home-button.module.mjs +41 -41
  106. package/{esm2020 → esm2022}/lib/home-button/index.mjs +2 -2
  107. package/esm2022/lib/image/image-error.directive.mjs +36 -0
  108. package/{esm2020 → esm2022}/lib/image/image.module.mjs +25 -25
  109. package/{esm2020 → esm2022}/lib/image/index.mjs +3 -3
  110. package/esm2022/lib/image/secure-image.pipe.mjs +65 -0
  111. package/{esm2020 → esm2022}/lib/interactive-tour/index.mjs +5 -5
  112. package/esm2022/lib/interactive-tour/interactive-tour.component.mjs +161 -0
  113. package/esm2022/lib/interactive-tour/interactive-tour.interface.mjs +2 -0
  114. package/esm2022/lib/interactive-tour/interactive-tour.loader.mjs +49 -0
  115. package/{esm2020 → esm2022}/lib/interactive-tour/interactive-tour.module.mjs +40 -40
  116. package/esm2022/lib/interactive-tour/interactive-tour.service.mjs +297 -0
  117. package/{esm2020 → esm2022}/lib/json-dialog/index.mjs +3 -3
  118. package/esm2022/lib/json-dialog/json-dialog.component.mjs +114 -0
  119. package/{esm2020 → esm2022}/lib/json-dialog/json-dialog.module.mjs +29 -29
  120. package/{esm2020 → esm2022}/lib/json-dialog/json-dialog.service.mjs +26 -24
  121. package/{esm2020 → esm2022}/lib/keyvalue/index.mjs +2 -2
  122. package/{esm2020 → esm2022}/lib/keyvalue/keyvalue.module.mjs +24 -24
  123. package/{esm2020 → esm2022}/lib/keyvalue/keyvalue.pipe.mjs +18 -18
  124. package/{esm2020 → esm2022}/lib/list/index.mjs +3 -3
  125. package/esm2022/lib/list/list-item.directive.mjs +167 -0
  126. package/esm2022/lib/list/list.component.mjs +268 -0
  127. package/{esm2020 → esm2022}/lib/list/list.module.mjs +29 -29
  128. package/{esm2020 → esm2022}/lib/panel/index.mjs +2 -2
  129. package/esm2022/lib/panel/panel.component.mjs +60 -0
  130. package/{esm2020 → esm2022}/lib/panel/panel.module.mjs +19 -19
  131. package/{esm2020 → esm2022}/lib/sidenav/index.mjs +2 -2
  132. package/esm2022/lib/sidenav/sidenav-shim.directive.mjs +59 -0
  133. package/{esm2020 → esm2022}/lib/sidenav/sidenav.module.mjs +24 -24
  134. package/{esm2020 → esm2022}/lib/spinner/index.mjs +3 -3
  135. package/esm2022/lib/spinner/spinner-activity.directive.mjs +55 -0
  136. package/esm2022/lib/spinner/spinner.component.mjs +38 -0
  137. package/{esm2020 → esm2022}/lib/spinner/spinner.module.mjs +21 -21
  138. package/{esm2020 → esm2022}/lib/stop-propagation/index.mjs +3 -3
  139. package/{esm2020 → esm2022}/lib/stop-propagation/stop-drop-propagation.directive.mjs +22 -22
  140. package/{esm2020 → esm2022}/lib/stop-propagation/stop-propagation.directive.mjs +21 -21
  141. package/{esm2020 → esm2022}/lib/stop-propagation/stop-propagation.module.mjs +25 -25
  142. package/{esm2020 → esm2022}/lib/table/index.mjs +6 -6
  143. package/{esm2020 → esm2022}/lib/table/table-action-color.enum.mjs +7 -7
  144. package/esm2022/lib/table/table-database.mjs +28 -0
  145. package/esm2022/lib/table/table-datasource.mjs +64 -0
  146. package/esm2022/lib/table/table-model.interface.mjs +2 -0
  147. package/esm2022/lib/table/table.component.mjs +302 -0
  148. package/{esm2020 → esm2022}/lib/table/table.module.mjs +67 -67
  149. package/{esm2020 → esm2022}/lib/tool/index.mjs +3 -3
  150. package/{esm2020 → esm2022}/lib/tool/shared/index.mjs +6 -6
  151. package/esm2022/lib/tool/shared/tool-component.mjs +9 -0
  152. package/esm2022/lib/tool/shared/tool.interface.mjs +2 -0
  153. package/esm2022/lib/tool/shared/tool.service.mjs +43 -0
  154. package/{esm2020 → esm2022}/lib/tool/shared/toolbox.enums.mjs +7 -7
  155. package/esm2022/lib/tool/shared/toolbox.mjs +184 -0
  156. package/esm2022/lib/tool/tool.module.mjs +26 -0
  157. package/{esm2020 → esm2022}/lib/tool/toolbox/toolbox.animation.mjs +10 -10
  158. package/esm2022/lib/tool/toolbox/toolbox.component.mjs +273 -0
  159. package/esm2022/lib/tool/toolbox/toolbox.module.mjs +24 -0
  160. package/{esm2020 → esm2022}/lib/widget/index.mjs +3 -3
  161. package/{esm2020 → esm2022}/lib/widget/shared/index.mjs +4 -4
  162. package/esm2022/lib/widget/shared/widget.interfaces.mjs +2 -0
  163. package/{esm2020 → esm2022}/lib/widget/shared/widget.mjs +4 -4
  164. package/esm2022/lib/widget/shared/widget.service.mjs +22 -0
  165. package/esm2022/lib/widget/widget-outlet/widget-outlet.component.mjs +124 -0
  166. package/esm2022/lib/widget/widget-outlet/widget-outlet.module.mjs +23 -0
  167. package/esm2022/lib/widget/widget.module.mjs +21 -0
  168. package/{esm2020 → esm2022}/lib/workspace/index.mjs +4 -4
  169. package/{esm2020 → esm2022}/lib/workspace/shared/index.mjs +4 -4
  170. package/esm2022/lib/workspace/shared/store.mjs +37 -0
  171. package/{esm2020 → esm2022}/lib/workspace/shared/workspace.interfaces.mjs +2 -2
  172. package/esm2022/lib/workspace/shared/workspace.mjs +143 -0
  173. package/esm2022/lib/workspace/workspace-selector/workspace-selector.component.mjs +58 -0
  174. package/esm2022/lib/workspace/workspace-selector/workspace-selector.module.mjs +23 -0
  175. package/esm2022/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.component.mjs +94 -0
  176. package/esm2022/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.module.mjs +23 -0
  177. package/esm2022/lib/workspace/workspace.module.mjs +20 -0
  178. package/esm2022/public_api.mjs +76 -0
  179. package/{fesm2020 → fesm2022}/igo2-common.mjs +9837 -9345
  180. package/fesm2022/igo2-common.mjs.map +1 -0
  181. package/index.d.ts +5 -5
  182. package/lib/action/action.module.d.ts +8 -8
  183. package/lib/action/action.theming.scss +5 -0
  184. package/lib/action/actionbar/actionbar-item.component.d.ts +78 -78
  185. package/lib/action/actionbar/actionbar-item.theming.scss +32 -0
  186. package/lib/action/actionbar/actionbar.component.d.ts +147 -146
  187. package/lib/action/actionbar/actionbar.module.d.ts +20 -20
  188. package/lib/action/actionbar/actionbar.theming.scss +22 -0
  189. package/lib/action/index.d.ts +2 -2
  190. package/lib/action/shared/action.enums.d.ts +5 -5
  191. package/lib/action/shared/action.interfaces.d.ts +17 -17
  192. package/lib/action/shared/index.d.ts +3 -3
  193. package/lib/action/shared/store.d.ts +8 -8
  194. package/lib/backdrop/backdrop.component.d.ts +9 -9
  195. package/lib/backdrop/backdrop.module.d.ts +10 -10
  196. package/lib/backdrop/index.d.ts +1 -1
  197. package/lib/badge-icon/badge-icon.directive.d.ts +36 -36
  198. package/lib/badge-icon/badge-icon.module.d.ts +11 -11
  199. package/lib/badge-icon/index.d.ts +1 -1
  200. package/lib/clickout/clickout.directive.d.ts +10 -10
  201. package/lib/clickout/clickout.module.d.ts +9 -9
  202. package/lib/clickout/index.d.ts +1 -1
  203. package/lib/clone/clone.module.d.ts +9 -9
  204. package/lib/clone/clone.pipe.d.ts +7 -7
  205. package/lib/clone/index.d.ts +1 -1
  206. package/lib/collapsible/collapse.directive.d.ts +19 -19
  207. package/lib/collapsible/collapsible.component.d.ts +13 -13
  208. package/lib/collapsible/collapsible.module.d.ts +12 -12
  209. package/lib/collapsible/collapsible.theming.scss +22 -0
  210. package/lib/collapsible/index.d.ts +2 -2
  211. package/lib/color-picker-form-field/color-picker-form-field.component.d.ts +26 -0
  212. package/lib/color-picker-form-field/color-picker-form-field.module.d.ts +10 -0
  213. package/lib/color-picker-form-field/index.d.ts +1 -0
  214. package/lib/confirm-dialog/confirm-dialog.component.d.ts +9 -9
  215. package/lib/confirm-dialog/confirm-dialog.module.d.ts +12 -12
  216. package/lib/confirm-dialog/confirm-dialog.service.d.ts +12 -12
  217. package/lib/confirm-dialog/index.d.ts +2 -2
  218. package/lib/context-menu/context-menu.directive.d.ts +21 -21
  219. package/lib/context-menu/context-menu.module.d.ts +10 -10
  220. package/lib/context-menu/index.d.ts +2 -2
  221. package/lib/context-menu/long-press.directive.d.ts +20 -20
  222. package/lib/custom-html/custom-html.component.d.ts +9 -9
  223. package/lib/custom-html/custom-html.module.d.ts +16 -16
  224. package/lib/custom-html/custom-html.pipe.d.ts +10 -10
  225. package/lib/custom-html/index.d.ts +2 -2
  226. package/lib/dom/dom.interfaces.d.ts +10 -10
  227. package/lib/dom/dom.module.d.ts +8 -8
  228. package/lib/dom/dom.service.d.ts +10 -10
  229. package/lib/dom/index.d.ts +2 -2
  230. package/lib/drag-drop/drag-drop.directive.d.ts +14 -14
  231. package/lib/drag-drop/drag-drop.module.d.ts +9 -9
  232. package/lib/drag-drop/index.d.ts +1 -1
  233. package/lib/dynamic-component/dynamic-component.module.d.ts +8 -8
  234. package/lib/dynamic-component/dynamic-outlet/dynamic-outlet.component.d.ts +70 -70
  235. package/lib/dynamic-component/dynamic-outlet/dynamic-outlet.module.d.ts +11 -11
  236. package/lib/dynamic-component/index.d.ts +2 -2
  237. package/lib/dynamic-component/shared/dynamic-component.d.ts +88 -88
  238. package/lib/dynamic-component/shared/dynamic-component.interfaces.d.ts +3 -3
  239. package/lib/dynamic-component/shared/dynamic-component.service.d.ts +18 -18
  240. package/lib/dynamic-component/shared/index.d.ts +3 -3
  241. package/lib/entity/entity-selector/entity-selector.component.d.ts +92 -92
  242. package/lib/entity/entity-selector/entity-selector.module.d.ts +13 -13
  243. package/lib/entity/entity-selector/entity-selector.theming.scss +21 -0
  244. package/lib/entity/entity-table/entity-table-row.directive.d.ts +69 -69
  245. package/lib/entity/entity-table/entity-table.component.d.ts +327 -333
  246. package/lib/entity/entity-table/entity-table.module.d.ts +29 -29
  247. package/lib/entity/entity-table/entity-table.theming.scss +34 -0
  248. package/lib/entity/entity-table-paginator/entity-table-paginator.component.d.ts +49 -49
  249. package/lib/entity/entity-table-paginator/entity-table-paginator.interface.d.ts +8 -8
  250. package/lib/entity/entity-table-paginator/entity-table-paginator.module.d.ts +11 -11
  251. package/lib/entity/entity-table-paginator/entity-table-paginator.theming.scss +21 -0
  252. package/lib/entity/entity.module.d.ts +10 -10
  253. package/lib/entity/entity.theming.scss +10 -0
  254. package/lib/entity/index.d.ts +5 -5
  255. package/lib/entity/shared/entity.enums.d.ts +23 -23
  256. package/lib/entity/shared/entity.interfaces.d.ts +95 -114
  257. package/lib/entity/shared/entity.utils.d.ts +49 -49
  258. package/lib/entity/shared/index.d.ts +10 -9
  259. package/lib/entity/shared/state.d.ts +108 -103
  260. package/lib/entity/shared/store-strategy.d.ts +38 -0
  261. package/lib/entity/shared/store.d.ts +147 -176
  262. package/lib/entity/shared/strategies/filter-custom-function.d.ts +51 -51
  263. package/lib/entity/shared/strategies/filter-selection.d.ts +48 -48
  264. package/lib/entity/shared/strategies/index.d.ts +3 -3
  265. package/lib/entity/shared/strategies/strategy.d.ts +56 -56
  266. package/lib/entity/shared/transaction.d.ts +180 -168
  267. package/lib/entity/shared/view.d.ts +193 -193
  268. package/lib/entity/shared/watcher.d.ts +72 -72
  269. package/lib/flexible/flexible.component.d.ts +41 -41
  270. package/lib/flexible/flexible.module.d.ts +9 -9
  271. package/lib/flexible/flexible.type.d.ts +2 -2
  272. package/lib/flexible/index.d.ts +2 -2
  273. package/lib/form/form/form.component.d.ts +53 -53
  274. package/lib/form/form/form.module.d.ts +12 -12
  275. package/lib/form/form-field/form-field-select.component.d.ts +48 -48
  276. package/lib/form/form-field/form-field-text.component.d.ts +41 -41
  277. package/lib/form/form-field/form-field-textarea.component.d.ts +41 -41
  278. package/lib/form/form-field/form-field.component.d.ts +29 -34
  279. package/lib/form/form-field/form-field.module.d.ts +21 -21
  280. package/lib/form/form-field/index.d.ts +4 -4
  281. package/lib/form/form-group/form-group.component.d.ts +49 -49
  282. package/lib/form/form-group/form-group.module.d.ts +14 -14
  283. package/lib/form/form.module.d.ts +13 -13
  284. package/lib/form/index.d.ts +4 -4
  285. package/lib/form/shared/form-field-component.d.ts +1 -1
  286. package/lib/form/shared/form-field.service.d.ts +19 -19
  287. package/lib/form/shared/form.interfaces.d.ts +61 -57
  288. package/lib/form/shared/form.service.d.ts +15 -15
  289. package/lib/form/shared/form.utils.d.ts +11 -11
  290. package/lib/form/shared/index.d.ts +5 -5
  291. package/lib/home-button/home-button.component.d.ts +9 -9
  292. package/lib/home-button/home-button.module.d.ts +15 -15
  293. package/lib/home-button/home-button.theming.scss +18 -0
  294. package/lib/home-button/index.d.ts +1 -1
  295. package/lib/image/image-error.directive.d.ts +11 -11
  296. package/lib/image/image.module.d.ts +10 -10
  297. package/lib/image/index.d.ts +2 -2
  298. package/lib/image/secure-image.pipe.d.ts +13 -13
  299. package/lib/interactive-tour/index.d.ts +4 -4
  300. package/lib/interactive-tour/interactive-tour.component.d.ts +30 -30
  301. package/lib/interactive-tour/interactive-tour.interface.d.ts +32 -32
  302. package/lib/interactive-tour/interactive-tour.loader.d.ts +18 -18
  303. package/lib/interactive-tour/interactive-tour.module.d.ts +12 -12
  304. package/lib/interactive-tour/interactive-tour.service.d.ts +29 -29
  305. package/lib/interactive-tour/interactive-tour.theming.scss +32 -0
  306. package/lib/json-dialog/index.d.ts +2 -2
  307. package/lib/json-dialog/json-dialog.component.d.ts +13 -13
  308. package/lib/json-dialog/json-dialog.module.d.ts +13 -13
  309. package/lib/json-dialog/json-dialog.service.d.ts +10 -10
  310. package/lib/keyvalue/index.d.ts +1 -1
  311. package/lib/keyvalue/keyvalue.module.d.ts +9 -9
  312. package/lib/keyvalue/keyvalue.pipe.d.ts +7 -7
  313. package/lib/list/index.d.ts +2 -2
  314. package/lib/list/list-item.directive.d.ts +43 -43
  315. package/lib/list/list.component.d.ts +51 -51
  316. package/lib/list/list.module.d.ts +14 -14
  317. package/lib/list/list.theming.scss +40 -0
  318. package/lib/panel/index.d.ts +1 -1
  319. package/lib/panel/panel.component.d.ts +10 -10
  320. package/lib/panel/panel.module.d.ts +8 -8
  321. package/lib/panel/panel.theming.scss +30 -0
  322. package/lib/sidenav/index.d.ts +1 -1
  323. package/lib/sidenav/sidenav-shim.directive.d.ts +20 -20
  324. package/lib/sidenav/sidenav.module.d.ts +9 -9
  325. package/lib/spinner/index.d.ts +2 -2
  326. package/lib/spinner/spinner-activity.directive.d.ts +32 -32
  327. package/lib/spinner/spinner.component.d.ts +12 -12
  328. package/lib/spinner/spinner.module.d.ts +10 -10
  329. package/lib/stop-propagation/index.d.ts +2 -2
  330. package/lib/stop-propagation/stop-drop-propagation.directive.d.ts +6 -6
  331. package/lib/stop-propagation/stop-propagation.directive.d.ts +6 -6
  332. package/lib/stop-propagation/stop-propagation.module.d.ts +10 -10
  333. package/lib/table/index.d.ts +5 -5
  334. package/lib/table/table-action-color.enum.d.ts +5 -5
  335. package/lib/table/table-database.d.ts +10 -10
  336. package/lib/table/table-datasource.d.ts +18 -17
  337. package/lib/table/table-model.interface.d.ts +28 -28
  338. package/lib/table/table.component.d.ts +40 -40
  339. package/lib/table/table.module.d.ts +20 -20
  340. package/lib/tool/index.d.ts +2 -2
  341. package/lib/tool/shared/index.d.ts +5 -5
  342. package/lib/tool/shared/tool-component.d.ts +2 -2
  343. package/lib/tool/shared/tool.interface.d.ts +18 -18
  344. package/lib/tool/shared/tool.service.d.ts +30 -30
  345. package/lib/tool/shared/toolbox.d.ts +95 -95
  346. package/lib/tool/shared/toolbox.enums.d.ts +5 -5
  347. package/lib/tool/tool.module.d.ts +10 -10
  348. package/lib/tool/tool.theming.scss +5 -0
  349. package/lib/tool/toolbox/toolbox.animation.d.ts +2 -2
  350. package/lib/tool/toolbox/toolbox.component.d.ts +128 -127
  351. package/lib/tool/toolbox/toolbox.module.d.ts +13 -13
  352. package/lib/tool/toolbox/toolbox.theming.scss +105 -0
  353. package/lib/widget/index.d.ts +2 -2
  354. package/lib/widget/shared/index.d.ts +3 -3
  355. package/lib/widget/shared/widget.d.ts +4 -4
  356. package/lib/widget/shared/widget.interfaces.d.ts +12 -12
  357. package/lib/widget/shared/widget.service.d.ts +10 -10
  358. package/lib/widget/widget-outlet/widget-outlet.component.d.ts +71 -71
  359. package/lib/widget/widget-outlet/widget-outlet.module.d.ts +12 -12
  360. package/lib/widget/widget.module.d.ts +8 -8
  361. package/lib/workspace/index.d.ts +3 -3
  362. package/lib/workspace/shared/index.d.ts +3 -3
  363. package/lib/workspace/shared/store.d.ts +20 -20
  364. package/lib/workspace/shared/workspace.d.ts +108 -108
  365. package/lib/workspace/shared/workspace.interfaces.d.ts +11 -11
  366. package/lib/workspace/workspace-selector/workspace-selector.component.d.ts +39 -39
  367. package/lib/workspace/workspace-selector/workspace-selector.module.d.ts +12 -12
  368. package/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.component.d.ts +57 -57
  369. package/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.module.d.ts +12 -12
  370. package/lib/workspace/workspace.module.d.ts +9 -9
  371. package/locale/en.common.json +43 -0
  372. package/locale/fr.common.json +43 -0
  373. package/package.json +30 -28
  374. package/public_api.d.ts +72 -70
  375. package/style/partial/common-utils.scss +9 -0
  376. package/style/partial/common.variables.scss +8 -8
  377. package/style/style.css +204 -0
  378. package/esm2020/lib/action/action.module.mjs +0 -27
  379. package/esm2020/lib/action/actionbar/actionbar-item.component.mjs +0 -252
  380. package/esm2020/lib/action/actionbar/actionbar.component.mjs +0 -370
  381. package/esm2020/lib/backdrop/backdrop.component.mjs +0 -26
  382. package/esm2020/lib/badge-icon/badge-icon.directive.mjs +0 -141
  383. package/esm2020/lib/clickout/clickout.directive.mjs +0 -32
  384. package/esm2020/lib/clone/clone.pipe.mjs +0 -24
  385. package/esm2020/lib/collapsible/collapse.directive.mjs +0 -55
  386. package/esm2020/lib/collapsible/collapsible.component.mjs +0 -57
  387. package/esm2020/lib/confirm-dialog/confirm-dialog.component.mjs +0 -44
  388. package/esm2020/lib/confirm-dialog/confirm-dialog.service.mjs +0 -24
  389. package/esm2020/lib/context-menu/context-menu.directive.mjs +0 -103
  390. package/esm2020/lib/context-menu/long-press.directive.mjs +0 -67
  391. package/esm2020/lib/custom-html/custom-html.component.mjs +0 -28
  392. package/esm2020/lib/dom/dom.service.mjs +0 -30
  393. package/esm2020/lib/drag-drop/drag-drop.directive.mjs +0 -88
  394. package/esm2020/lib/dynamic-component/dynamic-component.module.mjs +0 -31
  395. package/esm2020/lib/dynamic-component/dynamic-outlet/dynamic-outlet.component.mjs +0 -122
  396. package/esm2020/lib/dynamic-component/dynamic-outlet/dynamic-outlet.module.mjs +0 -28
  397. package/esm2020/lib/dynamic-component/shared/dynamic-component.mjs +0 -174
  398. package/esm2020/lib/entity/entity-selector/entity-selector.component.mjs +0 -194
  399. package/esm2020/lib/entity/entity-selector/entity-selector.module.mjs +0 -32
  400. package/esm2020/lib/entity/entity-table/entity-table-row.directive.mjs +0 -137
  401. package/esm2020/lib/entity/entity-table/entity-table.component.mjs +0 -1376
  402. package/esm2020/lib/entity/entity-table/entity-table.module.mjs +0 -102
  403. package/esm2020/lib/entity/entity-table-paginator/entity-table-paginator.component.mjs +0 -132
  404. package/esm2020/lib/entity/entity-table-paginator/entity-table-paginator.interface.mjs +0 -2
  405. package/esm2020/lib/entity/entity-table-paginator/entity-table-paginator.module.mjs +0 -28
  406. package/esm2020/lib/entity/shared/entity.interfaces.mjs +0 -2
  407. package/esm2020/lib/entity/shared/entity.utils.mjs +0 -67
  408. package/esm2020/lib/entity/shared/index.mjs +0 -10
  409. package/esm2020/lib/entity/shared/state.mjs +0 -191
  410. package/esm2020/lib/entity/shared/store.mjs +0 -288
  411. package/esm2020/lib/entity/shared/strategies/filter-custom-function.mjs +0 -79
  412. package/esm2020/lib/entity/shared/strategies/filter-selection.mjs +0 -84
  413. package/esm2020/lib/entity/shared/strategies/strategy.mjs +0 -75
  414. package/esm2020/lib/entity/shared/transaction.mjs +0 -316
  415. package/esm2020/lib/entity/shared/view.mjs +0 -315
  416. package/esm2020/lib/entity/shared/watcher.mjs +0 -120
  417. package/esm2020/lib/flexible/flexible.component.mjs +0 -148
  418. package/esm2020/lib/form/form/form.component.mjs +0 -117
  419. package/esm2020/lib/form/form/form.module.mjs +0 -40
  420. package/esm2020/lib/form/form-field/form-field-select.component.mjs +0 -127
  421. package/esm2020/lib/form/form-field/form-field-text.component.mjs +0 -104
  422. package/esm2020/lib/form/form-field/form-field-textarea.component.mjs +0 -105
  423. package/esm2020/lib/form/form-field/form-field.component.mjs +0 -72
  424. package/esm2020/lib/form/form-group/form-group.component.mjs +0 -105
  425. package/esm2020/lib/form/form-group/form-group.module.mjs +0 -40
  426. package/esm2020/lib/form/form.module.mjs +0 -49
  427. package/esm2020/lib/form/shared/form-field.service.mjs +0 -29
  428. package/esm2020/lib/form/shared/form.interfaces.mjs +0 -2
  429. package/esm2020/lib/form/shared/form.service.mjs +0 -81
  430. package/esm2020/lib/form/shared/form.utils.mjs +0 -40
  431. package/esm2020/lib/home-button/home-button.component.mjs +0 -31
  432. package/esm2020/lib/image/image-error.directive.mjs +0 -35
  433. package/esm2020/lib/image/secure-image.pipe.mjs +0 -59
  434. package/esm2020/lib/interactive-tour/interactive-tour.component.mjs +0 -135
  435. package/esm2020/lib/interactive-tour/interactive-tour.interface.mjs +0 -2
  436. package/esm2020/lib/interactive-tour/interactive-tour.loader.mjs +0 -44
  437. package/esm2020/lib/interactive-tour/interactive-tour.service.mjs +0 -285
  438. package/esm2020/lib/json-dialog/json-dialog.component.mjs +0 -109
  439. package/esm2020/lib/list/list-item.directive.mjs +0 -165
  440. package/esm2020/lib/list/list.component.mjs +0 -262
  441. package/esm2020/lib/panel/panel.component.mjs +0 -59
  442. package/esm2020/lib/sidenav/sidenav-shim.directive.mjs +0 -55
  443. package/esm2020/lib/spinner/spinner-activity.directive.mjs +0 -47
  444. package/esm2020/lib/spinner/spinner.component.mjs +0 -35
  445. package/esm2020/lib/table/table-database.mjs +0 -28
  446. package/esm2020/lib/table/table-datasource.mjs +0 -61
  447. package/esm2020/lib/table/table-model.interface.mjs +0 -2
  448. package/esm2020/lib/table/table.component.mjs +0 -297
  449. package/esm2020/lib/tool/shared/tool-component.mjs +0 -9
  450. package/esm2020/lib/tool/shared/tool.interface.mjs +0 -2
  451. package/esm2020/lib/tool/shared/tool.service.mjs +0 -43
  452. package/esm2020/lib/tool/shared/toolbox.mjs +0 -179
  453. package/esm2020/lib/tool/tool.module.mjs +0 -32
  454. package/esm2020/lib/tool/toolbox/toolbox.component.mjs +0 -255
  455. package/esm2020/lib/tool/toolbox/toolbox.module.mjs +0 -36
  456. package/esm2020/lib/widget/shared/widget.interfaces.mjs +0 -2
  457. package/esm2020/lib/widget/shared/widget.service.mjs +0 -20
  458. package/esm2020/lib/widget/widget-outlet/widget-outlet.component.mjs +0 -116
  459. package/esm2020/lib/widget/widget-outlet/widget-outlet.module.mjs +0 -32
  460. package/esm2020/lib/widget/widget.module.mjs +0 -32
  461. package/esm2020/lib/workspace/shared/store.mjs +0 -40
  462. package/esm2020/lib/workspace/shared/workspace.mjs +0 -117
  463. package/esm2020/lib/workspace/workspace-selector/workspace-selector.component.mjs +0 -51
  464. package/esm2020/lib/workspace/workspace-selector/workspace-selector.module.mjs +0 -32
  465. package/esm2020/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.component.mjs +0 -88
  466. package/esm2020/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.module.mjs +0 -32
  467. package/esm2020/lib/workspace/workspace.module.mjs +0 -27
  468. package/esm2020/public_api.mjs +0 -74
  469. package/fesm2015/igo2-common.mjs +0 -10329
  470. package/fesm2015/igo2-common.mjs.map +0 -1
  471. package/fesm2020/igo2-common.mjs.map +0 -1
  472. package/style/common.theming.scss +0 -12
  473. package/style/partial/action.scss +0 -18
@@ -0,0 +1,214 @@
1
+ import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy, ChangeDetectorRef } from '@angular/core';
2
+ import { BehaviorSubject } from 'rxjs';
3
+ import { EntityStore } from '../shared/store';
4
+ import { EntityStoreWatcher } from '../shared/watcher';
5
+ import { getEntityTitle } from '../shared/entity.utils';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/common";
8
+ import * as i2 from "@angular/material/form-field";
9
+ import * as i3 from "@angular/material/select";
10
+ import * as i4 from "@angular/material/core";
11
+ function EntitySelectorComponent_mat_option_3_Template(rf, ctx) { if (rf & 1) {
12
+ i0.ɵɵelementStart(0, "mat-option", 4);
13
+ i0.ɵɵtext(1);
14
+ i0.ɵɵelementEnd();
15
+ } if (rf & 2) {
16
+ const ctx_r0 = i0.ɵɵnextContext();
17
+ i0.ɵɵproperty("value", ctx_r0.emptyValue);
18
+ i0.ɵɵadvance(1);
19
+ i0.ɵɵtextInterpolate(ctx_r0.emptyText);
20
+ } }
21
+ function EntitySelectorComponent_mat_option_4_Template(rf, ctx) { if (rf & 1) {
22
+ i0.ɵɵelementStart(0, "mat-option", 4);
23
+ i0.ɵɵtext(1);
24
+ i0.ɵɵpipe(2, "async");
25
+ i0.ɵɵelementEnd();
26
+ } if (rf & 2) {
27
+ const ctx_r1 = i0.ɵɵnextContext();
28
+ i0.ɵɵproperty("value", ctx_r1.multiSelectValue);
29
+ i0.ɵɵadvance(1);
30
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 2, ctx_r1.multiText$));
31
+ } }
32
+ function EntitySelectorComponent_ng_template_5_Template(rf, ctx) { if (rf & 1) {
33
+ i0.ɵɵelementStart(0, "mat-option", 4);
34
+ i0.ɵɵtext(1);
35
+ i0.ɵɵelementEnd();
36
+ } if (rf & 2) {
37
+ const record_r3 = ctx.$implicit;
38
+ const ctx_r2 = i0.ɵɵnextContext();
39
+ i0.ɵɵproperty("value", record_r3.entity);
40
+ i0.ɵɵadvance(1);
41
+ i0.ɵɵtextInterpolate1(" ", ctx_r2.titleAccessor(record_r3.entity), " ");
42
+ } }
43
+ export class EntitySelectorComponent {
44
+ cdRef;
45
+ /**
46
+ * The selected entity
47
+ * @internal
48
+ */
49
+ selected$ = new BehaviorSubject(undefined);
50
+ /**
51
+ * The current multi select option text
52
+ * @internal
53
+ */
54
+ multiText$ = new BehaviorSubject(undefined);
55
+ multiSelectValue = { id: 'IGO_MULTI_SELECT' };
56
+ emptyValue = { id: 'IGO_EMPTY_SELECT' };
57
+ /**
58
+ * Subscription to the selected entity
59
+ */
60
+ selected$$;
61
+ /**
62
+ * Store watcher
63
+ */
64
+ watcher;
65
+ /**
66
+ * Entity store
67
+ */
68
+ store;
69
+ /**
70
+ * Title accessor
71
+ */
72
+ titleAccessor = getEntityTitle;
73
+ /**
74
+ * Text to display when nothing is selected
75
+ */
76
+ emptyText = undefined;
77
+ /**
78
+ * Wheter selecting many entities is allowed
79
+ */
80
+ multi = false;
81
+ /**
82
+ * Text to display for the select all option
83
+ */
84
+ multiAllText = 'All';
85
+ /**
86
+ * Text to display for the select none option
87
+ */
88
+ multiNoneText = 'None';
89
+ /**
90
+ * Field placeholder
91
+ */
92
+ placeholder;
93
+ /**
94
+ * Wheter the selector is disabled or not
95
+ */
96
+ disabled = false;
97
+ /**
98
+ * Event emitted when the selection changes
99
+ */
100
+ selectedChange = new EventEmitter();
101
+ constructor(cdRef) {
102
+ this.cdRef = cdRef;
103
+ }
104
+ /**
105
+ * Create a store watcher and subscribe to the selected entity
106
+ * @internal
107
+ */
108
+ ngOnInit() {
109
+ this.watcher = new EntityStoreWatcher(this.store, this.cdRef);
110
+ this.selected$$ = this.store.stateView
111
+ .manyBy$((record) => record.state.selected === true)
112
+ .subscribe((records) => {
113
+ const entities = records.map((record) => record.entity);
114
+ this.onSelectFromStore(entities);
115
+ });
116
+ }
117
+ /**
118
+ * Unsubscribe to the selected entity and destroy the store watcher
119
+ * @internal
120
+ */
121
+ ngOnDestroy() {
122
+ this.watcher.destroy();
123
+ this.selected$$.unsubscribe();
124
+ }
125
+ /**
126
+ * On selection change, update the store's state and emit an event
127
+ * @internal
128
+ */
129
+ onSelectionChange(event) {
130
+ const values = event.value instanceof Array ? event.value : [event.value];
131
+ const multiSelect = values.find((_value) => _value === this.multiSelectValue);
132
+ let entities = values.filter((_value) => _value !== this.multiSelectValue);
133
+ if (multiSelect !== undefined) {
134
+ if (entities.length === this.store.count) {
135
+ entities = [];
136
+ }
137
+ else if (entities.length < this.store.count) {
138
+ entities = this.store.all();
139
+ }
140
+ }
141
+ entities = entities.filter((entity) => entity !== this.emptyValue);
142
+ if (entities.length === 0) {
143
+ this.store.state.updateAll({ selected: false });
144
+ }
145
+ else {
146
+ this.store.state.updateMany(entities, { selected: true }, true);
147
+ }
148
+ const value = this.multi ? entities : event.value;
149
+ this.selectedChange.emit({ selected: true, value });
150
+ }
151
+ onSelectFromStore(entities) {
152
+ if (this.multi === true) {
153
+ this.selected$.next(entities);
154
+ }
155
+ else {
156
+ const entity = entities.length > 0 ? entities[0] : undefined;
157
+ this.selected$.next(entity);
158
+ }
159
+ this.updateMultiToggleWithEntities(entities);
160
+ }
161
+ updateMultiToggleWithEntities(entities) {
162
+ if (entities.length === this.store.count &&
163
+ this.multiText$.value !== this.multiNoneText) {
164
+ this.multiText$.next(this.multiNoneText);
165
+ }
166
+ else if (entities.length < this.store.count &&
167
+ this.multiText$.value !== this.multiAllText) {
168
+ this.multiText$.next(this.multiAllText);
169
+ }
170
+ }
171
+ static ɵfac = function EntitySelectorComponent_Factory(t) { return new (t || EntitySelectorComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
172
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: EntitySelectorComponent, selectors: [["igo-entity-selector"]], inputs: { store: "store", titleAccessor: "titleAccessor", emptyText: "emptyText", multi: "multi", multiAllText: "multiAllText", multiNoneText: "multiNoneText", placeholder: "placeholder", disabled: "disabled" }, outputs: { selectedChange: "selectedChange" }, decls: 7, vars: 11, consts: [["subscriptSizing", "dynamic", 1, "igo-entity-selector"], [3, "disabled", "value", "multiple", "placeholder", "selectionChange"], [3, "value", 4, "ngIf"], ["ngFor", "", 3, "ngForOf"], [3, "value"]], template: function EntitySelectorComponent_Template(rf, ctx) { if (rf & 1) {
173
+ i0.ɵɵelementStart(0, "mat-form-field", 0)(1, "mat-select", 1);
174
+ i0.ɵɵlistener("selectionChange", function EntitySelectorComponent_Template_mat_select_selectionChange_1_listener($event) { return ctx.onSelectionChange($event); });
175
+ i0.ɵɵpipe(2, "async");
176
+ i0.ɵɵtemplate(3, EntitySelectorComponent_mat_option_3_Template, 2, 2, "mat-option", 2);
177
+ i0.ɵɵtemplate(4, EntitySelectorComponent_mat_option_4_Template, 3, 4, "mat-option", 2);
178
+ i0.ɵɵtemplate(5, EntitySelectorComponent_ng_template_5_Template, 2, 2, "ng-template", 3);
179
+ i0.ɵɵpipe(6, "async");
180
+ i0.ɵɵelementEnd()();
181
+ } if (rf & 2) {
182
+ i0.ɵɵadvance(1);
183
+ i0.ɵɵproperty("disabled", ctx.disabled)("value", i0.ɵɵpipeBind1(2, 7, ctx.selected$))("multiple", ctx.multi)("placeholder", ctx.placeholder);
184
+ i0.ɵɵadvance(2);
185
+ i0.ɵɵproperty("ngIf", ctx.emptyText !== undefined && ctx.multi === false);
186
+ i0.ɵɵadvance(1);
187
+ i0.ɵɵproperty("ngIf", ctx.multi === true);
188
+ i0.ɵɵadvance(1);
189
+ i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(6, 9, ctx.store.stateView.all$()));
190
+ } }, dependencies: [i1.NgForOf, i1.NgIf, i2.MatFormField, i3.MatSelect, i4.MatOption, i1.AsyncPipe], styles: ["mat-form-field[_ngcontent-%COMP%]{width:100%}"], changeDetection: 0 });
191
+ }
192
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EntitySelectorComponent, [{
193
+ type: Component,
194
+ args: [{ selector: 'igo-entity-selector', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-form-field class=\"igo-entity-selector\" subscriptSizing=\"dynamic\">\r\n <mat-select\r\n [disabled]=\"disabled\"\r\n [value]=\"selected$ | async\"\r\n [multiple]=\"multi\"\r\n [placeholder]=\"placeholder\"\r\n (selectionChange)=\"onSelectionChange($event)\"\r\n >\r\n <mat-option\r\n *ngIf=\"emptyText !== undefined && multi === false\"\r\n [value]=\"emptyValue\"\r\n >{{ emptyText }}</mat-option\r\n >\r\n <mat-option *ngIf=\"multi === true\" [value]=\"multiSelectValue\">{{\r\n multiText$ | async\r\n }}</mat-option>\r\n <ng-template ngFor let-record [ngForOf]=\"store.stateView.all$() | async\">\r\n <mat-option [value]=\"record.entity\">\r\n {{ titleAccessor(record.entity) }}\r\n </mat-option>\r\n </ng-template>\r\n </mat-select>\r\n</mat-form-field>\r\n", styles: ["mat-form-field{width:100%}\n"] }]
195
+ }], function () { return [{ type: i0.ChangeDetectorRef }]; }, { store: [{
196
+ type: Input
197
+ }], titleAccessor: [{
198
+ type: Input
199
+ }], emptyText: [{
200
+ type: Input
201
+ }], multi: [{
202
+ type: Input
203
+ }], multiAllText: [{
204
+ type: Input
205
+ }], multiNoneText: [{
206
+ type: Input
207
+ }], placeholder: [{
208
+ type: Input
209
+ }], disabled: [{
210
+ type: Input
211
+ }], selectedChange: [{
212
+ type: Output
213
+ }] }); })();
214
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LXNlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvbGliL2VudGl0eS9lbnRpdHktc2VsZWN0b3IvZW50aXR5LXNlbGVjdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvbGliL2VudGl0eS9lbnRpdHktc2VsZWN0b3IvZW50aXR5LXNlbGVjdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUdsQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsZUFBZSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUdyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7O0lDUnBELHFDQUdHO0lBQUEsWUFBZTtJQUFBLGlCQUNqQjs7O0lBRkMseUNBQW9CO0lBQ25CLGVBQWU7SUFBZixzQ0FBZTs7O0lBRWxCLHFDQUE4RDtJQUFBLFlBRTVEOztJQUFBLGlCQUFhOzs7SUFGb0IsK0NBQTBCO0lBQUMsZUFFNUQ7SUFGNEQsNkRBRTVEOzs7SUFFQSxxQ0FBb0M7SUFDbEMsWUFDRjtJQUFBLGlCQUFhOzs7O0lBRkQsd0NBQXVCO0lBQ2pDLGVBQ0Y7SUFERSx1RUFDRjs7QURLTixNQUFNLE9BQU8sdUJBQXVCO0lBMkVkO0lBMUVwQjs7O09BR0c7SUFDTSxTQUFTLEdBQUcsSUFBSSxlQUFlLENBQVMsU0FBUyxDQUFDLENBQUM7SUFFNUQ7OztPQUdHO0lBQ00sVUFB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Q0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLGFBQWEsRUFDNUM7WUFDQSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDMUM7YUFBTSxJQUNMLFFBQVEsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLO1lBQ2xDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxZQUFZLEVBQzNDO1lBQ0EsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ3pDO0lBQ0gsQ0FBQztpRkE5SlUsdUJBQXVCOzZEQUF2Qix1QkFBdUI7WUN4QnBDLHlDQUFzRSxvQkFBQTtZQU1sRSxrSUFBbUIsNkJBQXlCLElBQUM7O1lBRTdDLHNGQUlDO1lBQ0Qsc0ZBRWU7WUFDZix3RkFJYzs7WUFDaEIsaUJBQWEsRUFBQTs7WUFuQlgsZUFBcUI7WUFBckIsdUNBQXFCLDhDQUFBLHVCQUFBLGdDQUFBO1lBT2xCLGVBQWdEO1lBQWhELHlFQUFnRDtZQUl0QyxlQUFvQjtZQUFwQix5Q0FBb0I7WUFHSCxlQUEwQztZQUExQywwRUFBMEM7Ozt1RkRRL0QsdUJBQXVCO2NBTm5DLFNBQVM7MkJBQ0UscUJBQXFCLG1CQUdkLHVCQUF1QixDQUFDLE1BQU07b0VBZ0N0QyxLQUFLO2tCQUFiLEtBQUs7WUFLRyxhQUFhO2tCQUFyQixLQUFLO1lBS0csU0FBUztrQkFBakIsS0FBSztZQUtHLEtBQUs7a0JBQWIsS0FBSztZQUtHLFlBQVk7a0JBQXBCLEtBQUs7WUFLRyxhQUFhO2tCQUFyQixLQUFLO1lBS0csV0FBVztrQkFBbkIsS0FBSztZQUtHLFFBQVE7a0JBQWhCLEtBQUs7WUFLSSxjQUFjO2tCQUF2QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBPbkluaXQsXHJcbiAgT25EZXN0cm95XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgRW50aXR5UmVjb3JkIH0gZnJvbSAnLi4vc2hhcmVkL2VudGl0eS5pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgRW50aXR5U3RvcmUgfSBmcm9tICcuLi9zaGFyZWQvc3RvcmUnO1xyXG5pbXBvcnQgeyBFbnRpdHlTdG9yZVdhdGNoZXIgfSBmcm9tICcuLi9zaGFyZWQvd2F0Y2hlcic7XHJcbmltcG9ydCB7IGdldEVudGl0eVRpdGxlIH0gZnJvbSAnLi4vc2hhcmVkL2VudGl0eS51dGlscyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lnby1lbnRpdHktc2VsZWN0b3InLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9lbnRpdHktc2VsZWN0b3IuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2VudGl0eS1zZWxlY3Rvci5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFbnRpdHlTZWxlY3RvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICAvKipcclxuICAgKiBUaGUgc2VsZWN0ZWQgZW50aXR5XHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgc2VsZWN0ZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxvYmplY3Q+KHVuZGVmaW5lZCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBjdXJyZW50IG11bHRpIHNlbGVjdCBvcHRpb24gdGV4dFxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IG11bHRpVGV4dCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4odW5kZWZpbmVkKTtcclxuXHJcbiAgcmVhZG9ubHkgbXVsdGlTZWxlY3RWYWx1ZSA9IHsgaWQ6ICdJR09fTVVMVElfU0VMRUNUJyB9O1xyXG5cclxuICByZWFkb25seSBlbXB0eVZhbHVlID0geyBpZDogJ0lHT19FTVBUWV9TRUxFQ1QnIH07XHJcblxyXG4gIC8qKlxyXG4gICAqIFN1YnNjcmlwdGlvbiB0byB0aGUgc2VsZWN0ZWQgZW50aXR5XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzZWxlY3RlZCQkOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIC8qKlxyXG4gICAqIFN0b3JlIHdhdGNoZXJcclxuICAgKi9cclxuICBwcml2YXRlIHdhdGNoZXI6IEVudGl0eVN0b3JlV2F0Y2hlcjxvYmplY3Q+O1xyXG5cclxuICAvKipcclxuICAgKiBFbnRpdHkgc3RvcmVcclxuICAgKi9cclxuICBASW5wdXQoKSBzdG9yZTogRW50aXR5U3RvcmU8b2JqZWN0PjtcclxuXHJcbiAgLyoqXHJcbiAgICogVGl0bGUgYWNjZXNzb3JcclxuICAgKi9cclxuICBASW5wdXQoKSB0aXRsZUFjY2Vzc29yOiAob2JqZWN0KSA9PiBzdHJpbmcgPSBnZXRFbnRpdHlUaXRsZTtcclxuXHJcbiAgLyoqXHJcbiAgICogVGV4dCB0byBkaXNwbGF5IHdoZW4gbm90aGluZyBpcyBzZWxlY3RlZFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGVtcHR5VGV4dDogc3RyaW5nID0gdW5kZWZpbmVkO1xyXG5cclxuICAvKipcclxuICAgKiBXaGV0ZXIgc2VsZWN0aW5nIG1hbnkgZW50aXRpZXMgaXMgYWxsb3dlZFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIG11bHRpOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRleHQgdG8gZGlzcGxheSBmb3IgdGhlIHNlbGVjdCBhbGwgb3B0aW9uXHJcbiAgICovXHJcbiAgQElucHV0KCkgbXVsdGlBbGxUZXh0OiBzdHJpbmcgPSAnQWxsJztcclxuXHJcbiAgLyoqXHJcbiAgICogVGV4dCB0byBkaXNwbGF5IGZvciB0aGUgc2VsZWN0IG5vbmUgb3B0aW9uXHJcbiAgICovXHJcbiAgQElucHV0KCkgbXVsdGlOb25lVGV4dDogc3RyaW5nID0gJ05vbmUnO1xyXG5cclxuICAvKipcclxuICAgKiBGaWVsZCBwbGFjZWhvbGRlclxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmc7XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZXRlciB0aGUgc2VsZWN0b3IgaXMgZGlzYWJsZWQgb3Igbm90XHJcbiAgICovXHJcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBzZWxlY3Rpb24gY2hhbmdlc1xyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBzZWxlY3RlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8e1xyXG4gICAgc2VsZWN0ZWQ6IGJvb2xlYW47XHJcbiAgICB2YWx1ZTogb2JqZWN0IHwgb2JqZWN0W107XHJcbiAgfT4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZSBhIHN0b3JlIHdhdGNoZXIgYW5kIHN1YnNjcmliZSB0byB0aGUgc2VsZWN0ZWQgZW50aXR5XHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLndhdGNoZXIgPSBuZXcgRW50aXR5U3RvcmVXYXRjaGVyKHRoaXMuc3RvcmUsIHRoaXMuY2RSZWYpO1xyXG5cclxuICAgIHRoaXMuc2VsZWN0ZWQkJCA9IHRoaXMuc3RvcmUuc3RhdGVWaWV3XHJcbiAgICAgIC5tYW55QnkkKChyZWNvcmQ6IEVudGl0eVJlY29yZDxvYmplY3Q+KSA9PiByZWNvcmQuc3RhdGUuc2VsZWN0ZWQgPT09IHRydWUpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHJlY29yZHM6IEVudGl0eVJlY29yZDxvYmplY3Q+W10pID0+IHtcclxuICAgICAgICBjb25zdCBlbnRpdGllcyA9IHJlY29yZHMubWFwKFxyXG4gICAgICAgICAgKHJlY29yZDogRW50aXR5UmVjb3JkPG9iamVjdD4pID0+IHJlY29yZC5lbnRpdHlcclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMub25TZWxlY3RGcm9tU3RvcmUoZW50aXRpZXMpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVuc3Vic2NyaWJlIHRvIHRoZSBzZWxlY3RlZCBlbnRpdHkgYW5kIGRlc3Ryb3kgdGhlIHN0b3JlIHdhdGNoZXJcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMud2F0Y2hlci5kZXN0cm95KCk7XHJcbiAgICB0aGlzLnNlbGVjdGVkJCQudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE9uIHNlbGVjdGlvbiBjaGFuZ2UsIHVwZGF0ZSB0aGUgc3RvcmUncyBzdGF0ZSBhbmQgZW1pdCBhbiBldmVudFxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIG9uU2VsZWN0aW9uQ2hhbmdlKGV2ZW50OiB7IHZhbHVlOiBvYmplY3QgfCB1bmRlZmluZWQgfSkge1xyXG4gICAgY29uc3QgdmFsdWVzID0gZXZlbnQudmFsdWUgaW5zdGFuY2VvZiBBcnJheSA/IGV2ZW50LnZhbHVlIDogW2V2ZW50LnZhbHVlXTtcclxuXHJcbiAgICBjb25zdCBtdWx0aVNlbGVjdCA9IHZhbHVlcy5maW5kKFxyXG4gICAgICAoX3ZhbHVlOiBvYmplY3QpID0+IF92YWx1ZSA9PT0gdGhpcy5tdWx0aVNlbGVjdFZhbHVlXHJcbiAgICApO1xyXG4gICAgbGV0IGVudGl0aWVzID0gdmFsdWVzLmZpbHRlcihcclxuICAgICAgKF92YWx1ZTogb2JqZWN0KSA9PiBfdmFsdWUgIT09IHRoaXMubXVsdGlTZWxlY3RWYWx1ZVxyXG4gICAgKTtcclxuICAgIGlmIChtdWx0aVNlbGVjdCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGlmIChlbnRpdGllcy5sZW5ndGggPT09IHRoaXMuc3RvcmUuY291bnQpIHtcclxuICAgICAgICBlbnRpdGllcyA9IFtdO1xyXG4gICAgICB9IGVsc2UgaWYgKGVudGl0aWVzLmxlbmd0aCA8IHRoaXMuc3RvcmUuY291bnQpIHtcclxuICAgICAgICBlbnRpdGllcyA9IHRoaXMuc3RvcmUuYWxsKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBlbnRpdGllcyA9IGVudGl0aWVzLmZpbHRlcigoZW50aXR5OiBvYmplY3QpID0+IGVudGl0eSAhPT0gdGhpcy5lbXB0eVZhbHVlKTtcclxuICAgIGlmIChlbnRpdGllcy5sZW5ndGggPT09IDApIHtcclxuICAgICAgdGhpcy5zdG9yZS5zdGF0ZS51cGRhdGVBbGwoeyBzZWxlY3RlZDogZmFsc2UgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnN0b3JlLnN0YXRlLnVwZGF0ZU1hbnkoZW50aXRpZXMsIHsgc2VsZWN0ZWQ6IHRydWUgfSwgdHJ1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLm11bHRpID8gZW50aXRpZXMgOiBldmVudC52YWx1ZTtcclxuICAgIHRoaXMuc2VsZWN0ZWRDaGFuZ2UuZW1pdCh7IHNlbGVjdGVkOiB0cnVlLCB2YWx1ZSB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25TZWxlY3RGcm9tU3RvcmUoZW50aXRpZXM6IG9iamVjdFtdKSB7XHJcbiAgICBpZiAodGhpcy5tdWx0aSA9PT0gdHJ1ZSkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkJC5uZXh0KGVudGl0aWVzKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IGVudGl0eSA9IGVudGl0aWVzLmxlbmd0aCA+IDAgPyBlbnRpdGllc1swXSA6IHVuZGVmaW5lZDtcclxuICAgICAgdGhpcy5zZWxlY3RlZCQubmV4dChlbnRpdHkpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudXBkYXRlTXVsdGlUb2dnbGVXaXRoRW50aXRpZXMoZW50aXRpZXMpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB1cGRhdGVNdWx0aVRvZ2dsZVdpdGhFbnRpdGllcyhlbnRpdGllczogb2JqZWN0W10pIHtcclxuICAgIGlmIChcclxuICAgICAgZW50aXRpZXMubGVuZ3RoID09PSB0aGlzLnN0b3JlLmNvdW50ICYmXHJcbiAgICAgIHRoaXMubXVsdGlUZXh0JC52YWx1ZSAhPT0gdGhpcy5tdWx0aU5vbmVUZXh0XHJcbiAgICApIHtcclxuICAgICAgdGhpcy5tdWx0aVRleHQkLm5leHQodGhpcy5tdWx0aU5vbmVUZXh0KTtcclxuICAgIH0gZWxzZSBpZiAoXHJcbiAgICAgIGVudGl0aWVzLmxlbmd0aCA8IHRoaXMuc3RvcmUuY291bnQgJiZcclxuICAgICAgdGhpcy5tdWx0aVRleHQkLnZhbHVlICE9PSB0aGlzLm11bHRpQWxsVGV4dFxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMubXVsdGlUZXh0JC5uZXh0KHRoaXMubXVsdGlBbGxUZXh0KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiaWdvLWVudGl0eS1zZWxlY3RvclwiIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIj5cclxuICA8bWF0LXNlbGVjdFxyXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgIFt2YWx1ZV09XCJzZWxlY3RlZCQgfCBhc3luY1wiXHJcbiAgICBbbXVsdGlwbGVdPVwibXVsdGlcIlxyXG4gICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwib25TZWxlY3Rpb25DaGFuZ2UoJGV2ZW50KVwiXHJcbiAgPlxyXG4gICAgPG1hdC1vcHRpb25cclxuICAgICAgKm5nSWY9XCJlbXB0eVRleHQgIT09IHVuZGVmaW5lZCAmJiBtdWx0aSA9PT0gZmFsc2VcIlxyXG4gICAgICBbdmFsdWVdPVwiZW1wdHlWYWx1ZVwiXHJcbiAgICAgID57eyBlbXB0eVRleHQgfX08L21hdC1vcHRpb25cclxuICAgID5cclxuICAgIDxtYXQtb3B0aW9uICpuZ0lmPVwibXVsdGkgPT09IHRydWVcIiBbdmFsdWVdPVwibXVsdGlTZWxlY3RWYWx1ZVwiPnt7XHJcbiAgICAgIG11bHRpVGV4dCQgfCBhc3luY1xyXG4gICAgfX08L21hdC1vcHRpb24+XHJcbiAgICA8bmctdGVtcGxhdGUgbmdGb3IgbGV0LXJlY29yZCBbbmdGb3JPZl09XCJzdG9yZS5zdGF0ZVZpZXcuYWxsJCgpIHwgYXN5bmNcIj5cclxuICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cInJlY29yZC5lbnRpdHlcIj5cclxuICAgICAgICB7eyB0aXRsZUFjY2Vzc29yKHJlY29yZC5lbnRpdHkpIH19XHJcbiAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgPC9tYXQtc2VsZWN0PlxyXG48L21hdC1mb3JtLWZpZWxkPlxyXG4iXX0=
@@ -0,0 +1,24 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { FormsModule } from '@angular/forms';
4
+ import { MatSelectModule } from '@angular/material/select';
5
+ import { EntitySelectorComponent } from './entity-selector.component';
6
+ import * as i0 from "@angular/core";
7
+ /**
8
+ * @ignore
9
+ */
10
+ export class IgoEntitySelectorModule {
11
+ static ɵfac = function IgoEntitySelectorModule_Factory(t) { return new (t || IgoEntitySelectorModule)(); };
12
+ static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoEntitySelectorModule });
13
+ static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule, FormsModule, MatSelectModule] });
14
+ }
15
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoEntitySelectorModule, [{
16
+ type: NgModule,
17
+ args: [{
18
+ imports: [CommonModule, FormsModule, MatSelectModule],
19
+ exports: [EntitySelectorComponent],
20
+ declarations: [EntitySelectorComponent]
21
+ }]
22
+ }], null, null); })();
23
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoEntitySelectorModule, { declarations: [EntitySelectorComponent], imports: [CommonModule, FormsModule, MatSelectModule], exports: [EntitySelectorComponent] }); })();
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LXNlbGVjdG9yLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvbGliL2VudGl0eS9lbnRpdHktc2VsZWN0b3IvZW50aXR5LXNlbGVjdG9yLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTNELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOztBQUV0RTs7R0FFRztBQU1ILE1BQU0sT0FBTyx1QkFBdUI7aUZBQXZCLHVCQUF1Qjs0REFBdkIsdUJBQXVCO2dFQUp4QixZQUFZLEVBQUUsV0FBVyxFQUFFLGVBQWU7O3VGQUl6Qyx1QkFBdUI7Y0FMbkMsUUFBUTtlQUFDO2dCQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsZUFBZSxDQUFDO2dCQUNyRCxPQUFPLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztnQkFDbEMsWUFBWSxFQUFFLENBQUMsdUJBQXVCLENBQUM7YUFDeEM7O3dGQUNZLHVCQUF1QixtQkFGbkIsdUJBQXVCLGFBRjVCLFlBQVksRUFBRSxXQUFXLEVBQUUsZUFBZSxhQUMxQyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XHJcblxyXG5pbXBvcnQgeyBFbnRpdHlTZWxlY3RvckNvbXBvbmVudCB9IGZyb20gJy4vZW50aXR5LXNlbGVjdG9yLmNvbXBvbmVudCc7XHJcblxyXG4vKipcclxuICogQGlnbm9yZVxyXG4gKi9cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgTWF0U2VsZWN0TW9kdWxlXSxcclxuICBleHBvcnRzOiBbRW50aXR5U2VsZWN0b3JDb21wb25lbnRdLFxyXG4gIGRlY2xhcmF0aW9uczogW0VudGl0eVNlbGVjdG9yQ29tcG9uZW50XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSWdvRW50aXR5U2VsZWN0b3JNb2R1bGUge31cclxuIl19
@@ -0,0 +1,139 @@
1
+ import { Directive, Input, ElementRef, Renderer2, EventEmitter, Output, HostListener } 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 = function EntityTableRowDirective_Factory(t) { return new (t || EntityTableRowDirective)(i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(i0.ElementRef)); };
114
+ static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: EntityTableRowDirective, selectors: [["", "igoEntityTableRow", ""]], hostBindings: function EntityTableRowDirective_HostBindings(rf, ctx) { if (rf & 1) {
115
+ i0.ɵɵlistener("click", function EntityTableRowDirective_click_HostBindingHandler() { return ctx.onClick(); });
116
+ } }, inputs: { selection: "selection", selectOnClick: "selectOnClick", highlightSelection: "highlightSelection", selected: "selected", scrollBehavior: "scrollBehavior" }, outputs: { select: "select" } });
117
+ }
118
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EntityTableRowDirective, [{
119
+ type: Directive,
120
+ args: [{
121
+ selector: '[igoEntityTableRow]'
122
+ }]
123
+ }], function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; }, { selection: [{
124
+ type: Input
125
+ }], selectOnClick: [{
126
+ type: Input
127
+ }], highlightSelection: [{
128
+ type: Input
129
+ }], selected: [{
130
+ type: Input
131
+ }], scrollBehavior: [{
132
+ type: Input
133
+ }], select: [{
134
+ type: Output
135
+ }], onClick: [{
136
+ type: HostListener,
137
+ args: ['click']
138
+ }] }); })();
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LXRhYmxlLXJvdy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9lbnRpdHkvZW50aXR5LXRhYmxlL2VudGl0eS10YWJsZS1yb3cuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLFVBQVUsRUFDVixTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixZQUFZLEVBQ2IsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxjQUFjLE1BQU0sNEJBQTRCLENBQUM7QUFFeEQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBRW5FOztHQUVHO0FBSUgsTUFBTSxPQUFPLHVCQUF1QjtJQXdFeEI7SUFDQTtJQXhFVjs7T0FFRztJQUNILE1BQU0sQ0FBQyxXQUFXLEdBQUcsK0JBQStCLENBQUM7SUFFckQ7O09BRUc7SUFDSCxNQUFNLENBQUMsY0FBYyxHQUFHLGtDQUFrQyxDQUFDO0lBRTNEOztPQUVHO0lBQ00sU0FBUyxHQUFHLEtBQUssQ0FBQztJQUUzQjs7T0FFRztJQUNNLGFBQWEsR0FBWSxJQUFJLENBQUM7SUFFdkM7O09BRUc7SUFDTSxrQkFBa0IsR0FBWSxJQUFJLENBQUM7SUFFNUM7O09BRUc7SUFDSCxJQUNJLFFBQVEsQ0FBQyxLQUFjO1FBQ3pCLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxLQUFLLEVBQUU7WUFDNUIsT0FBTztTQUNSO1FBQ0QsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUM1QixPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBQ0QsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFDTyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBRTFCOztPQUVHO0lBRUgsY0FBYyxHQUE4Qix5QkFBeUIsQ0FBQyxJQUFJLENBQUM7SUFFM0U7O09BRUc7SUFDTyxNQUFNLEdBQUcsSUFBSSxZQUFZLEVBQTJCLENBQUM7SUFFL0Q7OztPQUdHO0lBRUgsT0FBTztRQUNMLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLGFBQWEsS0FBSyxLQUFLLEVBQUU7WUFDNUQsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQsWUFDVSxRQUFtQixFQUNuQixFQUFjO1FBRGQsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixPQUFFLEdBQUYsRUFBRSxDQUFZO0lBQ3JCLENBQUM7SUFFSjs7O09BR0c7SUFDSyxjQUFjLENBQUMsUUFBaUI7UUFDdEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFDMUIsSUFBSSxRQUFRLEtBQUssSUFBSSxFQUFFO1lBQ3JCLElBQUksQ0FBQyxNQUFNLENBQUMsdUJBQXVCLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDakQsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEtBQUssSUFBSSxFQUFFO2dCQUNwQyxJQUFJLENBQUMsTUFBTSxDQUFDLHVCQUF1QixDQUFDLGNBQWMsQ0FBQyxDQUFDO2FBQ3JEO1NBQ0Y7YUFBTTtZQUNMLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQXVCLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDcEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUN4RDtJQUNILENBQUM7SUFFRDs7T0FFRztJQUNLLE1BQU07UUFDWixJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssSUFBSSxFQUFFO1lBQzNCLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRTtnQkFDcEMsVUFBVSxFQUFFLFdBQVc7Z0JBQ3ZCLFFBQVEsRUFBRSxRQUFRO2dCQUNsQixLQUFLLEVBQUUsS0FBSztnQkFDWixNQUFNLEVBQUUsU0FBUzthQUNsQixDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFRDs7T0FFRztJQUNLLE1BQU0sQ0FBQyxHQUFXO1FBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRDs7T0FFRztJQUNLLFNBQVMsQ0FBQyxHQUFXO1FBQzNCLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3hELENBQUM7aUZBdkhVLHVCQUF1Qjs2REFBdkIsdUJBQXVCO3dHQUF2QixhQUFTOzs7dUZBQVQsdUJBQXVCO2NBSG5DLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUscUJBQXFCO2FBQ2hDO3FGQWVVLFNBQVM7a0JBQWpCLEtBQUs7WUFLRyxhQUFhO2tCQUFyQixLQUFLO1lBS0csa0JBQWtCO2tCQUExQixLQUFLO1lBTUYsUUFBUTtrQkFEWCxLQUFLO1lBcUJOLGNBQWM7a0JBRGIsS0FBSztZQU1JLE1BQU07a0JBQWYsTUFBTTtZQU9QLE9BQU87a0JBRE4sWUFBWTttQkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBEaXJlY3RpdmUsXHJcbiAgSW5wdXQsXHJcbiAgRWxlbWVudFJlZixcclxuICBSZW5kZXJlcjIsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIE91dHB1dCxcclxuICBIb3N0TGlzdGVuZXJcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCBzY3JvbGxJbnRvVmlldyBmcm9tICdzY3JvbGwtaW50by12aWV3LWlmLW5lZWRlZCc7XHJcblxyXG5pbXBvcnQgeyBFbnRpdHlUYWJsZVNjcm9sbEJlaGF2aW9yIH0gZnJvbSAnLi4vc2hhcmVkL2VudGl0eS5lbnVtcyc7XHJcblxyXG4vKipcclxuICogRGlyZWN0aXZlIHRoYXQgaGFuZGxlcyBhbiBlbnRpdHkgdGFibGUgcm93IGNsaWNrIGFuZCBzZWxlY3Rpb24uXHJcbiAqL1xyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tpZ29FbnRpdHlUYWJsZVJvd10nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFbnRpdHlUYWJsZVJvd0RpcmVjdGl2ZSB7XHJcbiAgLyoqXHJcbiAgICogQ2xhc3MgYWRkZWQgdG8gYSBzZWxlY3RlZCByb3dcclxuICAgKi9cclxuICBzdGF0aWMgc2VsZWN0ZWRDbHMgPSAnaWdvLWVudGl0eS10YWJsZS1yb3ctc2VsZWN0ZWQnO1xyXG5cclxuICAvKipcclxuICAgKiBDbGFzcyBhZGRlZCB0byBhIGhpZ2hsaWdodGVkIHJvd1xyXG4gICAqL1xyXG4gIHN0YXRpYyBoaWdobGlnaHRlZENscyA9ICdpZ28tZW50aXR5LXRhYmxlLXJvdy1oaWdobGlnaHRlZCc7XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZXRoZXIgYSByb3cgc3VwcG9ydHMgc2VsZWN0aW9uXHJcbiAgICovXHJcbiAgQElucHV0KCkgc2VsZWN0aW9uID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZXRoZXIgY2xpY2tpbmcgYSByb3cgc2hvdWxkIHNlbGVjdCBpdCAoaWYgc2VsZWN0aW9uIGlzIHRydWUpXHJcbiAgICovXHJcbiAgQElucHV0KCkgc2VsZWN0T25DbGljazogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZXRoZXIgdGhlIHNlbGVjdGVkIHJvdyBzaG91bGQgYmUgaGlnaGxpZ2h0ZWRcclxuICAgKi9cclxuICBASW5wdXQoKSBoaWdobGlnaHRTZWxlY3Rpb246IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAvKipcclxuICAgKiBXaGV0aGVyIGEgcm93IGlzIHNlbGVjdGVkXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBzZXQgc2VsZWN0ZWQodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIGlmICh0aGlzLnNlbGVjdGlvbiA9PT0gZmFsc2UpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKHZhbHVlID09PSB0aGlzLl9zZWxlY3RlZCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy50b2dnbGVTZWxlY3RlZCh2YWx1ZSk7XHJcbiAgICB0aGlzLnNjcm9sbCgpO1xyXG4gIH1cclxuICBnZXQgc2VsZWN0ZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWQ7XHJcbiAgfVxyXG4gIHByaXZhdGUgX3NlbGVjdGVkID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNjcm9sbCBiZWhhdmlvciBvbiBzZWxlY3Rpb25cclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNjcm9sbEJlaGF2aW9yOiBFbnRpdHlUYWJsZVNjcm9sbEJlaGF2aW9yID0gRW50aXR5VGFibGVTY3JvbGxCZWhhdmlvci5BdXRvO1xyXG5cclxuICAvKipcclxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gYSByb3cgaXMgc2VsZWN0ZWRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgc2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxFbnRpdHlUYWJsZVJvd0RpcmVjdGl2ZT4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogV2hlbiBhIHJvdyBpcyBjbGlja2VkLCBzZWxlY3QgaXQgaWYgaXQncyBzdXBwb3J0ZWRcclxuICAgKiBAaWdub3JlXHJcbiAgICovXHJcbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxyXG4gIG9uQ2xpY2soKSB7XHJcbiAgICBpZiAodGhpcy5zZWxlY3Rpb24gPT09IGZhbHNlIHx8IHRoaXMuc2VsZWN0T25DbGljayA9PT0gZmFsc2UpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudG9nZ2xlU2VsZWN0ZWQodHJ1ZSk7XHJcbiAgICB0aGlzLnNlbGVjdC5lbWl0KHRoaXMpO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmXHJcbiAgKSB7fVxyXG5cclxuICAvKipcclxuICAgKiBTZWxlY3QgYSByb3cgYW5kIGFkZCBvciByZW1vdmUgdGhlIHNlbGVjdGVkIGNsYXNzIGZyb20gaXRcclxuICAgKiBAcGFyYW0gc2VsZWN0ZWQgV2hldGhlciB0aGUgcm93IHNob3VsZCBiZSBzZWxlY3RlZFxyXG4gICAqL1xyXG4gIHByaXZhdGUgdG9nZ2xlU2VsZWN0ZWQoc2VsZWN0ZWQ6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuX3NlbGVjdGVkID0gc2VsZWN0ZWQ7XHJcbiAgICBpZiAoc2VsZWN0ZWQgPT09IHRydWUpIHtcclxuICAgICAgdGhpcy5hZGRDbHMoRW50aXR5VGFibGVSb3dEaXJlY3RpdmUuc2VsZWN0ZWRDbHMpO1xyXG4gICAgICBpZiAodGhpcy5oaWdobGlnaHRTZWxlY3Rpb24gPT09IHRydWUpIHtcclxuICAgICAgICB0aGlzLmFkZENscyhFbnRpdHlUYWJsZVJvd0RpcmVjdGl2ZS5oaWdobGlnaHRlZENscyk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMucmVtb3ZlQ2xzKEVudGl0eVRhYmxlUm93RGlyZWN0aXZlLnNlbGVjdGVkQ2xzKTtcclxuICAgICAgdGhpcy5yZW1vdmVDbHMoRW50aXR5VGFibGVSb3dEaXJlY3RpdmUuaGlnaGxpZ2h0ZWRDbHMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2Nyb2xsIHRvIHRoZSBzZWxlY3RlZCByb3dcclxuICAgKi9cclxuICBwcml2YXRlIHNjcm9sbCgpIHtcclxuICAgIGlmICh0aGlzLl9zZWxlY3RlZCA9PT0gdHJ1ZSkge1xyXG4gICAgICBzY3JvbGxJbnRvVmlldyh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsIHtcclxuICAgICAgICBzY3JvbGxNb2RlOiAnaWYtbmVlZGVkJyxcclxuICAgICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXHJcbiAgICAgICAgYmxvY2s6ICdlbmQnLFxyXG4gICAgICAgIGlubGluZTogJ25lYXJlc3QnXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWRkIHRoZSBzZWxlY3RlZCBDU1MgY2xhc3NcclxuICAgKi9cclxuICBwcml2YXRlIGFkZENscyhjbHM6IHN0cmluZykge1xyXG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsIGNscyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZW1vdmUgdGhlIHNlbGVjdGVkIENTUyBjbGFzc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgcmVtb3ZlQ2xzKGNsczogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgY2xzKTtcclxuICB9XHJcbn1cclxuIl19