@igo2/common 19.0.3 → 20.0.0-next.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (325) hide show
  1. package/action/index.d.ts +194 -3
  2. package/backdrop/index.d.ts +20 -3
  3. package/badge/index.d.ts +44 -3
  4. package/clickout/index.d.ts +20 -3
  5. package/clone/index.d.ts +18 -3
  6. package/collapsible/index.d.ts +43 -3
  7. package/color/index.d.ts +38 -3
  8. package/confirm-dialog/index.d.ts +39 -5
  9. package/context-menu/index.d.ts +50 -3
  10. package/custom-html/index.d.ts +30 -3
  11. package/dom/index.d.ts +34 -3
  12. package/drag-drop/index.d.ts +124 -3
  13. package/dynamic-component/index.d.ts +186 -3
  14. package/entity/index.d.ts +1532 -3
  15. package/environment/index.d.ts +15 -5
  16. package/fesm2022/igo2-common-action.mjs +28 -38
  17. package/fesm2022/igo2-common-action.mjs.map +1 -1
  18. package/fesm2022/igo2-common-backdrop.mjs +7 -7
  19. package/fesm2022/igo2-common-backdrop.mjs.map +1 -1
  20. package/fesm2022/igo2-common-badge.mjs +10 -13
  21. package/fesm2022/igo2-common-badge.mjs.map +1 -1
  22. package/fesm2022/igo2-common-clickout.mjs +10 -13
  23. package/fesm2022/igo2-common-clickout.mjs.map +1 -1
  24. package/fesm2022/igo2-common-clone.mjs +7 -7
  25. package/fesm2022/igo2-common-clone.mjs.map +1 -1
  26. package/fesm2022/igo2-common-collapsible.mjs +14 -18
  27. package/fesm2022/igo2-common-collapsible.mjs.map +1 -1
  28. package/fesm2022/igo2-common-color.mjs +9 -9
  29. package/fesm2022/igo2-common-color.mjs.map +1 -1
  30. package/fesm2022/igo2-common-confirm-dialog.mjs +19 -26
  31. package/fesm2022/igo2-common-confirm-dialog.mjs.map +1 -1
  32. package/fesm2022/igo2-common-context-menu.mjs +16 -21
  33. package/fesm2022/igo2-common-context-menu.mjs.map +1 -1
  34. package/fesm2022/igo2-common-custom-html.mjs +14 -17
  35. package/fesm2022/igo2-common-custom-html.mjs.map +1 -1
  36. package/fesm2022/igo2-common-dom.mjs +11 -14
  37. package/fesm2022/igo2-common-dom.mjs.map +1 -1
  38. package/fesm2022/igo2-common-drag-drop.mjs +15 -17
  39. package/fesm2022/igo2-common-drag-drop.mjs.map +1 -1
  40. package/fesm2022/igo2-common-dynamic-component.mjs +20 -27
  41. package/fesm2022/igo2-common-dynamic-component.mjs.map +1 -1
  42. package/fesm2022/igo2-common-entity.mjs +69 -108
  43. package/fesm2022/igo2-common-entity.mjs.map +1 -1
  44. package/fesm2022/igo2-common-flexible.mjs +13 -18
  45. package/fesm2022/igo2-common-flexible.mjs.map +1 -1
  46. package/fesm2022/igo2-common-form.mjs +77 -112
  47. package/fesm2022/igo2-common-form.mjs.map +1 -1
  48. package/fesm2022/igo2-common-home-button.mjs +7 -7
  49. package/fesm2022/igo2-common-home-button.mjs.map +1 -1
  50. package/fesm2022/igo2-common-icon.mjs +14 -21
  51. package/fesm2022/igo2-common-icon.mjs.map +1 -1
  52. package/fesm2022/igo2-common-image.mjs +53 -57
  53. package/fesm2022/igo2-common-image.mjs.map +1 -1
  54. package/fesm2022/igo2-common-interactive-tour.mjs +43 -56
  55. package/fesm2022/igo2-common-interactive-tour.mjs.map +1 -1
  56. package/fesm2022/igo2-common-json-dialog.mjs +19 -28
  57. package/fesm2022/igo2-common-json-dialog.mjs.map +1 -1
  58. package/fesm2022/igo2-common-keyvalue.mjs +7 -7
  59. package/fesm2022/igo2-common-keyvalue.mjs.map +1 -1
  60. package/fesm2022/igo2-common-list.mjs +16 -23
  61. package/fesm2022/igo2-common-list.mjs.map +1 -1
  62. package/fesm2022/igo2-common-panel.mjs +9 -9
  63. package/fesm2022/igo2-common-panel.mjs.map +1 -1
  64. package/fesm2022/igo2-common-resizable-bar.mjs +6 -6
  65. package/fesm2022/igo2-common-resizable-bar.mjs.map +1 -1
  66. package/fesm2022/igo2-common-select-value-dialog.mjs +28 -44
  67. package/fesm2022/igo2-common-select-value-dialog.mjs.map +1 -1
  68. package/fesm2022/igo2-common-sidenav.mjs +10 -16
  69. package/fesm2022/igo2-common-sidenav.mjs.map +1 -1
  70. package/fesm2022/igo2-common-spinner.mjs +15 -21
  71. package/fesm2022/igo2-common-spinner.mjs.map +1 -1
  72. package/fesm2022/igo2-common-stop-propagation.mjs +10 -10
  73. package/fesm2022/igo2-common-stop-propagation.mjs.map +1 -1
  74. package/fesm2022/igo2-common-table.mjs +9 -11
  75. package/fesm2022/igo2-common-table.mjs.map +1 -1
  76. package/fesm2022/igo2-common-tool.mjs +16 -22
  77. package/fesm2022/igo2-common-tool.mjs.map +1 -1
  78. package/fesm2022/igo2-common-widget.mjs +19 -24
  79. package/fesm2022/igo2-common-widget.mjs.map +1 -1
  80. package/fesm2022/igo2-common-workspace.mjs +20 -20
  81. package/fesm2022/igo2-common-workspace.mjs.map +1 -1
  82. package/flexible/index.d.ts +54 -3
  83. package/form/index.d.ts +429 -3
  84. package/home-button/index.d.ts +18 -3
  85. package/icon/index.d.ts +42 -3
  86. package/image/index.d.ts +35 -3
  87. package/index.d.ts +16 -5
  88. package/interactive-tour/index.d.ts +116 -5
  89. package/json-dialog/index.d.ts +34 -5
  90. package/keyvalue/index.d.ts +18 -3
  91. package/list/index.d.ts +102 -3
  92. package/package.json +10 -13
  93. package/panel/index.d.ts +20 -3
  94. package/resizable-bar/index.d.ts +37 -5
  95. package/select-value-dialog/index.d.ts +65 -5
  96. package/sidenav/index.d.ts +29 -3
  97. package/spinner/index.d.ts +51 -3
  98. package/src/style/partial/common-utils.scss +1 -1
  99. package/stop-propagation/index.d.ts +26 -3
  100. package/table/index.d.ts +105 -3
  101. package/tool/index.d.ts +289 -3
  102. package/widget/index.d.ts +105 -3
  103. package/workspace/index.d.ts +237 -3
  104. package/action/action.module.d.ts +0 -10
  105. package/action/actionbar/actionbar-item.component.d.ts +0 -73
  106. package/action/actionbar/actionbar.component.d.ts +0 -148
  107. package/action/actionbar/actionbar.module.d.ts +0 -10
  108. package/action/public_api.d.ts +0 -4
  109. package/action/shared/action.enums.d.ts +0 -5
  110. package/action/shared/action.interfaces.d.ts +0 -16
  111. package/action/shared/index.d.ts +0 -3
  112. package/action/shared/store.d.ts +0 -8
  113. package/action/src/action.theming.scss +0 -9
  114. package/action/src/actionbar/actionbar-item.theming.scss +0 -20
  115. package/backdrop/backdrop.component.d.ts +0 -8
  116. package/backdrop/backdrop.module.d.ts +0 -12
  117. package/backdrop/public_api.d.ts +0 -2
  118. package/badge/badge-icon.directive.d.ts +0 -34
  119. package/badge/badge-icon.module.d.ts +0 -12
  120. package/badge/public_api.d.ts +0 -2
  121. package/clickout/clickout.directive.d.ts +0 -10
  122. package/clickout/clickout.module.d.ts +0 -12
  123. package/clickout/public_api.d.ts +0 -2
  124. package/clone/clone.module.d.ts +0 -12
  125. package/clone/clone.pipe.d.ts +0 -7
  126. package/clone/public_api.d.ts +0 -2
  127. package/collapsible/collapse.directive.d.ts +0 -19
  128. package/collapsible/collapsible.component.d.ts +0 -13
  129. package/collapsible/collapsible.module.d.ts +0 -13
  130. package/collapsible/public_api.d.ts +0 -6
  131. package/color/color-picker-form-field/color-picker-form-field.component.d.ts +0 -29
  132. package/color/color-picker-form-field/color-picker-form-field.module.d.ts +0 -10
  133. package/color/color-picker-form-field/index.d.ts +0 -2
  134. package/color/public_api.d.ts +0 -1
  135. package/confirm-dialog/confirm-dialog.component.d.ts +0 -12
  136. package/confirm-dialog/confirm-dialog.interface.d.ts +0 -4
  137. package/confirm-dialog/confirm-dialog.module.d.ts +0 -12
  138. package/confirm-dialog/confirm-dialog.service.d.ts +0 -11
  139. package/confirm-dialog/public_api.d.ts +0 -4
  140. package/context-menu/context-menu.directive.d.ts +0 -21
  141. package/context-menu/context-menu.module.d.ts +0 -13
  142. package/context-menu/long-press.directive.d.ts +0 -19
  143. package/context-menu/public_api.d.ts +0 -6
  144. package/custom-html/custom-html.component.d.ts +0 -8
  145. package/custom-html/custom-html.module.d.ts +0 -13
  146. package/custom-html/custom-html.pipe.d.ts +0 -10
  147. package/custom-html/public_api.d.ts +0 -6
  148. package/dom/dom.interfaces.d.ts +0 -10
  149. package/dom/dom.module.d.ts +0 -14
  150. package/dom/dom.service.d.ts +0 -10
  151. package/dom/public_api.d.ts +0 -3
  152. package/drag-drop/drag-drop.directive.d.ts +0 -14
  153. package/drag-drop/drag-drop.module.d.ts +0 -13
  154. package/drag-drop/public_api.d.ts +0 -3
  155. package/drag-drop/tree-drag-drop/index.d.ts +0 -2
  156. package/drag-drop/tree-drag-drop/tree-drag-drop.directive.d.ts +0 -85
  157. package/drag-drop/tree-drag-drop/tree-drag-drop.interface.d.ts +0 -15
  158. package/dynamic-component/dynamic-component.module.d.ts +0 -10
  159. package/dynamic-component/dynamic-outlet/dynamic-outlet.component.d.ts +0 -66
  160. package/dynamic-component/dynamic-outlet/dynamic-outlet.module.d.ts +0 -10
  161. package/dynamic-component/public_api.d.ts +0 -4
  162. package/dynamic-component/shared/dynamic-component.d.ts +0 -84
  163. package/dynamic-component/shared/dynamic-component.interfaces.d.ts +0 -3
  164. package/dynamic-component/shared/dynamic-component.service.d.ts +0 -18
  165. package/dynamic-component/shared/index.d.ts +0 -3
  166. package/entity/entity-selector/entity-selector.component.d.ts +0 -93
  167. package/entity/entity-selector/entity-selector.module.d.ts +0 -10
  168. package/entity/entity-selector/index.d.ts +0 -2
  169. package/entity/entity-table/entity-table-row.directive.d.ts +0 -69
  170. package/entity/entity-table/entity-table.component.d.ts +0 -330
  171. package/entity/entity-table/entity-table.module.d.ts +0 -10
  172. package/entity/entity-table/index.d.ts +0 -2
  173. package/entity/entity-table-paginator/entity-table-paginator.component.d.ts +0 -50
  174. package/entity/entity-table-paginator/entity-table-paginator.interface.d.ts +0 -8
  175. package/entity/entity-table-paginator/entity-table-paginator.module.d.ts +0 -10
  176. package/entity/entity-table-paginator/index.d.ts +0 -3
  177. package/entity/entity.module.d.ts +0 -16
  178. package/entity/public_api.d.ts +0 -5
  179. package/entity/shared/entity.enums.d.ts +0 -23
  180. package/entity/shared/entity.interfaces.d.ts +0 -92
  181. package/entity/shared/entity.utils.d.ts +0 -49
  182. package/entity/shared/index.d.ts +0 -9
  183. package/entity/shared/state.d.ts +0 -108
  184. package/entity/shared/store.d.ts +0 -180
  185. package/entity/shared/strategies/filter-custom-function.d.ts +0 -51
  186. package/entity/shared/strategies/filter-selection.d.ts +0 -48
  187. package/entity/shared/strategies/index.d.ts +0 -3
  188. package/entity/shared/strategies/strategy.d.ts +0 -56
  189. package/entity/shared/transaction.d.ts +0 -171
  190. package/entity/shared/view.d.ts +0 -193
  191. package/entity/shared/watcher.d.ts +0 -72
  192. package/entity/src/entity-selector/entity-selector.theming.scss +0 -21
  193. package/entity/src/entity-table/entity-table.theming.scss +0 -21
  194. package/entity/src/entity.theming.scss +0 -12
  195. package/environment/environment.interface.d.ts +0 -13
  196. package/environment/public_api.d.ts +0 -1
  197. package/flexible/flexible.component.d.ts +0 -42
  198. package/flexible/flexible.module.d.ts +0 -12
  199. package/flexible/flexible.type.d.ts +0 -2
  200. package/flexible/public_api.d.ts +0 -3
  201. package/form/form/form.component.d.ts +0 -46
  202. package/form/form/form.module.d.ts +0 -10
  203. package/form/form/index.d.ts +0 -2
  204. package/form/form-dialog/form-dialog.component.d.ts +0 -19
  205. package/form/form-dialog/form-dialog.interface.d.ts +0 -16
  206. package/form/form-dialog/form-dialog.module.d.ts +0 -16
  207. package/form/form-dialog/form-dialog.service.d.ts +0 -11
  208. package/form/form-dialog/index.d.ts +0 -4
  209. package/form/form-field/form-field-select.component.d.ts +0 -50
  210. package/form/form-field/form-field-text.component.d.ts +0 -49
  211. package/form/form-field/form-field-textarea.component.d.ts +0 -39
  212. package/form/form-field/form-field.component.d.ts +0 -29
  213. package/form/form-field/form-field.directive.d.ts +0 -5
  214. package/form/form-field/form-field.module.d.ts +0 -13
  215. package/form/form-field/index.d.ts +0 -6
  216. package/form/form-group/form-group.component.d.ts +0 -44
  217. package/form/form-group/form-group.module.d.ts +0 -10
  218. package/form/form-group/index.d.ts +0 -2
  219. package/form/form.module.d.ts +0 -18
  220. package/form/public_api.d.ts +0 -6
  221. package/form/shared/form-field-component.d.ts +0 -1
  222. package/form/shared/form-field.service.d.ts +0 -16
  223. package/form/shared/form.interfaces.d.ts +0 -60
  224. package/form/shared/form.service.d.ts +0 -15
  225. package/form/shared/form.utils.d.ts +0 -7
  226. package/form/shared/index.d.ts +0 -5
  227. package/home-button/home-button.component.d.ts +0 -8
  228. package/home-button/home-button.module.d.ts +0 -10
  229. package/home-button/public_api.d.ts +0 -2
  230. package/icon/icon/icon.component.d.ts +0 -15
  231. package/icon/icon.provider.d.ts +0 -4
  232. package/icon/public_api.d.ts +0 -3
  233. package/icon/shared/icon.interface.d.ts +0 -4
  234. package/icon/shared/icon.service.d.ts +0 -12
  235. package/icon/shared/icons.d.ts +0 -11
  236. package/icon/shared/index.d.ts +0 -3
  237. package/image/image-error.directive.d.ts +0 -11
  238. package/image/image.module.d.ts +0 -13
  239. package/image/public_api.d.ts +0 -6
  240. package/image/secure-image.pipe.d.ts +0 -13
  241. package/interactive-tour/interactive-tour.component.d.ts +0 -33
  242. package/interactive-tour/interactive-tour.interface.d.ts +0 -35
  243. package/interactive-tour/interactive-tour.loader.d.ts +0 -18
  244. package/interactive-tour/interactive-tour.module.d.ts +0 -7
  245. package/interactive-tour/interactive-tour.service.d.ts +0 -30
  246. package/interactive-tour/public_api.d.ts +0 -5
  247. package/json-dialog/json-dialog.component.d.ts +0 -13
  248. package/json-dialog/json-dialog.module.d.ts +0 -12
  249. package/json-dialog/json-dialog.service.d.ts +0 -10
  250. package/json-dialog/public_api.d.ts +0 -3
  251. package/keyvalue/keyvalue.module.d.ts +0 -12
  252. package/keyvalue/keyvalue.pipe.d.ts +0 -7
  253. package/keyvalue/public_api.d.ts +0 -2
  254. package/list/list-item.directive.d.ts +0 -43
  255. package/list/list.component.d.ts +0 -51
  256. package/list/list.module.d.ts +0 -13
  257. package/list/public_api.d.ts +0 -6
  258. package/panel/panel.component.d.ts +0 -10
  259. package/panel/panel.module.d.ts +0 -10
  260. package/panel/public_api.d.ts +0 -2
  261. package/panel/src/panel.theming.scss +0 -20
  262. package/public_api.d.ts +0 -16
  263. package/resizable-bar/public_api.d.ts +0 -2
  264. package/resizable-bar/resizable-bar.component.d.ts +0 -23
  265. package/resizable-bar/shared/resize.directive.d.ts +0 -12
  266. package/select-value-dialog/public_api.d.ts +0 -5
  267. package/select-value-dialog/select-value-check-radio-dialog.component.d.ts +0 -25
  268. package/select-value-dialog/select-value-dialog.enums.d.ts +0 -4
  269. package/select-value-dialog/select-value-dialog.interface.d.ts +0 -16
  270. package/select-value-dialog/select-value-dialog.module.d.ts +0 -12
  271. package/select-value-dialog/select-value-dialog.service.d.ts +0 -11
  272. package/sidenav/public_api.d.ts +0 -2
  273. package/sidenav/sidenav-shim.directive.d.ts +0 -20
  274. package/sidenav/sidenav.module.d.ts +0 -12
  275. package/spinner/public_api.d.ts +0 -3
  276. package/spinner/spinner-activity.directive.d.ts +0 -32
  277. package/spinner/spinner.component.d.ts +0 -11
  278. package/spinner/spinner.module.d.ts +0 -14
  279. package/src/common.theme.scss +0 -18
  280. package/stop-propagation/public_api.d.ts +0 -6
  281. package/stop-propagation/stop-drop-propagation.directive.d.ts +0 -6
  282. package/stop-propagation/stop-propagation.directive.d.ts +0 -6
  283. package/stop-propagation/stop-propagation.module.d.ts +0 -13
  284. package/table/public_api.d.ts +0 -6
  285. package/table/table-action-color.enum.d.ts +0 -5
  286. package/table/table-database.d.ts +0 -10
  287. package/table/table-datasource.d.ts +0 -18
  288. package/table/table-model.interface.d.ts +0 -24
  289. package/table/table.component.d.ts +0 -40
  290. package/table/table.module.d.ts +0 -12
  291. package/tool/public_api.d.ts +0 -3
  292. package/tool/shared/index.d.ts +0 -5
  293. package/tool/shared/tool-component.d.ts +0 -2
  294. package/tool/shared/tool.interface.d.ts +0 -16
  295. package/tool/shared/tool.service.d.ts +0 -28
  296. package/tool/shared/toolbox.d.ts +0 -96
  297. package/tool/shared/toolbox.enums.d.ts +0 -1
  298. package/tool/src/tool.theming.scss +0 -5
  299. package/tool/src/toolbox/toolbox.theming.scss +0 -22
  300. package/tool/tool.module.d.ts +0 -15
  301. package/tool/toolbox/index.d.ts +0 -2
  302. package/tool/toolbox/toolbox.animation.d.ts +0 -2
  303. package/tool/toolbox/toolbox.component.d.ts +0 -126
  304. package/tool/toolbox/toolbox.module.d.ts +0 -10
  305. package/widget/public_api.d.ts +0 -3
  306. package/widget/shared/index.d.ts +0 -3
  307. package/widget/shared/widget.d.ts +0 -4
  308. package/widget/shared/widget.interfaces.d.ts +0 -12
  309. package/widget/shared/widget.service.d.ts +0 -10
  310. package/widget/widget-outlet/index.d.ts +0 -2
  311. package/widget/widget-outlet/widget-outlet.component.d.ts +0 -64
  312. package/widget/widget-outlet/widget-outlet.module.d.ts +0 -10
  313. package/widget/widget.module.d.ts +0 -10
  314. package/workspace/public_api.d.ts +0 -4
  315. package/workspace/shared/index.d.ts +0 -3
  316. package/workspace/shared/store.d.ts +0 -20
  317. package/workspace/shared/workspace.d.ts +0 -98
  318. package/workspace/shared/workspace.interfaces.d.ts +0 -9
  319. package/workspace/workspace-selector/index.d.ts +0 -2
  320. package/workspace/workspace-selector/workspace-selector.component.d.ts +0 -38
  321. package/workspace/workspace-selector/workspace-selector.module.d.ts +0 -10
  322. package/workspace/workspace-widget-outlet/index.d.ts +0 -2
  323. package/workspace/workspace-widget-outlet/workspace-widget-outlet.component.d.ts +0 -52
  324. package/workspace/workspace-widget-outlet/workspace-widget-outlet.module.d.ts +0 -10
  325. package/workspace/workspace.module.d.ts +0 -14
