udp-stencil-component-library 25.18.2-beta.5 → 25.18.2-beta.6

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 (317) hide show
  1. package/dist/cjs/add-map-feature-popup_4.cjs.entry.js +12 -12
  2. package/dist/cjs/advanced-search_12.cjs.entry.js +1 -1
  3. package/dist/cjs/ag-grid-base.ghost-render.grid-header.hint-panel.udp-dialog.udp-list-item.entry.cjs.js.map +1 -1
  4. package/dist/cjs/ag-grid-base_6.cjs.entry.js +27 -11
  5. package/dist/cjs/api-method-instance-grid.cjs.entry.js +1 -1
  6. package/dist/cjs/app-bar.cjs.entry.js +1 -1
  7. package/dist/cjs/check-box.cjs.entry.js +2 -2
  8. package/dist/cjs/chip-section.cjs.entry.js +2 -2
  9. package/dist/cjs/client-side-grid_2.cjs.entry.js +3 -3
  10. package/dist/cjs/entity-maintenance-grid.cjs.entry.js +1 -1
  11. package/dist/cjs/feature-details-card_2.cjs.entry.js +5 -5
  12. package/dist/cjs/filter-conditions_7.cjs.entry.js +2 -2
  13. package/dist/cjs/form-metadata-display_8.cjs.entry.js +6 -6
  14. package/dist/cjs/index-CGCOXUJE.js +10 -10
  15. package/dist/cjs/loader.cjs.js +1 -1
  16. package/dist/cjs/map-component_2.cjs.entry.js +2 -2
  17. package/dist/cjs/numeric-field_5.cjs.entry.js +15 -15
  18. package/dist/cjs/primary-action-header.udp-tabs.entry.cjs.js.map +1 -0
  19. package/dist/cjs/{primary-action-header_3.cjs.entry.js → primary-action-header_2.cjs.entry.js} +4 -266
  20. package/dist/cjs/resource-timeline-calendar.cjs.entry.js +1 -1
  21. package/dist/cjs/search-method-grid.cjs.entry.js +2 -1
  22. package/dist/cjs/search-method-grid.entry.cjs.js.map +1 -1
  23. package/dist/cjs/server-side-grid.cjs.entry.js +1 -1
  24. package/dist/cjs/side-sheet-container.cjs.entry.js +1 -1
  25. package/dist/cjs/stencil-library.cjs.js +1 -1
  26. package/dist/cjs/stencil-toggle.cjs.entry.js +4 -4
  27. package/dist/cjs/text-field_2.cjs.entry.js +7 -7
  28. package/dist/cjs/udp-chip_3.cjs.entry.js +1 -1
  29. package/dist/cjs/udp-container-query-grid-item.cjs.entry.js +1 -1
  30. package/dist/cjs/udp-container-query-grid.cjs.entry.js +1 -1
  31. package/dist/cjs/udp-container-query.cjs.entry.js +2 -2
  32. package/dist/cjs/udp-container.cjs.entry.js +35 -0
  33. package/dist/cjs/udp-container.entry.cjs.js.map +1 -0
  34. package/dist/cjs/udp-date-range-selector.cjs.entry.js +1 -1
  35. package/dist/cjs/udp-dynamic-container-with-menu.cjs.entry.js +1 -1
  36. package/dist/cjs/udp-linear-loader.udp-side-sheet.entry.cjs.js.map +1 -0
  37. package/dist/cjs/udp-linear-loader_2.cjs.entry.js +289 -0
  38. package/dist/cjs/udp-map.cjs.entry.js +3 -3
  39. package/dist/cjs/udp-menu-item.udp-pop-over.entry.cjs.js.map +1 -0
  40. package/dist/cjs/{udp-pop-over.cjs.entry.js → udp-menu-item_2.cjs.entry.js} +23 -1
  41. package/dist/cjs/udp-page.cjs.entry.js +1 -1
  42. package/dist/cjs/udp-skeleton-loading.cjs.entry.js +1 -1
  43. package/dist/cjs/udp-split-screen.cjs.entry.js +1 -1
  44. package/dist/cjs/udp-stepper-demo.cjs.entry.js +1 -1
  45. package/dist/cjs/udp-tab-panel.cjs.entry.js +2 -2
  46. package/dist/cjs/udp-tab.cjs.entry.js +1 -1
  47. package/dist/cjs/udp-timeline-connector.cjs.entry.js +1 -1
  48. package/dist/cjs/udp-timeline-dot.cjs.entry.js +1 -1
  49. package/dist/cjs/udp-timeline-item.cjs.entry.js +2 -2
  50. package/dist/cjs/udp-timeline-separator.cjs.entry.js +1 -1
  51. package/dist/cjs/udp-timeline.cjs.entry.js +1 -1
  52. package/dist/cjs/udp-vertical-spacer.cjs.entry.js +1 -1
  53. package/dist/collection/components/grid/new-grid/ag-grid-base.js +2 -1
  54. package/dist/collection/components/grid/new-grid/ag-grid-base.js.map +1 -1
  55. package/dist/collection/components/grid/new-grid/api-method-instance-grid.js +1 -1
  56. package/dist/collection/components/grid/new-grid/client-side-grid.js +1 -1
  57. package/dist/collection/components/grid/new-grid/datasources/searchMethodDatasource.js +1 -0
  58. package/dist/collection/components/grid/new-grid/datasources/searchMethodDatasource.js.map +1 -1
  59. package/dist/collection/components/grid/new-grid/entity-maintenance-grid.js +1 -1
  60. package/dist/collection/components/grid/new-grid/gridFunctions/bulkActions.js +24 -9
  61. package/dist/collection/components/grid/new-grid/gridFunctions/bulkActions.js.map +1 -1
  62. package/dist/collection/components/grid/new-grid/interfaces/grid.js.map +1 -1
  63. package/dist/collection/components/grid/new-grid/search-method-grid.js +1 -1
  64. package/dist/collection/components/grid/new-grid/server-side-grid.js +1 -1
  65. package/dist/collection/components/grid/resource-timeline-calendar/resource-timeline-calendar.js +1 -1
  66. package/dist/collection/components/grid/resource-timeline-calendar/resource-timeline-primary-bar.js +2 -2
  67. package/dist/collection/components/inputs/checkbox/check-box.js +2 -2
  68. package/dist/collection/components/inputs/date-range-selector/udp-date-range-selector.js +1 -1
  69. package/dist/collection/components/inputs/date-selector/udp-date-selector.js +3 -3
  70. package/dist/collection/components/inputs/date-time-selector/udp-datetime-selector.js +3 -3
  71. package/dist/collection/components/inputs/form metadata display/form-metadata-display.js +1 -1
  72. package/dist/collection/components/inputs/image-upload/image-upload.js +1 -1
  73. package/dist/collection/components/inputs/numeric-field/numeric-field.js +3 -3
  74. package/dist/collection/components/inputs/signature-input/signature-input.js +2 -2
  75. package/dist/collection/components/inputs/tally/tally.js +2 -2
  76. package/dist/collection/components/inputs/text-area/text-area.js +3 -3
  77. package/dist/collection/components/inputs/text-field/text-field.js +3 -3
  78. package/dist/collection/components/inputs/time-selector/udp-time-selector.js +3 -3
  79. package/dist/collection/components/inputs/toggle/stencil-toggle.js +4 -4
  80. package/dist/collection/components/inputs/udp-selector/udp-selector.js +4 -4
  81. package/dist/collection/components/layout/udp-container/udp-container.js +2 -2
  82. package/dist/collection/components/layout/udp-container-query/udp-container-query.js +2 -2
  83. package/dist/collection/components/layout/udp-container-query-grid/udp-container-query-grid.js +1 -1
  84. package/dist/collection/components/layout/udp-container-query-grid-item/udp-container-query-grid-item.js +1 -1
  85. package/dist/collection/components/layout/udp-page/udp-page.js +1 -1
  86. package/dist/collection/components/layout/udp-split-screen/udp-split-screen.js +1 -1
  87. package/dist/collection/components/layout/udp-vertical-spacer.js +1 -1
  88. package/dist/collection/components/loaders/udp-grid-loader/udp-grid-loader.js +2 -2
  89. package/dist/collection/components/loaders/udp-linear-loader/udp-linear-loader.js +1 -1
  90. package/dist/collection/components/loaders/udp-skeleton-loading.js +1 -1
  91. package/dist/collection/components/map/udp-map/map-component.js +1 -1
  92. package/dist/collection/components/map/udp-map/popups/add-map-feature-popup.js +3 -3
  93. package/dist/collection/components/map/udp-map/popups/feature-details-card/feature-details-card.js +4 -4
  94. package/dist/collection/components/map/udp-map/popups/feature-details-popup.js +1 -1
  95. package/dist/collection/components/map/udp-map/popups/select-layer-popup.js +2 -2
  96. package/dist/collection/components/map/udp-map/popups/split-line-popup.js +1 -1
  97. package/dist/collection/components/map/udp-map/toolbar/map-toolbar.js +6 -6
  98. package/dist/collection/components/map/udp-map/udp-map-toolbar.js +1 -1
  99. package/dist/collection/components/map/udp-map/udp-map.js +3 -3
  100. package/dist/collection/components/menu/menu-item/udp-menu-item.js +1 -1
  101. package/dist/collection/components/menu/udp-menu.js +1 -1
  102. package/dist/collection/components/stepper/udp-stepper-demo.js +1 -1
  103. package/dist/collection/components/tabs/tab/tabs/udp-tabs.js +2 -2
  104. package/dist/collection/components/tabs/tab/udp-tab.js +1 -1
  105. package/dist/collection/components/tabs/udp-tab-panel/udp-tab-panel.js +2 -2
  106. package/dist/collection/components/timeline/udp-timeline-connector.js +1 -1
  107. package/dist/collection/components/timeline/udp-timeline-dot.js +1 -1
  108. package/dist/collection/components/timeline/udp-timeline-item.js +2 -2
  109. package/dist/collection/components/timeline/udp-timeline-separator.js +1 -1
  110. package/dist/collection/components/timeline/udp-timeline.js +1 -1
  111. package/dist/collection/components/toolbars/app-bar/app-bar.js +1 -1
  112. package/dist/collection/components/util/ghost-render/ghost-render.js +1 -1
  113. package/dist/collection/deprecated/components/side-sheet/side-sheet-container.js +1 -1
  114. package/dist/collection/deprecated/components/side-sheet/side-sheet.js +1 -1
  115. package/dist/collection/udp-utilities/layout/udp-dynamic-container-with-menu/chip-section/chip-section.js +2 -2
  116. package/dist/collection/udp-utilities/layout/udp-dynamic-container-with-menu/udp-dynamic-container-with-menu.js +1 -1
  117. package/dist/components/add-map-feature-popup2.js +3 -3
  118. package/dist/components/ag-grid-base2.js +78 -38
  119. package/dist/components/ag-grid-base2.js.map +1 -1
  120. package/dist/components/api-method-instance-grid.js +59 -35
  121. package/dist/components/api-method-instance-grid.js.map +1 -1
  122. package/dist/components/app-bar.js +1 -1
  123. package/dist/components/check-box.js +2 -2
  124. package/dist/components/chip-section.js +2 -2
  125. package/dist/components/client-side-grid2.js +55 -31
  126. package/dist/components/client-side-grid2.js.map +1 -1
  127. package/dist/components/entity-maintenance-grid.js +1 -1
  128. package/dist/components/feature-details-card2.js +4 -4
  129. package/dist/components/feature-details-popup2.js +1 -1
  130. package/dist/components/form-metadata-display2.js +1 -1
  131. package/dist/components/ghost-render2.js +1 -1
  132. package/dist/components/image-upload2.js +1 -1
  133. package/dist/components/map-component2.js +1 -1
  134. package/dist/components/map-toolbar2.js +6 -6
  135. package/dist/components/numeric-field2.js +3 -3
  136. package/dist/components/resource-timeline-calendar.js +59 -35
  137. package/dist/components/resource-timeline-calendar.js.map +1 -1
  138. package/dist/components/resource-timeline-primary-bar2.js +2 -2
  139. package/dist/components/search-method-grid2.js +58 -33
  140. package/dist/components/search-method-grid2.js.map +1 -1
  141. package/dist/components/select-layer-popup2.js +2 -2
  142. package/dist/components/server-side-grid2.js +55 -31
  143. package/dist/components/server-side-grid2.js.map +1 -1
  144. package/dist/components/side-sheet-container2.js +1 -1
  145. package/dist/components/side-sheet2.js +1 -1
  146. package/dist/components/signature-input2.js +2 -2
  147. package/dist/components/split-line-popup2.js +1 -1
  148. package/dist/components/stencil-toggle2.js +4 -4
  149. package/dist/components/tally.js +2 -2
  150. package/dist/components/text-area2.js +3 -3
  151. package/dist/components/text-field2.js +3 -3
  152. package/dist/components/udp-container-query-grid-item.js +1 -1
  153. package/dist/components/udp-container-query-grid.js +1 -1
  154. package/dist/components/udp-container-query2.js +2 -2
  155. package/dist/components/udp-container2.js +2 -2
  156. package/dist/components/udp-date-range-selector.js +1 -1
  157. package/dist/components/udp-date-selector2.js +3 -3
  158. package/dist/components/udp-datetime-selector2.js +3 -3
  159. package/dist/components/udp-dynamic-container-with-menu2.js +1 -1
  160. package/dist/components/udp-grid-loader2.js +2 -2
  161. package/dist/components/udp-linear-loader2.js +1 -1
  162. package/dist/components/udp-map-toolbar2.js +1 -1
  163. package/dist/components/udp-map.js +3 -3
  164. package/dist/components/udp-menu-item2.js +1 -1
  165. package/dist/components/udp-menu2.js +1 -1
  166. package/dist/components/udp-page.js +1 -1
  167. package/dist/components/udp-selector2.js +4 -4
  168. package/dist/components/udp-skeleton-loading2.js +1 -1
  169. package/dist/components/udp-split-screen.js +1 -1
  170. package/dist/components/udp-stepper-demo.js +1 -1
  171. package/dist/components/udp-tab-panel.js +2 -2
  172. package/dist/components/udp-tab.js +1 -1
  173. package/dist/components/udp-tabs2.js +2 -2
  174. package/dist/components/udp-time-selector2.js +3 -3
  175. package/dist/components/udp-timeline-connector.js +1 -1
  176. package/dist/components/udp-timeline-dot.js +1 -1
  177. package/dist/components/udp-timeline-item.js +2 -2
  178. package/dist/components/udp-timeline-separator.js +1 -1
  179. package/dist/components/udp-timeline.js +1 -1
  180. package/dist/components/udp-vertical-spacer.js +1 -1
  181. package/dist/docs.json +141 -52
  182. package/dist/esm/add-map-feature-popup_4.entry.js +12 -12
  183. package/dist/esm/advanced-search_12.entry.js +1 -1
  184. package/dist/esm/ag-grid-base.ghost-render.grid-header.hint-panel.udp-dialog.udp-list-item.entry.js.map +1 -1
  185. package/dist/esm/ag-grid-base_6.entry.js +27 -11
  186. package/dist/esm/api-method-instance-grid.entry.js +1 -1
  187. package/dist/esm/app-bar.entry.js +1 -1
  188. package/dist/esm/check-box.entry.js +2 -2
  189. package/dist/esm/chip-section.entry.js +2 -2
  190. package/dist/esm/client-side-grid_2.entry.js +3 -3
  191. package/dist/esm/entity-maintenance-grid.entry.js +1 -1
  192. package/dist/esm/feature-details-card_2.entry.js +5 -5
  193. package/dist/esm/filter-conditions_7.entry.js +2 -2
  194. package/dist/esm/form-metadata-display_8.entry.js +6 -6
  195. package/dist/esm/index-CaZq3YdB.js +10 -10
  196. package/dist/esm/loader.js +1 -1
  197. package/dist/esm/map-component_2.entry.js +2 -2
  198. package/dist/esm/numeric-field_5.entry.js +15 -15
  199. package/dist/esm/primary-action-header.udp-tabs.entry.js.map +1 -0
  200. package/dist/esm/{primary-action-header_3.entry.js → primary-action-header_2.entry.js} +5 -262
  201. package/dist/esm/resource-timeline-calendar.entry.js +1 -1
  202. package/dist/esm/search-method-grid.entry.js +2 -1
  203. package/dist/esm/search-method-grid.entry.js.map +1 -1
  204. package/dist/esm/server-side-grid.entry.js +1 -1
  205. package/dist/esm/side-sheet-container.entry.js +1 -1
  206. package/dist/esm/stencil-library.js +1 -1
  207. package/dist/esm/stencil-toggle.entry.js +4 -4
  208. package/dist/esm/text-field_2.entry.js +7 -7
  209. package/dist/esm/udp-chip_3.entry.js +1 -1
  210. package/dist/esm/udp-container-query-grid-item.entry.js +1 -1
  211. package/dist/esm/udp-container-query-grid.entry.js +1 -1
  212. package/dist/esm/udp-container-query.entry.js +2 -2
  213. package/dist/esm/udp-container.entry.js +33 -0
  214. package/dist/esm/udp-container.entry.js.map +1 -0
  215. package/dist/esm/udp-date-range-selector.entry.js +1 -1
  216. package/dist/esm/udp-dynamic-container-with-menu.entry.js +1 -1
  217. package/dist/esm/udp-linear-loader.udp-side-sheet.entry.js.map +1 -0
  218. package/dist/esm/udp-linear-loader_2.entry.js +282 -0
  219. package/dist/esm/udp-map.entry.js +3 -3
  220. package/dist/esm/udp-menu-item.udp-pop-over.entry.js.map +1 -0
  221. package/dist/esm/{udp-pop-over.entry.js → udp-menu-item_2.entry.js} +24 -3
  222. package/dist/esm/udp-page.entry.js +1 -1
  223. package/dist/esm/udp-skeleton-loading.entry.js +1 -1
  224. package/dist/esm/udp-split-screen.entry.js +1 -1
  225. package/dist/esm/udp-stepper-demo.entry.js +1 -1
  226. package/dist/esm/udp-tab-panel.entry.js +2 -2
  227. package/dist/esm/udp-tab.entry.js +1 -1
  228. package/dist/esm/udp-timeline-connector.entry.js +1 -1
  229. package/dist/esm/udp-timeline-dot.entry.js +1 -1
  230. package/dist/esm/udp-timeline-item.entry.js +2 -2
  231. package/dist/esm/udp-timeline-separator.entry.js +1 -1
  232. package/dist/esm/udp-timeline.entry.js +1 -1
  233. package/dist/esm/udp-vertical-spacer.entry.js +1 -1
  234. package/dist/stencil-library/add-map-feature-popup_4.entry.js +1 -1
  235. package/dist/stencil-library/advanced-search_12.entry.js +1 -1
  236. package/dist/stencil-library/ag-grid-base.ghost-render.grid-header.hint-panel.udp-dialog.udp-list-item.entry.esm.js.map +1 -1
  237. package/dist/stencil-library/ag-grid-base_6.entry.js +1 -1
  238. package/dist/stencil-library/ag-grid-base_6.entry.js.map +1 -1
  239. package/dist/stencil-library/api-method-instance-grid.entry.js +1 -1
  240. package/dist/stencil-library/app-bar.entry.js +1 -1
  241. package/dist/stencil-library/check-box.entry.js +1 -1
  242. package/dist/stencil-library/chip-section.entry.js +1 -1
  243. package/dist/stencil-library/client-side-grid_2.entry.js +1 -1
  244. package/dist/stencil-library/entity-maintenance-grid.entry.js +1 -1
  245. package/dist/stencil-library/feature-details-card_2.entry.js +1 -1
  246. package/dist/stencil-library/filter-conditions_7.entry.js +1 -1
  247. package/dist/stencil-library/form-metadata-display_8.entry.js +1 -1
  248. package/dist/stencil-library/map-component_2.entry.js +1 -1
  249. package/dist/stencil-library/numeric-field_5.entry.js +1 -1
  250. package/dist/stencil-library/primary-action-header.udp-tabs.entry.esm.js.map +1 -0
  251. package/dist/stencil-library/primary-action-header_2.entry.js +2 -0
  252. package/dist/stencil-library/primary-action-header_2.entry.js.map +1 -0
  253. package/dist/stencil-library/resource-timeline-calendar.entry.js +1 -1
  254. package/dist/stencil-library/search-method-grid.entry.esm.js.map +1 -1
  255. package/dist/stencil-library/search-method-grid.entry.js +1 -1
  256. package/dist/stencil-library/search-method-grid.entry.js.map +1 -1
  257. package/dist/stencil-library/server-side-grid.entry.js +1 -1
  258. package/dist/stencil-library/side-sheet-container.entry.js +1 -1
  259. package/dist/stencil-library/stencil-library.esm.js +1 -1
  260. package/dist/stencil-library/stencil-toggle.entry.js +1 -1
  261. package/dist/stencil-library/text-field_2.entry.js +1 -1
  262. package/dist/stencil-library/udp-chip_3.entry.js +1 -1
  263. package/dist/stencil-library/udp-container-query-grid-item.entry.js +1 -1
  264. package/dist/stencil-library/udp-container-query-grid.entry.js +1 -1
  265. package/dist/stencil-library/udp-container-query.entry.js +1 -1
  266. package/dist/stencil-library/udp-container.entry.esm.js.map +1 -0
  267. package/dist/stencil-library/udp-container.entry.js +2 -0
  268. package/dist/stencil-library/udp-container.entry.js.map +1 -0
  269. package/dist/stencil-library/udp-date-range-selector.entry.js +1 -1
  270. package/dist/stencil-library/udp-dynamic-container-with-menu.entry.js +1 -1
  271. package/dist/stencil-library/udp-linear-loader.udp-side-sheet.entry.esm.js.map +1 -0
  272. package/dist/stencil-library/udp-linear-loader_2.entry.js +2 -0
  273. package/dist/stencil-library/udp-linear-loader_2.entry.js.map +1 -0
  274. package/dist/stencil-library/udp-map.entry.js +1 -1
  275. package/dist/stencil-library/udp-menu-item.udp-pop-over.entry.esm.js.map +1 -0
  276. package/dist/stencil-library/udp-menu-item_2.entry.js +2 -0
  277. package/dist/stencil-library/udp-menu-item_2.entry.js.map +1 -0
  278. package/dist/stencil-library/udp-page.entry.js +1 -1
  279. package/dist/stencil-library/udp-skeleton-loading.entry.js +1 -1
  280. package/dist/stencil-library/udp-split-screen.entry.js +1 -1
  281. package/dist/stencil-library/udp-stepper-demo.entry.js +1 -1
  282. package/dist/stencil-library/udp-tab-panel.entry.js +1 -1
  283. package/dist/stencil-library/udp-tab.entry.js +1 -1
  284. package/dist/stencil-library/udp-timeline-connector.entry.js +1 -1
  285. package/dist/stencil-library/udp-timeline-dot.entry.js +1 -1
  286. package/dist/stencil-library/udp-timeline-item.entry.js +1 -1
  287. package/dist/stencil-library/udp-timeline-item.entry.js.map +1 -1
  288. package/dist/stencil-library/udp-timeline-separator.entry.js +1 -1
  289. package/dist/stencil-library/udp-timeline.entry.js +1 -1
  290. package/dist/stencil-library/udp-vertical-spacer.entry.js +1 -1
  291. package/dist/types/components/grid/new-grid/gridFunctions/bulkActions.d.ts +4 -2
  292. package/dist/types/components/grid/new-grid/interfaces/grid.d.ts +1 -0
  293. package/package.json +1 -1
  294. package/dist/cjs/primary-action-header.udp-side-sheet.udp-tabs.entry.cjs.js.map +0 -1
  295. package/dist/cjs/udp-container.udp-linear-loader.entry.cjs.js.map +0 -1
  296. package/dist/cjs/udp-container_2.cjs.entry.js +0 -56
  297. package/dist/cjs/udp-menu-item.cjs.entry.js +0 -27
  298. package/dist/cjs/udp-menu-item.entry.cjs.js.map +0 -1
  299. package/dist/cjs/udp-pop-over.entry.cjs.js.map +0 -1
  300. package/dist/esm/primary-action-header.udp-side-sheet.udp-tabs.entry.js.map +0 -1
  301. package/dist/esm/udp-container.udp-linear-loader.entry.js.map +0 -1
  302. package/dist/esm/udp-container_2.entry.js +0 -53
  303. package/dist/esm/udp-menu-item.entry.js +0 -25
  304. package/dist/esm/udp-menu-item.entry.js.map +0 -1
  305. package/dist/esm/udp-pop-over.entry.js.map +0 -1
  306. package/dist/stencil-library/primary-action-header.udp-side-sheet.udp-tabs.entry.esm.js.map +0 -1
  307. package/dist/stencil-library/primary-action-header_3.entry.js +0 -2
  308. package/dist/stencil-library/primary-action-header_3.entry.js.map +0 -1
  309. package/dist/stencil-library/udp-container.udp-linear-loader.entry.esm.js.map +0 -1
  310. package/dist/stencil-library/udp-container_2.entry.js +0 -2
  311. package/dist/stencil-library/udp-container_2.entry.js.map +0 -1
  312. package/dist/stencil-library/udp-menu-item.entry.esm.js.map +0 -1
  313. package/dist/stencil-library/udp-menu-item.entry.js +0 -2
  314. package/dist/stencil-library/udp-menu-item.entry.js.map +0 -1
  315. package/dist/stencil-library/udp-pop-over.entry.esm.js.map +0 -1
  316. package/dist/stencil-library/udp-pop-over.entry.js +0 -2
  317. package/dist/stencil-library/udp-pop-over.entry.js.map +0 -1
