udp-react-enterprise-component-library 26.7.0 → 26.8.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (532) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/UI/fluent-web-components/UdpAccordion.d.ts +2 -1
  3. package/dist/UI/fluent-web-components/UdpAccordion.d.ts.map +1 -1
  4. package/dist/UI/fluent-web-components/UdpAccordion.js.map +1 -1
  5. package/dist/UI/fluent-web-components/UdpAccordion.mjs.map +1 -1
  6. package/dist/UI/fluent-web-components/UdpAutocomplete.d.ts +2 -1
  7. package/dist/UI/fluent-web-components/UdpAutocomplete.d.ts.map +1 -1
  8. package/dist/UI/fluent-web-components/UdpAutocomplete.js.map +1 -1
  9. package/dist/UI/fluent-web-components/UdpAutocomplete.mjs.map +1 -1
  10. package/dist/UI/fluent-web-components/UdpAvatar.d.ts +2 -1
  11. package/dist/UI/fluent-web-components/UdpAvatar.d.ts.map +1 -1
  12. package/dist/UI/fluent-web-components/UdpAvatar.js.map +1 -1
  13. package/dist/UI/fluent-web-components/UdpAvatar.mjs.map +1 -1
  14. package/dist/UI/fluent-web-components/UdpBadge.d.ts +4 -1
  15. package/dist/UI/fluent-web-components/UdpBadge.d.ts.map +1 -1
  16. package/dist/UI/fluent-web-components/UdpBadge.js.map +1 -1
  17. package/dist/UI/fluent-web-components/UdpBadge.mjs.map +1 -1
  18. package/dist/UI/fluent-web-components/UdpButton.d.ts +4 -1
  19. package/dist/UI/fluent-web-components/UdpButton.d.ts.map +1 -1
  20. package/dist/UI/fluent-web-components/UdpButton.js.map +1 -1
  21. package/dist/UI/fluent-web-components/UdpButton.mjs.map +1 -1
  22. package/dist/UI/fluent-web-components/UdpCard.d.ts +2 -1
  23. package/dist/UI/fluent-web-components/UdpCard.d.ts.map +1 -1
  24. package/dist/UI/fluent-web-components/UdpCard.js.map +1 -1
  25. package/dist/UI/fluent-web-components/UdpCard.mjs.map +1 -1
  26. package/dist/UI/fluent-web-components/UdpCheckbox.d.ts +2 -1
  27. package/dist/UI/fluent-web-components/UdpCheckbox.d.ts.map +1 -1
  28. package/dist/UI/fluent-web-components/UdpCheckbox.js.map +1 -1
  29. package/dist/UI/fluent-web-components/UdpCheckbox.mjs.map +1 -1
  30. package/dist/UI/fluent-web-components/UdpChip.d.ts +2 -1
  31. package/dist/UI/fluent-web-components/UdpChip.d.ts.map +1 -1
  32. package/dist/UI/fluent-web-components/UdpChip.js.map +1 -1
  33. package/dist/UI/fluent-web-components/UdpChip.mjs.map +1 -1
  34. package/dist/UI/fluent-web-components/UdpCompoundButton.d.ts +2 -1
  35. package/dist/UI/fluent-web-components/UdpCompoundButton.d.ts.map +1 -1
  36. package/dist/UI/fluent-web-components/UdpCompoundButton.js.map +1 -1
  37. package/dist/UI/fluent-web-components/UdpCompoundButton.mjs.map +1 -1
  38. package/dist/UI/fluent-web-components/UdpContainerQuery.d.ts +2 -1
  39. package/dist/UI/fluent-web-components/UdpContainerQuery.d.ts.map +1 -1
  40. package/dist/UI/fluent-web-components/UdpContainerQuery.js.map +1 -1
  41. package/dist/UI/fluent-web-components/UdpContainerQuery.mjs.map +1 -1
  42. package/dist/UI/fluent-web-components/UdpContainerQueryGrid.d.ts +2 -1
  43. package/dist/UI/fluent-web-components/UdpContainerQueryGrid.d.ts.map +1 -1
  44. package/dist/UI/fluent-web-components/UdpContainerQueryGrid.js.map +1 -1
  45. package/dist/UI/fluent-web-components/UdpContainerQueryGrid.mjs.map +1 -1
  46. package/dist/UI/fluent-web-components/UdpCounterBadge.d.ts +2 -1
  47. package/dist/UI/fluent-web-components/UdpCounterBadge.d.ts.map +1 -1
  48. package/dist/UI/fluent-web-components/UdpCounterBadge.js.map +1 -1
  49. package/dist/UI/fluent-web-components/UdpCounterBadge.mjs.map +1 -1
  50. package/dist/UI/fluent-web-components/UdpDateInput.d.ts +2 -1
  51. package/dist/UI/fluent-web-components/UdpDateInput.d.ts.map +1 -1
  52. package/dist/UI/fluent-web-components/UdpDateInput.js.map +1 -1
  53. package/dist/UI/fluent-web-components/UdpDateInput.mjs.map +1 -1
  54. package/dist/UI/fluent-web-components/UdpDatePicker.d.ts +2 -1
  55. package/dist/UI/fluent-web-components/UdpDatePicker.d.ts.map +1 -1
  56. package/dist/UI/fluent-web-components/UdpDatePicker.js.map +1 -1
  57. package/dist/UI/fluent-web-components/UdpDatePicker.mjs.map +1 -1
  58. package/dist/UI/fluent-web-components/UdpDateTimeInput.d.ts +2 -1
  59. package/dist/UI/fluent-web-components/UdpDateTimeInput.d.ts.map +1 -1
  60. package/dist/UI/fluent-web-components/UdpDateTimeInput.js.map +1 -1
  61. package/dist/UI/fluent-web-components/UdpDateTimeInput.mjs.map +1 -1
  62. package/dist/UI/fluent-web-components/UdpDialog.d.ts +2 -1
  63. package/dist/UI/fluent-web-components/UdpDialog.d.ts.map +1 -1
  64. package/dist/UI/fluent-web-components/UdpDialog.js.map +1 -1
  65. package/dist/UI/fluent-web-components/UdpDialog.mjs.map +1 -1
  66. package/dist/UI/fluent-web-components/UdpDivider.d.ts +2 -1
  67. package/dist/UI/fluent-web-components/UdpDivider.d.ts.map +1 -1
  68. package/dist/UI/fluent-web-components/UdpDivider.js.map +1 -1
  69. package/dist/UI/fluent-web-components/UdpDivider.mjs.map +1 -1
  70. package/dist/UI/fluent-web-components/UdpDrawer.d.ts +9 -1
  71. package/dist/UI/fluent-web-components/UdpDrawer.d.ts.map +1 -1
  72. package/dist/UI/fluent-web-components/UdpDrawer.js +14 -2
  73. package/dist/UI/fluent-web-components/UdpDrawer.js.map +1 -1
  74. package/dist/UI/fluent-web-components/UdpDrawer.mjs +33 -22
  75. package/dist/UI/fluent-web-components/UdpDrawer.mjs.map +1 -1
  76. package/dist/UI/fluent-web-components/UdpDropdown.d.ts +2 -1
  77. package/dist/UI/fluent-web-components/UdpDropdown.d.ts.map +1 -1
  78. package/dist/UI/fluent-web-components/UdpDropdown.js.map +1 -1
  79. package/dist/UI/fluent-web-components/UdpDropdown.mjs.map +1 -1
  80. package/dist/UI/fluent-web-components/UdpDurationInput.d.ts +2 -1
  81. package/dist/UI/fluent-web-components/UdpDurationInput.d.ts.map +1 -1
  82. package/dist/UI/fluent-web-components/UdpDurationInput.js.map +1 -1
  83. package/dist/UI/fluent-web-components/UdpDurationInput.mjs.map +1 -1
  84. package/dist/UI/fluent-web-components/UdpEmptyState.d.ts +2 -1
  85. package/dist/UI/fluent-web-components/UdpEmptyState.d.ts.map +1 -1
  86. package/dist/UI/fluent-web-components/UdpEmptyState.js.map +1 -1
  87. package/dist/UI/fluent-web-components/UdpEmptyState.mjs.map +1 -1
  88. package/dist/UI/fluent-web-components/UdpFileInput.d.ts +2 -1
  89. package/dist/UI/fluent-web-components/UdpFileInput.d.ts.map +1 -1
  90. package/dist/UI/fluent-web-components/UdpFileInput.js.map +1 -1
  91. package/dist/UI/fluent-web-components/UdpFileInput.mjs.map +1 -1
  92. package/dist/UI/fluent-web-components/UdpFlexbox.d.ts +2 -1
  93. package/dist/UI/fluent-web-components/UdpFlexbox.d.ts.map +1 -1
  94. package/dist/UI/fluent-web-components/UdpFlexbox.js.map +1 -1
  95. package/dist/UI/fluent-web-components/UdpFlexbox.mjs.map +1 -1
  96. package/dist/UI/fluent-web-components/UdpIcon.d.ts +2 -1
  97. package/dist/UI/fluent-web-components/UdpIcon.d.ts.map +1 -1
  98. package/dist/UI/fluent-web-components/UdpIcon.js.map +1 -1
  99. package/dist/UI/fluent-web-components/UdpIcon.mjs.map +1 -1
  100. package/dist/UI/fluent-web-components/UdpIconButton.d.ts +4 -1
  101. package/dist/UI/fluent-web-components/UdpIconButton.d.ts.map +1 -1
  102. package/dist/UI/fluent-web-components/UdpIconButton.js.map +1 -1
  103. package/dist/UI/fluent-web-components/UdpIconButton.mjs.map +1 -1
  104. package/dist/UI/fluent-web-components/UdpIconGrid.d.ts +2 -1
  105. package/dist/UI/fluent-web-components/UdpIconGrid.d.ts.map +1 -1
  106. package/dist/UI/fluent-web-components/UdpIconGrid.js.map +1 -1
  107. package/dist/UI/fluent-web-components/UdpIconGrid.mjs.map +1 -1
  108. package/dist/UI/fluent-web-components/UdpImage.d.ts +2 -1
  109. package/dist/UI/fluent-web-components/UdpImage.d.ts.map +1 -1
  110. package/dist/UI/fluent-web-components/UdpImage.js.map +1 -1
  111. package/dist/UI/fluent-web-components/UdpImage.mjs.map +1 -1
  112. package/dist/UI/fluent-web-components/UdpInlineEdit.d.ts +17 -0
  113. package/dist/UI/fluent-web-components/UdpInlineEdit.d.ts.map +1 -1
  114. package/dist/UI/fluent-web-components/UdpInlineEdit.js +17 -0
  115. package/dist/UI/fluent-web-components/UdpInlineEdit.js.map +1 -1
  116. package/dist/UI/fluent-web-components/UdpInlineEdit.mjs +30 -0
  117. package/dist/UI/fluent-web-components/UdpInlineEdit.mjs.map +1 -0
  118. package/dist/UI/fluent-web-components/UdpLink.d.ts +2 -1
  119. package/dist/UI/fluent-web-components/UdpLink.d.ts.map +1 -1
  120. package/dist/UI/fluent-web-components/UdpLink.js.map +1 -1
  121. package/dist/UI/fluent-web-components/UdpLink.mjs.map +1 -1
  122. package/dist/UI/fluent-web-components/UdpList.d.ts +2 -1
  123. package/dist/UI/fluent-web-components/UdpList.d.ts.map +1 -1
  124. package/dist/UI/fluent-web-components/UdpList.js.map +1 -1
  125. package/dist/UI/fluent-web-components/UdpList.mjs.map +1 -1
  126. package/dist/UI/fluent-web-components/UdpListItem.d.ts +2 -1
  127. package/dist/UI/fluent-web-components/UdpListItem.d.ts.map +1 -1
  128. package/dist/UI/fluent-web-components/UdpListItem.js.map +1 -1
  129. package/dist/UI/fluent-web-components/UdpListItem.mjs.map +1 -1
  130. package/dist/UI/fluent-web-components/UdpLocationInput.d.ts +2 -1
  131. package/dist/UI/fluent-web-components/UdpLocationInput.d.ts.map +1 -1
  132. package/dist/UI/fluent-web-components/UdpLocationInput.js.map +1 -1
  133. package/dist/UI/fluent-web-components/UdpLocationInput.mjs.map +1 -1
  134. package/dist/UI/fluent-web-components/UdpMenu.d.ts +2 -1
  135. package/dist/UI/fluent-web-components/UdpMenu.d.ts.map +1 -1
  136. package/dist/UI/fluent-web-components/UdpMenu.js.map +1 -1
  137. package/dist/UI/fluent-web-components/UdpMenu.mjs.map +1 -1
  138. package/dist/UI/fluent-web-components/UdpMessageBar.d.ts +2 -1
  139. package/dist/UI/fluent-web-components/UdpMessageBar.d.ts.map +1 -1
  140. package/dist/UI/fluent-web-components/UdpMessageBar.js.map +1 -1
  141. package/dist/UI/fluent-web-components/UdpMessageBar.mjs.map +1 -1
  142. package/dist/UI/fluent-web-components/UdpNumberInput.d.ts +2 -1
  143. package/dist/UI/fluent-web-components/UdpNumberInput.d.ts.map +1 -1
  144. package/dist/UI/fluent-web-components/UdpNumberInput.js.map +1 -1
  145. package/dist/UI/fluent-web-components/UdpNumberInput.mjs.map +1 -1
  146. package/dist/UI/fluent-web-components/UdpPopover.d.ts +2 -1
  147. package/dist/UI/fluent-web-components/UdpPopover.d.ts.map +1 -1
  148. package/dist/UI/fluent-web-components/UdpPopover.js.map +1 -1
  149. package/dist/UI/fluent-web-components/UdpPopover.mjs.map +1 -1
  150. package/dist/UI/fluent-web-components/UdpPrimaryActionHeader.d.ts +2 -1
  151. package/dist/UI/fluent-web-components/UdpPrimaryActionHeader.d.ts.map +1 -1
  152. package/dist/UI/fluent-web-components/UdpPrimaryActionHeader.js.map +1 -1
  153. package/dist/UI/fluent-web-components/UdpPrimaryActionHeader.mjs.map +1 -1
  154. package/dist/UI/fluent-web-components/UdpProgressBar.d.ts +2 -1
  155. package/dist/UI/fluent-web-components/UdpProgressBar.d.ts.map +1 -1
  156. package/dist/UI/fluent-web-components/UdpProgressBar.js.map +1 -1
  157. package/dist/UI/fluent-web-components/UdpProgressBar.mjs.map +1 -1
  158. package/dist/UI/fluent-web-components/UdpRadioGroup.d.ts +2 -1
  159. package/dist/UI/fluent-web-components/UdpRadioGroup.d.ts.map +1 -1
  160. package/dist/UI/fluent-web-components/UdpRadioGroup.js.map +1 -1
  161. package/dist/UI/fluent-web-components/UdpRadioGroup.mjs.map +1 -1
  162. package/dist/UI/fluent-web-components/UdpSearchInput.d.ts +2 -1
  163. package/dist/UI/fluent-web-components/UdpSearchInput.d.ts.map +1 -1
  164. package/dist/UI/fluent-web-components/UdpSearchInput.js.map +1 -1
  165. package/dist/UI/fluent-web-components/UdpSearchInput.mjs.map +1 -1
  166. package/dist/UI/fluent-web-components/UdpSidebarLayout.d.ts +9 -0
  167. package/dist/UI/fluent-web-components/UdpSidebarLayout.d.ts.map +1 -0
  168. package/dist/UI/fluent-web-components/UdpSidebarLayout.js +6 -0
  169. package/dist/UI/fluent-web-components/UdpSidebarLayout.js.map +1 -0
  170. package/dist/UI/fluent-web-components/UdpSidebarLayout.mjs +18 -0
  171. package/dist/UI/fluent-web-components/UdpSidebarLayout.mjs.map +1 -0
  172. package/dist/UI/fluent-web-components/UdpSignatureInput.d.ts +2 -1
  173. package/dist/UI/fluent-web-components/UdpSignatureInput.d.ts.map +1 -1
  174. package/dist/UI/fluent-web-components/UdpSignatureInput.js.map +1 -1
  175. package/dist/UI/fluent-web-components/UdpSignatureInput.mjs.map +1 -1
  176. package/dist/UI/fluent-web-components/UdpSkeletonLoading.d.ts +8 -0
  177. package/dist/UI/fluent-web-components/UdpSkeletonLoading.d.ts.map +1 -0
  178. package/dist/UI/fluent-web-components/UdpSkeletonLoading.js +6 -0
  179. package/dist/UI/fluent-web-components/UdpSkeletonLoading.js.map +1 -0
  180. package/dist/UI/fluent-web-components/UdpSkeletonLoading.mjs +18 -0
  181. package/dist/UI/fluent-web-components/UdpSkeletonLoading.mjs.map +1 -0
  182. package/dist/UI/fluent-web-components/UdpSlider.d.ts +2 -1
  183. package/dist/UI/fluent-web-components/UdpSlider.d.ts.map +1 -1
  184. package/dist/UI/fluent-web-components/UdpSlider.js.map +1 -1
  185. package/dist/UI/fluent-web-components/UdpSlider.mjs.map +1 -1
  186. package/dist/UI/fluent-web-components/UdpSpinner.d.ts +2 -1
  187. package/dist/UI/fluent-web-components/UdpSpinner.d.ts.map +1 -1
  188. package/dist/UI/fluent-web-components/UdpSpinner.js.map +1 -1
  189. package/dist/UI/fluent-web-components/UdpSpinner.mjs.map +1 -1
  190. package/dist/UI/fluent-web-components/UdpSwatchPicker.d.ts +2 -1
  191. package/dist/UI/fluent-web-components/UdpSwatchPicker.d.ts.map +1 -1
  192. package/dist/UI/fluent-web-components/UdpSwatchPicker.js.map +1 -1
  193. package/dist/UI/fluent-web-components/UdpSwatchPicker.mjs.map +1 -1
  194. package/dist/UI/fluent-web-components/UdpSwitch.d.ts +2 -1
  195. package/dist/UI/fluent-web-components/UdpSwitch.d.ts.map +1 -1
  196. package/dist/UI/fluent-web-components/UdpSwitch.js.map +1 -1
  197. package/dist/UI/fluent-web-components/UdpSwitch.mjs.map +1 -1
  198. package/dist/UI/fluent-web-components/UdpTablist.d.ts +2 -1
  199. package/dist/UI/fluent-web-components/UdpTablist.d.ts.map +1 -1
  200. package/dist/UI/fluent-web-components/UdpTablist.js.map +1 -1
  201. package/dist/UI/fluent-web-components/UdpTablist.mjs.map +1 -1
  202. package/dist/UI/fluent-web-components/UdpText.d.ts +2 -1
  203. package/dist/UI/fluent-web-components/UdpText.d.ts.map +1 -1
  204. package/dist/UI/fluent-web-components/UdpText.js.map +1 -1
  205. package/dist/UI/fluent-web-components/UdpText.mjs.map +1 -1
  206. package/dist/UI/fluent-web-components/UdpTextInput.d.ts +2 -1
  207. package/dist/UI/fluent-web-components/UdpTextInput.d.ts.map +1 -1
  208. package/dist/UI/fluent-web-components/UdpTextInput.js.map +1 -1
  209. package/dist/UI/fluent-web-components/UdpTextInput.mjs.map +1 -1
  210. package/dist/UI/fluent-web-components/UdpTextarea.d.ts +4 -1
  211. package/dist/UI/fluent-web-components/UdpTextarea.d.ts.map +1 -1
  212. package/dist/UI/fluent-web-components/UdpTextarea.js.map +1 -1
  213. package/dist/UI/fluent-web-components/UdpTextarea.mjs.map +1 -1
  214. package/dist/UI/fluent-web-components/UdpTimeInput.d.ts +2 -1
  215. package/dist/UI/fluent-web-components/UdpTimeInput.d.ts.map +1 -1
  216. package/dist/UI/fluent-web-components/UdpTimeInput.js.map +1 -1
  217. package/dist/UI/fluent-web-components/UdpTimeInput.mjs.map +1 -1
  218. package/dist/UI/fluent-web-components/UdpToggleButton.d.ts +2 -1
  219. package/dist/UI/fluent-web-components/UdpToggleButton.d.ts.map +1 -1
  220. package/dist/UI/fluent-web-components/UdpToggleButton.js.map +1 -1
  221. package/dist/UI/fluent-web-components/UdpToggleButton.mjs.map +1 -1
  222. package/dist/UI/fluent-web-components/UdpTooltip.d.ts +2 -1
  223. package/dist/UI/fluent-web-components/UdpTooltip.d.ts.map +1 -1
  224. package/dist/UI/fluent-web-components/UdpTooltip.js.map +1 -1
  225. package/dist/UI/fluent-web-components/UdpTooltip.mjs.map +1 -1
  226. package/dist/UI/fluent-web-components/UdpVerticalSpacer.d.ts +2 -1
  227. package/dist/UI/fluent-web-components/UdpVerticalSpacer.d.ts.map +1 -1
  228. package/dist/UI/fluent-web-components/UdpVerticalSpacer.js.map +1 -1
  229. package/dist/UI/fluent-web-components/UdpVerticalSpacer.mjs.map +1 -1
  230. package/dist/UI/fluent-web-components/index.d.ts +4 -0
  231. package/dist/UI/fluent-web-components/index.d.ts.map +1 -1
  232. package/dist/UI/fluent-web-components/index.js +4 -0
  233. package/dist/UI/fluent-web-components/index.js.map +1 -1
  234. package/dist/UI/fluent-web-components/types.d.ts +26 -0
  235. package/dist/UI/fluent-web-components/types.d.ts.map +1 -0
  236. package/dist/UI/fluent-web-components/types.js +2 -0
  237. package/dist/UI/fluent-web-components/types.js.map +1 -0
  238. package/dist/UI/utilityDisplay/utilities/aggregateUtils.d.ts +8 -0
  239. package/dist/UI/utilityDisplay/utilities/aggregateUtils.d.ts.map +1 -1
  240. package/dist/UI/utilityDisplay/utilities/aggregateUtils.js +22 -0
  241. package/dist/UI/utilityDisplay/utilities/aggregateUtils.js.map +1 -1
  242. package/dist/UI/utilityDisplay/utilities/aggregateUtils.mjs.map +1 -1
  243. package/dist/actions/ActionSplitScreen.d.ts.map +1 -1
  244. package/dist/actions/ActionSplitScreen.js +2 -2
  245. package/dist/actions/ActionSplitScreen.js.map +1 -1
  246. package/dist/actions/ActionSplitScreen.mjs +155 -149
  247. package/dist/actions/ActionSplitScreen.mjs.map +1 -1
  248. package/dist/aiAssistant/AiMessageText.d.ts +5 -0
  249. package/dist/aiAssistant/AiMessageText.d.ts.map +1 -0
  250. package/dist/aiAssistant/AiMessageText.js +33 -0
  251. package/dist/aiAssistant/AiMessageText.js.map +1 -0
  252. package/dist/aiAssistant/AiMessageText.mjs +59 -0
  253. package/dist/aiAssistant/AiMessageText.mjs.map +1 -0
  254. package/dist/aiAssistant/AiMessageText.module.css +35 -0
  255. package/dist/aiAssistant/AiProposalCard.d.ts +18 -0
  256. package/dist/aiAssistant/AiProposalCard.d.ts.map +1 -0
  257. package/dist/aiAssistant/AiProposalCard.js +14 -0
  258. package/dist/aiAssistant/AiProposalCard.js.map +1 -0
  259. package/dist/aiAssistant/AiProposalCard.mjs +116 -0
  260. package/dist/aiAssistant/AiProposalCard.mjs.map +1 -0
  261. package/dist/aiAssistant/AiProposalCard.module.css +49 -0
  262. package/dist/aiAssistant/AssistantChat.d.ts +72 -0
  263. package/dist/aiAssistant/AssistantChat.d.ts.map +1 -0
  264. package/dist/aiAssistant/AssistantChat.js +195 -0
  265. package/dist/aiAssistant/AssistantChat.js.map +1 -0
  266. package/dist/aiAssistant/AssistantChat.mjs +514 -0
  267. package/dist/aiAssistant/AssistantChat.mjs.map +1 -0
  268. package/dist/aiAssistant/AssistantChat.module.css +120 -0
  269. package/dist/aiAssistant/UdpAiAssistant.d.ts +21 -0
  270. package/dist/aiAssistant/UdpAiAssistant.d.ts.map +1 -0
  271. package/dist/aiAssistant/UdpAiAssistant.js +49 -0
  272. package/dist/aiAssistant/UdpAiAssistant.js.map +1 -0
  273. package/dist/aiAssistant/UdpAiAssistant.mjs +108 -0
  274. package/dist/aiAssistant/UdpAiAssistant.mjs.map +1 -0
  275. package/dist/aiAssistant/UdpAiAssistant.module.css +8 -0
  276. package/dist/aiAssistant/askClarification.d.ts +5 -0
  277. package/dist/aiAssistant/askClarification.d.ts.map +1 -0
  278. package/dist/aiAssistant/askClarification.js +21 -0
  279. package/dist/aiAssistant/askClarification.js.map +1 -0
  280. package/dist/aiAssistant/askClarification.mjs +23 -0
  281. package/dist/aiAssistant/askClarification.mjs.map +1 -0
  282. package/dist/aiAssistant/conversation.d.ts +74 -0
  283. package/dist/aiAssistant/conversation.d.ts.map +1 -0
  284. package/dist/aiAssistant/conversation.js +75 -0
  285. package/dist/aiAssistant/conversation.js.map +1 -0
  286. package/dist/aiAssistant/conversation.mjs +72 -0
  287. package/dist/aiAssistant/conversation.mjs.map +1 -0
  288. package/dist/aiAssistant/conversationState.d.ts +74 -0
  289. package/dist/aiAssistant/conversationState.d.ts.map +1 -0
  290. package/dist/aiAssistant/conversationState.js +136 -0
  291. package/dist/aiAssistant/conversationState.js.map +1 -0
  292. package/dist/aiAssistant/conversationState.mjs +147 -0
  293. package/dist/aiAssistant/conversationState.mjs.map +1 -0
  294. package/dist/aiAssistant/engine.d.ts +62 -0
  295. package/dist/aiAssistant/engine.d.ts.map +1 -0
  296. package/dist/aiAssistant/engine.js +269 -0
  297. package/dist/aiAssistant/engine.js.map +1 -0
  298. package/dist/aiAssistant/engine.mjs +290 -0
  299. package/dist/aiAssistant/engine.mjs.map +1 -0
  300. package/dist/aiAssistant/index.d.ts +13 -0
  301. package/dist/aiAssistant/index.d.ts.map +1 -0
  302. package/dist/aiAssistant/index.js +13 -0
  303. package/dist/aiAssistant/index.js.map +1 -0
  304. package/dist/aiAssistant/openai.d.ts +90 -0
  305. package/dist/aiAssistant/openai.d.ts.map +1 -0
  306. package/dist/aiAssistant/openai.js +181 -0
  307. package/dist/aiAssistant/openai.js.map +1 -0
  308. package/dist/aiAssistant/openai.mjs +167 -0
  309. package/dist/aiAssistant/openai.mjs.map +1 -0
  310. package/dist/aiAssistant/provider/UdpAiProvider.d.ts +43 -0
  311. package/dist/aiAssistant/provider/UdpAiProvider.d.ts.map +1 -0
  312. package/dist/aiAssistant/provider/UdpAiProvider.js +65 -0
  313. package/dist/aiAssistant/provider/UdpAiProvider.js.map +1 -0
  314. package/dist/aiAssistant/provider/UdpAiProvider.mjs +66 -0
  315. package/dist/aiAssistant/provider/UdpAiProvider.mjs.map +1 -0
  316. package/dist/aiAssistant/provider/index.d.ts +3 -0
  317. package/dist/aiAssistant/provider/index.d.ts.map +1 -0
  318. package/dist/aiAssistant/provider/index.js +3 -0
  319. package/dist/aiAssistant/provider/index.js.map +1 -0
  320. package/dist/aiAssistant/types.d.ts +157 -0
  321. package/dist/aiAssistant/types.d.ts.map +1 -0
  322. package/dist/aiAssistant/types.js +2 -0
  323. package/dist/aiAssistant/types.js.map +1 -0
  324. package/dist/aiAssistant/useAiAssistant.d.ts +20 -0
  325. package/dist/aiAssistant/useAiAssistant.d.ts.map +1 -0
  326. package/dist/aiAssistant/useAiAssistant.js +26 -0
  327. package/dist/aiAssistant/useAiAssistant.js.map +1 -0
  328. package/dist/aiAssistant/useAiAssistant.mjs +98 -0
  329. package/dist/aiAssistant/useAiAssistant.mjs.map +1 -0
  330. package/dist/aiAssistant/useConversation.d.ts +17 -0
  331. package/dist/aiAssistant/useConversation.d.ts.map +1 -0
  332. package/dist/aiAssistant/useConversation.js +29 -0
  333. package/dist/aiAssistant/useConversation.js.map +1 -0
  334. package/dist/aiAssistant/useConversation.mjs +52 -0
  335. package/dist/aiAssistant/useConversation.mjs.map +1 -0
  336. package/dist/chatBot/ChatContainer.d.ts +4 -0
  337. package/dist/chatBot/ChatContainer.d.ts.map +1 -1
  338. package/dist/chatBot/ChatContainer.js +8 -0
  339. package/dist/chatBot/ChatContainer.js.map +1 -1
  340. package/dist/chatBot/ChatContainer.mjs +7 -0
  341. package/dist/chatBot/ChatContainer.mjs.map +1 -1
  342. package/dist/chatBot/ChatMessage.d.ts +4 -0
  343. package/dist/chatBot/ChatMessage.d.ts.map +1 -1
  344. package/dist/chatBot/ChatMessage.js +8 -0
  345. package/dist/chatBot/ChatMessage.js.map +1 -1
  346. package/dist/chatBot/ChatMessage.mjs +60 -47
  347. package/dist/chatBot/ChatMessage.mjs.map +1 -1
  348. package/dist/componentSystems/pageRenderer/hooks/useReadMetaData.d.ts +1 -1
  349. package/dist/domain/entityForm/entityFormModel.d.ts +41 -0
  350. package/dist/domain/entityForm/entityFormModel.d.ts.map +1 -0
  351. package/dist/domain/entityForm/entityFormModel.js +31 -0
  352. package/dist/domain/entityForm/entityFormModel.js.map +1 -0
  353. package/dist/domain/entityForm/entityFormModel.mjs +34 -0
  354. package/dist/domain/entityForm/entityFormModel.mjs.map +1 -0
  355. package/dist/hooks/crudActions.d.ts.map +1 -1
  356. package/dist/hooks/crudActions.js +2 -6
  357. package/dist/hooks/crudActions.js.map +1 -1
  358. package/dist/hooks/crudActions.mjs +2 -8
  359. package/dist/hooks/crudActions.mjs.map +1 -1
  360. package/dist/hooks/crudForeignKeyData.d.ts.map +1 -1
  361. package/dist/hooks/crudForeignKeyData.js +2 -7
  362. package/dist/hooks/crudForeignKeyData.js.map +1 -1
  363. package/dist/hooks/crudForeignKeyData.mjs +4 -9
  364. package/dist/hooks/crudForeignKeyData.mjs.map +1 -1
  365. package/dist/hooks/usePromotedLookupMethods.d.ts.map +1 -1
  366. package/dist/hooks/usePromotedLookupMethods.js +4 -1
  367. package/dist/hooks/usePromotedLookupMethods.js.map +1 -1
  368. package/dist/hooks/usePromotedLookupMethods.mjs +3 -1
  369. package/dist/hooks/usePromotedLookupMethods.mjs.map +1 -1
  370. package/dist/hooks/usePromotedMethodEntities.d.ts.map +1 -1
  371. package/dist/hooks/usePromotedMethodEntities.js +5 -1
  372. package/dist/hooks/usePromotedMethodEntities.js.map +1 -1
  373. package/dist/hooks/usePromotedMethodEntities.mjs +3 -1
  374. package/dist/hooks/usePromotedMethodEntities.mjs.map +1 -1
  375. package/dist/hooks/usePromotedMethodEntity.js +1 -1
  376. package/dist/hooks/usePromotedMethodEntity.js.map +1 -1
  377. package/dist/hooks/usePromotedMethodEntity.mjs +1 -1
  378. package/dist/hooks/usePromotedMethodEntity.mjs.map +1 -1
  379. package/dist/index.d.ts +2 -0
  380. package/dist/index.d.ts.map +1 -1
  381. package/dist/index.js +2 -0
  382. package/dist/index.js.map +1 -1
  383. package/dist/index.mjs +23 -3
  384. package/dist/maintenanceEngine/crudBrowser/CrudTableSidePanel.d.ts.map +1 -1
  385. package/dist/maintenanceEngine/crudBrowser/CrudTableSidePanel.js +2 -9
  386. package/dist/maintenanceEngine/crudBrowser/CrudTableSidePanel.js.map +1 -1
  387. package/dist/maintenanceEngine/crudBrowser/CrudTableSidePanel.mjs +69 -90
  388. package/dist/maintenanceEngine/crudBrowser/CrudTableSidePanel.mjs.map +1 -1
  389. package/dist/maintenanceEngine/entityFormInputs.d.ts +39 -0
  390. package/dist/maintenanceEngine/entityFormInputs.d.ts.map +1 -0
  391. package/dist/maintenanceEngine/entityFormInputs.js +174 -0
  392. package/dist/maintenanceEngine/entityFormInputs.js.map +1 -0
  393. package/dist/maintenanceEngine/entityFormInputs.mjs +133 -0
  394. package/dist/maintenanceEngine/entityFormInputs.mjs.map +1 -0
  395. package/dist/maintenanceEngine/tableBrowser/TableColumnDefs.d.ts +1 -1
  396. package/dist/maintenanceEngine/tableBrowser/TableColumnDefs.d.ts.map +1 -1
  397. package/dist/maintenanceEngine/virtualBrowser/VirtualBrowser.js +2 -2
  398. package/dist/maintenanceEngine/virtualBrowser/VirtualBrowser.js.map +1 -1
  399. package/dist/maintenanceEngine/virtualBrowser/VirtualBrowser.mjs +2 -2
  400. package/dist/maintenanceEngine/virtualBrowser/VirtualBrowser.mjs.map +1 -1
  401. package/dist/notes/NotesScreen.d.ts.map +1 -1
  402. package/dist/notes/NotesScreen.js +8 -2
  403. package/dist/notes/NotesScreen.js.map +1 -1
  404. package/dist/notes/NotesScreen.mjs +5 -1
  405. package/dist/notes/NotesScreen.mjs.map +1 -1
  406. package/dist/providers/UdpAiAppSurface.d.ts +19 -0
  407. package/dist/providers/UdpAiAppSurface.d.ts.map +1 -0
  408. package/dist/providers/UdpAiAppSurface.js +39 -0
  409. package/dist/providers/UdpAiAppSurface.js.map +1 -0
  410. package/dist/providers/UdpAiAppSurface.mjs +56 -0
  411. package/dist/providers/UdpAiAppSurface.mjs.map +1 -0
  412. package/dist/providers/UdpAppProvider.d.ts +20 -0
  413. package/dist/providers/UdpAppProvider.d.ts.map +1 -1
  414. package/dist/providers/UdpAppProvider.js +6 -2
  415. package/dist/providers/UdpAppProvider.js.map +1 -1
  416. package/dist/providers/UdpAppProvider.mjs +30 -21
  417. package/dist/providers/UdpAppProvider.mjs.map +1 -1
  418. package/dist/reminders/RemindersScreen.d.ts.map +1 -1
  419. package/dist/reminders/RemindersScreen.js +8 -2
  420. package/dist/reminders/RemindersScreen.js.map +1 -1
  421. package/dist/reminders/RemindersScreen.mjs +5 -1
  422. package/dist/reminders/RemindersScreen.mjs.map +1 -1
  423. package/dist/routes/UdpRoutes.d.ts.map +1 -1
  424. package/dist/routes/UdpRoutes.js.map +1 -1
  425. package/dist/routes/UdpRoutes.mjs.map +1 -1
  426. package/dist/searchIntent/compile.d.ts +9 -0
  427. package/dist/searchIntent/compile.d.ts.map +1 -0
  428. package/dist/searchIntent/compile.js +127 -0
  429. package/dist/searchIntent/compile.js.map +1 -0
  430. package/dist/searchIntent/compile.mjs +120 -0
  431. package/dist/searchIntent/compile.mjs.map +1 -0
  432. package/dist/searchIntent/diff.d.ts +10 -0
  433. package/dist/searchIntent/diff.d.ts.map +1 -0
  434. package/dist/searchIntent/diff.js +90 -0
  435. package/dist/searchIntent/diff.js.map +1 -0
  436. package/dist/searchIntent/diff.mjs +88 -0
  437. package/dist/searchIntent/diff.mjs.map +1 -0
  438. package/dist/searchIntent/index.d.ts +13 -0
  439. package/dist/searchIntent/index.d.ts.map +1 -0
  440. package/dist/searchIntent/index.js +13 -0
  441. package/dist/searchIntent/index.js.map +1 -0
  442. package/dist/searchIntent/operators.d.ts +28 -0
  443. package/dist/searchIntent/operators.d.ts.map +1 -0
  444. package/dist/searchIntent/operators.js +184 -0
  445. package/dist/searchIntent/operators.js.map +1 -0
  446. package/dist/searchIntent/operators.mjs +164 -0
  447. package/dist/searchIntent/operators.mjs.map +1 -0
  448. package/dist/searchIntent/prompt.d.ts +36 -0
  449. package/dist/searchIntent/prompt.d.ts.map +1 -0
  450. package/dist/searchIntent/prompt.js +152 -0
  451. package/dist/searchIntent/prompt.js.map +1 -0
  452. package/dist/searchIntent/prompt.mjs +116 -0
  453. package/dist/searchIntent/prompt.mjs.map +1 -0
  454. package/dist/searchIntent/tools.d.ts +19 -0
  455. package/dist/searchIntent/tools.d.ts.map +1 -0
  456. package/dist/searchIntent/tools.js +189 -0
  457. package/dist/searchIntent/tools.js.map +1 -0
  458. package/dist/searchIntent/tools.mjs +209 -0
  459. package/dist/searchIntent/tools.mjs.map +1 -0
  460. package/dist/searchIntent/types.d.ts +95 -0
  461. package/dist/searchIntent/types.d.ts.map +1 -0
  462. package/dist/searchIntent/types.js +2 -0
  463. package/dist/searchIntent/types.js.map +1 -0
  464. package/dist/searchIntent/validate.d.ts +19 -0
  465. package/dist/searchIntent/validate.d.ts.map +1 -0
  466. package/dist/searchIntent/validate.js +136 -0
  467. package/dist/searchIntent/validate.js.map +1 -0
  468. package/dist/searchIntent/validate.mjs +103 -0
  469. package/dist/searchIntent/validate.mjs.map +1 -0
  470. package/dist/stores/inquiryStore.d.ts +2 -2
  471. package/dist/stores/inquiryStore.d.ts.map +1 -1
  472. package/dist/stores/inquiryStore.mjs.map +1 -1
  473. package/dist/udp/export/MyExportsPage.js +1 -1
  474. package/dist/udp/export/MyExportsPage.js.map +1 -1
  475. package/dist/udp/export/MyExportsPage.mjs +1 -1
  476. package/dist/udp/export/MyExportsPage.mjs.map +1 -1
  477. package/dist/udp/pages/UdpDataBrowserPage/UdpDataBrowserPage.js +4 -4
  478. package/dist/udp/pages/UdpDataBrowserPage/UdpDataBrowserPage.js.map +1 -1
  479. package/dist/udp/pages/UdpDataBrowserPage/UdpDataBrowserPage.mjs +4 -4
  480. package/dist/udp/pages/UdpDataBrowserPage/UdpDataBrowserPage.mjs.map +1 -1
  481. package/dist/udp/pages/UdpMaintenanceConfigPage/UdpMaintenanceConfigPage.js +1 -1
  482. package/dist/udp/pages/UdpMaintenanceConfigPage/UdpMaintenanceConfigPage.js.map +1 -1
  483. package/dist/udp/pages/UdpMaintenanceConfigPage/UdpMaintenanceConfigPage.mjs +1 -1
  484. package/dist/udp/pages/UdpMaintenanceConfigPage/UdpMaintenanceConfigPage.mjs.map +1 -1
  485. package/dist/udp/pages/UdpMaintenanceEnginePage/UdpMaintenanceEnginePage.d.ts.map +1 -1
  486. package/dist/udp/pages/UdpMaintenanceEnginePage/UdpMaintenanceEnginePage.js +38 -206
  487. package/dist/udp/pages/UdpMaintenanceEnginePage/UdpMaintenanceEnginePage.js.map +1 -1
  488. package/dist/udp/pages/UdpMaintenanceEnginePage/UdpMaintenanceEnginePage.mjs +63 -172
  489. package/dist/udp/pages/UdpMaintenanceEnginePage/UdpMaintenanceEnginePage.mjs.map +1 -1
  490. package/dist/udp/tags/useTags.d.ts +13 -1
  491. package/dist/udp/tags/useTags.d.ts.map +1 -1
  492. package/dist/udp/tags/useTags.js +16 -6
  493. package/dist/udp/tags/useTags.js.map +1 -1
  494. package/dist/udp/tags/useTags.mjs +41 -35
  495. package/dist/udp/tags/useTags.mjs.map +1 -1
  496. package/dist/udp/utilities/useDateStringColumnDef.d.ts +1 -1
  497. package/dist/utilities/configRequestDedupe.d.ts +31 -0
  498. package/dist/utilities/configRequestDedupe.d.ts.map +1 -0
  499. package/dist/utilities/configRequestDedupe.js +106 -0
  500. package/dist/utilities/configRequestDedupe.js.map +1 -0
  501. package/dist/utilities/configRequestDedupe.mjs +90 -0
  502. package/dist/utilities/configRequestDedupe.mjs.map +1 -0
  503. package/dist/utilities/crud/useDefaultFormValues.d.ts.map +1 -1
  504. package/dist/utilities/crud/useDefaultFormValues.js +14 -9
  505. package/dist/utilities/crud/useDefaultFormValues.js.map +1 -1
  506. package/dist/utilities/crud/useDefaultFormValues.mjs +23 -5
  507. package/dist/utilities/crud/useDefaultFormValues.mjs.map +1 -1
  508. package/dist/utilities/entities/entityUtilities.d.ts +9 -0
  509. package/dist/utilities/entities/entityUtilities.d.ts.map +1 -1
  510. package/dist/utilities/entities/entityUtilities.js +12 -1
  511. package/dist/utilities/entities/entityUtilities.js.map +1 -1
  512. package/dist/utilities/entities/entityUtilities.mjs +15 -2
  513. package/dist/utilities/entities/entityUtilities.mjs.map +1 -1
  514. package/dist/utilities/i18n/locales/es-US.json +104 -1
  515. package/dist/utilities/i18n/locales/es-US.mjs +98 -1
  516. package/dist/utilities/i18n/locales/fr-CA.json +104 -1
  517. package/dist/utilities/i18n/locales/fr-CA.mjs +98 -1
  518. package/dist/utilities/iconLibrary/SelectedLibraryItem.d.ts.map +1 -1
  519. package/dist/utilities/iconLibrary/SelectedLibraryItem.js +0 -1
  520. package/dist/utilities/iconLibrary/SelectedLibraryItem.js.map +1 -1
  521. package/dist/utilities/iconLibrary/SelectedLibraryItem.mjs.map +1 -1
  522. package/dist/utilities/provider/ActionProvider.d.ts.map +1 -1
  523. package/dist/utilities/provider/ActionProvider.js +23 -9
  524. package/dist/utilities/provider/ActionProvider.js.map +1 -1
  525. package/dist/utilities/provider/ActionProvider.mjs +382 -201
  526. package/dist/utilities/provider/ActionProvider.mjs.map +1 -1
  527. package/dist/utilities/useAxiosGet.d.ts.map +1 -1
  528. package/dist/utilities/useAxiosGet.js +3 -1
  529. package/dist/utilities/useAxiosGet.js.map +1 -1
  530. package/dist/utilities/useAxiosGet.mjs +4 -1
  531. package/dist/utilities/useAxiosGet.mjs.map +1 -1
  532. package/package.json +105 -4
