@igo2/common 1.15.4 → 16.0.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (476) 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/esm2022/lib/action/shared/action.interfaces.mjs +2 -0
  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/esm2022/lib/custom-html/custom-html.pipe.mjs +20 -0
  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/esm2022/lib/dynamic-component/shared/dynamic-component.service.mjs +30 -0
  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/{esm2020 → esm2022}/lib/entity/entity-table/entity-table.module.mjs +96 -102
  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 +298 -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/esm2022/lib/workspace/shared/workspace.interfaces.mjs +2 -0
  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 +9838 -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 +33 -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 +31 -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/action/shared/action.interfaces.mjs +0 -2
  382. package/esm2020/lib/backdrop/backdrop.component.mjs +0 -26
  383. package/esm2020/lib/badge-icon/badge-icon.directive.mjs +0 -141
  384. package/esm2020/lib/clickout/clickout.directive.mjs +0 -32
  385. package/esm2020/lib/clone/clone.pipe.mjs +0 -24
  386. package/esm2020/lib/collapsible/collapse.directive.mjs +0 -55
  387. package/esm2020/lib/collapsible/collapsible.component.mjs +0 -57
  388. package/esm2020/lib/confirm-dialog/confirm-dialog.component.mjs +0 -44
  389. package/esm2020/lib/confirm-dialog/confirm-dialog.service.mjs +0 -24
  390. package/esm2020/lib/context-menu/context-menu.directive.mjs +0 -103
  391. package/esm2020/lib/context-menu/long-press.directive.mjs +0 -67
  392. package/esm2020/lib/custom-html/custom-html.component.mjs +0 -28
  393. package/esm2020/lib/custom-html/custom-html.pipe.mjs +0 -18
  394. package/esm2020/lib/dom/dom.service.mjs +0 -30
  395. package/esm2020/lib/drag-drop/drag-drop.directive.mjs +0 -88
  396. package/esm2020/lib/dynamic-component/dynamic-component.module.mjs +0 -31
  397. package/esm2020/lib/dynamic-component/dynamic-outlet/dynamic-outlet.component.mjs +0 -122
  398. package/esm2020/lib/dynamic-component/dynamic-outlet/dynamic-outlet.module.mjs +0 -28
  399. package/esm2020/lib/dynamic-component/shared/dynamic-component.mjs +0 -174
  400. package/esm2020/lib/dynamic-component/shared/dynamic-component.service.mjs +0 -29
  401. package/esm2020/lib/entity/entity-selector/entity-selector.component.mjs +0 -194
  402. package/esm2020/lib/entity/entity-selector/entity-selector.module.mjs +0 -32
  403. package/esm2020/lib/entity/entity-table/entity-table-row.directive.mjs +0 -137
  404. package/esm2020/lib/entity/entity-table/entity-table.component.mjs +0 -1376
  405. package/esm2020/lib/entity/entity-table-paginator/entity-table-paginator.component.mjs +0 -132
  406. package/esm2020/lib/entity/entity-table-paginator/entity-table-paginator.interface.mjs +0 -2
  407. package/esm2020/lib/entity/entity-table-paginator/entity-table-paginator.module.mjs +0 -28
  408. package/esm2020/lib/entity/shared/entity.interfaces.mjs +0 -2
  409. package/esm2020/lib/entity/shared/entity.utils.mjs +0 -67
  410. package/esm2020/lib/entity/shared/index.mjs +0 -10
  411. package/esm2020/lib/entity/shared/state.mjs +0 -191
  412. package/esm2020/lib/entity/shared/store.mjs +0 -288
  413. package/esm2020/lib/entity/shared/strategies/filter-custom-function.mjs +0 -79
  414. package/esm2020/lib/entity/shared/strategies/filter-selection.mjs +0 -84
  415. package/esm2020/lib/entity/shared/strategies/strategy.mjs +0 -75
  416. package/esm2020/lib/entity/shared/transaction.mjs +0 -316
  417. package/esm2020/lib/entity/shared/view.mjs +0 -315
  418. package/esm2020/lib/entity/shared/watcher.mjs +0 -120
  419. package/esm2020/lib/flexible/flexible.component.mjs +0 -148
  420. package/esm2020/lib/form/form/form.component.mjs +0 -117
  421. package/esm2020/lib/form/form/form.module.mjs +0 -40
  422. package/esm2020/lib/form/form-field/form-field-select.component.mjs +0 -127
  423. package/esm2020/lib/form/form-field/form-field-text.component.mjs +0 -104
  424. package/esm2020/lib/form/form-field/form-field-textarea.component.mjs +0 -105
  425. package/esm2020/lib/form/form-field/form-field.component.mjs +0 -72
  426. package/esm2020/lib/form/form-group/form-group.component.mjs +0 -105
  427. package/esm2020/lib/form/form-group/form-group.module.mjs +0 -40
  428. package/esm2020/lib/form/form.module.mjs +0 -49
  429. package/esm2020/lib/form/shared/form-field.service.mjs +0 -29
  430. package/esm2020/lib/form/shared/form.interfaces.mjs +0 -2
  431. package/esm2020/lib/form/shared/form.service.mjs +0 -81
  432. package/esm2020/lib/form/shared/form.utils.mjs +0 -40
  433. package/esm2020/lib/home-button/home-button.component.mjs +0 -31
  434. package/esm2020/lib/image/image-error.directive.mjs +0 -35
  435. package/esm2020/lib/image/secure-image.pipe.mjs +0 -59
  436. package/esm2020/lib/interactive-tour/interactive-tour.component.mjs +0 -135
  437. package/esm2020/lib/interactive-tour/interactive-tour.interface.mjs +0 -2
  438. package/esm2020/lib/interactive-tour/interactive-tour.loader.mjs +0 -44
  439. package/esm2020/lib/interactive-tour/interactive-tour.service.mjs +0 -285
  440. package/esm2020/lib/json-dialog/json-dialog.component.mjs +0 -109
  441. package/esm2020/lib/list/list-item.directive.mjs +0 -165
  442. package/esm2020/lib/list/list.component.mjs +0 -262
  443. package/esm2020/lib/panel/panel.component.mjs +0 -59
  444. package/esm2020/lib/sidenav/sidenav-shim.directive.mjs +0 -55
  445. package/esm2020/lib/spinner/spinner-activity.directive.mjs +0 -47
  446. package/esm2020/lib/spinner/spinner.component.mjs +0 -35
  447. package/esm2020/lib/table/table-database.mjs +0 -28
  448. package/esm2020/lib/table/table-datasource.mjs +0 -61
  449. package/esm2020/lib/table/table-model.interface.mjs +0 -2
  450. package/esm2020/lib/table/table.component.mjs +0 -297
  451. package/esm2020/lib/tool/shared/tool-component.mjs +0 -9
  452. package/esm2020/lib/tool/shared/tool.interface.mjs +0 -2
  453. package/esm2020/lib/tool/shared/tool.service.mjs +0 -43
  454. package/esm2020/lib/tool/shared/toolbox.mjs +0 -179
  455. package/esm2020/lib/tool/tool.module.mjs +0 -32
  456. package/esm2020/lib/tool/toolbox/toolbox.component.mjs +0 -255
  457. package/esm2020/lib/tool/toolbox/toolbox.module.mjs +0 -36
  458. package/esm2020/lib/widget/shared/widget.interfaces.mjs +0 -2
  459. package/esm2020/lib/widget/shared/widget.service.mjs +0 -20
  460. package/esm2020/lib/widget/widget-outlet/widget-outlet.component.mjs +0 -116
  461. package/esm2020/lib/widget/widget-outlet/widget-outlet.module.mjs +0 -32
  462. package/esm2020/lib/widget/widget.module.mjs +0 -32
  463. package/esm2020/lib/workspace/shared/store.mjs +0 -40
  464. package/esm2020/lib/workspace/shared/workspace.interfaces.mjs +0 -2
  465. package/esm2020/lib/workspace/shared/workspace.mjs +0 -117
  466. package/esm2020/lib/workspace/workspace-selector/workspace-selector.component.mjs +0 -51
  467. package/esm2020/lib/workspace/workspace-selector/workspace-selector.module.mjs +0 -32
  468. package/esm2020/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.component.mjs +0 -88
  469. package/esm2020/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.module.mjs +0 -32
  470. package/esm2020/lib/workspace/workspace.module.mjs +0 -27
  471. package/esm2020/public_api.mjs +0 -74
  472. package/fesm2015/igo2-common.mjs +0 -10329
  473. package/fesm2015/igo2-common.mjs.map +0 -1
  474. package/fesm2020/igo2-common.mjs.map +0 -1
  475. package/style/common.theming.scss +0 -12
  476. package/style/partial/action.scss +0 -18
