@wavemaker-ai/app-ng-runtime 12.0.0-rc.335 → 12.0.1-rc.338

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 (351) hide show
  1. package/build-task/bundles/index.umd.js +15 -16
  2. package/build-task/fesm2022/index.mjs +15 -16
  3. package/build-task/fesm2022/index.mjs.map +1 -1
  4. package/components/advanced/carousel/bundles/index.umd.js +9 -9
  5. package/components/advanced/carousel/fesm2022/index.mjs +9 -9
  6. package/components/advanced/carousel/fesm2022/index.mjs.map +1 -1
  7. package/components/advanced/carousel/types/index.d.ts +7 -7
  8. package/components/advanced/custom/bundles/index.umd.js +9 -10
  9. package/components/advanced/custom/fesm2022/index.mjs +9 -10
  10. package/components/advanced/custom/fesm2022/index.mjs.map +1 -1
  11. package/components/advanced/custom/types/index.d.ts +3 -3
  12. package/components/advanced/login/bundles/index.umd.js +3 -3
  13. package/components/advanced/login/fesm2022/index.mjs +3 -3
  14. package/components/advanced/login/fesm2022/index.mjs.map +1 -1
  15. package/components/advanced/login/types/index.d.ts +1 -1
  16. package/components/advanced/marquee/bundles/index.umd.js +3 -3
  17. package/components/advanced/marquee/fesm2022/index.mjs +3 -3
  18. package/components/advanced/marquee/fesm2022/index.mjs.map +1 -1
  19. package/components/advanced/marquee/types/index.d.ts +1 -1
  20. package/components/base/bundles/index.umd.js +40 -46
  21. package/components/base/fesm2022/index.mjs +40 -46
  22. package/components/base/fesm2022/index.mjs.map +1 -1
  23. package/components/base/types/index.d.ts +47 -46
  24. package/components/basic/anchor/bundles/index.umd.js +3 -3
  25. package/components/basic/anchor/fesm2022/index.mjs +3 -3
  26. package/components/basic/anchor/fesm2022/index.mjs.map +1 -1
  27. package/components/basic/anchor/types/index.d.ts +3 -3
  28. package/components/basic/audio/bundles/index.umd.js +3 -3
  29. package/components/basic/audio/fesm2022/index.mjs +3 -3
  30. package/components/basic/audio/fesm2022/index.mjs.map +1 -1
  31. package/components/basic/audio/types/index.d.ts +1 -1
  32. package/components/basic/html/bundles/index.umd.js +10 -11
  33. package/components/basic/html/fesm2022/index.mjs +10 -11
  34. package/components/basic/html/fesm2022/index.mjs.map +1 -1
  35. package/components/basic/html/types/index.d.ts +3 -3
  36. package/components/basic/icon/bundles/index.umd.js +3 -3
  37. package/components/basic/icon/fesm2022/index.mjs +3 -3
  38. package/components/basic/icon/fesm2022/index.mjs.map +1 -1
  39. package/components/basic/icon/types/index.d.ts +1 -1
  40. package/components/basic/iframe/bundles/index.umd.js +5 -5
  41. package/components/basic/iframe/fesm2022/index.mjs +5 -5
  42. package/components/basic/iframe/fesm2022/index.mjs.map +1 -1
  43. package/components/basic/iframe/types/index.d.ts +3 -3
  44. package/components/basic/label/bundles/index.umd.js +10 -11
  45. package/components/basic/label/fesm2022/index.mjs +10 -11
  46. package/components/basic/label/fesm2022/index.mjs.map +1 -1
  47. package/components/basic/label/types/index.d.ts +1 -1
  48. package/components/basic/picture/bundles/index.umd.js +3 -3
  49. package/components/basic/picture/fesm2022/index.mjs +3 -3
  50. package/components/basic/picture/fesm2022/index.mjs.map +1 -1
  51. package/components/basic/picture/types/index.d.ts +2 -2
  52. package/components/basic/progress/progress-bar/bundles/index.umd.js +8 -10
  53. package/components/basic/progress/progress-bar/fesm2022/index.mjs +8 -10
  54. package/components/basic/progress/progress-bar/fesm2022/index.mjs.map +1 -1
  55. package/components/basic/progress/progress-bar/types/index.d.ts +2 -2
  56. package/components/basic/progress/progress-circle/bundles/index.umd.js +3 -3
  57. package/components/basic/progress/progress-circle/fesm2022/index.mjs +3 -3
  58. package/components/basic/progress/progress-circle/fesm2022/index.mjs.map +1 -1
  59. package/components/basic/progress/progress-circle/types/index.d.ts +2 -2
  60. package/components/basic/rich-text-editor/bundles/index.umd.js +3 -3
  61. package/components/basic/rich-text-editor/fesm2022/index.mjs +3 -3
  62. package/components/basic/rich-text-editor/fesm2022/index.mjs.map +1 -1
  63. package/components/basic/rich-text-editor/types/index.d.ts +3 -3
  64. package/components/basic/search/bundles/index.umd.js +40 -42
  65. package/components/basic/search/fesm2022/index.mjs +40 -42
  66. package/components/basic/search/fesm2022/index.mjs.map +1 -1
  67. package/components/basic/search/types/index.d.ts +13 -13
  68. package/components/basic/spinner/bundles/index.umd.js +3 -3
  69. package/components/basic/spinner/fesm2022/index.mjs +3 -3
  70. package/components/basic/spinner/fesm2022/index.mjs.map +1 -1
  71. package/components/basic/spinner/types/index.d.ts +3 -3
  72. package/components/basic/tree/bundles/index.umd.js +9 -9
  73. package/components/basic/tree/fesm2022/index.mjs +9 -9
  74. package/components/basic/tree/fesm2022/index.mjs.map +1 -1
  75. package/components/basic/tree/types/index.d.ts +7 -7
  76. package/components/basic/video/bundles/index.umd.js +3 -3
  77. package/components/basic/video/fesm2022/index.mjs +3 -3
  78. package/components/basic/video/fesm2022/index.mjs.map +1 -1
  79. package/components/basic/video/types/index.d.ts +2 -2
  80. package/components/chart/bundles/index.umd.js +19 -22
  81. package/components/chart/fesm2022/index.mjs +20 -23
  82. package/components/chart/fesm2022/index.mjs.map +1 -1
  83. package/components/chart/types/index.d.ts +9 -9
  84. package/components/containers/accordion/bundles/index.umd.js +10 -12
  85. package/components/containers/accordion/fesm2022/index.mjs +10 -12
  86. package/components/containers/accordion/fesm2022/index.mjs.map +1 -1
  87. package/components/containers/accordion/types/index.d.ts +9 -9
  88. package/components/containers/layout-grid/bundles/index.umd.js +9 -9
  89. package/components/containers/layout-grid/fesm2022/index.mjs +9 -9
  90. package/components/containers/layout-grid/fesm2022/index.mjs.map +1 -1
  91. package/components/containers/layout-grid/types/index.d.ts +4 -4
  92. package/components/containers/linear-layout/bundles/index.umd.js +6 -6
  93. package/components/containers/linear-layout/fesm2022/index.mjs +6 -6
  94. package/components/containers/linear-layout/fesm2022/index.mjs.map +1 -1
  95. package/components/containers/linear-layout/types/index.d.ts +2 -2
  96. package/components/containers/panel/bundles/index.umd.js +3 -3
  97. package/components/containers/panel/fesm2022/index.mjs +3 -3
  98. package/components/containers/panel/fesm2022/index.mjs.map +1 -1
  99. package/components/containers/panel/types/index.d.ts +3 -3
  100. package/components/containers/tabs/bundles/index.umd.js +9 -9
  101. package/components/containers/tabs/fesm2022/index.mjs +9 -9
  102. package/components/containers/tabs/fesm2022/index.mjs.map +1 -1
  103. package/components/containers/tabs/types/index.d.ts +8 -8
  104. package/components/containers/tile/bundles/index.umd.js +3 -3
  105. package/components/containers/tile/fesm2022/index.mjs +3 -3
  106. package/components/containers/tile/fesm2022/index.mjs.map +1 -1
  107. package/components/containers/tile/types/index.d.ts +1 -1
  108. package/components/containers/wizard/bundles/index.umd.js +18 -18
  109. package/components/containers/wizard/fesm2022/index.mjs +18 -18
  110. package/components/containers/wizard/fesm2022/index.mjs.map +1 -1
  111. package/components/containers/wizard/types/index.d.ts +8 -8
  112. package/components/data/card/bundles/index.umd.js +12 -12
  113. package/components/data/card/fesm2022/index.mjs +12 -12
  114. package/components/data/card/fesm2022/index.mjs.map +1 -1
  115. package/components/data/card/types/index.d.ts +6 -6
  116. package/components/data/form/bundles/index.umd.js +72 -75
  117. package/components/data/form/fesm2022/index.mjs +72 -77
  118. package/components/data/form/fesm2022/index.mjs.map +1 -1
  119. package/components/data/form/types/index.d.ts +29 -29
  120. package/components/data/list/bundles/index.umd.js +22 -27
  121. package/components/data/list/fesm2022/index.mjs +22 -27
  122. package/components/data/list/fesm2022/index.mjs.map +1 -1
  123. package/components/data/list/types/index.d.ts +23 -23
  124. package/components/data/live-table/bundles/index.umd.js +3 -3
  125. package/components/data/live-table/fesm2022/index.mjs +3 -3
  126. package/components/data/live-table/fesm2022/index.mjs.map +1 -1
  127. package/components/data/live-table/types/index.d.ts +5 -5
  128. package/components/data/pagination/bundles/index.umd.js +27 -28
  129. package/components/data/pagination/fesm2022/index.mjs +27 -28
  130. package/components/data/pagination/fesm2022/index.mjs.map +1 -1
  131. package/components/data/pagination/types/index.d.ts +1 -1
  132. package/components/data/table/bundles/index.umd.js +131 -142
  133. package/components/data/table/fesm2022/index.mjs +131 -143
  134. package/components/data/table/fesm2022/index.mjs.map +1 -1
  135. package/components/data/table/types/index.d.ts +20 -20
  136. package/components/dialogs/alert-dialog/bundles/index.umd.js +3 -3
  137. package/components/dialogs/alert-dialog/fesm2022/index.mjs +3 -3
  138. package/components/dialogs/alert-dialog/fesm2022/index.mjs.map +1 -1
  139. package/components/dialogs/alert-dialog/types/index.d.ts +1 -1
  140. package/components/dialogs/confirm-dialog/bundles/index.umd.js +3 -3
  141. package/components/dialogs/confirm-dialog/fesm2022/index.mjs +3 -3
  142. package/components/dialogs/confirm-dialog/fesm2022/index.mjs.map +1 -1
  143. package/components/dialogs/confirm-dialog/types/index.d.ts +1 -1
  144. package/components/dialogs/default/bundles/index.umd.js +12 -12
  145. package/components/dialogs/default/fesm2022/index.mjs +12 -12
  146. package/components/dialogs/default/fesm2022/index.mjs.map +1 -1
  147. package/components/dialogs/default/types/index.d.ts +3 -3
  148. package/components/dialogs/design-dialog/bundles/index.umd.js +3 -3
  149. package/components/dialogs/design-dialog/fesm2022/index.mjs +3 -3
  150. package/components/dialogs/design-dialog/fesm2022/index.mjs.map +1 -1
  151. package/components/dialogs/design-dialog/types/index.d.ts +1 -1
  152. package/components/dialogs/iframe-dialog/bundles/index.umd.js +3 -3
  153. package/components/dialogs/iframe-dialog/fesm2022/index.mjs +3 -3
  154. package/components/dialogs/iframe-dialog/fesm2022/index.mjs.map +1 -1
  155. package/components/dialogs/iframe-dialog/types/index.d.ts +1 -1
  156. package/components/dialogs/login-dialog/bundles/index.umd.js +3 -3
  157. package/components/dialogs/login-dialog/fesm2022/index.mjs +3 -3
  158. package/components/dialogs/login-dialog/fesm2022/index.mjs.map +1 -1
  159. package/components/dialogs/login-dialog/types/index.d.ts +2 -2
  160. package/components/dialogs/partial-dialog/bundles/index.umd.js +3 -3
  161. package/components/dialogs/partial-dialog/fesm2022/index.mjs +3 -3
  162. package/components/dialogs/partial-dialog/fesm2022/index.mjs.map +1 -1
  163. package/components/dialogs/partial-dialog/types/index.d.ts +1 -1
  164. package/components/input/base-form/bundles/index.umd.js +4 -4
  165. package/components/input/base-form/fesm2022/index.mjs +4 -4
  166. package/components/input/base-form/fesm2022/index.mjs.map +1 -1
  167. package/components/input/base-form-custom/bundles/index.umd.js +3 -3
  168. package/components/input/base-form-custom/fesm2022/index.mjs +3 -3
  169. package/components/input/button/bundles/index.umd.js +3 -3
  170. package/components/input/button/fesm2022/index.mjs +3 -3
  171. package/components/input/button/fesm2022/index.mjs.map +1 -1
  172. package/components/input/button/types/index.d.ts +1 -1
  173. package/components/input/button-group/bundles/index.umd.js +3 -3
  174. package/components/input/button-group/fesm2022/index.mjs +3 -3
  175. package/components/input/button-group/fesm2022/index.mjs.map +1 -1
  176. package/components/input/button-group/types/index.d.ts +1 -1
  177. package/components/input/calendar/bundles/index.umd.js +4 -4
  178. package/components/input/calendar/fesm2022/index.mjs +4 -5
  179. package/components/input/calendar/fesm2022/index.mjs.map +1 -1
  180. package/components/input/calendar/types/index.d.ts +9 -9
  181. package/components/input/caption-position/bundles/index.umd.js +5 -5
  182. package/components/input/caption-position/fesm2022/index.mjs +5 -5
  183. package/components/input/caption-position/fesm2022/index.mjs.map +1 -1
  184. package/components/input/caption-position/types/index.d.ts +4 -4
  185. package/components/input/checkbox/bundles/index.umd.js +3 -3
  186. package/components/input/checkbox/fesm2022/index.mjs +3 -3
  187. package/components/input/checkbox/fesm2022/index.mjs.map +1 -1
  188. package/components/input/checkbox/types/index.d.ts +2 -2
  189. package/components/input/checkboxset/bundles/index.umd.js +4 -4
  190. package/components/input/checkboxset/fesm2022/index.mjs +4 -4
  191. package/components/input/checkboxset/fesm2022/index.mjs.map +1 -1
  192. package/components/input/checkboxset/types/index.d.ts +2 -2
  193. package/components/input/chips/bundles/index.umd.js +5 -5
  194. package/components/input/chips/fesm2022/index.mjs +5 -5
  195. package/components/input/chips/fesm2022/index.mjs.map +1 -1
  196. package/components/input/chips/types/index.d.ts +14 -14
  197. package/components/input/color-picker/bundles/index.umd.js +3 -3
  198. package/components/input/color-picker/fesm2022/index.mjs +3 -3
  199. package/components/input/color-picker/fesm2022/index.mjs.map +1 -1
  200. package/components/input/color-picker/types/index.d.ts +2 -2
  201. package/components/input/composite/bundles/index.umd.js +3 -3
  202. package/components/input/composite/fesm2022/index.mjs +3 -3
  203. package/components/input/composite/fesm2022/index.mjs.map +1 -1
  204. package/components/input/composite/types/index.d.ts +1 -1
  205. package/components/input/currency/bundles/index.umd.js +3 -3
  206. package/components/input/currency/fesm2022/index.mjs +3 -3
  207. package/components/input/currency/fesm2022/index.mjs.map +1 -1
  208. package/components/input/currency/types/index.d.ts +3 -3
  209. package/components/input/dataset-aware-form/bundles/index.umd.js +7 -7
  210. package/components/input/dataset-aware-form/fesm2022/index.mjs +7 -7
  211. package/components/input/dataset-aware-form/fesm2022/index.mjs.map +1 -1
  212. package/components/input/dataset-aware-form/types/index.d.ts +1 -1
  213. package/components/input/epoch/base-date-time/bundles/index.umd.js +10 -15
  214. package/components/input/epoch/base-date-time/fesm2022/index.mjs +10 -15
  215. package/components/input/epoch/base-date-time/fesm2022/index.mjs.map +1 -1
  216. package/components/input/epoch/base-date-time/types/index.d.ts +2 -2
  217. package/components/input/epoch/date/bundles/index.umd.js +5 -5
  218. package/components/input/epoch/date/fesm2022/index.mjs +5 -5
  219. package/components/input/epoch/date/fesm2022/index.mjs.map +1 -1
  220. package/components/input/epoch/date/types/index.d.ts +4 -4
  221. package/components/input/epoch/date-time/bundles/index.umd.js +3 -3
  222. package/components/input/epoch/date-time/fesm2022/index.mjs +3 -3
  223. package/components/input/epoch/date-time/fesm2022/index.mjs.map +1 -1
  224. package/components/input/epoch/date-time/types/index.d.ts +8 -8
  225. package/components/input/epoch/date-time-picker/bundles/index.umd.js +8 -8
  226. package/components/input/epoch/date-time-picker/fesm2022/index.mjs +8 -8
  227. package/components/input/epoch/date-time-picker/fesm2022/index.mjs.map +1 -1
  228. package/components/input/epoch/date-time-picker/types/index.d.ts +6 -7
  229. package/components/input/epoch/picker/bundles/index.umd.js +6 -6
  230. package/components/input/epoch/picker/fesm2022/index.mjs +6 -6
  231. package/components/input/epoch/picker/fesm2022/index.mjs.map +1 -1
  232. package/components/input/epoch/time/bundles/index.umd.js +4 -5
  233. package/components/input/epoch/time/fesm2022/index.mjs +5 -6
  234. package/components/input/epoch/time/fesm2022/index.mjs.map +1 -1
  235. package/components/input/epoch/time/types/index.d.ts +4 -4
  236. package/components/input/file-upload/bundles/index.umd.js +4 -4
  237. package/components/input/file-upload/fesm2022/index.mjs +4 -4
  238. package/components/input/file-upload/fesm2022/index.mjs.map +1 -1
  239. package/components/input/file-upload/types/index.d.ts +5 -5
  240. package/components/input/number/bundles/index.umd.js +3 -3
  241. package/components/input/number/fesm2022/index.mjs +3 -3
  242. package/components/input/number/fesm2022/index.mjs.map +1 -1
  243. package/components/input/number/types/index.d.ts +1 -1
  244. package/components/input/radioset/bundles/index.umd.js +4 -4
  245. package/components/input/radioset/fesm2022/index.mjs +4 -4
  246. package/components/input/radioset/fesm2022/index.mjs.map +1 -1
  247. package/components/input/radioset/types/index.d.ts +2 -2
  248. package/components/input/rating/bundles/index.umd.js +9 -11
  249. package/components/input/rating/fesm2022/index.mjs +9 -11
  250. package/components/input/rating/fesm2022/index.mjs.map +1 -1
  251. package/components/input/rating/types/index.d.ts +2 -2
  252. package/components/input/select/bundles/index.umd.js +4 -4
  253. package/components/input/select/fesm2022/index.mjs +4 -4
  254. package/components/input/select/fesm2022/index.mjs.map +1 -1
  255. package/components/input/select/types/index.d.ts +1 -1
  256. package/components/input/slider/bundles/index.umd.js +3 -3
  257. package/components/input/slider/fesm2022/index.mjs +3 -3
  258. package/components/input/slider/fesm2022/index.mjs.map +1 -1
  259. package/components/input/slider/types/index.d.ts +1 -1
  260. package/components/input/switch/bundles/index.umd.js +3 -3
  261. package/components/input/switch/fesm2022/index.mjs +3 -3
  262. package/components/input/switch/fesm2022/index.mjs.map +1 -1
  263. package/components/input/switch/types/index.d.ts +1 -1
  264. package/components/input/text/bundles/index.umd.js +31 -35
  265. package/components/input/text/fesm2022/index.mjs +31 -35
  266. package/components/input/text/fesm2022/index.mjs.map +1 -1
  267. package/components/input/text/types/index.d.ts +12 -12
  268. package/components/input/textarea/bundles/index.umd.js +3 -3
  269. package/components/input/textarea/fesm2022/index.mjs +3 -3
  270. package/components/input/textarea/fesm2022/index.mjs.map +1 -1
  271. package/components/input/textarea/types/index.d.ts +2 -2
  272. package/components/navigation/breadcrumb/bundles/index.umd.js +3 -3
  273. package/components/navigation/breadcrumb/fesm2022/index.mjs +3 -3
  274. package/components/navigation/breadcrumb/fesm2022/index.mjs.map +1 -1
  275. package/components/navigation/breadcrumb/types/index.d.ts +4 -4
  276. package/components/navigation/menu/bundles/index.umd.js +25 -33
  277. package/components/navigation/menu/fesm2022/index.mjs +25 -33
  278. package/components/navigation/menu/fesm2022/index.mjs.map +1 -1
  279. package/components/navigation/menu/types/index.d.ts +21 -21
  280. package/components/navigation/navbar/bundles/index.umd.js +3 -3
  281. package/components/navigation/navbar/fesm2022/index.mjs +3 -3
  282. package/components/navigation/navbar/fesm2022/index.mjs.map +1 -1
  283. package/components/navigation/navbar/types/index.d.ts +1 -1
  284. package/components/navigation/popover/bundles/index.umd.js +4 -4
  285. package/components/navigation/popover/fesm2022/index.mjs +4 -4
  286. package/components/navigation/popover/fesm2022/index.mjs.map +1 -1
  287. package/components/navigation/popover/types/index.d.ts +4 -4
  288. package/components/page/default/bundles/index.umd.js +23 -23
  289. package/components/page/default/fesm2022/index.mjs +23 -23
  290. package/components/page/default/fesm2022/index.mjs.map +1 -1
  291. package/components/page/default/types/index.d.ts +14 -14
  292. package/components/page/footer/bundles/index.umd.js +3 -3
  293. package/components/page/footer/fesm2022/index.mjs +3 -3
  294. package/components/page/footer/fesm2022/index.mjs.map +1 -1
  295. package/components/page/footer/types/index.d.ts +1 -1
  296. package/components/page/header/bundles/index.umd.js +3 -3
  297. package/components/page/header/fesm2022/index.mjs +3 -3
  298. package/components/page/header/fesm2022/index.mjs.map +1 -1
  299. package/components/page/header/types/index.d.ts +1 -1
  300. package/components/page/left-panel/bundles/index.umd.js +5 -5
  301. package/components/page/left-panel/fesm2022/index.mjs +5 -5
  302. package/components/page/left-panel/fesm2022/index.mjs.map +1 -1
  303. package/components/page/left-panel/types/index.d.ts +3 -3
  304. package/components/page/right-panel/bundles/index.umd.js +3 -3
  305. package/components/page/right-panel/fesm2022/index.mjs +3 -3
  306. package/components/page/right-panel/fesm2022/index.mjs.map +1 -1
  307. package/components/page/right-panel/types/index.d.ts +1 -1
  308. package/components/page/top-nav/bundles/index.umd.js +3 -3
  309. package/components/page/top-nav/fesm2022/index.mjs +3 -3
  310. package/components/page/top-nav/fesm2022/index.mjs.map +1 -1
  311. package/components/page/top-nav/types/index.d.ts +1 -1
  312. package/components/prefab/bundles/index.umd.js +7 -7
  313. package/components/prefab/fesm2022/index.mjs +7 -7
  314. package/components/prefab/fesm2022/index.mjs.map +1 -1
  315. package/components/prefab/types/index.d.ts +3 -3
  316. package/core/bundles/index.umd.js +84 -89
  317. package/core/fesm2022/index.mjs +84 -89
  318. package/core/fesm2022/index.mjs.map +1 -1
  319. package/core/types/index.d.ts +11 -11
  320. package/http/bundles/index.umd.js +6 -6
  321. package/http/fesm2022/index.mjs +6 -6
  322. package/http/fesm2022/index.mjs.map +1 -1
  323. package/http/types/index.d.ts +1 -1
  324. package/npm-shrinkwrap.json +2 -2
  325. package/oAuth/bundles/index.umd.js +17 -21
  326. package/oAuth/fesm2022/index.mjs +17 -21
  327. package/oAuth/fesm2022/index.mjs.map +1 -1
  328. package/oAuth/types/index.d.ts +1 -1
  329. package/package-lock.json +2 -2
  330. package/package.json +1 -1
  331. package/runtime/base/bundles/index.umd.js +253 -275
  332. package/runtime/base/fesm2022/index.mjs +253 -275
  333. package/runtime/base/fesm2022/index.mjs.map +1 -1
  334. package/runtime/base/types/index.d.ts +90 -96
  335. package/runtime/dynamic/bundles/index.umd.js +28 -28
  336. package/runtime/dynamic/fesm2022/index.mjs +28 -28
  337. package/runtime/dynamic/fesm2022/index.mjs.map +1 -1
  338. package/runtime/dynamic/types/index.d.ts +22 -22
  339. package/scripts/datatable/datatable.js +293 -271
  340. package/scripts/tree-keyboard-navigation/keyboard-navigation.js +68 -56
  341. package/security/bundles/index.umd.js +6 -6
  342. package/security/fesm2022/index.mjs +6 -6
  343. package/security/fesm2022/index.mjs.map +1 -1
  344. package/security/types/index.d.ts +5 -5
  345. package/transpiler/bundles/index.umd.js +3 -5
  346. package/transpiler/fesm2022/index.mjs +3 -5
  347. package/transpiler/fesm2022/index.mjs.map +1 -1
  348. package/variables/bundles/index.umd.js +69 -71
  349. package/variables/fesm2022/index.mjs +69 -72
  350. package/variables/fesm2022/index.mjs.map +1 -1
  351. package/variables/types/index.d.ts +9 -9