@@ -1 +1 @@
1
- {"version":3,"file":"UdpMaintenanceEnginePage.mjs","names":["React","useEffect","useState","useMemo","useCallback","useRef","useTranslation","CrudBrowserContainer","CrudTableSidePanel","getPathObject","getPrimaryKeyValues","apiMutate","toLowerFirstChar","toUpperFirstChar","CardinalityTypeEnums","EntityAttributeEnums","UdpEnums","executeQueryAdHoc","getSearchObject","useHandleAxiosSnackbar","usePromotedMethodEntity","getSanitizedName","Alert","v4","uuid","useLocation","TagEnums","ConfigService","SideSheet","useCatalogStore","useHistory","Inquiry","useAxiosGet","UdpDialog","UdpDrawer","UdpList","UdpListItem","UdpTablist","UdpButton","UdpCard","UdpFlexbox","UdpFluentButton","UdpFluentIcon","UdpMessageBar","UdpTabPanel","UdpText","EntityTimeLine","formatDate","EntityNotes","AuditEventTypeEnums","ReactJsonView","AddViewNote","EDIT_TAB_ID","DOMAIN_FIELDS","AUDIT_HISTORY","NOTES","UdpMaintenanceEnginePage","props","catalogKey","params","t","udpFieldInfos","setUdpFieldInfos","alertWarnings","setAlertWarnings","showBackToTableBrowser","setShowBackToTableBrowser","gridApiRef","modalConfig","setModalConfig","type","data","openCompareDomainAuditsSidesheet","setOpenCompareDomainAuditsSidesheet","lastModifiedAuditEvent","setLastModifiedAuditEvent","selectedAuditEvent","setSelectedAuditEvent","openAddViewNoteSidesheet","setopenAddViewNoteSidesheet","noteMode","setNoteMode","selectedNote","setSelectedNote","refreshNotes","setRefreshNotes","createFormApiRef","editFormApiRef","location","state","history","searchParamStr","search","searchParams","URLSearchParams","searchParamsEntityName","entityName","has","get","handleErrorSnackbar","handleSuccessSnackbar","handleGoToTableBrowser","push","pathname","udpCatalogKey","udpTagId","selectedEntity","setSelectedEntity","foreignKeyData","setForeignKeyData","udpFieldSearchApiId","setUdpFieldSearchApiId","entityUdpObjectInfo","setEntityUdpObjectInfo","editSidesheetTabs","id","label","defaultValue","selectedTabId","setSelectedTabId","setEntityName","currentApiCatalogId","udpObjectInfoEntity","udpObjectFieldInfo","promotedMethodEntities","openModal","closeModal","executeCreate","integrationV1ApiUrl","unityBaseCreateMethod","apiMethodId","method","executeUpdate","unityBaseUpdateMethod","executeDelete","unityBaseDeleteMethod","onCreate","onUpdate","onDelete","catalogObject","integrationV2ApiUrl","searchObj","eagerLoad","pageNumber","pageSize","orderElements","sortColumn","sortDirection","searchFilterElements","filterElements","searchField","searchOperator","searchValue","forEach","filter","entityAttributes","length","originalAttributes","properties","attributeMap","Map","map","attr","name","toLowerCase","sortedPart","field","match","extendedProperties","udpFieldProperties","Boolean","udpFieldNames","Set","f","unmatchedPart","getMetaDataForUdpField","fieldInfos","requestObj","then","resp","pageList","getFKMethodEntities","attributes","fkMethods","childEntity","ceFieldsArr","childAssoc","childEntityAssoc","Object","keys","Cardinality","Many_To_Many","One_To_Many","UdpType","Keys","value","i","split","idx","test","ceAttr","find","p","cef","reference","config","UNITY_PRODUCT_ID","entityAttribute","entity","getFKAssociationLabel","fieldsInfo","associationLabelInfo","fi","maintainenceConfig","associationLabel","getDataByKey","obj","k","val","key","objKey","includes","getFKData","fkData","promises","promiseDetails","warnings","unityBaseGetAllMethod","url","fieldName","messageKey","messageParams","existingWarnings","Promise","all","response","index","status","respData","promiseDetail","fd","d","idName","fetchLastModifiedAuditEvent","updatedEntityQualifiedName","fullyQualifiedEntityName","filterElems","uemV1ApiUrl","catch","handleOnCreate","values","requestBody","res","current","refreshServerSide","handleOnUpdate","primaryKeyValues","pathObject","pathParameters","Array","isArray","po","businessObjectKey","handleOnDelete","removeWarning","updatedWarnings","warning","shouldDisableAction","sanitizedEntityName","tagTypeShouldDisableEdit","TagTypeSanitizedName","User_Defined","shortCutContentShouldDisableEdit","Udp_Shortcut_Content","Is_Product_ShortcutContent","lookupShouldDisableEdit","Udp_Lookup","Is_Product_Lookup","actionList","actions","iconName","getTitle","handleOnClick","e","checkDisabled","inquiryTreeId","splice","title","executeSearchForEntityUdpObjectInfo","unityBaseSearchMethod","setFrKeyData","udpFieldWarning","prevState","setFieldInfos","temp","from","handleGridApiCallback","api","primaryKeyFieldName","isPrimaryKey","slice","handleCloseNotesSidesheet","getChangedFieldsandValues","oldDataStr","newDataStr","oldData","JSON","parse","newData","changes","oldValue","newValue","stringify","previousValue","currentValue","sidesheetList","open","onClose","displayName","width","children","undefined","pageId","handleSubmit","detail","typeCode","Update_Domain","Delete_Domain","udpAuditEventUdpAuditEventDetail","oldObj","Create_Domain","newObj","message","record","entityBusinessKey","date","createdOn","user","userDisplayName","sidesheet"],"sources":["../../../../src/udp/pages/UdpMaintenanceEnginePage/UdpMaintenanceEnginePage.jsx"],"sourcesContent":["import React, {\n useEffect,\n useState,\n useMemo,\n useCallback,\n useRef\n} from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { CrudBrowserContainer } from '../../../maintenanceEngine/crudBrowser/CrudBrowserContainer';\nimport { CrudTableSidePanel } from '../../../maintenanceEngine/crudBrowser/CrudTableSidePanel';\nimport {\n getPathObject,\n getPrimaryKeyValues\n} from '../../../utilities/maintenanceEngine/CrudBrowserUtilities';\nimport { apiMutate } from '../../../utilities/useAxiosMutate';\nimport {\n toLowerFirstChar,\n toUpperFirstChar\n} from '../../../utilities/input/StringUtilities';\nimport {\n CardinalityTypeEnums,\n EntityAttributeEnums,\n UdpEnums\n} from '../../../enums/unitySystemEnums';\nimport { executeQueryAdHoc } from '../../utilities/methodUtils';\nimport { getSearchObject } from '../../../utilities/search/SearchUtilities';\nimport { useHandleAxiosSnackbar } from '../../../utilities/apiHelpers';\nimport { usePromotedMethodEntity } from '../../../hooks/usePromotedMethodEntity';\nimport { getSanitizedName } from '../../../utilities/entities/entityUtilities';\nimport { Alert } from '@material-ui/lab';\nimport { v4 as uuid } from 'uuid';\nimport { useLocation } from 'react-router-dom';\nimport { TagEnums } from '../../../enums/tagEnums';\nimport { ConfigService } from '../../../configService';\nimport { SideSheet } from '../../../UI/surfaces/SideSheet';\nimport { useCatalogStore } from '../../../stores/catalogStore';\nimport { useHistory } from 'react-router-dom';\nimport { Inquiry } from '../../../inquiry';\nimport { useAxiosGet } from '../../../utilities';\nimport { UdpDialog, UdpDrawer, UdpList, UdpListItem, UdpTablist } from '../../../UI/fluent-web-components';\nimport { UdpButton, UdpCard, UdpFlexbox, UdpFluentButton, UdpFluentIcon, UdpMessageBar, UdpTabPanel, UdpText } from '@univerus/udp-react-stencil-component-library';\nimport EntityTimeLine from './components/EntitiyTimeLine';\nimport { formatDate } from '../../../UI/widgets/utils/dateUtils';\nimport { EntityNotes } from './components/EntityNotes';\nimport { AuditEventTypeEnums } from '../../../enums/auditEventEnums';\nimport ReactJsonView from '@microlink/react-json-view'\nimport AddViewNote from './components/AddViewNote';\n\nconst EDIT_TAB_ID = {\n DOMAIN_FIELDS: 'DomainFields',\n AUDIT_HISTORY: 'AuditHistory',\n NOTES: 'Notes',\n}\n\nexport const UdpMaintenanceEnginePage = (props) => {\n const { catalogKey, params } = props;\n const { t } = useTranslation();\n const [udpFieldInfos, setUdpFieldInfos] = useState([]);\n const [alertWarnings, setAlertWarnings] = useState([]);\n const [showBackToTableBrowser, setShowBackToTableBrowser] = useState(false);\n const gridApiRef = useRef(null);\n const [modalConfig, setModalConfig] = useState({ type: null, data: null });\n const [openCompareDomainAuditsSidesheet, setOpenCompareDomainAuditsSidesheet] = useState(false);\n const [lastModifiedAuditEvent, setLastModifiedAuditEvent] = useState();\n const [selectedAuditEvent, setSelectedAuditEvent] = useState();\n const [openAddViewNoteSidesheet, setopenAddViewNoteSidesheet] = useState(false);\n const [noteMode, setNoteMode] = useState('');\n const [selectedNote, setSelectedNote] = useState(null);\n const [refreshNotes, setRefreshNotes] = useState(false);\n\n const createFormApiRef = useRef();\n const editFormApiRef = useRef();\n\n const location = useLocation();\n const state = location.state;\n const history = useHistory();\n let searchParamStr = location.search;\n let searchParams = new URLSearchParams(searchParamStr);\n const searchParamsEntityName = state?.entityName\n ? state.entityName\n : searchParams.has('entityName') === true\n ? toUpperFirstChar(searchParams.get('entityName'))\n : '';\n\n const { handleErrorSnackbar, handleSuccessSnackbar } =\n useHandleAxiosSnackbar();\n\n const handleGoToTableBrowser = useCallback(() => {\n history.push({\n pathname: `/tableBrowser`\n });\n }, [history]);\n\n const udpCatalogKey = useMemo(() => {\n if (params?.entityName || catalogKey || searchParamsEntityName) {\n return params?.entityName || catalogKey || searchParamsEntityName;\n } else {\n handleGoToTableBrowser();\n }\n }, [\n params?.entityName,\n catalogKey,\n searchParamsEntityName,\n handleGoToTableBrowser\n ]);\n const udpTagId = params?.udpTagId || '';\n\n const [selectedEntity, setSelectedEntity] = useState(null);\n const [foreignKeyData, setForeignKeyData] = useState(null);\n const [udpFieldSearchApiId, setUdpFieldSearchApiId] = useState(null);\n const [entityUdpObjectInfo, setEntityUdpObjectInfo] = useState(null);\n const editSidesheetTabs = [\n {\n id: EDIT_TAB_ID.DOMAIN_FIELDS,\n label: t('maintenanceEngine.tabs.domainFields', { defaultValue: 'Domain Fields' })\n },\n {\n id: EDIT_TAB_ID.AUDIT_HISTORY,\n label: t('maintenanceEngine.tabs.auditHistory', { defaultValue: 'Audit History' })\n },\n {\n id: EDIT_TAB_ID.NOTES,\n label: t('maintenanceEngine.tabs.notes', { defaultValue: 'Notes' })\n }\n ];\n const [selectedTabId, setSelectedTabId] = useState(editSidesheetTabs[0]?.id);\n\n const [entityName, setEntityName] = useState(null);\n\n const { currentApiCatalogId } = useCatalogStore();\n\n const { data: udpObjectInfoEntity } = usePromotedMethodEntity(\n 'udpObjectInfo',\n true\n );\n\n const { data: udpObjectFieldInfo } = usePromotedMethodEntity(\n 'UdpObjectFieldInfo',\n true\n );\n\n const { data: promotedMethodEntities } = usePromotedMethodEntity(\n udpCatalogKey,\n true\n );\n\n // 2. MODAL HANDLERS: Callbacks to open and close modals/sheets.\n const openModal = useCallback((type, data = null) => {\n setModalConfig({ type, data });\n }, []);\n\n const closeModal = useCallback(() => {\n setModalConfig({ type: null, data: null });\n }, []);\n\n //------- CRUD operations--------\n const executeCreate = useCallback(\n async (data) =>\n apiMutate(\n ConfigService.integrationV1ApiUrl,\n `apimethod/executeQueryWithParameters/${selectedEntity?.unityBaseCreateMethod?.apiMethodId}`,\n {\n method: 'post'\n },\n data\n ),\n [selectedEntity]\n );\n\n const executeUpdate = useCallback(\n async (data) =>\n apiMutate(\n ConfigService.integrationV1ApiUrl,\n `apimethod/executeQueryWithParameters/${selectedEntity?.unityBaseUpdateMethod?.apiMethodId}`,\n {\n method: 'post'\n },\n data\n ),\n [selectedEntity]\n );\n\n const executeDelete = useCallback(\n async (data) =>\n apiMutate(\n ConfigService.integrationV1ApiUrl,\n `apimethod/executeQueryWithParameters/${selectedEntity?.unityBaseDeleteMethod?.apiMethodId}`,\n {\n method: 'post'\n },\n data\n ),\n [selectedEntity]\n );\n\n const onCreate = useCallback(\n async (data) => {\n return await executeCreate(data);\n },\n [executeCreate]\n );\n\n const onUpdate = useCallback(\n async (data) => {\n return await executeUpdate(data);\n },\n [executeUpdate]\n );\n\n const onDelete = useCallback(\n async (data) => {\n return await executeDelete(data);\n },\n [executeDelete]\n );\n\n const [{ data: catalogObject }] = useAxiosGet(\n ConfigService.integrationV2ApiUrl,\n `apiCatalog/${currentApiCatalogId}/catalogObject/${entityName}`,\n {},\n !!!currentApiCatalogId || !!!entityName,\n false\n );\n\n const searchObj = useMemo(() => {\n return {\n eagerLoad: true,\n pageNumber: 0,\n pageSize: 100,\n orderElements: [\n {\n sortColumn: 'createdOn',\n sortDirection: 'desc'\n }\n ],\n };\n }, []);\n\n const searchFilterElements = useMemo(() => {\n const filterElements = [];\n if (udpTagId) {\n filterElements.push({\n searchField: 'UdpTags.UdpTagAssociationUdpTag.Id',\n searchOperator: '=',\n searchValue: udpTagId\n });\n }\n if (params?.filterElements) {\n params?.filterElements?.forEach((filter) => {\n filterElements.push(filter);\n });\n }\n return filterElements;\n }, [udpTagId, params?.filterElements]);\n\n const entityAttributes = useMemo(() => {\n if (udpFieldInfos?.length > 0 && catalogObject && entityName) {\n // 1. Get original attributes from catalog\n const originalAttributes = catalogObject?.properties || [];\n const attributeMap = new Map(\n originalAttributes.map((attr) => [attr.name.toLowerCase(), attr])\n );\n\n // 2. Create the sorted list by iterating through udpFieldInfos\n const sortedPart = udpFieldInfos\n .map((field) => {\n const match = attributeMap.get(field.name.toLowerCase());\n if (match) {\n // Merge properties as we build the sorted list\n return {\n ...match,\n extendedProperties: {\n ...match.extendedProperties,\n udpFieldProperties: field.properties\n }\n };\n }\n return null;\n })\n .filter(Boolean);\n\n // 3. Find unmatched items in a single pass\n const udpFieldNames = new Set(\n udpFieldInfos.map((f) => f.name.toLowerCase())\n );\n const unmatchedPart = originalAttributes.filter(\n (attr) => !udpFieldNames.has(attr.name.toLowerCase())\n );\n\n // 4. Combine the sorted, merged part with the original unmatched part\n return [...sortedPart, ...unmatchedPart];\n }\n }, [catalogObject, entityName, udpFieldInfos]);\n\n const getMetaDataForUdpField = useCallback(\n async (entityName) => {\n let fieldInfos = [];\n if (udpFieldSearchApiId) {\n const filterElements = [\n {\n searchField: 'ObjectInfo.SanitizedName',\n searchOperator: '=',\n searchValue: getSanitizedName(entityName)\n }\n ];\n const requestObj = getSearchObject(filterElements, 1, 50, true);\n\n await executeQueryAdHoc({ data: requestObj }, udpFieldSearchApiId).then(\n (resp) => {\n fieldInfos = resp.data?.pageList;\n }\n );\n }\n return fieldInfos;\n },\n [udpFieldSearchApiId]\n );\n\n const getFKMethodEntities = useCallback(\n async (attributes) => {\n if (!attributes) {\n return [];\n }\n let fkMethods = [];\n\n for (const attr of attributes) {\n // check if there is a property with this childEntity\n if (attr?.extendedProperties?.childEntity) {\n // get the list of child entity field names from the Keys array\n const ceFieldsArr = [];\n const childAssoc = attr.extendedProperties.childEntityAssoc;\n\n if (\n childAssoc &&\n Object.keys(childAssoc).length > 0 &&\n (childAssoc.Cardinality === CardinalityTypeEnums.Many_To_Many ||\n childAssoc.Cardinality === CardinalityTypeEnums.One_To_Many) &&\n !childAssoc.UdpType\n ) {\n childAssoc.Keys.forEach((value, i) => {\n const name = value.split(',')[0];\n if (name) {\n ceFieldsArr.push({\n idx: i,\n name: /^[A-Z]*$/.test(name)\n ? name.toLowerCase()\n : toLowerFirstChar(name)\n });\n }\n });\n }\n\n // find the child entity attribute\n const ceAttr = attributes.find((p) =>\n ceFieldsArr.find((cef) => cef.name === p.name)\n );\n\n if (ceAttr) {\n // get list of entity if ceProp exists\n await apiMutate(\n ConfigService.integrationV1ApiUrl,\n `apicatalog/${currentApiCatalogId}/promotedMethodEntities/${attr.reference}/product/${ConfigService.config.UNITY_PRODUCT_ID}`,\n {\n method: 'get'\n },\n {}\n ).then((resp) => {\n if (resp && resp.data) {\n fkMethods.push({\n entityAttribute: ceAttr,\n entity: resp.data\n });\n }\n });\n }\n }\n }\n return fkMethods;\n },\n [currentApiCatalogId]\n );\n\n const getFKAssociationLabel = useCallback(\n async (entityName) => {\n let fieldsInfo = [];\n fieldsInfo = await getMetaDataForUdpField(entityName);\n if (fieldsInfo?.length <= 0) {\n return '';\n }\n const associationLabelInfo = fieldsInfo?.find(\n (fi) => fi.properties?.maintainenceConfig?.associationLabel === 'true'\n );\n return associationLabelInfo?.name;\n },\n [getMetaDataForUdpField]\n );\n\n const getDataByKey = (obj, k) => {\n if (!obj) return null;\n let val = obj[k] ?? null;\n if (!val) {\n const key = Object.keys(obj).find((objKey) =>\n objKey.toLowerCase().includes(k)\n );\n if (key) {\n val = obj[key];\n }\n }\n return val;\n };\n\n const getFKData = useCallback(async () => {\n if (!entityAttributes?.length) {\n return null;\n }\n const fkMethods = await getFKMethodEntities(entityAttributes);\n if (!fkMethods?.length) {\n setForeignKeyData([]);\n return [];\n }\n let fkData = [];\n let promises = [];\n let promiseDetails = [];\n const warnings = [];\n for (const method of fkMethods) {\n if (method && method?.entity?.unityBaseGetAllMethod) {\n const associationLabel = await getFKAssociationLabel(\n method.entity.entityName\n );\n promiseDetails.push({\n url:\n ConfigService.integrationV1ApiUrl +\n `/apimethod/executeQueryWithParameters/${method?.entity?.unityBaseGetAllMethod?.apiMethodId}`,\n fieldName: method.entityAttribute.name,\n name: method.entity.entityName,\n associationLabel: associationLabel\n });\n\n promises.push(\n apiMutate(\n ConfigService.integrationV1ApiUrl,\n `apimethod/executeQueryWithParameters/${method?.entity?.unityBaseGetAllMethod?.apiMethodId}`,\n {\n method: 'post'\n },\n { data: {} }\n )\n );\n } else {\n // Carry the key rather than the resolved string: calling t() here would\n // put it in this callback's deps, refetching every foreign key on each\n // language switch. Resolved at render instead.\n warnings.push({\n id: uuid(),\n messageKey: 'maintenanceEngine.warnings.getAllNotPromoted',\n defaultValue: \"{{entityName}}'s Get-All method needs to be promoted\",\n messageParams: { entityName: method.entity.entityName }\n });\n }\n }\n setAlertWarnings((existingWarnings) => [...existingWarnings, ...warnings]);\n\n Promise.all(promises).then((resp) => {\n resp.forEach((response, index) => {\n if (response.status === 200) {\n if (response?.data) {\n let respData = [];\n const promiseDetail = promiseDetails.find(\n (p) =>\n p.url === response?.config?.url &&\n !fkData.find(\n (fd) =>\n fd.entityName === p.name && fd.fieldName === p.fieldName\n )\n );\n\n response.data.forEach((d) => {\n const idName =\n promiseDetail?.fieldName && d[promiseDetail.fieldName]\n ? promiseDetail.fieldName\n : 'id';\n const id = getDataByKey(d, idName);\n const name = getDataByKey(\n d,\n promiseDetail?.associationLabel\n ? toLowerFirstChar(promiseDetail.associationLabel)\n : 'name'\n );\n\n respData.push({ id: id, name: name ?? id });\n });\n\n if (!!promiseDetail) {\n fkData.push({\n fieldName: promiseDetail.fieldName,\n entityName: promiseDetail.name,\n name: promiseDetail.fieldName,\n data: respData\n });\n }\n }\n }\n });\n setForeignKeyData(fkData);\n });\n }, [entityAttributes, getFKMethodEntities, getFKAssociationLabel]);\n\n const fetchLastModifiedAuditEvent = useCallback((updatedEntityQualifiedName) => {\n let fullyQualifiedEntityName = promotedMethodEntities?.entityName;\n if(updatedEntityQualifiedName){\n fullyQualifiedEntityName = updatedEntityQualifiedName\n }\n if (!fullyQualifiedEntityName) return;\n const filterElems = [{ searchField: 'domain', searchOperator: '=', searchValue: fullyQualifiedEntityName }]\n apiMutate(\n ConfigService.uemV1ApiUrl,\n 'UdpAuditEvent/search',\n { method: 'post' },\n {\n data: {\n ...searchObj,\n pageSize: 1,\n filterElements: filterElems\n }\n }\n ).then(\n (resp) =>\n setLastModifiedAuditEvent(resp?.data?.pageList?.[0])\n )\n .catch(() => setLastModifiedAuditEvent(null));\n },[promotedMethodEntities, searchObj]);\n\n const handleOnCreate = useCallback(\n async (values) => {\n if (selectedEntity) {\n const entityName = selectedEntity?.entityName;\n if (selectedEntity?.unityBaseCreateMethod) {\n const data = { requestBody: values };\n const response = await onCreate({ data }).catch((res) => {\n handleErrorSnackbar(res);\n });\n\n if (response?.status === 200) {\n handleSuccessSnackbar(\n entityName\n ? t('maintenanceEngine.snackbar.entityCreated', {\n defaultValue: '{{entityName}} has been created',\n entityName\n })\n : t('maintenanceEngine.snackbar.created', {\n defaultValue: 'Entity has been created'\n })\n );\n gridApiRef.current.refreshServerSide();\n closeModal('create');\n return response;\n }\n } else {\n handleErrorSnackbar(\n null,\n t('maintenanceEngine.errors.createNotPromoted', {\n defaultValue: \"{{entityName}}'s create method must be promoted\",\n entityName: selectedEntity.entityName\n })\n );\n }\n }\n },\n [\n selectedEntity,\n onCreate,\n handleErrorSnackbar,\n handleSuccessSnackbar,\n t,\n closeModal\n ]\n );\n\n const handleOnUpdate = useCallback(\n async (values, primaryKeyValues) => {\n if (selectedEntity) {\n const entityName = selectedEntity?.entityName;\n\n if (selectedEntity?.unityBaseUpdateMethod) {\n // Get primary key value object using path parameters and merge with data\n const pathObject = getPathObject(\n selectedEntity.unityBaseUpdateMethod.pathParameters,\n primaryKeyValues\n );\n let data = { requestBody: values };\n if (Array.isArray(pathObject)) {\n pathObject.forEach((po) => {\n data[Object.keys(po)[0]] = po[Object.keys(po)[0]];\n });\n } else {\n data = { ...pathObject, requestBody: values };\n }\n\n const response = await onUpdate({ data }).catch((res) => {\n handleErrorSnackbar(res);\n });\n\n if (response?.status === 200) {\n handleSuccessSnackbar(\n entityName\n ? t('maintenanceEngine.snackbar.entityUpdated', {\n defaultValue: '{{entityName}} has been updated',\n entityName\n })\n : t('maintenanceEngine.snackbar.updated', {\n defaultValue: 'Entity has been updated'\n })\n );\n\n gridApiRef.current.refreshServerSide();\n fetchLastModifiedAuditEvent(data?.businessObjectKey);\n closeModal('edit');\n }\n }\n }\n },\n [\n selectedEntity,\n onUpdate,\n handleErrorSnackbar,\n handleSuccessSnackbar,\n t,\n closeModal,\n fetchLastModifiedAuditEvent\n ]\n );\n\n const handleOnDelete = useCallback(\n async (value) => {\n if (selectedEntity) {\n const entityName = selectedEntity?.entityName;\n\n if (selectedEntity?.unityBaseDeleteMethod) {\n // Get primary key value object using path parameters and merge with data\n const primaryKeyValues = getPrimaryKeyValues(entityAttributes, value);\n const pathObject = getPathObject(\n selectedEntity?.unityBaseDeleteMethod.pathParameters,\n primaryKeyValues\n );\n let data = {};\n if (Array.isArray(pathObject)) {\n pathObject.forEach((po) => {\n data[Object.keys(po)[0]] = po[Object.keys(po)[0]];\n });\n } else {\n data = { ...pathObject };\n }\n\n const response = await onDelete({ data }).catch((res) => {\n handleErrorSnackbar(res);\n });\n\n if (response?.status === 200) {\n handleSuccessSnackbar(\n entityName\n ? t('maintenanceEngine.snackbar.entityDeleted', {\n defaultValue: '{{entityName}} has been deleted',\n entityName\n })\n : t('maintenanceEngine.snackbar.deleted', {\n defaultValue: 'Entity has been deleted'\n })\n );\n gridApiRef.current.refreshServerSide();\n closeModal('delete');\n }\n }\n }\n },\n [\n selectedEntity,\n entityAttributes,\n onDelete,\n handleErrorSnackbar,\n handleSuccessSnackbar,\n t,\n closeModal\n ]\n );\n\n const removeWarning = useCallback(\n (id) => {\n const updatedWarnings = alertWarnings.filter(\n (warning) => warning.id !== id\n );\n setAlertWarnings(updatedWarnings);\n },\n [alertWarnings]\n );\n\n const shouldDisableAction = useCallback(\n (value) => {\n const sanitizedEntityName = getSanitizedName(entityName);\n const tagTypeShouldDisableEdit =\n [TagEnums.TagTypeSanitizedName.toLowerCase()].includes(\n sanitizedEntityName?.toLowerCase()\n ) && !value?.[toLowerFirstChar(EntityAttributeEnums.User_Defined)];\n\n const shortCutContentShouldDisableEdit =\n [UdpEnums.Udp_Shortcut_Content.toLowerCase()].includes(\n sanitizedEntityName?.toLowerCase()\n ) &&\n value?.[\n toLowerFirstChar(EntityAttributeEnums.Is_Product_ShortcutContent)\n ];\n\n const lookupShouldDisableEdit =\n [UdpEnums.Udp_Lookup.toLowerCase()].includes(\n sanitizedEntityName?.toLowerCase()\n ) && value?.[toLowerFirstChar(EntityAttributeEnums.Is_Product_Lookup)];\n return (\n tagTypeShouldDisableEdit ||\n shortCutContentShouldDisableEdit ||\n lookupShouldDisableEdit\n );\n },\n [entityName]\n );\n\n const actionList = useMemo(() => {\n if (!selectedEntity) {\n return [];\n }\n\n let actions = [\n {\n id: 'edit',\n iconName: 'edit', // Pass string name for the icon\n getTitle: () =>\n // Use getTitle for dynamic text\n selectedEntity?.unityBaseUpdateMethod\n ? t('common.edit', { defaultValue: 'Edit' })\n : t('maintenanceEngine.actions.editNotAccessible', {\n defaultValue: 'Edit Method Not Accessible'\n }),\n handleOnClick: (e, params) => {\n openModal('edit', params.data); // Calls parent state handler\n },\n checkDisabled: (params) =>\n !!!selectedEntity?.unityBaseUpdateMethod ||\n shouldDisableAction(params.data)\n },\n {\n id: 'delete',\n iconName: 'trashCan', // Pass string name for the icon\n getTitle: () =>\n selectedEntity?.unityBaseDeleteMethod\n ? t('common.delete', { defaultValue: 'Delete' })\n : t('maintenanceEngine.actions.deleteNotAccessible', {\n defaultValue: 'Delete Method Not Accessible'\n }),\n handleOnClick: (e, params) => {\n openModal('delete', params.data); // Calls parent state handler\n },\n checkDisabled: (params) =>\n !!!selectedEntity?.unityBaseDeleteMethod ||\n shouldDisableAction(params.data)\n }\n ];\n if (params?.inquiryTreeId) {\n actions.splice(1, 0, {\n id: 'inquiry',\n iconName: 'relationshipDiagram',\n title: t('maintenanceEngine.actions.detailedView', { defaultValue: 'Detailed view' }),\n handleOnClick: (e, params) => {\n openModal('inquiry', params.data);\n }\n });\n }\n return actions;\n }, [\n selectedEntity,\n t,\n shouldDisableAction,\n openModal,\n params?.inquiryTreeId\n ]);\n\n useEffect(() => {\n const executeSearchForEntityUdpObjectInfo = async (\n apiMethodId,\n sanitizedEntityName\n ) => {\n const filterElements = [\n {\n searchField: 'SanitizedName',\n searchOperator: '=',\n searchValue: sanitizedEntityName\n }\n ];\n const requestObj = getSearchObject(filterElements, 1, 50, false);\n const response = await executeQueryAdHoc(\n { data: requestObj },\n apiMethodId\n );\n if (response.status === 200) {\n const data = response?.data?.pageList[0];\n setEntityUdpObjectInfo(data);\n }\n };\n if (udpObjectInfoEntity?.unityBaseSearchMethod && entityName) {\n executeSearchForEntityUdpObjectInfo(\n udpObjectInfoEntity?.unityBaseSearchMethod?.apiMethodId,\n getSanitizedName(entityName)\n );\n }\n }, [udpObjectInfoEntity, entityName]);\n\n useEffect(() => {\n const setFrKeyData = async () => {\n await getFKData();\n };\n if (entityAttributes && udpFieldSearchApiId !== null) {\n setFrKeyData();\n }\n }, [entityAttributes, getFKData, udpFieldSearchApiId]);\n\n useEffect(() => {\n if (promotedMethodEntities) {\n setSelectedEntity(promotedMethodEntities);\n setEntityName(promotedMethodEntities?.entityName);\n }\n }, [promotedMethodEntities]);\n\n useEffect(() => {\n if (udpObjectFieldInfo) {\n if (udpObjectFieldInfo?.unityBaseSearchMethod?.apiMethodId) {\n setUdpFieldSearchApiId(\n udpObjectFieldInfo?.unityBaseSearchMethod?.apiMethodId\n );\n } else {\n setUdpFieldSearchApiId('');\n const udpFieldWarning = {\n id: uuid(),\n messageKey: 'maintenanceEngine.warnings.udpObjectFieldInfoNotPromoted',\n defaultValue: 'UdpObjectFieldInfo method needs to be promoted'\n };\n setAlertWarnings((prevState) => [...prevState, udpFieldWarning]);\n }\n }\n }, [udpObjectFieldInfo]);\n\n useEffect(() => {\n const setFieldInfos = async () => {\n let temp = await getMetaDataForUdpField(entityName);\n setUdpFieldInfos(temp);\n };\n if (udpFieldSearchApiId) {\n setFieldInfos();\n }\n }, [\n udpObjectFieldInfo,\n getMetaDataForUdpField,\n udpFieldSearchApiId,\n entityName\n ]);\n\n useEffect(() => {\n if (location.state?.from === 'tablebrowser') {\n setShowBackToTableBrowser(true);\n }\n }, [location.state]);\n\n const handleGridApiCallback = (api) => {\n gridApiRef.current = api;\n };\n\n\n useEffect(() => {\n fetchLastModifiedAuditEvent();\n }, [fetchLastModifiedAuditEvent]);\n\n const primaryKeyFieldName = useMemo(() => {\n const fieldName = udpFieldInfos?.find((field) => field.isPrimaryKey)?.name;\n return fieldName?.[0]?.toLowerCase() + fieldName?.slice(1);\n }, [udpFieldInfos]);\n\n const handleCloseNotesSidesheet = () => {\n setopenAddViewNoteSidesheet(false);\n setSelectedNote(null);\n setNoteMode('');\n };\n\n const getChangedFieldsandValues = (oldDataStr, newDataStr) => {\n if (!oldDataStr || !newDataStr) return;\n const oldData = JSON.parse(oldDataStr);\n const newData = JSON.parse(newDataStr);\n const keys = new Set([...Object.keys(oldData), ...Object.keys(newData)]);\n\n const changes = [];\n keys.forEach((key) => {\n const oldValue = oldData[key] ?? null;\n const newValue = newData[key] ?? null;\n if (JSON.stringify(oldValue) !== JSON.stringify(newValue)) {\n changes.push({\n field: key,\n previousValue: oldValue,\n currentValue: newValue\n });\n }\n });\n return changes;\n };\n\n const sidesheetList = [\n {\n open: modalConfig.type === 'create',\n onClose: closeModal,\n title: t('maintenanceEngine.sheet.addTitle', {\n defaultValue: 'Add New {{name}}',\n name:\n entityUdpObjectInfo?.properties?.displayName ||\n getSanitizedName(entityName)\n }),\n width: '600px',\n children: (\n <>\n <CrudTableSidePanel\n entityAttributes={entityAttributes}\n udpFieldInfos={udpFieldInfos}\n foreignKeyData={foreignKeyData}\n closeSideSheet={closeModal}\n isNewEntry={modalConfig.type === 'create'}\n entityName={entityName}\n onCreate={handleOnCreate}\n onUpdate={undefined}\n crudTableEditionData={null}\n pageId={selectedEntity?.unityBaseCreateMethod?.pageId}\n formApiRef={createFormApiRef}\n hideSubmitButton\n />\n <UdpFluentButton\n appearance='primary'\n slot='footer'\n onClick={() => createFormApiRef.current?.handleSubmit()}\n >\n {t('common.add', { defaultValue: 'Add' })}\n </UdpFluentButton>\n </>\n )\n },\n {\n open: modalConfig.type === 'edit',\n onClose: closeModal,\n title: t('maintenanceEngine.sheet.editTitle', {\n defaultValue: 'Edit {{name}}',\n name:\n entityUdpObjectInfo?.properties?.displayName ||\n getSanitizedName(entityName)\n }),\n width: '600px',\n children: (\n <>\n <UdpFlexbox\n slot='toolbar'\n direction='row'\n align='center'\n justify='space-between'\n width='100%'\n >\n <UdpTablist\n tabList={editSidesheetTabs}\n activeId={selectedTabId}\n onTabChange={(e) => setSelectedTabId(e?.detail)}\n />\n <UdpFluentButton\n appearance='transparent'\n onClick={() => {\n setopenAddViewNoteSidesheet(true);\n setNoteMode('ADD');\n }}\n startIconName='add'\n >\n {t('notes.actions.add', { defaultValue: 'Add Note' })}\n </UdpFluentButton>\n </UdpFlexbox>\n <UdpTabPanel\n activeTabId={selectedTabId}\n id={EDIT_TAB_ID.DOMAIN_FIELDS}\n >\n <CrudTableSidePanel\n entityAttributes={entityAttributes}\n udpFieldInfos={udpFieldInfos}\n foreignKeyData={foreignKeyData}\n closeSideSheet={closeModal}\n isNewEntry={modalConfig.type === 'create'}\n entityName={entityName}\n onCreate={undefined}\n onUpdate={handleOnUpdate}\n crudTableEditionData={modalConfig.data}\n pageId={selectedEntity?.unityBaseUpdateMethod?.pageId}\n formApiRef={editFormApiRef}\n hideSubmitButton\n />\n </UdpTabPanel>\n\n <UdpTabPanel\n activeTabId={selectedTabId}\n id={EDIT_TAB_ID.AUDIT_HISTORY}\n >\n <EntityTimeLine\n setOpenCompareDomainAuditsSidesheet={\n setOpenCompareDomainAuditsSidesheet\n }\n setSelectedAuditEvent={setSelectedAuditEvent}\n entityData={modalConfig?.data}\n />\n </UdpTabPanel>\n\n <UdpTabPanel activeTabId={selectedTabId} id={EDIT_TAB_ID.NOTES}>\n <EntityNotes\n businessObjectKey={modalConfig?.data?.businessObjectKey}\n setNoteMode={setNoteMode}\n setOpenViewNoteSidesheet={setopenAddViewNoteSidesheet}\n setSelectedNote={setSelectedNote}\n refreshNotes={refreshNotes}\n setRefreshNotes={setRefreshNotes}\n />\n </UdpTabPanel>\n {selectedTabId === EDIT_TAB_ID.DOMAIN_FIELDS && (\n <UdpFluentButton\n appearance='primary'\n slot='footer'\n onClick={() => editFormApiRef.current?.handleSubmit()}\n >\n {t('common.save', { defaultValue: 'Save' })}\n </UdpFluentButton>\n )}\n </>\n )\n },\n {\n open: modalConfig.type === 'inquiry',\n onClose: closeModal,\n title: t('maintenanceEngine.actions.detailedView', {\n defaultValue: 'Detailed view'\n }),\n width: '90%',\n children: (\n <Inquiry\n treeId={params?.inquiryTreeId}\n autoCollapseNav={true}\n searchValue={modalConfig?.data?.[primaryKeyFieldName]}\n />\n )\n },\n {\n open: openCompareDomainAuditsSidesheet,\n onClose: () => {\n setOpenCompareDomainAuditsSidesheet(false);\n },\n title: t('maintenanceEngine.sheet.compareAuditsTitle', {\n defaultValue: 'Compare Audits'\n }),\n width: '500px',\n children: (\n <UdpCard>\n {(selectedAuditEvent?.typeCode ===\n AuditEventTypeEnums.Update_Domain ||\n selectedAuditEvent?.typeCode ===\n AuditEventTypeEnums.Delete_Domain) && (\n <ReactJsonView\n src={\n selectedAuditEvent?.udpAuditEventUdpAuditEventDetail?.[0]\n ?.oldObj\n ? JSON.parse(\n selectedAuditEvent?.udpAuditEventUdpAuditEventDetail?.[0]\n ?.oldObj\n )\n : {}\n }\n name={t('auditEvents.sidesheet.oldDetails', {\n defaultValue: 'Old Details'\n })}\n displayDataTypes={false}\n displayObjectSize={false}\n collapsed={true}\n />\n )}\n {(selectedAuditEvent?.typeCode ===\n AuditEventTypeEnums.Update_Domain ||\n selectedAuditEvent?.typeCode ===\n AuditEventTypeEnums.Create_Domain) && (\n <ReactJsonView\n src={\n selectedAuditEvent?.udpAuditEventUdpAuditEventDetail?.[0]\n ?.newObj\n ? JSON.parse(\n selectedAuditEvent?.udpAuditEventUdpAuditEventDetail?.[0]\n ?.newObj\n )\n : {}\n }\n name={t('auditEvents.sidesheet.newDetails', {\n defaultValue: 'New Details'\n })}\n displayDataTypes={false}\n displayObjectSize={false}\n collapsed={true}\n />\n )}\n {selectedAuditEvent && (\n <UdpList>\n {getChangedFieldsandValues(\n selectedAuditEvent?.udpAuditEventUdpAuditEventDetail?.[0]\n ?.oldObj,\n selectedAuditEvent?.udpAuditEventUdpAuditEventDetail?.[0]\n ?.newObj\n )?.map(({ field, previousValue, currentValue }) => {\n return (\n <UdpListItem\n key={field}\n label={field}\n subtitle={t('maintenanceEngine.compareAudits.change', {\n defaultValue:\n 'Old: {{previousValue}} New: {{currentValue}}',\n previousValue,\n currentValue\n })}\n value={field}\n />\n );\n })}\n </UdpList>\n )}\n </UdpCard>\n )\n },\n {\n open: openAddViewNoteSidesheet,\n onClose: () => handleCloseNotesSidesheet(),\n title:\n noteMode === 'ADD'\n ? t('notes.addTitle', { defaultValue: 'Add Note' })\n : t('notes.viewTitle', { defaultValue: 'View Note' }),\n width: '500px',\n children: (\n <AddViewNote\n entityBusinessKey={modalConfig?.data?.businessObjectKey}\n closeSidesheet={() => {\n handleCloseNotesSidesheet();\n }}\n mode={noteMode}\n selectedNote={selectedNote}\n setRefreshNotes={setRefreshNotes}\n />\n )\n }\n ];\n\n return (\n <>\n {alertWarnings.map((warning) => (\n <Alert\n key={warning.id}\n onClose={() => removeWarning(warning.id)}\n severity='warning'\n >\n {warning.messageKey\n ? t(warning.messageKey, {\n defaultValue: warning.defaultValue,\n ...warning.messageParams\n })\n : warning.message}\n </Alert>\n ))}\n {lastModifiedAuditEvent && (\n <UdpMessageBar slot='inline' intent='warning'>\n <div slot='icon'>\n <UdpFluentIcon name='clock' color='primary' size='xs' />\n </div>\n <UdpText variant='body2'>\n {t('maintenanceEngine.messageBar.lastUpdated', {\n defaultValue: 'Last Updated {{record}} on {{date}} by {{user}}',\n record: lastModifiedAuditEvent?.entityBusinessKey,\n date: formatDate(lastModifiedAuditEvent?.createdOn, 'dd/mm/yyyy'),\n user: lastModifiedAuditEvent?.userDisplayName\n })}\n </UdpText>\n <UdpButton\n slot='actions'\n variant='outlined'\n size='small'\n onClick={(e) => {\n setSelectedAuditEvent(lastModifiedAuditEvent);\n setOpenCompareDomainAuditsSidesheet(true);\n }}\n >\n {t('maintenanceEngine.actions.moreDetails', {\n defaultValue: 'More Details'\n })}\n </UdpButton>\n </UdpMessageBar>\n )}\n <CrudBrowserContainer\n actionList={actionList}\n onCreate={() => openModal('create')}\n entityAttributes={entityAttributes}\n foreignKeyData={foreignKeyData}\n promotedEntity={selectedEntity}\n apiMethod={{ currentApiCatalogId, entityName }}\n filterElements={searchFilterElements}\n setAlertWarnings={setAlertWarnings}\n gridApiCallback={handleGridApiCallback}\n showBackToTableBrowser={showBackToTableBrowser}\n gridTitle={entityUdpObjectInfo?.properties?.displayName}\n />\n {sidesheetList.map((sidesheet) => {\n return modalConfig.type === 'inquiry' ? (\n <SideSheet\n key={sidesheet?.title}\n open={sidesheet?.open}\n onClose={sidesheet?.onClose}\n title={sidesheet?.title}\n width={sidesheet?.width}\n >\n {sidesheet?.children}\n </SideSheet>\n ) : (\n <UdpDrawer\n key={sidesheet?.title}\n open={sidesheet?.open}\n onDrawerClose={sidesheet?.onClose}\n drawerTitle={sidesheet?.title}\n drawerWidth={sidesheet?.width}\n >\n {sidesheet?.children}\n </UdpDrawer>\n );\n })}\n {/* <SideSheet\n open={modalConfig.type === 'create' || modalConfig.type === 'edit'}\n onClose={closeModal}\n title={\n modalConfig.type === 'create'\n ? t('maintenanceEngine.sheet.addTitle', {\n defaultValue: 'Add New {{name}}',\n name:\n entityUdpObjectInfo?.properties?.displayName ||\n getSanitizedName(entityName)\n })\n : t('maintenanceEngine.sheet.editTitle', {\n defaultValue: 'Edit {{name}}',\n name:\n entityUdpObjectInfo?.properties?.displayName ||\n getSanitizedName(entityName)\n })\n }\n width={600}\n >\n {(modalConfig.type === 'create' || modalConfig.type === 'edit') && (\n <CrudTableSidePanel\n entityAttributes={entityAttributes}\n udpFieldInfos={udpFieldInfos}\n foreignKeyData={foreignKeyData}\n closeSideSheet={closeModal}\n isNewEntry={modalConfig.type === 'create'}\n entityName={entityName}\n onCreate={\n modalConfig.type === 'create' ? handleOnCreate : undefined\n }\n onUpdate={modalConfig.type === 'edit' ? handleOnUpdate : undefined}\n crudTableEditionData={\n modalConfig.type === 'edit' ? modalConfig.data : null\n }\n pageId={\n modalConfig.type === 'edit'\n ? selectedEntity?.unityBaseUpdateMethod?.pageId\n : selectedEntity?.unityBaseCreateMethod?.pageId\n }\n />\n )}\n </SideSheet>\n <SideSheet\n open={modalConfig.type === 'inquiry'}\n onClose={closeModal}\n title={t('maintenanceEngine.actions.detailedView', { defaultValue: 'Detailed view' })}\n width={'90%'}\n >\n <Inquiry\n treeId={params?.inquiryTreeId}\n autoCollapseNav={true}\n searchValue={modalConfig?.data?.[primaryKeyFieldName]}\n />\n </SideSheet> */}\n {/* <FluentDialog\n open={modalConfig.type === 'delete'}\n handleClose={closeModal}\n title={t('common.delete', { defaultValue: 'Delete' })}\n message={t('maintenanceEngine.deleteDialog.message', { defaultValue: 'Are you sure you want to delete this row?' })}\n actionOne={closeModal}\n labelOne={t('common.cancel', { defaultValue: 'Cancel' })}\n actionTwo={() => handleOnDelete(modalConfig.data)}\n labelTwo={t('common.confirm', { defaultValue: 'Confirm' })}\n /> */}\n <UdpDialog\n open={modalConfig.type === 'delete'}\n dialogTitle={t('common.delete', { defaultValue: 'Delete' })}\n onDialogClose={() => closeModal()}\n >\n <UdpText variant='body1'>\n {t('maintenanceEngine.deleteDialog.message', {\n defaultValue: 'Are you sure you want to delete this row?'\n })}\n </UdpText>\n <UdpFluentButton\n slot='action'\n appearance='outline'\n onClick={() => handleOnDelete(modalConfig.data)}\n >\n {t('common.delete', { defaultValue: 'Delete' })}\n </UdpFluentButton>\n <UdpFluentButton\n slot='action'\n appearance='primary'\n onClick={() => closeModal()}\n >\n {t('common.cancel', { defaultValue: 'Cancel' })}\n </UdpFluentButton>\n </UdpDialog>\n </>\n );\n};\n\nexport default UdpMaintenanceEnginePage;\n"],"mappings":"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"}
1
+ {"version":3,"file":"UdpMaintenanceEnginePage.mjs","names":["React","useEffect","useState","useMemo","useCallback","useRef","useTranslation","CrudBrowserContainer","CrudTableSidePanel","getPathObject","getPrimaryKeyValues","apiMutate","toLowerFirstChar","toUpperFirstChar","EntityAttributeEnums","UdpEnums","mergeEntityAttributes","fetchForeignKeyData","fetchUdpFieldInfos","executeQueryAdHoc","getSearchObject","useHandleAxiosSnackbar","usePromotedMethodEntity","getSanitizedName","Alert","v4","uuid","useLocation","TagEnums","ConfigService","SideSheet","useCatalogStore","useHistory","Inquiry","useAxiosGet","UdpDialog","UdpDrawer","UdpList","UdpListItem","UdpTablist","UdpButton","UdpCard","UdpFlexbox","UdpFluentButton","UdpFluentIcon","UdpMessageBar","UdpTabPanel","UdpText","EntityTimeLine","formatDate","EntityNotes","AuditEventTypeEnums","ReactJsonView","AddViewNote","EDIT_TAB_ID","DOMAIN_FIELDS","AUDIT_HISTORY","NOTES","UdpMaintenanceEnginePage","props","catalogKey","params","t","udpFieldInfos","setUdpFieldInfos","alertWarnings","setAlertWarnings","showBackToTableBrowser","setShowBackToTableBrowser","gridApiRef","modalConfig","setModalConfig","type","data","openCompareDomainAuditsSidesheet","setOpenCompareDomainAuditsSidesheet","lastModifiedAuditEvent","setLastModifiedAuditEvent","selectedAuditEvent","setSelectedAuditEvent","openAddViewNoteSidesheet","setopenAddViewNoteSidesheet","noteMode","setNoteMode","selectedNote","setSelectedNote","refreshNotes","setRefreshNotes","createFormApiRef","editFormApiRef","location","state","history","searchParamStr","search","searchParams","URLSearchParams","searchParamsEntityName","entityName","has","get","handleErrorSnackbar","handleSuccessSnackbar","handleGoToTableBrowser","push","pathname","udpCatalogKey","udpTagId","selectedEntity","setSelectedEntity","foreignKeyData","setForeignKeyData","udpFieldSearchApiId","setUdpFieldSearchApiId","entityUdpObjectInfo","setEntityUdpObjectInfo","editSidesheetTabs","id","label","defaultValue","selectedTabId","setSelectedTabId","setEntityName","currentApiCatalogId","udpObjectInfoEntity","udpObjectFieldInfo","promotedMethodEntities","openModal","closeModal","executeCreate","integrationV1ApiUrl","unityBaseCreateMethod","apiMethodId","method","executeUpdate","unityBaseUpdateMethod","executeDelete","unityBaseDeleteMethod","onCreate","onUpdate","onDelete","catalogObject","integrationV2ApiUrl","searchObj","eagerLoad","pageNumber","pageSize","orderElements","sortColumn","sortDirection","searchFilterElements","filterElements","searchField","searchOperator","searchValue","forEach","filter","entityAttributes","undefined","properties","fetchLastModifiedAuditEvent","updatedEntityQualifiedName","fullyQualifiedEntityName","filterElems","uemV1ApiUrl","then","resp","pageList","catch","handleOnCreate","values","requestBody","response","res","status","current","refreshServerSide","handleOnUpdate","primaryKeyValues","pathObject","pathParameters","Array","isArray","po","Object","keys","businessObjectKey","handleOnDelete","value","removeWarning","updatedWarnings","warning","shouldDisableAction","sanitizedEntityName","tagTypeShouldDisableEdit","TagTypeSanitizedName","toLowerCase","includes","User_Defined","shortCutContentShouldDisableEdit","Udp_Shortcut_Content","Is_Product_ShortcutContent","lookupShouldDisableEdit","Udp_Lookup","Is_Product_Lookup","actionList","actions","iconName","getTitle","handleOnClick","e","checkDisabled","inquiryTreeId","splice","title","executeSearchForEntityUdpObjectInfo","requestObj","unityBaseSearchMethod","cancelled","entitiesMissingGetAll","length","existingWarnings","map","messageKey","messageParams","udpFieldWarning","prevState","fieldInfos","from","handleGridApiCallback","api","primaryKeyFieldName","fieldName","find","field","isPrimaryKey","name","slice","handleCloseNotesSidesheet","getChangedFieldsandValues","oldDataStr","newDataStr","oldData","JSON","parse","newData","Set","changes","key","oldValue","newValue","stringify","previousValue","currentValue","sidesheetList","open","onClose","displayName","width","children","pageId","handleSubmit","detail","typeCode","Update_Domain","Delete_Domain","udpAuditEventUdpAuditEventDetail","oldObj","Create_Domain","newObj","message","record","entityBusinessKey","date","createdOn","user","userDisplayName","sidesheet"],"sources":["../../../../src/udp/pages/UdpMaintenanceEnginePage/UdpMaintenanceEnginePage.jsx"],"sourcesContent":["import React, {\n useEffect,\n useState,\n useMemo,\n useCallback,\n useRef\n} from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { CrudBrowserContainer } from '../../../maintenanceEngine/crudBrowser/CrudBrowserContainer';\nimport { CrudTableSidePanel } from '../../../maintenanceEngine/crudBrowser/CrudTableSidePanel';\nimport {\n getPathObject,\n getPrimaryKeyValues\n} from '../../../utilities/maintenanceEngine/CrudBrowserUtilities';\nimport { apiMutate } from '../../../utilities/useAxiosMutate';\nimport {\n toLowerFirstChar,\n toUpperFirstChar\n} from '../../../utilities/input/StringUtilities';\nimport {\n EntityAttributeEnums,\n UdpEnums\n} from '../../../enums/unitySystemEnums';\nimport { mergeEntityAttributes } from '../../../domain/entityForm/entityFormModel';\nimport {\n fetchForeignKeyData,\n fetchUdpFieldInfos\n} from '../../../maintenanceEngine/entityFormInputs';\nimport { executeQueryAdHoc } from '../../utilities/methodUtils';\nimport { getSearchObject } from '../../../utilities/search/SearchUtilities';\nimport { useHandleAxiosSnackbar } from '../../../utilities/apiHelpers';\nimport { usePromotedMethodEntity } from '../../../hooks/usePromotedMethodEntity';\nimport { getSanitizedName } from '../../../utilities/entities/entityUtilities';\nimport { Alert } from '@material-ui/lab';\nimport { v4 as uuid } from 'uuid';\nimport { useLocation } from 'react-router-dom';\nimport { TagEnums } from '../../../enums/tagEnums';\nimport { ConfigService } from '../../../configService';\nimport { SideSheet } from '../../../UI/surfaces/SideSheet';\nimport { useCatalogStore } from '../../../stores/catalogStore';\nimport { useHistory } from 'react-router-dom';\nimport { Inquiry } from '../../../inquiry';\nimport { useAxiosGet } from '../../../utilities';\nimport { UdpDialog, UdpDrawer, UdpList, UdpListItem, UdpTablist } from '../../../UI/fluent-web-components';\nimport { UdpButton, UdpCard, UdpFlexbox, UdpFluentButton, UdpFluentIcon, UdpMessageBar, UdpTabPanel, UdpText } from '@univerus/udp-react-stencil-component-library';\nimport EntityTimeLine from './components/EntitiyTimeLine';\nimport { formatDate } from '../../../UI/widgets/utils/dateUtils';\nimport { EntityNotes } from './components/EntityNotes';\nimport { AuditEventTypeEnums } from '../../../enums/auditEventEnums';\nimport ReactJsonView from '@microlink/react-json-view'\nimport AddViewNote from './components/AddViewNote';\n\nconst EDIT_TAB_ID = {\n DOMAIN_FIELDS: 'DomainFields',\n AUDIT_HISTORY: 'AuditHistory',\n NOTES: 'Notes',\n}\n\nexport const UdpMaintenanceEnginePage = (props) => {\n const { catalogKey, params } = props;\n const { t } = useTranslation();\n const [udpFieldInfos, setUdpFieldInfos] = useState([]);\n const [alertWarnings, setAlertWarnings] = useState([]);\n const [showBackToTableBrowser, setShowBackToTableBrowser] = useState(false);\n const gridApiRef = useRef(null);\n const [modalConfig, setModalConfig] = useState({ type: null, data: null });\n const [openCompareDomainAuditsSidesheet, setOpenCompareDomainAuditsSidesheet] = useState(false);\n const [lastModifiedAuditEvent, setLastModifiedAuditEvent] = useState();\n const [selectedAuditEvent, setSelectedAuditEvent] = useState();\n const [openAddViewNoteSidesheet, setopenAddViewNoteSidesheet] = useState(false);\n const [noteMode, setNoteMode] = useState('');\n const [selectedNote, setSelectedNote] = useState(null);\n const [refreshNotes, setRefreshNotes] = useState(false);\n\n const createFormApiRef = useRef();\n const editFormApiRef = useRef();\n\n const location = useLocation();\n const state = location.state;\n const history = useHistory();\n let searchParamStr = location.search;\n let searchParams = new URLSearchParams(searchParamStr);\n const searchParamsEntityName = state?.entityName\n ? state.entityName\n : searchParams.has('entityName') === true\n ? toUpperFirstChar(searchParams.get('entityName'))\n : '';\n\n const { handleErrorSnackbar, handleSuccessSnackbar } =\n useHandleAxiosSnackbar();\n\n const handleGoToTableBrowser = useCallback(() => {\n history.push({\n pathname: `/tableBrowser`\n });\n }, [history]);\n\n const udpCatalogKey = useMemo(() => {\n if (params?.entityName || catalogKey || searchParamsEntityName) {\n return params?.entityName || catalogKey || searchParamsEntityName;\n } else {\n handleGoToTableBrowser();\n }\n }, [\n params?.entityName,\n catalogKey,\n searchParamsEntityName,\n handleGoToTableBrowser\n ]);\n const udpTagId = params?.udpTagId || '';\n\n const [selectedEntity, setSelectedEntity] = useState(null);\n const [foreignKeyData, setForeignKeyData] = useState(null);\n const [udpFieldSearchApiId, setUdpFieldSearchApiId] = useState(null);\n const [entityUdpObjectInfo, setEntityUdpObjectInfo] = useState(null);\n const editSidesheetTabs = [\n {\n id: EDIT_TAB_ID.DOMAIN_FIELDS,\n label: t('maintenanceEngine.tabs.domainFields', { defaultValue: 'Domain Fields' })\n },\n {\n id: EDIT_TAB_ID.AUDIT_HISTORY,\n label: t('maintenanceEngine.tabs.auditHistory', { defaultValue: 'Audit History' })\n },\n {\n id: EDIT_TAB_ID.NOTES,\n label: t('maintenanceEngine.tabs.notes', { defaultValue: 'Notes' })\n }\n ];\n const [selectedTabId, setSelectedTabId] = useState(editSidesheetTabs[0]?.id);\n\n const [entityName, setEntityName] = useState(null);\n\n const { currentApiCatalogId } = useCatalogStore();\n\n const { data: udpObjectInfoEntity } = usePromotedMethodEntity(\n 'udpObjectInfo',\n true\n );\n\n const { data: udpObjectFieldInfo } = usePromotedMethodEntity(\n 'UdpObjectFieldInfo',\n true\n );\n\n const { data: promotedMethodEntities } = usePromotedMethodEntity(\n udpCatalogKey,\n true\n );\n\n // 2. MODAL HANDLERS: Callbacks to open and close modals/sheets.\n const openModal = useCallback((type, data = null) => {\n setModalConfig({ type, data });\n }, []);\n\n const closeModal = useCallback(() => {\n setModalConfig({ type: null, data: null });\n }, []);\n\n //------- CRUD operations--------\n const executeCreate = useCallback(\n async (data) =>\n apiMutate(\n ConfigService.integrationV1ApiUrl,\n `apimethod/executeQueryWithParameters/${selectedEntity?.unityBaseCreateMethod?.apiMethodId}`,\n {\n method: 'post'\n },\n data\n ),\n [selectedEntity]\n );\n\n const executeUpdate = useCallback(\n async (data) =>\n apiMutate(\n ConfigService.integrationV1ApiUrl,\n `apimethod/executeQueryWithParameters/${selectedEntity?.unityBaseUpdateMethod?.apiMethodId}`,\n {\n method: 'post'\n },\n data\n ),\n [selectedEntity]\n );\n\n const executeDelete = useCallback(\n async (data) =>\n apiMutate(\n ConfigService.integrationV1ApiUrl,\n `apimethod/executeQueryWithParameters/${selectedEntity?.unityBaseDeleteMethod?.apiMethodId}`,\n {\n method: 'post'\n },\n data\n ),\n [selectedEntity]\n );\n\n const onCreate = useCallback(\n async (data) => {\n return await executeCreate(data);\n },\n [executeCreate]\n );\n\n const onUpdate = useCallback(\n async (data) => {\n return await executeUpdate(data);\n },\n [executeUpdate]\n );\n\n const onDelete = useCallback(\n async (data) => {\n return await executeDelete(data);\n },\n [executeDelete]\n );\n\n const [{ data: catalogObject }] = useAxiosGet(\n ConfigService.integrationV2ApiUrl,\n `apiCatalog/${currentApiCatalogId}/catalogObject/${entityName}`,\n {},\n !!!currentApiCatalogId || !!!entityName,\n false\n );\n\n const searchObj = useMemo(() => {\n return {\n eagerLoad: true,\n pageNumber: 0,\n pageSize: 100,\n orderElements: [\n {\n sortColumn: 'createdOn',\n sortDirection: 'desc'\n }\n ],\n };\n }, []);\n\n const searchFilterElements = useMemo(() => {\n const filterElements = [];\n if (udpTagId) {\n filterElements.push({\n searchField: 'UdpTags.UdpTagAssociationUdpTag.Id',\n searchOperator: '=',\n searchValue: udpTagId\n });\n }\n if (params?.filterElements) {\n params?.filterElements?.forEach((filter) => {\n filterElements.push(filter);\n });\n }\n return filterElements;\n }, [udpTagId, params?.filterElements]);\n\n const entityAttributes = useMemo(() => {\n if (!catalogObject || !entityName) return undefined;\n return mergeEntityAttributes(catalogObject.properties || [], udpFieldInfos);\n }, [catalogObject, entityName, udpFieldInfos]);\n\n const fetchLastModifiedAuditEvent = useCallback((updatedEntityQualifiedName) => {\n let fullyQualifiedEntityName = promotedMethodEntities?.entityName;\n if(updatedEntityQualifiedName){\n fullyQualifiedEntityName = updatedEntityQualifiedName\n }\n if (!fullyQualifiedEntityName) return;\n const filterElems = [{ searchField: 'domain', searchOperator: '=', searchValue: fullyQualifiedEntityName }]\n apiMutate(\n ConfigService.uemV1ApiUrl,\n 'UdpAuditEvent/search',\n { method: 'post' },\n {\n data: {\n ...searchObj,\n pageSize: 1,\n filterElements: filterElems\n }\n }\n ).then(\n (resp) =>\n setLastModifiedAuditEvent(resp?.data?.pageList?.[0])\n )\n .catch(() => setLastModifiedAuditEvent(null));\n },[promotedMethodEntities, searchObj]);\n\n const handleOnCreate = useCallback(\n async (values) => {\n if (selectedEntity) {\n const entityName = selectedEntity?.entityName;\n if (selectedEntity?.unityBaseCreateMethod) {\n const data = { requestBody: values };\n const response = await onCreate({ data }).catch((res) => {\n handleErrorSnackbar(res);\n });\n\n if (response?.status === 200) {\n handleSuccessSnackbar(\n entityName\n ? t('maintenanceEngine.snackbar.entityCreated', {\n defaultValue: '{{entityName}} has been created',\n entityName\n })\n : t('maintenanceEngine.snackbar.created', {\n defaultValue: 'Entity has been created'\n })\n );\n gridApiRef.current.refreshServerSide();\n closeModal('create');\n return response;\n }\n } else {\n handleErrorSnackbar(\n null,\n t('maintenanceEngine.errors.createNotPromoted', {\n defaultValue: \"{{entityName}}'s create method must be promoted\",\n entityName: selectedEntity.entityName\n })\n );\n }\n }\n },\n [\n selectedEntity,\n onCreate,\n handleErrorSnackbar,\n handleSuccessSnackbar,\n t,\n closeModal\n ]\n );\n\n const handleOnUpdate = useCallback(\n async (values, primaryKeyValues) => {\n if (selectedEntity) {\n const entityName = selectedEntity?.entityName;\n\n if (selectedEntity?.unityBaseUpdateMethod) {\n // Get primary key value object using path parameters and merge with data\n const pathObject = getPathObject(\n selectedEntity.unityBaseUpdateMethod.pathParameters,\n primaryKeyValues\n );\n let data = { requestBody: values };\n if (Array.isArray(pathObject)) {\n pathObject.forEach((po) => {\n data[Object.keys(po)[0]] = po[Object.keys(po)[0]];\n });\n } else {\n data = { ...pathObject, requestBody: values };\n }\n\n const response = await onUpdate({ data }).catch((res) => {\n handleErrorSnackbar(res);\n });\n\n if (response?.status === 200) {\n handleSuccessSnackbar(\n entityName\n ? t('maintenanceEngine.snackbar.entityUpdated', {\n defaultValue: '{{entityName}} has been updated',\n entityName\n })\n : t('maintenanceEngine.snackbar.updated', {\n defaultValue: 'Entity has been updated'\n })\n );\n\n gridApiRef.current.refreshServerSide();\n fetchLastModifiedAuditEvent(data?.businessObjectKey);\n closeModal('edit');\n }\n }\n }\n },\n [\n selectedEntity,\n onUpdate,\n handleErrorSnackbar,\n handleSuccessSnackbar,\n t,\n closeModal,\n fetchLastModifiedAuditEvent\n ]\n );\n\n const handleOnDelete = useCallback(\n async (value) => {\n if (selectedEntity) {\n const entityName = selectedEntity?.entityName;\n\n if (selectedEntity?.unityBaseDeleteMethod) {\n // Get primary key value object using path parameters and merge with data\n const primaryKeyValues = getPrimaryKeyValues(entityAttributes, value);\n const pathObject = getPathObject(\n selectedEntity?.unityBaseDeleteMethod.pathParameters,\n primaryKeyValues\n );\n let data = {};\n if (Array.isArray(pathObject)) {\n pathObject.forEach((po) => {\n data[Object.keys(po)[0]] = po[Object.keys(po)[0]];\n });\n } else {\n data = { ...pathObject };\n }\n\n const response = await onDelete({ data }).catch((res) => {\n handleErrorSnackbar(res);\n });\n\n if (response?.status === 200) {\n handleSuccessSnackbar(\n entityName\n ? t('maintenanceEngine.snackbar.entityDeleted', {\n defaultValue: '{{entityName}} has been deleted',\n entityName\n })\n : t('maintenanceEngine.snackbar.deleted', {\n defaultValue: 'Entity has been deleted'\n })\n );\n gridApiRef.current.refreshServerSide();\n closeModal('delete');\n }\n }\n }\n },\n [\n selectedEntity,\n entityAttributes,\n onDelete,\n handleErrorSnackbar,\n handleSuccessSnackbar,\n t,\n closeModal\n ]\n );\n\n const removeWarning = useCallback(\n (id) => {\n const updatedWarnings = alertWarnings.filter(\n (warning) => warning.id !== id\n );\n setAlertWarnings(updatedWarnings);\n },\n [alertWarnings]\n );\n\n const shouldDisableAction = useCallback(\n (value) => {\n const sanitizedEntityName = getSanitizedName(entityName);\n const tagTypeShouldDisableEdit =\n [TagEnums.TagTypeSanitizedName.toLowerCase()].includes(\n sanitizedEntityName?.toLowerCase()\n ) && !value?.[toLowerFirstChar(EntityAttributeEnums.User_Defined)];\n\n const shortCutContentShouldDisableEdit =\n [UdpEnums.Udp_Shortcut_Content.toLowerCase()].includes(\n sanitizedEntityName?.toLowerCase()\n ) &&\n value?.[\n toLowerFirstChar(EntityAttributeEnums.Is_Product_ShortcutContent)\n ];\n\n const lookupShouldDisableEdit =\n [UdpEnums.Udp_Lookup.toLowerCase()].includes(\n sanitizedEntityName?.toLowerCase()\n ) && value?.[toLowerFirstChar(EntityAttributeEnums.Is_Product_Lookup)];\n return (\n tagTypeShouldDisableEdit ||\n shortCutContentShouldDisableEdit ||\n lookupShouldDisableEdit\n );\n },\n [entityName]\n );\n\n const actionList = useMemo(() => {\n if (!selectedEntity) {\n return [];\n }\n\n let actions = [\n {\n id: 'edit',\n iconName: 'edit', // Pass string name for the icon\n getTitle: () =>\n // Use getTitle for dynamic text\n selectedEntity?.unityBaseUpdateMethod\n ? t('common.edit', { defaultValue: 'Edit' })\n : t('maintenanceEngine.actions.editNotAccessible', {\n defaultValue: 'Edit Method Not Accessible'\n }),\n handleOnClick: (e, params) => {\n openModal('edit', params.data); // Calls parent state handler\n },\n checkDisabled: (params) =>\n !!!selectedEntity?.unityBaseUpdateMethod ||\n shouldDisableAction(params.data)\n },\n {\n id: 'delete',\n iconName: 'trashCan', // Pass string name for the icon\n getTitle: () =>\n selectedEntity?.unityBaseDeleteMethod\n ? t('common.delete', { defaultValue: 'Delete' })\n : t('maintenanceEngine.actions.deleteNotAccessible', {\n defaultValue: 'Delete Method Not Accessible'\n }),\n handleOnClick: (e, params) => {\n openModal('delete', params.data); // Calls parent state handler\n },\n checkDisabled: (params) =>\n !!!selectedEntity?.unityBaseDeleteMethod ||\n shouldDisableAction(params.data)\n }\n ];\n if (params?.inquiryTreeId) {\n actions.splice(1, 0, {\n id: 'inquiry',\n iconName: 'relationshipDiagram',\n title: t('maintenanceEngine.actions.detailedView', { defaultValue: 'Detailed view' }),\n handleOnClick: (e, params) => {\n openModal('inquiry', params.data);\n }\n });\n }\n return actions;\n }, [\n selectedEntity,\n t,\n shouldDisableAction,\n openModal,\n params?.inquiryTreeId\n ]);\n\n useEffect(() => {\n const executeSearchForEntityUdpObjectInfo = async (\n apiMethodId,\n sanitizedEntityName\n ) => {\n const filterElements = [\n {\n searchField: 'SanitizedName',\n searchOperator: '=',\n searchValue: sanitizedEntityName\n }\n ];\n const requestObj = getSearchObject(filterElements, 1, 50, false);\n const response = await executeQueryAdHoc(\n { data: requestObj },\n apiMethodId\n );\n if (response.status === 200) {\n const data = response?.data?.pageList[0];\n setEntityUdpObjectInfo(data);\n }\n };\n if (udpObjectInfoEntity?.unityBaseSearchMethod && entityName) {\n executeSearchForEntityUdpObjectInfo(\n udpObjectInfoEntity?.unityBaseSearchMethod?.apiMethodId,\n getSanitizedName(entityName)\n );\n }\n }, [udpObjectInfoEntity, entityName]);\n\n useEffect(() => {\n if (!entityAttributes || udpFieldSearchApiId === null) return;\n let cancelled = false;\n fetchForeignKeyData(\n currentApiCatalogId,\n entityAttributes,\n udpFieldSearchApiId\n ).then(({ foreignKeyData, entitiesMissingGetAll }) => {\n if (cancelled) return;\n setForeignKeyData(foreignKeyData);\n if (!entitiesMissingGetAll.length) return;\n setAlertWarnings((existingWarnings) => [\n ...existingWarnings,\n ...entitiesMissingGetAll.map((entityName) => ({\n id: uuid(),\n messageKey: 'maintenanceEngine.warnings.getAllNotPromoted',\n defaultValue: \"{{entityName}}'s Get-All method needs to be promoted\",\n messageParams: { entityName }\n }))\n ]);\n });\n return () => {\n cancelled = true;\n };\n }, [entityAttributes, udpFieldSearchApiId, currentApiCatalogId]);\n\n useEffect(() => {\n if (promotedMethodEntities) {\n setSelectedEntity(promotedMethodEntities);\n setEntityName(promotedMethodEntities?.entityName);\n }\n }, [promotedMethodEntities]);\n\n useEffect(() => {\n if (udpObjectFieldInfo) {\n if (udpObjectFieldInfo?.unityBaseSearchMethod?.apiMethodId) {\n setUdpFieldSearchApiId(\n udpObjectFieldInfo?.unityBaseSearchMethod?.apiMethodId\n );\n } else {\n setUdpFieldSearchApiId('');\n const udpFieldWarning = {\n id: uuid(),\n messageKey: 'maintenanceEngine.warnings.udpObjectFieldInfoNotPromoted',\n defaultValue: 'UdpObjectFieldInfo method needs to be promoted'\n };\n setAlertWarnings((prevState) => [...prevState, udpFieldWarning]);\n }\n }\n }, [udpObjectFieldInfo]);\n\n useEffect(() => {\n if (!udpFieldSearchApiId) return;\n let cancelled = false;\n fetchUdpFieldInfos(udpFieldSearchApiId, entityName).then((fieldInfos) => {\n if (!cancelled) setUdpFieldInfos(fieldInfos);\n });\n return () => {\n cancelled = true;\n };\n }, [udpFieldSearchApiId, entityName]);\n\n useEffect(() => {\n if (location.state?.from === 'tablebrowser') {\n setShowBackToTableBrowser(true);\n }\n }, [location.state]);\n\n const handleGridApiCallback = (api) => {\n gridApiRef.current = api;\n };\n\n\n useEffect(() => {\n fetchLastModifiedAuditEvent();\n }, [fetchLastModifiedAuditEvent]);\n\n const primaryKeyFieldName = useMemo(() => {\n const fieldName = udpFieldInfos?.find((field) => field.isPrimaryKey)?.name;\n return fieldName?.[0]?.toLowerCase() + fieldName?.slice(1);\n }, [udpFieldInfos]);\n\n const handleCloseNotesSidesheet = () => {\n setopenAddViewNoteSidesheet(false);\n setSelectedNote(null);\n setNoteMode('');\n };\n\n const getChangedFieldsandValues = (oldDataStr, newDataStr) => {\n if (!oldDataStr || !newDataStr) return;\n const oldData = JSON.parse(oldDataStr);\n const newData = JSON.parse(newDataStr);\n const keys = new Set([...Object.keys(oldData), ...Object.keys(newData)]);\n\n const changes = [];\n keys.forEach((key) => {\n const oldValue = oldData[key] ?? null;\n const newValue = newData[key] ?? null;\n if (JSON.stringify(oldValue) !== JSON.stringify(newValue)) {\n changes.push({\n field: key,\n previousValue: oldValue,\n currentValue: newValue\n });\n }\n });\n return changes;\n };\n\n const sidesheetList = [\n {\n open: modalConfig.type === 'create',\n onClose: closeModal,\n title: t('maintenanceEngine.sheet.addTitle', {\n defaultValue: 'Add New {{name}}',\n name:\n entityUdpObjectInfo?.properties?.displayName ||\n getSanitizedName(entityName)\n }),\n width: '600px',\n children: (\n <>\n <CrudTableSidePanel\n entityAttributes={entityAttributes}\n udpFieldInfos={udpFieldInfos}\n foreignKeyData={foreignKeyData}\n closeSideSheet={closeModal}\n isNewEntry={modalConfig.type === 'create'}\n entityName={entityName}\n onCreate={handleOnCreate}\n onUpdate={undefined}\n crudTableEditionData={null}\n pageId={selectedEntity?.unityBaseCreateMethod?.pageId}\n formApiRef={createFormApiRef}\n hideSubmitButton\n />\n <UdpFluentButton\n appearance='primary'\n slot='footer'\n onClick={() => createFormApiRef.current?.handleSubmit()}\n >\n {t('common.add', { defaultValue: 'Add' })}\n </UdpFluentButton>\n </>\n )\n },\n {\n open: modalConfig.type === 'edit',\n onClose: closeModal,\n title: t('maintenanceEngine.sheet.editTitle', {\n defaultValue: 'Edit {{name}}',\n name:\n entityUdpObjectInfo?.properties?.displayName ||\n getSanitizedName(entityName)\n }),\n width: '600px',\n children: (\n <>\n <UdpFlexbox\n slot='toolbar'\n direction='row'\n align='center'\n justify='space-between'\n width='100%'\n >\n <UdpTablist\n tabList={editSidesheetTabs}\n activeId={selectedTabId}\n onTabChange={(e) => setSelectedTabId(e?.detail)}\n />\n <UdpFluentButton\n appearance='transparent'\n onClick={() => {\n setopenAddViewNoteSidesheet(true);\n setNoteMode('ADD');\n }}\n startIconName='add'\n >\n {t('notes.actions.add', { defaultValue: 'Add Note' })}\n </UdpFluentButton>\n </UdpFlexbox>\n <UdpTabPanel\n activeTabId={selectedTabId}\n id={EDIT_TAB_ID.DOMAIN_FIELDS}\n >\n <CrudTableSidePanel\n entityAttributes={entityAttributes}\n udpFieldInfos={udpFieldInfos}\n foreignKeyData={foreignKeyData}\n closeSideSheet={closeModal}\n isNewEntry={modalConfig.type === 'create'}\n entityName={entityName}\n onCreate={undefined}\n onUpdate={handleOnUpdate}\n crudTableEditionData={modalConfig.data}\n pageId={selectedEntity?.unityBaseUpdateMethod?.pageId}\n formApiRef={editFormApiRef}\n hideSubmitButton\n />\n </UdpTabPanel>\n\n <UdpTabPanel\n activeTabId={selectedTabId}\n id={EDIT_TAB_ID.AUDIT_HISTORY}\n >\n <EntityTimeLine\n setOpenCompareDomainAuditsSidesheet={\n setOpenCompareDomainAuditsSidesheet\n }\n setSelectedAuditEvent={setSelectedAuditEvent}\n entityData={modalConfig?.data}\n />\n </UdpTabPanel>\n\n <UdpTabPanel activeTabId={selectedTabId} id={EDIT_TAB_ID.NOTES}>\n <EntityNotes\n businessObjectKey={modalConfig?.data?.businessObjectKey}\n setNoteMode={setNoteMode}\n setOpenViewNoteSidesheet={setopenAddViewNoteSidesheet}\n setSelectedNote={setSelectedNote}\n refreshNotes={refreshNotes}\n setRefreshNotes={setRefreshNotes}\n />\n </UdpTabPanel>\n {selectedTabId === EDIT_TAB_ID.DOMAIN_FIELDS && (\n <UdpFluentButton\n appearance='primary'\n slot='footer'\n onClick={() => editFormApiRef.current?.handleSubmit()}\n >\n {t('common.save', { defaultValue: 'Save' })}\n </UdpFluentButton>\n )}\n </>\n )\n },\n {\n open: modalConfig.type === 'inquiry',\n onClose: closeModal,\n title: t('maintenanceEngine.actions.detailedView', {\n defaultValue: 'Detailed view'\n }),\n width: '90%',\n children: (\n <Inquiry\n treeId={params?.inquiryTreeId}\n autoCollapseNav={true}\n searchValue={modalConfig?.data?.[primaryKeyFieldName]}\n />\n )\n },\n {\n open: openCompareDomainAuditsSidesheet,\n onClose: () => {\n setOpenCompareDomainAuditsSidesheet(false);\n },\n title: t('maintenanceEngine.sheet.compareAuditsTitle', {\n defaultValue: 'Compare Audits'\n }),\n width: '500px',\n children: (\n <UdpCard>\n {(selectedAuditEvent?.typeCode ===\n AuditEventTypeEnums.Update_Domain ||\n selectedAuditEvent?.typeCode ===\n AuditEventTypeEnums.Delete_Domain) && (\n <ReactJsonView\n src={\n selectedAuditEvent?.udpAuditEventUdpAuditEventDetail?.[0]\n ?.oldObj\n ? JSON.parse(\n selectedAuditEvent?.udpAuditEventUdpAuditEventDetail?.[0]\n ?.oldObj\n )\n : {}\n }\n name={t('auditEvents.sidesheet.oldDetails', {\n defaultValue: 'Old Details'\n })}\n displayDataTypes={false}\n displayObjectSize={false}\n collapsed={true}\n />\n )}\n {(selectedAuditEvent?.typeCode ===\n AuditEventTypeEnums.Update_Domain ||\n selectedAuditEvent?.typeCode ===\n AuditEventTypeEnums.Create_Domain) && (\n <ReactJsonView\n src={\n selectedAuditEvent?.udpAuditEventUdpAuditEventDetail?.[0]\n ?.newObj\n ? JSON.parse(\n selectedAuditEvent?.udpAuditEventUdpAuditEventDetail?.[0]\n ?.newObj\n )\n : {}\n }\n name={t('auditEvents.sidesheet.newDetails', {\n defaultValue: 'New Details'\n })}\n displayDataTypes={false}\n displayObjectSize={false}\n collapsed={true}\n />\n )}\n {selectedAuditEvent && (\n <UdpList>\n {getChangedFieldsandValues(\n selectedAuditEvent?.udpAuditEventUdpAuditEventDetail?.[0]\n ?.oldObj,\n selectedAuditEvent?.udpAuditEventUdpAuditEventDetail?.[0]\n ?.newObj\n )?.map(({ field, previousValue, currentValue }) => {\n return (\n <UdpListItem\n key={field}\n label={field}\n subtitle={t('maintenanceEngine.compareAudits.change', {\n defaultValue:\n 'Old: {{previousValue}} New: {{currentValue}}',\n previousValue,\n currentValue\n })}\n value={field}\n />\n );\n })}\n </UdpList>\n )}\n </UdpCard>\n )\n },\n {\n open: openAddViewNoteSidesheet,\n onClose: () => handleCloseNotesSidesheet(),\n title:\n noteMode === 'ADD'\n ? t('notes.addTitle', { defaultValue: 'Add Note' })\n : t('notes.viewTitle', { defaultValue: 'View Note' }),\n width: '500px',\n children: (\n <AddViewNote\n entityBusinessKey={modalConfig?.data?.businessObjectKey}\n closeSidesheet={() => {\n handleCloseNotesSidesheet();\n }}\n mode={noteMode}\n selectedNote={selectedNote}\n setRefreshNotes={setRefreshNotes}\n />\n )\n }\n ];\n\n return (\n <>\n {alertWarnings.map((warning) => (\n <Alert\n key={warning.id}\n onClose={() => removeWarning(warning.id)}\n severity='warning'\n >\n {warning.messageKey\n ? t(warning.messageKey, {\n defaultValue: warning.defaultValue,\n ...warning.messageParams\n })\n : warning.message}\n </Alert>\n ))}\n {lastModifiedAuditEvent && (\n <UdpMessageBar slot='inline' intent='warning'>\n <div slot='icon'>\n <UdpFluentIcon name='clock' color='primary' size='xs' />\n </div>\n <UdpText variant='body2'>\n {t('maintenanceEngine.messageBar.lastUpdated', {\n defaultValue: 'Last Updated {{record}} on {{date}} by {{user}}',\n record: lastModifiedAuditEvent?.entityBusinessKey,\n date: formatDate(lastModifiedAuditEvent?.createdOn, 'dd/mm/yyyy'),\n user: lastModifiedAuditEvent?.userDisplayName\n })}\n </UdpText>\n <UdpButton\n slot='actions'\n variant='outlined'\n size='small'\n onClick={(e) => {\n setSelectedAuditEvent(lastModifiedAuditEvent);\n setOpenCompareDomainAuditsSidesheet(true);\n }}\n >\n {t('maintenanceEngine.actions.moreDetails', {\n defaultValue: 'More Details'\n })}\n </UdpButton>\n </UdpMessageBar>\n )}\n <CrudBrowserContainer\n actionList={actionList}\n onCreate={() => openModal('create')}\n entityAttributes={entityAttributes}\n foreignKeyData={foreignKeyData}\n promotedEntity={selectedEntity}\n apiMethod={{ currentApiCatalogId, entityName }}\n filterElements={searchFilterElements}\n setAlertWarnings={setAlertWarnings}\n gridApiCallback={handleGridApiCallback}\n showBackToTableBrowser={showBackToTableBrowser}\n gridTitle={entityUdpObjectInfo?.properties?.displayName}\n />\n {sidesheetList.map((sidesheet) => {\n return modalConfig.type === 'inquiry' ? (\n <SideSheet\n key={sidesheet?.title}\n open={sidesheet?.open}\n onClose={sidesheet?.onClose}\n title={sidesheet?.title}\n width={sidesheet?.width}\n >\n {sidesheet?.children}\n </SideSheet>\n ) : (\n <UdpDrawer\n key={sidesheet?.title}\n open={sidesheet?.open}\n onDrawerClose={sidesheet?.onClose}\n drawerTitle={sidesheet?.title}\n drawerWidth={sidesheet?.width}\n >\n {sidesheet?.children}\n </UdpDrawer>\n );\n })}\n {/* <SideSheet\n open={modalConfig.type === 'create' || modalConfig.type === 'edit'}\n onClose={closeModal}\n title={\n modalConfig.type === 'create'\n ? t('maintenanceEngine.sheet.addTitle', {\n defaultValue: 'Add New {{name}}',\n name:\n entityUdpObjectInfo?.properties?.displayName ||\n getSanitizedName(entityName)\n })\n : t('maintenanceEngine.sheet.editTitle', {\n defaultValue: 'Edit {{name}}',\n name:\n entityUdpObjectInfo?.properties?.displayName ||\n getSanitizedName(entityName)\n })\n }\n width={600}\n >\n {(modalConfig.type === 'create' || modalConfig.type === 'edit') && (\n <CrudTableSidePanel\n entityAttributes={entityAttributes}\n udpFieldInfos={udpFieldInfos}\n foreignKeyData={foreignKeyData}\n closeSideSheet={closeModal}\n isNewEntry={modalConfig.type === 'create'}\n entityName={entityName}\n onCreate={\n modalConfig.type === 'create' ? handleOnCreate : undefined\n }\n onUpdate={modalConfig.type === 'edit' ? handleOnUpdate : undefined}\n crudTableEditionData={\n modalConfig.type === 'edit' ? modalConfig.data : null\n }\n pageId={\n modalConfig.type === 'edit'\n ? selectedEntity?.unityBaseUpdateMethod?.pageId\n : selectedEntity?.unityBaseCreateMethod?.pageId\n }\n />\n )}\n </SideSheet>\n <SideSheet\n open={modalConfig.type === 'inquiry'}\n onClose={closeModal}\n title={t('maintenanceEngine.actions.detailedView', { defaultValue: 'Detailed view' })}\n width={'90%'}\n >\n <Inquiry\n treeId={params?.inquiryTreeId}\n autoCollapseNav={true}\n searchValue={modalConfig?.data?.[primaryKeyFieldName]}\n />\n </SideSheet> */}\n {/* <FluentDialog\n open={modalConfig.type === 'delete'}\n handleClose={closeModal}\n title={t('common.delete', { defaultValue: 'Delete' })}\n message={t('maintenanceEngine.deleteDialog.message', { defaultValue: 'Are you sure you want to delete this row?' })}\n actionOne={closeModal}\n labelOne={t('common.cancel', { defaultValue: 'Cancel' })}\n actionTwo={() => handleOnDelete(modalConfig.data)}\n labelTwo={t('common.confirm', { defaultValue: 'Confirm' })}\n /> */}\n <UdpDialog\n open={modalConfig.type === 'delete'}\n dialogTitle={t('common.delete', { defaultValue: 'Delete' })}\n onDialogClose={() => closeModal()}\n >\n <UdpText variant='body1'>\n {t('maintenanceEngine.deleteDialog.message', {\n defaultValue: 'Are you sure you want to delete this row?'\n })}\n </UdpText>\n <UdpFluentButton\n slot='action'\n appearance='outline'\n onClick={() => handleOnDelete(modalConfig.data)}\n >\n {t('common.delete', { defaultValue: 'Delete' })}\n </UdpFluentButton>\n <UdpFluentButton\n slot='action'\n appearance='primary'\n onClick={() => closeModal()}\n >\n {t('common.cancel', { defaultValue: 'Cancel' })}\n </UdpFluentButton>\n </UdpDialog>\n </>\n );\n};\n\nexport default UdpMaintenanceEnginePage;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoDA,MAAMsD,cAAc;CAChBC,eAAe;CACfC,eAAe;CACfC,OAAO;CACV;AAED,MAAaC,4BAA4BC,UAAU;CACjD,MAAM,EAAEC,YAAYC,WAAWF;CAC/B,MAAM,EAAEG,MAAMxD,gBAAgB;CAC9B,MAAM,CAACyD,eAAeC,oBAAoB9D,SAAS,EAAE,CAAC;CACtD,MAAM,CAAC+D,eAAeC,oBAAoBhE,SAAS,EAAE,CAAC;CACtD,MAAM,CAACiE,wBAAwBC,6BAA6BlE,SAAS,MAAM;CAC3E,MAAMmE,aAAahE,OAAO,KAAK;CAC/B,MAAM,CAACiE,aAAaC,kBAAkBrE,SAAS;EAAEsE,MAAM;EAAMC,MAAM;EAAM,CAAC;CAC1E,MAAM,CAACC,kCAAkCC,uCAAuCzE,SAAS,MAAM;CAC/F,MAAM,CAAC0E,wBAAwBC,6BAA6B3E,UAAU;CACtE,MAAM,CAAC4E,oBAAoBC,yBAAyB7E,UAAU;CAC9D,MAAM,CAAC8E,0BAA0BC,+BAA+B/E,SAAS,MAAM;CAC/E,MAAM,CAACgF,UAAUC,eAAejF,SAAS,GAAG;CAC5C,MAAM,CAACkF,cAAcC,mBAAmBnF,SAAS,KAAK;CACtD,MAAM,CAACoF,cAAcC,mBAAmBrF,SAAS,MAAM;CAEvD,MAAMsF,mBAAmBnF,QAAQ;CACjC,MAAMoF,iBAAiBpF,QAAQ;CAE/B,MAAMqF,WAAW/D,aAAa;CAC9B,MAAMgE,QAAQD,SAASC;CACvB,MAAMC,UAAU5D,YAAY;CAC5B,IAAI6D,iBAAiBH,SAASI;CAC9B,IAAIC,eAAe,IAAIC,gBAAgBH,eAAe;CACtD,MAAMI,yBAAyBN,OAAOO,aAClCP,MAAMO,aACNH,aAAaI,IAAI,aAAa,KAAK,OACnCtF,iBAAiBkF,aAAaK,IAAI,aAAa,CAAC,GAChD;CAEJ,MAAM,EAAEC,qBAAqBC,0BAC3BjF,wBAAwB;CAE1B,MAAMkF,yBAAyBnG,kBAAkB;AAC/CwF,UAAQY,KAAK,EACXC,UAAU,iBACX,CAAC;IACD,CAACb,QAAQ,CAAC;CAEb,MAAMc,gBAAgBvG,cAAc;AAClC,MAAI0D,QAAQqC,cAActC,cAAcqC,uBACtC,QAAOpC,QAAQqC,cAActC,cAAcqC;MAE3CM,yBAAwB;IAEzB;EACD1C,QAAQqC;EACRtC;EACAqC;EACAM;EACD,CAAC;CACF,MAAMI,WAAW9C,QAAQ8C,YAAY;CAErC,MAAM,CAACC,gBAAgBC,qBAAqB3G,SAAS,KAAK;CAC1D,MAAM,CAAC4G,gBAAgBC,qBAAqB7G,SAAS,KAAK;CAC1D,MAAM,CAAC8G,qBAAqBC,0BAA0B/G,SAAS,KAAK;CACpE,MAAM,CAACgH,qBAAqBC,0BAA0BjH,SAAS,KAAK;CACpE,MAAMkH,oBAAoB;EACxB;GACEC,IAAI/D,YAAYC;GAChB+D,OAAOxD,EAAE,uCAAuC,EAAEyD,cAAc,iBAAiB,CAAA;GAClF;EACD;GACEF,IAAI/D,YAAYE;GAChB8D,OAAOxD,EAAE,uCAAuC,EAAEyD,cAAc,iBAAiB,CAAA;GAClF;EACD;GACEF,IAAI/D,YAAYG;GAChB6D,OAAOxD,EAAE,gCAAgC,EAAEyD,cAAc,SAAS,CAAA;GACnE;EACF;CACD,MAAM,CAACC,eAAeC,oBAAoBvH,SAASkH,kBAAkB,IAAIC,GAAG;CAE5E,MAAM,CAACnB,YAAYwB,iBAAiBxH,SAAS,KAAK;CAElD,MAAM,EAAEyH,wBAAwB5F,iBAAiB;CAEjD,MAAM,EAAE0C,MAAMmD,wBAAwBtG,wBACpC,iBACA,KACD;CAED,MAAM,EAAEmD,MAAMoD,uBAAuBvG,wBACnC,sBACA,KACD;CAED,MAAM,EAAEmD,MAAMqD,2BAA2BxG,wBACvCoF,eACA,KACD;CAGD,MAAMqB,YAAY3H,aAAaoE,MAAMC,OAAO,SAAS;AACnDF,iBAAe;GAAEC;GAAMC;GAAM,CAAC;IAC7B,EAAE,CAAC;CAEN,MAAMuD,aAAa5H,kBAAkB;AACnCmE,iBAAe;GAAEC,MAAM;GAAMC,MAAM;GAAM,CAAC;IACzC,EAAE,CAAC;CAGN,MAAMwD,gBAAgB7H,YACpB,OAAOqE,WACL9D,UACEkB,gBAAcqG,qBACd,wCAAwCtB,gBAAgBuB,uBAAuBC,eAC/E,EACEC,QAAQ,QACT,EACD5D,OACD,EACH,CAACmC,eACH,CAAC;CAED,MAAM0B,gBAAgBlI,YACpB,OAAOqE,WACL9D,UACEkB,gBAAcqG,qBACd,wCAAwCtB,gBAAgB2B,uBAAuBH,eAC/E,EACEC,QAAQ,QACT,EACD5D,OACD,EACH,CAACmC,eACH,CAAC;CAED,MAAM4B,gBAAgBpI,YACpB,OAAOqE,WACL9D,UACEkB,gBAAcqG,qBACd,wCAAwCtB,gBAAgB6B,uBAAuBL,eAC/E,EACEC,QAAQ,QACT,EACD5D,OACD,EACH,CAACmC,eACH,CAAC;CAED,MAAM8B,WAAWtI,YACf,OAAOqE,WAAS;AACd,SAAO,MAAMwD,cAAcxD,OAAK;IAElC,CAACwD,cACH,CAAC;CAED,MAAMU,WAAWvI,YACf,OAAOqE,WAAS;AACd,SAAO,MAAM6D,cAAc7D,OAAK;IAElC,CAAC6D,cACH,CAAC;CAED,MAAMM,WAAWxI,YACf,OAAOqE,WAAS;AACd,SAAO,MAAM+D,cAAc/D,OAAK;IAElC,CAAC+D,cACH,CAAC;CAED,MAAM,CAAC,EAAE/D,MAAMoE,mBAAmB3G,YAChCL,gBAAciH,qBACd,cAAcnB,oBAAmB,iBAAkBzB,cACnD,EAAE,EACF,CAAC,CAAC,CAACyB,uBAAuB,CAAC,CAAC,CAACzB,YAC7B,MACD;CAED,MAAM6C,YAAY5I,cAAc;AAC9B,SAAO;GACL6I,WAAW;GACXC,YAAY;GACZC,UAAU;GACVC,eAAe,CACb;IACEC,YAAY;IACZC,eAAe;IAChB,CAAA;GAEJ;IACA,EAAE,CAAC;CAEN,MAAMC,uBAAuBnJ,cAAc;EACzC,MAAMoJ,iBAAiB,EAAE;AACzB,MAAI5C,SACF4C,gBAAe/C,KAAK;GAClBgD,aAAa;GACbC,gBAAgB;GAChBC,aAAa/C;GACd,CAAC;AAEJ,MAAI9C,QAAQ0F,eACV1F,SAAQ0F,gBAAgBI,SAASC,WAAW;AAC1CL,kBAAe/C,KAAKoD,OAAO;IAC3B;AAEJ,SAAOL;IACN,CAAC5C,UAAU9C,QAAQ0F,eAAe,CAAC;CAEtC,MAAMM,mBAAmB1J,cAAc;AACrC,MAAI,CAAC0I,iBAAiB,CAAC3C,WAAY,QAAO4D,KAAAA;AAC1C,SAAO9I,sBAAsB6H,cAAckB,cAAc,EAAE,EAAEhG,cAAc;IAC1E;EAAC8E;EAAe3C;EAAYnC;EAAc,CAAC;CAE9C,MAAMiG,8BAA8B5J,aAAa6J,+BAA+B;EAC9E,IAAIC,2BAA2BpC,wBAAwB5B;AACvD,MAAG+D,2BACDC,4BAA2BD;AAE7B,MAAI,CAACC,yBAA0B;EAC/B,MAAMC,cAAe,CAAC;GAAEX,aAAa;GAAUC,gBAAgB;GAAKC,aAAaQ;GAA0B,CAAC;AAC5GvJ,YACEkB,gBAAcuI,aACd,wBACA,EAAE/B,QAAQ,QAAQ,EAClB,EACE5D,MAAM;GACJ,GAAGsE;GACHG,UAAU;GACVK,gBAAgBY;GAClB,EAEJ,CAAC,CAACE,MACCC,SACCzF,0BAA0ByF,MAAM7F,MAAM8F,WAAW,GACrD,CAAC,CACAC,YAAY3F,0BAA0B,KAAK,CAAC;IAC7C,CAACiD,wBAAwBiB,UAAU,CAAC;CAEtC,MAAM0B,iBAAiBrK,YACrB,OAAOsK,WAAW;AAChB,MAAI9D,gBAAgB;GAClB,MAAMV,eAAaU,gBAAgBV;AACnC,OAAIU,gBAAgBuB,uBAAuB;IAEzC,MAAMyC,WAAW,MAAMlC,SAAS,EAAEjE,MADrB,EAAEkG,aAAaD,QAAQ,EACI,CAAC,CAACF,OAAOK,QAAQ;AACvDxE,yBAAoBwE,IAAI;MACxB;AAEF,QAAID,UAAUE,WAAW,KAAK;AAC5BxE,2BACEJ,eACIpC,EAAE,4CAA4C;MAC5CyD,cAAc;MACdrB,YAAAA;MACD,CAAC,GACFpC,EAAE,sCAAsC,EACtCyD,cAAc,2BACf,CACP,CAAC;AACDlD,gBAAW0G,QAAQC,mBAAmB;AACtChD,gBAAW,SAAS;AACpB,YAAO4C;;SAGTvE,qBACE,MACAvC,EAAE,8CAA8C;IAC9CyD,cAAc;IACdrB,YAAYU,eAAeV;IAC5B,CACH,CAAC;;IAIP;EACEU;EACA8B;EACArC;EACAC;EACAxC;EACAkE;EAEJ,CAAC;CAED,MAAMiD,iBAAiB7K,YACrB,OAAOsK,UAAQQ,qBAAqB;AAClC,MAAItE,gBAAgB;GAClB,MAAMV,eAAaU,gBAAgBV;AAEnC,OAAIU,gBAAgB2B,uBAAuB;IAEzC,MAAM4C,aAAa1K,cACjBmG,eAAe2B,sBAAsB6C,gBACrCF,iBACD;IACD,IAAIzG,SAAO,EAAEkG,aAAaD,UAAQ;AAClC,QAAIW,MAAMC,QAAQH,WAAW,CAC3BA,YAAWxB,SAAS4B,OAAO;AACzB9G,YAAK+G,OAAOC,KAAKF,GAAG,CAAC,MAAMA,GAAGC,OAAOC,KAAKF,GAAG,CAAC;MAC9C;QAEF9G,UAAO;KAAE,GAAG0G;KAAYR,aAAaD;KAAQ;AAO/C,SAJiB,MAAM/B,SAAS,EAAElE,MAAAA,QAAM,CAAC,CAAC+F,OAAOK,UAAQ;AACvDxE,yBAAoBwE,MAAI;MACxB,GAEYC,WAAW,KAAK;AAC5BxE,2BACEJ,eACIpC,EAAE,4CAA4C;MAC5CyD,cAAc;MACdrB,YAAAA;MACD,CAAC,GACFpC,EAAE,sCAAsC,EACtCyD,cAAc,2BACf,CACP,CAAC;AAEDlD,gBAAW0G,QAAQC,mBAAmB;AACtChB,iCAA4BvF,QAAMiH,kBAAkB;AACpD1D,gBAAW,OAAO;;;;IAK1B;EACEpB;EACA+B;EACAtC;EACAC;EACAxC;EACAkE;EACAgC;EAEJ,CAAC;CAED,MAAM2B,iBAAiBvL,YACrB,OAAOwL,UAAU;AACf,MAAIhF,gBAAgB;GAClB,MAAMV,eAAaU,gBAAgBV;AAEnC,OAAIU,gBAAgB6B,uBAAuB;IAEzC,MAAMyC,qBAAmBxK,oBAAoBmJ,kBAAkB+B,MAAM;IACrE,MAAMT,eAAa1K,cACjBmG,gBAAgB6B,sBAAsB2C,gBACtCF,mBACD;IACD,IAAIzG,SAAO,EAAE;AACb,QAAI4G,MAAMC,QAAQH,aAAW,CAC3BA,cAAWxB,SAAS4B,SAAO;AACzB9G,YAAK+G,OAAOC,KAAKF,KAAG,CAAC,MAAMA,KAAGC,OAAOC,KAAKF,KAAG,CAAC;MAC9C;QAEF9G,UAAO,EAAE,GAAG0G,cAAY;AAO1B,SAJiB,MAAMvC,SAAS,EAAEnE,MAAAA,QAAM,CAAC,CAAC+F,OAAOK,UAAQ;AACvDxE,yBAAoBwE,MAAI;MACxB,GAEYC,WAAW,KAAK;AAC5BxE,2BACEJ,eACIpC,EAAE,4CAA4C;MAC5CyD,cAAc;MACdrB,YAAAA;MACD,CAAC,GACFpC,EAAE,sCAAsC,EACtCyD,cAAc,2BACf,CACP,CAAC;AACDlD,gBAAW0G,QAAQC,mBAAmB;AACtChD,gBAAW,SAAS;;;;IAK5B;EACEpB;EACAiD;EACAjB;EACAvC;EACAC;EACAxC;EACAkE;EAEJ,CAAC;CAED,MAAM6D,gBAAgBzL,aACnBiH,OAAO;AAINnD,mBAHwBD,cAAc2F,QACnCmC,YAAYA,QAAQ1E,OAAOA,GAC7B,CACgC;IAEnC,CAACpD,cACH,CAAC;CAED,MAAM+H,sBAAsB5L,aACzBwL,YAAU;EACT,MAAMK,sBAAsB1K,iBAAiB2E,WAAW;EACxD,MAAMgG,2BACJ,CAACtK,SAASuK,qBAAqBC,aAAa,CAAC,CAACC,SAC5CJ,qBAAqBG,aACvB,CAAC,IAAI,CAACR,UAAQhL,iBAAiBE,qBAAqBwL,aAAa;EAEnE,MAAMC,mCACJ,CAACxL,SAASyL,qBAAqBJ,aAAa,CAAC,CAACC,SAC5CJ,qBAAqBG,aACvB,CAAC,IACDR,UACEhL,iBAAiBE,qBAAqB2L,2BAA2B;EAGrE,MAAMC,0BACJ,CAAC3L,SAAS4L,WAAWP,aAAa,CAAC,CAACC,SAClCJ,qBAAqBG,aACvB,CAAC,IAAIR,UAAQhL,iBAAiBE,qBAAqB8L,kBAAkB;AACvE,SACEV,4BACAK,oCACAG;IAGJ,CAACxG,WACH,CAAC;CAED,MAAM2G,aAAa1M,cAAc;AAC/B,MAAI,CAACyG,eACH,QAAO,EAAE;EAGX,IAAIkG,UAAU,CACZ;GACEzF,IAAI;GACJ0F,UAAU;GACVC,gBAEEpG,gBAAgB2B,wBACZzE,EAAE,eAAe,EAAEyD,cAAc,QAAQ,CAAC,GAC1CzD,EAAE,+CAA+C,EAC/CyD,cAAc,8BACf,CAAC;GACR0F,gBAAgBC,GAAGrJ,aAAW;AAC5BkE,cAAU,QAAQlE,SAAOY,KAAK;;GAEhC0I,gBAAgBtJ,aACd,CAAC,CAAC,CAAC+C,gBAAgB2B,yBACnByD,oBAAoBnI,SAAOY,KAAI;GAClC,EACD;GACE4C,IAAI;GACJ0F,UAAU;GACVC,gBACEpG,gBAAgB6B,wBACZ3E,EAAE,iBAAiB,EAAEyD,cAAc,UAAU,CAAC,GAC9CzD,EAAE,iDAAiD,EACjDyD,cAAc,gCACf,CAAC;GACR0F,gBAAgBC,KAAGrJ,aAAW;AAC5BkE,cAAU,UAAUlE,SAAOY,KAAK;;GAElC0I,gBAAgBtJ,aACd,CAAC,CAAC,CAAC+C,gBAAgB6B,yBACnBuD,oBAAoBnI,SAAOY,KAAI;GAClC,CACF;AACD,MAAIZ,QAAQuJ,cACVN,SAAQO,OAAO,GAAG,GAAG;GACnBhG,IAAI;GACJ0F,UAAU;GACVO,OAAOxJ,EAAE,0CAA0C,EAAEyD,cAAc,iBAAiB,CAAC;GACrF0F,gBAAgBC,KAAGrJ,aAAW;AAC5BkE,cAAU,WAAWlE,SAAOY,KAAK;;GAEpC,CAAC;AAEJ,SAAOqI;IACN;EACDlG;EACA9C;EACAkI;EACAjE;EACAlE,QAAQuJ;EACT,CAAC;AAEFnN,iBAAgB;EACd,MAAMsN,sCAAsC,OAC1CnF,aACA6D,0BACG;GASH,MAAMrB,aAAW,MAAMzJ,kBACrB,EAAEsD,MAFerD,gBAPI,CACrB;IACEoI,aAAa;IACbC,gBAAgB;IAChBC,aAAauC;IACd,CACF,EACkD,GAAG,IAAI,MAAM,EAE1C,EACpB7D,YACD;AACD,OAAIwC,WAASE,WAAW,KAAK;IAC3B,MAAMrG,SAAOmG,YAAUnG,MAAM8F,SAAS;AACtCpD,2BAAuB1C,OAAK;;;AAGhC,MAAImD,qBAAqB6F,yBAAyBvH,WAChDqH,qCACE3F,qBAAqB6F,uBAAuBrF,aAC5C7G,iBAAiB2E,WACnB,CAAC;IAEF,CAAC0B,qBAAqB1B,WAAW,CAAC;AAErCjG,iBAAgB;AACd,MAAI,CAAC4J,oBAAoB7C,wBAAwB,KAAM;EACvD,IAAI0G,YAAY;AAChBzM,sBACE0G,qBACAkC,kBACA7C,oBACD,CAACqD,MAAM,EAAEvD,gBAAAA,kBAAgB6G,4BAA4B;AACpD,OAAID,UAAW;AACf3G,qBAAkBD,iBAAe;AACjC,OAAI,CAAC6G,sBAAsBC,OAAQ;AACnC1J,qBAAkB2J,qBAAqB,CACrC,GAAGA,kBACH,GAAGF,sBAAsBG,KAAK5H,kBAAgB;IAC5CmB,IAAI3F,IAAM;IACVqM,YAAY;IACZxG,cAAc;IACdyG,eAAe,EAAE9H,YAAAA,cAAW;IAC7B,EAAE,CACJ,CAAC;IACF;AACF,eAAa;AACXwH,eAAY;;IAEb;EAAC7D;EAAkB7C;EAAqBW;EAAoB,CAAC;AAEhE1H,iBAAgB;AACd,MAAI6H,wBAAwB;AAC1BjB,qBAAkBiB,uBAAuB;AACzCJ,iBAAcI,wBAAwB5B,WAAW;;IAElD,CAAC4B,uBAAuB,CAAC;AAE5B7H,iBAAgB;AACd,MAAI4H,mBACF,KAAIA,oBAAoB4F,uBAAuBrF,YAC7CnB,wBACEY,oBAAoB4F,uBAAuBrF,YAC5C;OACI;AACLnB,0BAAuB,GAAG;GAC1B,MAAMgH,kBAAkB;IACtB5G,IAAI3F,IAAM;IACVqM,YAAY;IACZxG,cAAc;IACf;AACDrD,qBAAkBgK,cAAc,CAAC,GAAGA,WAAWD,gBAAgB,CAAC;;IAGnE,CAACpG,mBAAmB,CAAC;AAExB5H,iBAAgB;AACd,MAAI,CAAC+G,oBAAqB;EAC1B,IAAI0G,cAAY;AAChBxM,qBAAmB8F,qBAAqBd,WAAW,CAACmE,MAAM8D,eAAe;AACvE,OAAI,CAACT,YAAW1J,kBAAiBmK,WAAW;IAC5C;AACF,eAAa;AACXT,iBAAY;;IAEb,CAAC1G,qBAAqBd,WAAW,CAAC;AAErCjG,iBAAgB;AACd,MAAIyF,SAASC,OAAOyI,SAAS,eAC3BhK,2BAA0B,KAAK;IAEhC,CAACsB,SAASC,MAAM,CAAC;CAEpB,MAAM0I,yBAAyBC,QAAQ;AACrCjK,aAAW0G,UAAUuD;;AAIvBrO,iBAAgB;AACd+J,+BAA6B;IAC5B,CAACA,4BAA4B,CAAC;CAEjC,MAAMuE,sBAAsBpO,cAAc;EACxC,MAAMqO,YAAYzK,eAAe0K,MAAMC,UAAUA,MAAMC,aAAa,EAAEC;AACtE,SAAOJ,YAAY,IAAIpC,aAAa,GAAGoC,WAAWK,MAAM,EAAE;IACzD,CAAC9K,cAAc,CAAC;CAEnB,MAAM+K,kCAAkC;AACtC7J,8BAA4B,MAAM;AAClCI,kBAAgB,KAAK;AACrBF,cAAY,GAAG;;CAGjB,MAAM4J,6BAA6BC,YAAYC,eAAe;AAC5D,MAAI,CAACD,cAAc,CAACC,WAAY;EAChC,MAAMC,UAAUC,KAAKC,MAAMJ,WAAW;EACtC,MAAMK,UAAUF,KAAKC,MAAMH,WAAW;EACtC,MAAMxD,OAAO,IAAI6D,IAAI,CAAC,GAAG9D,OAAOC,KAAKyD,QAAQ,EAAE,GAAG1D,OAAOC,KAAK4D,QAAQ,CAAC,CAAC;EAExE,MAAME,UAAU,EAAE;AAClB9D,OAAK9B,SAAS6F,QAAQ;GACpB,MAAMC,WAAWP,QAAQM,QAAQ;GACjC,MAAME,WAAWL,QAAQG,QAAQ;AACjC,OAAIL,KAAKQ,UAAUF,SAAS,KAAKN,KAAKQ,UAAUD,SAAS,CACvDH,SAAQ/I,KAAK;IACXkI,OAAOc;IACPI,eAAeH;IACfI,cAAcH;IACf,CAAC;IAEJ;AACF,SAAOH;;CAGT,MAAMO,gBAAgB;EACpB;GACEC,MAAMzL,YAAYE,SAAS;GAC3BwL,SAAShI;GACTsF,OAAOxJ,EAAE,oCAAoC;IAC3CyD,cAAc;IACdqH,MACE1H,qBAAqB6C,YAAYkG,eACjC1O,iBAAiB2E,WAAU;IAC9B,CAAC;GACFgK,OAAO;GACPC,UACE,sBAAA,cAAA,MAAA,UAAA,MACE,sBAAA,cAAC,oBAAD;IACoBtG;IACH9F;IACC+C;IAChB,gBAAgBkB;IAChB,YAAY1D,YAAYE,SAAS;IACrB0B;IACZ,UAAUuE;IACV,UAAUX,KAAAA;IACV,sBAAsB;IACtB,QAAQlD,gBAAgBuB,uBAAuBiI;IAC/C,YAAY5K;IACZ,kBAAA;IAAgB,CAAA,EAElB,sBAAA,cAAC,iBAAD;IACE,YAAW;IACX,MAAK;IACL,eAAeA,iBAAiBuF,SAASsF,cAAc;IAGxC,EADdvM,EAAE,cAAc,EAAEyD,cAAc,OAAO,CAAC,CAC1B,CACnB;GAEH;EACD;GACEwI,MAAMzL,YAAYE,SAAS;GAC3BwL,SAAShI;GACTsF,OAAOxJ,EAAE,qCAAqC;IAC5CyD,cAAc;IACdqH,MACE1H,qBAAqB6C,YAAYkG,eACjC1O,iBAAiB2E,WAAU;IAC9B,CAAC;GACFgK,OAAO;GACPC,UACE,sBAAA,cAAA,MAAA,UAAA,MACE,sBAAA,cAAC,YAAD;IACE,MAAK;IACL,WAAU;IACV,OAAM;IACN,SAAQ;IACR,OAAM;IAiBI,EAfV,sBAAA,cAAC,YAAD;IACE,SAAS/I;IACT,UAAUI;IACV,cAAc0F,QAAMzF,iBAAiByF,KAAGoD,OAAO;IAAC,CAAA,EAElD,sBAAA,cAAC,iBAAD;IACE,YAAW;IACX,eAAe;AACbrL,iCAA4B,KAAK;AACjCE,iBAAY,MAAM;;IAEpB,eAAc;IAGC,EADdrB,EAAE,qBAAqB,EAAEyD,cAAc,YAAY,CAAC,CACtC,CACP,EACZ,sBAAA,cAAC,aAAD;IACE,aAAaC;IACb,IAAIlE,YAAYC;IAgBL,EAdX,sBAAA,cAAC,oBAAD;IACoBsG;IACH9F;IACC+C;IAChB,gBAAgBkB;IAChB,YAAY1D,YAAYE,SAAS;IACrB0B;IACZ,UAAU4D,KAAAA;IACV,UAAUmB;IACV,sBAAsB3G,YAAYG;IAClC,QAAQmC,gBAAgB2B,uBAAuB6H;IAC/C,YAAY3K;IACZ,kBAAA;IAAgB,CAAA,CAEP,EAEb,sBAAA,cAAC,aAAD;IACE,aAAa+B;IACb,IAAIlE,YAAYE;IASL,EAPX,sBAAA,cAAC,gBAAD;IAEImB;IAEqBI;IACvB,YAAYT,aAAaG;IAAK,CAAA,CAErB,EAEb,sBAAA,cAAC,aAAD;IAAa,aAAa+C;IAAe,IAAIlE,YAAYG;IAS5C,EARX,sBAAA,cAAC,aAAD;IACE,mBAAmBa,aAAaG,MAAMiH;IACzBvG;IACb,0BAA0BF;IACTI;IACHC;IACGC;IAAgB,CAAA,CAExB,EACZiC,kBAAkBlE,YAAYC,iBAC7B,sBAAA,cAAC,iBAAD;IACE,YAAW;IACX,MAAK;IACL,eAAekC,eAAesF,SAASsF,cAAc;IAIxD,EAFIvM,EAAE,eAAe,EAAEyD,cAAc,QAAQ,CAAC,CAE9C,CACH;GAEH;EACD;GACEwI,MAAMzL,YAAYE,SAAS;GAC3BwL,SAAShI;GACTsF,OAAOxJ,EAAE,0CAA0C,EACjDyD,cAAc,iBACf,CAAC;GACF2I,OAAO;GACPC,UACE,sBAAA,cAAC,SAAD;IACE,QAAQtM,QAAQuJ;IAChB,iBAAiB;IACjB,aAAa9I,aAAaG,OAAO8J;IAAqB,CAAA;GAG3D;EACD;GACEwB,MAAMrL;GACNsL,eAAe;AACbrL,wCAAoC,MAAM;;GAE5C2I,OAAOxJ,EAAE,8CAA8C,EACrDyD,cAAc,kBACf,CAAC;GACF2I,OAAO;GACPC,UACE,sBAAA,cAAC,SAAA,OACGrL,oBAAoByL,aACpBpN,oBAAoBqN,iBACpB1L,oBAAoByL,aAClBpN,oBAAoBsN,kBACtB,sBAAA,cAAC,eAAD;IACE,KACE3L,oBAAoB4L,mCAAmC,IACnDC,SACAxB,KAAKC,MACHtK,oBAAoB4L,mCAAmC,IACnDC,OACL,GACD,EACN;IACA,MAAM7M,EAAE,oCAAoC,EAC1CyD,cAAc,eACf,CAAC;IACF,kBAAkB;IAClB,mBAAmB;IACnB,WAAW;IAEd,CAAA,GACCzC,oBAAoByL,aACpBpN,oBAAoBqN,iBACpB1L,oBAAoByL,aAClBpN,oBAAoByN,kBACtB,sBAAA,cAAC,eAAD;IACE,KACE9L,oBAAoB4L,mCAAmC,IACnDG,SACA1B,KAAKC,MACHtK,oBAAoB4L,mCAAmC,IACnDG,OACL,GACD,EACN;IACA,MAAM/M,EAAE,oCAAoC,EAC1CyD,cAAc,eACf,CAAC;IACF,kBAAkB;IAClB,mBAAmB;IACnB,WAAW;IAEd,CAAA,EACAzC,sBACC,sBAAA,cAAC,WAAA,MACEiK,0BACCjK,oBAAoB4L,mCAAmC,IACnDC,QACJ7L,oBAAoB4L,mCAAmC,IACnDG,OACL,EAAE/C,KAAK,EAAEY,OAAAA,SAAOkB,eAAeC,mBAAmB;AACjD,WACE,sBAAA,cAAC,aAAD;KACE,KAAKnB;KACL,OAAOA;KACP,UAAU5K,EAAE,0CAA0C;MACpDyD,cACE;MACFqI;MACAC;MACD,CAAC;KACF,OAAOnB;KACP,CAAA;KAEJ,CAEL,CACM;GAEZ;EACD;GACEqB,MAAM/K;GACNgL,eAAelB,2BAA2B;GAC1CxB,OACEpI,aAAa,QACTpB,EAAE,kBAAkB,EAAEyD,cAAc,YAAY,CAAC,GACjDzD,EAAE,mBAAmB,EAAEyD,cAAc,aAAa,CAAC;GACzD2I,OAAO;GACPC,UACE,sBAAA,cAAC,aAAD;IACE,mBAAmB7L,aAAaG,MAAMiH;IACtC,sBAAsB;AACpBoD,gCAA2B;;IAE7B,MAAM5J;IACQE;IACGG;IAAgB,CAAA;GAGtC;EACF;AAED,QACE,sBAAA,cAAA,MAAA,UAAA,MACGtB,cAAc6J,KAAK/B,cAClB,sBAAA,cAAC,OAAD;EACE,KAAKA,UAAQ1E;EACb,eAAewE,cAAcE,UAAQ1E,GAAG;EACxC,UAAS;EASZ,EAPI0E,UAAQgC,aACLjK,EAAEiI,UAAQgC,YAAY;EACpBxG,cAAcwE,UAAQxE;EACtB,GAAGwE,UAAQiC;EACZ,CAAC,GACFjC,UAAQ+E,QAEf,CAAC,EACDlM,0BACC,sBAAA,cAAC,eAAD;EAAe,MAAK;EAAS,QAAO;EA0BrC,EAzBG,sBAAA,cAAC,OAAD,EAAK,MAAK,QAEL,EADH,sBAAA,cAAC,eAAD;EAAe,MAAK;EAAQ,OAAM;EAAU,MAAK;EAAI,CAAA,CAClD,EACL,sBAAA,cAAC,SAAD,EAAS,SAAQ,SAOR,EANNd,EAAE,4CAA4C;EAC7CyD,cAAc;EACdwJ,QAAQnM,wBAAwBoM;EAChCC,MAAMhO,WAAW2B,wBAAwBsM,WAAW,aAAa;EACjEC,MAAMvM,wBAAwBwM;EAC/B,CAAC,CACK,EACT,sBAAA,cAAC,WAAD;EACE,MAAK;EACL,SAAQ;EACR,MAAK;EACL,UAAUlE,QAAM;AACdnI,yBAAsBH,uBAAuB;AAC7CD,uCAAoC,KAAK;;EAMlC,EAHRb,EAAE,yCAAyC,EAC1CyD,cAAc,gBACf,CAAC,CACO,CAEd,EACD,sBAAA,cAAC,sBAAD;EACcsF;EACZ,gBAAgB9E,UAAU,SAAS;EACjB8B;EACF/C;EAChB,gBAAgBF;EAChB,WAAW;GAAEe;GAAqBzB;GAAY;EAC9C,gBAAgBoD;EACEpF;EAClB,iBAAiBmK;EACOlK;EACxB,WAAW+C,qBAAqB6C,YAAYkG;EAAY,CAAA,EAEzDH,cAAchC,KAAKuD,cAAc;AAChC,SAAO/M,YAAYE,SAAS,YAC1B,sBAAA,cAAC,WAAD;GACE,KAAK6M,WAAW/D;GAChB,MAAM+D,WAAWtB;GACjB,SAASsB,WAAWrB;GACpB,OAAOqB,WAAW/D;GAClB,OAAO+D,WAAWnB;GAGR,EADTmB,WAAWlB,SACF,GAEZ,sBAAA,cAAC,WAAD;GACE,KAAKkB,WAAW/D;GAChB,MAAM+D,WAAWtB;GACjB,eAAesB,WAAWrB;GAC1B,aAAaqB,WAAW/D;GACxB,aAAa+D,WAAWnB;GAI3B,EAFImB,WAAWlB,SAEf;GACD,EAkEF,sBAAA,cAAC,WAAD;EACE,MAAM7L,YAAYE,SAAS;EAC3B,aAAaV,EAAE,iBAAiB,EAAEyD,cAAc,UAAU,CAAC;EAC3D,qBAAqBS,YAAY;EAqBxB,EAnBT,sBAAA,cAAC,SAAD,EAAS,SAAQ,SAIR,EAHNlE,EAAE,0CAA0C,EAC3CyD,cAAc,6CACf,CAAC,CACK,EACT,sBAAA,cAAC,iBAAD;EACE,MAAK;EACL,YAAW;EACX,eAAeoE,eAAerH,YAAYG,KAAK;EAGhC,EADdX,EAAE,iBAAiB,EAAEyD,cAAc,UAAU,CAAC,CAChC,EACjB,sBAAA,cAAC,iBAAD;EACE,MAAK;EACL,YAAW;EACX,eAAeS,YAAY;EAGZ,EADdlE,EAAE,iBAAiB,EAAEyD,cAAc,UAAU,CAAC,CAChC,CACR,CACV"}
@@ -1,4 +1,16 @@
1
- import type { UdpTag } from 'udp-stencil-component-library';
1
+ import type { UdpTag, UdpTagAssociation } from 'udp-stencil-component-library';
2
+ /** Business keys are `<full entity name>|<record id>`; the map is keyed by the id. */
3
+ export declare const tagsForBusinessKey: (tagMap: ReadonlyMap<string, UdpTag[]>, businessObjectKey: unknown) => UdpTag[];
4
+ /**
5
+ * The query for one entity type's tag associations, selected into the
6
+ * `Map<recordId, UdpTag[]>` — shared by `useTags` and by callers that need
7
+ * several entity types at once through `useQueries` (the inquiry tree rows).
8
+ */
9
+ export declare const tagQueryOptions: (entityBusinessKeyPrefix: string) => {
10
+ queryKey: readonly ["udpTagAssociation/search", string];
11
+ queryFn: () => Promise<UdpTagAssociation[]>;
12
+ select: (associations: UdpTagAssociation[]) => Map<string, UdpTag[]>;
13
+ };
2
14
  export interface UseTagsResult {
3
15
  tagMap: ReadonlyMap<string, UdpTag[]>;
4
16
  isLoading: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"useTags.d.ts","sourceRoot":"","sources":["../../../src/udp/tags/useTags.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,MAAM,EAEP,MAAM,yCAAyC,CAAC;AA8DjD,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACtC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,OAAO;;mBAgBnB,CAAC"}
1
+ {"version":3,"file":"useTags.d.ts","sourceRoot":"","sources":["../../../src/udp/tags/useTags.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,MAAM,EACN,iBAAiB,EAClB,MAAM,yCAAyC,CAAC;AA8DjD,sFAAsF;AACtF,eAAO,MAAM,kBAAkB,iFAM9B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,eAAe;;;;CAI1B,CAAC;AAEH,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACtC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,OAAO;;mBAcnB,CAAC"}
@@ -47,6 +47,21 @@ const buildTagMap = (associations) => {
47
47
  }
48
48
  return map;
49
49
  };
50
+ /** Business keys are `<full entity name>|<record id>`; the map is keyed by the id. */
51
+ export const tagsForBusinessKey = (tagMap, businessObjectKey) => {
52
+ const id = typeof businessObjectKey === 'string' ? businessObjectKey.split('|')[1] : undefined;
53
+ return (id && tagMap.get(id)) || [];
54
+ };
55
+ /**
56
+ * The query for one entity type's tag associations, selected into the
57
+ * `Map<recordId, UdpTag[]>` — shared by `useTags` and by callers that need
58
+ * several entity types at once through `useQueries` (the inquiry tree rows).
59
+ */
60
+ export const tagQueryOptions = (entityBusinessKeyPrefix) => ({
61
+ queryKey: [TAG_ASSOCIATION_ENDPOINT, entityBusinessKeyPrefix],
62
+ queryFn: () => fetchTagAssociations(entityBusinessKeyPrefix),
63
+ select: buildTagMap,
64
+ });
50
65
  /**
51
66
  * Fetch and cache tag associations for every record of a single entity type.
52
67
  *
@@ -60,12 +75,7 @@ const buildTagMap = (associations) => {
60
75
  */
61
76
  export const useTags = (entityBusinessKeyPrefix, options) => {
62
77
  var _a;
63
- const query = useQuery({
64
- queryKey: [TAG_ASSOCIATION_ENDPOINT, entityBusinessKeyPrefix],
65
- queryFn: () => fetchTagAssociations(entityBusinessKeyPrefix),
66
- enabled: (options === null || options === void 0 ? void 0 : options.enabled) !== false && !!entityBusinessKeyPrefix,
67
- select: buildTagMap,
68
- });
78
+ const query = useQuery(Object.assign(Object.assign({}, tagQueryOptions(entityBusinessKeyPrefix)), { enabled: (options === null || options === void 0 ? void 0 : options.enabled) !== false && !!entityBusinessKeyPrefix }));
69
79
  return {
70
80
  tagMap: (_a = query.data) !== null && _a !== void 0 ? _a : EMPTY_MAP,
71
81
  isLoading: query.isLoading,
@@ -1 +1 @@
1
- {"version":3,"file":"useTags.js","sourceRoot":"","sources":["../../../src/udp/tags/useTags.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,+CAA+C,CAAC;AAK9E,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAE3D,MAAM,wBAAwB,GAAG,0BAA0B,CAAC;AAE5D,MAAM,mBAAmB,GAAG;IAC1B,UAAU,EAAE,CAAC;IACb,QAAQ,EAAE,GAAG;IACb,cAAc,EAAE,EAAE;IAClB,YAAY,EAAE,EAAE;IAChB,aAAa,EAAE,EAAE;IACjB,YAAY,EAAE,EAAE;IAChB,aAAa,EAAE,EAAE;IACjB,kBAAkB,EAAE,EAAE;IACtB,SAAS,EAAE,IAAI;IACf,qBAAqB,EAAE,CAAC;CACzB,CAAC;AAEF,MAAM,SAAS,GAAkC,IAAI,GAAG,EAAE,CAAC;AAE3D,MAAM,oBAAoB,GAAG,KAAK,EAChC,uBAA+B,EACD,EAAE,CAAC;;;IACjC,MAAM,GAAG,GAAG,CAAC,MAAM,SAAS,CAC1B,aAAa,CAAC,eAAe,EAC7B,wBAAwB,EACxB,EAAE,MAAM,EAAE,MAAM,EAAE,EAClB;QACE,IAAI,kCACC,mBAAmB,KACtB,MAAM,EAAE,IAAI,EACZ,cAAc,EAAE;gBACd;oBACE,WAAW,EAAE,mBAAmB;oBAChC,cAAc,EAAE,YAAY;oBAC5B,WAAW,EAAE,uBAAuB;iBACrC;aACF,GACF;KACF,CACF,CAA8D,CAAC;IAChE,aAAO,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,0CAAE,QAAQ,mCAAI,EAAE,CAAC;AAAA,CAClC,CAAC;AAEF,MAAM,WAAW,GAAG,CAClB,YAAiC,EACV,EAAE,CAAC;;IAC1B,MAAM,GAAG,GAAG,IAAI,GAAG,EAAoB,CAAC;IACxC,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;QAC7B,MAAM,EAAE,GAAG,MAAA,CAAC,CAAC,iBAAiB,0CAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAC9C,MAAM,GAAG,GAAG,CAAC,CAAC,uBAAuB,CAAC;QACtC,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG;YAAE,SAAS;QAC1B,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC7B,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AAAA,CACZ,CAAC;AAQF;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CACrB,uBAA+B,EAC/B,OAA+B,EAChB,EAAE,CAAC;;IAClB,MAAM,KAAK,GAAG,QAAQ,CAAC;QACrB,QAAQ,EAAE,CAAC,wBAAwB,EAAE,uBAAuB,CAAC;QAC7D,OAAO,EAAE,GAAG,EAAE,CAAC,oBAAoB,CAAC,uBAAuB,CAAC;QAC5D,OAAO,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,MAAK,KAAK,IAAI,CAAC,CAAC,uBAAuB;QAChE,MAAM,EAAE,WAAW;KACpB,CAAC,CAAC;IAEH,OAAO;QACL,MAAM,QAAE,KAAK,CAAC,IAAI,mCAAI,SAAS;QAC/B,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,KAAK,EAAE,KAAK,CAAC,KAAK;KACnB,CAAC;AAAA,CACH,CAAC"}
1
+ {"version":3,"file":"useTags.js","sourceRoot":"","sources":["../../../src/udp/tags/useTags.ts"],"names":[],"mappings":"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"}
@@ -40,6 +40,21 @@ const buildTagMap = (associations) => {
40
40
  }
41
41
  return map;
42
42
  };
43
+ /** Business keys are `<full entity name>|<record id>`; the map is keyed by the id. */
44
+ const tagsForBusinessKey = (tagMap, businessObjectKey) => {
45
+ const id = typeof businessObjectKey === "string" ? businessObjectKey.split("|")[1] : void 0;
46
+ return id && tagMap.get(id) || [];
47
+ };
48
+ /**
49
+ * The query for one entity type's tag associations, selected into the
50
+ * `Map<recordId, UdpTag[]>` — shared by `useTags` and by callers that need
51
+ * several entity types at once through `useQueries` (the inquiry tree rows).
52
+ */
53
+ const tagQueryOptions = (entityBusinessKeyPrefix) => ({
54
+ queryKey: [TAG_ASSOCIATION_ENDPOINT, entityBusinessKeyPrefix],
55
+ queryFn: () => fetchTagAssociations(entityBusinessKeyPrefix),
56
+ select: buildTagMap
57
+ });
43
58
  /**
44
59
  * Fetch and cache tag associations for every record of a single entity type.
45
60
  *
@@ -52,50 +67,41 @@ const buildTagMap = (associations) => {
52
67
  * single request and stay in sync on invalidation.
53
68
  */
54
69
  const useTags = (entityBusinessKeyPrefix, options) => {
55
- const $ = c(11);
70
+ const $ = c(9);
56
71
  let t0;
57
- let t1;
58
72
  if ($[0] !== entityBusinessKeyPrefix) {
59
- t0 = [TAG_ASSOCIATION_ENDPOINT, entityBusinessKeyPrefix];
60
- t1 = () => fetchTagAssociations(entityBusinessKeyPrefix);
73
+ t0 = tagQueryOptions(entityBusinessKeyPrefix);
61
74
  $[0] = entityBusinessKeyPrefix;
62
75
  $[1] = t0;
63
- $[2] = t1;
64
- } else {
65
- t0 = $[1];
66
- t1 = $[2];
67
- }
68
- const t2 = options?.enabled !== false && !!entityBusinessKeyPrefix;
69
- let t3;
70
- if ($[3] !== t0 || $[4] !== t1 || $[5] !== t2) {
71
- t3 = {
72
- queryKey: t0,
73
- queryFn: t1,
74
- enabled: t2,
75
- select: buildTagMap
76
+ } else t0 = $[1];
77
+ const t1 = options?.enabled !== false && !!entityBusinessKeyPrefix;
78
+ let t2;
79
+ if ($[2] !== t0 || $[3] !== t1) {
80
+ t2 = {
81
+ ...t0,
82
+ enabled: t1
76
83
  };
77
- $[3] = t0;
78
- $[4] = t1;
79
- $[5] = t2;
80
- $[6] = t3;
81
- } else t3 = $[6];
82
- const query = useQuery(t3);
83
- const t4 = query.data ?? EMPTY_MAP;
84
- let t5;
85
- if ($[7] !== query.error || $[8] !== query.isLoading || $[9] !== t4) {
86
- t5 = {
87
- tagMap: t4,
84
+ $[2] = t0;
85
+ $[3] = t1;
86
+ $[4] = t2;
87
+ } else t2 = $[4];
88
+ const query = useQuery(t2);
89
+ const t3 = query.data ?? EMPTY_MAP;
90
+ let t4;
91
+ if ($[5] !== query.error || $[6] !== query.isLoading || $[7] !== t3) {
92
+ t4 = {
93
+ tagMap: t3,
88
94
  isLoading: query.isLoading,
89
95
  error: query.error
90
96
  };
91
- $[7] = query.error;
92
- $[8] = query.isLoading;
93
- $[9] = t4;
94
- $[10] = t5;
95
- } else t5 = $[10];
96
- return t5;
97
+ $[5] = query.error;
98
+ $[6] = query.isLoading;
99
+ $[7] = t3;
100
+ $[8] = t4;
101
+ } else t4 = $[8];
102
+ return t4;
97
103
  };
98
104
  //#endregion
99
- export { useTags };
105
+ export { tagQueryOptions, tagsForBusinessKey, useTags };
100
106
 
101
107
  //# sourceMappingURL=useTags.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useTags.mjs","names":["useQuery","ConfigService","UdpTag","UdpTagAssociation","apiMutate","TAG_ASSOCIATION_ENDPOINT","BASE_SEARCH_PAYLOAD","pageNumber","pageSize","filterElements","filterGroups","orderElements","groupingType","groupProperty","groupOperationList","eagerLoad","logicalSearchOperator","EMPTY_MAP","ReadonlyMap","Map","fetchTagAssociations","entityBusinessKeyPrefix","Promise","res","productV1ApiUrl","method","data","getAll","searchField","searchOperator","searchValue","pageList","buildTagMap","associations","map","a","id","entityBusinessKey","split","tag","udpTagAssociationUdpTag","existing","get","push","set","UseTagsResult","tagMap","isLoading","error","Error","useTags","options","$","_c","t0","t1","t2","enabled","t3","queryKey","queryFn","select","query","t4","t5"],"sources":["../../../src/udp/tags/useTags.ts"],"sourcesContent":["import { useQuery } from '@tanstack/react-query';\nimport { ConfigService } from '@univerus/udp-react-stencil-component-library';\nimport type {\n UdpTag,\n UdpTagAssociation,\n} from '@univerus/udp-stencil-component-library';\nimport { apiMutate } from '../../utilities/useAxiosMutate';\n\nconst TAG_ASSOCIATION_ENDPOINT = 'udpTagAssociation/search';\n\nconst BASE_SEARCH_PAYLOAD = {\n pageNumber: 1,\n pageSize: 200,\n filterElements: [],\n filterGroups: [],\n orderElements: [],\n groupingType: '',\n groupProperty: [],\n groupOperationList: [],\n eagerLoad: true,\n logicalSearchOperator: 1,\n};\n\nconst EMPTY_MAP: ReadonlyMap<string, UdpTag[]> = new Map();\n\nconst fetchTagAssociations = async (\n entityBusinessKeyPrefix: string,\n): Promise<UdpTagAssociation[]> => {\n const res = (await apiMutate(\n ConfigService.productV1ApiUrl,\n TAG_ASSOCIATION_ENDPOINT,\n { method: 'post' },\n {\n data: {\n ...BASE_SEARCH_PAYLOAD,\n getAll: true,\n filterElements: [\n {\n searchField: 'entityBusinessKey',\n searchOperator: 'STARTSWITH',\n searchValue: entityBusinessKeyPrefix,\n },\n ],\n },\n },\n )) as { data?: { pageList?: UdpTagAssociation[] } } | undefined;\n return res?.data?.pageList ?? [];\n};\n\nconst buildTagMap = (\n associations: UdpTagAssociation[],\n): Map<string, UdpTag[]> => {\n const map = new Map<string, UdpTag[]>();\n for (const a of associations) {\n const id = a.entityBusinessKey?.split('|')[1];\n const tag = a.udpTagAssociationUdpTag;\n if (!id || !tag) continue;\n const existing = map.get(id);\n if (existing) {\n existing.push(tag);\n } else {\n map.set(id, [tag]);\n }\n }\n return map;\n};\n\nexport interface UseTagsResult {\n tagMap: ReadonlyMap<string, UdpTag[]>;\n isLoading: boolean;\n error: Error | null;\n}\n\n/**\n * Fetch and cache tag associations for every record of a single entity type.\n *\n * Pass a type-only prefix ending in `|` — e.g.\n * `Univerus.Unity.Starter.Project.Models.ChargeCodeTask|`.\n *\n * Returns a `Map<entityId, UdpTag[]>` keyed by the GUID portion of the\n * business key. The query is shared across the app via TanStack Query, so\n * multiple components calling this hook with the same prefix dedupe to a\n * single request and stay in sync on invalidation.\n */\nexport const useTags = (\n entityBusinessKeyPrefix: string,\n options?: { enabled?: boolean },\n): UseTagsResult => {\n const query = useQuery({\n queryKey: [TAG_ASSOCIATION_ENDPOINT, entityBusinessKeyPrefix],\n queryFn: () => fetchTagAssociations(entityBusinessKeyPrefix),\n enabled: options?.enabled !== false && !!entityBusinessKeyPrefix,\n select: buildTagMap,\n });\n\n return {\n tagMap: query.data ?? EMPTY_MAP,\n isLoading: query.isLoading,\n error: query.error,\n };\n};\n"],"mappings":";;;;;AAQA,MAAMK,2BAA2B;AAEjC,MAAMC,sBAAsB;CAC1BC,YAAY;CACZC,UAAU;CACVC,gBAAgB,EAAE;CAClBC,cAAc,EAAE;CAChBC,eAAe,EAAE;CACjBC,cAAc;CACdC,eAAe,EAAE;CACjBC,oBAAoB,EAAE;CACtBC,WAAW;CACXC,uBAAuB;CACxB;AAED,MAAMC,4BAA2C,IAAIE,KAAK;AAE1D,MAAMC,uBAAuB,OAC3BC,4BACiC;AAmBjC,SAlBa,MAAMjB,UACjBH,cAAcuB,iBACdnB,0BACA,EAAEoB,QAAQ,QAAQ,EAClB,EACEC,MAAM;EACJ,GAAGpB;EACHqB,QAAQ;EACRlB,gBAAgB,CACd;GACEmB,aAAa;GACbC,gBAAgB;GAChBC,aAAaT;GACd,CAAA;EAEL,EAEJ,CAAC,GACWK,MAAMK,YAAY,EAAE;;AAGlC,MAAMC,eACJC,iBAC0B;CAC1B,MAAMC,sBAAM,IAAIf,KAAuB;AACvC,MAAK,MAAMgB,KAAKF,cAAc;EAC5B,MAAMG,KAAKD,EAAEE,mBAAmBC,MAAM,IAAI,CAAC;EAC3C,MAAMC,MAAMJ,EAAEK;AACd,MAAI,CAACJ,MAAM,CAACG,IAAK;EACjB,MAAME,WAAWP,IAAIQ,IAAIN,GAAG;AAC5B,MAAIK,SACFA,UAASE,KAAKJ,IAAI;MAElBL,KAAIU,IAAIR,IAAI,CAACG,IAAI,CAAC;;AAGtB,QAAOL;;;;;;;;;;;;;AAoBT,MAAagB,WAAU7B,yBAAA8B,YAAA;CAAA,MAAAC,IAAAC,EAAA,GAAA;CAAA,IAAAC;CAAA,IAAAC;AAAA,KAAAH,EAAA,OAAA/B,yBAAA;AAKTiC,OAAA,CAACjD,0BAA0BgB,wBAAwB;AACpDkC,aAAMnC,qBAAqBC,wBAAwB;AAAA+B,IAAA,KAAA/B;AAAA+B,IAAA,KAAAE;AAAAF,IAAA,KAAAG;QAAA;AAAAD,OAAAF,EAAA;AAAAG,OAAAH,EAAA;;CACnD,MAAAI,KAAAL,SAAOM,YAAc,SAArB,CAA+B,CAACpC;CAAuB,IAAAqC;AAAA,KAAAN,EAAA,OAAAE,MAAAF,EAAA,OAAAG,MAAAH,EAAA,OAAAI,IAAA;AAH3CE,OAAA;GAAAC,UACXL;GAAmDM,SACpDL;GAAmDE,SACnDD;GAAuDK,QACxD7B;GACT;AAAAoB,IAAA,KAAAE;AAAAF,IAAA,KAAAG;AAAAH,IAAA,KAAAI;AAAAJ,IAAA,KAAAM;OAAAA,MAAAN,EAAA;CALD,MAAAU,QAAc9D,SAAS0D,GAKrB;CAGQ,MAAAK,KAAAD,MAAKpC,QAALT;CAAuB,IAAA+C;AAAA,KAAAZ,EAAA,OAAAU,MAAAd,SAAAI,EAAA,OAAAU,MAAAf,aAAAK,EAAA,OAAAW,IAAA;AAD1BC,OAAA;GAAAlB,QACGiB;GAAuBhB,WACpBe,MAAKf;GAAUC,OACnBc,MAAKd;GACb;AAAAI,IAAA,KAAAU,MAAAd;AAAAI,IAAA,KAAAU,MAAAf;AAAAK,IAAA,KAAAW;AAAAX,IAAA,MAAAY;OAAAA,MAAAZ,EAAA;AAAA,QAJMY"}
1
+ {"version":3,"file":"useTags.mjs","names":["useQuery","ConfigService","UdpTag","UdpTagAssociation","apiMutate","TAG_ASSOCIATION_ENDPOINT","BASE_SEARCH_PAYLOAD","pageNumber","pageSize","filterElements","filterGroups","orderElements","groupingType","groupProperty","groupOperationList","eagerLoad","logicalSearchOperator","EMPTY_MAP","ReadonlyMap","Map","fetchTagAssociations","entityBusinessKeyPrefix","Promise","res","productV1ApiUrl","method","data","getAll","searchField","searchOperator","searchValue","pageList","buildTagMap","associations","map","a","id","entityBusinessKey","split","tag","udpTagAssociationUdpTag","existing","get","push","set","tagsForBusinessKey","tagMap","businessObjectKey","undefined","tagQueryOptions","queryKey","const","queryFn","select","UseTagsResult","isLoading","error","Error","useTags","options","$","_c","t0","t1","enabled","t2","query","t3","t4"],"sources":["../../../src/udp/tags/useTags.ts"],"sourcesContent":["import { useQuery } from '@tanstack/react-query';\nimport { ConfigService } from '@univerus/udp-react-stencil-component-library';\nimport type {\n UdpTag,\n UdpTagAssociation,\n} from '@univerus/udp-stencil-component-library';\nimport { apiMutate } from '../../utilities/useAxiosMutate';\n\nconst TAG_ASSOCIATION_ENDPOINT = 'udpTagAssociation/search';\n\nconst BASE_SEARCH_PAYLOAD = {\n pageNumber: 1,\n pageSize: 200,\n filterElements: [],\n filterGroups: [],\n orderElements: [],\n groupingType: '',\n groupProperty: [],\n groupOperationList: [],\n eagerLoad: true,\n logicalSearchOperator: 1,\n};\n\nconst EMPTY_MAP: ReadonlyMap<string, UdpTag[]> = new Map();\n\nconst fetchTagAssociations = async (\n entityBusinessKeyPrefix: string,\n): Promise<UdpTagAssociation[]> => {\n const res = (await apiMutate(\n ConfigService.productV1ApiUrl,\n TAG_ASSOCIATION_ENDPOINT,\n { method: 'post' },\n {\n data: {\n ...BASE_SEARCH_PAYLOAD,\n getAll: true,\n filterElements: [\n {\n searchField: 'entityBusinessKey',\n searchOperator: 'STARTSWITH',\n searchValue: entityBusinessKeyPrefix,\n },\n ],\n },\n },\n )) as { data?: { pageList?: UdpTagAssociation[] } } | undefined;\n return res?.data?.pageList ?? [];\n};\n\nconst buildTagMap = (\n associations: UdpTagAssociation[],\n): Map<string, UdpTag[]> => {\n const map = new Map<string, UdpTag[]>();\n for (const a of associations) {\n const id = a.entityBusinessKey?.split('|')[1];\n const tag = a.udpTagAssociationUdpTag;\n if (!id || !tag) continue;\n const existing = map.get(id);\n if (existing) {\n existing.push(tag);\n } else {\n map.set(id, [tag]);\n }\n }\n return map;\n};\n\n/** Business keys are `<full entity name>|<record id>`; the map is keyed by the id. */\nexport const tagsForBusinessKey = (\n tagMap: ReadonlyMap<string, UdpTag[]>,\n businessObjectKey: unknown,\n): UdpTag[] => {\n const id = typeof businessObjectKey === 'string' ? businessObjectKey.split('|')[1] : undefined;\n return (id && tagMap.get(id)) || [];\n};\n\n/**\n * The query for one entity type's tag associations, selected into the\n * `Map<recordId, UdpTag[]>` — shared by `useTags` and by callers that need\n * several entity types at once through `useQueries` (the inquiry tree rows).\n */\nexport const tagQueryOptions = (entityBusinessKeyPrefix: string) => ({\n queryKey: [TAG_ASSOCIATION_ENDPOINT, entityBusinessKeyPrefix] as const,\n queryFn: () => fetchTagAssociations(entityBusinessKeyPrefix),\n select: buildTagMap,\n});\n\nexport interface UseTagsResult {\n tagMap: ReadonlyMap<string, UdpTag[]>;\n isLoading: boolean;\n error: Error | null;\n}\n\n/**\n * Fetch and cache tag associations for every record of a single entity type.\n *\n * Pass a type-only prefix ending in `|` — e.g.\n * `Univerus.Unity.Starter.Project.Models.ChargeCodeTask|`.\n *\n * Returns a `Map<entityId, UdpTag[]>` keyed by the GUID portion of the\n * business key. The query is shared across the app via TanStack Query, so\n * multiple components calling this hook with the same prefix dedupe to a\n * single request and stay in sync on invalidation.\n */\nexport const useTags = (\n entityBusinessKeyPrefix: string,\n options?: { enabled?: boolean },\n): UseTagsResult => {\n const query = useQuery({\n ...tagQueryOptions(entityBusinessKeyPrefix),\n enabled: options?.enabled !== false && !!entityBusinessKeyPrefix,\n });\n\n return {\n tagMap: query.data ?? EMPTY_MAP,\n isLoading: query.isLoading,\n error: query.error,\n };\n};\n"],"mappings":";;;;;AAQA,MAAMK,2BAA2B;AAEjC,MAAMC,sBAAsB;CAC1BC,YAAY;CACZC,UAAU;CACVC,gBAAgB,EAAE;CAClBC,cAAc,EAAE;CAChBC,eAAe,EAAE;CACjBC,cAAc;CACdC,eAAe,EAAE;CACjBC,oBAAoB,EAAE;CACtBC,WAAW;CACXC,uBAAuB;CACxB;AAED,MAAMC,4BAA2C,IAAIE,KAAK;AAE1D,MAAMC,uBAAuB,OAC3BC,4BACiC;AAmBjC,SAlBa,MAAMjB,UACjBH,cAAcuB,iBACdnB,0BACA,EAAEoB,QAAQ,QAAQ,EAClB,EACEC,MAAM;EACJ,GAAGpB;EACHqB,QAAQ;EACRlB,gBAAgB,CACd;GACEmB,aAAa;GACbC,gBAAgB;GAChBC,aAAaT;GACd,CAAA;EAEL,EAEJ,CAAC,GACWK,MAAMK,YAAY,EAAE;;AAGlC,MAAMC,eACJC,iBAC0B;CAC1B,MAAMC,sBAAM,IAAIf,KAAuB;AACvC,MAAK,MAAMgB,KAAKF,cAAc;EAC5B,MAAMG,KAAKD,EAAEE,mBAAmBC,MAAM,IAAI,CAAC;EAC3C,MAAMC,MAAMJ,EAAEK;AACd,MAAI,CAACJ,MAAM,CAACG,IAAK;EACjB,MAAME,WAAWP,IAAIQ,IAAIN,GAAG;AAC5B,MAAIK,SACFA,UAASE,KAAKJ,IAAI;MAElBL,KAAIU,IAAIR,IAAI,CAACG,IAAI,CAAC;;AAGtB,QAAOL;;;AAIT,MAAaW,sBACXC,QACAC,sBACa;CACb,MAAMX,KAAK,OAAOW,sBAAsB,WAAWA,kBAAkBT,MAAM,IAAI,CAAC,KAAKU,KAAAA;AACrF,QAAQZ,MAAMU,OAAOJ,IAAIN,GAAG,IAAK,EAAE;;;;;;;AAQrC,MAAaa,mBAAmB5B,6BAAqC;CACnE6B,UAAU,CAAC7C,0BAA0BgB,wBAAwB;CAC7D+B,eAAehC,qBAAqBC,wBAAwB;CAC5DgC,QAAQrB;CACT;;;;;;;;;;;;AAmBD,MAAa0B,WAAUrC,yBAAAsC,YAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAAA,IAAAC;AAAA,KAAAF,EAAA,OAAAvC,yBAAA;AAKhByC,OAAAb,gBAAgB5B,wBAAwB;AAAAuC,IAAA,KAAAvC;AAAAuC,IAAA,KAAAE;OAAAA,MAAAF,EAAA;CAClC,MAAAG,KAAAJ,SAAOK,YAAc,SAArB,CAA+B,CAAC3C;CAAuB,IAAA4C;AAAA,KAAAL,EAAA,OAAAE,MAAAF,EAAA,OAAAG,IAAA;AAF3CE,OAAA;GAAA,GAClBH;GAAwCE,SAClCD;GACV;AAAAH,IAAA,KAAAE;AAAAF,IAAA,KAAAG;AAAAH,IAAA,KAAAK;OAAAA,MAAAL,EAAA;CAHD,MAAAM,QAAclE,SAASiE,GAGrB;CAGQ,MAAAE,KAAAD,MAAKxC,QAALT;CAAuB,IAAAmD;AAAA,KAAAR,EAAA,OAAAM,MAAAV,SAAAI,EAAA,OAAAM,MAAAX,aAAAK,EAAA,OAAAO,IAAA;AAD1BC,OAAA;GAAAtB,QACGqB;GAAuBZ,WACpBW,MAAKX;GAAUC,OACnBU,MAAKV;GACb;AAAAI,IAAA,KAAAM,MAAAV;AAAAI,IAAA,KAAAM,MAAAX;AAAAK,IAAA,KAAAO;AAAAP,IAAA,KAAAQ;OAAAA,MAAAR,EAAA;AAAA,QAJMQ"}
@@ -1,8 +1,8 @@
1
1
  import { GridExcelStyleEnums } from '../../enums/unitySystemEnums';
2
2
  export declare const useDateStringColumnDef: (includeTime?: boolean, timeZone?: any, includeTimeZoneOffset?: boolean) => {
3
- filter?: undefined;
4
3
  valueFormatter?: undefined;
5
4
  cellClass?: undefined;
5
+ filter?: undefined;
6
6
  filterParams?: undefined;
7
7
  } | {
8
8
  valueFormatter: (params: any) => string;
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Request de-duplication for configuration reads (api catalog metadata,
3
+ * promoted methods, ...). Config data changes rarely, so the same URL should be
4
+ * fetched at most once per session and shared by every consumer.
5
+ *
6
+ * axios-hooks already keeps a module level LRU of *completed* responses, but it
7
+ * has no in-flight de-duplication: N components mounting at the same time with
8
+ * the same request config all miss the cache and all issue a request. The
9
+ * wrapper installed here closes that gap without changing behaviour for
10
+ * anything that does not opt in.
11
+ */
12
+ /**
13
+ * Marker added to an axios config by `useAxiosGet` when the call site opted in
14
+ * to caching. Only flagged requests are de-duplicated.
15
+ */
16
+ export declare const DEDUPE_CONFIG_FLAG = "udpDedupeConfigRequest";
17
+ /**
18
+ * Installs the de-duplicating request function on axios-hooks. Idempotent, and
19
+ * a pass-through for every request that is not flagged for de-duplication.
20
+ */
21
+ export declare const enableConfigRequestDedupe: () => void;
22
+ /**
23
+ * Session cache + in-flight guard for config reads that do not go through
24
+ * axios-hooks (POST based catalog lookups, for instance).
25
+ * @template T
26
+ * @param {string} key - Stable identity of the read (url or id tuple).
27
+ * @param {() => Promise<T>} request - Issues the request on a cache miss.
28
+ * @returns {Promise<T>}
29
+ */
30
+ export declare const fetchConfigOnce: <T>(key: string, request: () => Promise<T>) => Promise<T>;
31
+ //# sourceMappingURL=configRequestDedupe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configRequestDedupe.d.ts","sourceRoot":"","sources":["../../src/utilities/configRequestDedupe.js"],"names":[],"mappings":"AAGA;;;;;;;;;;GAUG;AAEH;;;GAGG;AACH,eAAO,MAAM,kBAAkB,2BAA2B,CAAC;AA2C3D;;;GAGG;AACH,eAAO,MAAM,yBAAyB,YAQrC,CAAC;AAOF;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,GALf,CAAC,uDA0Bb,CAAC"}