@@ -3,47 +3,45 @@ import { ReplaySubject, BehaviorSubject, combineLatest, of, Observable } from 'r
3
3
  import { uuid, ObjectUtils, StringUtils } from '@igo2/utils';
4
4
  import { map, skip, debounceTime, catchError, tap } from 'rxjs/operators';
5
5
  import * as i0 from '@angular/core';
6
- import { EventEmitter, Output, Input, ChangeDetectionStrategy, Component, NgModule, ViewChild, HostListener, Directive, Optional, Self } from '@angular/core';
7
- import { NgIf, NgFor, AsyncPipe, NgClass, NgStyle } from '@angular/common';
8
- import * as i3$1 from '@angular/material/core';
9
- import { MatOptionModule, MatNativeDateModule } from '@angular/material/core';
6
+ import { inject, ChangeDetectorRef, EventEmitter, Output, Input, ChangeDetectionStrategy, Component, NgModule, ViewChild, Renderer2, ElementRef, HostListener, Directive } from '@angular/core';
7
+ import { AsyncPipe, NgClass, NgStyle } from '@angular/common';
8
+ import { MatOptionModule, ErrorStateMatcher, DateAdapter, MatNativeDateModule } from '@angular/material/core';
10
9
  import * as i1 from '@angular/material/form-field';
11
10
  import { MatFormFieldModule, MatFormFieldControl } from '@angular/material/form-field';
12
11
  import * as i2 from '@angular/material/select';
13
12
  import { MatSelectModule } from '@angular/material/select';
14
- import * as i2$2 from '@angular/cdk/a11y';
13
+ import { FocusMonitor } from '@angular/cdk/a11y';
15
14
  import * as i1$2 from '@angular/forms';