@@ -1 +1 @@
1
- {"file":"ag-grid-base2.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/grid/new-grid/gridFunctions/agGridExport.ts","src/udp-utilities/user/getUserId.ts","src/components/grid/new-grid/helperFunctions/guardedViewTransitions.ts","src/udp-utilities/catalog/getCurrentApiCatalogId.ts","src/components/grid/new-grid/gridFunctions/savedViews.tsx","src/components/grid/new-grid/gridFunctions/agGridSizeColumnsToFit.ts","src/components/grid/new-grid/gridFunctions/agGridAutoSizeColumns.ts","src/components/grid/new-grid/gridFunctions/bulkActions.tsx","src/components/grid/new-grid/helperFunctions/toggleAgGridColumnFilter.ts","src/components/grid/new-grid/gridFunctions/chipFilter.tsx","src/components/grid/new-grid/gridFunctions/restoreGridState.tsx","src/components/grid/new-grid/gridFunctions/agGridResetColumns.ts","src/components/grid/new-grid/gridFunctions/advancedSearch.ts","src/components/grid/new-grid/gridFunctions/agGridHideShowColumns.ts","src/components/grid/new-grid/gridFunctions/udpExport.ts","src/components/grid/new-grid/gridFunctionRegistry.ts","src/components/grid/new-grid/helperFunctions/configureUdpColumnMods.ts","src/components/grid/new-grid/helperFunctions/valueFormatters.ts","src/components/grid/new-grid/ag-grid-base.css?tag=ag-grid-base","src/components/grid/new-grid/ag-grid-base.tsx"],"sourcesContent":["import { GridFunction } from '../interfaces/gridFunction';\nimport { GridApi} from 'ag-grid-enterprise-v33';\n\nexport class AgGridExport implements GridFunction {\n private gridApi!: GridApi;\n\n constructor(private fileName = 'export.csv') {}\n\n init(gridApi: GridApi) {\n this.gridApi = gridApi;\n }\n\n onAction?(name: string) {\n if (name === 'agGridExport') {\n this.gridApi.exportDataAsCsv({ fileName: this.fileName });\n }\n }\n}\n","export function getUserId(): string | null | undefined{\n return sessionStorage.getItem('user-id');\n}\n","export const startGuardedTransition = async (updateCallback) => {\n if(!document?.startViewTransition){\n updateCallback()\n return;\n }\n // 1. Check if another transition is already running\n if (document.viewTransition) {\n // 2. If so, await its 'finished' promise\n await document.viewTransition.finished;\n }\n\n // 3. Now that the previous transition is done, start the new one\n document.startViewTransition(updateCallback);\n}\n","export function getCurrentApiCatalogId(): string | null | undefined{\n return sessionStorage.getItem('current-api-catalog-id');\n}\n","import { h } from '@stencil/core';\nimport { ApplyColumnStateParams, GridApi } from 'ag-grid-enterprise-v33';\nimport { GridFunction } from '../interfaces/gridFunction';\nimport {\n getGridViewsWithConfigurations,\n deleteSelectedView,\n saveView,\n updateView,\n} from 'src/udp-utilities/api-udp/apiUtils';\nimport { getUserId } from 'src/udp-utilities/user/getUserId';\nimport { getIconFromName } from '../../../data-display/icons/iconUtils';\nimport { startGuardedTransition } from '../helperFunctions/guardedViewTransitions';\nimport { getCurrentApiCatalogId } from 'src/udp-utilities/catalog/getCurrentApiCatalogId';\n\nexport class SavedViews implements GridFunction {\n private api!: GridApi;\n private isSidesheetOpen = false;\n private isDialogOpen = false;\n private viewName = '';\n private viewIsPrivate: boolean = true;\n private filteredViews: any[] = []; //filtered based on entity name\n private allViewData: any[] = []; //all views for the grid id\n private activeView: any = null;\n private loading: number = 0;\n private gridId: string;\n private entityName: string;\n private refresh!: () => void;\n\n private initialLoad: boolean = true;\n\n init(api: GridApi, refresh: () => void): void {\n this.api = api;\n this.refresh = refresh;\n //don't want to load before columns have loaded\n this.api.addEventListener('gridColumnsChanged', this.fetchViews);\n }\n\n onAction(name: string) {\n if (name === 'openSavedViews') {\n const context = this.api.getGridOption('context');\n if (context?.gridId !== this.gridId) {\n this.fetchViews();\n } else if (context?.entityName !== this.entityName) {\n this.filterData();\n }\n this.isSidesheetOpen = true;\n this.refresh();\n }\n }\n\n addStateChangeListeners = () => {\n //Listener used to remove the active view if\n this.api.addEventListener('columnVisible', this.handleManualColumnChange);\n this.api.addEventListener('columnPinned', this.handleManualColumnChange);\n this.api.addEventListener('columnMoved', this.handleManualColumnChange);\n this.api.addEventListener('columnPivotChanged', this.handleManualColumnChange);\n this.api.addEventListener('gridColumnsChanged', this.handleManualColumnChange);\n this.api.addEventListener('columnsReset', this.handleManualColumnChange);\n this.api.addEventListener('filterChanged', this.handleManualColumnChange);\n this.api.addEventListener('sortChanged', this.handleManualColumnChange);\n };\n\n removeStateChangeListeners = () => {\n this.api.removeEventListener('columnVisible', this.handleManualColumnChange);\n this.api.removeEventListener('columnPinned', this.handleManualColumnChange);\n this.api.removeEventListener('columnMoved', this.handleManualColumnChange);\n this.api.removeEventListener('columnPivotChanged', this.handleManualColumnChange);\n this.api.removeEventListener('gridColumnsChanged', this.handleManualColumnChange);\n this.api.removeEventListener('columnsReset', this.handleManualColumnChange);\n this.api.removeEventListener('filterChanged', this.handleManualColumnChange);\n this.api.removeEventListener('sortChanged', this.handleManualColumnChange);\n };\n\n fetchViews = async () => {\n if(this.api.getColumnDefs()?.length === 0) return;\n this.loading = 1;\n this.refresh();\n this.api.removeEventListener('gridColumnsChanged', this.fetchViews);\n this.gridId = this.api.getGridOption('context')?.gridId;\n if (this.gridId) {\n this.allViewData = await getGridViewsWithConfigurations(getUserId(), this.gridId);\n this.filterData();\n\n if (this.initialLoad) {\n this.setDefaultView();\n }\n }\n\n this.loading = 0;\n };\n\n setDefaultView = () => {\n const defaultView = this.filteredViews.find(view => view?.isDefault);\n defaultView && this.setActiveView(defaultView);\n this.initialLoad = false;\n };\n\n filterData = () => {\n this.entityName = this.api.getGridOption('context')?.entityName;\n if (this.entityName) {\n this.filteredViews = this.allViewData?.filter(view => view?.domain === this.entityName);\n } else {\n this.filteredViews = this.allViewData;\n }\n this.refresh();\n };\n\n setActiveView = data => {\n this.removeStateChangeListeners();\n const columnState = data?.gridViewGridViewGridConfiguration?.find(\n item => item.gridViewGridConfigurationGridConfiguration.gridStateTypeId === 1, //columns\n );\n const columnFilterState = data?.gridViewGridViewGridConfiguration?.find(\n item => item.gridViewGridConfigurationGridConfiguration.gridStateTypeId === 4, //filter\n );\n\n //apply column state\n if (columnState) {\n const columnStateObj: ApplyColumnStateParams = {\n state: JSON.parse(columnState.gridViewGridConfigurationGridConfiguration.values),\n applyOrder: true,\n };\n this.api.applyColumnState(columnStateObj);\n }\n\n if (columnFilterState) {\n this.api.setFilterModel(\n JSON.parse(columnFilterState.gridViewGridConfigurationGridConfiguration.values),\n );\n } else {\n this.api.setFilterModel(null);\n }\n this.handleSidesheetClose();\n\n startGuardedTransition(() => {\n this.activeView = data;\n this.refresh();\n //wait for 300ms so that it doesn't catch the actual view being added\n setTimeout(this.addStateChangeListeners, 300);\n });\n };\n\n deleteView = async data => {\n this.loading = 1;\n this.refresh();\n await deleteSelectedView(data.gridViewId, () => {\n this.fetchViews();\n });\n this.loading = 0;\n this.refresh();\n };\n\n private async postView() {\n this.loading = 1;\n this.refresh();\n const saveState = [];\n saveState.push({\n gridStateTypeId: 1, //column state\n gridId: this.api.getGridOption('context')?.gridId,\n values: JSON.stringify(this.api.getColumnState()),\n });\n\n saveState.push({\n gridStateTypeId: 4, //column filter state\n gridId: this.api.getGridOption('context')?.gridId,\n values: JSON.stringify(this.api.getFilterModel()),\n });\n const udpContext = this.api.getGridOption('context');\n\n try {\n await saveView(\n getUserId(),\n udpContext?.gridId,\n getCurrentApiCatalogId(),\n this.viewName,\n udpContext?.entityName,\n saveState,\n this.viewIsPrivate === true ? 1 : 2,\n 0,\n this.postViewCallback,\n );\n } catch (err) {\n console.error(err);\n } finally {\n this.refresh();\n }\n }\n\n postViewCallback = () => {\n this.loading = 0;\n this.fetchViews();\n this.handleDialogClose();\n };\n\n private async updateViewMarkedAsPrimary(data) {\n this.loading = 1;\n this.refresh();\n const context = this.api.getGridOption('context');\n //update current view to primary\n const currentlySetToPrimary = data?.isDefault;\n await updateView(\n data?.gridViewId,\n getUserId(),\n context?.gridId,\n getCurrentApiCatalogId(),\n data?.name,\n currentlySetToPrimary ? 0 : 1,\n context?.entityName,\n this.viewIsPrivate === true ? 1 : 2,\n () => null,\n )\n .then(async () => {\n //find current set to primary if it exists and the initial click was not to remove primary status\n if (!currentlySetToPrimary) {\n const currentDefaultView = this.filteredViews.find(view => view?.isDefault);\n if (currentDefaultView) {\n await updateView(\n currentDefaultView?.gridViewId,\n getUserId(),\n context?.gridId,\n getCurrentApiCatalogId(),\n currentDefaultView?.name,\n 0,\n context?.entityName,\n this.viewIsPrivate === true ? 1 : 2,\n () => null,\n ).catch(err => console.log(err));\n }\n }\n await this.fetchViews();\n this.loading = 0;\n this.refresh();\n })\n .catch(err => console.log(err));\n }\n\n removeActiveView = () => {\n this.removeStateChangeListeners();\n this.api.resetColumnState();\n this.api.setFilterModel(null);\n\n startGuardedTransition(() => {\n this.activeView = null;\n this.refresh();\n });\n };\n\n //If the user makes certain manual changed to columns, the active view should be removed\n handleManualColumnChange = async () => {\n this.removeStateChangeListeners();\n if (!this.activeView) {\n return;\n }\n\n startGuardedTransition(() => {\n this.activeView = null;\n this.refresh();\n });\n };\n\n handleNameChange = event => {\n this.viewName = event.target.value;\n this.refresh();\n };\n\n handleViewIsPrivateToggleChange = () => {\n this.viewIsPrivate = !this.viewIsPrivate;\n this.refresh();\n };\n\n handleSidesheetClose = () => {\n this.isSidesheetOpen = false;\n this.refresh();\n };\n\n handleDialogClose = () => {\n this.isDialogOpen = false;\n this.viewName = '';\n this.refresh();\n };\n\n handleOpenModal = () => {\n this.isDialogOpen = true;\n this.refresh();\n };\n\n render() {\n return (\n <div>\n <div\n //key={this.activeView ? 'has-view' : 'no-view'}\n style={{ viewTransitionName: `active-view-chip` }}\n class=\"grid-action-transition\"\n >\n {this.activeView && (\n <div style={{ margin: '4px' }}>\n <udp-chip\n label={this.activeView?.name}\n variant=\"filled\"\n color=\"secondary\"\n deleteButton\n onChipDelete={this.removeActiveView}\n ></udp-chip>\n </div>\n )}\n </div>\n <udp-dialog\n open={this.isDialogOpen}\n actionOne={() => {\n this.postView();\n }}\n actionTwo={this.handleDialogClose}\n handleClose={this.handleDialogClose}\n labelOne=\"Create View\"\n labelTwo=\"Cancel\"\n title={'Create a grid view'}\n message=\"The view will be created from the current column and filter state.\"\n disableOne={!this.viewName}\n progress={this.loading}\n >\n <div style={{ display: 'flex', flexDirection: 'column' }}>\n <div style={{ marginBottom: '-4px', marginTop: '2em' }}>\n <text-field\n value={this.viewName}\n onInput={this.handleNameChange}\n placeholder=\"View name\"\n />\n </div>\n <div style={{ marginTop: '-4px' }}>\n <stencil-toggle\n label=\"Private\"\n checked={this.viewIsPrivate}\n onChange={this.handleViewIsPrivateToggleChange}\n />\n </div>\n </div>\n </udp-dialog>\n\n <udp-side-sheet\n title=\"Views\"\n open={this.isSidesheetOpen}\n position=\"right\"\n onUdpSideSheetClose={this.handleSidesheetClose}\n headerActionButtonLabel=\"Create View\"\n onUdpHeaderActionButtonClick={this.handleOpenModal}\n headerActionButtonIcon={'add'}\n loading={!!this.loading}\n >\n <div style={{ display: 'flex', flexDirection: 'column', gap: '10px' }}>\n <hint-panel\n hint=\"Quickly access and manage your pre-configured grid views. These views are designed to help you focus on specific sets of data and streamline your workflow.\"\n hideHintText=\"Dismiss\"\n ></hint-panel>\n {this.entityName && (\n <hint-panel hint=\"Note: Displaying entity specific views.\"></hint-panel>\n )}\n <div>\n {this.filteredViews?.length > 0 ? (\n this.filteredViews.map(item => {\n return (\n <udp-list-item\n primaryText={item.name}\n clickable\n onListItemClick={() => this.setActiveView(item)}\n >\n <div\n style={{ display: 'flex', flexDirection: 'row', gap: '4px' }}\n slot=\"status-chip\"\n >\n {this.activeView?.gridViewId === item.gridViewId && (\n <udp-chip label=\"Active\" color=\"success\" variant=\"filled\"></udp-chip>\n )}\n {/* {item.isDefault && (\n <udp-chip label=\"Primary\" color=\"info\" variant=\"outlined\"></udp-chip>\n )} */}\n {item.gridViewVisibilityTypeId === 1 && (\n <udp-chip label=\"Private\" color=\"gray\" variant=\"outlined\"></udp-chip>\n )}\n </div>\n\n <div slot=\"actions\">\n <udp-icon-button\n icon={getIconFromName('star')}\n size=\"small\"\n variant={item.isDefault ? 'contained' : 'text'}\n tooltip={\n item.gridViewVisibilityTypeId === 2\n ? 'Cannot mark public view as primary'\n : item.isDefault\n ? 'Remove as primary'\n : 'Mark as primary'\n }\n onClick={() => this.updateViewMarkedAsPrimary(item)}\n disabled={item.gridViewVisibilityTypeId === 2}\n />\n <udp-icon-button\n icon={getIconFromName('trashCan')}\n size=\"small\"\n variant=\"text\"\n tooltip={\n item.userId !== getUserId()\n ? 'Cannot delete public view with different owner'\n : 'Delete View'\n }\n onClick={() => this.deleteView(item)}\n disabled={item.userId !== getUserId()}\n />\n </div>\n </udp-list-item>\n );\n })\n ) : (\n <udp-empty-state-display primaryText=\"No Views to display\" />\n )}\n </div>\n </div>\n </udp-side-sheet>\n </div>\n );\n }\n}\n","import { GridFunction } from '../interfaces/gridFunction';\nimport { GridApi} from 'ag-grid-enterprise-v33';\n\nexport class AgGridSizeColumnsToFit implements GridFunction {\n private gridApi!: GridApi;\n\n init(gridApi: GridApi) {\n this.gridApi = gridApi;\n }\n\n onAction?(name: string) {\n if (name === 'agGridSizeColumnsToFit') {\n this.gridApi.sizeColumnsToFit();\n }\n }\n}\n","import { GridFunction } from '../interfaces/gridFunction';\nimport { GridApi} from 'ag-grid-enterprise-v33';\n\nexport class AgGridAutoSizeColumns implements GridFunction {\n private gridApi!: GridApi;\n\n init(gridApi: GridApi) {\n this.gridApi = gridApi;\n }\n\n onAction?(name: string) {\n if (name === 'agGridAutoSizeColumns') {\n this.gridApi.autoSizeAllColumns();\n }\n }\n}\n","import { h } from '@stencil/core';\nimport { GridApi } from 'ag-grid-enterprise-v33';\nimport { GridFunction } from '../interfaces/gridFunction';\nimport { getAvailableGridActions } from 'src/udp-utilities/api-udp/apiUtils';\nimport { startGuardedTransition } from '../helperFunctions/guardedViewTransitions';\n\nexport class BulkActions implements GridFunction {\n private api!: GridApi;\n private bulkActions: any = [];\n private selectedRowCount: number = 0;\n private selectedRows: any;\n private fetchedData: boolean = false;\n private refresh!: () => void;\n private gridId: string;\n\n private executeActionCallback: (actionId, selectedRows) => void;\n private isMenuOpen: boolean = false;\n private menuAnchorEl?: HTMLElement;\n\n init(api: GridApi, refresh: () => void, params?: any): void {\n this.api = api;\n this.refresh = refresh;\n this.executeActionCallback = params?.callback;\n\n const modelType = this.api.getGridOption('rowModelType');\n if (modelType === 'clientSide') {\n this.api.setGridOption('rowSelection', { mode: 'multiRow', enableClickSelection: true });\n } else {\n this.api.setGridOption('rowSelection', {\n mode: 'multiRow',\n enableClickSelection: true,\n headerCheckbox: false\n });\n }\n\n this.api.addEventListener('selectionChanged', this.onRowSelectionChanged);\n }\n\n onAction(name: string) {\n if (name === 'executeBulkAction') {\n this.refresh();\n }\n }\n\n onRowSelectionChanged = () => {\n startGuardedTransition(() => {\n const rows = this.api.getSelectedRows();\n this.selectedRows = rows;\n this.selectedRowCount = rows.length;\n this.refresh();\n\n });\n\n if (!this.fetchedData || this.api.getGridOption('context')?.gridId !== this.gridId) { //refetch if grid Id has changed since last fetch\n this.fetchBulkActions();\n }\n };\n\n private async fetchBulkActions() {\n try {\n this.gridId = this.api.getGridOption('context')?.gridId;\n await getAvailableGridActions(this.gridId, false, [], this.setBulkActions);\n } catch (err) {\n console.error(err);\n }\n }\n\n setBulkActions = data => {\n this.bulkActions = data.map(action => {\n return { label: action.name, onClick: () => this.executeBulkAction(action.actionId) };\n });\n this.fetchedData = true;\n this.refresh();\n };\n\n executeBulkAction = (actionId: any) => {\n if(this.executeActionCallback){\n this.executeActionCallback(actionId, this.selectedRows)\n }\n alert(`Executing action with ID: ${actionId}`);\n this.refresh();\n };\n\n toggleMenu = () => {\n this.isMenuOpen = !this.isMenuOpen;\n this.refresh();\n };\n\n closeMenu = () => {\n this.isMenuOpen = false;\n this.refresh();\n };\n\n render() {\n return (\n <div\n style={{\n viewTransitionName: `bulk-action-button`,\n }}\n class=\"grid-action-transition\"\n >\n {this.selectedRowCount > 0 && [\n <div style={{ margin: '2px' }}>\n <udp-button\n ref={(el: HTMLUdpButtonElement | null) => {\n this.menuAnchorEl = el ? (el as unknown as HTMLElement) : undefined;\n }}\n onClick={this.toggleMenu}\n variant=\"outlined\"\n color=\"primary\"\n endIcon={\n <udp-icon\n iconName=\"chevronDown\"\n style={{\n transform: this.isMenuOpen ? 'rotate(180deg)' : 'rotate(0deg)',\n transition: 'transform 0.2s ease-in-out',\n }}\n />\n }\n >\n {`${this.selectedRowCount} Selected`}\n </udp-button>\n </div>,\n\n <udp-menu\n open={this.isMenuOpen}\n anchor={this.menuAnchorEl as unknown as HTMLElement}\n handleClose={this.closeMenu}\n >\n {this.bulkActions?.length === 0 ? (\n <udp-menu-item label={'No available actions'} />\n ) : (\n this.bulkActions.map(action => (\n <udp-menu-item\n label={action.label}\n onItemClick={() => {\n action.onClick();\n this.isMenuOpen = false;\n }}\n />\n ))\n )}\n </udp-menu>,\n ]}\n </div>\n );\n }\n}\n","import { AgColumn, GridApi } from 'ag-grid-enterprise-v33';\n\nexport function toggleColumnFilter(api: GridApi, columnId: string, agGridFilter: object) {\n //Validate column exists and column allows filtering\n const column: AgColumn = api.getColumn(columnId) as AgColumn;\n if(!column){\n console.error(\"Invalid column id provided for filtering\");\n return;\n }\n if(!column?.colDef?.filter){\n console.error(`Filtering not enabled for column: ${column?.colId}`);\n return;\n }\n //check if it already exists on columnId\n const currentColumnFilter: any = api.getColumnFilterModel(columnId);\n\n //--Removing filter--\n //if it exists on the column filter already and it is the only filter\n if (JSON.stringify(agGridFilter) === JSON.stringify(currentColumnFilter)) {\n api.setColumnFilterModel(columnId, null).then(() => api.onFilterChanged());\n return;\n }\n\n //if it is one of many existing filters on the column\n if (\n currentColumnFilter?.conditions?.some(\n condition => JSON.stringify(condition) === JSON.stringify(agGridFilter),\n )\n ) {\n const filteredOut = currentColumnFilter?.conditions.filter(\n condition => JSON.stringify(condition) !== JSON.stringify(agGridFilter),\n );\n if (filteredOut.length === 1) {\n api.setColumnFilterModel(columnId, filteredOut[0]).then(() => api.onFilterChanged());\n return;\n } else {\n const newColumnFilter = { ...currentColumnFilter, conditions: filteredOut };\n api.setColumnFilterModel(columnId, newColumnFilter).then(() => api.onFilterChanged());\n return;\n }\n }\n\n //--Adding filter--\n if (!currentColumnFilter) {\n api.setColumnFilterModel(column, agGridFilter).then(() => api.onFilterChanged());\n return;\n }\n if (currentColumnFilter?.conditions) {\n const newConditions = [...currentColumnFilter?.conditions, agGridFilter];\n api\n .setColumnFilterModel(columnId, { conditions: newConditions, operator: 'AND' })\n .then(() => api.onFilterChanged());\n return;\n }\n if (currentColumnFilter) {\n api\n .setColumnFilterModel(columnId, {\n conditions: [{ ...currentColumnFilter }, agGridFilter],\n operator: 'AND',\n })\n .then(() => api.onFilterChanged());\n return;\n }\n}\n","import { h } from '@stencil/core';\nimport { GridApi } from 'ag-grid-enterprise-v33';\nimport { GridFunction } from '../interfaces/gridFunction';\nimport {\n executeQueryAdHoc,\n getGridConfigurationsByGridId,\n getPromotedMethodEntities,\n} from 'src/udp-utilities/api-udp/apiUtils';\nimport { toggleColumnFilter } from '../helperFunctions/toggleAgGridColumnFilter';\nimport { ConfigService } from 'src/udp-utilities/api-config';\nimport { getCurrentApiCatalogId } from 'src/udp-utilities/catalog/getCurrentApiCatalogId';\nimport { startGuardedTransition } from '../helperFunctions/guardedViewTransitions';\n\nexport class ChipFilter implements GridFunction {\n private api!: GridApi;\n private refresh!: () => void;\n private filterChips!: any;\n private gridId: string;\n\n init(api: GridApi, refresh: () => void): void {\n this.api = api;\n this.refresh = refresh;\n\n this.api.addEventListener('firstDataRendered', this.getGridfilterChips);\n this.api.addEventListener('filterChanged', this.handleFilterChanged);\n }\n\n onAction(name: string) {\n if (name === 'chipFilter') {\n this.refresh();\n }\n }\n\n handleFilterChanged = data => {\n const colId = data?.columns?.[0]?.colId;\n const filterGroup = this.filterChips?.find(filterGroup => filterGroup.field === colId);\n if (filterGroup) {\n const currentFilterModel: any = this.api.getColumnFilterModel(colId);\n const updatedFilterGroup = {\n ...filterGroup,\n filterObjects: filterGroup.filterObjects.map(obj => {\n let toggled = false;\n\n //must be AND operator for filter chips\n if (currentFilterModel?.conditions && currentFilterModel?.operator === 'AND') {\n toggled = currentFilterModel.conditions.some(\n condition =>\n JSON.stringify(condition) === JSON.stringify(obj.agGridFilterModel[colId]),\n );\n } else if (currentFilterModel) {\n toggled =\n JSON.stringify(currentFilterModel) === JSON.stringify(obj.agGridFilterModel[colId]);\n }\n\n return { ...obj, toggled };\n }),\n };\n\n // Replace the group in this.filterChips\n this.filterChips = this.filterChips.map(group =>\n group.field === colId ? updatedFilterGroup : group,\n );\n this.refresh();\n }\n };\n\n //When the chips initially load in, need to check if filters have already been applied (ex. default view)\n syncChipsWithGridFilters = () => {\n if (!this.filterChips || this.filterChips.length === 0) {\n return;\n }\n\n // Create a new array with the updated toggle states\n const syncedFilterChips = this.filterChips.map(filterGroup => {\n const colId = filterGroup.field;\n const currentFilterModel: any = this.api.getColumnFilterModel(colId);\n\n // If there's no active filter for this column, no changes are needed\n if (!currentFilterModel) {\n return filterGroup;\n }\n\n // Update the toggled state for each chip in this group\n const updatedFilterObjects = filterGroup.filterObjects.map(obj => {\n let toggled = false;\n if (currentFilterModel?.conditions && currentFilterModel?.operator === 'AND') {\n toggled = currentFilterModel.conditions.some(\n condition => JSON.stringify(condition) === JSON.stringify(obj.agGridFilterModel[colId]),\n );\n } else {\n toggled =\n JSON.stringify(currentFilterModel) === JSON.stringify(obj.agGridFilterModel[colId]);\n }\n return { ...obj, toggled };\n });\n\n return { ...filterGroup, filterObjects: updatedFilterObjects };\n });\n\n // Update the component's state with the synchronized chips\n this.filterChips = syncedFilterChips;\n };\n\n //fetches the configured filter chips from db\n getGridfilterChips = async () => {\n if (this.gridId !== this.api.getGridOption('context')?.gridId) {\n this.gridId = this.api.getGridOption('context')?.gridId;\n const filterChipConfigurations = await getGridConfigurationsByGridId(this.gridId, 7);\n const parsedConfigurations = filterChipConfigurations.map(configuration =>\n JSON.parse(configuration.values),\n );\n\n startGuardedTransition(async () => {\n this.filterChips = parsedConfigurations.map(group => ({\n ...group,\n filterObjects: group.filterObjects.map(option => ({\n ...option,\n toggled: false,\n })),\n }));\n\n this.syncChipsWithGridFilters();\n\n this.getFilterChipCounts();\n this.refresh();\n });\n }\n };\n\n getFilterChipCounts = async () => {\n const baseSearchPayload = {\n pageNumber: 1,\n pageSize: 1,\n filterElements: [],\n filterGroups: [],\n orderElements: [],\n groupingType: '',\n groupProperty: [],\n groupOperationList: [],\n eagerLoad: false,\n logicalSearchOperator: 1,\n };\n\n const searchPromises: Promise<{\n result: any;\n groupField: string;\n objLabel: string;\n }>[] = [];\n\n for (const group of this.filterChips) {\n if (!group?.udpDomainSanitizedName) continue;\n\n const promotedMethods = await getPromotedMethodEntities(\n getCurrentApiCatalogId(),\n group.udpDomainSanitizedName,\n true,\n );\n\n for (const obj of group.filterObjects ?? []) {\n if (!obj?.udpFilterElement) continue;\n\n searchPromises.push(\n (async () => {\n const payload = {\n ...baseSearchPayload,\n filterElements: [obj.udpFilterElement],\n };\n\n const result = await executeQueryAdHoc(\n payload,\n promotedMethods?.unityBaseSearchMethod?.apiMethodId,\n ConfigService.config.UNITY_API_DOMAIN,\n false,\n );\n\n return {\n result,\n groupField: group.field,\n objLabel: obj.label,\n };\n })(),\n );\n }\n }\n\n // Wait for all ad-hoc queries to finish\n const results = await Promise.all(searchPromises);\n\n // Update filterChips with result counts\n this.filterChips = this.filterChips.map(group => {\n const groupResults = results.filter(r => r.groupField === group.field);\n\n return {\n ...group,\n filterObjects: group.filterObjects.map(obj => {\n const match = groupResults.find(r => r.objLabel === obj.label);\n return {\n ...obj,\n resultCount: match?.result?.total ?? null,\n };\n }),\n };\n });\n\n this.refresh();\n };\n\n setSelectedFilterChip = data => {\n this.filterChips = this.filterChips.map(group => ({\n ...group,\n filterObjects: group.filterObjects.map(option => {\n if (option.label === data.label) {\n return {\n ...option,\n toggled: !option.toggled,\n };\n }\n return option;\n }),\n }));\n this.refresh();\n\n const columnId = Object.keys(data.agGridFilterModel)[0];\n toggleColumnFilter(this.api, columnId, data.agGridFilterModel[columnId]);\n };\n\n render() {\n return (\n <div\n class=\"grid-action-transition\"\n style={{\n display: 'flex',\n flexWrap: 'nowrap',\n gap: '5px',\n viewTransitionName: `view-chip-filters`,\n }}\n >\n {this.filterChips?.length > 0 &&\n this.filterChips.map((filterChipGroup, index) => [\n index > 0 && (\n <div\n style={{\n width: '1px',\n backgroundColor: '#ddd',\n marginBottom: '5px',\n marginTop: '5px',\n }}\n />\n ),\n <div\n style={{\n padding: '4px',\n display: 'flex',\n flexWrap: 'nowrap',\n gap: '3px',\n }}\n >\n {filterChipGroup.filterObjects.map(option => (\n <udp-chip\n label={`${option.label} ${\n option.resultCount != null ? `(${option.resultCount})` : ''\n }`}\n variant={option.toggled ? 'filled' : 'outlined'}\n clickable\n onChipClick={() => this.setSelectedFilterChip(option)}\n color=\"primary\"\n />\n ))}\n </div>,\n ])}\n </div>\n );\n }\n}\n","import { h } from '@stencil/core';\nimport { GridFunction } from '../interfaces/gridFunction';\nimport { GridApi } from 'ag-grid-enterprise-v33';\nimport { startGuardedTransition } from '../helperFunctions/guardedViewTransitions';\nimport { getCurrentTenantId } from 'src/udp-utilities/tenant/tenantUtils';\n\n/*\n * This saves and allows a user to restore their grid state based on gridId\n */\n\nexport class RestoreGridState implements GridFunction {\n private api!: GridApi;\n private refresh!: () => void;\n private previousState!: any;\n\n private gridId!: string;\n private apiMethodInstanceId!: string;\n\n init(api: GridApi, refresh: () => void): void {\n this.api = api;\n this.refresh = refresh;\n\n this.api.addEventListener('firstDataRendered', this.getPreviousState);\n }\n\n getPreviousState = () => {\n startGuardedTransition(() => {\n this.api.removeEventListener('stateUpdated', this.saveState);\n const gridContext = this.api.getGridOption('context');\n this.gridId = gridContext?.gridId;\n this.apiMethodInstanceId = gridContext?.apiMethodInstanceId || '';\n //get the last saved state if it exists\n this.previousState = JSON.parse(localStorage.getItem(this.getStorageKey()));\n this.refresh();\n //add the watcher to track future state updates\n this.api.addEventListener('stateUpdated', this.saveState);\n });\n };\n\n getStorageKey = () => {\n const tenantId = getCurrentTenantId();\n return `saved-grid-state-${this.gridId}-${this.apiMethodInstanceId}-${tenantId}`;\n };\n\n saveState = () => {\n const gridContext = this.api.getGridOption('context');\n if (\n gridContext?.gridId !== this.gridId ||\n (gridContext?.apiMethodInstanceId && gridContext?.apiMethodInstanceId !== this.apiMethodInstanceId)\n ) {\n this.getPreviousState();\n } else {\n const savedState = this.api.getState();\n localStorage.setItem(\n this.getStorageKey(),\n JSON.stringify({ date: new Date(), state: savedState }),\n );\n }\n };\n\n restoreState = async () => {\n this.api.setState(this.previousState.state);\n //wrapping in setTimeout to avoid conflicts with the grid\n setTimeout(\n () =>\n startGuardedTransition(() => {\n this.previousState = null;\n this.refresh();\n }),\n 0,\n );\n };\n\n dismissMessage = () => {\n startGuardedTransition(() => {\n this.previousState = null;\n this.refresh();\n });\n };\n\n getTimeAgo(date: Date): string {\n const seconds = Math.floor((Date.now() - date.getTime()) / 1000);\n\n if (seconds < 60) return `${seconds} second${seconds !== 1 ? 's' : ''} ago`;\n const minutes = Math.floor(seconds / 60);\n if (minutes < 60) return `${minutes} minute${minutes !== 1 ? 's' : ''} ago`;\n const hours = Math.floor(minutes / 60);\n if (hours < 24) return `${hours} hour${hours !== 1 ? 's' : ''} ago`;\n const days = Math.floor(hours / 24);\n return `${days} day${days !== 1 ? 's' : ''} ago`;\n }\n\n render() {\n return (\n <div style={{ viewTransitionName: `restore-grid-state` }}>\n {this.previousState?.date && (\n <div style={{ margin: '4px' }}>\n <udp-ambient-tool-tip\n content={`Restore grid state from ${this.getTimeAgo(\n new Date(this.previousState.date),\n )}?`}\n >\n <udp-chip\n startIcon={'rotate'}\n label={`Restore state`}\n variant=\"outlined\"\n color=\"gray\"\n deleteButton\n onChipDelete={this.dismissMessage}\n clickable\n onClick={this.restoreState}\n ></udp-chip>\n </udp-ambient-tool-tip>\n </div>\n )}\n </div>\n );\n }\n}\n","import { GridFunction } from '../interfaces/gridFunction';\nimport { GridApi } from 'ag-grid-enterprise-v33';\n\nexport class AgGridResetColumns implements GridFunction {\n private gridApi!: GridApi;\n\n init(gridApi: GridApi) {\n this.gridApi = gridApi;\n }\n\n onAction?(name: string) {\n if (name === 'agGridResetColumns') {\n this.gridApi.resetColumnState();\n //reset all column filters\n this.gridApi.setFilterModel(null);\n }\n }\n}\n","import { GridApi } from 'ag-grid-community-v33';\nimport { GridFunction } from '../interfaces/gridFunction';\n\nexport class AdvancedSearch implements GridFunction {\n private onOpenCallback: () => void;\n\n init(_api: GridApi, _refresh: () => void, params?: any) {\n this.onOpenCallback = params?.callback;\n }\n\n onAction?(name: string) {\n if (name === 'advancedSearch') {\n this.onOpenCallback?.();\n }\n }\n}\n","import { GridFunction } from '../interfaces/gridFunction';\nimport { GridApi} from 'ag-grid-enterprise-v33';\n\nexport class AgGridHideShowColumns implements GridFunction {\n private gridApi!: GridApi;\n\n init(gridApi: GridApi) {\n this.gridApi = gridApi;\n }\n\n onAction?(name: string) {\n if (name === 'agGridHideShowColumns') {\n this.gridApi.showColumnChooser()\n }\n }\n}\n","import { GridApi } from 'ag-grid-community-v33';\nimport { GridFunction } from '../interfaces/gridFunction';\n\nexport class UdpExport implements GridFunction {\n private onOpenCallback: (searchObject, entity) => void;\n private api: GridApi;\n\n init(api: GridApi, _refresh: () => void, params?: any) {\n this.onOpenCallback = params?.callback;\n this.api = api;\n }\n\n onAction?(name: string) {\n if (name === 'udpExport') {\n const context = this.api.getGridOption('context');\n this.onOpenCallback?.(context?.searchObject, context?.entityName);\n }\n }\n}\n","import { GridFunction } from './interfaces/gridFunction';\nimport { AgGridExport } from './gridFunctions/agGridExport';\nimport { SavedViews } from './gridFunctions/savedViews';\nimport { AgGridSizeColumnsToFit } from './gridFunctions/agGridSizeColumnsToFit';\nimport { AgGridAutoSizeColumns } from './gridFunctions/agGridAutoSizeColumns';\nimport { BulkActions } from './gridFunctions/bulkActions';\nimport { ChipFilter } from './gridFunctions/chipFilter';\nimport { RestoreGridState } from './gridFunctions/restoreGridState';\nimport { AgGridResetColumns } from './gridFunctions/agGridResetColumns';\nimport { AdvancedSearch } from './gridFunctions/advancedSearch';\nimport { AgGridHideShowColumns } from './gridFunctions/agGridHideShowColumns';\nimport { UdpExport } from './gridFunctions/udpExport';\n\nexport const gridFunctionRegistry: Record<string, new (...args: any[]) => GridFunction> = {\n agGridExport: AgGridExport,\n openSavedViews: SavedViews,\n agGridSizeColumnsToFit: AgGridSizeColumnsToFit,\n agGridAutoSizeColumns: AgGridAutoSizeColumns,\n bulkActions: BulkActions,\n chipFilter: ChipFilter,\n restoreGridState: RestoreGridState,\n agGridResetColumns: AgGridResetColumns,\n advancedSearch: AdvancedSearch,\n agGridHideShowColumns: AgGridHideShowColumns,\n udpExport: UdpExport\n};\n\nexport type GridFunctionName = keyof typeof gridFunctionRegistry;\n\n","import { ColDef } from 'ag-grid-community-v33';\n\n/**\n * Finds an existing 'actions' column in an array of ColDefs and applies\n * a dynamic fixed width and right pinning.\n * Add a valueGetter to any column with a lookup Id set\n * @param columnDefs The array of column definitions to process.\n * @returns The modified array of column definitions.\n */\nexport function configureUdpColumnMods(\n columnDefs: ColDef[],\n disableColumnFiltering: boolean = false,\n): ColDef[] {\n const BUTTON_SIZE = 30;\n const GAP = 4;\n const MIN_WIDTH = 80;\n\n // Map over the existing column definitions\n return columnDefs.map(colDef => {\n // If we find the actions column, modify it\n if (colDef.field === 'actions') {\n const numActions =\n colDef.cellRendererParams?.actionList?.length > 5\n ? 5\n : colDef.cellRendererParams?.actionList?.length;\n if (numActions === 0) return colDef;\n let calculatedWidth = numActions * BUTTON_SIZE + (numActions - 1) * GAP + 40;\n if (calculatedWidth < MIN_WIDTH) {\n calculatedWidth = MIN_WIDTH;\n }\n\n // Return a new object with the original properties plus our overrides\n return {\n ...colDef,\n pinned: 'right',\n width: calculatedWidth,\n minWidth: calculatedWidth,\n maxWidth: calculatedWidth,\n sortable: false,\n filter: false,\n suppressHeaderMenuButton: true,\n suppressMovable: true,\n };\n }\n\n // If a column contains a lookup id, set a valuegetter on the column def and disable filtering and sorting\n if (colDef?.context?.lookupId) {\n colDef.valueGetter = params => params.data[colDef?.field + 'LookupValue'];\n colDef.filter = false;\n colDef.sortable = false;\n }\n\n if (disableColumnFiltering) {\n colDef.filter = false;\n }\n\n // Otherwise, return the column definition unchanged\n return colDef;\n });\n}\n","export const dateTimeValueFormatter = params => {\n const value = params.value;\n if (value == null) {\n return '';\n }\n // First, parse the string into a Date object\n const dateObject = new Date(value);\n if (!dateObject) {\n return '';\n }\n // Now format the Date object into the desired \"YYYY-MM-DD HH:mm:ss\" string\n return `${dateObject.getFullYear()}-${String(dateObject.getMonth() + 1).padStart(\n 2,\n '0',\n )}-${String(dateObject.getDate()).padStart(2, '0')} ${String(dateObject.getHours()).padStart(\n 2,\n '0',\n )}:${String(dateObject.getMinutes()).padStart(2, '0')}`;\n};\n","/*\n Define color variables for the action bar theme.\n These should align with the grid-header styles for a cohesive look.\n*/\n:root {\n --udp-grid-base-header-bg: #EBECEF;\n --udp-grid-base-header-text: #000;\n --udp-grid-action-divider-color: rgba(0, 0, 0, 0.3);\n --udp-grid-action-bar-border-color: rgb(202, 197, 197);\n}\n\n/*\n 'dark' variant\n*/\n.variant-dark {\n --udp-grid-base-header-bg: var(--primary-color-dark);\n --udp-grid-action-bar-bg: #F8F9FA;\n --udp-grid-column-header-bg: #F8F9FA;\n --udp-grid-column-header-bg-hover: #dce6f2;\n --udp-grid-column-header-text: var(--primary-color-dark);\n --udp-grid-action-bar-text-color: var(--primary-color-dark);\n --udp-grid-action-bar-border-color: rgba(0, 0, 0, 0.1);\n}\n\n/*\n 'light' variant\n*/\n.variant-light {\n --udp-grid-base-header-bg: #d8dfe6;\n --udp-grid-action-bar-bg: #f4f6f8;\n --udp-grid-column-header-bg: #f2f4f5;\n --udp-grid-column-header-bg-hover: #eef3f9;\n --udp-grid-column-header-text: var(--primary-color-dark);\n --udp-grid-action-bar-text-color: var(--primary-color-dark);\n --udp-grid-action-bar-border-color: rgba(0, 0, 0, 0.1);\n}\n\n::view-transition-group(*){\n animation-duration: 0.2s;\n}\n\n.grid-base-header {\n background-color: var(--udp-grid-base-header-bg);\n color: var(--udp-grid-base-header-text);\n}\n\n/*\n The action bar container, which holds the filter chips and other dynamic elements.\n*/\n.action-bar {\n display: flex;\n flex-direction: row;\n align-items: center;\n /* gap: 0.5rem; */\n /* Spacing between chips */\n flex-wrap: wrap;\n /* Allow chips to wrap to the next line if needed */\n background-color: var(--udp-grid-action-bar-bg);\n color: var(--udp-grid-action-bar-text-color);\n padding: 0px 8px 0px 12px;\n border-bottom: 1px solid var(--udp-grid-action-bar-border-color);\n}\n\n.grid-wrapper {\n display: flex;\n flex-direction: column;\n /* Make the wrapper fill the height of its parent container */\n height: 100%;\n}\n\n#myNewGrid {\n /* This is the key: it tells the grid to grow and fill all remaining space */\n flex: 1;\n}\n","import { Component, h, Element, Prop, EventEmitter, Event, State, Watch } from '@stencil/core';\nimport {\n createGrid,\n GridOptions,\n ModuleRegistry,\n themeQuartz,\n GridApi,\n GridReadyEvent,\n ColDef,\n} from 'ag-grid-community-v33';\nimport { HeaderConfig, GridApiMethods } from './interfaces/grid';\nimport { AllEnterpriseModule, LicenseManager } from 'ag-grid-enterprise-v33';\nimport { gridFunctionRegistry } from './gridFunctionRegistry';\nimport { GridFunction } from './interfaces/gridFunction';\nimport ActionsRenderer from '../renderers/actions-renderer';\nimport CurrencyRenderer from '../renderers/currency-renderer';\nimport DateTimeCellRenderer from '../renderers/date-time-cell-renderer';\nimport IconRenderer from '../renderers/icon-renderer';\nimport StatusRenderer from '../renderers/status-renderer';\nimport { GridFunctionConfig } from './interfaces/gridFunction';\nimport { configureUdpColumnMods } from './helperFunctions/configureUdpColumnMods';\nimport { dateTimeValueFormatter } from './helperFunctions/valueFormatters';\nimport isEqual from 'lodash/isEqual';\n\nconst myTheme = themeQuartz.withParams({\n wrapperBorderRadius: 0,\n wrapperBorder: false,\n //headerBackgroundColor: 'var(--udp-grid-column-header-bg)',\n headerCellHoverBackgroundColor: 'var(--udp-grid-column-header-bg-hover)',\n //headerTextColor: 'var(--udp-grid-column-header-text)',\n borderColor: '#E9ECEF',\n});\n\n@Component({\n tag: 'ag-grid-base',\n shadow: false,\n styleUrl: 'ag-grid-base.css',\n})\nexport class AgGridBase {\n @Element() el!: HTMLElement;\n\n @Prop() columnDefs: Array<ColDef>;\n @Prop() gridOptions!: GridOptions;\n @Prop() headerConfig: HeaderConfig = {};\n @Prop() gridHeight: string;\n @Prop() gridFunctions: GridFunctionConfig[] = [];\n @Prop() gridId: string;\n @Prop() entityName: string;\n @Prop() gridApiCallback?: (api: GridApiMethods) => void;\n\n @State() refreshKey = 0;\n\n @Event() gridReady!: EventEmitter<GridApi>;\n\n private gridApi!: GridApi;\n\n private gridFunctionInstances: GridFunction[] = [];\n\n private gridEl: HTMLElement;\n private gridContainerEl: HTMLElement;\n private resizeDebounce: any;\n private resizeObserver: ResizeObserver;\n\n private updateGridHeight = () => {\n if (this.gridEl) {\n const rect = this.gridEl.getBoundingClientRect();\n const availableHeight = window.innerHeight - rect.top;\n const BOTTOM_BUFFER = 10;\n this.gridEl.style.height = `${\n availableHeight - BOTTOM_BUFFER > 400 ? availableHeight - BOTTOM_BUFFER : 400\n }px`;\n }\n };\n\n private scheduleHeightUpdate = () => {\n clearTimeout(this.resizeDebounce);\n this.resizeDebounce = setTimeout(this.updateGridHeight, 100);\n };\n\n private refreshGridFunctions = () => {\n this.refreshKey++; // flip a dummy state so Stencil re-invokes render()\n };\n\n componentWillLoad() {\n ModuleRegistry.registerModules([AllEnterpriseModule]);\n\n LicenseManager.setLicenseKey(\n 'Using_this_{AG_Grid}_Enterprise_key_{AG-080613}_in_excess_of_the_licence_granted_is_not_permitted___Please_report_misuse_to_legal@ag-grid.com___For_help_with_changing_this_key_please_contact_info@ag-grid.com___{Univerus_Software_Inc}_is_granted_a_{Single_Application}_Developer_License_for_the_application_{MAIS_eRec}_only_for_{1}_Front-End_JavaScript_developer___All_Front-End_JavaScript_developers_working_on_{MAIS_eRec}_need_to_be_licensed___{MAIS_eRec}_has_not_been_granted_a_Deployment_License_Add-on___This_key_works_with_{AG_Grid}_Enterprise_versions_released_before_{28_June_2026}____[v3]_[01]_MTc4MjYwMTIwMDAwMA==5c7d1487ecb13b28e75415d34b7cf694',\n );\n }\n\n componentDidLoad() {\n const gridOptions: GridOptions = {\n tooltipShowMode: 'whenTruncated',\n tooltipShowDelay: 500,\n ...this.gridOptions,\n columnTypes: {\n booleanChip: {\n cellRenderer: 'iconRenderer',\n cellRendererParams: {\n iconMappingConfig: {\n true: { iconName: 'checkMark24', color: 'success' },\n false: { iconName: 'close24', color: 'error' },\n },\n },\n },\n },\n dataTypeDefinitions: {\n dateTimeString: {\n baseDataType: 'dateTimeString',\n extendsDataType: 'dateTimeString',\n valueFormatter: dateTimeValueFormatter,\n },\n boolean: {\n baseDataType: 'boolean',\n extendsDataType: 'boolean',\n columnTypes: 'booleanChip',\n },\n },\n gridId: this.gridId,\n onGridReady: this.onGridReady,\n theme: myTheme,\n components: {\n actionsRenderer: ActionsRenderer,\n currencyRenderer: CurrencyRenderer,\n dateTimeCellRenderer: DateTimeCellRenderer,\n iconRenderer: IconRenderer,\n statusRenderer: StatusRenderer,\n ...this.gridOptions?.components,\n },\n domLayout: 'normal',\n defaultColDef: {\n sortable: true,\n filter: true,\n flex: 1,\n minWidth: 150,\n suppressHeaderMenuButton: true,\n ...this.gridOptions?.defaultColDef,\n filterParams: {\n buttons: ['reset', 'apply'],\n closeOnApply: true,\n maxNumConditions: 10,\n ...this.gridOptions?.defaultColDef?.filterParams,\n },\n },\n };\n\n createGrid(this.el.querySelector('#myNewGrid') as HTMLElement, gridOptions);\n\n if (this.gridHeight) {\n this.gridEl.style.height = this.gridHeight;\n } else {\n this.updateGridHeight();\n this.resizeObserver = new ResizeObserver(this.scheduleHeightUpdate);\n this.resizeObserver.observe(this.gridContainerEl);\n }\n }\n\n disconnectedCallback() {\n this.gridApi?.destroy();\n }\n\n private onGridReady = (e: GridReadyEvent) => {\n this.gridApi = e.api;\n this.updateGridContextValues();\n\n //create grid plugin function objects from the gridFunction.ts registry\n this.gridFunctionInstances = this.gridFunctions\n .map(config => {\n const Ctor = gridFunctionRegistry[config.name];\n if (!Ctor) return null;\n\n const instance = new Ctor();\n // Pass the callback from the config object\n instance.init(this.gridApi, this.refreshGridFunctions, config.params);\n\n return instance;\n })\n .filter((f): f is GridFunction => !!f);\n\n //set api methods\n if (this.gridApiCallback) {\n this.gridApiCallback({\n refreshServerSide: () => this.gridApi.refreshServerSide(), //Refreshes server side datasource\n getSelectedRows: () => this.gridApi.getSelectedRows(), //gets all selected row data\n getSelectedNodes: () => this.gridApi.getSelectedNodes(), //gets all selected row nodes\n getSearchObject: () => this.gridApi.getGridOption('context')?.searchObject, //gets current full search object\n getEntityName: () => this.gridApi.getGridOption('context')?.entityName, //gets entity name\n getFilterModel: () => this.gridApi.getFilterModel(),\n setFilterModel: model => this.gridApi.setFilterModel(model),\n onFilterChanged: () => this.gridApi.onFilterChanged(),\n expandAll: () => this.gridApi.expandAll(),\n collapseAll: () => this.gridApi.collapseAll(),\n toggleLoadingOverlay: value => this.gridApi.setGridOption('loading', value),\n refreshCells: () => this.gridApi.refreshCells(),\n refreshClientSideRowModel: type => this.gridApi.refreshClientSideRowModel(type),\n selectAll: (mode, source) => this.gridApi.selectAll(mode, source),\n deselectAll: (mode, source) => this.gridApi.deselectAll(mode, source),\n getServerSideSelectionState: () => this.gridApi.getServerSideSelectionState(),\n setServerSideSelectionState: state => this.gridApi.setServerSideSelectionState(state),\n forEachNode: callback => this.gridApi.forEachNode(callback),\n forEachNodeAfterFilterAndSort: callback =>\n this.gridApi.forEachNodeAfterFilterAndSort(callback),\n });\n }\n\n //set column defs\n this.setColumnDefs();\n this.gridReady.emit(this.gridApi);\n };\n\n @Watch('columnDefs')\n handleUpdateColumnDefs(newVal, prevVal) {\n if (isEqual(newVal, prevVal)) {\n return;\n }\n this.setColumnDefs();\n }\n\n setColumnDefs() {\n if (this.columnDefs && this.gridApi) {\n const newDefs = configureUdpColumnMods(\n this.columnDefs,\n this.gridFunctions?.some(func => func?.name === 'advancedSearch'), //disabled column filtering if advanced search is on\n );\n this.gridApi.setGridOption('columnDefs', newDefs);\n }\n }\n\n private onHeaderAction = (ev: CustomEvent<{ name: string; payload?: any }>) => {\n this.gridFunctionInstances.forEach(f => f.onAction?.(ev.detail.name, ev.detail.payload));\n };\n\n private updateGridContextValues = () => {\n this.gridApi.setGridOption('context', {\n ...this.gridApi.getGridOption('context'),\n entityName: this.entityName,\n gridId: this.gridId,\n });\n };\n\n @Watch('entityName')\n @Watch('gridId')\n handleEntityNameChange() {\n this.updateGridContextValues();\n }\n\n render() {\n const variantClass = `variant-${this.headerConfig?.variant || 'light'}`;\n\n return (\n <div class={variantClass} ref={el => (this.gridContainerEl = el as HTMLElement)}>\n {/*\n @workaround(Compiler Hint)\n @reason The <udp-dialog> and <udp-list-item> is rendered dynamically by a grid function.\n They are ghost-rendered here to prevent it from being tree-shaken out of\n the production build. See <ghost-render> for more details.\n */}\n <ghost-render>\n <div>\n <udp-dialog />\n <udp-list-item />\n <hint-panel />\n </div>\n </ghost-render>\n <div class=\"grid-base-header\">\n <grid-header\n headerConfig={this.headerConfig}\n gridFunctions={this.gridFunctions}\n onHeaderAction={this.onHeaderAction}\n />\n <div class=\"action-bar\" style={{ viewTransitionName: `action-bar` }}>\n {this.gridFunctionInstances.map(fn => fn.render?.())}\n </div>\n </div>\n <div\n id=\"myNewGrid\"\n ref={el => (this.gridEl = el as HTMLElement)}\n style={{\n viewTransitionName: `my-new-grid`,\n }}\n ></div>\n </div>\n );\n }\n}\n"],"version":3}
1
+ {"file":"ag-grid-base2.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/grid/new-grid/gridFunctions/agGridExport.ts","src/udp-utilities/user/getUserId.ts","src/components/grid/new-grid/helperFunctions/guardedViewTransitions.ts","src/udp-utilities/catalog/getCurrentApiCatalogId.ts","src/components/grid/new-grid/gridFunctions/savedViews.tsx","src/components/grid/new-grid/gridFunctions/agGridSizeColumnsToFit.ts","src/components/grid/new-grid/gridFunctions/agGridAutoSizeColumns.ts","src/components/grid/new-grid/gridFunctions/bulkActions.tsx","src/components/grid/new-grid/helperFunctions/toggleAgGridColumnFilter.ts","src/components/grid/new-grid/gridFunctions/chipFilter.tsx","src/components/grid/new-grid/gridFunctions/restoreGridState.tsx","src/components/grid/new-grid/gridFunctions/agGridResetColumns.ts","src/components/grid/new-grid/gridFunctions/advancedSearch.ts","src/components/grid/new-grid/gridFunctions/agGridHideShowColumns.ts","src/components/grid/new-grid/gridFunctions/udpExport.ts","src/components/grid/new-grid/gridFunctionRegistry.ts","src/components/grid/new-grid/helperFunctions/configureUdpColumnMods.ts","src/components/grid/new-grid/helperFunctions/valueFormatters.ts","src/components/grid/new-grid/ag-grid-base.css?tag=ag-grid-base","src/components/grid/new-grid/ag-grid-base.tsx"],"sourcesContent":["import { GridFunction } from '../interfaces/gridFunction';\nimport { GridApi} from 'ag-grid-enterprise-v33';\n\nexport class AgGridExport implements GridFunction {\n private gridApi!: GridApi;\n\n constructor(private fileName = 'export.csv') {}\n\n init(gridApi: GridApi) {\n this.gridApi = gridApi;\n }\n\n onAction?(name: string) {\n if (name === 'agGridExport') {\n this.gridApi.exportDataAsCsv({ fileName: this.fileName });\n }\n }\n}\n","export function getUserId(): string | null | undefined{\n return sessionStorage.getItem('user-id');\n}\n","export const startGuardedTransition = async (updateCallback) => {\n if(!document?.startViewTransition){\n updateCallback()\n return;\n }\n // 1. Check if another transition is already running\n if (document.viewTransition) {\n // 2. If so, await its 'finished' promise\n await document.viewTransition.finished;\n }\n\n // 3. Now that the previous transition is done, start the new one\n document.startViewTransition(updateCallback);\n}\n","export function getCurrentApiCatalogId(): string | null | undefined{\n return sessionStorage.getItem('current-api-catalog-id');\n}\n","import { h } from '@stencil/core';\nimport { ApplyColumnStateParams, GridApi } from 'ag-grid-enterprise-v33';\nimport { GridFunction } from '../interfaces/gridFunction';\nimport {\n getGridViewsWithConfigurations,\n deleteSelectedView,\n saveView,\n updateView,\n} from 'src/udp-utilities/api-udp/apiUtils';\nimport { getUserId } from 'src/udp-utilities/user/getUserId';\nimport { getIconFromName } from '../../../data-display/icons/iconUtils';\nimport { startGuardedTransition } from '../helperFunctions/guardedViewTransitions';\nimport { getCurrentApiCatalogId } from 'src/udp-utilities/catalog/getCurrentApiCatalogId';\n\nexport class SavedViews implements GridFunction {\n private api!: GridApi;\n private isSidesheetOpen = false;\n private isDialogOpen = false;\n private viewName = '';\n private viewIsPrivate: boolean = true;\n private filteredViews: any[] = []; //filtered based on entity name\n private allViewData: any[] = []; //all views for the grid id\n private activeView: any = null;\n private loading: number = 0;\n private gridId: string;\n private entityName: string;\n private refresh!: () => void;\n\n private initialLoad: boolean = true;\n\n init(api: GridApi, refresh: () => void): void {\n this.api = api;\n this.refresh = refresh;\n //don't want to load before columns have loaded\n this.api.addEventListener('gridColumnsChanged', this.fetchViews);\n }\n\n onAction(name: string) {\n if (name === 'openSavedViews') {\n const context = this.api.getGridOption('context');\n if (context?.gridId !== this.gridId) {\n this.fetchViews();\n } else if (context?.entityName !== this.entityName) {\n this.filterData();\n }\n this.isSidesheetOpen = true;\n this.refresh();\n }\n }\n\n addStateChangeListeners = () => {\n //Listener used to remove the active view if\n this.api.addEventListener('columnVisible', this.handleManualColumnChange);\n this.api.addEventListener('columnPinned', this.handleManualColumnChange);\n this.api.addEventListener('columnMoved', this.handleManualColumnChange);\n this.api.addEventListener('columnPivotChanged', this.handleManualColumnChange);\n this.api.addEventListener('gridColumnsChanged', this.handleManualColumnChange);\n this.api.addEventListener('columnsReset', this.handleManualColumnChange);\n this.api.addEventListener('filterChanged', this.handleManualColumnChange);\n this.api.addEventListener('sortChanged', this.handleManualColumnChange);\n };\n\n removeStateChangeListeners = () => {\n this.api.removeEventListener('columnVisible', this.handleManualColumnChange);\n this.api.removeEventListener('columnPinned', this.handleManualColumnChange);\n this.api.removeEventListener('columnMoved', this.handleManualColumnChange);\n this.api.removeEventListener('columnPivotChanged', this.handleManualColumnChange);\n this.api.removeEventListener('gridColumnsChanged', this.handleManualColumnChange);\n this.api.removeEventListener('columnsReset', this.handleManualColumnChange);\n this.api.removeEventListener('filterChanged', this.handleManualColumnChange);\n this.api.removeEventListener('sortChanged', this.handleManualColumnChange);\n };\n\n fetchViews = async () => {\n if(this.api.getColumnDefs()?.length === 0) return;\n this.loading = 1;\n this.refresh();\n this.api.removeEventListener('gridColumnsChanged', this.fetchViews);\n this.gridId = this.api.getGridOption('context')?.gridId;\n if (this.gridId) {\n this.allViewData = await getGridViewsWithConfigurations(getUserId(), this.gridId);\n this.filterData();\n\n if (this.initialLoad) {\n this.setDefaultView();\n }\n }\n\n this.loading = 0;\n };\n\n setDefaultView = () => {\n const defaultView = this.filteredViews.find(view => view?.isDefault);\n defaultView && this.setActiveView(defaultView);\n this.initialLoad = false;\n };\n\n filterData = () => {\n this.entityName = this.api.getGridOption('context')?.entityName;\n if (this.entityName) {\n this.filteredViews = this.allViewData?.filter(view => view?.domain === this.entityName);\n } else {\n this.filteredViews = this.allViewData;\n }\n this.refresh();\n };\n\n setActiveView = data => {\n this.removeStateChangeListeners();\n const columnState = data?.gridViewGridViewGridConfiguration?.find(\n item => item.gridViewGridConfigurationGridConfiguration.gridStateTypeId === 1, //columns\n );\n const columnFilterState = data?.gridViewGridViewGridConfiguration?.find(\n item => item.gridViewGridConfigurationGridConfiguration.gridStateTypeId === 4, //filter\n );\n\n //apply column state\n if (columnState) {\n const columnStateObj: ApplyColumnStateParams = {\n state: JSON.parse(columnState.gridViewGridConfigurationGridConfiguration.values),\n applyOrder: true,\n };\n this.api.applyColumnState(columnStateObj);\n }\n\n if (columnFilterState) {\n this.api.setFilterModel(\n JSON.parse(columnFilterState.gridViewGridConfigurationGridConfiguration.values),\n );\n } else {\n this.api.setFilterModel(null);\n }\n this.handleSidesheetClose();\n\n startGuardedTransition(() => {\n this.activeView = data;\n this.refresh();\n //wait for 300ms so that it doesn't catch the actual view being added\n setTimeout(this.addStateChangeListeners, 300);\n });\n };\n\n deleteView = async data => {\n this.loading = 1;\n this.refresh();\n await deleteSelectedView(data.gridViewId, () => {\n this.fetchViews();\n });\n this.loading = 0;\n this.refresh();\n };\n\n private async postView() {\n this.loading = 1;\n this.refresh();\n const saveState = [];\n saveState.push({\n gridStateTypeId: 1, //column state\n gridId: this.api.getGridOption('context')?.gridId,\n values: JSON.stringify(this.api.getColumnState()),\n });\n\n saveState.push({\n gridStateTypeId: 4, //column filter state\n gridId: this.api.getGridOption('context')?.gridId,\n values: JSON.stringify(this.api.getFilterModel()),\n });\n const udpContext = this.api.getGridOption('context');\n\n try {\n await saveView(\n getUserId(),\n udpContext?.gridId,\n getCurrentApiCatalogId(),\n this.viewName,\n udpContext?.entityName,\n saveState,\n this.viewIsPrivate === true ? 1 : 2,\n 0,\n this.postViewCallback,\n );\n } catch (err) {\n console.error(err);\n } finally {\n this.refresh();\n }\n }\n\n postViewCallback = () => {\n this.loading = 0;\n this.fetchViews();\n this.handleDialogClose();\n };\n\n private async updateViewMarkedAsPrimary(data) {\n this.loading = 1;\n this.refresh();\n const context = this.api.getGridOption('context');\n //update current view to primary\n const currentlySetToPrimary = data?.isDefault;\n await updateView(\n data?.gridViewId,\n getUserId(),\n context?.gridId,\n getCurrentApiCatalogId(),\n data?.name,\n currentlySetToPrimary ? 0 : 1,\n context?.entityName,\n this.viewIsPrivate === true ? 1 : 2,\n () => null,\n )\n .then(async () => {\n //find current set to primary if it exists and the initial click was not to remove primary status\n if (!currentlySetToPrimary) {\n const currentDefaultView = this.filteredViews.find(view => view?.isDefault);\n if (currentDefaultView) {\n await updateView(\n currentDefaultView?.gridViewId,\n getUserId(),\n context?.gridId,\n getCurrentApiCatalogId(),\n currentDefaultView?.name,\n 0,\n context?.entityName,\n this.viewIsPrivate === true ? 1 : 2,\n () => null,\n ).catch(err => console.log(err));\n }\n }\n await this.fetchViews();\n this.loading = 0;\n this.refresh();\n })\n .catch(err => console.log(err));\n }\n\n removeActiveView = () => {\n this.removeStateChangeListeners();\n this.api.resetColumnState();\n this.api.setFilterModel(null);\n\n startGuardedTransition(() => {\n this.activeView = null;\n this.refresh();\n });\n };\n\n //If the user makes certain manual changed to columns, the active view should be removed\n handleManualColumnChange = async () => {\n this.removeStateChangeListeners();\n if (!this.activeView) {\n return;\n }\n\n startGuardedTransition(() => {\n this.activeView = null;\n this.refresh();\n });\n };\n\n handleNameChange = event => {\n this.viewName = event.target.value;\n this.refresh();\n };\n\n handleViewIsPrivateToggleChange = () => {\n this.viewIsPrivate = !this.viewIsPrivate;\n this.refresh();\n };\n\n handleSidesheetClose = () => {\n this.isSidesheetOpen = false;\n this.refresh();\n };\n\n handleDialogClose = () => {\n this.isDialogOpen = false;\n this.viewName = '';\n this.refresh();\n };\n\n handleOpenModal = () => {\n this.isDialogOpen = true;\n this.refresh();\n };\n\n render() {\n return (\n <div>\n <div\n //key={this.activeView ? 'has-view' : 'no-view'}\n style={{ viewTransitionName: `active-view-chip` }}\n class=\"grid-action-transition\"\n >\n {this.activeView && (\n <div style={{ margin: '4px' }}>\n <udp-chip\n label={this.activeView?.name}\n variant=\"filled\"\n color=\"secondary\"\n deleteButton\n onChipDelete={this.removeActiveView}\n ></udp-chip>\n </div>\n )}\n </div>\n <udp-dialog\n open={this.isDialogOpen}\n actionOne={() => {\n this.postView();\n }}\n actionTwo={this.handleDialogClose}\n handleClose={this.handleDialogClose}\n labelOne=\"Create View\"\n labelTwo=\"Cancel\"\n title={'Create a grid view'}\n message=\"The view will be created from the current column and filter state.\"\n disableOne={!this.viewName}\n progress={this.loading}\n >\n <div style={{ display: 'flex', flexDirection: 'column' }}>\n <div style={{ marginBottom: '-4px', marginTop: '2em' }}>\n <text-field\n value={this.viewName}\n onInput={this.handleNameChange}\n placeholder=\"View name\"\n />\n </div>\n <div style={{ marginTop: '-4px' }}>\n <stencil-toggle\n label=\"Private\"\n checked={this.viewIsPrivate}\n onChange={this.handleViewIsPrivateToggleChange}\n />\n </div>\n </div>\n </udp-dialog>\n\n <udp-side-sheet\n title=\"Views\"\n open={this.isSidesheetOpen}\n position=\"right\"\n onUdpSideSheetClose={this.handleSidesheetClose}\n headerActionButtonLabel=\"Create View\"\n onUdpHeaderActionButtonClick={this.handleOpenModal}\n headerActionButtonIcon={'add'}\n loading={!!this.loading}\n >\n <div style={{ display: 'flex', flexDirection: 'column', gap: '10px' }}>\n <hint-panel\n hint=\"Quickly access and manage your pre-configured grid views. These views are designed to help you focus on specific sets of data and streamline your workflow.\"\n hideHintText=\"Dismiss\"\n ></hint-panel>\n {this.entityName && (\n <hint-panel hint=\"Note: Displaying entity specific views.\"></hint-panel>\n )}\n <div>\n {this.filteredViews?.length > 0 ? (\n this.filteredViews.map(item => {\n return (\n <udp-list-item\n primaryText={item.name}\n clickable\n onListItemClick={() => this.setActiveView(item)}\n >\n <div\n style={{ display: 'flex', flexDirection: 'row', gap: '4px' }}\n slot=\"status-chip\"\n >\n {this.activeView?.gridViewId === item.gridViewId && (\n <udp-chip label=\"Active\" color=\"success\" variant=\"filled\"></udp-chip>\n )}\n {/* {item.isDefault && (\n <udp-chip label=\"Primary\" color=\"info\" variant=\"outlined\"></udp-chip>\n )} */}\n {item.gridViewVisibilityTypeId === 1 && (\n <udp-chip label=\"Private\" color=\"gray\" variant=\"outlined\"></udp-chip>\n )}\n </div>\n\n <div slot=\"actions\">\n <udp-icon-button\n icon={getIconFromName('star')}\n size=\"small\"\n variant={item.isDefault ? 'contained' : 'text'}\n tooltip={\n item.gridViewVisibilityTypeId === 2\n ? 'Cannot mark public view as primary'\n : item.isDefault\n ? 'Remove as primary'\n : 'Mark as primary'\n }\n onClick={() => this.updateViewMarkedAsPrimary(item)}\n disabled={item.gridViewVisibilityTypeId === 2}\n />\n <udp-icon-button\n icon={getIconFromName('trashCan')}\n size=\"small\"\n variant=\"text\"\n tooltip={\n item.userId !== getUserId()\n ? 'Cannot delete public view with different owner'\n : 'Delete View'\n }\n onClick={() => this.deleteView(item)}\n disabled={item.userId !== getUserId()}\n />\n </div>\n </udp-list-item>\n );\n })\n ) : (\n <udp-empty-state-display primaryText=\"No Views to display\" />\n )}\n </div>\n </div>\n </udp-side-sheet>\n </div>\n );\n }\n}\n","import { GridFunction } from '../interfaces/gridFunction';\nimport { GridApi} from 'ag-grid-enterprise-v33';\n\nexport class AgGridSizeColumnsToFit implements GridFunction {\n private gridApi!: GridApi;\n\n init(gridApi: GridApi) {\n this.gridApi = gridApi;\n }\n\n onAction?(name: string) {\n if (name === 'agGridSizeColumnsToFit') {\n this.gridApi.sizeColumnsToFit();\n }\n }\n}\n","import { GridFunction } from '../interfaces/gridFunction';\nimport { GridApi} from 'ag-grid-enterprise-v33';\n\nexport class AgGridAutoSizeColumns implements GridFunction {\n private gridApi!: GridApi;\n\n init(gridApi: GridApi) {\n this.gridApi = gridApi;\n }\n\n onAction?(name: string) {\n if (name === 'agGridAutoSizeColumns') {\n this.gridApi.autoSizeAllColumns();\n }\n }\n}\n","import { h } from '@stencil/core';\nimport { GridApi } from 'ag-grid-enterprise-v33';\nimport { GridFunction } from '../interfaces/gridFunction';\nimport { getAvailableGridActions } from 'src/udp-utilities/api-udp/apiUtils';\nimport { startGuardedTransition } from '../helperFunctions/guardedViewTransitions';\n\nexport class BulkActions implements GridFunction {\n private api!: GridApi;\n private bulkActions: any = [];\n private selectedRowCount: number = 0;\n private selectedRows: any;\n private fetchedData: boolean = false;\n private refresh!: () => void;\n private gridId: string;\n\n private actionProviderCallback: (actionId, selectedRows) => void;\n private localFunctions: { label: string; callback: (selectedRows: any[]) => void }[];\n private isMenuOpen: boolean = false;\n private menuAnchorEl?: HTMLElement;\n\n init(api: GridApi, refresh: () => void, params?: any): void {\n this.api = api;\n this.refresh = refresh;\n this.actionProviderCallback = params?.actionProviderCallback;\n this.localFunctions = params?.localFunctions;\n\n const modelType = this.api.getGridOption('rowModelType');\n if (modelType === 'clientSide') {\n this.api.setGridOption('rowSelection', { mode: 'multiRow', enableClickSelection: true });\n } else {\n this.api.setGridOption('rowSelection', {\n mode: 'multiRow',\n enableClickSelection: true,\n headerCheckbox: false,\n });\n }\n\n this.api.addEventListener('selectionChanged', this.onRowSelectionChanged);\n }\n\n onAction(name: string) {\n if (name === 'executeBulkAction') {\n this.refresh();\n }\n }\n\n onRowSelectionChanged = () => {\n startGuardedTransition(() => {\n const rows = this.api.getSelectedRows();\n this.selectedRows = rows;\n this.selectedRowCount = rows.length;\n this.refresh();\n });\n\n if (!this.fetchedData || this.api.getGridOption('context')?.gridId !== this.gridId) {\n //refetch if grid Id has changed since last fetch\n this.fetchBulkActions();\n }\n };\n\n private async fetchBulkActions() {\n try {\n this.gridId = this.api.getGridOption('context')?.gridId;\n await getAvailableGridActions(this.gridId, false, [], this.setBulkActions);\n } catch (err) {\n console.error(err);\n }\n }\n\n setBulkActions = data => {\n const actionProviderActions = data.map(action => {\n return {\n label: action.name,\n onClick: () => this.executeActionProviderAction(action.actionId),\n };\n });\n\n const parsedLocalFunctions = this.localFunctions.map(func => {\n return { label: func.label, onClick: () => this.executeLocalFunction(func.label) };\n });\n\n this.bulkActions = [...actionProviderActions, ...parsedLocalFunctions];\n this.fetchedData = true;\n this.refresh();\n };\n\n executeLocalFunction = (functionName: string) => {\n const selectedFunction = this.localFunctions.find(f => f.label === functionName);\n if (selectedFunction) {\n selectedFunction.callback(this.selectedRows);\n }\n this.refresh();\n };\n\n executeActionProviderAction = (actionId: any) => {\n if (this.actionProviderCallback) {\n this.actionProviderCallback(actionId, this.selectedRows);\n }\n this.refresh();\n };\n\n toggleMenu = () => {\n this.isMenuOpen = !this.isMenuOpen;\n this.refresh();\n };\n\n closeMenu = () => {\n this.isMenuOpen = false;\n this.refresh();\n };\n\n render() {\n return (\n <div\n style={{\n viewTransitionName: `bulk-action-button`,\n }}\n class=\"grid-action-transition\"\n >\n {this.selectedRowCount > 0 && [\n <div style={{ margin: '2px' }}>\n <udp-button\n ref={(el: HTMLUdpButtonElement | null) => {\n this.menuAnchorEl = el ? (el as unknown as HTMLElement) : undefined;\n }}\n onClick={this.toggleMenu}\n variant=\"outlined\"\n color=\"primary\"\n endIcon={\n <udp-icon\n iconName=\"chevronDown\"\n style={{\n transform: this.isMenuOpen ? 'rotate(180deg)' : 'rotate(0deg)',\n transition: 'transform 0.2s ease-in-out',\n }}\n />\n }\n >\n {`${this.selectedRowCount} Selected`}\n </udp-button>\n </div>,\n\n <udp-menu\n open={this.isMenuOpen}\n anchor={this.menuAnchorEl as unknown as HTMLElement}\n handleClose={this.closeMenu}\n >\n {this.bulkActions?.length === 0 ? (\n <udp-menu-item label={'No available actions'} />\n ) : (\n this.bulkActions.map(action => (\n <udp-menu-item\n label={action.label}\n onItemClick={() => {\n action.onClick();\n this.isMenuOpen = false;\n }}\n />\n ))\n )}\n </udp-menu>,\n ]}\n </div>\n );\n }\n}\n","import { AgColumn, GridApi } from 'ag-grid-enterprise-v33';\n\nexport function toggleColumnFilter(api: GridApi, columnId: string, agGridFilter: object) {\n //Validate column exists and column allows filtering\n const column: AgColumn = api.getColumn(columnId) as AgColumn;\n if(!column){\n console.error(\"Invalid column id provided for filtering\");\n return;\n }\n if(!column?.colDef?.filter){\n console.error(`Filtering not enabled for column: ${column?.colId}`);\n return;\n }\n //check if it already exists on columnId\n const currentColumnFilter: any = api.getColumnFilterModel(columnId);\n\n //--Removing filter--\n //if it exists on the column filter already and it is the only filter\n if (JSON.stringify(agGridFilter) === JSON.stringify(currentColumnFilter)) {\n api.setColumnFilterModel(columnId, null).then(() => api.onFilterChanged());\n return;\n }\n\n //if it is one of many existing filters on the column\n if (\n currentColumnFilter?.conditions?.some(\n condition => JSON.stringify(condition) === JSON.stringify(agGridFilter),\n )\n ) {\n const filteredOut = currentColumnFilter?.conditions.filter(\n condition => JSON.stringify(condition) !== JSON.stringify(agGridFilter),\n );\n if (filteredOut.length === 1) {\n api.setColumnFilterModel(columnId, filteredOut[0]).then(() => api.onFilterChanged());\n return;\n } else {\n const newColumnFilter = { ...currentColumnFilter, conditions: filteredOut };\n api.setColumnFilterModel(columnId, newColumnFilter).then(() => api.onFilterChanged());\n return;\n }\n }\n\n //--Adding filter--\n if (!currentColumnFilter) {\n api.setColumnFilterModel(column, agGridFilter).then(() => api.onFilterChanged());\n return;\n }\n if (currentColumnFilter?.conditions) {\n const newConditions = [...currentColumnFilter?.conditions, agGridFilter];\n api\n .setColumnFilterModel(columnId, { conditions: newConditions, operator: 'AND' })\n .then(() => api.onFilterChanged());\n return;\n }\n if (currentColumnFilter) {\n api\n .setColumnFilterModel(columnId, {\n conditions: [{ ...currentColumnFilter }, agGridFilter],\n operator: 'AND',\n })\n .then(() => api.onFilterChanged());\n return;\n }\n}\n","import { h } from '@stencil/core';\nimport { GridApi } from 'ag-grid-enterprise-v33';\nimport { GridFunction } from '../interfaces/gridFunction';\nimport {\n executeQueryAdHoc,\n getGridConfigurationsByGridId,\n getPromotedMethodEntities,\n} from 'src/udp-utilities/api-udp/apiUtils';\nimport { toggleColumnFilter } from '../helperFunctions/toggleAgGridColumnFilter';\nimport { ConfigService } from 'src/udp-utilities/api-config';\nimport { getCurrentApiCatalogId } from 'src/udp-utilities/catalog/getCurrentApiCatalogId';\nimport { startGuardedTransition } from '../helperFunctions/guardedViewTransitions';\n\nexport class ChipFilter implements GridFunction {\n private api!: GridApi;\n private refresh!: () => void;\n private filterChips!: any;\n private gridId: string;\n\n init(api: GridApi, refresh: () => void): void {\n this.api = api;\n this.refresh = refresh;\n\n this.api.addEventListener('firstDataRendered', this.getGridfilterChips);\n this.api.addEventListener('filterChanged', this.handleFilterChanged);\n }\n\n onAction(name: string) {\n if (name === 'chipFilter') {\n this.refresh();\n }\n }\n\n handleFilterChanged = data => {\n const colId = data?.columns?.[0]?.colId;\n const filterGroup = this.filterChips?.find(filterGroup => filterGroup.field === colId);\n if (filterGroup) {\n const currentFilterModel: any = this.api.getColumnFilterModel(colId);\n const updatedFilterGroup = {\n ...filterGroup,\n filterObjects: filterGroup.filterObjects.map(obj => {\n let toggled = false;\n\n //must be AND operator for filter chips\n if (currentFilterModel?.conditions && currentFilterModel?.operator === 'AND') {\n toggled = currentFilterModel.conditions.some(\n condition =>\n JSON.stringify(condition) === JSON.stringify(obj.agGridFilterModel[colId]),\n );\n } else if (currentFilterModel) {\n toggled =\n JSON.stringify(currentFilterModel) === JSON.stringify(obj.agGridFilterModel[colId]);\n }\n\n return { ...obj, toggled };\n }),\n };\n\n // Replace the group in this.filterChips\n this.filterChips = this.filterChips.map(group =>\n group.field === colId ? updatedFilterGroup : group,\n );\n this.refresh();\n }\n };\n\n //When the chips initially load in, need to check if filters have already been applied (ex. default view)\n syncChipsWithGridFilters = () => {\n if (!this.filterChips || this.filterChips.length === 0) {\n return;\n }\n\n // Create a new array with the updated toggle states\n const syncedFilterChips = this.filterChips.map(filterGroup => {\n const colId = filterGroup.field;\n const currentFilterModel: any = this.api.getColumnFilterModel(colId);\n\n // If there's no active filter for this column, no changes are needed\n if (!currentFilterModel) {\n return filterGroup;\n }\n\n // Update the toggled state for each chip in this group\n const updatedFilterObjects = filterGroup.filterObjects.map(obj => {\n let toggled = false;\n if (currentFilterModel?.conditions && currentFilterModel?.operator === 'AND') {\n toggled = currentFilterModel.conditions.some(\n condition => JSON.stringify(condition) === JSON.stringify(obj.agGridFilterModel[colId]),\n );\n } else {\n toggled =\n JSON.stringify(currentFilterModel) === JSON.stringify(obj.agGridFilterModel[colId]);\n }\n return { ...obj, toggled };\n });\n\n return { ...filterGroup, filterObjects: updatedFilterObjects };\n });\n\n // Update the component's state with the synchronized chips\n this.filterChips = syncedFilterChips;\n };\n\n //fetches the configured filter chips from db\n getGridfilterChips = async () => {\n if (this.gridId !== this.api.getGridOption('context')?.gridId) {\n this.gridId = this.api.getGridOption('context')?.gridId;\n const filterChipConfigurations = await getGridConfigurationsByGridId(this.gridId, 7);\n const parsedConfigurations = filterChipConfigurations.map(configuration =>\n JSON.parse(configuration.values),\n );\n\n startGuardedTransition(async () => {\n this.filterChips = parsedConfigurations.map(group => ({\n ...group,\n filterObjects: group.filterObjects.map(option => ({\n ...option,\n toggled: false,\n })),\n }));\n\n this.syncChipsWithGridFilters();\n\n this.getFilterChipCounts();\n this.refresh();\n });\n }\n };\n\n getFilterChipCounts = async () => {\n const baseSearchPayload = {\n pageNumber: 1,\n pageSize: 1,\n filterElements: [],\n filterGroups: [],\n orderElements: [],\n groupingType: '',\n groupProperty: [],\n groupOperationList: [],\n eagerLoad: false,\n logicalSearchOperator: 1,\n };\n\n const searchPromises: Promise<{\n result: any;\n groupField: string;\n objLabel: string;\n }>[] = [];\n\n for (const group of this.filterChips) {\n if (!group?.udpDomainSanitizedName) continue;\n\n const promotedMethods = await getPromotedMethodEntities(\n getCurrentApiCatalogId(),\n group.udpDomainSanitizedName,\n true,\n );\n\n for (const obj of group.filterObjects ?? []) {\n if (!obj?.udpFilterElement) continue;\n\n searchPromises.push(\n (async () => {\n const payload = {\n ...baseSearchPayload,\n filterElements: [obj.udpFilterElement],\n };\n\n const result = await executeQueryAdHoc(\n payload,\n promotedMethods?.unityBaseSearchMethod?.apiMethodId,\n ConfigService.config.UNITY_API_DOMAIN,\n false,\n );\n\n return {\n result,\n groupField: group.field,\n objLabel: obj.label,\n };\n })(),\n );\n }\n }\n\n // Wait for all ad-hoc queries to finish\n const results = await Promise.all(searchPromises);\n\n // Update filterChips with result counts\n this.filterChips = this.filterChips.map(group => {\n const groupResults = results.filter(r => r.groupField === group.field);\n\n return {\n ...group,\n filterObjects: group.filterObjects.map(obj => {\n const match = groupResults.find(r => r.objLabel === obj.label);\n return {\n ...obj,\n resultCount: match?.result?.total ?? null,\n };\n }),\n };\n });\n\n this.refresh();\n };\n\n setSelectedFilterChip = data => {\n this.filterChips = this.filterChips.map(group => ({\n ...group,\n filterObjects: group.filterObjects.map(option => {\n if (option.label === data.label) {\n return {\n ...option,\n toggled: !option.toggled,\n };\n }\n return option;\n }),\n }));\n this.refresh();\n\n const columnId = Object.keys(data.agGridFilterModel)[0];\n toggleColumnFilter(this.api, columnId, data.agGridFilterModel[columnId]);\n };\n\n render() {\n return (\n <div\n class=\"grid-action-transition\"\n style={{\n display: 'flex',\n flexWrap: 'nowrap',\n gap: '5px',\n viewTransitionName: `view-chip-filters`,\n }}\n >\n {this.filterChips?.length > 0 &&\n this.filterChips.map((filterChipGroup, index) => [\n index > 0 && (\n <div\n style={{\n width: '1px',\n backgroundColor: '#ddd',\n marginBottom: '5px',\n marginTop: '5px',\n }}\n />\n ),\n <div\n style={{\n padding: '4px',\n display: 'flex',\n flexWrap: 'nowrap',\n gap: '3px',\n }}\n >\n {filterChipGroup.filterObjects.map(option => (\n <udp-chip\n label={`${option.label} ${\n option.resultCount != null ? `(${option.resultCount})` : ''\n }`}\n variant={option.toggled ? 'filled' : 'outlined'}\n clickable\n onChipClick={() => this.setSelectedFilterChip(option)}\n color=\"primary\"\n />\n ))}\n </div>,\n ])}\n </div>\n );\n }\n}\n","import { h } from '@stencil/core';\nimport { GridFunction } from '../interfaces/gridFunction';\nimport { GridApi } from 'ag-grid-enterprise-v33';\nimport { startGuardedTransition } from '../helperFunctions/guardedViewTransitions';\nimport { getCurrentTenantId } from 'src/udp-utilities/tenant/tenantUtils';\n\n/*\n * This saves and allows a user to restore their grid state based on gridId\n */\n\nexport class RestoreGridState implements GridFunction {\n private api!: GridApi;\n private refresh!: () => void;\n private previousState!: any;\n\n private gridId!: string;\n private apiMethodInstanceId!: string;\n\n init(api: GridApi, refresh: () => void): void {\n this.api = api;\n this.refresh = refresh;\n\n this.api.addEventListener('firstDataRendered', this.getPreviousState);\n }\n\n getPreviousState = () => {\n startGuardedTransition(() => {\n this.api.removeEventListener('stateUpdated', this.saveState);\n const gridContext = this.api.getGridOption('context');\n this.gridId = gridContext?.gridId;\n this.apiMethodInstanceId = gridContext?.apiMethodInstanceId || '';\n //get the last saved state if it exists\n this.previousState = JSON.parse(localStorage.getItem(this.getStorageKey()));\n this.refresh();\n //add the watcher to track future state updates\n this.api.addEventListener('stateUpdated', this.saveState);\n });\n };\n\n getStorageKey = () => {\n const tenantId = getCurrentTenantId();\n return `saved-grid-state-${this.gridId}-${this.apiMethodInstanceId}-${tenantId}`;\n };\n\n saveState = () => {\n const gridContext = this.api.getGridOption('context');\n if (\n gridContext?.gridId !== this.gridId ||\n (gridContext?.apiMethodInstanceId && gridContext?.apiMethodInstanceId !== this.apiMethodInstanceId)\n ) {\n this.getPreviousState();\n } else {\n const savedState = this.api.getState();\n localStorage.setItem(\n this.getStorageKey(),\n JSON.stringify({ date: new Date(), state: savedState }),\n );\n }\n };\n\n restoreState = async () => {\n this.api.setState(this.previousState.state);\n //wrapping in setTimeout to avoid conflicts with the grid\n setTimeout(\n () =>\n startGuardedTransition(() => {\n this.previousState = null;\n this.refresh();\n }),\n 0,\n );\n };\n\n dismissMessage = () => {\n startGuardedTransition(() => {\n this.previousState = null;\n this.refresh();\n });\n };\n\n getTimeAgo(date: Date): string {\n const seconds = Math.floor((Date.now() - date.getTime()) / 1000);\n\n if (seconds < 60) return `${seconds} second${seconds !== 1 ? 's' : ''} ago`;\n const minutes = Math.floor(seconds / 60);\n if (minutes < 60) return `${minutes} minute${minutes !== 1 ? 's' : ''} ago`;\n const hours = Math.floor(minutes / 60);\n if (hours < 24) return `${hours} hour${hours !== 1 ? 's' : ''} ago`;\n const days = Math.floor(hours / 24);\n return `${days} day${days !== 1 ? 's' : ''} ago`;\n }\n\n render() {\n return (\n <div style={{ viewTransitionName: `restore-grid-state` }}>\n {this.previousState?.date && (\n <div style={{ margin: '4px' }}>\n <udp-ambient-tool-tip\n content={`Restore grid state from ${this.getTimeAgo(\n new Date(this.previousState.date),\n )}?`}\n >\n <udp-chip\n startIcon={'rotate'}\n label={`Restore state`}\n variant=\"outlined\"\n color=\"gray\"\n deleteButton\n onChipDelete={this.dismissMessage}\n clickable\n onClick={this.restoreState}\n ></udp-chip>\n </udp-ambient-tool-tip>\n </div>\n )}\n </div>\n );\n }\n}\n","import { GridFunction } from '../interfaces/gridFunction';\nimport { GridApi } from 'ag-grid-enterprise-v33';\n\nexport class AgGridResetColumns implements GridFunction {\n private gridApi!: GridApi;\n\n init(gridApi: GridApi) {\n this.gridApi = gridApi;\n }\n\n onAction?(name: string) {\n if (name === 'agGridResetColumns') {\n this.gridApi.resetColumnState();\n //reset all column filters\n this.gridApi.setFilterModel(null);\n }\n }\n}\n","import { GridApi } from 'ag-grid-community-v33';\nimport { GridFunction } from '../interfaces/gridFunction';\n\nexport class AdvancedSearch implements GridFunction {\n private onOpenCallback: () => void;\n\n init(_api: GridApi, _refresh: () => void, params?: any) {\n this.onOpenCallback = params?.callback;\n }\n\n onAction?(name: string) {\n if (name === 'advancedSearch') {\n this.onOpenCallback?.();\n }\n }\n}\n","import { GridFunction } from '../interfaces/gridFunction';\nimport { GridApi} from 'ag-grid-enterprise-v33';\n\nexport class AgGridHideShowColumns implements GridFunction {\n private gridApi!: GridApi;\n\n init(gridApi: GridApi) {\n this.gridApi = gridApi;\n }\n\n onAction?(name: string) {\n if (name === 'agGridHideShowColumns') {\n this.gridApi.showColumnChooser()\n }\n }\n}\n","import { GridApi } from 'ag-grid-community-v33';\nimport { GridFunction } from '../interfaces/gridFunction';\n\nexport class UdpExport implements GridFunction {\n private onOpenCallback: (searchObject, entity) => void;\n private api: GridApi;\n\n init(api: GridApi, _refresh: () => void, params?: any) {\n this.onOpenCallback = params?.callback;\n this.api = api;\n }\n\n onAction?(name: string) {\n if (name === 'udpExport') {\n const context = this.api.getGridOption('context');\n this.onOpenCallback?.(context?.searchObject, context?.entityName);\n }\n }\n}\n","import { GridFunction } from './interfaces/gridFunction';\nimport { AgGridExport } from './gridFunctions/agGridExport';\nimport { SavedViews } from './gridFunctions/savedViews';\nimport { AgGridSizeColumnsToFit } from './gridFunctions/agGridSizeColumnsToFit';\nimport { AgGridAutoSizeColumns } from './gridFunctions/agGridAutoSizeColumns';\nimport { BulkActions } from './gridFunctions/bulkActions';\nimport { ChipFilter } from './gridFunctions/chipFilter';\nimport { RestoreGridState } from './gridFunctions/restoreGridState';\nimport { AgGridResetColumns } from './gridFunctions/agGridResetColumns';\nimport { AdvancedSearch } from './gridFunctions/advancedSearch';\nimport { AgGridHideShowColumns } from './gridFunctions/agGridHideShowColumns';\nimport { UdpExport } from './gridFunctions/udpExport';\n\nexport const gridFunctionRegistry: Record<string, new (...args: any[]) => GridFunction> = {\n agGridExport: AgGridExport,\n openSavedViews: SavedViews,\n agGridSizeColumnsToFit: AgGridSizeColumnsToFit,\n agGridAutoSizeColumns: AgGridAutoSizeColumns,\n bulkActions: BulkActions,\n chipFilter: ChipFilter,\n restoreGridState: RestoreGridState,\n agGridResetColumns: AgGridResetColumns,\n advancedSearch: AdvancedSearch,\n agGridHideShowColumns: AgGridHideShowColumns,\n udpExport: UdpExport\n};\n\nexport type GridFunctionName = keyof typeof gridFunctionRegistry;\n\n","import { ColDef } from 'ag-grid-community-v33';\n\n/**\n * Finds an existing 'actions' column in an array of ColDefs and applies\n * a dynamic fixed width and right pinning.\n * Add a valueGetter to any column with a lookup Id set\n * @param columnDefs The array of column definitions to process.\n * @returns The modified array of column definitions.\n */\nexport function configureUdpColumnMods(\n columnDefs: ColDef[],\n disableColumnFiltering: boolean = false,\n): ColDef[] {\n const BUTTON_SIZE = 30;\n const GAP = 4;\n const MIN_WIDTH = 80;\n\n // Map over the existing column definitions\n return columnDefs.map(colDef => {\n // If we find the actions column, modify it\n if (colDef.field === 'actions') {\n const numActions =\n colDef.cellRendererParams?.actionList?.length > 5\n ? 5\n : colDef.cellRendererParams?.actionList?.length;\n if (numActions === 0) return colDef;\n let calculatedWidth = numActions * BUTTON_SIZE + (numActions - 1) * GAP + 40;\n if (calculatedWidth < MIN_WIDTH) {\n calculatedWidth = MIN_WIDTH;\n }\n\n // Return a new object with the original properties plus our overrides\n return {\n ...colDef,\n pinned: 'right',\n width: calculatedWidth,\n minWidth: calculatedWidth,\n maxWidth: calculatedWidth,\n sortable: false,\n filter: false,\n suppressHeaderMenuButton: true,\n suppressMovable: true,\n };\n }\n\n // If a column contains a lookup id, set a valuegetter on the column def and disable filtering and sorting\n if (colDef?.context?.lookupId) {\n colDef.valueGetter = params => params.data[colDef?.field + 'LookupValue'];\n colDef.filter = false;\n colDef.sortable = false;\n }\n\n if (disableColumnFiltering) {\n colDef.filter = false;\n }\n\n // Otherwise, return the column definition unchanged\n return colDef;\n });\n}\n","export const dateTimeValueFormatter = params => {\n const value = params.value;\n if (value == null) {\n return '';\n }\n // First, parse the string into a Date object\n const dateObject = new Date(value);\n if (!dateObject) {\n return '';\n }\n // Now format the Date object into the desired \"YYYY-MM-DD HH:mm:ss\" string\n return `${dateObject.getFullYear()}-${String(dateObject.getMonth() + 1).padStart(\n 2,\n '0',\n )}-${String(dateObject.getDate()).padStart(2, '0')} ${String(dateObject.getHours()).padStart(\n 2,\n '0',\n )}:${String(dateObject.getMinutes()).padStart(2, '0')}`;\n};\n","/*\n Define color variables for the action bar theme.\n These should align with the grid-header styles for a cohesive look.\n*/\n:root {\n --udp-grid-base-header-bg: #EBECEF;\n --udp-grid-base-header-text: #000;\n --udp-grid-action-divider-color: rgba(0, 0, 0, 0.3);\n --udp-grid-action-bar-border-color: rgb(202, 197, 197);\n}\n\n/*\n 'dark' variant\n*/\n.variant-dark {\n --udp-grid-base-header-bg: var(--primary-color-dark);\n --udp-grid-action-bar-bg: #F8F9FA;\n --udp-grid-column-header-bg: #F8F9FA;\n --udp-grid-column-header-bg-hover: #dce6f2;\n --udp-grid-column-header-text: var(--primary-color-dark);\n --udp-grid-action-bar-text-color: var(--primary-color-dark);\n --udp-grid-action-bar-border-color: rgba(0, 0, 0, 0.1);\n}\n\n/*\n 'light' variant\n*/\n.variant-light {\n --udp-grid-base-header-bg: #d8dfe6;\n --udp-grid-action-bar-bg: #f4f6f8;\n --udp-grid-column-header-bg: #f2f4f5;\n --udp-grid-column-header-bg-hover: #eef3f9;\n --udp-grid-column-header-text: var(--primary-color-dark);\n --udp-grid-action-bar-text-color: var(--primary-color-dark);\n --udp-grid-action-bar-border-color: rgba(0, 0, 0, 0.1);\n}\n\n::view-transition-group(*){\n animation-duration: 0.2s;\n}\n\n.grid-base-header {\n background-color: var(--udp-grid-base-header-bg);\n color: var(--udp-grid-base-header-text);\n}\n\n/*\n The action bar container, which holds the filter chips and other dynamic elements.\n*/\n.action-bar {\n display: flex;\n flex-direction: row;\n align-items: center;\n /* gap: 0.5rem; */\n /* Spacing between chips */\n flex-wrap: wrap;\n /* Allow chips to wrap to the next line if needed */\n background-color: var(--udp-grid-action-bar-bg);\n color: var(--udp-grid-action-bar-text-color);\n padding: 0px 8px 0px 12px;\n border-bottom: 1px solid var(--udp-grid-action-bar-border-color);\n}\n\n.grid-wrapper {\n display: flex;\n flex-direction: column;\n /* Make the wrapper fill the height of its parent container */\n height: 100%;\n}\n\n#myNewGrid {\n /* This is the key: it tells the grid to grow and fill all remaining space */\n flex: 1;\n}\n","import { Component, h, Element, Prop, EventEmitter, Event, State, Watch } from '@stencil/core';\nimport {\n createGrid,\n GridOptions,\n ModuleRegistry,\n themeQuartz,\n GridApi,\n GridReadyEvent,\n ColDef,\n} from 'ag-grid-community-v33';\nimport { HeaderConfig, GridApiMethods } from './interfaces/grid';\nimport { AllEnterpriseModule, LicenseManager } from 'ag-grid-enterprise-v33';\nimport { gridFunctionRegistry } from './gridFunctionRegistry';\nimport { GridFunction } from './interfaces/gridFunction';\nimport ActionsRenderer from '../renderers/actions-renderer';\nimport CurrencyRenderer from '../renderers/currency-renderer';\nimport DateTimeCellRenderer from '../renderers/date-time-cell-renderer';\nimport IconRenderer from '../renderers/icon-renderer';\nimport StatusRenderer from '../renderers/status-renderer';\nimport { GridFunctionConfig } from './interfaces/gridFunction';\nimport { configureUdpColumnMods } from './helperFunctions/configureUdpColumnMods';\nimport { dateTimeValueFormatter } from './helperFunctions/valueFormatters';\nimport isEqual from 'lodash/isEqual';\n\nconst myTheme = themeQuartz.withParams({\n wrapperBorderRadius: 0,\n wrapperBorder: false,\n //headerBackgroundColor: 'var(--udp-grid-column-header-bg)',\n headerCellHoverBackgroundColor: 'var(--udp-grid-column-header-bg-hover)',\n //headerTextColor: 'var(--udp-grid-column-header-text)',\n borderColor: '#E9ECEF',\n});\n\n@Component({\n tag: 'ag-grid-base',\n shadow: false,\n styleUrl: 'ag-grid-base.css',\n})\nexport class AgGridBase {\n @Element() el!: HTMLElement;\n\n @Prop() columnDefs: Array<ColDef>;\n @Prop() gridOptions!: GridOptions;\n @Prop() headerConfig: HeaderConfig = {};\n @Prop() gridHeight: string;\n @Prop() gridFunctions: GridFunctionConfig[] = [];\n @Prop() gridId: string;\n @Prop() entityName: string;\n @Prop() gridApiCallback?: (api: GridApiMethods) => void;\n\n @State() refreshKey = 0;\n\n @Event() gridReady!: EventEmitter<GridApi>;\n\n private gridApi!: GridApi;\n\n private gridFunctionInstances: GridFunction[] = [];\n\n private gridEl: HTMLElement;\n private gridContainerEl: HTMLElement;\n private resizeDebounce: any;\n private resizeObserver: ResizeObserver;\n\n private updateGridHeight = () => {\n if (this.gridEl) {\n const rect = this.gridEl.getBoundingClientRect();\n const availableHeight = window.innerHeight - rect.top;\n const BOTTOM_BUFFER = 10;\n this.gridEl.style.height = `${\n availableHeight - BOTTOM_BUFFER > 400 ? availableHeight - BOTTOM_BUFFER : 400\n }px`;\n }\n };\n\n private scheduleHeightUpdate = () => {\n clearTimeout(this.resizeDebounce);\n this.resizeDebounce = setTimeout(this.updateGridHeight, 100);\n };\n\n private refreshGridFunctions = () => {\n this.refreshKey++; // flip a dummy state so Stencil re-invokes render()\n };\n\n componentWillLoad() {\n ModuleRegistry.registerModules([AllEnterpriseModule]);\n\n LicenseManager.setLicenseKey(\n 'Using_this_{AG_Grid}_Enterprise_key_{AG-080613}_in_excess_of_the_licence_granted_is_not_permitted___Please_report_misuse_to_legal@ag-grid.com___For_help_with_changing_this_key_please_contact_info@ag-grid.com___{Univerus_Software_Inc}_is_granted_a_{Single_Application}_Developer_License_for_the_application_{MAIS_eRec}_only_for_{1}_Front-End_JavaScript_developer___All_Front-End_JavaScript_developers_working_on_{MAIS_eRec}_need_to_be_licensed___{MAIS_eRec}_has_not_been_granted_a_Deployment_License_Add-on___This_key_works_with_{AG_Grid}_Enterprise_versions_released_before_{28_June_2026}____[v3]_[01]_MTc4MjYwMTIwMDAwMA==5c7d1487ecb13b28e75415d34b7cf694',\n );\n }\n\n componentDidLoad() {\n const gridOptions: GridOptions = {\n tooltipShowMode: 'whenTruncated',\n tooltipShowDelay: 500,\n ...this.gridOptions,\n columnTypes: {\n booleanChip: {\n cellRenderer: 'iconRenderer',\n cellRendererParams: {\n iconMappingConfig: {\n true: { iconName: 'checkMark24', color: 'success' },\n false: { iconName: 'close24', color: 'error' },\n },\n },\n },\n },\n dataTypeDefinitions: {\n dateTimeString: {\n baseDataType: 'dateTimeString',\n extendsDataType: 'dateTimeString',\n valueFormatter: dateTimeValueFormatter,\n },\n boolean: {\n baseDataType: 'boolean',\n extendsDataType: 'boolean',\n columnTypes: 'booleanChip',\n },\n },\n gridId: this.gridId,\n onGridReady: this.onGridReady,\n theme: myTheme,\n components: {\n actionsRenderer: ActionsRenderer,\n currencyRenderer: CurrencyRenderer,\n dateTimeCellRenderer: DateTimeCellRenderer,\n iconRenderer: IconRenderer,\n statusRenderer: StatusRenderer,\n ...this.gridOptions?.components,\n },\n domLayout: 'normal',\n defaultColDef: {\n sortable: true,\n filter: true,\n flex: 1,\n minWidth: 150,\n suppressHeaderMenuButton: true,\n ...this.gridOptions?.defaultColDef,\n filterParams: {\n buttons: ['reset', 'apply'],\n closeOnApply: true,\n maxNumConditions: 10,\n ...this.gridOptions?.defaultColDef?.filterParams,\n },\n },\n };\n\n createGrid(this.el.querySelector('#myNewGrid') as HTMLElement, gridOptions);\n\n if (this.gridHeight) {\n this.gridEl.style.height = this.gridHeight;\n } else {\n this.updateGridHeight();\n this.resizeObserver = new ResizeObserver(this.scheduleHeightUpdate);\n this.resizeObserver.observe(this.gridContainerEl);\n }\n }\n\n disconnectedCallback() {\n this.gridApi?.destroy();\n }\n\n private onGridReady = (e: GridReadyEvent) => {\n this.gridApi = e.api;\n this.updateGridContextValues();\n\n //create grid plugin function objects from the gridFunction.ts registry\n this.gridFunctionInstances = this.gridFunctions\n .map(config => {\n const Ctor = gridFunctionRegistry[config.name];\n if (!Ctor) return null;\n\n const instance = new Ctor();\n // Pass the callback from the config object\n instance.init(this.gridApi, this.refreshGridFunctions, config.params);\n\n return instance;\n })\n .filter((f): f is GridFunction => !!f);\n\n //set api methods\n if (this.gridApiCallback) {\n this.gridApiCallback({\n refreshServerSide: () => this.gridApi.refreshServerSide(), //Refreshes server side datasource\n getSelectedRows: () => this.gridApi.getSelectedRows(), //gets all selected row data\n getSelectedNodes: () => this.gridApi.getSelectedNodes(), //gets all selected row nodes\n getSearchObject: () => this.gridApi.getGridOption('context')?.searchObject, //gets current full search object\n getEntityName: () => this.gridApi.getGridOption('context')?.entityName, //gets entity name\n getRowCount: () => this.gridApi.getGridOption('context')?.rowCount, //gets entity name\n getFilterModel: () => this.gridApi.getFilterModel(),\n setFilterModel: model => this.gridApi.setFilterModel(model),\n onFilterChanged: () => this.gridApi.onFilterChanged(),\n expandAll: () => this.gridApi.expandAll(),\n collapseAll: () => this.gridApi.collapseAll(),\n toggleLoadingOverlay: value => this.gridApi.setGridOption('loading', value),\n refreshCells: () => this.gridApi.refreshCells(),\n refreshClientSideRowModel: type => this.gridApi.refreshClientSideRowModel(type),\n selectAll: (mode, source) => this.gridApi.selectAll(mode, source),\n deselectAll: (mode, source) => this.gridApi.deselectAll(mode, source),\n getServerSideSelectionState: () => this.gridApi.getServerSideSelectionState(),\n setServerSideSelectionState: state => this.gridApi.setServerSideSelectionState(state),\n forEachNode: callback => this.gridApi.forEachNode(callback),\n forEachNodeAfterFilterAndSort: callback =>\n this.gridApi.forEachNodeAfterFilterAndSort(callback),\n });\n }\n\n //set column defs\n this.setColumnDefs();\n this.gridReady.emit(this.gridApi);\n };\n\n @Watch('columnDefs')\n handleUpdateColumnDefs(newVal, prevVal) {\n if (isEqual(newVal, prevVal)) {\n return;\n }\n this.setColumnDefs();\n }\n\n setColumnDefs() {\n if (this.columnDefs && this.gridApi) {\n const newDefs = configureUdpColumnMods(\n this.columnDefs,\n this.gridFunctions?.some(func => func?.name === 'advancedSearch'), //disabled column filtering if advanced search is on\n );\n this.gridApi.setGridOption('columnDefs', newDefs);\n }\n }\n\n private onHeaderAction = (ev: CustomEvent<{ name: string; payload?: any }>) => {\n this.gridFunctionInstances.forEach(f => f.onAction?.(ev.detail.name, ev.detail.payload));\n };\n\n private updateGridContextValues = () => {\n this.gridApi.setGridOption('context', {\n ...this.gridApi.getGridOption('context'),\n entityName: this.entityName,\n gridId: this.gridId,\n });\n };\n\n @Watch('entityName')\n @Watch('gridId')\n handleEntityNameChange() {\n this.updateGridContextValues();\n }\n\n render() {\n const variantClass = `variant-${this.headerConfig?.variant || 'light'}`;\n\n return (\n <div class={variantClass} ref={el => (this.gridContainerEl = el as HTMLElement)}>\n {/*\n @workaround(Compiler Hint)\n @reason The <udp-dialog> and <udp-list-item> is rendered dynamically by a grid function.\n They are ghost-rendered here to prevent it from being tree-shaken out of\n the production build. See <ghost-render> for more details.\n */}\n <ghost-render>\n <div>\n <udp-dialog />\n <udp-list-item />\n <hint-panel />\n <udp-side-sheet />\n </div>\n </ghost-render>\n <div class=\"grid-base-header\">\n <grid-header\n headerConfig={this.headerConfig}\n gridFunctions={this.gridFunctions}\n onHeaderAction={this.onHeaderAction}\n />\n <div class=\"action-bar\" style={{ viewTransitionName: `action-bar` }}>\n {this.gridFunctionInstances.map(fn => fn.render?.())}\n </div>\n </div>\n <div\n id=\"myNewGrid\"\n ref={el => (this.gridEl = el as HTMLElement)}\n style={{\n viewTransitionName: `my-new-grid`,\n }}\n ></div>\n </div>\n );\n }\n}\n"],"version":3}