@@ -1,25 +1,25 @@
1
- import { NgModule } from '@angular/core';
2
- import { StopDropPropagationDirective } from './stop-drop-propagation.directive';
3
- import { StopPropagationDirective } from './stop-propagation.directive';
4
- import * as i0 from "@angular/core";
5
- export class IgoStopPropagationModule {
6
- static forRoot() {
7
- return {
8
- ngModule: IgoStopPropagationModule,
9
- providers: []
10
- };
11
- }
12
- }
13
- IgoStopPropagationModule.ɵfac = function IgoStopPropagationModule_Factory(t) { return new (t || IgoStopPropagationModule)(); };
14
- IgoStopPropagationModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoStopPropagationModule });
15
- IgoStopPropagationModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({});
16
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoStopPropagationModule, [{
17
- type: NgModule,
18
- args: [{
19
- imports: [],
20
- declarations: [StopDropPropagationDirective, StopPropagationDirective],
21
- exports: [StopDropPropagationDirective, StopPropagationDirective]
22
- }]
23
- }], null, null); })();
24
- (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoStopPropagationModule, { declarations: [StopDropPropagationDirective, StopPropagationDirective], exports: [StopDropPropagationDirective, StopPropagationDirective] }); })();
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcC1wcm9wYWdhdGlvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9zdG9wLXByb3BhZ2F0aW9uL3N0b3AtcHJvcGFnYXRpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQU94RSxNQUFNLE9BQU8sd0JBQXdCO0lBQ25DLE1BQU0sQ0FBQyxPQUFPO1FBQ1osT0FBTztZQUNMLFFBQVEsRUFBRSx3QkFBd0I7WUFDbEMsU0FBUyxFQUFFLEVBQUU7U0FDZCxDQUFDO0lBQ0osQ0FBQzs7Z0dBTlUsd0JBQXdCOzBFQUF4Qix3QkFBd0I7O3VGQUF4Qix3QkFBd0I7Y0FMcEMsUUFBUTtlQUFDO2dCQUNSLE9BQU8sRUFBRSxFQUFFO2dCQUNYLFlBQVksRUFBRSxDQUFDLDRCQUE0QixFQUFFLHdCQUF3QixDQUFDO2dCQUN0RSxPQUFPLEVBQUUsQ0FBQyw0QkFBNEIsRUFBRSx3QkFBd0IsQ0FBQzthQUNsRTs7d0ZBQ1ksd0JBQXdCLG1CQUhwQiw0QkFBNEIsRUFBRSx3QkFBd0IsYUFDM0QsNEJBQTRCLEVBQUUsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3RvcERyb3BQcm9wYWdhdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4vc3RvcC1kcm9wLXByb3BhZ2F0aW9uLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFN0b3BQcm9wYWdhdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4vc3RvcC1wcm9wYWdhdGlvbi5kaXJlY3RpdmUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXSxcclxuICBkZWNsYXJhdGlvbnM6IFtTdG9wRHJvcFByb3BhZ2F0aW9uRGlyZWN0aXZlLCBTdG9wUHJvcGFnYXRpb25EaXJlY3RpdmVdLFxyXG4gIGV4cG9ydHM6IFtTdG9wRHJvcFByb3BhZ2F0aW9uRGlyZWN0aXZlLCBTdG9wUHJvcGFnYXRpb25EaXJlY3RpdmVdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJZ29TdG9wUHJvcGFnYXRpb25Nb2R1bGUge1xyXG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8SWdvU3RvcFByb3BhZ2F0aW9uTW9kdWxlPiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuZ01vZHVsZTogSWdvU3RvcFByb3BhZ2F0aW9uTW9kdWxlLFxyXG4gICAgICBwcm92aWRlcnM6IFtdXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=
1
+ import { NgModule } from '@angular/core';
2
+ import { StopDropPropagationDirective } from './stop-drop-propagation.directive';
3
+ import { StopPropagationDirective } from './stop-propagation.directive';
4
+ import * as i0 from "@angular/core";
5
+ export class IgoStopPropagationModule {
6
+ static forRoot() {
7
+ return {
8
+ ngModule: IgoStopPropagationModule,
9
+ providers: []
10
+ };
11
+ }
12
+ static ɵfac = function IgoStopPropagationModule_Factory(t) { return new (t || IgoStopPropagationModule)(); };
13
+ static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoStopPropagationModule });
14
+ static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({});
15
+ }
16
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoStopPropagationModule, [{
17
+ type: NgModule,
18
+ args: [{
19
+ imports: [],
20
+ declarations: [StopDropPropagationDirective, StopPropagationDirective],
21
+ exports: [StopDropPropagationDirective, StopPropagationDirective]
22
+ }]
23
+ }], null, null); })();
24
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoStopPropagationModule, { declarations: [StopDropPropagationDirective, StopPropagationDirective], exports: [StopDropPropagationDirective, StopPropagationDirective] }); })();
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcC1wcm9wYWdhdGlvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9zdG9wLXByb3BhZ2F0aW9uL3N0b3AtcHJvcGFnYXRpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQU94RSxNQUFNLE9BQU8sd0JBQXdCO0lBQ25DLE1BQU0sQ0FBQyxPQUFPO1FBQ1osT0FBTztZQUNMLFFBQVEsRUFBRSx3QkFBd0I7WUFDbEMsU0FBUyxFQUFFLEVBQUU7U0FDZCxDQUFDO0lBQ0osQ0FBQztrRkFOVSx3QkFBd0I7NERBQXhCLHdCQUF3Qjs7O3VGQUF4Qix3QkFBd0I7Y0FMcEMsUUFBUTtlQUFDO2dCQUNSLE9BQU8sRUFBRSxFQUFFO2dCQUNYLFlBQVksRUFBRSxDQUFDLDRCQUE0QixFQUFFLHdCQUF3QixDQUFDO2dCQUN0RSxPQUFPLEVBQUUsQ0FBQyw0QkFBNEIsRUFBRSx3QkFBd0IsQ0FBQzthQUNsRTs7d0ZBQ1ksd0JBQXdCLG1CQUhwQiw0QkFBNEIsRUFBRSx3QkFBd0IsYUFDM0QsNEJBQTRCLEVBQUUsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3BEcm9wUHJvcGFnYXRpb25EaXJlY3RpdmUgfSBmcm9tICcuL3N0b3AtZHJvcC1wcm9wYWdhdGlvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU3RvcFByb3BhZ2F0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi9zdG9wLXByb3BhZ2F0aW9uLmRpcmVjdGl2ZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtdLFxuICBkZWNsYXJhdGlvbnM6IFtTdG9wRHJvcFByb3BhZ2F0aW9uRGlyZWN0aXZlLCBTdG9wUHJvcGFnYXRpb25EaXJlY3RpdmVdLFxuICBleHBvcnRzOiBbU3RvcERyb3BQcm9wYWdhdGlvbkRpcmVjdGl2ZSwgU3RvcFByb3BhZ2F0aW9uRGlyZWN0aXZlXVxufSlcbmV4cG9ydCBjbGFzcyBJZ29TdG9wUHJvcGFnYXRpb25Nb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPElnb1N0b3BQcm9wYWdhdGlvbk1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogSWdvU3RvcFByb3BhZ2F0aW9uTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -1,6 +1,6 @@
1
- export * from './table.component';
2
- export * from './table-database';
3
- export * from './table-datasource';
4
- export * from './table-model.interface';
5
- export * from './table-action-color.enum';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi90YWJsZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3RhYmxlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdGFibGUtZGF0YWJhc2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3RhYmxlLWRhdGFzb3VyY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3RhYmxlLW1vZGVsLmludGVyZmFjZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdGFibGUtYWN0aW9uLWNvbG9yLmVudW0nO1xyXG4iXX0=
1
+ export * from './table.component';
2
+ export * from './table-database';
3
+ export * from './table-datasource';
4
+ export * from './table-model.interface';
5
+ export * from './table-action-color.enum';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi90YWJsZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3RhYmxlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3RhYmxlLWRhdGFiYXNlJztcbmV4cG9ydCAqIGZyb20gJy4vdGFibGUtZGF0YXNvdXJjZSc7XG5leHBvcnQgKiBmcm9tICcuL3RhYmxlLW1vZGVsLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL3RhYmxlLWFjdGlvbi1jb2xvci5lbnVtJztcbiJdfQ==
@@ -1,7 +1,7 @@
1
- export var TableActionColor;
2
- (function (TableActionColor) {
3
- TableActionColor[TableActionColor["primary"] = 0] = "primary";
4
- TableActionColor[TableActionColor["accent"] = 1] = "accent";
5
- TableActionColor[TableActionColor["warn"] = 2] = "warn";
6
- })(TableActionColor || (TableActionColor = {}));
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtYWN0aW9uLWNvbG9yLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi90YWJsZS90YWJsZS1hY3Rpb24tY29sb3IuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxnQkFJWDtBQUpELFdBQVksZ0JBQWdCO0lBQzFCLDZEQUFPLENBQUE7SUFDUCwyREFBTSxDQUFBO0lBQ04sdURBQUksQ0FBQTtBQUNOLENBQUMsRUFKVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBSTNCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gVGFibGVBY3Rpb25Db2xvciB7XHJcbiAgcHJpbWFyeSxcclxuICBhY2NlbnQsXHJcbiAgd2FyblxyXG59XHJcbiJdfQ==
1
+ export var TableActionColor;
2
+ (function (TableActionColor) {
3
+ TableActionColor[TableActionColor["primary"] = 0] = "primary";
4
+ TableActionColor[TableActionColor["accent"] = 1] = "accent";
5
+ TableActionColor[TableActionColor["warn"] = 2] = "warn";
6
+ })(TableActionColor || (TableActionColor = {}));
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtYWN0aW9uLWNvbG9yLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi90YWJsZS90YWJsZS1hY3Rpb24tY29sb3IuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxnQkFJWDtBQUpELFdBQVksZ0JBQWdCO0lBQzFCLDZEQUFPLENBQUE7SUFDUCwyREFBTSxDQUFBO0lBQ04sdURBQUksQ0FBQTtBQUNOLENBQUMsRUFKVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBSTNCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gVGFibGVBY3Rpb25Db2xvciB7XG4gIHByaW1hcnksXG4gIGFjY2VudCxcbiAgd2FyblxufVxuIl19
@@ -0,0 +1,28 @@
1
+ import { BehaviorSubject } from 'rxjs';
2
+ export class TableDatabase {
3
+ /** Stream that emits whenever the data has been modified. */
4
+ dataChange = new BehaviorSubject([]);
5
+ get data() {
6
+ return this.dataChange.value;
7
+ }
8
+ constructor(data) {
9
+ if (data) {
10
+ this.dataChange.next(data);
11
+ }
12
+ }
13
+ set(data) {
14
+ this.dataChange.next(data);
15
+ }
16
+ add(item) {
17
+ const copiedData = this.data.slice();
18
+ copiedData.push(item);
19
+ this.set(copiedData);
20
+ }
21
+ remove(item) {
22
+ const copiedData = this.data.slice();
23
+ const index = copiedData.indexOf(item);
24
+ copiedData.splice(index, 1);
25
+ this.set(copiedData);
26
+ }
27
+ }
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtZGF0YWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi90YWJsZS90YWJsZS1kYXRhYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXZDLE1BQU0sT0FBTyxhQUFhO0lBQ3hCLDZEQUE2RDtJQUM3RCxVQUFVLEdBQTJCLElBQUksZUFBZSxDQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ3BFLElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUM7SUFDL0IsQ0FBQztJQUVELFlBQVksSUFBSztRQUNmLElBQUksSUFBSSxFQUFFO1lBQ1IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDNUI7SUFDSCxDQUFDO0lBRUQsR0FBRyxDQUFDLElBQUk7UUFDTixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsR0FBRyxDQUFDLElBQUk7UUFDTixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3JDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBRUQsTUFBTSxDQUFDLElBQUk7UUFDVCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3JDLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN2QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGNsYXNzIFRhYmxlRGF0YWJhc2Uge1xuICAvKiogU3RyZWFtIHRoYXQgZW1pdHMgd2hlbmV2ZXIgdGhlIGRhdGEgaGFzIGJlZW4gbW9kaWZpZWQuICovXG4gIGRhdGFDaGFuZ2U6IEJlaGF2aW9yU3ViamVjdDxhbnlbXT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueVtdPihbXSk7XG4gIGdldCBkYXRhKCk6IGFueVtdIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhQ2hhbmdlLnZhbHVlO1xuICB9XG5cbiAgY29uc3RydWN0b3IoZGF0YT8pIHtcbiAgICBpZiAoZGF0YSkge1xuICAgICAgdGhpcy5kYXRhQ2hhbmdlLm5leHQoZGF0YSk7XG4gICAgfVxuICB9XG5cbiAgc2V0KGRhdGEpIHtcbiAgICB0aGlzLmRhdGFDaGFuZ2UubmV4dChkYXRhKTtcbiAgfVxuXG4gIGFkZChpdGVtKSB7XG4gICAgY29uc3QgY29waWVkRGF0YSA9IHRoaXMuZGF0YS5zbGljZSgpO1xuICAgIGNvcGllZERhdGEucHVzaChpdGVtKTtcbiAgICB0aGlzLnNldChjb3BpZWREYXRhKTtcbiAgfVxuXG4gIHJlbW92ZShpdGVtKSB7XG4gICAgY29uc3QgY29waWVkRGF0YSA9IHRoaXMuZGF0YS5zbGljZSgpO1xuICAgIGNvbnN0IGluZGV4ID0gY29waWVkRGF0YS5pbmRleE9mKGl0ZW0pO1xuICAgIGNvcGllZERhdGEuc3BsaWNlKGluZGV4LCAxKTtcbiAgICB0aGlzLnNldChjb3BpZWREYXRhKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,64 @@
1
+ import { DataSource } from '@angular/cdk/table';
2
+ import { BehaviorSubject, merge } from 'rxjs';
3
+ import { map } from 'rxjs/operators';
4
+ import { ObjectUtils } from '@igo2/utils';
5
+ export class TableDataSource extends DataSource {
6
+ _database;
7
+ _model;
8
+ _sort;
9
+ get filter() {
10
+ return this._filterChange.value;
11
+ }
12
+ set filter(filter) {
13
+ this._filterChange.next(filter);
14
+ }
15
+ _filterChange = new BehaviorSubject('');
16
+ constructor(_database, _model, _sort) {
17
+ super();
18
+ this._database = _database;
19
+ this._model = _model;
20
+ this._sort = _sort;
21
+ }
22
+ // Connect function called by the table to retrieve one stream containing
23
+ // the data to render.
24
+ connect() {
25
+ if (!this._database) {
26
+ return merge([]);
27
+ }
28
+ const displayDataChanges = [
29
+ this._database.dataChange,
30
+ this._filterChange,
31
+ this._sort.sortChange
32
+ ];
33
+ return merge(...displayDataChanges).pipe(map(() => {
34
+ return this.getFilteredData(this._database.data);
35
+ }), map((data) => {
36
+ return this.getSortedData(data);
37
+ }));
38
+ }
39
+ disconnect() { }
40
+ getFilteredData(data) {
41
+ if (!this.filter) {
42
+ return data;
43
+ }
44
+ return data.slice().filter((item) => {
45
+ const searchStr = this._model.columns
46
+ .filter((c) => c.filterable)
47
+ .map((c) => ObjectUtils.resolve(item, c.name))
48
+ .join(' ')
49
+ .toLowerCase();
50
+ return searchStr.indexOf(this.filter.toLowerCase()) !== -1;
51
+ });
52
+ }
53
+ getSortedData(data) {
54
+ if (!this._sort.active || this._sort.direction === '') {
55
+ return data;
56
+ }
57
+ return data.sort((a, b) => {
58
+ const propertyA = ObjectUtils.resolve(a, this._sort.active);
59
+ const propertyB = ObjectUtils.resolve(b, this._sort.active);
60
+ return ObjectUtils.naturalCompare(propertyB, propertyA, this._sort.direction);
61
+ });
62
+ }
63
+ }
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtZGF0YXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvbGliL3RhYmxlL3RhYmxlLWRhdGFzb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBR2hELE9BQU8sRUFBYyxlQUFlLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBSzFDLE1BQU0sT0FBTyxlQUFnQixTQUFRLFVBQWU7SUFVeEM7SUFDQTtJQUNBO0lBWFYsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQztJQUNsQyxDQUFDO0lBQ0QsSUFBSSxNQUFNLENBQUMsTUFBYztRQUN2QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBQ08sYUFBYSxHQUFHLElBQUksZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRWhELFlBQ1UsU0FBd0IsRUFDeEIsTUFBa0IsRUFDbEIsS0FBYztRQUV0QixLQUFLLEVBQUUsQ0FBQztRQUpBLGNBQVMsR0FBVCxTQUFTLENBQWU7UUFDeEIsV0FBTSxHQUFOLE1BQU0sQ0FBWTtRQUNsQixVQUFLLEdBQUwsS0FBSyxDQUFTO0lBR3hCLENBQUM7SUFFRCx5RUFBeUU7SUFDekUsc0JBQXNCO0lBQ3RCLE9BQU87UUFDTCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNuQixPQUFPLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUNsQjtRQUNELE1BQU0sa0JBQWtCLEdBQUc7WUFDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVO1lBQ3pCLElBQUksQ0FBQyxhQUFhO1lBQ2xCLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVTtTQUN0QixDQUFDO1FBRUYsT0FBTyxLQUFLLENBQUMsR0FBRyxrQkFBa0IsQ0FBQyxDQUFDLElBQUksQ0FDdEMsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNQLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25ELENBQUMsQ0FBQyxFQUNGLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ1gsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsVUFBVSxLQUFJLENBQUM7SUFFZixlQUFlLENBQUMsSUFBSTtRQUNsQixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNoQixPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUU7WUFDdkMsTUFBTSxTQUFTLEdBQVcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPO2lCQUMxQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7aUJBQzNCLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUM3QyxJQUFJLENBQUMsR0FBRyxDQUFDO2lCQUNULFdBQVcsRUFBRSxDQUFDO1lBRWpCLE9BQU8sU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDN0QsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsYUFBYSxDQUFDLElBQUk7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxLQUFLLEVBQUUsRUFBRTtZQUNyRCxPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3hCLE1BQU0sU0FBUyxHQUFvQixXQUFXLENBQUMsT0FBTyxDQUNwRCxDQUFDLEVBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQ2xCLENBQUM7WUFDRixNQUFNLFNBQVMsR0FBb0IsV0FBVyxDQUFDLE9BQU8sQ0FDcEQsQ0FBQyxFQUNELElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUNsQixDQUFDO1lBRUYsT0FBTyxXQUFXLENBQUMsY0FBYyxDQUMvQixTQUFTLEVBQ1QsU0FBUyxFQUNULElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUNyQixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRhU291cmNlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3RhYmxlJztcbmltcG9ydCB7IE1hdFNvcnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgQmVoYXZpb3JTdWJqZWN0LCBtZXJnZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBPYmplY3RVdGlscyB9IGZyb20gJ0BpZ28yL3V0aWxzJztcblxuaW1wb3J0IHsgVGFibGVNb2RlbCB9IGZyb20gJy4vdGFibGUtbW9kZWwuaW50ZXJmYWNlJztcbmltcG9ydCB7IFRhYmxlRGF0YWJhc2UgfSBmcm9tICcuL3RhYmxlLWRhdGFiYXNlJztcblxuZXhwb3J0IGNsYXNzIFRhYmxlRGF0YVNvdXJjZSBleHRlbmRzIERhdGFTb3VyY2U8YW55PiB7XG4gIGdldCBmaWx0ZXIoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fZmlsdGVyQ2hhbmdlLnZhbHVlO1xuICB9XG4gIHNldCBmaWx0ZXIoZmlsdGVyOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9maWx0ZXJDaGFuZ2UubmV4dChmaWx0ZXIpO1xuICB9XG4gIHByaXZhdGUgX2ZpbHRlckNoYW5nZSA9IG5ldyBCZWhhdmlvclN1YmplY3QoJycpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2RhdGFiYXNlOiBUYWJsZURhdGFiYXNlLFxuICAgIHByaXZhdGUgX21vZGVsOiBUYWJsZU1vZGVsLFxuICAgIHByaXZhdGUgX3NvcnQ6IE1hdFNvcnRcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIC8vIENvbm5lY3QgZnVuY3Rpb24gY2FsbGVkIGJ5IHRoZSB0YWJsZSB0byByZXRyaWV2ZSBvbmUgc3RyZWFtIGNvbnRhaW5pbmdcbiAgLy8gdGhlIGRhdGEgdG8gcmVuZGVyLlxuICBjb25uZWN0KCk6IE9ic2VydmFibGU8YW55W10+IHtcbiAgICBpZiAoIXRoaXMuX2RhdGFiYXNlKSB7XG4gICAgICByZXR1cm4gbWVyZ2UoW10pO1xuICAgIH1cbiAgICBjb25zdCBkaXNwbGF5RGF0YUNoYW5nZXMgPSBbXG4gICAgICB0aGlzLl9kYXRhYmFzZS5kYXRhQ2hhbmdlLFxuICAgICAgdGhpcy5fZmlsdGVyQ2hhbmdlLFxuICAgICAgdGhpcy5fc29ydC5zb3J0Q2hhbmdlXG4gICAgXTtcblxuICAgIHJldHVybiBtZXJnZSguLi5kaXNwbGF5RGF0YUNoYW5nZXMpLnBpcGUoXG4gICAgICBtYXAoKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRGaWx0ZXJlZERhdGEodGhpcy5fZGF0YWJhc2UuZGF0YSk7XG4gICAgICB9KSxcbiAgICAgIG1hcCgoZGF0YSkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRTb3J0ZWREYXRhKGRhdGEpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgZGlzY29ubmVjdCgpIHt9XG5cbiAgZ2V0RmlsdGVyZWREYXRhKGRhdGEpOiBhbnlbXSB7XG4gICAgaWYgKCF0aGlzLmZpbHRlcikge1xuICAgICAgcmV0dXJuIGRhdGE7XG4gICAgfVxuICAgIHJldHVybiBkYXRhLnNsaWNlKCkuZmlsdGVyKChpdGVtOiBhbnkpID0+IHtcbiAgICAgIGNvbnN0IHNlYXJjaFN0cjogc3RyaW5nID0gdGhpcy5fbW9kZWwuY29sdW1uc1xuICAgICAgICAuZmlsdGVyKChjKSA9PiBjLmZpbHRlcmFibGUpXG4gICAgICAgIC5tYXAoKGMpID0+IE9iamVjdFV0aWxzLnJlc29sdmUoaXRlbSwgYy5uYW1lKSlcbiAgICAgICAgLmpvaW4oJyAnKVxuICAgICAgICAudG9Mb3dlckNhc2UoKTtcblxuICAgICAgcmV0dXJuIHNlYXJjaFN0ci5pbmRleE9mKHRoaXMuZmlsdGVyLnRvTG93ZXJDYXNlKCkpICE9PSAtMTtcbiAgICB9KTtcbiAgfVxuXG4gIGdldFNvcnRlZERhdGEoZGF0YSk6IGFueVtdIHtcbiAgICBpZiAoIXRoaXMuX3NvcnQuYWN0aXZlIHx8IHRoaXMuX3NvcnQuZGlyZWN0aW9uID09PSAnJykge1xuICAgICAgcmV0dXJuIGRhdGE7XG4gICAgfVxuXG4gICAgcmV0dXJuIGRhdGEuc29ydCgoYSwgYikgPT4ge1xuICAgICAgY29uc3QgcHJvcGVydHlBOiBudW1iZXIgfCBzdHJpbmcgPSBPYmplY3RVdGlscy5yZXNvbHZlKFxuICAgICAgICBhLFxuICAgICAgICB0aGlzLl9zb3J0LmFjdGl2ZVxuICAgICAgKTtcbiAgICAgIGNvbnN0IHByb3BlcnR5QjogbnVtYmVyIHwgc3RyaW5nID0gT2JqZWN0VXRpbHMucmVzb2x2ZShcbiAgICAgICAgYixcbiAgICAgICAgdGhpcy5fc29ydC5hY3RpdmVcbiAgICAgICk7XG5cbiAgICAgIHJldHVybiBPYmplY3RVdGlscy5uYXR1cmFsQ29tcGFyZShcbiAgICAgICAgcHJvcGVydHlCLFxuICAgICAgICBwcm9wZXJ0eUEsXG4gICAgICAgIHRoaXMuX3NvcnQuZGlyZWN0aW9uXG4gICAgICApO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtbW9kZWwuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9saWIvdGFibGUvdGFibGUtbW9kZWwuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUYWJsZUFjdGlvbkNvbG9yIH0gZnJvbSAnLi90YWJsZS1hY3Rpb24tY29sb3IuZW51bSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGFibGVDb2x1bW4ge1xuICBuYW1lOiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIHNvcnRhYmxlPzogYm9vbGVhbjtcbiAgZmlsdGVyYWJsZT86IGJvb2xlYW47XG4gIGRpc3BsYXllZD86IGJvb2xlYW47XG4gIGh0bWw/OiBib29sZWFuO1xufVxuXG5leHBvcnQgdHlwZSBSb3dDbGFzc0Z1bmMgPSAocm93OiBhbnkpID0+IHtcbiAgW2tleTogc3RyaW5nXTogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgQ2VsbENsYXNzRnVuYyA9IChcbiAgcm93OiBhbnksXG4gIGNvbHVtbjogVGFibGVDb2x1bW5cbikgPT4ge1xuICBba2V5OiBzdHJpbmddOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBDbGlja0FjdGlvbiA9IChpdGVtOiBhbnkpID0+IHZvaWQ7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGFibGVBY3Rpb24ge1xuICBpY29uOiBzdHJpbmc7XG4gIGNvbG9yPzogVGFibGVBY3Rpb25Db2xvcjtcbiAgY2xpY2s6IENsaWNrQWN0aW9uO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlTW9kZWwge1xuICBjb2x1bW5zOiBUYWJsZUNvbHVtbltdO1xuICBhY3Rpb25zPzogVGFibGVBY3Rpb25bXTtcbiAgc2VsZWN0aW9uQ2hlY2tib3g/OiBib29sZWFuO1xuICByb3dDbGFzc0Z1bmM/OiBSb3dDbGFzc0Z1bmM7XG4gIGNlbGxDbGFzc0Z1bmM/OiBDZWxsQ2xhc3NGdW5jO1xufVxuIl19
@@ -0,0 +1,302 @@
1
+ import { Component, ElementRef, ViewChild, Input, Output, EventEmitter } from '@angular/core';
2
+ import { MatSort } from '@angular/material/sort';
3
+ import { SelectionModel } from '@angular/cdk/collections';
4
+ import { debounceTime, distinctUntilChanged } from 'rxjs/operators';
5
+ import { fromEvent } from 'rxjs';
6
+ import { ObjectUtils } from '@igo2/utils';
7
+ import { TableDatabase } from './table-database';
8
+ import { TableDataSource } from './table-datasource';
9
+ import { TableActionColor } from './table-action-color.enum';
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "@angular/common";
12
+ import * as i2 from "@angular/material/icon";
13
+ import * as i3 from "@angular/material/button";
14
+ import * as i4 from "@angular/material/table";
15
+ import * as i5 from "@angular/material/form-field";
16
+ import * as i6 from "@angular/material/input";
17
+ import * as i7 from "@angular/material/sort";
18
+ import * as i8 from "@angular/material/checkbox";
19
+ import * as i9 from "@ngx-translate/core";
20
+ const _c0 = ["filter"];
21
+ function TableComponent_div_1_Template(rf, ctx) { if (rf & 1) {
22
+ i0.ɵɵelementStart(0, "div", 12)(1, "mat-form-field", 13);
23
+ i0.ɵɵelement(2, "input", 14, 15);
24
+ i0.ɵɵpipe(4, "translate");
25
+ i0.ɵɵelementEnd()();
26
+ } if (rf & 2) {
27
+ i0.ɵɵadvance(2);
28
+ i0.ɵɵproperty("placeholder", i0.ɵɵpipeBind1(4, 1, "igo.common.table.filter"));
29
+ } }
30
+ function TableComponent_th_6_Template(rf, ctx) { if (rf & 1) {
31
+ const _r11 = i0.ɵɵgetCurrentView();
32
+ i0.ɵɵelementStart(0, "th", 16)(1, "mat-checkbox", 17);
33
+ i0.ɵɵlistener("change", function TableComponent_th_6_Template_mat_checkbox_change_1_listener($event) { i0.ɵɵrestoreView(_r11); const ctx_r10 = i0.ɵɵnextContext(); return i0.ɵɵresetView($event ? ctx_r10.masterToggle() : null); });
34
+ i0.ɵɵelementEnd()();
35
+ } if (rf & 2) {
36
+ const ctx_r2 = i0.ɵɵnextContext();
37
+ i0.ɵɵadvance(1);
38
+ i0.ɵɵproperty("checked", ctx_r2.selection.hasValue() && ctx_r2.isAllSelected())("indeterminate", ctx_r2.selection.hasValue() && !ctx_r2.isAllSelected());
39
+ } }
40
+ function TableComponent_td_7_Template(rf, ctx) { if (rf & 1) {
41
+ const _r15 = i0.ɵɵgetCurrentView();
42
+ i0.ɵɵelementStart(0, "td", 18)(1, "mat-checkbox", 19);
43
+ i0.ɵɵlistener("click", function TableComponent_td_7_Template_mat_checkbox_click_1_listener($event) { return $event.stopPropagation(); })("change", function TableComponent_td_7_Template_mat_checkbox_change_1_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r15); const row_r12 = restoredCtx.$implicit; const ctx_r14 = i0.ɵɵnextContext(); return i0.ɵɵresetView($event ? ctx_r14.selection.toggle(row_r12) : null); });
44
+ i0.ɵɵelementEnd()();
45
+ } if (rf & 2) {
46
+ const row_r12 = ctx.$implicit;
47
+ const ctx_r3 = i0.ɵɵnextContext();
48
+ i0.ɵɵadvance(1);
49
+ i0.ɵɵproperty("checked", ctx_r3.selection.isSelected(row_r12));
50
+ } }
51
+ function TableComponent_ng_container_8_ng_container_1_th_1_Template(rf, ctx) { if (rf & 1) {
52
+ i0.ɵɵelementStart(0, "th", 25);
53
+ i0.ɵɵtext(1);
54
+ i0.ɵɵelementEnd();
55
+ } if (rf & 2) {
56
+ const column_r16 = i0.ɵɵnextContext(2).$implicit;
57
+ i0.ɵɵadvance(1);
58
+ i0.ɵɵtextInterpolate1(" ", column_r16.title, " ");
59
+ } }
60
+ function TableComponent_ng_container_8_ng_container_1_Template(rf, ctx) { if (rf & 1) {
61
+ i0.ɵɵelementContainerStart(0);
62
+ i0.ɵɵtemplate(1, TableComponent_ng_container_8_ng_container_1_th_1_Template, 2, 1, "th", 24);
63
+ i0.ɵɵelementContainerEnd();
64
+ } }
65
+ function TableComponent_ng_container_8_ng_container_2_th_1_Template(rf, ctx) { if (rf & 1) {
66
+ i0.ɵɵelementStart(0, "th", 16);
67
+ i0.ɵɵtext(1);
68
+ i0.ɵɵelementEnd();
69
+ } if (rf & 2) {
70
+ const column_r16 = i0.ɵɵnextContext(2).$implicit;
71
+ i0.ɵɵadvance(1);
72
+ i0.ɵɵtextInterpolate(column_r16.title);
73
+ } }
74
+ function TableComponent_ng_container_8_ng_container_2_Template(rf, ctx) { if (rf & 1) {
75
+ i0.ɵɵelementContainerStart(0);
76
+ i0.ɵɵtemplate(1, TableComponent_ng_container_8_ng_container_2_th_1_Template, 2, 1, "th", 6);
77
+ i0.ɵɵelementContainerEnd();
78
+ } }
79
+ const _c1 = function () { return {}; };
80
+ function TableComponent_ng_container_8_ng_container_3_td_1_Template(rf, ctx) { if (rf & 1) {
81
+ i0.ɵɵelementStart(0, "td", 27);
82
+ i0.ɵɵtext(1);
83
+ i0.ɵɵelementEnd();
84
+ } if (rf & 2) {
85
+ const row_r27 = ctx.$implicit;
86
+ const column_r16 = i0.ɵɵnextContext(2).$implicit;
87
+ const ctx_r26 = i0.ɵɵnextContext();
88
+ i0.ɵɵproperty("ngClass", ctx_r26.model.cellClassFunc ? ctx_r26.model.cellClassFunc(row_r27, column_r16) : i0.ɵɵpureFunction0(2, _c1));
89
+ i0.ɵɵadvance(1);
90
+ i0.ɵɵtextInterpolate1(" ", ctx_r26.getValue(row_r27, column_r16.name), " ");
91
+ } }
92
+ function TableComponent_ng_container_8_ng_container_3_Template(rf, ctx) { if (rf & 1) {
93
+ i0.ɵɵelementContainerStart(0);
94
+ i0.ɵɵtemplate(1, TableComponent_ng_container_8_ng_container_3_td_1_Template, 2, 3, "td", 26);
95
+ i0.ɵɵelementContainerEnd();
96
+ } }
97
+ function TableComponent_ng_container_8_ng_template_4_td_0_Template(rf, ctx) { if (rf & 1) {
98
+ i0.ɵɵelement(0, "td", 29);
99
+ } if (rf & 2) {
100
+ const row_r30 = ctx.$implicit;
101
+ const column_r16 = i0.ɵɵnextContext(2).$implicit;
102
+ const ctx_r29 = i0.ɵɵnextContext();
103
+ i0.ɵɵproperty("ngClass", ctx_r29.model.cellClassFunc ? ctx_r29.model.cellClassFunc(row_r30, column_r16) : i0.ɵɵpureFunction0(2, _c1))("innerHTML", ctx_r29.getValue(row_r30, column_r16.name), i0.ɵɵsanitizeHtml);
104
+ } }
105
+ function TableComponent_ng_container_8_ng_template_4_Template(rf, ctx) { if (rf & 1) {
106
+ i0.ɵɵtemplate(0, TableComponent_ng_container_8_ng_template_4_td_0_Template, 1, 3, "td", 28);
107
+ } }
108
+ function TableComponent_ng_container_8_Template(rf, ctx) { if (rf & 1) {
109
+ i0.ɵɵelementContainerStart(0, 20);
110
+ i0.ɵɵtemplate(1, TableComponent_ng_container_8_ng_container_1_Template, 2, 0, "ng-container", 21);
111
+ i0.ɵɵtemplate(2, TableComponent_ng_container_8_ng_container_2_Template, 2, 0, "ng-container", 21);
112
+ i0.ɵɵtemplate(3, TableComponent_ng_container_8_ng_container_3_Template, 2, 0, "ng-container", 22);
113
+ i0.ɵɵtemplate(4, TableComponent_ng_container_8_ng_template_4_Template, 1, 0, "ng-template", null, 23, i0.ɵɵtemplateRefExtractor);
114
+ i0.ɵɵelementContainerEnd();
115
+ } if (rf & 2) {
116
+ const column_r16 = ctx.$implicit;
117
+ const _r20 = i0.ɵɵreference(5);
118
+ i0.ɵɵproperty("matColumnDef", column_r16.name);
119
+ i0.ɵɵadvance(1);
120
+ i0.ɵɵproperty("ngIf", column_r16.sortable);
121
+ i0.ɵɵadvance(1);
122
+ i0.ɵɵproperty("ngIf", !column_r16.sortable);
123
+ i0.ɵɵadvance(1);
124
+ i0.ɵɵproperty("ngIf", !column_r16.html)("ngIfElse", _r20);
125
+ } }
126
+ function TableComponent_th_10_Template(rf, ctx) { if (rf & 1) {
127
+ i0.ɵɵelement(0, "th", 16);
128
+ } }
129
+ function TableComponent_td_11_button_1_Template(rf, ctx) { if (rf & 1) {
130
+ const _r36 = i0.ɵɵgetCurrentView();
131
+ i0.ɵɵelementStart(0, "button", 31);
132
+ i0.ɵɵlistener("click", function TableComponent_td_11_button_1_Template_button_click_0_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r36); const action_r34 = restoredCtx.$implicit; const row_r32 = i0.ɵɵnextContext().$implicit; const ctx_r35 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r35.handleClickAction($event, action_r34, row_r32)); });
133
+ i0.ɵɵelement(1, "mat-icon", 32);
134
+ i0.ɵɵelementEnd();
135
+ } if (rf & 2) {
136
+ const action_r34 = ctx.$implicit;
137
+ const ctx_r33 = i0.ɵɵnextContext(2);
138
+ i0.ɵɵproperty("color", ctx_r33.getActionColor(action_r34.color));
139
+ i0.ɵɵadvance(1);
140
+ i0.ɵɵpropertyInterpolate("svgIcon", action_r34.icon);
141
+ } }
142
+ function TableComponent_td_11_Template(rf, ctx) { if (rf & 1) {
143
+ i0.ɵɵelementStart(0, "td", 18);
144
+ i0.ɵɵtemplate(1, TableComponent_td_11_button_1_Template, 2, 2, "button", 30);
145
+ i0.ɵɵelementEnd();
146
+ } if (rf & 2) {
147
+ const ctx_r6 = i0.ɵɵnextContext();
148
+ i0.ɵɵadvance(1);
149
+ i0.ɵɵproperty("ngForOf", ctx_r6.model.actions);
150
+ } }
151
+ function TableComponent_tr_12_Template(rf, ctx) { if (rf & 1) {
152
+ i0.ɵɵelement(0, "tr", 33);
153
+ } }
154
+ function TableComponent_tr_13_Template(rf, ctx) { if (rf & 1) {
155
+ const _r40 = i0.ɵɵgetCurrentView();
156
+ i0.ɵɵelementStart(0, "tr", 34);
157
+ i0.ɵɵlistener("click", function TableComponent_tr_13_Template_tr_click_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r40); const row_r38 = restoredCtx.$implicit; const ctx_r39 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r39.selection.toggle(row_r38)); });
158
+ i0.ɵɵelementEnd();
159
+ } if (rf & 2) {
160
+ const row_r38 = ctx.$implicit;
161
+ const ctx_r8 = i0.ɵɵnextContext();
162
+ i0.ɵɵproperty("ngClass", ctx_r8.model.rowClassFunc ? ctx_r8.model.rowClassFunc(row_r38) : i0.ɵɵpureFunction0(1, _c1));
163
+ } }
164
+ export class TableComponent {
165
+ get database() {
166
+ return this._database;
167
+ }
168
+ set database(value) {
169
+ this._database = value;
170
+ }
171
+ _database;
172
+ get model() {
173
+ return this._model;
174
+ }
175
+ set model(value) {
176
+ this._model = value;
177
+ }
178
+ _model;
179
+ get hasFilterInput() {
180
+ return this._hasFIlterInput;
181
+ }
182
+ set hasFilterInput(value) {
183
+ this._hasFIlterInput = value;
184
+ }
185
+ _hasFIlterInput = true;
186
+ displayedColumns;
187
+ dataSource;
188
+ selection = new SelectionModel(true, []);
189
+ select = new EventEmitter();
190
+ filter;
191
+ sort;
192
+ ngOnInit() {
193
+ this.dataSource = new TableDataSource(this.database, this.model, this.sort);
194
+ if (this.model) {
195
+ this.displayedColumns = this.model.columns
196
+ .filter((c) => c.displayed !== false)
197
+ .map((c) => c.name);
198
+ if (this.model.selectionCheckbox) {
199
+ this.displayedColumns.unshift('selectionCheckbox');
200
+ }
201
+ if (this.model.actions && this.model.actions.length) {
202
+ this.displayedColumns.push('action');
203
+ }
204
+ }
205
+ this.selection.changed.subscribe((e) => this.select.emit(e));
206
+ }
207
+ ngAfterViewInit() {
208
+ if (this.filter) {
209
+ fromEvent(this.filter.nativeElement, 'keyup')
210
+ .pipe(debounceTime(150), distinctUntilChanged())
211
+ .subscribe(() => {
212
+ if (!this.dataSource) {
213
+ return;
214
+ }
215
+ this.dataSource.filter = this.filter.nativeElement.value;
216
+ });
217
+ }
218
+ }
219
+ ngOnChanges(change) {
220
+ if (change.database) {
221
+ this.dataSource = new TableDataSource(this.database, this.model, this.sort);
222
+ this.selection.clear();
223
+ }
224
+ }
225
+ getActionColor(colorId) {
226
+ return TableActionColor[colorId];
227
+ }
228
+ getValue(row, key) {
229
+ return ObjectUtils.resolve(row, key);
230
+ }
231
+ /** Whether the number of selected elements matches the total number of rows. */
232
+ isAllSelected() {
233
+ const numSelected = this.selection.selected.length;
234
+ const numRows = this.database.data.length;
235
+ return numSelected === numRows;
236
+ }
237
+ /** Selects all rows if they are not all selected; otherwise clear selection. */
238
+ masterToggle() {
239
+ this.isAllSelected()
240
+ ? this.selection.clear()
241
+ : this.database.data.forEach((row) => this.selection.select(row));
242
+ }
243
+ handleClickAction(event, action, row) {
244
+ event.stopPropagation();
245
+ action.click(row);
246
+ }
247
+ static ɵfac = function TableComponent_Factory(t) { return new (t || TableComponent)(); };
248
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TableComponent, selectors: [["igo-table"]], viewQuery: function TableComponent_Query(rf, ctx) { if (rf & 1) {
249
+ i0.ɵɵviewQuery(_c0, 5);
250
+ i0.ɵɵviewQuery(MatSort, 7);
251
+ } if (rf & 2) {
252
+ let _t;
253
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.filter = _t.first);
254
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.sort = _t.first);
255
+ } }, inputs: { database: "database", model: "model", hasFilterInput: "hasFilterInput" }, outputs: { select: "select" }, features: [i0.ɵɵNgOnChangesFeature], decls: 14, vars: 5, consts: [[1, "table-box"], ["class", "table-header", 4, "ngIf"], [1, "table-container"], ["mat-table", "", "matSort", "", 3, "dataSource"], ["table", ""], ["matColumnDef", "selectionCheckbox"], ["mat-header-cell", "", 4, "matHeaderCellDef"], ["mat-cell", "", 4, "matCellDef"], [3, "matColumnDef", 4, "ngFor", "ngForOf"], ["matColumnDef", "action"], ["mat-header-row", "", 4, "matHeaderRowDef"], ["mat-row", "", 3, "ngClass", "click", 4, "matRowDef", "matRowDefColumns"], [1, "table-header"], ["floatPlaceholder", "never"], ["matInput", "", 3, "placeholder"], ["filter", ""], ["mat-header-cell", ""], [3, "checked", "indeterminate", "change"], ["mat-cell", ""], [3, "checked", "click", "change"], [3, "matColumnDef"], [4, "ngIf"], [4, "ngIf", "ngIfElse"], ["cellHTML", ""], ["mat-header-cell", "", "mat-sort-header", "", 4, "matHeaderCellDef"], ["mat-header-cell", "", "mat-sort-header", ""], ["mat-cell", "", "class", "mat-cell-text", 3, "ngClass", 4, "matCellDef"], ["mat-cell", "", 1, "mat-cell-text", 3, "ngClass"], ["mat-cell", "", "class", "mat-cell-text", 3, "ngClass", "innerHTML", 4, "matCellDef"], ["mat-cell", "", 1, "mat-cell-text", 3, "ngClass", "innerHTML"], ["mat-mini-fab", "", 3, "color", "click", 4, "ngFor", "ngForOf"], ["mat-mini-fab", "", 3, "color", "click"], [3, "svgIcon"], ["mat-header-row", ""], ["mat-row", "", 3, "ngClass", "click"]], template: function TableComponent_Template(rf, ctx) { if (rf & 1) {
256
+ i0.ɵɵelementStart(0, "div", 0);
257
+ i0.ɵɵtemplate(1, TableComponent_div_1_Template, 5, 3, "div", 1);
258
+ i0.ɵɵelementStart(2, "div", 2)(3, "table", 3, 4);
259
+ i0.ɵɵelementContainerStart(5, 5);
260
+ i0.ɵɵtemplate(6, TableComponent_th_6_Template, 2, 2, "th", 6);
261
+ i0.ɵɵtemplate(7, TableComponent_td_7_Template, 2, 1, "td", 7);
262
+ i0.ɵɵelementContainerEnd();
263
+ i0.ɵɵtemplate(8, TableComponent_ng_container_8_Template, 6, 5, "ng-container", 8);
264
+ i0.ɵɵelementContainerStart(9, 9);
265
+ i0.ɵɵtemplate(10, TableComponent_th_10_Template, 1, 0, "th", 6);
266
+ i0.ɵɵtemplate(11, TableComponent_td_11_Template, 2, 1, "td", 7);
267
+ i0.ɵɵelementContainerEnd();
268
+ i0.ɵɵtemplate(12, TableComponent_tr_12_Template, 1, 0, "tr", 10);
269
+ i0.ɵɵtemplate(13, TableComponent_tr_13_Template, 1, 2, "tr", 11);
270
+ i0.ɵɵelementEnd()()();
271
+ } if (rf & 2) {
272
+ i0.ɵɵadvance(1);
273
+ i0.ɵɵproperty("ngIf", ctx.hasFilterInput);
274
+ i0.ɵɵadvance(2);
275
+ i0.ɵɵproperty("dataSource", ctx.dataSource);
276
+ i0.ɵɵadvance(5);
277
+ i0.ɵɵproperty("ngForOf", ctx.model.columns);
278
+ i0.ɵɵadvance(4);
279
+ i0.ɵɵproperty("matHeaderRowDef", ctx.displayedColumns);
280
+ i0.ɵɵadvance(1);
281
+ i0.ɵɵproperty("matRowDefColumns", ctx.displayedColumns);
282
+ } }, dependencies: [i1.NgClass, i1.NgForOf, i1.NgIf, i2.MatIcon, i3.MatMiniFabButton, i4.MatTable, i4.MatHeaderCellDef, i4.MatHeaderRowDef, i4.MatColumnDef, i4.MatCellDef, i4.MatRowDef, i4.MatHeaderCell, i4.MatCell, i4.MatHeaderRow, i4.MatRow, i5.MatFormField, i6.MatInput, i7.MatSort, i7.MatSortHeader, i8.MatCheckbox, i9.TranslatePipe], styles: ["[_nghost-%COMP%]{width:100%;height:100%;display:block}.table-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%;overflow:auto;flex:1 1 auto}.table-box[_ngcontent-%COMP%]{height:100%;display:flex;flex-direction:column}.table-header[_ngcontent-%COMP%]{min-height:64px;max-width:500px;display:flex;flex:0 1 auto;align-items:baseline;padding:8px 24px 0;font-size:20px;justify-content:space-between}tr[mat-header-row][_ngcontent-%COMP%], tr[mat-row][_ngcontent-%COMP%]{height:60px}.mat-cell-text[_ngcontent-%COMP%]{overflow:hidden;word-wrap:break-word}td[mat-cell][_ngcontent-%COMP%]{padding-right:15px}th.mat-mdc-header-cell[_ngcontent-%COMP%]{padding-right:5px}button[_ngcontent-%COMP%]{margin-right:10px}"] });
283
+ }
284
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TableComponent, [{
285
+ type: Component,
286
+ args: [{ selector: 'igo-table', template: "<div class=\"table-box\">\n <div class=\"table-header\" *ngIf=\"hasFilterInput\">\n <mat-form-field floatPlaceholder=\"never\">\n <input\n matInput\n #filter\n [placeholder]=\"'igo.common.table.filter' | translate\"\n />\n </mat-form-field>\n </div>\n\n <div class=\"table-container\">\n <table mat-table #table [dataSource]=\"dataSource\" matSort>\n <!-- Checkbox Column -->\n <ng-container matColumnDef=\"selectionCheckbox\">\n <th mat-header-cell *matHeaderCellDef>\n <mat-checkbox\n (change)=\"$event ? masterToggle() : null\"\n [checked]=\"selection.hasValue() && isAllSelected()\"\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\"\n >\n </mat-checkbox>\n </th>\n <td mat-cell *matCellDef=\"let row\">\n <mat-checkbox\n (click)=\"$event.stopPropagation()\"\n (change)=\"$event ? selection.toggle(row) : null\"\n [checked]=\"selection.isSelected(row)\"\n >\n </mat-checkbox>\n </td>\n </ng-container>\n\n <ng-container\n [matColumnDef]=\"column.name\"\n *ngFor=\"let column of model.columns\"\n >\n <ng-container *ngIf=\"column.sortable\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>\n {{ column.title }}\n </th>\n </ng-container>\n\n <ng-container *ngIf=\"!column.sortable\">\n <th mat-header-cell *matHeaderCellDef>{{ column.title }}</th>\n </ng-container>\n\n <ng-container *ngIf=\"!column.html; else cellHTML\">\n <td\n mat-cell\n *matCellDef=\"let row\"\n class=\"mat-cell-text\"\n [ngClass]=\"\n model.cellClassFunc ? model.cellClassFunc(row, column) : {}\n \"\n >\n {{ getValue(row, column.name) }}\n </td>\n </ng-container>\n\n <ng-template #cellHTML>\n <td\n mat-cell\n *matCellDef=\"let row\"\n class=\"mat-cell-text\"\n [ngClass]=\"\n model.cellClassFunc ? model.cellClassFunc(row, column) : {}\n \"\n [innerHTML]=\"getValue(row, column.name)\"\n ></td>\n </ng-template>\n </ng-container>\n\n <!-- Action Column -->\n <ng-container matColumnDef=\"action\">\n <th mat-header-cell *matHeaderCellDef></th>\n <td mat-cell *matCellDef=\"let row\">\n <button\n *ngFor=\"let action of model.actions\"\n mat-mini-fab\n [color]=\"getActionColor(action.color)\"\n (click)=\"handleClickAction($event, action, row)\"\n >\n <mat-icon svgIcon=\"{{ action.icon }}\"></mat-icon>\n </button>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr\n mat-row\n *matRowDef=\"let row; columns: displayedColumns\"\n [ngClass]=\"model.rowClassFunc ? model.rowClassFunc(row) : {}\"\n (click)=\"selection.toggle(row)\"\n ></tr>\n </table>\n </div>\n</div>\n", styles: [":host{width:100%;height:100%;display:block}.table-container{display:flex;flex-direction:column;height:100%;overflow:auto;flex:1 1 auto}.table-box{height:100%;display:flex;flex-direction:column}.table-header{min-height:64px;max-width:500px;display:flex;flex:0 1 auto;align-items:baseline;padding:8px 24px 0;font-size:20px;justify-content:space-between}tr[mat-header-row],tr[mat-row]{height:60px}.mat-cell-text{overflow:hidden;word-wrap:break-word}td[mat-cell]{padding-right:15px}th.mat-mdc-header-cell{padding-right:5px}button{margin-right:10px}\n"] }]
287
+ }], null, { database: [{
288
+ type: Input
289
+ }], model: [{
290
+ type: Input
291
+ }], hasFilterInput: [{
292
+ type: Input
293
+ }], select: [{
294
+ type: Output
295
+ }], filter: [{
296
+ type: ViewChild,
297
+ args: ['filter']
298
+ }], sort: [{
299
+ type: ViewChild,
300
+ args: [MatSort, { static: true }]
301
+ }] }); })();
302
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9saWIvdGFibGUvdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9saWIvdGFibGUvdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBSU4sWUFBWSxFQUNiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFakMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUcxQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7Ozs7Ozs7O0lDckIzRCwrQkFBaUQseUJBQUE7SUFFN0MsZ0NBSUU7O0lBQ0osaUJBQWlCLEVBQUE7O0lBRmIsZUFBcUQ7SUFBckQsNkVBQXFEOzs7O0lBU3JELDhCQUFzQyx1QkFBQTtJQUVsQywwS0FBVSx3QkFBUyxzQkFBYyxHQUFHLElBQUksQ0FBQSxJQUFDO0lBSTNDLGlCQUFlLEVBQUE7OztJQUhiLGVBQW1EO0lBQW5ELCtFQUFtRCx5RUFBQTs7OztJQUt2RCw4QkFBbUMsdUJBQUE7SUFFL0Is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QkFBNkIsa0JBQUE7WUFHekIsZ0NBQStDO1lBQzdDLDZEQU9LO1lBQ0wsNkRBT0s7WUFDUCwwQkFBZTtZQUVmLGlGQXNDZTtZQUdmLGdDQUFvQztZQUNsQywrREFBMkM7WUFDM0MsK0RBU0s7WUFDUCwwQkFBZTtZQUVmLGdFQUE0RDtZQUM1RCxnRUFLTTtZQUNSLGlCQUFRLEVBQUEsRUFBQTs7WUE5RmlCLGVBQW9CO1lBQXBCLHlDQUFvQjtZQVdyQixlQUF5QjtZQUF6QiwyQ0FBeUI7WUF1QjFCLGVBQWdCO1lBQWhCLDJDQUFnQjtZQXFEakIsZUFBaUM7WUFBakMsc0RBQWlDO1lBRzlCLGVBQXlCO1lBQXpCLHVEQUF5Qjs7O3VGRDlEekMsY0FBYztjQUwxQixTQUFTOzJCQUNFLFdBQVc7Z0JBTWpCLFFBQVE7a0JBRFgsS0FBSztZQVVGLEtBQUs7a0JBRFIsS0FBSztZQVVGLGNBQWM7a0JBRGpCLEtBQUs7WUFjTixNQUFNO2tCQURMLE1BQU07WUFPYyxNQUFNO2tCQUExQixTQUFTO21CQUFDLFFBQVE7WUFDbUIsSUFBSTtrQkFBekMsU0FBUzttQkFBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBWaWV3Q2hpbGQsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25Jbml0LFxuICBBZnRlclZpZXdJbml0LFxuICBFdmVudEVtaXR0ZXJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRTb3J0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCc7XG5pbXBvcnQgeyBTZWxlY3Rpb25Nb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2xsZWN0aW9ucyc7XG5cbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgT2JqZWN0VXRpbHMgfSBmcm9tICdAaWdvMi91dGlscyc7XG5cbmltcG9ydCB7IFRhYmxlTW9kZWwgfSBmcm9tICcuL3RhYmxlLW1vZGVsLmludGVyZmFjZSc7XG5pbXBvcnQgeyBUYWJsZURhdGFiYXNlIH0gZnJvbSAnLi90YWJsZS1kYXRhYmFzZSc7XG5pbXBvcnQgeyBUYWJsZURhdGFTb3VyY2UgfSBmcm9tICcuL3RhYmxlLWRhdGFzb3VyY2UnO1xuaW1wb3J0IHsgVGFibGVBY3Rpb25Db2xvciB9IGZyb20gJy4vdGFibGUtYWN0aW9uLWNvbG9yLmVudW0nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpZ28tdGFibGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YWJsZS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICBASW5wdXQoKVxuICBnZXQgZGF0YWJhc2UoKTogVGFibGVEYXRhYmFzZSB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGFiYXNlO1xuICB9XG4gIHNldCBkYXRhYmFzZSh2YWx1ZTogVGFibGVEYXRhYmFzZSkge1xuICAgIHRoaXMuX2RhdGFiYXNlID0gdmFsdWU7XG4gIH1cbiAgcHJpdmF0ZSBfZGF0YWJhc2U6IFRhYmxlRGF0YWJhc2U7XG5cbiAgQElucHV0KClcbiAgZ2V0IG1vZGVsKCk6IFRhYmxlTW9kZWwge1xuICAgIHJldHVybiB0aGlzLl9tb2RlbDtcbiAgfVxuICBzZXQgbW9kZWwodmFsdWU6IFRhYmxlTW9kZWwpIHtcbiAgICB0aGlzLl9tb2RlbCA9IHZhbHVlO1xuICB9XG4gIHByaXZhdGUgX21vZGVsOiBUYWJsZU1vZGVsO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBoYXNGaWx0ZXJJbnB1dCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faGFzRklsdGVySW5wdXQ7XG4gIH1cbiAgc2V0IGhhc0ZpbHRlcklucHV0KHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5faGFzRklsdGVySW5wdXQgPSB2YWx1ZTtcbiAgfVxuICBwcml2YXRlIF9oYXNGSWx0ZXJJbnB1dCA9IHRydWU7XG5cbiAgcHVibGljIGRpc3BsYXllZENvbHVtbnM7XG4gIHB1YmxpYyBkYXRhU291cmNlOiBUYWJsZURhdGFTb3VyY2UgfCBudWxsO1xuICBwdWJsaWMgc2VsZWN0aW9uID0gbmV3IFNlbGVjdGlvbk1vZGVsPGFueT4odHJ1ZSwgW10pO1xuXG4gIEBPdXRwdXQoKVxuICBzZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPHtcbiAgICBhZGRlZDogYW55W107XG4gICAgcmVtb3ZlZDogYW55W107XG4gICAgc291cmNlOiBTZWxlY3Rpb25Nb2RlbDxhbnk+O1xuICB9PigpO1xuXG4gIEBWaWV3Q2hpbGQoJ2ZpbHRlcicpIGZpbHRlcjogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZChNYXRTb3J0LCB7IHN0YXRpYzogdHJ1ZSB9KSBzb3J0OiBNYXRTb3J0O1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZGF0YVNvdXJjZSA9IG5ldyBUYWJsZURhdGFTb3VyY2UodGhpcy5kYXRhYmFzZSwgdGhpcy5tb2RlbCwgdGhpcy5zb3J0KTtcblxuICAgIGlmICh0aGlzLm1vZGVsKSB7XG4gICAgICB0aGlzLmRpc3BsYXllZENvbHVtbnMgPSB0aGlzLm1vZGVsLmNvbHVtbnNcbiAgICAgICAgLmZpbHRlcigoYykgPT4gYy5kaXNwbGF5ZWQgIT09IGZhbHNlKVxuICAgICAgICAubWFwKChjKSA9PiBjLm5hbWUpO1xuXG4gICAgICBpZiAodGhpcy5tb2RlbC5zZWxlY3Rpb25DaGVja2JveCkge1xuICAgICAgICB0aGlzLmRpc3BsYXllZENvbHVtbnMudW5zaGlmdCgnc2VsZWN0aW9uQ2hlY2tib3gnKTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLm1vZGVsLmFjdGlvbnMgJiYgdGhpcy5tb2RlbC5hY3Rpb25zLmxlbmd0aCkge1xuICAgICAgICB0aGlzLmRpc3BsYXllZENvbHVtbnMucHVzaCgnYWN0aW9uJyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5zZWxlY3Rpb24uY2hhbmdlZC5zdWJzY3JpYmUoKGUpID0+IHRoaXMuc2VsZWN0LmVtaXQoZSkpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGlmICh0aGlzLmZpbHRlcikge1xuICAgICAgZnJvbUV2ZW50KHRoaXMuZmlsdGVyLm5hdGl2ZUVsZW1lbnQsICdrZXl1cCcpXG4gICAgICAgIC5waXBlKGRlYm91bmNlVGltZSgxNTApLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICBpZiAoIXRoaXMuZGF0YVNvdXJjZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLmRhdGFTb3VyY2UuZmlsdGVyID0gdGhpcy5maWx0ZXIubmF0aXZlRWxlbWVudC52YWx1ZTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlKSB7XG4gICAgaWYgKGNoYW5nZS5kYXRhYmFzZSkge1xuICAgICAgdGhpcy5kYXRhU291cmNlID0gbmV3IFRhYmxlRGF0YVNvdXJjZShcbiAgICAgICAgdGhpcy5kYXRhYmFzZSxcbiAgICAgICAgdGhpcy5tb2RlbCxcbiAgICAgICAgdGhpcy5zb3J0XG4gICAgICApO1xuICAgICAgdGhpcy5zZWxlY3Rpb24uY2xlYXIoKTtcbiAgICB9XG4gIH1cblxuICBnZXRBY3Rpb25Db2xvcihjb2xvcklkOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIHJldHVybiBUYWJsZUFjdGlvbkNvbG9yW2NvbG9ySWRdO1xuICB9XG5cbiAgZ2V0VmFsdWUocm93LCBrZXkpIHtcbiAgICByZXR1cm4gT2JqZWN0VXRpbHMucmVzb2x2ZShyb3csIGtleSk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgbnVtYmVyIG9mIHNlbGVjdGVkIGVsZW1lbnRzIG1hdGNoZXMgdGhlIHRvdGFsIG51bWJlciBvZiByb3dzLiAqL1xuICBpc0FsbFNlbGVjdGVkKCkge1xuICAgIGNvbnN0IG51bVNlbGVjdGVkID0gdGhpcy5zZWxlY3Rpb24uc2VsZWN0ZWQubGVuZ3RoO1xuICAgIGNvbnN0IG51bVJvd3MgPSB0aGlzLmRhdGFiYXNlLmRhdGEubGVuZ3RoO1xuICAgIHJldHVybiBudW1TZWxlY3RlZCA9PT0gbnVtUm93cztcbiAgfVxuXG4gIC8qKiBTZWxlY3RzIGFsbCByb3dzIGlmIHRoZXkgYXJlIG5vdCBhbGwgc2VsZWN0ZWQ7IG90aGVyd2lzZSBjbGVhciBzZWxlY3Rpb24uICovXG4gIG1hc3RlclRvZ2dsZSgpIHtcbiAgICB0aGlzLmlzQWxsU2VsZWN0ZWQoKVxuICAgICAgPyB0aGlzLnNlbGVjdGlvbi5jbGVhcigpXG4gICAgICA6IHRoaXMuZGF0YWJhc2UuZGF0YS5mb3JFYWNoKChyb3cpID0+IHRoaXMuc2VsZWN0aW9uLnNlbGVjdChyb3cpKTtcbiAgfVxuXG4gIGhhbmRsZUNsaWNrQWN0aW9uKGV2ZW50LCBhY3Rpb24sIHJvdykge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGFjdGlvbi5jbGljayhyb3cpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwidGFibGUtYm94XCI+XG4gIDxkaXYgY2xhc3M9XCJ0YWJsZS1oZWFkZXJcIiAqbmdJZj1cImhhc0ZpbHRlcklucHV0XCI+XG4gICAgPG1hdC1mb3JtLWZpZWxkIGZsb2F0UGxhY2Vob2xkZXI9XCJuZXZlclwiPlxuICAgICAgPGlucHV0XG4gICAgICAgIG1hdElucHV0XG4gICAgICAgICNmaWx0ZXJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidpZ28uY29tbW9uLnRhYmxlLmZpbHRlcicgfCB0cmFuc2xhdGVcIlxuICAgICAgLz5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwidGFibGUtY29udGFpbmVyXCI+XG4gICAgPHRhYmxlIG1hdC10YWJsZSAjdGFibGUgW2RhdGFTb3VyY2VdPVwiZGF0YVNvdXJjZVwiIG1hdFNvcnQ+XG4gICAgICA8IS0tIENoZWNrYm94IENvbHVtbiAtLT5cbiAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwic2VsZWN0aW9uQ2hlY2tib3hcIj5cbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj5cbiAgICAgICAgICA8bWF0LWNoZWNrYm94XG4gICAgICAgICAgICAoY2hhbmdlKT1cIiRldmVudCA/IG1hc3RlclRvZ2dsZSgpIDogbnVsbFwiXG4gICAgICAgICAgICBbY2hlY2tlZF09XCJzZWxlY3Rpb24uaGFzVmFsdWUoKSAmJiBpc0FsbFNlbGVjdGVkKClcIlxuICAgICAgICAgICAgW2luZGV0ZXJtaW5hdGVdPVwic2VsZWN0aW9uLmhhc1ZhbHVlKCkgJiYgIWlzQWxsU2VsZWN0ZWQoKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvbWF0LWNoZWNrYm94PlxuICAgICAgICA8L3RoPlxuICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgcm93XCI+XG4gICAgICAgICAgPG1hdC1jaGVja2JveFxuICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgICAoY2hhbmdlKT1cIiRldmVudCA/IHNlbGVjdGlvbi50b2dnbGUocm93KSA6IG51bGxcIlxuICAgICAgICAgICAgW2NoZWNrZWRdPVwic2VsZWN0aW9uLmlzU2VsZWN0ZWQocm93KVwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvbWF0LWNoZWNrYm94PlxuICAgICAgICA8L3RkPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgW21hdENvbHVtbkRlZl09XCJjb2x1bW4ubmFtZVwiXG4gICAgICAgICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgbW9kZWwuY29sdW1uc1wiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW4uc29ydGFibGVcIj5cbiAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlcj5cbiAgICAgICAgICAgIHt7IGNvbHVtbi50aXRsZSB9fVxuICAgICAgICAgIDwvdGg+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhY29sdW1uLnNvcnRhYmxlXCI+XG4gICAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj57eyBjb2x1bW4udGl0bGUgfX08L3RoPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWNvbHVtbi5odG1sOyBlbHNlIGNlbGxIVE1MXCI+XG4gICAgICAgICAgPHRkXG4gICAgICAgICAgICBtYXQtY2VsbFxuICAgICAgICAgICAgKm1hdENlbGxEZWY9XCJsZXQgcm93XCJcbiAgICAgICAgICAgIGNsYXNzPVwibWF0LWNlbGwtdGV4dFwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJcbiAgICAgICAgICAgICAgbW9kZWwuY2VsbENsYXNzRnVuYyA/IG1vZGVsLmNlbGxDbGFzc0Z1bmMocm93LCBjb2x1bW4pIDoge31cbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgZ2V0VmFsdWUocm93LCBjb2x1bW4ubmFtZSkgfX1cbiAgICAgICAgICA8L3RkPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8bmctdGVtcGxhdGUgI2NlbGxIVE1MPlxuICAgICAgICAgIDx0ZFxuICAgICAgICAgICAgbWF0LWNlbGxcbiAgICAgICAgICAgICptYXRDZWxsRGVmPVwibGV0IHJvd1wiXG4gICAgICAgICAgICBjbGFzcz1cIm1hdC1jZWxsLXRleHRcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiXG4gICAgICAgICAgICAgIG1vZGVsLmNlbGxDbGFzc0Z1bmMgPyBtb2RlbC5jZWxsQ2xhc3NGdW5jKHJvdywgY29sdW1uKSA6IHt9XG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgW2lubmVySFRNTF09XCJnZXRWYWx1ZShyb3csIGNvbHVtbi5uYW1lKVwiXG4gICAgICAgICAgPjwvdGQ+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPCEtLSBBY3Rpb24gQ29sdW1uIC0tPlxuICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJhY3Rpb25cIj5cbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj48L3RoPlxuICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgcm93XCI+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGFjdGlvbiBvZiBtb2RlbC5hY3Rpb25zXCJcbiAgICAgICAgICAgIG1hdC1taW5pLWZhYlxuICAgICAgICAgICAgW2NvbG9yXT1cImdldEFjdGlvbkNvbG9yKGFjdGlvbi5jb2xvcilcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZUNsaWNrQWN0aW9uKCRldmVudCwgYWN0aW9uLCByb3cpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8bWF0LWljb24gc3ZnSWNvbj1cInt7IGFjdGlvbi5pY29uIH19XCI+PC9tYXQtaWNvbj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC90ZD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8dHIgbWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImRpc3BsYXllZENvbHVtbnNcIj48L3RyPlxuICAgICAgPHRyXG4gICAgICAgIG1hdC1yb3dcbiAgICAgICAgKm1hdFJvd0RlZj1cImxldCByb3c7IGNvbHVtbnM6IGRpc3BsYXllZENvbHVtbnNcIlxuICAgICAgICBbbmdDbGFzc109XCJtb2RlbC5yb3dDbGFzc0Z1bmMgPyBtb2RlbC5yb3dDbGFzc0Z1bmMocm93KSA6IHt9XCJcbiAgICAgICAgKGNsaWNrKT1cInNlbGVjdGlvbi50b2dnbGUocm93KVwiXG4gICAgICA+PC90cj5cbiAgICA8L3RhYmxlPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19