16
- import { UntypedFormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';
15
+ import { UntypedFormBuilder, NgControl, NgForm, FormControlName, UntypedFormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';
17
16
  import { provideMomentDateAdapter } from '@angular/material-moment-adapter';
18
- import * as i4 from '@angular/material/autocomplete';
17
+ import * as i2$1 from '@angular/material/autocomplete';
19
18
  import { MatAutocompleteModule } from '@angular/material/autocomplete';
20
- import * as i6 from '@angular/material/button';
19
+ import * as i4 from '@angular/material/button';
21
20
  import { MatButtonModule } from '@angular/material/button';
22
- import * as i7 from '@angular/material/checkbox';
21
+ import * as i5 from '@angular/material/checkbox';
23
22
  import { MatCheckboxModule } from '@angular/material/checkbox';
24
- import * as i8 from '@angular/material/datepicker';
23
+ import * as i6 from '@angular/material/datepicker';
25
24
  import { MatDatepickerModule } from '@angular/material/datepicker';
26
- import * as i10 from '@angular/material/icon';
25
+ import * as i8 from '@angular/material/icon';
27
26
  import { MatIconModule } from '@angular/material/icon';
28
- import * as i11 from '@angular/material/input';
27
+ import * as i9 from '@angular/material/input';
29
28
  import { MatInputModule } from '@angular/material/input';
30
- import * as i3 from '@angular/material/paginator';
29
+ import * as i1$1 from '@angular/material/paginator';
31
30
  import { MatPaginatorModule, MatPaginator } from '@angular/material/paginator';
32
- import * as i12 from '@angular/material/sort';
31
+ import * as i10 from '@angular/material/sort';
33
32
  import { MatSortModule } from '@angular/material/sort';
34
- import * as i13 from '@angular/material/table';
33
+ import * as i11 from '@angular/material/table';
35
34
  import { MatTableDataSource, MatTableModule } from '@angular/material/table';
36
- import * as i14 from '@angular/material/tooltip';
35
+ import * as i12 from '@angular/material/tooltip';
37
36
  import { MatTooltipModule } from '@angular/material/tooltip';
38
37
  import { SanitizeHtmlPipe } from '@igo2/common/custom-html';
39
38
  import { ImageErrorDirective, SecureImagePipe } from '@igo2/common/image';
40
39
  import { StopPropagationDirective } from '@igo2/common/stop-propagation';
41
- import * as i1$1 from '@igo2/core/language';
42
- import { IgoLanguageModule } from '@igo2/core/language';
40
+ import { LanguageService, IgoLanguageModule } from '@igo2/core/language';
43
41
  import moment from 'moment';
44
- import * as i2$1 from '@igo2/core/media';
42
+ import { MediaService } from '@igo2/core/media';
45
43
  import scrollIntoView from 'scroll-into-view-if-needed';
46
- import * as i15 from '@ngx-translate/core';
44
+ import * as i13 from '@ngx-translate/core';
47
45
 
48
46
  var EntityOperationType;
49
47
  (function (EntityOperationType) {
@@ -1679,7 +1677,7 @@ class EntityStoreFilterSelectionStrategy extends EntityStoreStrategy {
1679
1677
  }
1680
1678
 
1681
1679
  class EntitySelectorComponent {
1682
- cdRef;
1680
+ cdRef = inject(ChangeDetectorRef);
1683
1681
  /**
1684
1682
  * The selected entity
1685
1683
  * @internal
@@ -1736,9 +1734,6 @@ class EntitySelectorComponent {
1736
1734
  * Event emitted when the selection changes
1737
1735
  */
1738
1736
  selectedChange = new EventEmitter();
1739
- constructor(cdRef) {
1740
- this.cdRef = cdRef;
1741
- }
1742
1737
  /**
1743
1738
  * Create a store watcher and subscribe to the selected entity
1744
1739
  * @internal
@@ -1806,20 +1801,13 @@ class EntitySelectorComponent {
1806
1801
  this.multiText$.next(this.multiAllText);
1807
1802
  }
1808
1803
  }
1809
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: EntitySelectorComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
1810
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: EntitySelectorComponent, isStandalone: true, selector: "igo-entity-selector", inputs: { store: "store", titleAccessor: "titleAccessor", emptyText: "emptyText", multi: "multi", multiAllText: "multiAllText", multiNoneText: "multiNoneText", placeholder: "placeholder", disabled: "disabled" }, outputs: { selectedChange: "selectedChange" }, ngImport: i0, template: "<mat-form-field class=\"igo-entity-selector\" subscriptSizing=\"dynamic\">\n <mat-select\n [disabled]=\"disabled\"\n [value]=\"selected$ | async\"\n [multiple]=\"multi\"\n [placeholder]=\"placeholder\"\n (selectionChange)=\"onSelectionChange($event)\"\n >\n <mat-option\n *ngIf=\"emptyText !== undefined && multi === false\"\n [value]=\"emptyValue\"\n >{{ emptyText }}</mat-option\n >\n <mat-option *ngIf=\"multi === true\" [value]=\"multiSelectValue\">{{\n multiText$ | async\n }}</mat-option>\n <ng-template ngFor let-record [ngForOf]=\"store.stateView.all$() | async\">\n <mat-option [value]=\"record.entity\">\n {{ titleAccessor(record.entity) }}\n </mat-option>\n </ng-template>\n </mat-select>\n</mat-form-field>\n", styles: ["mat-form-field{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i2.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i2.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1804
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: EntitySelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1805
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.4", type: EntitySelectorComponent, isStandalone: true, selector: "igo-entity-selector", inputs: { store: "store", titleAccessor: "titleAccessor", emptyText: "emptyText", multi: "multi", multiAllText: "multiAllText", multiNoneText: "multiNoneText", placeholder: "placeholder", disabled: "disabled" }, outputs: { selectedChange: "selectedChange" }, ngImport: i0, template: "<mat-form-field class=\"igo-entity-selector\" subscriptSizing=\"dynamic\">\n <mat-select\n [disabled]=\"disabled\"\n [value]=\"selected$ | async\"\n [multiple]=\"multi\"\n [placeholder]=\"placeholder\"\n (selectionChange)=\"onSelectionChange($event)\"\n >\n @if (emptyText !== undefined && multi === false) {\n <mat-option [value]=\"emptyValue\">{{ emptyText }}</mat-option>\n }\n @if (multi === true) {\n <mat-option [value]=\"multiSelectValue\">{{\n multiText$ | async\n }}</mat-option>\n }\n @for (record of store.stateView.all$() | async; track record) {\n <mat-option [value]=\"record.entity\">\n {{ titleAccessor(record.entity) }}\n </mat-option>\n }\n </mat-select>\n</mat-form-field>\n", styles: [":host{--mat-form-field-container-height: 48px;--mat-form-field-container-vertical-padding: 12px}mat-form-field{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i2.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i2.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1811
1806
  }
1812
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: EntitySelectorComponent, decorators: [{
1807
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: EntitySelectorComponent, decorators: [{
1813
1808
  type: Component,
1814
- args: [{ selector: 'igo-entity-selector', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
1815
- MatFormFieldModule,
1816
- MatSelectModule,
1817
- NgIf,
1818
- MatOptionModule,
1819
- NgFor,
1820
- AsyncPipe
1821
- ], template: "<mat-form-field class=\"igo-entity-selector\" subscriptSizing=\"dynamic\">\n <mat-select\n [disabled]=\"disabled\"\n [value]=\"selected$ | async\"\n [multiple]=\"multi\"\n [placeholder]=\"placeholder\"\n (selectionChange)=\"onSelectionChange($event)\"\n >\n <mat-option\n *ngIf=\"emptyText !== undefined && multi === false\"\n [value]=\"emptyValue\"\n >{{ emptyText }}</mat-option\n >\n <mat-option *ngIf=\"multi === true\" [value]=\"multiSelectValue\">{{\n multiText$ | async\n }}</mat-option>\n <ng-template ngFor let-record [ngForOf]=\"store.stateView.all$() | async\">\n <mat-option [value]=\"record.entity\">\n {{ titleAccessor(record.entity) }}\n </mat-option>\n </ng-template>\n </mat-select>\n</mat-form-field>\n", styles: ["mat-form-field{width:100%}\n"] }]
1822
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { store: [{
1809
+ args: [{ selector: 'igo-entity-selector', changeDetection: ChangeDetectionStrategy.OnPush, imports: [MatFormFieldModule, MatSelectModule, MatOptionModule, AsyncPipe], template: "<mat-form-field class=\"igo-entity-selector\" subscriptSizing=\"dynamic\">\n <mat-select\n [disabled]=\"disabled\"\n [value]=\"selected$ | async\"\n [multiple]=\"multi\"\n [placeholder]=\"placeholder\"\n (selectionChange)=\"onSelectionChange($event)\"\n >\n @if (emptyText !== undefined && multi === false) {\n <mat-option [value]=\"emptyValue\">{{ emptyText }}</mat-option>\n }\n @if (multi === true) {\n <mat-option [value]=\"multiSelectValue\">{{\n multiText$ | async\n }}</mat-option>\n }\n @for (record of store.stateView.all$() | async; track record) {\n <mat-option [value]=\"record.entity\">\n {{ titleAccessor(record.entity) }}\n </mat-option>\n }\n </mat-select>\n</mat-form-field>\n", styles: [":host{--mat-form-field-container-height: 48px;--mat-form-field-container-vertical-padding: 12px}mat-form-field{width:100%}\n"] }]
1810
+ }], propDecorators: { store: [{
1823
1811
  type: Input
1824
1812
  }], titleAccessor: [{
1825
1813
  type: Input
@@ -1843,11 +1831,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
1843
1831
  * @deprecated import the EntitySelectorComponent directly
1844
1832
  */
1845
1833
  class IgoEntitySelectorModule {
1846
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: IgoEntitySelectorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1847
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.15", ngImport: i0, type: IgoEntitySelectorModule, imports: [EntitySelectorComponent], exports: [EntitySelectorComponent] });
1848
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: IgoEntitySelectorModule, imports: [EntitySelectorComponent] });
1834
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: IgoEntitySelectorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1835
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.4", ngImport: i0, type: IgoEntitySelectorModule, imports: [EntitySelectorComponent], exports: [EntitySelectorComponent] });
1836
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: IgoEntitySelectorModule, imports: [EntitySelectorComponent] });
1849
1837
  }
1850
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: IgoEntitySelectorModule, decorators: [{
1838
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: IgoEntitySelectorModule, decorators: [{
1851
1839
  type: NgModule,
1852
1840
  args: [{
1853
1841
  imports: [EntitySelectorComponent],
@@ -1856,8 +1844,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
1856
1844
  }] });
1857
1845
 
1858
1846
  class EntityTablePaginatorComponent {
1859
- languageService;
1860
- mediaService;
1847
+ languageService = inject(LanguageService);
1848
+ mediaService = inject(MediaService);
1861
1849
  disabled = false;
1862
1850
  hidePageSize = false;
1863
1851
  pageIndex = 0;
@@ -1885,10 +1873,6 @@ class EntityTablePaginatorComponent {
1885
1873
  * Paginator emitted.
1886
1874
  */
1887
1875
  paginatorChange = new EventEmitter();
1888
- constructor(languageService, mediaService) {
1889
- this.languageService = languageService;
1890
- this.mediaService = mediaService;
1891
- }
1892
1876
  paginator;
1893
1877
  ngOnChanges() {
1894
1878
  this.unsubscribeAll();
@@ -1982,13 +1966,13 @@ class EntityTablePaginatorComponent {
1982
1966
  emitPaginator() {
1983
1967
  this.paginatorChange.emit(this.paginator);
1984
1968
  }
1985
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: EntityTablePaginatorComponent, deps: [{ token: i1$1.LanguageService }, { token: i2$1.MediaService }], target: i0.ɵɵFactoryTarget.Component });
1986
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: EntityTablePaginatorComponent, isStandalone: true, selector: "igo-entity-table-paginator", inputs: { entitySortChange$: "entitySortChange$", store: "store", paginatorOptions: "paginatorOptions" }, outputs: { page: "page", paginatorChange: "paginatorChange" }, viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<mat-paginator\n [disabled]=\"disabled\"\n [hidePageSize]=\"hidePageSize\"\n [length]=\"length\"\n [pageIndex]=\"pageIndex\"\n [pageSize]=\"pageSize\"\n [pageSizeOptions]=\"pageSizeOptions\"\n [showFirstLastButtons]=\"showFirstLastButtons\"\n (page)=\"emitPaginator()\"\n>\n</mat-paginator>\n", styles: [":host ::ng-deep .mat-mdc-paginator-container{min-height:unset}\n"], dependencies: [{ kind: "ngmodule", type: MatPaginatorModule }, { kind: "component", type: i3.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1969
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: EntityTablePaginatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1970
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.4", type: EntityTablePaginatorComponent, isStandalone: true, selector: "igo-entity-table-paginator", inputs: { entitySortChange$: "entitySortChange$", store: "store", paginatorOptions: "paginatorOptions" }, outputs: { page: "page", paginatorChange: "paginatorChange" }, viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<mat-paginator\n [disabled]=\"disabled\"\n [hidePageSize]=\"hidePageSize\"\n [length]=\"length\"\n [pageIndex]=\"pageIndex\"\n [pageSize]=\"pageSize\"\n [pageSizeOptions]=\"pageSizeOptions\"\n [showFirstLastButtons]=\"showFirstLastButtons\"\n (page)=\"emitPaginator()\"\n>\n</mat-paginator>\n", styles: [":host ::ng-deep .mat-mdc-paginator-container{min-height:unset}\n"], dependencies: [{ kind: "ngmodule", type: MatPaginatorModule }, { kind: "component", type: i1$1.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1987
1971
  }
1988
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: EntityTablePaginatorComponent, decorators: [{
1972
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: EntityTablePaginatorComponent, decorators: [{
1989
1973
  type: Component,
1990
1974
  args: [{ selector: 'igo-entity-table-paginator', changeDetection: ChangeDetectionStrategy.OnPush, imports: [MatPaginatorModule], template: "<mat-paginator\n [disabled]=\"disabled\"\n [hidePageSize]=\"hidePageSize\"\n [length]=\"length\"\n [pageIndex]=\"pageIndex\"\n [pageSize]=\"pageSize\"\n [pageSizeOptions]=\"pageSizeOptions\"\n [showFirstLastButtons]=\"showFirstLastButtons\"\n (page)=\"emitPaginator()\"\n>\n</mat-paginator>\n", styles: [":host ::ng-deep .mat-mdc-paginator-container{min-height:unset}\n"] }]
1991
- }], ctorParameters: () => [{ type: i1$1.LanguageService }, { type: i2$1.MediaService }], propDecorators: { entitySortChange$: [{
1975
+ }], propDecorators: { entitySortChange$: [{
1992
1976
  type: Input
1993
1977
  }], store: [{
1994
1978
  type: Input
@@ -2007,8 +1991,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
2007
1991
  * Directive that handles an entity table row click and selection.
2008
1992
  */
2009
1993
  class EntityTableRowDirective {
2010
- renderer;
2011
- el;
1994
+ renderer = inject(Renderer2);
1995
+ el = inject(ElementRef);
2012
1996
  /**
2013
1997
  * Class added to a selected row
2014
1998
  */
@@ -2065,10 +2049,6 @@ class EntityTableRowDirective {
2065
2049
  this.toggleSelected(true);
2066
2050
  this.select.emit(this);
2067
2051
  }
2068
- constructor(renderer, el) {
2069
- this.renderer = renderer;
2070
- this.el = el;
2071
- }
2072
2052
  /**
2073
2053
  * Select a row and add or remove the selected class from it
2074
2054
  * @param selected Whether the row should be selected
@@ -2111,16 +2091,16 @@ class EntityTableRowDirective {
2111
2091
  removeCls(cls) {
2112
2092
  this.renderer.removeClass(this.el.nativeElement, cls);
2113
2093
  }
2114
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: EntityTableRowDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
2115
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: EntityTableRowDirective, isStandalone: true, selector: "[igoEntityTableRow]", inputs: { selection: "selection", selectOnClick: "selectOnClick", highlightSelection: "highlightSelection", selected: "selected", scrollBehavior: "scrollBehavior" }, outputs: { select: "select" }, host: { listeners: { "click": "onClick()" } }, ngImport: i0 });
2094
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: EntityTableRowDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
2095
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.4", type: EntityTableRowDirective, isStandalone: true, selector: "[igoEntityTableRow]", inputs: { selection: "selection", selectOnClick: "selectOnClick", highlightSelection: "highlightSelection", selected: "selected", scrollBehavior: "scrollBehavior" }, outputs: { select: "select" }, host: { listeners: { "click": "onClick()" } }, ngImport: i0 });
2116
2096
  }
2117
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: EntityTableRowDirective, decorators: [{
2097
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: EntityTableRowDirective, decorators: [{
2118
2098
  type: Directive,
2119
2099
  args: [{
2120
2100
  selector: '[igoEntityTableRow]',
2121
2101
  standalone: true
2122
2102
  }]
2123
- }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }], propDecorators: { selection: [{
2103
+ }], propDecorators: { selection: [{
2124
2104
  type: Input
2125
2105
  }], selectOnClick: [{
2126
2106
  type: Input
@@ -2138,15 +2118,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
2138
2118
  }] } });
2139
2119
 
2140
2120
  class EntityTableComponent {
2141
- cdRef;
2142
- formBuilder;
2143
- _focusMonitor;
2144
- _elementRef;
2145
- ngControl;
2146
- _parentForm;
2147
- _controlName;
2148
- _defaultErrorStateMatcher;
2149
- dateAdapter;
2121
+ cdRef = inject(ChangeDetectorRef);
2122
+ formBuilder = inject(UntypedFormBuilder);
2123
+ _focusMonitor = inject(FocusMonitor);
2124
+ _elementRef = inject(ElementRef);
2125
+ ngControl = inject(NgControl, { optional: true, self: true });
2126
+ _parentForm = inject(NgForm, { optional: true });
2127
+ _controlName = inject(FormControlName, { optional: true });
2128
+ _defaultErrorStateMatcher = inject(ErrorStateMatcher);
2129
+ dateAdapter = inject(DateAdapter);
2150
2130
  entitySortChange$ = new BehaviorSubject(false);
2151
2131
  formGroup = new UntypedFormGroup({});
2152
2132
  filteredOptions = {};
@@ -2277,16 +2257,7 @@ class EntityTableComponent {
2277
2257
  get tableHeight() {
2278
2258
  return this.template.tableHeight ? this.template.tableHeight : 'auto';
2279
2259
  }
2280
- constructor(cdRef, formBuilder, _focusMonitor, _elementRef, ngControl, _parentForm, _controlName, _defaultErrorStateMatcher, dateAdapter) {
2281
- this.cdRef = cdRef;
2282
- this.formBuilder = formBuilder;
2283
- this._focusMonitor = _focusMonitor;
2284
- this._elementRef = _elementRef;
2285
- this.ngControl = ngControl;
2286
- this._parentForm = _parentForm;
2287
- this._controlName = _controlName;
2288
- this._defaultErrorStateMatcher = _defaultErrorStateMatcher;
2289
- this.dateAdapter = dateAdapter;
2260
+ constructor() {
2290
2261
  this.dateAdapter.setLocale('fr-CA');
2291
2262
  }
2292
2263
  /**
@@ -2904,14 +2875,14 @@ class EntityTableComponent {
2904
2875
  }
2905
2876
  return column;
2906
2877
  }
2907
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: EntityTableComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1$2.UntypedFormBuilder }, { token: i2$2.FocusMonitor }, { token: i0.ElementRef }, { token: i1$2.NgControl, optional: true, self: true }, { token: i1$2.NgForm, optional: true }, { token: i1$2.FormControlName, optional: true }, { token: i3$1.ErrorStateMatcher }, { token: i3$1.DateAdapter }], target: i0.ɵɵFactoryTarget.Component });
2908
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: EntityTableComponent, isStandalone: true, selector: "igo-entity-table", inputs: { store: "store", paginator: "paginator", template: "template", scrollBehavior: "scrollBehavior", sortNullsFirst: "sortNullsFirst", withPaginator: "withPaginator", paginatorOptions: "paginatorOptions" }, outputs: { entityClick: "entityClick", entitySelectChange: "entitySelectChange", entitySortChange: "entitySortChange" }, providers: [
2878
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: EntityTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2879
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.4", type: EntityTableComponent, isStandalone: true, selector: "igo-entity-table", inputs: { store: "store", paginator: "paginator", template: "template", scrollBehavior: "scrollBehavior", sortNullsFirst: "sortNullsFirst", withPaginator: "withPaginator", paginatorOptions: "paginatorOptions" }, outputs: { entityClick: "entityClick", entitySelectChange: "entitySelectChange", entitySortChange: "entitySortChange" }, providers: [
2909
2880
  { provide: MatFormFieldControl, useExisting: EntityTableComponent },
2910
2881
  provideMomentDateAdapter()
2911
- ], usesOnChanges: true, ngImport: i0, template: "<div class=\"table-container\" [ngStyle]=\"{ height: tableHeight }\">\n <table\n id=\"currentWorkspaceTable\"\n mat-table\n matSort\n [ngClass]=\"getTableClass()\"\n [dataSource]=\"dataSource\"\n [trackBy]=\"getTrackByFunction()\"\n (matSortChange)=\"onSort($event)\"\n >\n <ng-container matColumnDef=\"selectionCheckbox\" class=\"mat-cell-checkbox\">\n <th mat-header-cell *matHeaderCellDef>\n <ng-container *ngIf=\"selectMany\">\n <ng-container *ngIf=\"selectionState$ | async as selectionState\">\n <mat-checkbox\n (change)=\"onToggleRows($event.checked)\"\n [checked]=\"selectionState === entityTableSelectionState.All\"\n [indeterminate]=\"\n selectionState === entityTableSelectionState.Some\n \"\n >\n </mat-checkbox>\n </ng-container>\n </ng-container>\n </th>\n <td mat-cell *matCellDef=\"let row\">\n <mat-checkbox\n (mousedown)=\"$event.shiftKey ? $event.preventDefault() : null\"\n (click)=\"\n $event.shiftKey\n ? onShiftToggleRow(!rowIsSelected(row.record), row.record, $event)\n : $event.stopPropagation()\n \"\n (change)=\"onToggleRow($event.checked, row.record)\"\n [checked]=\"rowIsSelected(row.record)\"\n >\n </mat-checkbox>\n </td>\n </ng-container>\n\n <ng-container\n [matColumnDef]=\"column.name\"\n *ngFor=\"let column of template.columns\"\n >\n <ng-container *ngIf=\"columnIsSortable(column)\">\n <th\n mat-header-cell\n *matHeaderCellDef\n mat-sort-header\n [matTooltip]=\"column.tooltip ? column.tooltip : undefined\"\n >\n {{ column.title }}\n </th>\n </ng-container>\n\n <ng-container *ngIf=\"!columnIsSortable(column)\">\n <th\n mat-header-cell\n *matHeaderCellDef\n [matTooltip]=\"column.tooltip ? column.tooltip : undefined\"\n >\n {{ column.title }}\n </th>\n </ng-container>\n\n <ng-container *ngIf=\"getColumnRenderer(column) as columnRenderer\">\n <ng-container\n *ngIf=\"columnRenderer === entityTableColumnRenderer.Default\"\n >\n <ng-container *matCellDef=\"let row\">\n <td\n mat-cell\n class=\"mat-cell-text\"\n *ngIf=\"!row.cellData[column.name].isUrl; else isAnUrlDefault\"\n [ngClass]=\"row.cellData[column.name].class\"\n >\n {{ row.cellData[column.name].value }}\n </td>\n <ng-template #isAnUrlDefault>\n <td\n mat-cell\n class=\"mat-cell-text\"\n [ngClass]=\"row.cellData[column.name].class\"\n >\n <a\n href=\"{{ row.cellData[column.name].value }}\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n (click)=\"$event.stopPropagation()\"\n >\n <img\n igoImageError\n *ngIf=\"row.cellData[column.name].isImg; else notImg\"\n src=\"{{\n row.cellData[column.name].value | secureImage | async\n }}\"\n width=\"50\"\n heigth=\"auto\"\n />\n <ng-template #notImg\n ><span\n >{{ 'igo.common.entity-table.targetHtmlUrl' | translate }}\n </span></ng-template\n >\n </a>\n </td>\n </ng-template>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"columnRenderer === entityTableColumnRenderer.HTML\">\n <ng-container *matCellDef=\"let row\">\n <td\n mat-cell\n class=\"mat-cell-text\"\n *ngIf=\"!row.cellData[column.name].isUrl; else isAnUrlHTML\"\n [ngClass]=\"row.cellData[column.name].class\"\n [innerHTML]=\"row.cellData[column.name].value\"\n ></td>\n <ng-template #isAnUrlHTML>\n <td\n mat-cell\n class=\"mat-cell-text\"\n [ngClass]=\"row.cellData[column.name].class\"\n >\n <a\n href=\"{{ row.cellData[column.name].value }}\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n (click)=\"$event.stopPropagation()\"\n >\n <img\n igoImageError\n *ngIf=\"row.cellData[column.name].isImg; else notImg\"\n src=\"{{\n row.cellData[column.name].value | secureImage | async\n }}\"\n width=\"50\"\n heigth=\"auto\"\n />\n <ng-template #notImg\n ><span\n >{{ 'igo.geo.targetHtmlUrl' | translate }}\n </span></ng-template\n >\n </a>\n </td>\n </ng-template>\n </ng-container>\n </ng-container>\n <ng-container\n *ngIf=\"columnRenderer === entityTableColumnRenderer.UnsanitizedHTML\"\n >\n <ng-container *matCellDef=\"let row\">\n <td\n mat-cell\n class=\"mat-cell-text edition\"\n [formGroup]=\"formGroup\"\n *ngIf=\"isEdition(row.record); else isUnsanitizedHTML\"\n [ngClass]=\"row.cellData[column.name].class\"\n >\n <div class=\"date-picker\" *ngIf=\"column.type === 'date'\">\n <mat-datepicker-toggle\n matSuffix\n [for]=\"picker\"\n ></mat-datepicker-toggle>\n <input\n matInput\n [matDatepicker]=\"picker\"\n [formControlName]=\"column.name\"\n value=\"{{ row.cellData[column.name].value }}\"\n (dateChange)=\"onDateChange(column.name, row.record, $event)\"\n />\n <mat-datepicker #picker></mat-datepicker>\n </div>\n <input\n matInput\n type=\"time\"\n *ngIf=\"column.type === 'time'\"\n [formControlName]=\"column.name\"\n step=\"900\"\n (focus)=\"column.onFocus($event)\"\n (keypress)=\"column.onChange($event)\"\n (blur)=\"column.onBlur($event)\"\n />\n <input\n matInput\n type=\"number\"\n class=\"class_number_edition\"\n *ngIf=\"column.type === 'number'\"\n [formControlName]=\"column.name\"\n step=\"{{ column.step }}\"\n value=\"{{ row.cellData[column.name].value }}\"\n (input)=\"onValueChange(column.name, row.record, $event)\"\n readonly=\"{{ getValidationAttributeValue(column, 'readonly') }}\"\n required=\"{{\n getValidationAttributeValue(column, 'mandatory')\n }}\"\n min=\"{{ getValidationAttributeValue(column, 'minValue') }}\"\n max=\"{{ getValidationAttributeValue(column, 'maxValue') }}\"\n />\n <input\n matInput\n type=\"text\"\n *ngIf=\"!column.type || column.type === 'string'\"\n [formControlName]=\"column.name\"\n value=\"{{ row.cellData[column.name].value }}\"\n (input)=\"onValueChange(column.name, row.record, $event)\"\n readonly=\"{{ getValidationAttributeValue(column, 'readonly') }}\"\n required=\"{{\n getValidationAttributeValue(column, 'mandatory')\n }}\"\n />\n <mat-checkbox\n *ngIf=\"column.type === 'boolean'\"\n [formControlName]=\"column.name\"\n [checked]=\"row.cellData[column.name].value\"\n (change)=\"onBooleanValueChange(column.name, row.record, $event)\"\n ></mat-checkbox>\n <mat-select\n *ngIf=\"column.type === 'list'\"\n required=\"{{\n getValidationAttributeValue(column, 'mandatory')\n }}\"\n [formControlName]=\"column.name\"\n [multiple]=\"column.multiple\"\n (selectionChange)=\"\n onSelectValueChange(column.name, row.record, $event)\n \"\n [value]=\"row.cellData[column.name].value\"\n >\n <mat-option\n *ngFor=\"let option of column.domainValues\"\n [value]=\"option.id\"\n [disabled]=\"option.disabled\"\n >\n {{ option.value }}\n </mat-option>\n </mat-select>\n <input\n matInput\n type=\"text\"\n [formControlName]=\"column.name\"\n *ngIf=\"column.type === 'autocomplete'\"\n [matAutocomplete]=\"auto\"\n required=\"{{\n getValidationAttributeValue(column, 'mandatory')\n }}\"\n value=\"{{ row.cellData[column.name].value }}\"\n readonly=\"{{ getValidationAttributeValue(column, 'readonly') }}\"\n />\n <mat-autocomplete\n #auto=\"matAutocomplete\"\n (optionSelected)=\"\n onAutocompleteValueChange(column, row.record, $event)\n \"\n panelWidth=\"430px\"\n >\n <mat-option\n *ngFor=\"let option of filteredOptions[column.name] | async\"\n [value]=\"option.id\"\n >\n {{ option.value }}\n </mat-option>\n </mat-autocomplete>\n </td>\n <ng-template #isUnsanitizedHTML>\n <td\n mat-cell\n class=\"mat-cell-text\"\n *ngIf=\"\n !row.cellData[column.name].isUrl;\n else isAnUrlUnsanitizedHTML\n \"\n [ngClass]=\"row.cellData[column.name].class\"\n [innerHTML]=\"row.cellData[column.name].value | sanitizeHtml\"\n ></td>\n <ng-template #isAnUrlUnsanitizedHTML>\n <td\n mat-cell\n class=\"mat-cell-text\"\n [ngClass]=\"row.cellData[column.name].class\"\n >\n <a\n href=\"{{ row.cellData[column.name].value }}\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n (click)=\"$event.stopPropagation()\"\n >\n <img\n igoImageError\n *ngIf=\"row.cellData[column.name].isImg; else notImg\"\n src=\"{{\n row.cellData[column.name].value | secureImage | async\n }}\"\n width=\"50\"\n heigth=\"auto\"\n />\n <ng-template #notImg\n ><span\n >{{ 'igo.geo.targetHtmlUrl' | translate }}\n </span></ng-template\n >\n </a>\n </td>\n </ng-template>\n </ng-template>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"columnRenderer === entityTableColumnRenderer.Icon\">\n <td\n mat-cell\n *matCellDef=\"let row\"\n class=\"mat-cell-text\"\n [ngClass]=\"row.cellData[column.name].class\"\n >\n <mat-icon *ngIf=\"column.onClick\" (click)=\"column.onClick($event)\">{{\n row.cellData[column.name].value || column.icon\n }}</mat-icon>\n <mat-icon *ngIf=\"!column.onClick\">{{\n row.cellData[column.name].value || column.icon\n }}</mat-icon>\n </td>\n </ng-container>\n <ng-container\n *ngIf=\"columnRenderer === entityTableColumnRenderer.ButtonGroup\"\n >\n <ng-container *matCellDef=\"let row\">\n <td\n mat-cell\n class=\"mat-cell-text\"\n [ngClass]=\"row.cellData[column.name].class\"\n >\n <span *ngFor=\"let button of row.cellData[column.name].value\">\n <ng-container\n *ngIf=\"\n isEdition(row.record) === button.editMode ||\n button.editMode === undefined\n \"\n >\n <button\n *ngIf=\"button.style === 'mat-icon-button'\"\n igoStopPropagation\n mat-icon-button\n [color]=\"button.color\"\n (mousedown)=\"onButtonClick(button.click, row.record)\"\n [disabled]=\"button.disabled\"\n >\n <mat-icon>{{ button.icon }}</mat-icon>\n </button>\n <button\n *ngIf=\"button.style !== 'mat-icon-button'\"\n igoStopPropagation\n mat-mini-fab\n [color]=\"button.color\"\n (mousedown)=\"onButtonClick(button.click, row.record)\"\n [disabled]=\"button.disabled\"\n >\n <mat-icon>{{ button.icon }}</mat-icon>\n </button>\n </ng-container>\n </span>\n </td>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n\n <tr\n mat-header-row\n *matHeaderRowDef=\"headers; sticky: fixedHeader\"\n [ngClass]=\"getHeaderClass()\"\n ></tr>\n <tr\n mat-row\n igoEntityTableRow\n *matRowDef=\"let row; columns: headers\"\n [scrollBehavior]=\"scrollBehavior\"\n [ngClass]=\"getRowClass(row.record)\"\n [selection]=\"selection\"\n [selected]=\"rowIsSelected(row.record)\"\n (select)=\"onRowSelect(row.record)\"\n (click)=\"onRowClick(row.record)\"\n ></tr>\n </table>\n <igo-entity-table-paginator\n *ngIf=\"withPaginator\"\n [store]=\"store\"\n [paginatorOptions]=\"paginatorOptions\"\n [entitySortChange$]=\"entitySortChange$\"\n (paginatorChange)=\"paginatorChange($event)\"\n >\n </igo-entity-table-paginator>\n</div>\n", styles: [":host{width:100%;height:100%;display:block}:host.table-compact tr.mat-mdc-header-row,:host.table-compact ::ng-deep mat-checkbox .mat-ripple{height:36px}:host.table-compact tr.mat-mdc-row,:host.table-compact ::ng-deep mat-checkbox .mat-ripple{height:28px}.table-container{display:flex;flex-direction:column;height:100%;overflow:auto;flex:1 1 auto}.mat-cell-text{overflow:hidden;word-wrap:break-word}table.igo-entity-table-with-selection tr:hover{-moz-box-shadow:2px 0px 2px 0px #dddddd;-webkit-box-shadow:2px 0px 2px 0px #dddddd;-o-box-shadow:2px 0px 2px 0px #dddddd;box-shadow:2px 0 2px #ddd;cursor:pointer}table button{margin:7px}.class_hidden{visibility:hidden}.class_display_none{display:none}.class_boolean,.class_icon,.class_number{text-align:center;padding-right:35px!important}.class_string,.class_text,.class_number_edition{text-align:left}td.edition{background:#a6a6a633}input{border-bottom:1px solid darkgrey}table.igo-entity-table-with-selection tr.igo-entity-table-row-highlighted{background-color:var(--mat-sys-primary-container);color:var(--mat-sys-on-primary-container)}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "component", type: EntityTablePaginatorComponent, selector: "igo-entity-table-paginator", inputs: ["entitySortChange$", "store", "paginatorOptions"], outputs: ["page", "paginatorChange"] }, { kind: "directive", type: EntityTableRowDirective, selector: "[igoEntityTableRow]", inputs: ["selection", "selectOnClick", "highlightSelection", "selected", "scrollBehavior"], outputs: ["select"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$2.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$2.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i1$2.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: ImageErrorDirective, selector: "[igoImageError]", inputs: ["errorImageUrl", "hideError"] }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i4.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i2.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i4.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i6.MatMiniFabButton, selector: "button[mat-mini-fab]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i7.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i8.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i8.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i8.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "directive", type: i1.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i11.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatNativeDateModule }, { kind: "ngmodule", type: // For the DateAdapter provider
2912
- MatOptionModule }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i2.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "ngmodule", type: MatSortModule }, { kind: "directive", type: i12.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i12.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "ngmodule", type: MatTableModule }, { kind: "component", type: i13.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i13.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i13.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i13.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i13.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i13.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i13.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i13.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i13.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i13.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i14.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "pipe", type: SanitizeHtmlPipe, name: "sanitizeHtml" }, { kind: "pipe", type: SecureImagePipe, name: "secureImage" }, { kind: "directive", type: StopPropagationDirective, selector: "[igoStopPropagation]" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i15.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2882
+ ], usesOnChanges: true, ngImport: i0, template: "<div class=\"table-container\" [ngStyle]=\"{ height: tableHeight }\">\n <table\n id=\"currentWorkspaceTable\"\n mat-table\n matSort\n [ngClass]=\"getTableClass()\"\n [dataSource]=\"dataSource\"\n [trackBy]=\"getTrackByFunction()\"\n (matSortChange)=\"onSort($event)\"\n >\n <ng-container matColumnDef=\"selectionCheckbox\" class=\"mat-cell-checkbox\">\n <th mat-header-cell *matHeaderCellDef>\n @if (selectMany) {\n @let selectionState = selectionState$ | async;\n @if (selectionState) {\n <mat-checkbox\n (change)=\"onToggleRows($event.checked)\"\n [checked]=\"selectionState === entityTableSelectionState.All\"\n [indeterminate]=\"\n selectionState === entityTableSelectionState.Some\n \"\n >\n </mat-checkbox>\n }\n }\n </th>\n <td mat-cell *matCellDef=\"let row\">\n <mat-checkbox\n (mousedown)=\"$event.shiftKey ? $event.preventDefault() : null\"\n (click)=\"\n $event.shiftKey\n ? onShiftToggleRow(!rowIsSelected(row.record), row.record, $event)\n : $event.stopPropagation()\n \"\n (change)=\"onToggleRow($event.checked, row.record)\"\n [checked]=\"rowIsSelected(row.record)\"\n >\n </mat-checkbox>\n </td>\n </ng-container>\n\n @for (column of template.columns; track column) {\n <ng-container [matColumnDef]=\"column.name\">\n @if (columnIsSortable(column)) {\n <th\n mat-header-cell\n *matHeaderCellDef\n mat-sort-header\n [matTooltip]=\"column.tooltip ? column.tooltip : undefined\"\n >\n {{ column.title }}\n </th>\n } @else {\n <th\n mat-header-cell\n *matHeaderCellDef\n [matTooltip]=\"column.tooltip ? column.tooltip : undefined\"\n >\n {{ column.title }}\n </th>\n }\n\n @let columnRenderer = getColumnRenderer(column);\n @if (columnRenderer) {\n @switch (columnRenderer) {\n @case (entityTableColumnRenderer.HTML) {\n <ng-container *matCellDef=\"let row\">\n @if (!row.cellData[column.name].isUrl) {\n <td\n mat-cell\n class=\"mat-cell-text\"\n [ngClass]=\"row.cellData[column.name].class\"\n [innerHTML]=\"row.cellData[column.name].value\"\n ></td>\n } @else {\n <td\n mat-cell\n class=\"mat-cell-text\"\n [ngClass]=\"row.cellData[column.name].class\"\n >\n <a\n href=\"{{ row.cellData[column.name].value }}\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n (click)=\"$event.stopPropagation()\"\n >\n @if (row.cellData[column.name].isImg) {\n <img\n igoImageError\n src=\"{{\n row.cellData[column.name].value\n | secureImage\n | async\n }}\"\n width=\"50\"\n heigth=\"auto\"\n />\n } @else {\n <span>{{ 'igo.geo.targetHtmlUrl' | translate }} </span>\n }\n >\n </a>\n </td>\n }\n </ng-container>\n }\n @case (entityTableColumnRenderer.UnsanitizedHTML) {\n <ng-container *matCellDef=\"let row\">\n @if (isEdition(row.record)) {\n <td\n mat-cell\n class=\"mat-cell-text edition\"\n [formGroup]=\"formGroup\"\n [ngClass]=\"row.cellData[column.name].class\"\n >\n @switch (column.type) {\n @case ('date') {\n <div class=\"date-picker\">\n <mat-datepicker-toggle\n matSuffix\n [for]=\"picker\"\n ></mat-datepicker-toggle>\n <input\n matInput\n [matDatepicker]=\"picker\"\n [formControlName]=\"column.name\"\n value=\"{{ row.cellData[column.name].value }}\"\n (dateChange)=\"\n onDateChange(column.name, row.record, $event)\n \"\n />\n <mat-datepicker #picker></mat-datepicker>\n </div>\n }\n @case ('time') {\n <input\n matInput\n type=\"time\"\n [formControlName]=\"column.name\"\n step=\"900\"\n (focus)=\"column.onFocus($event)\"\n (keypress)=\"column.onChange($event)\"\n (blur)=\"column.onBlur($event)\"\n />\n }\n @case ('number') {\n <input\n matInput\n type=\"number\"\n class=\"class_number_edition\"\n [formControlName]=\"column.name\"\n step=\"{{ column.step }}\"\n value=\"{{ row.cellData[column.name].value }}\"\n (input)=\"\n onValueChange(column.name, row.record, $event)\n \"\n readonly=\"{{\n getValidationAttributeValue(column, 'readonly')\n }}\"\n required=\"{{\n getValidationAttributeValue(column, 'mandatory')\n }}\"\n min=\"{{\n getValidationAttributeValue(column, 'minValue')\n }}\"\n max=\"{{\n getValidationAttributeValue(column, 'maxValue')\n }}\"\n />\n }\n @case ('boolean') {\n <mat-checkbox\n [formControlName]=\"column.name\"\n [checked]=\"row.cellData[column.name].value\"\n (change)=\"\n onBooleanValueChange(\n column.name,\n row.record,\n $event\n )\n \"\n ></mat-checkbox>\n }\n @case ('list') {\n <mat-select\n required=\"{{\n getValidationAttributeValue(column, 'mandatory')\n }}\"\n [formControlName]=\"column.name\"\n [multiple]=\"column.multiple\"\n (selectionChange)=\"\n onSelectValueChange(column.name, row.record, $event)\n \"\n [value]=\"row.cellData[column.name].value\"\n >\n <mat-option\n *ngFor=\"let option of column.domainValues\"\n [value]=\"option.id\"\n [disabled]=\"option.disabled\"\n >\n {{ option.value }}\n </mat-option>\n </mat-select>\n }\n @case ('autocomplete') {\n <input\n matInput\n type=\"text\"\n [formControlName]=\"column.name\"\n [matAutocomplete]=\"auto\"\n required=\"{{\n getValidationAttributeValue(column, 'mandatory')\n }}\"\n value=\"{{ row.cellData[column.name].value }}\"\n readonly=\"{{\n getValidationAttributeValue(column, 'readonly')\n }}\"\n />\n <mat-autocomplete\n #auto=\"matAutocomplete\"\n (optionSelected)=\"\n onAutocompleteValueChange(\n column,\n row.record,\n $event\n )\n \"\n panelWidth=\"430px\"\n >\n <mat-option\n *ngFor=\"\n let option of filteredOptions[column.name] | async\n \"\n [value]=\"option.id\"\n >\n {{ option.value }}\n </mat-option>\n </mat-autocomplete>\n }\n @default {\n <input\n matInput\n type=\"text\"\n [formControlName]=\"column.name\"\n value=\"{{ row.cellData[column.name].value }}\"\n (input)=\"\n onValueChange(column.name, row.record, $event)\n \"\n readonly=\"{{\n getValidationAttributeValue(column, 'readonly')\n }}\"\n required=\"{{\n getValidationAttributeValue(column, 'mandatory')\n }}\"\n />\n }\n }\n </td>\n } @else {\n @if (!row.cellData[column.name].isUrl) {\n <td\n mat-cell\n class=\"mat-cell-text\"\n [ngClass]=\"row.cellData[column.name].class\"\n [innerHTML]=\"\n row.cellData[column.name].value | sanitizeHtml\n \"\n ></td>\n } @else {\n <td\n mat-cell\n class=\"mat-cell-text\"\n [ngClass]=\"row.cellData[column.name].class\"\n >\n <a\n href=\"{{ row.cellData[column.name].value }}\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n (click)=\"$event.stopPropagation()\"\n >\n @if (row.cellData[column.name].isImg) {\n <img\n igoImageError\n src=\"{{\n row.cellData[column.name].value\n | secureImage\n | async\n }}\"\n width=\"50\"\n heigth=\"auto\"\n />\n } @else {\n ><span\n >{{ 'igo.geo.targetHtmlUrl' | translate }}\n </span>\n }\n >\n </a>\n </td>\n }\n }\n </ng-container>\n }\n @case (entityTableColumnRenderer.Icon) {\n <td\n mat-cell\n *matCellDef=\"let row\"\n class=\"mat-cell-text\"\n [ngClass]=\"row.cellData[column.name].class\"\n >\n @if (column.onClick) {\n <mat-icon (click)=\"column.onClick($event)\">{{\n row.cellData[column.name].value || column.icon\n }}</mat-icon>\n } @else {\n <mat-icon>{{\n row.cellData[column.name].value || column.icon\n }}</mat-icon>\n }\n </td>\n }\n @case (entityTableColumnRenderer.ButtonGroup) {\n <ng-container *matCellDef=\"let row\">\n <td\n mat-cell\n class=\"mat-cell-text\"\n [ngClass]=\"row.cellData[column.name].class\"\n >\n @for (\n button of row.cellData[column.name].value;\n track button\n ) {\n @if (\n isEdition(row.record) === button.editMode ||\n button.editMode === undefined\n ) {\n <span>\n @if (button.style === 'mat-icon-button') {\n <button\n igoStopPropagation\n mat-icon-button\n [color]=\"button.color\"\n (mousedown)=\"\n onButtonClick(button.click, row.record)\n \"\n [disabled]=\"button.disabled\"\n >\n <mat-icon>{{ button.icon }}</mat-icon>\n </button>\n } @else {\n <button\n igoStopPropagation\n mat-mini-fab\n [color]=\"button.color\"\n (mousedown)=\"\n onButtonClick(button.click, row.record)\n \"\n [disabled]=\"button.disabled\"\n >\n <mat-icon>{{ button.icon }}</mat-icon>\n </button>\n }\n </span>\n }\n }\n </td>\n </ng-container>\n }\n @default {\n <ng-container *matCellDef=\"let row\">\n @if (!row.cellData[column.name].isUrl) {\n <td\n mat-cell\n class=\"mat-cell-text\"\n [ngClass]=\"row.cellData[column.name].class\"\n >\n {{ row.cellData[column.name].value }}\n </td>\n } @else {\n <td\n mat-cell\n class=\"mat-cell-text\"\n [ngClass]=\"row.cellData[column.name].class\"\n >\n <a\n href=\"{{ row.cellData[column.name].value }}\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n (click)=\"$event.stopPropagation()\"\n >\n @if (row.cellData[column.name].isImg) {\n <img\n igoImageError\n src=\"{{\n row.cellData[column.name].value\n | secureImage\n | async\n }}\"\n width=\"50\"\n heigth=\"auto\"\n />\n } @else {\n <span>{{\n 'igo.common.entity-table.targetHtmlUrl' | translate\n }}</span>\n }\n >\n </a>\n </td>\n }\n </ng-container>\n }\n }\n }\n </ng-container>\n }\n\n <tr\n mat-header-row\n *matHeaderRowDef=\"headers; sticky: fixedHeader\"\n [ngClass]=\"getHeaderClass()\"\n ></tr>\n <tr\n mat-row\n igoEntityTableRow\n *matRowDef=\"let row; columns: headers\"\n [scrollBehavior]=\"scrollBehavior\"\n [ngClass]=\"getRowClass(row.record)\"\n [selection]=\"selection\"\n [selected]=\"rowIsSelected(row.record)\"\n (select)=\"onRowSelect(row.record)\"\n (click)=\"onRowClick(row.record)\"\n ></tr>\n </table>\n @if (withPaginator) {\n <igo-entity-table-paginator\n [store]=\"store\"\n [paginatorOptions]=\"paginatorOptions\"\n [entitySortChange$]=\"entitySortChange$\"\n (paginatorChange)=\"paginatorChange($event)\"\n >\n </igo-entity-table-paginator>\n }\n</div>\n", styles: [":host{width:100%;height:100%;display:block;--mat-table-header-container-height: 52px}:host.table-compact tr.mat-mdc-header-row,:host.table-compact ::ng-deep mat-checkbox .mat-ripple{height:36px}:host.table-compact tr.mat-mdc-row,:host.table-compact ::ng-deep mat-checkbox .mat-ripple{height:28px}.table-container{display:flex;flex-direction:column;height:100%;overflow:auto;flex:1 1 auto}.mat-cell-text{overflow:hidden;word-wrap:break-word}table.igo-entity-table-with-selection tr:hover{-moz-box-shadow:2px 0px 2px 0px #dddddd;-webkit-box-shadow:2px 0px 2px 0px #dddddd;-o-box-shadow:2px 0px 2px 0px #dddddd;box-shadow:2px 0 2px #ddd;cursor:pointer}table button{margin:7px}.class_hidden{visibility:hidden}.class_display_none{display:none}.class_boolean,.class_icon,.class_number{text-align:center;padding-right:35px!important}.class_string,.class_text,.class_number_edition{text-align:left}td.edition{background:#a6a6a633}input{border-bottom:1px solid darkgrey}table.igo-entity-table-with-selection tr.igo-entity-table-row-highlighted{background-color:var(--mat-sys-primary-container);color:var(--mat-sys-on-primary-container)}\n"], dependencies: [{ kind: "component", type: EntityTablePaginatorComponent, selector: "igo-entity-table-paginator", inputs: ["entitySortChange$", "store", "paginatorOptions"], outputs: ["page", "paginatorChange"] }, { kind: "directive", type: EntityTableRowDirective, selector: "[igoEntityTableRow]", inputs: ["selection", "selectOnClick", "highlightSelection", "selected", "scrollBehavior"], outputs: ["select"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$2.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$2.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i1$2.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: ImageErrorDirective, selector: "[igoImageError]", inputs: ["errorImageUrl", "hideError"] }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i2$1.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i2.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i2$1.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatMiniFabButton, selector: "button[mat-mini-fab], a[mat-mini-fab], button[matMiniFab], a[matMiniFab]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i5.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i6.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i6.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i6.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "directive", type: i1.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i9.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatNativeDateModule }, { kind: "ngmodule", type: // For the DateAdapter provider
2883
+ MatOptionModule }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i2.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "ngmodule", type: MatSortModule }, { kind: "directive", type: i10.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i10.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "ngmodule", type: MatTableModule }, { kind: "component", type: i11.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i11.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i11.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i11.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i11.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i11.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i11.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i11.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i11.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i11.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i12.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: StopPropagationDirective, selector: "[igoStopPropagation]" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: SanitizeHtmlPipe, name: "sanitizeHtml" }, { kind: "pipe", type: SecureImagePipe, name: "secureImage" }, { kind: "pipe", type: i13.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2913
2884
  }
2914
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: EntityTableComponent, decorators: [{
2885
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: EntityTableComponent, decorators: [{
2915
2886
  type: Component,
2916
2887
  args: [{ selector: 'igo-entity-table', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
2917
2888
  { provide: MatFormFieldControl, useExisting: EntityTableComponent },
@@ -2936,24 +2907,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
2936
2907
  MatTableModule,
2937
2908
  MatTooltipModule,
2938
2909
  NgClass,
2939
- NgFor,
2940
- NgIf,
2941
2910
  NgStyle,
2942
2911
  ReactiveFormsModule,
2943
2912
  SanitizeHtmlPipe,
2944
2913
  SecureImagePipe,
2945
2914
  StopPropagationDirective,
2946
2915
  IgoLanguageModule
2947
- ], template: "<div class=\"table-container\" [ngStyle]=\"{ height: tableHeight }\">\n <table\n id=\"currentWorkspaceTable\"\n mat-table\n matSort\n [ngClass]=\"getTableClass()\"\n [dataSource]=\"dataSource\"\n [trackBy]=\"getTrackByFunction()\"\n (matSortChange)=\"onSort($event)\"\n >\n <ng-container matColumnDef=\"selectionCheckbox\" class=\"mat-cell-checkbox\">\n <th mat-header-cell *matHeaderCellDef>\n <ng-container *ngIf=\"selectMany\">\n <ng-container *ngIf=\"selectionState$ | async as selectionState\">\n <mat-checkbox\n (change)=\"onToggleRows($event.checked)\"\n [checked]=\"selectionState === entityTableSelectionState.All\"\n [indeterminate]=\"\n selectionState === entityTableSelectionState.Some\n \"\n >\n </mat-checkbox>\n </ng-container>\n </ng-container>\n </th>\n <td mat-cell *matCellDef=\"let row\">\n <mat-checkbox\n (mousedown)=\"$event.shiftKey ? $event.preventDefault() : null\"\n (click)=\"\n $event.shiftKey\n ? onShiftToggleRow(!rowIsSelected(row.record), row.record, $event)\n : $event.stopPropagation()\n \"\n (change)=\"onToggleRow($event.checked, row.record)\"\n [checked]=\"rowIsSelected(row.record)\"\n >\n </mat-checkbox>\n </td>\n </ng-container>\n\n <ng-container\n [matColumnDef]=\"column.name\"\n *ngFor=\"let column of template.columns\"\n >\n <ng-container *ngIf=\"columnIsSortable(column)\">\n <th\n mat-header-cell\n *matHeaderCellDef\n mat-sort-header\n [matTooltip]=\"column.tooltip ? column.tooltip : undefined\"\n >\n {{ column.title }}\n </th>\n </ng-container>\n\n <ng-container *ngIf=\"!columnIsSortable(column)\">\n <th\n mat-header-cell\n *matHeaderCellDef\n [matTooltip]=\"column.tooltip ? column.tooltip : undefined\"\n >\n {{ column.title }}\n </th>\n </ng-container>\n\n <ng-container *ngIf=\"getColumnRenderer(column) as columnRenderer\">\n <ng-container\n *ngIf=\"columnRenderer === entityTableColumnRenderer.Default\"\n >\n <ng-container *matCellDef=\"let row\">\n <td\n mat-cell\n class=\"mat-cell-text\"\n *ngIf=\"!row.cellData[column.name].isUrl; else isAnUrlDefault\"\n [ngClass]=\"row.cellData[column.name].class\"\n >\n {{ row.cellData[column.name].value }}\n </td>\n <ng-template #isAnUrlDefault>\n <td\n mat-cell\n class=\"mat-cell-text\"\n [ngClass]=\"row.cellData[column.name].class\"\n >\n <a\n href=\"{{ row.cellData[column.name].value }}\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n (click)=\"$event.stopPropagation()\"\n >\n <img\n igoImageError\n *ngIf=\"row.cellData[column.name].isImg; else notImg\"\n src=\"{{\n row.cellData[column.name].value | secureImage | async\n }}\"\n width=\"50\"\n heigth=\"auto\"\n />\n <ng-template #notImg\n ><span\n >{{ 'igo.common.entity-table.targetHtmlUrl' | translate }}\n </span></ng-template\n >\n </a>\n </td>\n </ng-template>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"columnRenderer === entityTableColumnRenderer.HTML\">\n <ng-container *matCellDef=\"let row\">\n <td\n mat-cell\n class=\"mat-cell-text\"\n *ngIf=\"!row.cellData[column.name].isUrl; else isAnUrlHTML\"\n [ngClass]=\"row.cellData[column.name].class\"\n [innerHTML]=\"row.cellData[column.name].value\"\n ></td>\n <ng-template #isAnUrlHTML>\n <td\n mat-cell\n class=\"mat-cell-text\"\n [ngClass]=\"row.cellData[column.name].class\"\n >\n <a\n href=\"{{ row.cellData[column.name].value }}\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n (click)=\"$event.stopPropagation()\"\n >\n <img\n igoImageError\n *ngIf=\"row.cellData[column.name].isImg; else notImg\"\n src=\"{{\n row.cellData[column.name].value | secureImage | async\n }}\"\n width=\"50\"\n heigth=\"auto\"\n />\n <ng-template #notImg\n ><span\n >{{ 'igo.geo.targetHtmlUrl' | translate }}\n </span></ng-template\n >\n </a>\n </td>\n </ng-template>\n </ng-container>\n </ng-container>\n <ng-container\n *ngIf=\"columnRenderer === entityTableColumnRenderer.UnsanitizedHTML\"\n >\n <ng-container *matCellDef=\"let row\">\n <td\n mat-cell\n class=\"mat-cell-text edition\"\n [formGroup]=\"formGroup\"\n *ngIf=\"isEdition(row.record); else isUnsanitizedHTML\"\n [ngClass]=\"row.cellData[column.name].class\"\n >\n <div class=\"date-picker\" *ngIf=\"column.type === 'date'\">\n <mat-datepicker-toggle\n matSuffix\n [for]=\"picker\"\n ></mat-datepicker-toggle>\n <input\n matInput\n [matDatepicker]=\"picker\"\n [formControlName]=\"column.name\"\n value=\"{{ row.cellData[column.name].value }}\"\n (dateChange)=\"onDateChange(column.name, row.record, $event)\"\n />\n <mat-datepicker #picker></mat-datepicker>\n </div>\n <input\n matInput\n type=\"time\"\n *ngIf=\"column.type === 'time'\"\n [formControlName]=\"column.name\"\n step=\"900\"\n (focus)=\"column.onFocus($event)\"\n (keypress)=\"column.onChange($event)\"\n (blur)=\"column.onBlur($event)\"\n />\n <input\n matInput\n type=\"number\"\n class=\"class_number_edition\"\n *ngIf=\"column.type === 'number'\"\n [formControlName]=\"column.name\"\n step=\"{{ column.step }}\"\n value=\"{{ row.cellData[column.name].value }}\"\n (input)=\"onValueChange(column.name, row.record, $event)\"\n readonly=\"{{ getValidationAttributeValue(column, 'readonly') }}\"\n required=\"{{\n getValidationAttributeValue(column, 'mandatory')\n }}\"\n min=\"{{ getValidationAttributeValue(column, 'minValue') }}\"\n max=\"{{ getValidationAttributeValue(column, 'maxValue') }}\"\n />\n <input\n matInput\n type=\"text\"\n *ngIf=\"!column.type || column.type === 'string'\"\n [formControlName]=\"column.name\"\n value=\"{{ row.cellData[column.name].value }}\"\n (input)=\"onValueChange(column.name, row.record, $event)\"\n readonly=\"{{ getValidationAttributeValue(column, 'readonly') }}\"\n required=\"{{\n getValidationAttributeValue(column, 'mandatory')\n }}\"\n />\n <mat-checkbox\n *ngIf=\"column.type === 'boolean'\"\n [formControlName]=\"column.name\"\n [checked]=\"row.cellData[column.name].value\"\n (change)=\"onBooleanValueChange(column.name, row.record, $event)\"\n ></mat-checkbox>\n <mat-select\n *ngIf=\"column.type === 'list'\"\n required=\"{{\n getValidationAttributeValue(column, 'mandatory')\n }}\"\n [formControlName]=\"column.name\"\n [multiple]=\"column.multiple\"\n (selectionChange)=\"\n onSelectValueChange(column.name, row.record, $event)\n \"\n [value]=\"row.cellData[column.name].value\"\n >\n <mat-option\n *ngFor=\"let option of column.domainValues\"\n [value]=\"option.id\"\n [disabled]=\"option.disabled\"\n >\n {{ option.value }}\n </mat-option>\n </mat-select>\n <input\n matInput\n type=\"text\"\n [formControlName]=\"column.name\"\n *ngIf=\"column.type === 'autocomplete'\"\n [matAutocomplete]=\"auto\"\n required=\"{{\n getValidationAttributeValue(column, 'mandatory')\n }}\"\n value=\"{{ row.cellData[column.name].value }}\"\n readonly=\"{{ getValidationAttributeValue(column, 'readonly') }}\"\n />\n <mat-autocomplete\n #auto=\"matAutocomplete\"\n (optionSelected)=\"\n onAutocompleteValueChange(column, row.record, $event)\n \"\n panelWidth=\"430px\"\n >\n <mat-option\n *ngFor=\"let option of filteredOptions[column.name] | async\"\n [value]=\"option.id\"\n >\n {{ option.value }}\n </mat-option>\n </mat-autocomplete>\n </td>\n <ng-template #isUnsanitizedHTML>\n <td\n mat-cell\n class=\"mat-cell-text\"\n *ngIf=\"\n !row.cellData[column.name].isUrl;\n else isAnUrlUnsanitizedHTML\n \"\n [ngClass]=\"row.cellData[column.name].class\"\n [innerHTML]=\"row.cellData[column.name].value | sanitizeHtml\"\n ></td>\n <ng-template #isAnUrlUnsanitizedHTML>\n <td\n mat-cell\n class=\"mat-cell-text\"\n [ngClass]=\"row.cellData[column.name].class\"\n >\n <a\n href=\"{{ row.cellData[column.name].value }}\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n (click)=\"$event.stopPropagation()\"\n >\n <img\n igoImageError\n *ngIf=\"row.cellData[column.name].isImg; else notImg\"\n src=\"{{\n row.cellData[column.name].value | secureImage | async\n }}\"\n width=\"50\"\n heigth=\"auto\"\n />\n <ng-template #notImg\n ><span\n >{{ 'igo.geo.targetHtmlUrl' | translate }}\n </span></ng-template\n >\n </a>\n </td>\n </ng-template>\n </ng-template>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"columnRenderer === entityTableColumnRenderer.Icon\">\n <td\n mat-cell\n *matCellDef=\"let row\"\n class=\"mat-cell-text\"\n [ngClass]=\"row.cellData[column.name].class\"\n >\n <mat-icon *ngIf=\"column.onClick\" (click)=\"column.onClick($event)\">{{\n row.cellData[column.name].value || column.icon\n }}</mat-icon>\n <mat-icon *ngIf=\"!column.onClick\">{{\n row.cellData[column.name].value || column.icon\n }}</mat-icon>\n </td>\n </ng-container>\n <ng-container\n *ngIf=\"columnRenderer === entityTableColumnRenderer.ButtonGroup\"\n >\n <ng-container *matCellDef=\"let row\">\n <td\n mat-cell\n class=\"mat-cell-text\"\n [ngClass]=\"row.cellData[column.name].class\"\n >\n <span *ngFor=\"let button of row.cellData[column.name].value\">\n <ng-container\n *ngIf=\"\n isEdition(row.record) === button.editMode ||\n button.editMode === undefined\n \"\n >\n <button\n *ngIf=\"button.style === 'mat-icon-button'\"\n igoStopPropagation\n mat-icon-button\n [color]=\"button.color\"\n (mousedown)=\"onButtonClick(button.click, row.record)\"\n [disabled]=\"button.disabled\"\n >\n <mat-icon>{{ button.icon }}</mat-icon>\n </button>\n <button\n *ngIf=\"button.style !== 'mat-icon-button'\"\n igoStopPropagation\n mat-mini-fab\n [color]=\"button.color\"\n (mousedown)=\"onButtonClick(button.click, row.record)\"\n [disabled]=\"button.disabled\"\n >\n <mat-icon>{{ button.icon }}</mat-icon>\n </button>\n </ng-container>\n </span>\n </td>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n\n <tr\n mat-header-row\n *matHeaderRowDef=\"headers; sticky: fixedHeader\"\n [ngClass]=\"getHeaderClass()\"\n ></tr>\n <tr\n mat-row\n igoEntityTableRow\n *matRowDef=\"let row; columns: headers\"\n [scrollBehavior]=\"scrollBehavior\"\n [ngClass]=\"getRowClass(row.record)\"\n [selection]=\"selection\"\n [selected]=\"rowIsSelected(row.record)\"\n (select)=\"onRowSelect(row.record)\"\n (click)=\"onRowClick(row.record)\"\n ></tr>\n </table>\n <igo-entity-table-paginator\n *ngIf=\"withPaginator\"\n [store]=\"store\"\n [paginatorOptions]=\"paginatorOptions\"\n [entitySortChange$]=\"entitySortChange$\"\n (paginatorChange)=\"paginatorChange($event)\"\n >\n </igo-entity-table-paginator>\n</div>\n", styles: [":host{width:100%;height:100%;display:block}:host.table-compact tr.mat-mdc-header-row,:host.table-compact ::ng-deep mat-checkbox .mat-ripple{height:36px}:host.table-compact tr.mat-mdc-row,:host.table-compact ::ng-deep mat-checkbox .mat-ripple{height:28px}.table-container{display:flex;flex-direction:column;height:100%;overflow:auto;flex:1 1 auto}.mat-cell-text{overflow:hidden;word-wrap:break-word}table.igo-entity-table-with-selection tr:hover{-moz-box-shadow:2px 0px 2px 0px #dddddd;-webkit-box-shadow:2px 0px 2px 0px #dddddd;-o-box-shadow:2px 0px 2px 0px #dddddd;box-shadow:2px 0 2px #ddd;cursor:pointer}table button{margin:7px}.class_hidden{visibility:hidden}.class_display_none{display:none}.class_boolean,.class_icon,.class_number{text-align:center;padding-right:35px!important}.class_string,.class_text,.class_number_edition{text-align:left}td.edition{background:#a6a6a633}input{border-bottom:1px solid darkgrey}table.igo-entity-table-with-selection tr.igo-entity-table-row-highlighted{background-color:var(--mat-sys-primary-container);color:var(--mat-sys-on-primary-container)}\n"] }]
2948
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1$2.UntypedFormBuilder }, { type: i2$2.FocusMonitor }, { type: i0.ElementRef }, { type: i1$2.NgControl, decorators: [{
2949
- type: Optional
2950
- }, {
2951
- type: Self
2952
- }] }, { type: i1$2.NgForm, decorators: [{
2953
- type: Optional
2954
- }] }, { type: i1$2.FormControlName, decorators: [{
2955
- type: Optional
2956
- }] }, { type: i3$1.ErrorStateMatcher }, { type: i3$1.DateAdapter }], propDecorators: { store: [{
2916
+ ], template: "<div class=\"table-container\" [ngStyle]=\"{ height: tableHeight }\">\n <table\n id=\"currentWorkspaceTable\"\n mat-table\n matSort\n [ngClass]=\"getTableClass()\"\n [dataSource]=\"dataSource\"\n [trackBy]=\"getTrackByFunction()\"\n (matSortChange)=\"onSort($event)\"\n >\n <ng-container matColumnDef=\"selectionCheckbox\" class=\"mat-cell-checkbox\">\n <th mat-header-cell *matHeaderCellDef>\n @if (selectMany) {\n @let selectionState = selectionState$ | async;\n @if (selectionState) {\n <mat-checkbox\n (change)=\"onToggleRows($event.checked)\"\n [checked]=\"selectionState === entityTableSelectionState.All\"\n [indeterminate]=\"\n selectionState === entityTableSelectionState.Some\n \"\n >\n </mat-checkbox>\n }\n }\n </th>\n <td mat-cell *matCellDef=\"let row\">\n <mat-checkbox\n (mousedown)=\"$event.shiftKey ? $event.preventDefault() : null\"\n (click)=\"\n $event.shiftKey\n ? onShiftToggleRow(!rowIsSelected(row.record), row.record, $event)\n : $event.stopPropagation()\n \"\n (change)=\"onToggleRow($event.checked, row.record)\"\n [checked]=\"rowIsSelected(row.record)\"\n >\n </mat-checkbox>\n </td>\n </ng-container>\n\n @for (column of template.columns; track column) {\n <ng-container [matColumnDef]=\"column.name\">\n @if (columnIsSortable(column)) {\n <th\n mat-header-cell\n *matHeaderCellDef\n mat-sort-header\n [matTooltip]=\"column.tooltip ? column.tooltip : undefined\"\n >\n {{ column.title }}\n </th>\n } @else {\n <th\n mat-header-cell\n *matHeaderCellDef\n [matTooltip]=\"column.tooltip ? column.tooltip : undefined\"\n >\n {{ column.title }}\n </th>\n }\n\n @let columnRenderer = getColumnRenderer(column);\n @if (columnRenderer) {\n @switch (columnRenderer) {\n @case (entityTableColumnRenderer.HTML) {\n <ng-container *matCellDef=\"let row\">\n @if (!row.cellData[column.name].isUrl) {\n <td\n mat-cell\n class=\"mat-cell-text\"\n [ngClass]=\"row.cellData[column.name].class\"\n [innerHTML]=\"row.cellData[column.name].value\"\n ></td>\n } @else {\n <td\n mat-cell\n class=\"mat-cell-text\"\n [ngClass]=\"row.cellData[column.name].class\"\n >\n <a\n href=\"{{ row.cellData[column.name].value }}\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n (click)=\"$event.stopPropagation()\"\n >\n @if (row.cellData[column.name].isImg) {\n <img\n igoImageError\n src=\"{{\n row.cellData[column.name].value\n | secureImage\n | async\n }}\"\n width=\"50\"\n heigth=\"auto\"\n />\n } @else {\n <span>{{ 'igo.geo.targetHtmlUrl' | translate }} </span>\n }\n >\n </a>\n </td>\n }\n </ng-container>\n }\n @case (entityTableColumnRenderer.UnsanitizedHTML) {\n <ng-container *matCellDef=\"let row\">\n @if (isEdition(row.record)) {\n <td\n mat-cell\n class=\"mat-cell-text edition\"\n [formGroup]=\"formGroup\"\n [ngClass]=\"row.cellData[column.name].class\"\n >\n @switch (column.type) {\n @case ('date') {\n <div class=\"date-picker\">\n <mat-datepicker-toggle\n matSuffix\n [for]=\"picker\"\n ></mat-datepicker-toggle>\n <input\n matInput\n [matDatepicker]=\"picker\"\n [formControlName]=\"column.name\"\n value=\"{{ row.cellData[column.name].value }}\"\n (dateChange)=\"\n onDateChange(column.name, row.record, $event)\n \"\n />\n <mat-datepicker #picker></mat-datepicker>\n </div>\n }\n @case ('time') {\n <input\n matInput\n type=\"time\"\n [formControlName]=\"column.name\"\n step=\"900\"\n (focus)=\"column.onFocus($event)\"\n (keypress)=\"column.onChange($event)\"\n (blur)=\"column.onBlur($event)\"\n />\n }\n @case ('number') {\n <input\n matInput\n type=\"number\"\n class=\"class_number_edition\"\n [formControlName]=\"column.name\"\n step=\"{{ column.step }}\"\n value=\"{{ row.cellData[column.name].value }}\"\n (input)=\"\n onValueChange(column.name, row.record, $event)\n \"\n readonly=\"{{\n getValidationAttributeValue(column, 'readonly')\n }}\"\n required=\"{{\n getValidationAttributeValue(column, 'mandatory')\n }}\"\n min=\"{{\n getValidationAttributeValue(column, 'minValue')\n }}\"\n max=\"{{\n getValidationAttributeValue(column, 'maxValue')\n }}\"\n />\n }\n @case ('boolean') {\n <mat-checkbox\n [formControlName]=\"column.name\"\n [checked]=\"row.cellData[column.name].value\"\n (change)=\"\n onBooleanValueChange(\n column.name,\n row.record,\n $event\n )\n \"\n ></mat-checkbox>\n }\n @case ('list') {\n <mat-select\n required=\"{{\n getValidationAttributeValue(column, 'mandatory')\n }}\"\n [formControlName]=\"column.name\"\n [multiple]=\"column.multiple\"\n (selectionChange)=\"\n onSelectValueChange(column.name, row.record, $event)\n \"\n [value]=\"row.cellData[column.name].value\"\n >\n <mat-option\n *ngFor=\"let option of column.domainValues\"\n [value]=\"option.id\"\n [disabled]=\"option.disabled\"\n >\n {{ option.value }}\n </mat-option>\n </mat-select>\n }\n @case ('autocomplete') {\n <input\n matInput\n type=\"text\"\n [formControlName]=\"column.name\"\n [matAutocomplete]=\"auto\"\n required=\"{{\n getValidationAttributeValue(column, 'mandatory')\n }}\"\n value=\"{{ row.cellData[column.name].value }}\"\n readonly=\"{{\n getValidationAttributeValue(column, 'readonly')\n }}\"\n />\n <mat-autocomplete\n #auto=\"matAutocomplete\"\n (optionSelected)=\"\n onAutocompleteValueChange(\n column,\n row.record,\n $event\n )\n \"\n panelWidth=\"430px\"\n >\n <mat-option\n *ngFor=\"\n let option of filteredOptions[column.name] | async\n \"\n [value]=\"option.id\"\n >\n {{ option.value }}\n </mat-option>\n </mat-autocomplete>\n }\n @default {\n <input\n matInput\n type=\"text\"\n [formControlName]=\"column.name\"\n value=\"{{ row.cellData[column.name].value }}\"\n (input)=\"\n onValueChange(column.name, row.record, $event)\n \"\n readonly=\"{{\n getValidationAttributeValue(column, 'readonly')\n }}\"\n required=\"{{\n getValidationAttributeValue(column, 'mandatory')\n }}\"\n />\n }\n }\n </td>\n } @else {\n @if (!row.cellData[column.name].isUrl) {\n <td\n mat-cell\n class=\"mat-cell-text\"\n [ngClass]=\"row.cellData[column.name].class\"\n [innerHTML]=\"\n row.cellData[column.name].value | sanitizeHtml\n \"\n ></td>\n } @else {\n <td\n mat-cell\n class=\"mat-cell-text\"\n [ngClass]=\"row.cellData[column.name].class\"\n >\n <a\n href=\"{{ row.cellData[column.name].value }}\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n (click)=\"$event.stopPropagation()\"\n >\n @if (row.cellData[column.name].isImg) {\n <img\n igoImageError\n src=\"{{\n row.cellData[column.name].value\n | secureImage\n | async\n }}\"\n width=\"50\"\n heigth=\"auto\"\n />\n } @else {\n ><span\n >{{ 'igo.geo.targetHtmlUrl' | translate }}\n </span>\n }\n >\n </a>\n </td>\n }\n }\n </ng-container>\n }\n @case (entityTableColumnRenderer.Icon) {\n <td\n mat-cell\n *matCellDef=\"let row\"\n class=\"mat-cell-text\"\n [ngClass]=\"row.cellData[column.name].class\"\n >\n @if (column.onClick) {\n <mat-icon (click)=\"column.onClick($event)\">{{\n row.cellData[column.name].value || column.icon\n }}</mat-icon>\n } @else {\n <mat-icon>{{\n row.cellData[column.name].value || column.icon\n }}</mat-icon>\n }\n </td>\n }\n @case (entityTableColumnRenderer.ButtonGroup) {\n <ng-container *matCellDef=\"let row\">\n <td\n mat-cell\n class=\"mat-cell-text\"\n [ngClass]=\"row.cellData[column.name].class\"\n >\n @for (\n button of row.cellData[column.name].value;\n track button\n ) {\n @if (\n isEdition(row.record) === button.editMode ||\n button.editMode === undefined\n ) {\n <span>\n @if (button.style === 'mat-icon-button') {\n <button\n igoStopPropagation\n mat-icon-button\n [color]=\"button.color\"\n (mousedown)=\"\n onButtonClick(button.click, row.record)\n \"\n [disabled]=\"button.disabled\"\n >\n <mat-icon>{{ button.icon }}</mat-icon>\n </button>\n } @else {\n <button\n igoStopPropagation\n mat-mini-fab\n [color]=\"button.color\"\n (mousedown)=\"\n onButtonClick(button.click, row.record)\n \"\n [disabled]=\"button.disabled\"\n >\n <mat-icon>{{ button.icon }}</mat-icon>\n </button>\n }\n </span>\n }\n }\n </td>\n </ng-container>\n }\n @default {\n <ng-container *matCellDef=\"let row\">\n @if (!row.cellData[column.name].isUrl) {\n <td\n mat-cell\n class=\"mat-cell-text\"\n [ngClass]=\"row.cellData[column.name].class\"\n >\n {{ row.cellData[column.name].value }}\n </td>\n } @else {\n <td\n mat-cell\n class=\"mat-cell-text\"\n [ngClass]=\"row.cellData[column.name].class\"\n >\n <a\n href=\"{{ row.cellData[column.name].value }}\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n (click)=\"$event.stopPropagation()\"\n >\n @if (row.cellData[column.name].isImg) {\n <img\n igoImageError\n src=\"{{\n row.cellData[column.name].value\n | secureImage\n | async\n }}\"\n width=\"50\"\n heigth=\"auto\"\n />\n } @else {\n <span>{{\n 'igo.common.entity-table.targetHtmlUrl' | translate\n }}</span>\n }\n >\n </a>\n </td>\n }\n </ng-container>\n }\n }\n }\n </ng-container>\n }\n\n <tr\n mat-header-row\n *matHeaderRowDef=\"headers; sticky: fixedHeader\"\n [ngClass]=\"getHeaderClass()\"\n ></tr>\n <tr\n mat-row\n igoEntityTableRow\n *matRowDef=\"let row; columns: headers\"\n [scrollBehavior]=\"scrollBehavior\"\n [ngClass]=\"getRowClass(row.record)\"\n [selection]=\"selection\"\n [selected]=\"rowIsSelected(row.record)\"\n (select)=\"onRowSelect(row.record)\"\n (click)=\"onRowClick(row.record)\"\n ></tr>\n </table>\n @if (withPaginator) {\n <igo-entity-table-paginator\n [store]=\"store\"\n [paginatorOptions]=\"paginatorOptions\"\n [entitySortChange$]=\"entitySortChange$\"\n (paginatorChange)=\"paginatorChange($event)\"\n >\n </igo-entity-table-paginator>\n }\n</div>\n", styles: [":host{width:100%;height:100%;display:block;--mat-table-header-container-height: 52px}:host.table-compact tr.mat-mdc-header-row,:host.table-compact ::ng-deep mat-checkbox .mat-ripple{height:36px}:host.table-compact tr.mat-mdc-row,:host.table-compact ::ng-deep mat-checkbox .mat-ripple{height:28px}.table-container{display:flex;flex-direction:column;height:100%;overflow:auto;flex:1 1 auto}.mat-cell-text{overflow:hidden;word-wrap:break-word}table.igo-entity-table-with-selection tr:hover{-moz-box-shadow:2px 0px 2px 0px #dddddd;-webkit-box-shadow:2px 0px 2px 0px #dddddd;-o-box-shadow:2px 0px 2px 0px #dddddd;box-shadow:2px 0 2px #ddd;cursor:pointer}table button{margin:7px}.class_hidden{visibility:hidden}.class_display_none{display:none}.class_boolean,.class_icon,.class_number{text-align:center;padding-right:35px!important}.class_string,.class_text,.class_number_edition{text-align:left}td.edition{background:#a6a6a633}input{border-bottom:1px solid darkgrey}table.igo-entity-table-with-selection tr.igo-entity-table-row-highlighted{background-color:var(--mat-sys-primary-container);color:var(--mat-sys-on-primary-container)}\n"] }]
2917
+ }], ctorParameters: () => [], propDecorators: { store: [{
2957
2918
  type: Input
2958
2919
  }], paginator: [{
2959
2920
  type: Input
@@ -2979,11 +2940,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
2979
2940
  * @deprecated import the EntityTableComponent directly
2980
2941
  */
2981
2942
  class IgoEntityTableModule {
2982
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: IgoEntityTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2983
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.15", ngImport: i0, type: IgoEntityTableModule, imports: [EntityTableComponent], exports: [EntityTableComponent] });
2984
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: IgoEntityTableModule, imports: [EntityTableComponent] });
2943
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: IgoEntityTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2944
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.4", ngImport: i0, type: IgoEntityTableModule, imports: [EntityTableComponent], exports: [EntityTableComponent] });
2945
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: IgoEntityTableModule, imports: [EntityTableComponent] });
2985
2946
  }
2986
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: IgoEntityTableModule, decorators: [{
2947
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: IgoEntityTableModule, decorators: [{
2987
2948
  type: NgModule,
2988
2949
  args: [{
2989
2950
  imports: [EntityTableComponent],
@@ -2995,11 +2956,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
2995
2956
  * @deprecated import the EntityTablePaginatorComponent directly
2996
2957
  */
2997
2958
  class IgoEntityTablePaginatorModule {
2998
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: IgoEntityTablePaginatorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2999
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.15", ngImport: i0, type: IgoEntityTablePaginatorModule, imports: [EntityTablePaginatorComponent], exports: [EntityTablePaginatorComponent] });
3000
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: IgoEntityTablePaginatorModule, imports: [EntityTablePaginatorComponent] });
2959
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: IgoEntityTablePaginatorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2960
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.4", ngImport: i0, type: IgoEntityTablePaginatorModule, imports: [EntityTablePaginatorComponent], exports: [EntityTablePaginatorComponent] });
2961
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: IgoEntityTablePaginatorModule, imports: [EntityTablePaginatorComponent] });
3001
2962
  }
3002
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: IgoEntityTablePaginatorModule, decorators: [{
2963
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: IgoEntityTablePaginatorModule, decorators: [{
3003
2964
  type: NgModule,
3004
2965
  args: [{
3005
2966
  imports: [EntityTablePaginatorComponent],
@@ -3016,15 +2977,15 @@ const ENTITY_DIRECTIVES = [
3016
2977
  * @deprecated import the components directly or ENTITY_DIRECTIVES for every components/directives
3017
2978
  */
3018
2979
  class IgoEntityModule {
3019
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: IgoEntityModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3020
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.15", ngImport: i0, type: IgoEntityModule, imports: [EntitySelectorComponent,
2980
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: IgoEntityModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2981
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.4", ngImport: i0, type: IgoEntityModule, imports: [EntitySelectorComponent,
3021
2982
  EntityTableComponent,
3022
2983
  EntityTablePaginatorComponent], exports: [EntitySelectorComponent,
3023
2984
  EntityTableComponent,
3024
2985
  EntityTablePaginatorComponent] });
3025
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: IgoEntityModule, imports: [ENTITY_DIRECTIVES] });
2986
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: IgoEntityModule, imports: [ENTITY_DIRECTIVES] });
3026
2987
  }
3027
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: IgoEntityModule, decorators: [{
2988
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: IgoEntityModule, decorators: [{
3028
2989
  type: NgModule,
3029
2990
  args: [{
3030
2991
  imports: [...ENTITY_DIRECTIVES],