@@ -149,7 +149,7 @@ class TableComponent extends StylableComponent {
149
149
  if (!this.$element.find('.on-demand-datagrid').length && !this.dataNavigator.isDisableNext && this.onDemandLoad) {
150
150
  this.gridOptions.addLoadMoreBtn();
151
151
  }
152
- else if ((this._gridData && this._gridData.length) && (this.dataNavigator.isDisableNext || !this.isDataLoading)) {
152
+ else if ((this._gridData?.length) && (this.dataNavigator.isDisableNext || !this.isDataLoading)) {
153
153
  // when the next page is disabled or when the data is not loading remove the loading/load more button accordingly
154
154
  this.callDataGridMethod('hideLoadingIndicator', this.dataNavigator.isDisableNext, this.infScroll);
155
155
  }
@@ -272,7 +272,7 @@ class TableComponent extends StylableComponent {
272
272
  // Filter and Sort Methods
273
273
  this.rowFilter = {};
274
274
  this._searchSortHandler = noop;
275
- this.searchSortHandler = (...args) => { this._searchSortHandler.apply(this, args); };
275
+ this.searchSortHandler = (...args) => { this._searchSortHandler(...args); };
276
276
  this.onRowFilterChange = noop;
277
277
  this.onFilterConditionSelect = noop;
278
278
  this.showClearIcon = noop;
@@ -514,7 +514,7 @@ class TableComponent extends StylableComponent {
514
514
  // WMS-18774: If we invoke navigation action variable on rowclick callback, the navigation is triggering outside angular zone so adding ngZone.run
515
515
  this.ngZone.run(() => {
516
516
  // Call row click only if click is triggered by user
517
- if (e && e.hasOwnProperty('originalEvent')) {
517
+ if (e?.hasOwnProperty('originalEvent')) {
518
518
  const rowData = this.addRowIndex(row);
519
519
  this.invokeEventCallback('rowclick', { $data: rowData, $event: e, row: rowData });
520
520
  }
@@ -587,7 +587,7 @@ class TableComponent extends StylableComponent {
587
587
  },
588
588
  afterRowUpdate: (row, e, callBack, options) => {
589
589
  muteWatchers();
590
- const v = get(this.datasource, 'category') === 'wm.Variable' && options && options.rowindex != null;
590
+ const v = get(this.datasource, 'category') === 'wm.Variable' && options?.rowindex != null;
591
591
  this.updateRecord(extend({}, options, { row, prevData: v ? options.rowindex : this.prevData, event: e, callBack }));
592
592
  setTimeout(() => {
593
593
  unMuteWatchers();
@@ -798,10 +798,10 @@ class TableComponent extends StylableComponent {
798
798
  return this.ngform.controls[fieldName + '_new'] || {};
799
799
  },
800
800
  getValidationMessage: () => {
801
- return this.columns[fieldName] && this.columns[fieldName].validationmessage;
801
+ return this.columns[fieldName]?.validationmessage;
802
802
  },
803
803
  getPendingSpinnerStatusNew: () => {
804
- return this.columns[fieldName] && this.columns[fieldName].showPendingSpinnerNew;
804
+ return this.columns[fieldName]?.showPendingSpinnerNew;
805
805
  }
806
806
  };
807
807
  const rootNode = this.inlineEditNewViewRef.createEmbeddedView(tmpl, context).rootNodes[0];
@@ -824,10 +824,10 @@ class TableComponent extends StylableComponent {
824
824
  return this.ngform.controls[fieldName] || {};
825
825
  },
826
826
  getValidationMessage: () => {
827
- return this.columns[fieldName] && this.columns[fieldName].validationmessage;
827
+ return this.columns[fieldName]?.validationmessage;
828
828
  },
829
829
  getPendingSpinnerStatus: () => {
830
- return this.columns[fieldName] && this.columns[fieldName].showPendingSpinner;
830
+ return this.columns[fieldName]?.showPendingSpinner;
831
831
  }
832
832
  };
833
833
  const rootNode = this.inlineEditViewRef.createEmbeddedView(tmpl, context).rootNodes[0];
@@ -844,14 +844,14 @@ class TableComponent extends StylableComponent {
844
844
  return this.inlineCompliedTl[fieldName];
845
845
  },
846
846
  setFieldValue: (fieldName, value) => {
847
- const control = this.ngform.controls && this.ngform.controls[fieldName];
847
+ const control = this.ngform.controls?.[fieldName];
848
848
  if (control) {
849
849
  control.setValue(value);
850
850
  }
851
851
  },
852
852
  getFieldValue: fieldName => {
853
- const control = this.ngform.controls && this.ngform.controls[fieldName];
854
- return control && control.value;
853
+ const control = this.ngform.controls?.[fieldName];
854
+ return control?.value;
855
855
  },
856
856
  // function to add load more button to table
857
857
  addLoadMoreBtn: () => {
@@ -870,7 +870,7 @@ class TableComponent extends StylableComponent {
870
870
  },
871
871
  // function to bind scroll event
872
872
  bindScrollEvt: () => {
873
- if (this._gridData && this._gridData.length && this.infScroll) {
873
+ if (this._gridData?.length && this.infScroll) {
874
874
  // smoothscroll events will be binded.
875
875
  // Added timeout as the table html is rendered at runtime
876
876
  setTimeout(() => {
@@ -887,7 +887,7 @@ class TableComponent extends StylableComponent {
887
887
  const context = {
888
888
  changeFn: this.onRowFilterChange.bind(this),
889
889
  isDisabled: (fieldName) => {
890
- return this.emptyMatchModes.indexOf(this.rowFilter[fieldName] && this.rowFilter[fieldName].matchMode) > -1;
890
+ return this.emptyMatchModes.indexOf(this.rowFilter[fieldName]?.matchMode) > -1;
891
891
  }
892
892
  };
893
893
  const rootNode = this.filterViewRef.createEmbeddedView(tmpl, context).rootNodes[0];
@@ -933,9 +933,9 @@ class TableComponent extends StylableComponent {
933
933
  // Function to redraw the widgets on resize of columns
934
934
  redrawWidgets: () => {
935
935
  this.fieldDefs.forEach(col => {
936
- triggerFn(col.inlineInstance && col.inlineInstance.redraw);
937
- triggerFn(col.inlineInstanceNew && col.inlineInstanceNew.redraw);
938
- triggerFn(col.filterInstance && col.filterInstance.redraw);
936
+ triggerFn(col.inlineInstance?.redraw);
937
+ triggerFn(col.inlineInstanceNew?.redraw);
938
+ triggerFn(col.filterInstance?.redraw);
939
939
  });
940
940
  },
941
941
  searchHandler: this.searchSortHandler.bind(this),
@@ -959,17 +959,17 @@ class TableComponent extends StylableComponent {
959
959
  callLoadInlineWidgetData: () => {
960
960
  this.fullFieldDefs.forEach(col => {
961
961
  if (isUndefined(col.isDataSetBound)) {
962
- triggerFn(col.loadInlineWidgetData && col.loadInlineWidgetData.bind(col));
962
+ triggerFn(col.loadInlineWidgetData?.bind(col));
963
963
  }
964
964
  });
965
965
  },
966
966
  // Function to apply validators to Inline form controls
967
967
  applyValidations: (col, alwaysNewRow) => {
968
968
  if (alwaysNewRow) {
969
- triggerFn(col.applyNewRowValidations && col.applyNewRowValidations.bind(col));
969
+ triggerFn(col.applyNewRowValidations?.bind(col));
970
970
  }
971
971
  else {
972
- triggerFn(col.applyValidations && col.applyValidations.bind(col));
972
+ triggerFn(col.applyValidations?.bind(col));
973
973
  }
974
974
  },
975
975
  // Function to remove validators and set form state to untouched for inline form control
@@ -977,10 +977,10 @@ class TableComponent extends StylableComponent {
977
977
  this.fullFieldDefs.forEach(col => {
978
978
  if (!col.readonly && col.binding !== 'rowOperations') {
979
979
  if (alwaysNewRow) {
980
- triggerFn(col.removeNewRowValidations && col.removeNewRowValidations.bind(col));
980
+ triggerFn(col.removeNewRowValidations?.bind(col));
981
981
  }
982
982
  else {
983
- triggerFn(col.removeValidations && col.removeValidations.bind(col));
983
+ triggerFn(col.removeValidations?.bind(col));
984
984
  }
985
985
  }
986
986
  });
@@ -1007,7 +1007,7 @@ class TableComponent extends StylableComponent {
1007
1007
  this._pageLoad = false;
1008
1008
  const widgetState = this.statePersistence.getWidgetState(this);
1009
1009
  if (widgetState) {
1010
- options = this.handleStateParams(widgetState, options);
1010
+ this.handleStateParams(widgetState, options);
1011
1011
  }
1012
1012
  else {
1013
1013
  this.setDataGridOption('selectFirstRow', this.gridfirstrowselect);
@@ -1016,7 +1016,7 @@ class TableComponent extends StylableComponent {
1016
1016
  }),
1017
1017
  // Show loading status based on the variable life cycle
1018
1018
  this.app.subscribe('toggle-variable-state', options => {
1019
- if (this.datasource && this.datasource.execute(DataSource.Operation.IS_API_AWARE) && isDataSourceEqual(options.variable, this.datasource)) {
1019
+ if (this.datasource?.execute(DataSource.Operation.IS_API_AWARE) && isDataSourceEqual(options.variable, this.datasource)) {
1020
1020
  if (this._pageLoad && this.getConfiguredState() !== 'none') {
1021
1021
  this._pageLoad = false;
1022
1022
  const widgetState = this.statePersistence.getWidgetState(this);
@@ -1072,13 +1072,11 @@ class TableComponent extends StylableComponent {
1072
1072
  if (this.readonlygrid === 'true') {
1073
1073
  this.editmode = '';
1074
1074
  }
1075
+ else if (this.isPartOfLiveGrid) {
1076
+ this.editmode = this.isPartOfLiveGrid.formlayout === 'inline' ? EDIT_MODE.FORM : EDIT_MODE.DIALOG;
1077
+ }
1075
1078
  else {
1076
- if (this.isPartOfLiveGrid) {
1077
- this.editmode = this.isPartOfLiveGrid.formlayout === 'inline' ? EDIT_MODE.FORM : EDIT_MODE.DIALOG;
1078
- }
1079
- else {
1080
- this.editmode = this.readonlygrid ? EDIT_MODE.INLINE : '';
1081
- }
1079
+ this.editmode = this.readonlygrid ? EDIT_MODE.INLINE : '';
1082
1080
  }
1083
1081
  }
1084
1082
  this.gridOptions.colDefs = this.fullFieldDefs;
@@ -1144,7 +1142,7 @@ class TableComponent extends StylableComponent {
1144
1142
  }
1145
1143
  getConfiguredState() {
1146
1144
  const mode = this.statePersistence.computeMode(this.statehandler);
1147
- return mode && mode.toLowerCase();
1145
+ return mode?.toLowerCase();
1148
1146
  }
1149
1147
  handleStateParams(widgetState, options) {
1150
1148
  if (get(widgetState, 'selectedItem')) {
@@ -1204,7 +1202,7 @@ class TableComponent extends StylableComponent {
1204
1202
  this.rowFilter[filterObj.field].matchMode = filterObj.matchMode;
1205
1203
  this.rowFilter[filterObj.field].type = filterObj.type;
1206
1204
  if ($(this.rowFilterCompliedTl[filterObj.field]).length) {
1207
- const val = filterObj.type === 'integer' ? parseInt(filterObj.value) : filterObj.value;
1205
+ //const val = filterObj.type === 'integer' ? parseInt(filterObj.value) : filterObj.value;
1208
1206
  $(this.rowFilterCompliedTl[filterObj.field]).find('input').val(filterObj.value);
1209
1207
  }
1210
1208
  }
@@ -1287,10 +1285,8 @@ class TableComponent extends StylableComponent {
1287
1285
  this.dataNavigator.pageChanged({ page: widgetState.pagination || 1, pagesize: widgetState.pagesize }, true);
1288
1286
  }
1289
1287
  }
1290
- else {
1291
- if (get(widgetState, 'pagination')) {
1292
- this.dataNavigator.pageChanged({ page: widgetState.pagination }, true);
1293
- }
1288
+ else if (get(widgetState, 'pagination')) {
1289
+ this.dataNavigator.pageChanged({ page: widgetState.pagination }, true);
1294
1290
  }
1295
1291
  }
1296
1292
  // After the setting the watch on navigator, dataset is triggered with undefined. In this case, return here.
@@ -1442,7 +1438,7 @@ class TableComponent extends StylableComponent {
1442
1438
  this.fullFieldDefs = [];
1443
1439
  this.__fullData = null;
1444
1440
  // MEMORY LEAK FIX: Destroy jQuery datatable widget before clearing gridOptions
1445
- if (this.datagridElement && this.datagridElement.datatable) {
1441
+ if (this.datagridElement?.datatable) {
1446
1442
  try {
1447
1443
  this.datagridElement.datatable('destroy');
1448
1444
  }
@@ -1542,14 +1538,13 @@ class TableComponent extends StylableComponent {
1542
1538
  if (data.active) {
1543
1539
  this.callDataGridMethod('setStatus', 'loading', this.loadingdatamsg);
1544
1540
  }
1541
+ else
1542
+ // If grid is in edit mode or grid has data, dont show the no data message
1543
+ if (!this.isGridEditMode && isEmpty(this.dataset)) {
1544
+ this.callDataGridMethod('setStatus', 'nodata', this.nodatamessage);
1545
+ }
1545
1546
  else {
1546
- // If grid is in edit mode or grid has data, dont show the no data message
1547
- if (!this.isGridEditMode && isEmpty(this.dataset)) {
1548
- this.callDataGridMethod('setStatus', 'nodata', this.nodatamessage);
1549
- }
1550
- else {
1551
- this.callDataGridMethod('setStatus', 'ready');
1552
- }
1547
+ this.callDataGridMethod('setStatus', 'ready');
1553
1548
  }
1554
1549
  }
1555
1550
  setDisabledOnField(operation, colDef, widgetType) {
@@ -1606,7 +1601,7 @@ class TableComponent extends StylableComponent {
1606
1601
  removeEmptyRecords(serviceData) {
1607
1602
  const allRecords = serviceData;
1608
1603
  let filteredData = [];
1609
- if (allRecords && allRecords.length) {
1604
+ if (allRecords?.length) {
1610
1605
  /*Comparing and pushing the non-empty data columns*/
1611
1606
  filteredData = allRecords.filter(record => {
1612
1607
  return record && !this.isEmptyRecord(record);
@@ -1632,7 +1627,7 @@ class TableComponent extends StylableComponent {
1632
1627
  this.gridData = data;
1633
1628
  }
1634
1629
  setDataGridOption(optionName, newVal, forceSet = false) {
1635
- if (!this.datagridElement || !this.datagridElement.datatable || !this.datagridElement.datatable('instance')) {
1630
+ if (!this.datagridElement?.datatable?.('instance')) {
1636
1631
  // Bound properties can update before the jQuery widget is initialized.
1637
1632
  // Keep gridOptions in sync so the initial datatable() call sees the latest value.
1638
1633
  this.gridOptions[optionName] = newVal;
@@ -1646,11 +1641,11 @@ class TableComponent extends StylableComponent {
1646
1641
  }
1647
1642
  }
1648
1643
  callDataGridMethod(...args) {
1649
- if (!this.datagridElement || !this.datagridElement.datatable('instance')) {
1644
+ if (!this.datagridElement?.datatable('instance')) {
1650
1645
  this.applyProps.set(args[1], args);
1651
1646
  return; // If datagrid is not initiliazed or destroyed, return here
1652
1647
  }
1653
- return this.datagridElement.datatable.apply(this.datagridElement, args);
1648
+ return this.datagridElement.datatable(...args);
1654
1649
  }
1655
1650
  renderOperationColumns() {
1656
1651
  let rowActionCol, insertPosition;
@@ -1712,16 +1707,14 @@ class TableComponent extends StylableComponent {
1712
1707
  if (isEqual(this.dataset, newVal)) {
1713
1708
  this.watchVariableDataSet(newVal);
1714
1709
  }
1710
+ else if (isArray(newVal)) {
1711
+ this.widget.dataset = [].concat(newVal);
1712
+ }
1713
+ else if (isObject(newVal)) {
1714
+ this.widget.dataset = extend({}, newVal);
1715
+ }
1715
1716
  else {
1716
- if (isArray(newVal)) {
1717
- this.widget.dataset = [].concat(newVal);
1718
- }
1719
- else if (isObject(newVal)) {
1720
- this.widget.dataset = extend({}, newVal);
1721
- }
1722
- else {
1723
- this.widget.dataset = newVal;
1724
- }
1717
+ this.widget.dataset = newVal;
1725
1718
  }
1726
1719
  }
1727
1720
  else {
@@ -1759,7 +1752,7 @@ class TableComponent extends StylableComponent {
1759
1752
  if (dataset.error) {
1760
1753
  error = dataset.error;
1761
1754
  }
1762
- if (dataset.data && dataset.data.error) {
1755
+ if (dataset.data?.error) {
1763
1756
  if (dataset.data.errorMessage) {
1764
1757
  error = dataset.data.errorMessage;
1765
1758
  }
@@ -1989,7 +1982,7 @@ class TableComponent extends StylableComponent {
1989
1982
  getSortExpr() {
1990
1983
  let sortExp;
1991
1984
  let pagingOptions;
1992
- if (this.datasource && this.datasource.execute(DataSource.Operation.IS_PAGEABLE)) {
1985
+ if (this.datasource?.execute(DataSource.Operation.IS_PAGEABLE)) {
1993
1986
  pagingOptions = this.datasource.execute(DataSource.Operation.GET_PAGING_OPTIONS);
1994
1987
  sortExp = isEmpty(pagingOptions) ? '' : getOrderByExpr(pagingOptions.sort);
1995
1988
  }
@@ -2280,7 +2273,7 @@ class TableComponent extends StylableComponent {
2280
2273
  }
2281
2274
  onDataSourceChange() {
2282
2275
  this.fieldDefs.forEach(col => {
2283
- triggerFn(col.onDataSourceChange && col.onDataSourceChange.bind(col));
2276
+ triggerFn(col.onDataSourceChange?.bind(col));
2284
2277
  });
2285
2278
  }
2286
2279
  refreshRowFilterDataFromDataset() {
@@ -2288,7 +2281,7 @@ class TableComponent extends StylableComponent {
2288
2281
  return;
2289
2282
  }
2290
2283
  this.fieldDefs.forEach(col => {
2291
- triggerFn(col.loadFilterData && col.loadFilterData.bind(col));
2284
+ triggerFn(col.loadFilterData?.bind(col));
2292
2285
  });
2293
2286
  }
2294
2287
  clearActionRowVars() {
@@ -2338,10 +2331,8 @@ class TableComponent extends StylableComponent {
2338
2331
  return;
2339
2332
  }
2340
2333
  }
2341
- else {
2342
- if (!tableColumn.pcDisplay) {
2343
- return;
2344
- }
2334
+ else if (!tableColumn.pcDisplay) {
2335
+ return;
2345
2336
  }
2346
2337
  if (tableColumn['primary-key']) {
2347
2338
  this.primaryKey.push(tableColumn.field);
@@ -2526,13 +2517,13 @@ class TableComponent extends StylableComponent {
2526
2517
  this._pageLoad = true;
2527
2518
  }
2528
2519
  }
2529
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: TableComponent, deps: [{ token: i0.Injector }, { token: i0.EnvironmentInjector }, { token: i1.FormBuilder }, { token: i2.App }, { token: i2.DynamicComponentRefProvider }, { token: i2.StatePersistence }, { token: i2.PaginationService }, { token: i2.Viewport }, { token: i3.ListComponent, optional: true }, { token: 'dataset.bind', attribute: true }, { token: 'datasource.bind', attribute: true }, { token: 'readonlygrid', attribute: true }, { token: i0.NgZone }, { token: i4.TrustAsPipe }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
2530
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.20", type: TableComponent, isStandalone: true, selector: "[wmTable]", host: { listeners: { "keypress": "onKeyPress($event)" } }, providers: [
2520
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: TableComponent, deps: [{ token: i0.Injector }, { token: i0.EnvironmentInjector }, { token: i1.FormBuilder }, { token: i2.App }, { token: i2.DynamicComponentRefProvider }, { token: i2.StatePersistence }, { token: i2.PaginationService }, { token: i2.Viewport }, { token: i3.ListComponent, optional: true }, { token: 'dataset.bind', attribute: true }, { token: 'datasource.bind', attribute: true }, { token: 'readonlygrid', attribute: true }, { token: i0.NgZone }, { token: i4.TrustAsPipe }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
2521
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.21", type: TableComponent, isStandalone: true, selector: "[wmTable]", host: { listeners: { "keypress": "onKeyPress($event)" } }, providers: [
2531
2522
  provideAs(TableComponent, NG_VALUE_ACCESSOR, true),
2532
2523
  provideAsWidgetRef(TableComponent)
2533
2524
  ], queries: [{ propertyName: "rowExpansionTmpl", first: true, predicate: ["rowExpansionTmpl"], descendants: true }, { propertyName: "rowActionTmpl", predicate: ["rowActionTmpl"], descendants: true }, { propertyName: "filterTmpl", predicate: ["filterTmpl"], descendants: true }, { propertyName: "inlineWidgetTmpl", predicate: ["inlineWidgetTmpl"], descendants: true }, { propertyName: "inlineWidgetNewTmpl", predicate: ["inlineWidgetTmplNew"], descendants: true }, { propertyName: "customExprTmpl", predicate: ["customExprTmpl"], descendants: true }, { propertyName: "rowExpansionActionTmpl", predicate: ["rowExpansionActionTmpl"], descendants: true }], viewQueries: [{ propertyName: "dataNavigator", first: true, predicate: PaginationComponent, descendants: true, static: true }, { propertyName: "_tableElement", first: true, predicate: ["datagridElement"], descendants: true, static: true }, { propertyName: "rowActionsViewRef", first: true, predicate: ["rowActionsView"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "filterViewRef", first: true, predicate: ["multiColumnFilterView"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "inlineEditViewRef", first: true, predicate: ["inlineEditView"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "inlineEditNewViewRef", first: true, predicate: ["inlineEditNewView"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "customExprViewRef", first: true, predicate: ["customExprView"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "rowDetailViewRef", first: true, predicate: ["rowDetailView"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "rowExpansionActionViewRef", first: true, predicate: ["rowExpansionActionView"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "dynamicTableRef", first: true, predicate: ["dynamicTable"], descendants: true, read: ViewContainerRef, static: true }], usesInheritance: true, ngImport: i0, template: "@if (title || subheading || iconclass || iconurl || exportOptions.length || _actions.header.length) {\n <div class=\"panel-heading\">\n <h3 class=\"panel-title\">\n <div class=\"pull-left\">\n @if (iconclass || iconurl) {\n <wm-app-icon [iconclass]=\"iconclass\" [iconurl]=\"iconurl\" [iconClasses]=\"iconurl ? 'panel-image-icon' : 'panel-icon'\" alt=\"Table icon\"></wm-app-icon>\n }\n </div>\n <div class=\"pull-left\">\n <div class=\"heading\" [innerHTML]=\"title\"></div>\n <div class=\"description\" [innerHTML]=\"subheading\"></div>\n </div>\n @if (exportOptions.length || _actions.header.length) {\n <div class=\"panel-actions app-datagrid-actions\">\n @for (btn of _actions.header; track btn; let index = $index) {\n <ng-container\n [ngTemplateOutlet]=\"btn.widgetType === 'button' ? buttonRef : anchorRef\"\n [ngTemplateOutletContext]=\"{btn:btn}\"\n [ngTemplateOutletInjector]=\"createCustomInjector('actions_header_' + index, {btn:btn})\">\n </ng-container>\n }\n @if (exportOptions.length) {\n <div wmMenu dropdown caption.bind=\"appLocale.LABEL_EXPORT\" autoclose=\"always\" attr.name=\"{{name}}-export\"\n dataset.bind=\"exportOptions\" select.event=\"export($item)\" menuposition=\"down,left\"></div>\n }\n </div>\n }\n </h3>\n </div>\n}\n<div class=\"app-datagrid\" #datagridElement></div>\n\n<div class=\"panel-footer clearfix\" [hidden]=\"!_actions.footer.length && (!shownavigation || (onDemandLoad && dataNavigator.isDisableNext)) \">\n <div class=\"app-datagrid-paginator\" [hidden]=\"(!dataNavigator?.dataSize && !dataNavigator.datasource?.pagination?.next) || !shownavigation || (onDemandLoad && dataNavigator.isDisableNext)\">\n <nav wmPagination show.bind=\"shownavigation\" navigationalign.bind=\"navigationalign\"\n navigationsize.bind=\"navigationSize\"\n navigation.bind=\"navControls\" showrecordcount.bind=\"showrecordcount\" maxsize.bind=\"maxsize\"\n boundarylinks.bind=\"boundarylinks\"\n forceellipses.bind=\"forceellipses\" directionlinks.bind=\"directionlinks\"></nav>\n </div>\n @if (_actions.footer.length) {\n <div class=\"app-datagrid-actions\">\n @for (btn of _actions.footer; track btn; let index = $index) {\n <ng-container\n [ngTemplateOutlet]=\"btn.widgetType === 'button' ? buttonRef : anchorRef\"\n [ngTemplateOutletContext]=\"{btn:btn}\"\n [ngTemplateOutletInjector]=\"createCustomInjector('actions_footer_' + index, {btn:btn})\">\n </ng-container>\n }\n </div>\n }\n</div>\n\n<ng-template #buttonRef let-btn=\"btn\">\n <button wmButton caption.bind=\"btn.displayName\" show.bind=\"btn.show\" class.bind=\"btn.class\" iconclass.bind=\"btn.iconclass\" (click)=\"invokeActionEvent($event, btn.action)\"\n [ngClass]=\"{'btn-sm': spacing === 'condensed', 'disabled-new': btn.key === 'addNewRow' && (isGridEditMode || isLoading)}\"\n type=\"button\" shortcutkey.bind=\"btn.shortcutkey\" tabindex.bind=\"btn.tabindex\" hint.bind=\"btn.title\" [attr.aria-label]=\"btn.displayName\" disabled.bind=\"btn.disabled\" conditionalclass.bind=\"btn.conditionalclass\" conditionalstyle.bind=\"btn.conditionalstyle\"></button>\n</ng-template>\n\n<ng-template #anchorRef let-btn=\"btn\">\n <a wmAnchor caption.bind=\"btn.displayName\" show.bind=\"btn.show\" class.bind=\"btn.class\" iconclass.bind=\"btn.iconclass\" (click)=\"invokeActionEvent($event, btn.action)\"\n [ngClass]=\"{'btn-sm': spacing === 'condensed', 'disabled-new': btn.key === 'addNewRow' && (isGridEditMode || isLoading)}\"\n shortcutkey.bind=\"btn.shortcutkey\" tabindex.bind=\"btn.tabindex\" hint.bind=\"btn.title\"\n hyperlink.bind=\"btn.hyperlink\" target.bind=\"btn.target\" conditionalclass.bind=\"btn.conditionalclass\" conditionalstyle.bind=\"btn.conditionalstyle\"></a>\n</ng-template>\n\n<div hidden>\n <ng-container #multiColumnFilterView></ng-container>\n\n <ng-container #inlineEditView></ng-container>\n\n <ng-container #inlineEditNewView></ng-container>\n\n <ng-container #rowActionsView></ng-container>\n\n <ng-container #rowExpansionActionView></ng-container>\n\n <ng-container #customExprView></ng-container>\n\n <ng-container #dynamicTable></ng-container>\n\n <ng-container #rowDetailView></ng-container>\n\n <div class=\"dynamic-table-container\"></div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: AnchorComponent, selector: "a[wmAnchor]", exportAs: ["wmAnchor"] }, { kind: "component", type: PaginationComponent, selector: "[wmPagination]", outputs: ["resultEmitter", "maxResultsEmitter"] }, { kind: "component", type: ButtonComponent, selector: "button[wmButton]", exportAs: ["wmButton"] }, { kind: "ngmodule", type: BsDropdownModule }, { kind: "directive", type: i6.BsDropdownDirective, selector: "[bsDropdown], [dropdown]", inputs: ["placement", "triggers", "container", "dropup", "autoClose", "isAnimated", "insideClick", "isDisabled", "isOpen"], outputs: ["isOpenChange", "onShown", "onHidden"], exportAs: ["bs-dropdown"] }, { kind: "component", type: MenuComponent, selector: "[wmMenu]" }, { kind: "component", type: WmAppIconComponent, selector: "wm-app-icon", inputs: ["icon", "iconclass", "iconurl", "defaultIconClass", "defaultClasses", "iconStyle", "alt"] }] }); }
2534
2525
  }
2535
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: TableComponent, decorators: [{
2526
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: TableComponent, decorators: [{
2536
2527
  type: Component,
2537
2528
  args: [{ standalone: true, imports: [CommonModule, AnchorComponent, PaginationComponent, ButtonComponent, BsDropdownModule, MenuComponent, WmAppIconComponent], selector: '[wmTable]', providers: [
2538
2529
  provideAs(TableComponent, NG_VALUE_ACCESSOR, true),
@@ -2684,7 +2675,7 @@ class TableCUDDirective {
2684
2675
  dataSource.execute(DataSource.Operation.FETCH_DISTINCT_VALUES);
2685
2676
  if (!this.table.isNavigationEnabled()) {
2686
2677
  const sortInfo = this.table.sortInfo;
2687
- const sortOptions = sortInfo && sortInfo.direction ? (sortInfo.field + ' ' + sortInfo.direction) : '';
2678
+ const sortOptions = sortInfo?.direction ? (sortInfo.field + ' ' + sortInfo.direction) : '';
2688
2679
  refreshDataSource(dataSource, {
2689
2680
  page: 1,
2690
2681
  filterFields: this.table.getFilterFields(this.table.filterInfo),
@@ -2886,7 +2877,7 @@ class TableCUDDirective {
2886
2877
  deleteSuccessHandler(row, response, evt, callBack) {
2887
2878
  /* check the response whether the data successfully deleted or not , if any error occurred show the
2888
2879
  * corresponding error , other wise remove the row from grid */
2889
- if (response && response.error) {
2880
+ if (response?.error) {
2890
2881
  if (!this.table.onError) {
2891
2882
  this.table.toggleMessage(true, 'error', this.table.errormessage || response.error);
2892
2883
  }
@@ -3000,24 +2991,23 @@ class TableCUDDirective {
3000
2991
  this.triggerWMEvent('update');
3001
2992
  return;
3002
2993
  }
3003
- if (evt && evt.target) {
2994
+ if (evt?.target) {
3004
2995
  this.table.callDataGridMethod('toggleEditRow', evt, { 'selectRow': true, action: 'edit' });
3005
2996
  }
2997
+ else
2998
+ // For live form, call the update function with selected item
2999
+ if (this.table.editmode === 'form' || this.table.editmode === 'dialog') {
3000
+ row = evt || this.table.selectedItems[0];
3001
+ this.table.gridOptions.beforeRowUpdate(row);
3002
+ }
3006
3003
  else {
3007
- // For live form, call the update function with selected item
3008
- if (this.table.editmode === 'form' || this.table.editmode === 'dialog') {
3009
- row = evt || this.table.selectedItems[0];
3010
- this.table.gridOptions.beforeRowUpdate(row);
3011
- }
3012
- else {
3013
- // Wait for the selected item to get updated
3014
- setTimeout(() => {
3015
- row = this.table.datagridElement.find('tr.active');
3016
- if (row.length) {
3017
- this.table.callDataGridMethod('toggleEditRow', undefined, { $row: row, action: 'edit' });
3018
- }
3019
- });
3020
- }
3004
+ // Wait for the selected item to get updated
3005
+ setTimeout(() => {
3006
+ row = this.table.datagridElement.find('tr.active');
3007
+ if (row.length) {
3008
+ this.table.callDataGridMethod('toggleEditRow', undefined, { $row: row, action: 'edit' });
3009
+ }
3010
+ });
3021
3011
  }
3022
3012
  this.table._triggeredByUser = true;
3023
3013
  // Fix for [WMS-23263]: set 'isDataUpdatedByUser' flag to false since dataset is not being updated from script
@@ -3044,7 +3034,7 @@ class TableCUDDirective {
3044
3034
  }
3045
3035
  deleteRow(evt) {
3046
3036
  let row;
3047
- if (evt && evt.target) {
3037
+ if (evt?.target) {
3048
3038
  this.table.callDataGridMethod('deleteRowAndUpdateSelectAll', evt);
3049
3039
  }
3050
3040
  else {
@@ -3082,10 +3072,10 @@ class TableCUDDirective {
3082
3072
  this.dialogService = null;
3083
3073
  this.app = null;
3084
3074
  }
3085
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: TableCUDDirective, deps: [{ token: TableComponent, self: true }, { token: i2.AbstractDialogService }, { token: i2.App }], target: i0.ɵɵFactoryTarget.Directive }); }
3086
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.20", type: TableCUDDirective, isStandalone: true, selector: "[wmTableCUD]", ngImport: i0 }); }
3075
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: TableCUDDirective, deps: [{ token: TableComponent, self: true }, { token: i2.AbstractDialogService }, { token: i2.App }], target: i0.ɵɵFactoryTarget.Directive }); }
3076
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.21", type: TableCUDDirective, isStandalone: true, selector: "[wmTableCUD]", ngImport: i0 }); }
3087
3077
  }
3088
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: TableCUDDirective, decorators: [{
3078
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: TableCUDDirective, decorators: [{
3089
3079
  type: Directive,
3090
3080
  args: [{
3091
3081
  standalone: true,
@@ -3212,7 +3202,7 @@ const setAllFilterFields = function (filterFields, searchObj, visibleCols) {
3212
3202
  };
3213
3203
  // Set the filter fields as required by datasource
3214
3204
  const setFilterFields = (filterFields, searchObj, visibleCols = []) => {
3215
- const field = searchObj && searchObj.field;
3205
+ const field = searchObj?.field;
3216
3206
  /*Set the filter options when a field/column has been selected.*/
3217
3207
  if (field) {
3218
3208
  filterFields[field] = {
@@ -3413,11 +3403,10 @@ class TableFilterSortDirective {
3413
3403
  const parts = dateString?.split(/[-/\s]+/)?.map(Number) || [];
3414
3404
  return new Date(parts[2], parts[1] - 1, parts[0]).getTime();
3415
3405
  }
3416
- return NaN;
3417
3406
  }
3418
3407
  // Returns data sorted using sortObj
3419
3408
  getSortResult(data, sortObj) {
3420
- if (sortObj && sortObj.direction) {
3409
+ if (sortObj?.direction) {
3421
3410
  const sampleItem = find(data, (item) => {
3422
3411
  const v = get(item, sortObj.field);
3423
3412
  return typeof v === 'string' && !!v.trim();
@@ -3514,7 +3503,7 @@ class TableFilterSortDirective {
3514
3503
  $row.hide();
3515
3504
  }
3516
3505
  });
3517
- if (data && data.length) {
3506
+ if (data?.length) {
3518
3507
  this.table.callDataGridMethod('setStatus', 'ready');
3519
3508
  // Select the first row after the search for single select
3520
3509
  if (this.table.gridfirstrowselect && !this.table.multiselect) {
@@ -3534,7 +3523,7 @@ class TableFilterSortDirective {
3534
3523
  return;
3535
3524
  }
3536
3525
  const sortInfo = this.table.sortInfo;
3537
- const sortOptions = sortInfo && sortInfo.direction ? (sortInfo.field + ' ' + sortInfo.direction) : '';
3526
+ const sortOptions = sortInfo?.direction ? (sortInfo.field + ' ' + sortInfo.direction) : '';
3538
3527
  const filterFields = this.getFilterFields(searchObj);
3539
3528
  const logicalOp = this.getLogicalOperator(filterFields);
3540
3529
  refreshDataSource(this.table.datasource, {
@@ -3554,7 +3543,7 @@ class TableFilterSortDirective {
3554
3543
  this.table.gridOptions.sortInfo.field = sortObj.field;
3555
3544
  this.table.gridOptions.sortInfo.direction = sortObj.direction;
3556
3545
  this.table.sortInfo = getClonedObject(sortObj);
3557
- const sortOptions = sortObj && sortObj.direction ? (sortObj.field + ' ' + sortObj.direction) : '';
3546
+ const sortOptions = sortObj?.direction ? (sortObj.field + ' ' + sortObj.direction) : '';
3558
3547
  const filterFields = this.getFilterFields(this.table.filterInfo);
3559
3548
  const condition = this.getLogicalOperator(filterFields);
3560
3549
  if (!statePersistenceTriggered && this.table.getConfiguredState() !== 'none') {
@@ -3567,7 +3556,7 @@ class TableFilterSortDirective {
3567
3556
  condition: condition
3568
3557
  }).then((response) => {
3569
3558
  $appDigest();
3570
- const data = (response && response.data) ? response.data : response;
3559
+ const data = (response?.data) ? response.data : response;
3571
3560
  this.table.invokeEventCallback('sort', { $event: e, $data: {
3572
3561
  data,
3573
3562
  sortDirection: sortObj.direction,
@@ -3642,11 +3631,11 @@ class TableFilterSortDirective {
3642
3631
  filterFields.push({ field: key, matchMode: val.matchMode, type: val.type, value: val.value });
3643
3632
  });
3644
3633
  }
3645
- if (dataSource && dataSource.execute(DataSource.Operation.SUPPORTS_SERVER_FILTER)) {
3634
+ if (dataSource?.execute(DataSource.Operation.SUPPORTS_SERVER_FILTER)) {
3646
3635
  this.handleServerSideSearch(filterFields);
3647
3636
  return;
3648
3637
  }
3649
- if (dataSource && dataSource.execute(DataSource.Operation.IS_API_AWARE) && dataSource.execute(DataSource.Operation.IS_PAGEABLE)) {
3638
+ if (dataSource?.execute(DataSource.Operation.IS_API_AWARE) && dataSource.execute(DataSource.Operation.IS_PAGEABLE)) {
3650
3639
  this.handleSinglePageSearch(filterFields);
3651
3640
  }
3652
3641
  else {
@@ -3672,7 +3661,7 @@ class TableFilterSortDirective {
3672
3661
  console.warn('Retain State handling on Widget ' + this.table.name + ' is not supported for current pagination type.');
3673
3662
  }
3674
3663
  // WMS-22387: For server side pagination, execute client side sorting
3675
- if (dataSource && dataSource.execute(DataSource.Operation.IS_SORTABLE)) {
3664
+ if (dataSource?.execute(DataSource.Operation.IS_SORTABLE)) {
3676
3665
  this.handleSeverSideSort(searchSortObj, e, statePersistenceTriggered);
3677
3666
  }
3678
3667
  else {
@@ -3702,12 +3691,12 @@ class TableFilterSortDirective {
3702
3691
  }
3703
3692
  // Method to show/hide clear icon in multi column filter
3704
3693
  showClearIcon(fieldName) {
3705
- const value = this.table.rowFilter[fieldName] && this.table.rowFilter[fieldName].value;
3694
+ const value = this.table.rowFilter[fieldName]?.value;
3706
3695
  return isDefined(value) && value !== '' && value !== null;
3707
3696
  }
3708
3697
  // Method clear the filter value in multi column filter
3709
3698
  clearRowFilter(fieldName) {
3710
- if (this.table.rowFilter && this.table.rowFilter[fieldName]) {
3699
+ if (this.table.rowFilter?.[fieldName]) {
3711
3700
  this.table.columns[fieldName].resetFilter();
3712
3701
  this.onRowFilterChange(fieldName);
3713
3702
  }
@@ -3721,21 +3710,20 @@ class TableFilterSortDirective {
3721
3710
  this.table.columns[fieldName].resetFilter();
3722
3711
  this.table.onRowFilterChange();
3723
3712
  }
3713
+ else
3714
+ // If value is present, call the filter. Else, focus on the field
3715
+ if (isDefined(this.table.rowFilter[fieldName].value) && this.table.rowFilter[fieldName].value !== '') {
3716
+ this.table.onRowFilterChange();
3717
+ }
3724
3718
  else {
3725
- // If value is present, call the filter. Else, focus on the field
3726
- if (isDefined(this.table.rowFilter[fieldName].value) && this.table.rowFilter[fieldName].value !== '') {
3727
- this.table.onRowFilterChange();
3728
- }
3729
- else {
3730
- setTimeout(() => {
3731
- this.table.columns[fieldName].filterInstance.focus();
3732
- });
3733
- }
3719
+ setTimeout(() => {
3720
+ this.table.columns[fieldName].filterInstance.focus();
3721
+ });
3734
3722
  }
3735
3723
  }
3736
3724
  // Method to get the updated values when filter on field is changed for multicolumn filter
3737
3725
  getFilterOnFieldValues(filterDef) {
3738
- if (!this.table.datasource || !this.table.datasource.execute(DataSource.Operation.SUPPORTS_DISTINCT_API)) {
3726
+ if (!this.table.datasource?.execute(DataSource.Operation.SUPPORTS_DISTINCT_API)) {
3739
3727
  return;
3740
3728
  }
3741
3729
  const fieldName = filterDef.field;
@@ -3796,7 +3784,7 @@ class TableFilterSortDirective {
3796
3784
  }
3797
3785
  const page = isSamePage ? this.table.dataNavigator.dn.currentPage : 1;
3798
3786
  const sortInfo = this.table.sortInfo;
3799
- const sortOptions = sortInfo && sortInfo.direction ? (sortInfo.field + ' ' + sortInfo.direction) : '';
3787
+ const sortOptions = sortInfo?.direction ? (sortInfo.field + ' ' + sortInfo.direction) : '';
3800
3788
  const filterFields = this.getFilterFields(this.table.filterInfo);
3801
3789
  const logicalOp = this.getLogicalOperator(filterFields);
3802
3790
  refreshDataSource(this.table.datasource, {
@@ -3810,10 +3798,10 @@ class TableFilterSortDirective {
3810
3798
  // MEMORY LEAK FIX: Clear table reference
3811
3799
  this.table = null;
3812
3800
  }
3813
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: TableFilterSortDirective, deps: [{ token: TableComponent, self: true }], target: i0.ɵɵFactoryTarget.Directive }); }
3814
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.20", type: TableFilterSortDirective, isStandalone: true, selector: "[wmTableFilterSort]", ngImport: i0 }); }
3801
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: TableFilterSortDirective, deps: [{ token: TableComponent, self: true }], target: i0.ɵɵFactoryTarget.Directive }); }
3802
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.21", type: TableFilterSortDirective, isStandalone: true, selector: "[wmTableFilterSort]", ngImport: i0 }); }
3815
3803
  }
3816
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: TableFilterSortDirective, decorators: [{
3804
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: TableFilterSortDirective, decorators: [{
3817
3805
  type: Directive,
3818
3806
  args: [{
3819
3807
  standalone: true,
@@ -3903,12 +3891,12 @@ class TableActionDirective extends BaseComponent {
3903
3891
  // Call parent ngOnDestroy (BaseComponent has cleanup)
3904
3892
  super.ngOnDestroy();
3905
3893
  }
3906
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: TableActionDirective, deps: [{ token: i0.Injector }, { token: TableComponent, optional: true }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
3907
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.20", type: TableActionDirective, isStandalone: true, selector: "[wmTableAction]", providers: [
3894
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: TableActionDirective, deps: [{ token: i0.Injector }, { token: TableComponent, optional: true }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
3895
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.21", type: TableActionDirective, isStandalone: true, selector: "[wmTableAction]", providers: [
3908
3896
  provideAsWidgetRef(TableActionDirective)
3909
3897
  ], usesInheritance: true, ngImport: i0 }); }
3910
3898
  }
3911
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: TableActionDirective, decorators: [{
3899
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: TableActionDirective, decorators: [{
3912
3900
  type: Directive,
3913
3901
  args: [{
3914
3902
  standalone: true,
@@ -4075,12 +4063,12 @@ class TableColumnGroupDirective extends BaseComponent {
4075
4063
  // Call parent ngOnDestroy (BaseComponent has cleanup)
4076
4064
  super.ngOnDestroy();
4077
4065
  }
4078
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: TableColumnGroupDirective, deps: [{ token: i0.Injector }, { token: TableColumnGroupDirective, optional: true, skipSelf: true }, { token: TableComponent, optional: true }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
4079
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.20", type: TableColumnGroupDirective, isStandalone: true, selector: "[wmTableColumnGroup]", providers: [
4066
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: TableColumnGroupDirective, deps: [{ token: i0.Injector }, { token: TableColumnGroupDirective, optional: true, skipSelf: true }, { token: TableComponent, optional: true }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
4067
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.21", type: TableColumnGroupDirective, isStandalone: true, selector: "[wmTableColumnGroup]", providers: [
4080
4068
  provideAsWidgetRef(TableColumnGroupDirective)
4081
4069
  ], usesInheritance: true, ngImport: i0 }); }
4082
4070
  }
4083
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: TableColumnGroupDirective, decorators: [{
4071
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: TableColumnGroupDirective, decorators: [{
4084
4072
  type: Directive,
4085
4073
  args: [{
4086
4074
  standalone: true,
@@ -4178,7 +4166,7 @@ class TableColumnDirective extends BaseComponent {
4178
4166
  // when column is inside a group then consider the col index and not header index.
4179
4167
  const colIndex = parseInt(this.getAttr('index'), 10);
4180
4168
  const headerIndex = parseInt(this.getAttr('headerIndex'), 10);
4181
- const fieldName = this.group && this.group.name;
4169
+ const fieldName = this.group?.name;
4182
4170
  // Register column with header config to create group structure
4183
4171
  setHeaderConfigForTable(this.table.headerConfig, {
4184
4172
  field: this.field,
@@ -4213,7 +4201,7 @@ class TableColumnDirective extends BaseComponent {
4213
4201
  if (this._isRowFilter) {
4214
4202
  // Listen on the inner row filter widget and setup the widget
4215
4203
  const s1 = this._filterInstances.changes.subscribe((val) => {
4216
- this.filterInstance = val.first && val.first.widget;
4204
+ this.filterInstance = val.first?.widget;
4217
4205
  this.setUpFilterWidget();
4218
4206
  });
4219
4207
  this.registerDestroyListener(() => s1.unsubscribe());
@@ -4221,7 +4209,7 @@ class TableColumnDirective extends BaseComponent {
4221
4209
  if (this._isInlineEditable) {
4222
4210
  const s2 = this._inlineInstances.changes.subscribe((val) => {
4223
4211
  // Listen on the inner inline widget and setup the widget
4224
- this.inlineInstance = val.first && val.first.widget;
4212
+ this.inlineInstance = val.first?.widget;
4225
4213
  this.fieldValidations.formwidget = val.first;
4226
4214
  this.table.registerFormField(this.binding, new FieldDef(this.inlineInstance));
4227
4215
  this.setUpInlineWidget('inlineInstance');
@@ -4230,7 +4218,7 @@ class TableColumnDirective extends BaseComponent {
4230
4218
  if (this._isNewEditableRow) {
4231
4219
  const s3 = this._inlineInstancesNew.changes.subscribe((val) => {
4232
4220
  // Listen on the inner inline widget and setup the widget
4233
- this.inlineInstanceNew = val.first && val.first.widget;
4221
+ this.inlineInstanceNew = val.first?.widget;
4234
4222
  this.fieldValidations_new.formwidget = val.first;
4235
4223
  this.setUpInlineWidget('inlineInstanceNew');
4236
4224
  });
@@ -4270,7 +4258,7 @@ class TableColumnDirective extends BaseComponent {
4270
4258
  // Remove validators for the inline widget and set form to untouched
4271
4259
  removeValidations() {
4272
4260
  // Guard against component destruction or table/ngform being null
4273
- if (this.isDestroyed || !this.table || !this.table.ngform) {
4261
+ if (this.isDestroyed || !this.table?.ngform) {
4274
4262
  return;
4275
4263
  }
4276
4264
  this.table.ngform.markAsUntouched();
@@ -4285,7 +4273,7 @@ class TableColumnDirective extends BaseComponent {
4285
4273
  // Apply default|sync|async|prop validators for QuickEdit new row form control
4286
4274
  applyNewRowValidations() {
4287
4275
  // Guard against component destruction or table/ngform being null
4288
- if (this.isDestroyed || !this.table || !this.table.ngform) {
4276
+ if (this.isDestroyed || !this.table?.ngform) {
4289
4277
  return;
4290
4278
  }
4291
4279
  if (!this._checkNewEditableRowControl()) {
@@ -4305,7 +4293,7 @@ class TableColumnDirective extends BaseComponent {
4305
4293
  // Remove validators for the QuickEdit new row widget and set form to untouched
4306
4294
  removeNewRowValidations() {
4307
4295
  // Guard against component destruction or table/ngform being null
4308
- if (this.isDestroyed || !this.table || !this.table.ngform) {
4296
+ if (this.isDestroyed || !this.table?.ngform) {
4309
4297
  return;
4310
4298
  }
4311
4299
  this.table.ngform.markAsUntouched();
@@ -4322,7 +4310,7 @@ class TableColumnDirective extends BaseComponent {
4322
4310
  }
4323
4311
  addFormControl(suffix) {
4324
4312
  // Guard against component destruction or table/ngform being null
4325
- if (this.isDestroyed || !this.table || !this.table.ngform) {
4313
+ if (this.isDestroyed || !this.table?.ngform) {
4326
4314
  return;
4327
4315
  }
4328
4316
  const ctrlName = suffix ? (this.binding + suffix) : this.binding;
@@ -4330,7 +4318,7 @@ class TableColumnDirective extends BaseComponent {
4330
4318
  }
4331
4319
  getFormControl(suffix) {
4332
4320
  // Guard against component destruction or table/ngform being null
4333
- if (this.isDestroyed || !this.table || !this.table.ngform) {
4321
+ if (this.isDestroyed || !this.table?.ngform) {
4334
4322
  return null;
4335
4323
  }
4336
4324
  const ctrlName = suffix ? (this.binding + suffix) : this.binding;
@@ -4389,7 +4377,7 @@ class TableColumnDirective extends BaseComponent {
4389
4377
  // When a row-filter widget value changes (multi-column filter),
4390
4378
  // apply cascading filter so dependent filter widgets update their datasets.
4391
4379
  // Example: filtering City should narrow down Street filter options.
4392
- if (this.isDestroyed || !this.table || !this.table.datasource) {
4380
+ if (this.isDestroyed || !this.table?.datasource) {
4393
4381
  return;
4394
4382
  }
4395
4383
  // Don't cascade on null/undefined; clearing a filter should reset dependent datasets via their own refresh.
@@ -4401,7 +4389,7 @@ class TableColumnDirective extends BaseComponent {
4401
4389
  }
4402
4390
  // Get of the active from control
4403
4391
  get datavalue() {
4404
- return this[this.activeControlType] && this[this.activeControlType].datavalue;
4392
+ return this[this.activeControlType]?.datavalue;
4405
4393
  }
4406
4394
  set datavalue(val) {
4407
4395
  const control = this.getFormControl(this.activeControlType === 'inlineInstanceNew' ? '_new' : undefined);
@@ -4429,7 +4417,7 @@ class TableColumnDirective extends BaseComponent {
4429
4417
  widget: 'edit-widget-type'
4430
4418
  });
4431
4419
  }
4432
- if (this.table.ngform && this.table.ngform.touched) {
4420
+ if (this.table.ngform?.touched) {
4433
4421
  this.activeControlType = widget;
4434
4422
  if (widget === 'inlineInstance') {
4435
4423
  this.notifyChanges();
@@ -4634,7 +4622,7 @@ class TableColumnDirective extends BaseComponent {
4634
4622
  this.ngclass = this['col-ng-class'];
4635
4623
  this.formatpattern = this.formatpattern === 'toNumber' ? 'numberToString' : this.formatpattern;
4636
4624
  this.searchable = (this.type === 'blob' || this.type === 'clob') ? false : this.searchable;
4637
- this.showinfilter = (this.nativeElement.hasAttribute('showinfilter') && !(this.table && this.table.isdynamictable)) ? this.nativeElement.getAttribute('showinfilter') : (this.show);
4625
+ this.showinfilter = (this.nativeElement.hasAttribute('showinfilter') && !(this.table?.isdynamictable)) ? this.nativeElement.getAttribute('showinfilter') : (this.show);
4638
4626
  this.limit = this.limit ? +this.limit : undefined;
4639
4627
  this.editWidgetType = this['edit-widget-type'] = this['edit-widget-type'] || getEditModeWidget(this);
4640
4628
  this.filterOn = this['filter-on'];
@@ -4668,7 +4656,7 @@ class TableColumnDirective extends BaseComponent {
4668
4656
  this.setProperty('displayName', this.displayName);
4669
4657
  // Fix for [WMS-25934]: update the headerConfig list when there is change in display name
4670
4658
  // when column is inside a group then consider the col index and not header index.
4671
- const fieldName = this.group && this.group.name;
4659
+ const fieldName = this.group?.name;
4672
4660
  const index = fieldName ? parseInt(this.getAttr('index'), 10) : parseInt(this.getAttr('headerIndex'), 10);
4673
4661
  // Register column with header config to create group structure
4674
4662
  if (!this.table.headerConfig.some(value => this.field == value.field)) {
@@ -4804,12 +4792,12 @@ class TableColumnDirective extends BaseComponent {
4804
4792
  // Call parent ngOnDestroy
4805
4793
  super.ngOnDestroy();
4806
4794
  }
4807
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: TableColumnDirective, deps: [{ token: i0.Injector }, { token: i2.AppDefaults }, { token: TableComponent, optional: true }, { token: TableColumnGroupDirective, optional: true }, { token: 'filterdataset.bind', attribute: true }, { token: 'dataset.bind', attribute: true }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
4808
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.20", type: TableColumnDirective, isStandalone: true, selector: "[wmTableColumn]", providers: [
4795
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: TableColumnDirective, deps: [{ token: i0.Injector }, { token: i2.AppDefaults }, { token: TableComponent, optional: true }, { token: TableColumnGroupDirective, optional: true }, { token: 'filterdataset.bind', attribute: true }, { token: 'dataset.bind', attribute: true }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
4796
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.21", type: TableColumnDirective, isStandalone: true, selector: "[wmTableColumn]", providers: [
4809
4797
  provideAsWidgetRef(TableColumnDirective)
4810
4798
  ], queries: [{ propertyName: "customExprTmpl", first: true, predicate: ["customExprTmpl"], descendants: true }, { propertyName: "inlineWidthTempRef", first: true, predicate: ["inlineWidgetTmpl"], descendants: true }, { propertyName: "filterTemplateRef", first: true, predicate: ["filterTmpl"], descendants: true }, { propertyName: "_filterInstances", predicate: ["filterWidget"], descendants: true }, { propertyName: "_inlineInstances", predicate: ["inlineWidget"], descendants: true }, { propertyName: "_inlineInstancesNew", predicate: ["inlineWidgetNew"], descendants: true }], usesInheritance: true, ngImport: i0 }); }
4811
4799
  }
4812
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: TableColumnDirective, decorators: [{
4800
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: TableColumnDirective, decorators: [{
4813
4801
  type: Directive,
4814
4802
  args: [{
4815
4803
  standalone: true,
@@ -4905,12 +4893,12 @@ class TableRowDirective extends BaseComponent {
4905
4893
  // Call parent ngOnDestroy (BaseComponent has cleanup)
4906
4894
  super.ngOnDestroy();
4907
4895
  }
4908
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: TableRowDirective, deps: [{ token: i0.Injector }, { token: TableComponent, optional: true, skipSelf: true }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
4909
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.20", type: TableRowDirective, isStandalone: true, selector: "[wmTableRow]", providers: [
4896
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: TableRowDirective, deps: [{ token: i0.Injector }, { token: TableComponent, optional: true, skipSelf: true }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
4897
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.21", type: TableRowDirective, isStandalone: true, selector: "[wmTableRow]", providers: [
4910
4898
  provideAsWidgetRef(TableRowDirective)
4911
4899
  ], usesInheritance: true, ngImport: i0 }); }
4912
4900
  }
4913
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: TableRowDirective, decorators: [{
4901
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: TableRowDirective, decorators: [{
4914
4902
  type: Directive,
4915
4903
  args: [{
4916
4904
  standalone: true,
@@ -4993,13 +4981,13 @@ class TableRowActionDirective extends BaseComponent {
4993
4981
  // Call parent ngOnDestroy (BaseComponent has cleanup)
4994
4982
  super.ngOnDestroy();
4995
4983
  }
4996
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: TableRowActionDirective, deps: [{ token: i0.Injector }, { token: TableComponent, optional: true }, { token: Context, self: true }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
4997
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.20", type: TableRowActionDirective, isStandalone: true, selector: "[wmTableRowAction]", providers: [
4984
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: TableRowActionDirective, deps: [{ token: i0.Injector }, { token: TableComponent, optional: true }, { token: Context, self: true }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
4985
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.21", type: TableRowActionDirective, isStandalone: true, selector: "[wmTableRowAction]", providers: [
4998
4986
  provideAsWidgetRef(TableRowActionDirective),
4999
4987
  { provide: Context, useFactory: () => { return {}; }, multi: true }
5000
4988
  ], usesInheritance: true, ngImport: i0 }); }
5001
4989
  }
5002
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: TableRowActionDirective, decorators: [{
4990
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: TableRowActionDirective, decorators: [{
5003
4991
  type: Directive,
5004
4992
  args: [{
5005
4993
  standalone: true,