@ynput/ayon-frontend-shared 0.2.39 → 0.2.41

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 (436) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +24 -22
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/api.cjs.js +1 -1
  5. package/dist/api.es.js +256 -248
  6. package/dist/api.es.js.map +1 -1
  7. package/dist/index.cjs.js +1 -1
  8. package/dist/index.es.js +11 -9
  9. package/dist/index.es.js.map +1 -1
  10. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js +1 -1
  11. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js.map +1 -1
  12. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js +16 -16
  13. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js.map +1 -1
  14. package/dist/shared/src/api/queries/config/getConfig.cjs.js +2 -0
  15. package/dist/shared/src/api/queries/config/getConfig.cjs.js.map +1 -0
  16. package/dist/shared/src/api/queries/config/getConfig.es.js +111 -0
  17. package/dist/shared/src/api/queries/config/getConfig.es.js.map +1 -0
  18. package/dist/shared/src/api/queries/config/updateConfig.cjs.js +2 -0
  19. package/dist/shared/src/api/queries/config/updateConfig.cjs.js.map +1 -0
  20. package/dist/shared/src/api/queries/config/updateConfig.es.js +13 -0
  21. package/dist/shared/src/api/queries/config/updateConfig.es.js.map +1 -0
  22. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js +1 -1
  23. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
  24. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js +5 -3
  25. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
  26. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js +1 -1
  27. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js.map +1 -1
  28. package/dist/shared/src/api/queries/entities/updateEntity.es.js +5 -3
  29. package/dist/shared/src/api/queries/entities/updateEntity.es.js.map +1 -1
  30. package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js +1 -1
  31. package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js.map +1 -1
  32. package/dist/shared/src/api/queries/links/getEntityLinks.es.js +106 -86
  33. package/dist/shared/src/api/queries/links/getEntityLinks.es.js.map +1 -1
  34. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +1 -1
  35. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
  36. package/dist/shared/src/api/queries/overview/updateOverview.es.js +68 -66
  37. package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
  38. package/dist/shared/src/api/queries/users/getUsers.cjs.js +2 -2
  39. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  40. package/dist/shared/src/api/queries/users/getUsers.es.js +34 -32
  41. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  42. package/dist/shared/src/components/AddonLoadingScreen/AddonLoadingScreen.cjs.js +8 -7
  43. package/dist/shared/src/components/AddonLoadingScreen/AddonLoadingScreen.cjs.js.map +1 -1
  44. package/dist/shared/src/components/AddonLoadingScreen/AddonLoadingScreen.es.js +24 -20
  45. package/dist/shared/src/components/AddonLoadingScreen/AddonLoadingScreen.es.js.map +1 -1
  46. package/dist/shared/src/components/Chips/Chips.cjs.js +10 -6
  47. package/dist/shared/src/components/Chips/Chips.cjs.js.map +1 -1
  48. package/dist/shared/src/components/Chips/Chips.es.js +44 -38
  49. package/dist/shared/src/components/Chips/Chips.es.js.map +1 -1
  50. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +1 -1
  51. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
  52. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +4 -2
  53. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +1 -1
  54. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
  55. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  56. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +4 -2
  57. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  58. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
  59. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
  60. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +4 -2
  61. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
  62. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +1 -1
  63. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
  64. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +4 -2
  65. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
  66. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
  67. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
  68. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +4 -2
  69. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
  70. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  71. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  72. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +4 -2
  73. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  74. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
  75. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
  76. package/dist/shared/src/components/Feedback/FeedbackContext.es.js +6 -4
  77. package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
  78. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
  79. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
  80. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +4 -2
  81. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
  82. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js +1 -1
  83. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js.map +1 -1
  84. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js +28 -25
  85. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js.map +1 -1
  86. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js.map +1 -1
  87. package/dist/shared/src/components/LinksManager/LinksManager.es.js.map +1 -1
  88. package/dist/shared/src/components/LinksManager/LinksManager.styled.cjs.js +5 -0
  89. package/dist/shared/src/components/LinksManager/LinksManager.styled.cjs.js.map +1 -1
  90. package/dist/shared/src/components/LinksManager/LinksManager.styled.es.js +5 -0
  91. package/dist/shared/src/components/LinksManager/LinksManager.styled.es.js.map +1 -1
  92. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  93. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  94. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +4 -2
  95. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  96. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
  97. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
  98. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +4 -2
  99. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
  100. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  101. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  102. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +4 -2
  103. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  104. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +1 -1
  105. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  106. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +6 -4
  107. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  108. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  109. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  110. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +4 -2
  111. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  112. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
  113. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  114. package/dist/shared/src/components/RenameForm/RenameForm.es.js +4 -2
  115. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  116. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js +1 -1
  117. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js.map +1 -1
  118. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js +4 -2
  119. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js.map +1 -1
  120. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  121. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  122. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +4 -2
  123. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  124. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  125. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  126. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +5 -3
  127. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  128. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  129. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  130. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +4 -2
  131. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  132. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +1 -1
  133. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -1
  134. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +4 -2
  135. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js.map +1 -1
  136. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  137. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  138. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +8 -6
  139. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  140. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
  141. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  142. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +4 -2
  143. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  144. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
  145. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  146. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +4 -2
  147. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  148. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
  149. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  150. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +6 -4
  151. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  152. package/dist/shared/src/components/Watchers/Watchers.cjs.js +1 -1
  153. package/dist/shared/src/components/Watchers/Watchers.cjs.js.map +1 -1
  154. package/dist/shared/src/components/Watchers/Watchers.es.js +4 -2
  155. package/dist/shared/src/components/Watchers/Watchers.es.js.map +1 -1
  156. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  157. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  158. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +4 -2
  159. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  160. package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
  161. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  162. package/dist/shared/src/containers/Actions/Actions.es.js +4 -2
  163. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  164. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  165. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  166. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +4 -2
  167. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  168. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  169. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  170. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +4 -2
  171. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  172. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  173. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  174. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +4 -2
  175. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  176. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  177. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  178. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +5 -3
  179. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  180. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  181. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  182. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +4 -2
  183. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  184. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
  185. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  186. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +4 -2
  187. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  188. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js +1 -1
  189. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js.map +1 -1
  190. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js +4 -2
  191. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js.map +1 -1
  192. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
  193. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  194. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +4 -2
  195. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  196. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  197. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  198. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +4 -2
  199. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  200. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  201. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  202. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +4 -2
  203. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  204. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  205. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  206. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +4 -2
  207. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  208. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  209. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  210. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +4 -2
  211. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  212. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
  213. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
  214. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +4 -2
  215. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
  216. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  217. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  218. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +4 -2
  219. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  220. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
  221. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
  222. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +4 -2
  223. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
  224. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +1 -1
  225. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  226. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +4 -2
  227. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  228. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  229. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  230. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +4 -2
  231. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  232. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
  233. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  234. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +7 -5
  235. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  236. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +1 -1
  237. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
  238. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +4 -2
  239. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
  240. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  241. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  242. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +4 -2
  243. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  244. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  245. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  246. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +4 -2
  247. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  248. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
  249. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  250. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +4 -2
  251. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  252. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  253. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  254. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +4 -2
  255. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  256. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  257. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  258. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +4 -2
  259. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  260. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
  261. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  262. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +6 -4
  263. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  264. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  265. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  266. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +4 -2
  267. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  268. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  269. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  270. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +7 -5
  271. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  272. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  273. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  274. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +4 -2
  275. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  276. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  277. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  278. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +4 -2
  279. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  280. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  281. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  282. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +4 -2
  283. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  284. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  285. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  286. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +4 -2
  287. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  288. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  289. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  290. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +30 -28
  291. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  292. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  293. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  294. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +4 -2
  295. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  296. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  297. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
  298. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +4 -2
  299. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
  300. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  301. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  302. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +4 -2
  303. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  304. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  305. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  306. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +4 -2
  307. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  308. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  309. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  310. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +4 -2
  311. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  312. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  313. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  314. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +4 -2
  315. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  316. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  317. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  318. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +15 -13
  319. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  320. package/dist/shared/src/containers/ProjectTreeTable/utils/linksToTableData.cjs.js +1 -1
  321. package/dist/shared/src/containers/ProjectTreeTable/utils/linksToTableData.cjs.js.map +1 -1
  322. package/dist/shared/src/containers/ProjectTreeTable/utils/linksToTableData.es.js +34 -21
  323. package/dist/shared/src/containers/ProjectTreeTable/utils/linksToTableData.es.js.map +1 -1
  324. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  325. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  326. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +31 -28
  327. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  328. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  329. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  330. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +4 -2
  331. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  332. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  333. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  334. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +4 -2
  335. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  336. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  337. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  338. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +4 -2
  339. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  340. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
  341. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
  342. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +4 -2
  343. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
  344. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
  345. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  346. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +6 -4
  347. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  348. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
  349. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
  350. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +4 -2
  351. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
  352. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js +1 -1
  353. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js.map +1 -1
  354. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js +4 -2
  355. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js.map +1 -1
  356. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js +1 -1
  357. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js.map +1 -1
  358. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js +4 -2
  359. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js.map +1 -1
  360. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js +1 -1
  361. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js.map +1 -1
  362. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js +4 -2
  363. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js.map +1 -1
  364. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
  365. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
  366. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +4 -2
  367. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
  368. package/dist/shared/src/context/AddonProjectContext.cjs.js +1 -1
  369. package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
  370. package/dist/shared/src/context/AddonProjectContext.es.js +6 -4
  371. package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
  372. package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
  373. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  374. package/dist/shared/src/context/DetailsPanelContext.es.js +6 -4
  375. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  376. package/dist/shared/src/context/GlobalContext.cjs.js +1 -1
  377. package/dist/shared/src/context/GlobalContext.cjs.js.map +1 -1
  378. package/dist/shared/src/context/GlobalContext.es.js +6 -4
  379. package/dist/shared/src/context/GlobalContext.es.js.map +1 -1
  380. package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
  381. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  382. package/dist/shared/src/context/PowerpackContext.es.js +8 -6
  383. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  384. package/dist/shared/src/context/ProjectContext.cjs.js +1 -1
  385. package/dist/shared/src/context/ProjectContext.cjs.js.map +1 -1
  386. package/dist/shared/src/context/ProjectContext.es.js +44 -38
  387. package/dist/shared/src/context/ProjectContext.es.js.map +1 -1
  388. package/dist/shared/src/context/ProjectFoldersContext.cjs.js +1 -1
  389. package/dist/shared/src/context/ProjectFoldersContext.cjs.js.map +1 -1
  390. package/dist/shared/src/context/ProjectFoldersContext.es.js +6 -4
  391. package/dist/shared/src/context/ProjectFoldersContext.es.js.map +1 -1
  392. package/dist/shared/src/context/RemoteModulesContext.cjs.js +1 -1
  393. package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
  394. package/dist/shared/src/context/RemoteModulesContext.es.js +6 -4
  395. package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
  396. package/dist/shared/src/context/UriContext.cjs.js +1 -1
  397. package/dist/shared/src/context/UriContext.cjs.js.map +1 -1
  398. package/dist/shared/src/context/UriContext.es.js +7 -5
  399. package/dist/shared/src/context/UriContext.es.js.map +1 -1
  400. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  401. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  402. package/dist/shared/src/context/WebsocketContext.es.js +6 -4
  403. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  404. package/dist/shared/src/hooks/useActionTriggers.cjs.js +1 -1
  405. package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
  406. package/dist/shared/src/hooks/useActionTriggers.es.js +4 -2
  407. package/dist/shared/src/hooks/useActionTriggers.es.js.map +1 -1
  408. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
  409. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  410. package/dist/shared/src/hooks/useEntityUpdate.es.js +4 -2
  411. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  412. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js +1 -1
  413. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js.map +1 -1
  414. package/dist/shared/src/hooks/useGetEntityGroups.es.js +4 -2
  415. package/dist/shared/src/hooks/useGetEntityGroups.es.js.map +1 -1
  416. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +1 -1
  417. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
  418. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +4 -2
  419. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
  420. package/dist/shared/src/hooks/useScopedStatuses.cjs.js +1 -1
  421. package/dist/shared/src/hooks/useScopedStatuses.cjs.js.map +1 -1
  422. package/dist/shared/src/hooks/useScopedStatuses.es.js +6 -4
  423. package/dist/shared/src/hooks/useScopedStatuses.es.js.map +1 -1
  424. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
  425. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  426. package/dist/shared/src/hooks/useUserProjectConfig.es.js +4 -2
  427. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  428. package/dist/types/api/queries/config/getConfig.d.ts +747 -0
  429. package/dist/types/api/queries/config/index.d.ts +2 -0
  430. package/dist/types/api/queries/config/updateConfig.d.ts +171 -0
  431. package/dist/types/api/queries/index.d.ts +1 -0
  432. package/dist/types/api/queries/links/getEntityLinks.d.ts +2 -1
  433. package/dist/types/components/AddonLoadingScreen/AddonLoadingScreen.d.ts +7 -2
  434. package/dist/types/components/Chips/Chips.d.ts +1 -0
  435. package/dist/types/components/LinksManager/LinksManager.d.ts +1 -0
  436. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"updateOverview.es.js","sources":["../../../../../../src/api/queries/overview/updateOverview.ts"],"sourcesContent":["import {\n foldersQueries,\n detailsPanelQueries,\n operationsApi,\n entityListsQueriesGql,\n} from '@shared/api'\nimport type { OperationsResponseModel, OperationModel, OperationsApiArg } from '@shared/api'\nimport getOverviewApi from './getOverview'\nimport { DetailsPanelEntityData, DetailsPanelEntityType } from '@shared/api/queries/entities'\nimport { FetchBaseQueryError, RootState } from '@reduxjs/toolkit/query'\nimport { ThunkDispatch, UnknownAction } from '@reduxjs/toolkit'\nimport { EditorTaskNode } from '@shared/containers/ProjectTreeTable'\nimport { getUpdatedEntityIds } from './filterRefetchUtils'\nimport {\n refetchTasksForCacheEntry,\n refetchOverviewTasksForCacheEntry,\n} from './refetchFilteredEntities'\nimport { patchVersions } from './patchVersions'\nimport { patchProducts } from './patchProducts'\n// these operations are dedicated to the overview page\n// this mean cache updates are custom for the overview page here\n\n// Helper function to update entities with operation data\nconst updateEntityWithOperation = (entity: any, operationData: any) => {\n // Update top-level properties directly\n Object.keys(operationData).forEach((key) => {\n if (key === 'attrib' || key === 'links' || key === 'deleteLinks') return\n entity[key] = operationData[key]\n })\n\n // Handle attrib merging\n if (operationData.attrib) {\n entity.attrib = {\n ...entity.attrib,\n ...operationData.attrib,\n }\n }\n\n // Handle links merging\n if (operationData.links) {\n const existingLinks = entity.links || []\n const newLinks = operationData.links || []\n\n // Ensure links structure exists\n if (!entity.links) entity.links = []\n\n // Process links directly\n entity.links = [...existingLinks]\n\n newLinks.forEach((newLink: any) => {\n const existingIndex = entity.links.findIndex((link: any) => link.id === newLink.id)\n\n if (existingIndex !== -1) {\n entity.links[existingIndex] = { ...entity.links[existingIndex], ...newLink }\n } else {\n entity.links.push(newLink)\n }\n })\n }\n\n // Handle links deletion\n if (operationData.deleteLinks) {\n const linksToDelete = operationData.deleteLinks || []\n\n // Ensure links structure exists\n if (!entity.links) entity.links = []\n\n // Remove links by ID\n linksToDelete.forEach((linkId: string) => {\n entity.links = entity.links.filter((link: any) => link.id !== linkId)\n })\n }\n}\n\nconst getOverviewTaskTags = (tasks: Pick<OperationModel, 'entityId' | 'data'>[]) => {\n return [\n { type: 'overviewTask', id: 'LIST' },\n ...tasks.map((op) => ({ type: 'overviewTask', id: op.entityId })),\n // we also add the projectName so that tasks that do not exist in the cache can still invalidate\n ...tasks\n .filter((op) => op.data?.projectName)\n .map((op) => ({\n type: 'overviewTask',\n id: op.data?.projectName,\n })),\n ]\n}\n\nconst getOverviewFolderTags = (folders: Pick<OperationModel, 'entityId' | 'data'>[]) => {\n return [\n ...folders.map((op) => ({ type: 'folder', id: op.entityId })),\n // we also add the projectName so that tasks that do not exist in the cache can still invalidate\n ...folders\n .filter((op) => op.data?.projectName)\n .map((op) => ({\n type: 'folder',\n id: op.data?.projectName,\n })),\n ]\n}\n\nexport type PatchOperation = Pick<OperationModel, 'entityId' | 'entityType' | 'data'> & {\n type?: OperationModel['type']\n}\n\n// Helper function to create a patch operation for deleting links\nexport const createLinkDeletionPatch = (\n entityId: string,\n entityType: OperationModel['entityType'],\n linkIds: string[],\n): PatchOperation => {\n return {\n entityId,\n entityType,\n type: 'update',\n data: { deleteLinks: linkIds },\n }\n}\n\n// Utility function to delete specific links by ID from entities\nexport const deleteLinksFromEntities = (\n entities: { entityId: string; entityType: OperationModel['entityType'] }[],\n linkIds: string[],\n): PatchOperation[] => {\n return entities.map((entity) =>\n createLinkDeletionPatch(entity.entityId, entity.entityType, linkIds),\n )\n}\n\n// Generic helper function to patch entities based on their type\nexport const patchOverviewEntities = (\n entities: PatchOperation[],\n {\n state,\n dispatch,\n }: {\n state: RootState<any, any, 'restApi'>\n dispatch: ThunkDispatch<any, any, UnknownAction>\n },\n patches?: any[],\n) => {\n // Group entities by type\n const entitiesByType = entities.reduce((acc, entity) => {\n if (!acc[entity.entityType]) {\n acc[entity.entityType] = []\n }\n acc[entity.entityType].push(entity)\n return acc\n }, {} as Record<string, PatchOperation[]>)\n\n // Patch each entity type using the appropriate function\n if (entitiesByType.task) {\n patchOverviewTasks(entitiesByType.task, { state, dispatch }, patches)\n }\n if (entitiesByType.folder) {\n patchOverviewFolders(entitiesByType.folder, { state, dispatch }, patches)\n }\n // Add more entity types as needed\n // if (entitiesByType.product) { ... }\n // if (entitiesByType.version) { ... }\n // etc.\n}\n\nexport const patchOverviewTasks = (\n tasks: PatchOperation[],\n {\n state,\n dispatch,\n }: {\n state: RootState<any, any, 'restApi'>\n dispatch: ThunkDispatch<any, any, UnknownAction>\n },\n patches?: any[],\n) => {\n const tags = getOverviewTaskTags(tasks)\n const taskEntries = getOverviewApi.util.selectInvalidatedBy(state, tags)\n\n for (const entry of taskEntries) {\n if (entry.endpointName === 'getTasksListInfinite') {\n // patch getTasksListInfinite\n const tasksPatch = dispatch(\n getOverviewApi.util.updateQueryData('getTasksListInfinite', entry.originalArgs, (draft) => {\n // Apply each change to matching tasks in all pages\n for (const taskOperation of tasks) {\n if (taskOperation.type === 'create' && taskOperation.data) {\n // push operation data to first page\n // @ts-expect-error\n draft.pages[0].tasks.push(taskOperation.data)\n } else {\n // Iterate through all pages in the infinite query\n for (const page of draft.pages) {\n // TODO: task is not found here, why?\n const task = page.tasks.find((task) => task.id === taskOperation.entityId)\n if (task) {\n updateEntityWithOperation(task, taskOperation.data)\n }\n }\n }\n }\n }),\n )\n\n // add the patch to the list of patches\n patches?.push(tasksPatch)\n } else {\n // this updates the main overview cache task\n // it also updates any GetTasksByParent caches\n const tasksPatch = dispatch(\n getOverviewApi.util.updateQueryData(\n entry.endpointName as 'getOverviewTasksByFolders' | 'GetTasksByParent' | 'GetTasksList',\n entry.originalArgs,\n (draft) => {\n // Apply each change to matching tasks in the cache\n for (const taskOperation of tasks) {\n if (\n taskOperation.type === 'create' &&\n taskOperation.data &&\n entry.originalArgs.parentIds?.includes(taskOperation.data.folderId)\n ) {\n const patchTask = (tasksArrayDraft: EditorTaskNode[]) => {\n // @ts-expect-error\n tasksArrayDraft.push(taskOperation.data)\n }\n\n // Check if draft is an array or an object with a tasks property\n if (Array.isArray(draft)) {\n patchTask(draft)\n } else if (draft.tasks && Array.isArray(draft.tasks)) {\n // Handle object with tasks array case (like in GetTasksList)\n const draftArray = draft.tasks\n patchTask(draftArray)\n }\n } else {\n const patchTask = (tasksArrayDraft: EditorTaskNode[]) => {\n const task = tasksArrayDraft.find((task) => task.id === taskOperation.entityId)\n if (task) {\n updateEntityWithOperation(task, taskOperation.data)\n }\n }\n\n // Check if draft is an array or an object with a tasks property\n if (Array.isArray(draft)) {\n patchTask(draft)\n } else if (draft.tasks && Array.isArray(draft.tasks)) {\n // Handle object with tasks array case (like in GetTasksList)\n const draftArray = draft.tasks\n patchTask(draftArray)\n }\n }\n }\n },\n ),\n )\n // add the patch to the list of patches\n patches?.push(tasksPatch)\n }\n }\n}\n\nconst invalidateOverviewTasks = (\n tasks: PatchOperation[],\n {\n dispatch,\n }: {\n dispatch: ThunkDispatch<any, any, UnknownAction>\n },\n) => {\n if (!tasks.length) return\n dispatch(getOverviewApi.util.invalidateTags(getOverviewTaskTags(tasks)))\n}\n\nexport const patchOverviewFolders = (\n folders: PatchOperation[],\n {\n state,\n dispatch,\n }: {\n state: RootState<any, any, 'restApi'>\n dispatch: ThunkDispatch<any, any, UnknownAction>\n },\n patches?: any[],\n) => {\n const folderEntries = foldersQueries.util\n .selectInvalidatedBy(state, getOverviewFolderTags(folders))\n .filter((entry) => entry.endpointName === 'getFolderList')\n for (const entry of folderEntries) {\n const folderPatch = dispatch(\n foldersQueries.util.updateQueryData(\n entry.endpointName as 'getFolderList',\n entry.originalArgs,\n (draft) => {\n // Create a Map for O(1) folder lookups\n const folderMap = new Map()\n draft.folders.forEach((folder) => {\n folderMap.set(folder.id, folder)\n })\n\n for (const folderOperation of folders) {\n if (folderOperation.type === 'create' && folderOperation.data) {\n // push operation data to first page\n // @ts-expect-error\n draft.folders.push(folderOperation.data)\n } else {\n const folder = folderMap.get(folderOperation.entityId)\n\n if (folder) {\n updateEntityWithOperation(folder, folderOperation.data)\n }\n }\n }\n },\n ),\n )\n // add the patch to the list of patches\n patches?.push(folderPatch)\n }\n}\n\ntype DeepPartial<T> = T extends object\n ? {\n [P in keyof T]?: DeepPartial<T[P]>\n }\n : T\n\nconst operationDataToDetailsData = (\n data: Record<string, any>,\n entityType: DetailsPanelEntityType,\n): DeepPartial<DetailsPanelEntityData> => {\n const sharedData: DeepPartial<DetailsPanelEntityData> = {\n name: data.name,\n attrib: data.attrib,\n status: data.status,\n tags: data.tags,\n label: data.label,\n updatedAt: data.updatedAt,\n createdAt: data.createdAt,\n hasReviewables: data.hasReviewables,\n thumbnailId: data.thumbnailId,\n }\n\n switch (entityType) {\n case 'task':\n return {\n ...sharedData,\n task: {\n assignees: data.assignees,\n label: data.label,\n name: data.name,\n taskType: data.taskType,\n },\n }\n case 'folder':\n return {\n ...sharedData,\n folder: {\n id: data.id,\n name: data.name,\n label: data.label,\n folderType: data.folderType,\n },\n }\n case 'version':\n return {\n ...sharedData,\n version: {\n id: data.id,\n name: data.name,\n },\n }\n case 'representation':\n return {\n ...sharedData,\n }\n }\n}\n\nexport const patchDetailsPanelEntity = (\n operations: PatchOperation[] = [],\n draft: DetailsPanelEntityData,\n) => {\n // find the entity we are updating from the draft\n const operation = operations.find((op) => op.entityId === draft.id)\n const operationData = operation?.data\n\n if (!operationData || operation.entityType === 'product' || operation.entityType === 'workfile')\n return console.warn('No operation data found or entity type not supported')\n\n // transform the data to match the details panel entity data\n const detailsPanelData = operationDataToDetailsData(operationData, operation.entityType)\n\n // If this is a folder and name is being updated, also update the path\n if (operation.entityType === 'folder' && operationData.name && draft.path) {\n // Construct new path by replacing the last segment with the new name\n const pathParts = draft.path.split('/')\n pathParts[pathParts.length - 1] = operationData.name\n detailsPanelData.path = pathParts.join('/')\n }\n\n // helper to deep‐clean undefined values\n function cleanUndefined(obj: any): void {\n Object.entries(obj).forEach(([key, val]) => {\n if (val === undefined) {\n delete obj[key]\n } else if (val !== null && typeof val === 'object') {\n cleanUndefined(val)\n }\n })\n }\n\n // remove all undefineds at root and nested levels\n cleanUndefined(detailsPanelData as Record<string, any>)\n\n const newData: DeepPartial<DetailsPanelEntityData> = {\n ...draft,\n ...detailsPanelData,\n attrib: {\n ...(draft?.attrib || {}),\n ...detailsPanelData.attrib,\n },\n folder: {\n ...(draft?.folder || {}),\n ...detailsPanelData.folder,\n },\n task: {\n ...(draft?.task || {}),\n ...detailsPanelData.task,\n },\n version: {\n ...(draft?.version || {}),\n ...detailsPanelData.version,\n },\n }\n\n // patch data onto the entity\n Object.assign(draft, newData)\n}\n\nconst patchListItems = (\n entities: PatchOperation[],\n {\n state,\n dispatch,\n }: {\n state: RootState<any, any, 'restApi'>\n dispatch: ThunkDispatch<any, any, UnknownAction>\n },\n patches?: any[],\n) => {\n const tags = entities.map((op) => ({ type: 'entityListItem', id: op.entityId }))\n const entries = entityListsQueriesGql.util.selectInvalidatedBy(state, tags)\n\n for (const entry of entries) {\n if (entry.endpointName === 'getListItemsInfinite') {\n const listItemsPatch = dispatch(\n entityListsQueriesGql.util.updateQueryData(\n 'getListItemsInfinite',\n entry.originalArgs,\n (draft) => {\n // Apply each change to matching tasks in all pages\n for (const listOperation of entities) {\n if (listOperation.type === 'update' && listOperation.data) {\n // Iterate through all pages in the infinite query\n for (const page of draft.pages) {\n const item = page.items.find((item) => item.entityId === listOperation.entityId)\n if (item) {\n updateEntityWithOperation(item, listOperation.data)\n }\n }\n }\n }\n },\n ),\n )\n\n // add the patch to the list of patches\n patches?.push(listItemsPatch)\n }\n }\n}\n\nconst splitByOpType = (operations: OperationModel[]) => {\n return operations.reduce(\n (acc: Record<OperationModel['type'], OperationModel[]>, operation) => {\n acc[operation.type].push(operation)\n return acc\n },\n {\n create: [],\n update: [],\n delete: [],\n },\n )\n}\n\nconst operationsEnhanced = operationsApi.enhanceEndpoints({\n endpoints: {\n operations: {},\n },\n})\n\n// enhance the argument type to include some extra fields\ninterface UpdateOverviewEntitiesArg extends OperationsApiArg {\n patchOperations?: PatchOperation[] // extra entities to patch\n}\n\nconst operationsApiEnhancedInjected = operationsEnhanced.injectEndpoints({\n endpoints: (build) => ({\n updateOverviewEntities: build.mutation<\n OperationsResponseModel | undefined,\n UpdateOverviewEntitiesArg\n >({\n async queryFn(arg, { dispatch }) {\n try {\n const result = await dispatch(operationsEnhanced.endpoints.operations.initiate(arg))\n\n // Check if the network request itself failed (offline, timeout, etc.)\n if (result.error) {\n return { error: result.error as FetchBaseQueryError }\n }\n\n const data = result.data\n // check for any errors in the result\n const uniqueErrors = new Set()\n const uniqueErrorCodes = new Set()\n for (const op of data?.operations || []) {\n if (op.success === false && op.detail) {\n if (!uniqueErrors.has(op.detail)) {\n uniqueErrors.add(op.detail)\n }\n if (!uniqueErrorCodes.has(op.errorCode)) {\n uniqueErrorCodes.add(op.errorCode)\n }\n }\n }\n\n if (uniqueErrors.size > 0) {\n const error = {\n status: 'FETCH_ERROR',\n error: Array.from(uniqueErrors).join(', '),\n errorCodes: Array.from(uniqueErrorCodes),\n } as FetchBaseQueryError\n return { error }\n } else {\n return { data }\n }\n } catch (e: any) {\n console.error(e)\n const error = { status: 'FETCH_ERROR', error: e.message } as FetchBaseQueryError\n return { error }\n }\n },\n async onQueryStarted(\n { operationsRequestModel, patchOperations = [], projectName },\n { dispatch, queryFulfilled, getState },\n ) {\n if (!operationsRequestModel.operations?.length) return\n const { operations } = operationsRequestModel\n // we need to split the operations by entity type\n const operationsByType = operations.reduce(\n (acc: Record<OperationModel['entityType'], OperationModel[]>, operation) => {\n acc[operation.entityType].push(operation)\n return acc\n },\n {\n task: [],\n folder: [],\n product: [],\n version: [],\n representation: [],\n workfile: [],\n },\n )\n\n // collect patches incase we need to undo them\n const state = getState()\n const patches: any[] = []\n\n // patch the overview tasks\n if (operationsByType.task?.length) {\n // split operations by operation type\n const { delete: deleteOps, update } = splitByOpType(operationsByType.task)\n // filter out updates that are in updateToPatch as we patch them later on\n const updatesToPatch = update.filter(\n (op) => !patchOperations.some((dep) => dep.entityId === op.entityId),\n )\n // update existing tasks\n patchOverviewTasks(updatesToPatch, { state, dispatch }, patches)\n // invalidate the caches for tasks being created and deleted\n invalidateOverviewTasks([...deleteOps], {\n dispatch,\n })\n }\n\n // patch the overview folders (any other folders from foldersList)\n if (operationsByType.folder?.length) {\n // split operations by operation type\n const { delete: deleteOps, update } = splitByOpType(operationsByType.folder)\n // filter out updates that are in updateToPatch as we patch them later on\n const updatesToPatch = update.filter(\n (op) => !patchOperations.some((dep) => dep.entityId === op.entityId),\n )\n // update existing folders\n patchOverviewFolders(updatesToPatch, { state, dispatch }, patches)\n // invalidate the caches for folders being created and deleted\n if (deleteOps.length) {\n dispatch(foldersQueries.util.invalidateTags([{ type: 'folder', id: 'LIST' }]))\n }\n }\n\n const patchExtraTasks = patchOperations.filter((op) => op.entityType === 'task')\n const patchExtraFolders = patchOperations.filter((op) => op.entityType === 'folder')\n\n if (patchExtraTasks.length) {\n // often used for updating inherited dependents\n patchOverviewTasks(patchExtraTasks, { state, dispatch }, patches)\n }\n\n if (patchExtraFolders.length) {\n // often used for updating inherited dependents\n patchOverviewFolders(patchExtraFolders, { state, dispatch }, patches)\n }\n\n // patch the list items\n patchListItems([...operations, ...patchOperations], { state, dispatch }, patches)\n\n // patch versions\n if (operationsByType.version?.length) {\n patchVersions(operationsByType.version, { state, dispatch }, patches)\n }\n\n // patch products\n if (operationsByType.product?.length) {\n patchProducts(operationsByType.product, { state, dispatch }, patches)\n }\n\n // try to patch any details panels\n // first we patch the individual entities\n // then we patch the details panel cache\n const entityTags = operations.map((op) => ({\n id: op.entityId,\n type: op.entityType,\n }))\n const entitiesTags = entityTags.map((tag) => ({\n type: 'entities',\n id: tag.id,\n }))\n\n // invalidates the details panel cache so that it fetches all individual entities again (using it's updated cache)\n const invalidateEntryPanel = () =>\n dispatch(detailsPanelQueries.util.invalidateTags(entitiesTags))\n\n // the individual entities that are patched for the details panel\n // remember the details panel cache is made up of individual entity caches\n const detailsPanelEntityCaches = detailsPanelQueries.util.selectInvalidatedBy(\n state,\n entityTags,\n )\n\n // the cache for the whole details panel\n const detailsPanelEntitiesCaches = detailsPanelQueries.util.selectInvalidatedBy(\n state,\n entitiesTags,\n )\n\n for (const entry of detailsPanelEntitiesCaches) {\n if (entry.endpointName !== 'getEntitiesDetailsPanel') continue\n const entitiesDetailsResult = dispatch(\n detailsPanelQueries.util.updateQueryData(\n entry.endpointName as 'getEntitiesDetailsPanel',\n entry.originalArgs,\n (draft) => {\n for (const entity of draft) {\n patchDetailsPanelEntity(operations, entity)\n }\n },\n ),\n )\n\n // add the patch to the list of patches\n patches.push(entitiesDetailsResult)\n }\n\n try {\n await queryFulfilled\n\n // Background refetch logic - runs after successful mutation\n // This ensures calculated attributes are up-to-date and entities are correctly filtered\n\n const taskOperations = operationsByType.task || []\n const folderOperations = operationsByType.folder || []\n\n // Early exit if no operations\n if (taskOperations.length === 0 && folderOperations.length === 0) {\n return\n }\n\n // Extract updated entity IDs (always needed for refetch)\n const updatedTaskIds = getUpdatedEntityIds(taskOperations)\n const updatedFolderIds = getUpdatedEntityIds(folderOperations)\n\n // Get all active task list cache entries\n const overviewTaskTags = updatedTaskIds.map((id) => ({ type: 'overviewTask', id }))\n const tasksListInfiniteEntries = getOverviewApi.util\n .selectInvalidatedBy(state, overviewTaskTags)\n .filter((entry) => entry.endpointName === 'getTasksListInfinite')\n\n // Requirement: \"refetch the full data for the specific entity/entities\"\n // For each cache with its own filter, fetch entities and update that cache\n if (updatedTaskIds.length > 0 && projectName) {\n // Process getTasksListInfinite caches\n for (const entry of tasksListInfiniteEntries) {\n await refetchTasksForCacheEntry({\n dispatch,\n projectName,\n updatedTaskIds,\n cacheEntry: entry,\n })\n }\n\n // Process getOverviewTasksByFolders caches\n // Use selectInvalidatedBy to get only caches that contain the updated tasks\n const overviewTasksEntries = getOverviewApi.util\n .selectInvalidatedBy(state, overviewTaskTags)\n .filter((entry) => entry.endpointName === 'getOverviewTasksByFolders')\n\n for (const entry of overviewTasksEntries) {\n await refetchOverviewTasksForCacheEntry({\n dispatch,\n projectName,\n updatedTaskIds,\n cacheEntry: entry,\n })\n }\n }\n\n // Always refetch folders if they were updated (for calculated attributes)\n // Not conditional on affectsFilter - requirement says \"always refetch entities\"\n // Only invalidate if we haven't already done so for delete operations\n const hasDeleteOps = (operationsByType.folder || []).some(\n (op: OperationModel) => op.type === 'delete',\n )\n if (updatedFolderIds.length > 0 && projectName && !hasDeleteOps) {\n dispatch(foldersQueries.util.invalidateTags([{ type: 'folder', id: 'LIST' }]))\n }\n } catch (error) {\n // undo all patches if there is an error\n for (const patch of patches) {\n patch.undo()\n }\n\n if (detailsPanelEntityCaches.length) {\n // we invalidate the tags for the detailsPanelEntityCaches that were patched\n // invalidate the details panel cache\n invalidateEntryPanel()\n }\n }\n },\n invalidatesTags: (_r, _e, { operationsRequestModel, projectName }) => {\n type Tags = { id: string; type: string }[]\n const userDashboardTags: Tags = [{ type: 'kanban', id: 'project-' + projectName }],\n taskProgressTags: Tags = [],\n entityListItemTags: Tags = []\n\n operationsRequestModel.operations?.forEach((op) => {\n const { entityId } = op\n if (entityId) {\n taskProgressTags.push({ type: 'progress', id: entityId })\n // Invalidate list item cache for this entity to trigger background refetch\n entityListItemTags.push({ type: 'entityListItem', id: entityId })\n } else {\n // new entity created, so we should invalidate everything\n taskProgressTags.push({ type: 'progress', id: 'LIST' })\n }\n })\n\n return [...userDashboardTags, ...taskProgressTags, ...entityListItemTags]\n },\n }),\n }),\n})\n\nexport const { useUpdateOverviewEntitiesMutation } = operationsApiEnhancedInjected\n"],"names":["updateEntityWithOperation","entity","operationData","key","existingLinks","newLinks","newLink","existingIndex","link","linksToDelete","linkId","getOverviewTaskTags","tasks","op","_a","getOverviewFolderTags","folders","createLinkDeletionPatch","entityId","entityType","linkIds","deleteLinksFromEntities","entities","patchOverviewEntities","state","dispatch","patches","entitiesByType","acc","patchOverviewTasks","patchOverviewFolders","tags","taskEntries","getOverviewApi","entry","tasksPatch","draft","taskOperation","page","task","patchTask","tasksArrayDraft","draftArray","invalidateOverviewTasks","folderEntries","foldersQueries","folderPatch","folderMap","folder","folderOperation","operationDataToDetailsData","data","sharedData","patchDetailsPanelEntity","operations","operation","detailsPanelData","pathParts","cleanUndefined","obj","val","newData","patchListItems","entries","entityListsQueriesGql","listItemsPatch","listOperation","item","splitByOpType","operationsEnhanced","operationsApi","operationsApiEnhancedInjected","build","arg","result","uniqueErrors","uniqueErrorCodes","e","operationsRequestModel","patchOperations","projectName","queryFulfilled","getState","operationsByType","_b","deleteOps","update","updatesToPatch","dep","_c","patchExtraTasks","patchExtraFolders","_d","patchVersions","_e","patchProducts","entityTags","entitiesTags","tag","invalidateEntryPanel","detailsPanelQueries","detailsPanelEntityCaches","detailsPanelEntitiesCaches","entitiesDetailsResult","taskOperations","folderOperations","updatedTaskIds","getUpdatedEntityIds","updatedFolderIds","overviewTaskTags","id","tasksListInfiniteEntries","refetchTasksForCacheEntry","overviewTasksEntries","refetchOverviewTasksForCacheEntry","hasDeleteOps","patch","_r","userDashboardTags","taskProgressTags","entityListItemTags","useUpdateOverviewEntitiesMutation"],"mappings":"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"}
1
+ {"version":3,"file":"updateOverview.es.js","sources":["../../../../../../src/api/queries/overview/updateOverview.ts"],"sourcesContent":["import {\n foldersQueries,\n detailsPanelQueries,\n operationsApi,\n entityListsQueriesGql,\n} from '@shared/api'\nimport type { OperationsResponseModel, OperationModel, OperationsApiArg } from '@shared/api'\nimport getOverviewApi from './getOverview'\nimport { DetailsPanelEntityData, DetailsPanelEntityType } from '@shared/api/queries/entities'\nimport { FetchBaseQueryError, RootState } from '@reduxjs/toolkit/query'\nimport { ThunkDispatch, UnknownAction } from '@reduxjs/toolkit'\nimport { EditorTaskNode } from '@shared/containers/ProjectTreeTable'\nimport { getUpdatedEntityIds } from './filterRefetchUtils'\nimport {\n refetchTasksForCacheEntry,\n refetchOverviewTasksForCacheEntry,\n} from './refetchFilteredEntities'\nimport { patchVersions } from './patchVersions'\nimport { patchProducts } from './patchProducts'\n// these operations are dedicated to the overview page\n// this mean cache updates are custom for the overview page here\n\n// Helper function to update entities with operation data\nconst updateEntityWithOperation = (entity: any, operationData: any) => {\n // Update top-level properties directly\n Object.keys(operationData).forEach((key) => {\n if (key === 'attrib' || key === 'links' || key === 'deleteLinks') return\n entity[key] = operationData[key]\n })\n\n // Handle attrib merging\n if (operationData.attrib) {\n entity.attrib = {\n ...entity.attrib,\n ...operationData.attrib,\n }\n }\n\n // Handle links merging\n if (operationData.links) {\n const existingLinks = entity.links || []\n const newLinks = operationData.links || []\n\n // Ensure links structure exists\n if (!entity.links) entity.links = []\n\n // Process links directly\n entity.links = [...existingLinks]\n\n newLinks.forEach((newLink: any) => {\n const existingIndex = entity.links.findIndex((link: any) => link.id === newLink.id)\n\n if (existingIndex !== -1) {\n entity.links[existingIndex] = { ...entity.links[existingIndex], ...newLink }\n } else {\n entity.links.push(newLink)\n }\n })\n }\n\n // Handle links deletion\n if (operationData.deleteLinks) {\n const linksToDelete = operationData.deleteLinks || []\n\n // Ensure links structure exists\n if (!entity.links) entity.links = []\n\n // Remove links by ID\n linksToDelete.forEach((linkId: string) => {\n entity.links = entity.links.filter((link: any) => link.id !== linkId)\n })\n }\n}\n\nconst getOverviewTaskTags = (tasks: Pick<OperationModel, 'entityId' | 'data'>[]) => {\n return [\n { type: 'overviewTask', id: 'LIST' },\n ...tasks.map((op) => ({ type: 'overviewTask', id: op.entityId })),\n // we also add the projectName so that tasks that do not exist in the cache can still invalidate\n ...tasks\n .filter((op) => op.data?.projectName)\n .map((op) => ({\n type: 'overviewTask',\n id: op.data?.projectName,\n })),\n ]\n}\n\nconst getOverviewFolderTags = (folders: Pick<OperationModel, 'entityId' | 'data'>[]) => {\n return [\n ...folders.map((op) => ({ type: 'folder', id: op.entityId })),\n // we also add the projectName so that tasks that do not exist in the cache can still invalidate\n ...folders\n .filter((op) => op.data?.projectName)\n .map((op) => ({\n type: 'folder',\n id: op.data?.projectName,\n })),\n ]\n}\n\nexport type PatchOperation = Pick<OperationModel, 'entityId' | 'entityType' | 'data'> & {\n type?: OperationModel['type']\n}\n\n// Helper function to create a patch operation for deleting links\nexport const createLinkDeletionPatch = (\n entityId: string,\n entityType: OperationModel['entityType'],\n linkIds: string[],\n): PatchOperation => {\n return {\n entityId,\n entityType,\n type: 'update',\n data: { deleteLinks: linkIds },\n }\n}\n\n// Utility function to delete specific links by ID from entities\nexport const deleteLinksFromEntities = (\n entities: { entityId: string; entityType: OperationModel['entityType'] }[],\n linkIds: string[],\n): PatchOperation[] => {\n return entities.map((entity) =>\n createLinkDeletionPatch(entity.entityId, entity.entityType, linkIds),\n )\n}\n\n// Generic helper function to patch entities based on their type\nexport const patchOverviewEntities = (\n entities: PatchOperation[],\n {\n state,\n dispatch,\n }: {\n state: RootState<any, any, 'restApi'>\n dispatch: ThunkDispatch<any, any, UnknownAction>\n },\n patches?: any[],\n) => {\n // Group entities by type\n const entitiesByType = entities.reduce((acc, entity) => {\n if (!acc[entity.entityType]) {\n acc[entity.entityType] = []\n }\n acc[entity.entityType].push(entity)\n return acc\n }, {} as Record<string, PatchOperation[]>)\n\n // Patch each entity type using the appropriate function\n if (entitiesByType.task) {\n patchOverviewTasks(entitiesByType.task, { state, dispatch }, patches)\n }\n if (entitiesByType.folder) {\n patchOverviewFolders(entitiesByType.folder, { state, dispatch }, patches)\n }\n // Add more entity types as needed\n // if (entitiesByType.product) { ... }\n // if (entitiesByType.version) { ... }\n // etc.\n}\n\nexport const patchOverviewTasks = (\n tasks: PatchOperation[],\n {\n state,\n dispatch,\n }: {\n state: RootState<any, any, 'restApi'>\n dispatch: ThunkDispatch<any, any, UnknownAction>\n },\n patches?: any[],\n) => {\n const tags = getOverviewTaskTags(tasks)\n const taskEntries = getOverviewApi.util.selectInvalidatedBy(state, tags)\n\n for (const entry of taskEntries) {\n if (entry.endpointName === 'getTasksListInfinite') {\n // patch getTasksListInfinite\n const tasksPatch = dispatch(\n getOverviewApi.util.updateQueryData('getTasksListInfinite', entry.originalArgs, (draft) => {\n // Apply each change to matching tasks in all pages\n for (const taskOperation of tasks) {\n if (taskOperation.type === 'create' && taskOperation.data) {\n // push operation data to first page\n // @ts-expect-error\n draft.pages[0].tasks.push(taskOperation.data)\n } else {\n // Iterate through all pages in the infinite query\n for (const page of draft.pages) {\n // TODO: task is not found here, why?\n const task = page.tasks.find((task) => task.id === taskOperation.entityId)\n if (task) {\n updateEntityWithOperation(task, taskOperation.data)\n }\n }\n }\n }\n }),\n )\n\n // add the patch to the list of patches\n patches?.push(tasksPatch)\n } else {\n // this updates the main overview cache task\n // it also updates any GetTasksByParent caches\n const tasksPatch = dispatch(\n getOverviewApi.util.updateQueryData(\n entry.endpointName as 'getOverviewTasksByFolders' | 'GetTasksByParent' | 'GetTasksList',\n entry.originalArgs,\n (draft) => {\n // Apply each change to matching tasks in the cache\n for (const taskOperation of tasks) {\n if (\n taskOperation.type === 'create' &&\n taskOperation.data &&\n entry.originalArgs.parentIds?.includes(taskOperation.data.folderId)\n ) {\n const patchTask = (tasksArrayDraft: EditorTaskNode[]) => {\n // @ts-expect-error\n tasksArrayDraft.push(taskOperation.data)\n }\n\n // Check if draft is an array or an object with a tasks property\n if (Array.isArray(draft)) {\n patchTask(draft)\n } else if (draft.tasks && Array.isArray(draft.tasks)) {\n // Handle object with tasks array case (like in GetTasksList)\n const draftArray = draft.tasks\n patchTask(draftArray)\n }\n } else {\n const patchTask = (tasksArrayDraft: EditorTaskNode[]) => {\n const task = tasksArrayDraft.find((task) => task.id === taskOperation.entityId)\n if (task) {\n updateEntityWithOperation(task, taskOperation.data)\n }\n }\n\n // Check if draft is an array or an object with a tasks property\n if (Array.isArray(draft)) {\n patchTask(draft)\n } else if (draft.tasks && Array.isArray(draft.tasks)) {\n // Handle object with tasks array case (like in GetTasksList)\n const draftArray = draft.tasks\n patchTask(draftArray)\n }\n }\n }\n },\n ),\n )\n // add the patch to the list of patches\n patches?.push(tasksPatch)\n }\n }\n}\n\nconst invalidateOverviewTasks = (\n tasks: PatchOperation[],\n {\n dispatch,\n }: {\n dispatch: ThunkDispatch<any, any, UnknownAction>\n },\n) => {\n if (!tasks.length) return\n dispatch(getOverviewApi.util.invalidateTags(getOverviewTaskTags(tasks)))\n}\n\nexport const patchOverviewFolders = (\n folders: PatchOperation[],\n {\n state,\n dispatch,\n }: {\n state: RootState<any, any, 'restApi'>\n dispatch: ThunkDispatch<any, any, UnknownAction>\n },\n patches?: any[],\n) => {\n const folderEntries = foldersQueries.util\n .selectInvalidatedBy(state, getOverviewFolderTags(folders))\n .filter((entry) => entry.endpointName === 'getFolderList')\n for (const entry of folderEntries) {\n const folderPatch = dispatch(\n foldersQueries.util.updateQueryData(\n entry.endpointName as 'getFolderList',\n entry.originalArgs,\n (draft) => {\n // Create a Map for O(1) folder lookups\n const folderMap = new Map()\n draft.folders.forEach((folder) => {\n folderMap.set(folder.id, folder)\n })\n\n for (const folderOperation of folders) {\n if (folderOperation.type === 'create' && folderOperation.data) {\n // push operation data to first page\n // @ts-expect-error\n draft.folders.push(folderOperation.data)\n } else {\n const folder = folderMap.get(folderOperation.entityId)\n\n if (folder) {\n updateEntityWithOperation(folder, folderOperation.data)\n }\n }\n }\n },\n ),\n )\n // add the patch to the list of patches\n patches?.push(folderPatch)\n }\n}\n\ntype DeepPartial<T> = T extends object\n ? {\n [P in keyof T]?: DeepPartial<T[P]>\n }\n : T\n\nconst operationDataToDetailsData = (\n data: Record<string, any>,\n entityType: DetailsPanelEntityType,\n): DeepPartial<DetailsPanelEntityData> => {\n const sharedData: DeepPartial<DetailsPanelEntityData> = {\n name: data.name,\n attrib: data.attrib,\n status: data.status,\n tags: data.tags,\n label: data.label,\n updatedAt: data.updatedAt,\n createdAt: data.createdAt,\n hasReviewables: data.hasReviewables,\n thumbnailId: data.thumbnailId,\n }\n\n switch (entityType) {\n case 'task':\n return {\n ...sharedData,\n task: {\n assignees: data.assignees,\n label: data.label,\n name: data.name,\n taskType: data.taskType,\n },\n }\n case 'folder':\n return {\n ...sharedData,\n folder: {\n id: data.id,\n name: data.name,\n label: data.label,\n folderType: data.folderType,\n },\n }\n case 'version':\n return {\n ...sharedData,\n version: {\n id: data.id,\n name: data.name,\n },\n }\n case 'representation':\n return {\n ...sharedData,\n }\n }\n}\n\nexport const patchDetailsPanelEntity = (\n operations: PatchOperation[] = [],\n draft: DetailsPanelEntityData,\n) => {\n // find the entity we are updating from the draft\n const operation = operations.find((op) => op.entityId === draft.id)\n const operationData = operation?.data\n\n if (!operationData || operation.entityType === 'product' || operation.entityType === 'workfile')\n return console.warn('No operation data found or entity type not supported')\n\n // transform the data to match the details panel entity data\n const detailsPanelData = operationDataToDetailsData(operationData, operation.entityType)\n\n // If this is a folder and name is being updated, also update the path\n if (operation.entityType === 'folder' && operationData.name && draft.path) {\n // Construct new path by replacing the last segment with the new name\n const pathParts = draft.path.split('/')\n pathParts[pathParts.length - 1] = operationData.name\n detailsPanelData.path = pathParts.join('/')\n }\n\n // helper to deep‐clean undefined values\n function cleanUndefined(obj: any): void {\n Object.entries(obj).forEach(([key, val]) => {\n if (val === undefined) {\n delete obj[key]\n } else if (val !== null && typeof val === 'object') {\n cleanUndefined(val)\n }\n })\n }\n\n // remove all undefineds at root and nested levels\n cleanUndefined(detailsPanelData as Record<string, any>)\n\n const newData: DeepPartial<DetailsPanelEntityData> = {\n ...draft,\n ...detailsPanelData,\n attrib: {\n ...(draft?.attrib || {}),\n ...detailsPanelData.attrib,\n },\n folder: {\n ...(draft?.folder || {}),\n ...detailsPanelData.folder,\n },\n task: {\n ...(draft?.task || {}),\n ...detailsPanelData.task,\n },\n version: {\n ...(draft?.version || {}),\n ...detailsPanelData.version,\n },\n }\n\n // patch data onto the entity\n Object.assign(draft, newData)\n}\n\nconst patchListItems = (\n entities: PatchOperation[],\n {\n state,\n dispatch,\n }: {\n state: RootState<any, any, 'restApi'>\n dispatch: ThunkDispatch<any, any, UnknownAction>\n },\n patches?: any[],\n) => {\n const tags = entities.map((op) => ({ type: 'entityListItem', id: op.entityId }))\n const entries = entityListsQueriesGql.util.selectInvalidatedBy(state, tags)\n\n for (const entry of entries) {\n if (entry.endpointName === 'getListItemsInfinite') {\n const listItemsPatch = dispatch(\n entityListsQueriesGql.util.updateQueryData(\n 'getListItemsInfinite',\n entry.originalArgs,\n (draft) => {\n // Apply each change to matching tasks in all pages\n for (const listOperation of entities) {\n if (listOperation.type === 'update' && listOperation.data) {\n // Iterate through all pages in the infinite query\n for (const page of draft.pages) {\n const item = page.items.find((item) => item.entityId === listOperation.entityId)\n if (item) {\n updateEntityWithOperation(item, listOperation.data)\n }\n }\n }\n }\n },\n ),\n )\n\n // add the patch to the list of patches\n patches?.push(listItemsPatch)\n }\n }\n}\n\nconst splitByOpType = (operations: OperationModel[]) => {\n return operations.reduce(\n (acc: Record<OperationModel['type'], OperationModel[]>, operation) => {\n acc[operation.type].push(operation)\n return acc\n },\n {\n create: [],\n update: [],\n delete: [],\n },\n )\n}\n\nconst operationsEnhanced = operationsApi.enhanceEndpoints({\n endpoints: {\n operations: {},\n },\n})\n\n// enhance the argument type to include some extra fields\ninterface UpdateOverviewEntitiesArg extends OperationsApiArg {\n patchOperations?: PatchOperation[] // extra entities to patch\n}\n\nconst operationsApiEnhancedInjected = operationsEnhanced.injectEndpoints({\n endpoints: (build) => ({\n updateOverviewEntities: build.mutation<\n OperationsResponseModel | undefined,\n UpdateOverviewEntitiesArg\n >({\n async queryFn(arg, { dispatch }) {\n try {\n const result = await dispatch(operationsEnhanced.endpoints.operations.initiate(arg))\n\n // Check if the network request itself failed (offline, timeout, etc.)\n if (result.error) {\n return { error: result.error as FetchBaseQueryError }\n }\n\n const data = result.data\n // check for any errors in the result\n const uniqueErrors = new Set()\n const uniqueErrorCodes = new Set()\n for (const op of data?.operations || []) {\n if (op.success === false && op.detail) {\n if (!uniqueErrors.has(op.detail)) {\n uniqueErrors.add(op.detail)\n }\n if (!uniqueErrorCodes.has(op.errorCode)) {\n uniqueErrorCodes.add(op.errorCode)\n }\n }\n }\n\n if (uniqueErrors.size > 0) {\n const error = {\n status: 'FETCH_ERROR',\n error: Array.from(uniqueErrors).join(', '),\n errorCodes: Array.from(uniqueErrorCodes),\n } as FetchBaseQueryError\n return { error }\n } else {\n return { data }\n }\n } catch (e: any) {\n console.error(e)\n const error = { status: 'FETCH_ERROR', error: e.message } as FetchBaseQueryError\n return { error }\n }\n },\n async onQueryStarted(\n { operationsRequestModel, patchOperations = [], projectName },\n { dispatch, queryFulfilled, getState },\n ) {\n if (!operationsRequestModel.operations?.length) return\n const { operations } = operationsRequestModel\n // we need to split the operations by entity type\n const operationsByType = operations.reduce(\n (acc: Record<OperationModel['entityType'], OperationModel[]>, operation) => {\n acc[operation.entityType].push(operation)\n return acc\n },\n {\n task: [],\n folder: [],\n product: [],\n version: [],\n representation: [],\n workfile: [],\n },\n )\n\n // collect patches incase we need to undo them\n const state = getState()\n const patches: any[] = []\n\n // patch the overview tasks\n if (operationsByType.task?.length) {\n // split operations by operation type\n const { delete: deleteOps, update } = splitByOpType(operationsByType.task)\n // filter out updates that are in updateToPatch as we patch them later on\n const updatesToPatch = update.filter(\n (op) => !patchOperations.some((dep) => dep.entityId === op.entityId),\n )\n // update existing tasks\n patchOverviewTasks(updatesToPatch, { state, dispatch }, patches)\n // invalidate the caches for tasks being created and deleted\n invalidateOverviewTasks([...deleteOps], {\n dispatch,\n })\n }\n\n // patch the overview folders (any other folders from foldersList)\n if (operationsByType.folder?.length) {\n // split operations by operation type\n const { delete: deleteOps, update } = splitByOpType(operationsByType.folder)\n // filter out updates that are in updateToPatch as we patch them later on\n const updatesToPatch = update.filter(\n (op) => !patchOperations.some((dep) => dep.entityId === op.entityId),\n )\n // update existing folders\n patchOverviewFolders(updatesToPatch, { state, dispatch }, patches)\n // invalidate the caches for folders being created and deleted\n if (deleteOps.length) {\n dispatch(foldersQueries.util.invalidateTags([{ type: 'folder', id: 'LIST' }]))\n }\n }\n\n const patchExtraTasks = patchOperations.filter((op) => op.entityType === 'task')\n const patchExtraFolders = patchOperations.filter((op) => op.entityType === 'folder')\n\n if (patchExtraTasks.length) {\n // often used for updating inherited dependents\n patchOverviewTasks(patchExtraTasks, { state, dispatch }, patches)\n }\n\n if (patchExtraFolders.length) {\n // often used for updating inherited dependents\n patchOverviewFolders(patchExtraFolders, { state, dispatch }, patches)\n }\n\n // patch the list items\n patchListItems([...operations, ...patchOperations], { state, dispatch }, patches)\n\n // patch versions\n if (operationsByType.version?.length) {\n patchVersions(operationsByType.version, { state, dispatch }, patches)\n }\n\n // patch products\n if (operationsByType.product?.length) {\n patchProducts(operationsByType.product, { state, dispatch }, patches)\n }\n\n // try to patch any details panels\n // first we patch the individual entities\n // then we patch the details panel cache\n const entityTags = operations.map((op) => ({\n id: op.entityId,\n type: op.entityType,\n }))\n const entitiesTags = entityTags.map((tag) => ({\n type: 'entities',\n id: tag.id,\n }))\n\n // invalidates the details panel cache so that it fetches all individual entities again (using it's updated cache)\n const invalidateEntryPanel = () =>\n dispatch(detailsPanelQueries.util.invalidateTags(entitiesTags))\n\n // the individual entities that are patched for the details panel\n // remember the details panel cache is made up of individual entity caches\n const detailsPanelEntityCaches = detailsPanelQueries.util.selectInvalidatedBy(\n state,\n entityTags,\n )\n\n // the cache for the whole details panel\n const detailsPanelEntitiesCaches = detailsPanelQueries.util.selectInvalidatedBy(\n state,\n entitiesTags,\n )\n\n for (const entry of detailsPanelEntitiesCaches) {\n if (entry.endpointName !== 'getEntitiesDetailsPanel') continue\n const entitiesDetailsResult = dispatch(\n detailsPanelQueries.util.updateQueryData(\n entry.endpointName as 'getEntitiesDetailsPanel',\n entry.originalArgs,\n (draft) => {\n for (const entity of draft) {\n patchDetailsPanelEntity(operations, entity)\n }\n },\n ),\n )\n\n // add the patch to the list of patches\n patches.push(entitiesDetailsResult)\n }\n\n try {\n await queryFulfilled\n\n // Background refetch logic - runs after successful mutation\n // This ensures calculated attributes are up-to-date and entities are correctly filtered\n\n const taskOperations = operationsByType.task || []\n const folderOperations = operationsByType.folder || []\n\n // Early exit if no operations\n if (taskOperations.length === 0 && folderOperations.length === 0) {\n return\n }\n\n // Extract updated entity IDs (always needed for refetch)\n const updatedTaskIds = getUpdatedEntityIds(taskOperations)\n const updatedFolderIds = getUpdatedEntityIds(folderOperations)\n\n // Get all active task list cache entries\n const overviewTaskTags = updatedTaskIds.map((id) => ({ type: 'overviewTask', id }))\n const tasksListInfiniteEntries = getOverviewApi.util\n .selectInvalidatedBy(state, overviewTaskTags)\n .filter((entry) => entry.endpointName === 'getTasksListInfinite')\n\n // Requirement: \"refetch the full data for the specific entity/entities\"\n // For each cache with its own filter, fetch entities and update that cache\n if (updatedTaskIds.length > 0 && projectName) {\n // Process getTasksListInfinite caches\n for (const entry of tasksListInfiniteEntries) {\n await refetchTasksForCacheEntry({\n dispatch,\n projectName,\n updatedTaskIds,\n cacheEntry: entry,\n })\n }\n\n // Process getOverviewTasksByFolders caches\n // Use selectInvalidatedBy to get only caches that contain the updated tasks\n const overviewTasksEntries = getOverviewApi.util\n .selectInvalidatedBy(state, overviewTaskTags)\n .filter((entry) => entry.endpointName === 'getOverviewTasksByFolders')\n\n for (const entry of overviewTasksEntries) {\n await refetchOverviewTasksForCacheEntry({\n dispatch,\n projectName,\n updatedTaskIds,\n cacheEntry: entry,\n })\n }\n }\n\n // Always refetch folders if they were updated (for calculated attributes)\n // Not conditional on affectsFilter - requirement says \"always refetch entities\"\n // Only invalidate if we haven't already done so for delete operations\n const hasDeleteOps = (operationsByType.folder || []).some(\n (op: OperationModel) => op.type === 'delete',\n )\n if (updatedFolderIds.length > 0 && projectName && !hasDeleteOps) {\n dispatch(foldersQueries.util.invalidateTags([{ type: 'folder', id: 'LIST' }]))\n }\n } catch (error) {\n // undo all patches if there is an error\n for (const patch of patches) {\n patch.undo()\n }\n\n if (detailsPanelEntityCaches.length) {\n // we invalidate the tags for the detailsPanelEntityCaches that were patched\n // invalidate the details panel cache\n invalidateEntryPanel()\n }\n }\n },\n invalidatesTags: (_r, _e, { operationsRequestModel, projectName }) => {\n type Tags = { id: string; type: string }[]\n const userDashboardTags: Tags = [{ type: 'kanban', id: 'project-' + projectName }],\n taskProgressTags: Tags = [],\n entityListItemTags: Tags = []\n\n operationsRequestModel.operations?.forEach((op) => {\n const { entityId } = op\n if (entityId) {\n taskProgressTags.push({ type: 'progress', id: entityId })\n // Invalidate list item cache for this entity to trigger background refetch\n entityListItemTags.push({ type: 'entityListItem', id: entityId })\n } else {\n // new entity created, so we should invalidate everything\n taskProgressTags.push({ type: 'progress', id: 'LIST' })\n }\n })\n\n return [...userDashboardTags, ...taskProgressTags, ...entityListItemTags]\n },\n }),\n }),\n})\n\nexport const { useUpdateOverviewEntitiesMutation } = operationsApiEnhancedInjected\n"],"names":["updateEntityWithOperation","entity","operationData","key","existingLinks","newLinks","newLink","existingIndex","link","linksToDelete","linkId","getOverviewTaskTags","tasks","op","_a","getOverviewFolderTags","folders","createLinkDeletionPatch","entityId","entityType","linkIds","deleteLinksFromEntities","entities","patchOverviewEntities","state","dispatch","patches","entitiesByType","acc","patchOverviewTasks","patchOverviewFolders","tags","taskEntries","getOverviewApi","entry","tasksPatch","draft","taskOperation","page","task","patchTask","tasksArrayDraft","draftArray","invalidateOverviewTasks","folderEntries","foldersQueries","folderPatch","folderMap","folder","folderOperation","operationDataToDetailsData","data","sharedData","patchDetailsPanelEntity","operations","operation","detailsPanelData","pathParts","cleanUndefined","obj","val","newData","patchListItems","entries","entityListsQueriesGql","listItemsPatch","listOperation","item","splitByOpType","operationsEnhanced","operationsApi","operationsApiEnhancedInjected","build","arg","result","uniqueErrors","uniqueErrorCodes","e","operationsRequestModel","patchOperations","projectName","queryFulfilled","getState","operationsByType","_b","deleteOps","update","updatesToPatch","dep","_c","patchExtraTasks","patchExtraFolders","_d","patchVersions","_e","patchProducts","entityTags","entitiesTags","tag","invalidateEntryPanel","detailsPanelQueries","detailsPanelEntityCaches","detailsPanelEntitiesCaches","entitiesDetailsResult","taskOperations","folderOperations","updatedTaskIds","getUpdatedEntityIds","updatedFolderIds","overviewTaskTags","id","tasksListInfiniteEntries","refetchTasksForCacheEntry","overviewTasksEntries","refetchOverviewTasksForCacheEntry","hasDeleteOps","patch","_r","userDashboardTags","taskProgressTags","entityListItemTags","useUpdateOverviewEntitiesMutation"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require("../../base/client.cjs.js");const o=require("../../generated/graphql.cjs.js");require("../../generated/graphqlLinks.cjs.js");require("../../generated/access.cjs.js");require("../../generated/actions.cjs.js");require("../../generated/activityFeed.cjs.js");require("../../generated/addons.cjs.js");require("../../generated/anatomy.cjs.js");require("../../generated/attributes.cjs.js");require("../../generated/authentication.cjs.js");require("../../generated/bundles.cjs.js");require("../../generated/configuration.cjs.js");require("../../generated/desktop.cjs.js");require("../../generated/entityLists.cjs.js");require("../../generated/events.cjs.js");require("../../generated/files.cjs.js");require("../../generated/folders.cjs.js");require("../../generated/inbox.cjs.js");require("../../generated/links.cjs.js");require("../../generated/market.cjs.js");require("../../generated/onboarding.cjs.js");require("../../generated/operations.cjs.js");require("../../generated/products.cjs.js");require("../../generated/projectDashboard.cjs.js");require("../../generated/projects.cjs.js");require("../../generated/reviewables.cjs.js");require("../../generated/services.cjs.js");require("../../generated/system.cjs.js");require("../../generated/tasks.cjs.js");require("../../generated/teams.cjs.js");require("../../generated/thumbnails.cjs.js");require("../../generated/uRIs.cjs.js");const d=require("../../generated/users.cjs.js");require("../../generated/versions.cjs.js");require("../../generated/workfiles.cjs.js");require("../../generated/ynputCloud.cjs.js");require("../../generated/grouping.cjs.js");require("../../generated/views.cjs.js");require("../actions/getActions.cjs.js");require("../activities/getActivities.cjs.js");require("../activities/updateActivities.cjs.js");require("../activities/updateReaction.cjs.js");require("../activities/getMentions.cjs.js");require("../activities/getCategories.cjs.js");require("../addons/getAddons.cjs.js");require("../addons/updateAddons.cjs.js");require("../attributes/getAttributes.cjs.js");require("../attributes/updateAttributes.cjs.js");require("../authentication/getAuthentication.cjs.js");require("../cloud/cloud.cjs.js");require("../entities/getEntity.cjs.js");require("../entities/getEntityPanel.cjs.js");require("../entities/updateEntity.cjs.js");require("../entityLists/getLists.cjs.js");require("../entityLists/updateLists.cjs.js");require("../entityLists/getListsAttributes.cjs.js");require("../entityLists/updateListsAttributes.cjs.js");require("../entityLists/listFolders.cjs.js");require("../folders/getFolders.cjs.js");require("../grouping/getGrouping.cjs.js");require("../links/updateLinks.cjs.js");require("../links/getLinks.cjs.js");require("../links/getEntityLinks.cjs.js");const a=require("../overview/getOverview.cjs.js");require("../overview/updateOverview.cjs.js");require("../versions/getVersionsProducts.cjs.js");require("../permissions/getPermissions.cjs.js");require("../products/createProduct.cjs.js");require("../project/getProject.cjs.js");require("../project/updateProject.cjs.js");require("../review/getReview.cjs.js");require("../review/updateReview.cjs.js");require("../share/share.cjs.js");require("../system/getSystem.cjs.js");require("../userDashboard/getUserDashboard.cjs.js");require("./updateUsers.cjs.js");require("./guests.cjs.js");require("../versions/updateVersions.cjs.js");require("../views/getViews.cjs.js");require("../views/updateViews.cjs.js");require("../watchers/getWatchers.cjs.js");require("../uris/getUris.cjs.js");const q=`
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require("../../base/client.cjs.js");const o=require("../../generated/graphql.cjs.js");require("../../generated/graphqlLinks.cjs.js");require("../../generated/access.cjs.js");require("../../generated/actions.cjs.js");require("../../generated/activityFeed.cjs.js");require("../../generated/addons.cjs.js");require("../../generated/anatomy.cjs.js");require("../../generated/attributes.cjs.js");require("../../generated/authentication.cjs.js");require("../../generated/bundles.cjs.js");require("../../generated/configuration.cjs.js");require("../../generated/desktop.cjs.js");require("../../generated/entityLists.cjs.js");require("../../generated/events.cjs.js");require("../../generated/files.cjs.js");require("../../generated/folders.cjs.js");require("../../generated/inbox.cjs.js");require("../../generated/links.cjs.js");require("../../generated/market.cjs.js");require("../../generated/onboarding.cjs.js");require("../../generated/operations.cjs.js");require("../../generated/products.cjs.js");require("../../generated/projectDashboard.cjs.js");require("../../generated/projects.cjs.js");require("../../generated/reviewables.cjs.js");require("../../generated/services.cjs.js");require("../../generated/system.cjs.js");require("../../generated/tasks.cjs.js");require("../../generated/teams.cjs.js");require("../../generated/thumbnails.cjs.js");require("../../generated/uRIs.cjs.js");const d=require("../../generated/users.cjs.js");require("../../generated/versions.cjs.js");require("../../generated/workfiles.cjs.js");require("../../generated/ynputCloud.cjs.js");require("../../generated/grouping.cjs.js");require("../../generated/views.cjs.js");require("../actions/getActions.cjs.js");require("../activities/getActivities.cjs.js");require("../activities/updateActivities.cjs.js");require("../activities/updateReaction.cjs.js");require("../activities/getMentions.cjs.js");require("../activities/getCategories.cjs.js");require("../addons/getAddons.cjs.js");require("../addons/updateAddons.cjs.js");require("../attributes/getAttributes.cjs.js");require("../attributes/updateAttributes.cjs.js");require("../authentication/getAuthentication.cjs.js");require("../cloud/cloud.cjs.js");require("../config/getConfig.cjs.js");require("../config/updateConfig.cjs.js");require("../entities/getEntity.cjs.js");require("../entities/getEntityPanel.cjs.js");require("../entities/updateEntity.cjs.js");require("../entityLists/getLists.cjs.js");require("../entityLists/updateLists.cjs.js");require("../entityLists/getListsAttributes.cjs.js");require("../entityLists/updateListsAttributes.cjs.js");require("../entityLists/listFolders.cjs.js");require("../folders/getFolders.cjs.js");require("../grouping/getGrouping.cjs.js");require("../links/updateLinks.cjs.js");require("../links/getLinks.cjs.js");require("../links/getEntityLinks.cjs.js");const a=require("../overview/getOverview.cjs.js");require("../overview/updateOverview.cjs.js");require("../versions/getVersionsProducts.cjs.js");require("../permissions/getPermissions.cjs.js");require("../products/createProduct.cjs.js");require("../project/getProject.cjs.js");require("../project/updateProject.cjs.js");require("../review/getReview.cjs.js");require("../review/updateReview.cjs.js");require("../share/share.cjs.js");require("../system/getSystem.cjs.js");require("../userDashboard/getUserDashboard.cjs.js");require("./updateUsers.cjs.js");require("./guests.cjs.js");require("../versions/updateVersions.cjs.js");require("../views/getViews.cjs.js");require("../views/updateViews.cjs.js");require("../watchers/getWatchers.cjs.js");require("../uris/getUris.cjs.js");const q=`
2
2
  query UserList($name:String!) {
3
3
  users(name: $name) {
4
4
  edges {
@@ -68,5 +68,5 @@ query Assignees($projectName: String) {
68
68
  }
69
69
  }
70
70
  }
71
- }`,y=d.api.enhanceEndpoints({endpoints:{getCurrentUser:{providesTags:[{type:"user",id:"LIST"}]},getUser:{providesTags:r=>r?[{type:"user",id:r.name}]:[{type:"user",id:"LIST"}]},getUserSessions:{transformResponse:r=>r==null?void 0:r.sessions,providesTags:(r,e,{userName:s})=>[{type:"session",id:s}]}}}),n=o.api.injectEndpoints({endpoints:r=>({getUsers:r.query({query:()=>({url:"/graphql",method:"POST",body:{query:p,variables:{}}}),transformResponse:(e,s,{selfName:t})=>{var u;if(e!=null&&e.errors)throw console.log(e.errors),new Error(e.errors[0].message);return(u=e==null?void 0:e.data)==null?void 0:u.users.edges.map(i=>({...i.node,self:i.node.name===t,avatarUrl:`/api/users/${i.node.name}/avatar`,accessGroups:i.node.accessGroups?JSON.parse(i.node.accessGroups):{},attrib:a.parseAllAttribs(i.node.allAttrib)}))},providesTags:e=>e?[...e.map(s=>({type:"user",id:s.name})),{type:"user",id:"LIST"}]:[{type:"user",id:"LIST"}]}),getUserByName:r.query({query:({name:e})=>({url:"/graphql",method:"POST",body:{query:q,variables:{name:e}}}),transformResponse:e=>{var s;return(s=e==null?void 0:e.data)==null?void 0:s.users.edges.map(t=>{var u;return{...t.node,avatarUrl:`/api/users/${(u=t.node)==null?void 0:u.name}/avatar`,attrib:a.parseAllAttribs(t.node.allAttrib)}})},providesTags:e=>e?[...e.map(s=>({type:"user",id:s.name})),{type:"user",id:"LIST"}]:["user",{type:"user",id:"LIST"}]}),getUsersAssignee:r.query({query:({names:e,projectName:s})=>({url:"/graphql",method:"POST",body:{query:e?l:m,variables:{names:e,projectName:s}}}),transformResponse:e=>{var s;return(s=e==null?void 0:e.data)==null?void 0:s.users.edges.flatMap(t=>{var i;if(!t.node)return[];const u=t.node;return{name:u.name,fullName:(i=u.attrib)==null?void 0:i.fullName,avatarUrl:`/api/users/${u.name}/avatar`}})},providesTags:e=>e?[...e.map(s=>({type:"user",id:s.name})),{type:"user",id:"LIST"}]:[{type:"user",id:"LIST"}]})}),overrideExisting:!0}),g=n.enhanceEndpoints({endpoints:{GetAllProjectUsersAsAssignee:{transformResponse:r=>r.users.edges.map(e=>({name:e.node.name,fullName:e.node.attrib.fullName,updatedAt:e.node.updatedAt})),providesTags:r=>r?[{type:"user",id:"LIST"},...r.map(e=>({type:"user",id:e.name}))]:[{type:"user",id:"LIST"}]},GetActiveUsersCount:{transformResponse:r=>r.users.edges.filter(e=>e.node.active&&!e.node.isGuest).length,providesTags:[{type:"user",id:"LIST"}]},GetAllAssignees:{transformResponse:r=>r.users.edges.map(e=>({name:e.node.name,fullName:e.node.attrib.fullName,updatedAt:e.node.updatedAt})),providesTags:r=>r?[{type:"user",id:"LIST"},...r.map(e=>({type:"user",id:e.name}))]:[{type:"user",id:"LIST"}]}}}),{useGetAllProjectUsersAsAssigneeQuery:A,useLazyGetAllProjectUsersAsAssigneeQuery:c,useGetActiveUsersCountQuery:U,useGetAllAssigneesQuery:S,useGetUsersQuery:G,useGetUserByNameQuery:v,useGetUsersAssigneeQuery:T}=g,{useGetUserSessionsQuery:f,useGetCurrentUserQuery:Q,useGetUserQuery:b}=y;exports.default=n;exports.useGetActiveUsersCountQuery=U;exports.useGetAllAssigneesQuery=S;exports.useGetAllProjectUsersAsAssigneeQuery=A;exports.useGetCurrentUserQuery=Q;exports.useGetUserByNameQuery=v;exports.useGetUserQuery=b;exports.useGetUserSessionsQuery=f;exports.useGetUsersAssigneeQuery=T;exports.useGetUsersQuery=G;exports.useLazyGetAllProjectUsersAsAssigneeQuery=c;
71
+ }`,y=d.api.enhanceEndpoints({endpoints:{getCurrentUser:{providesTags:[{type:"user",id:"LIST"}]},getUser:{providesTags:r=>r?[{type:"user",id:r.name}]:[{type:"user",id:"LIST"}]},getUserSessions:{transformResponse:r=>r==null?void 0:r.sessions,providesTags:(r,e,{userName:s})=>[{type:"session",id:s}]}}}),n=o.api.injectEndpoints({endpoints:r=>({getUsers:r.query({query:()=>({url:"/graphql",method:"POST",body:{query:p,variables:{}}}),transformResponse:(e,s,{selfName:t})=>{var i;if(e!=null&&e.errors)throw console.log(e.errors),new Error(e.errors[0].message);return(i=e==null?void 0:e.data)==null?void 0:i.users.edges.filter(u=>u.node.name!=="CloudServiceWorker").map(u=>({...u.node,self:u.node.name===t,avatarUrl:`/api/users/${u.node.name}/avatar`,accessGroups:u.node.accessGroups?JSON.parse(u.node.accessGroups):{},attrib:a.parseAllAttribs(u.node.allAttrib)}))},providesTags:e=>e?[...e.map(s=>({type:"user",id:s.name})),{type:"user",id:"LIST"}]:[{type:"user",id:"LIST"}]}),getUserByName:r.query({query:({name:e})=>({url:"/graphql",method:"POST",body:{query:q,variables:{name:e}}}),transformResponse:e=>{var s;return(s=e==null?void 0:e.data)==null?void 0:s.users.edges.map(t=>{var i;return{...t.node,avatarUrl:`/api/users/${(i=t.node)==null?void 0:i.name}/avatar`,attrib:a.parseAllAttribs(t.node.allAttrib)}})},providesTags:e=>e?[...e.map(s=>({type:"user",id:s.name})),{type:"user",id:"LIST"}]:["user",{type:"user",id:"LIST"}]}),getUsersAssignee:r.query({query:({names:e,projectName:s})=>({url:"/graphql",method:"POST",body:{query:e?l:m,variables:{names:e,projectName:s}}}),transformResponse:e=>{var s;return(s=e==null?void 0:e.data)==null?void 0:s.users.edges.flatMap(t=>{var u;if(!t.node)return[];const i=t.node;return{name:i.name,fullName:(u=i.attrib)==null?void 0:u.fullName,avatarUrl:`/api/users/${i.name}/avatar`}})},providesTags:e=>e?[...e.map(s=>({type:"user",id:s.name})),{type:"user",id:"LIST"}]:[{type:"user",id:"LIST"}]})}),overrideExisting:!0}),g=n.enhanceEndpoints({endpoints:{GetAllProjectUsersAsAssignee:{transformResponse:r=>r.users.edges.map(e=>({name:e.node.name,fullName:e.node.attrib.fullName,updatedAt:e.node.updatedAt})),providesTags:r=>r?[{type:"user",id:"LIST"},...r.map(e=>({type:"user",id:e.name}))]:[{type:"user",id:"LIST"}]},GetActiveUsersCount:{transformResponse:r=>r.users.edges.filter(e=>e.node.active&&!e.node.isGuest).length,providesTags:[{type:"user",id:"LIST"}]},GetAllAssignees:{transformResponse:r=>r.users.edges.map(e=>({name:e.node.name,fullName:e.node.attrib.fullName,updatedAt:e.node.updatedAt})),providesTags:r=>r?[{type:"user",id:"LIST"},...r.map(e=>({type:"user",id:e.name}))]:[{type:"user",id:"LIST"}]}}}),{useGetAllProjectUsersAsAssigneeQuery:c,useLazyGetAllProjectUsersAsAssigneeQuery:A,useGetActiveUsersCountQuery:U,useGetAllAssigneesQuery:S,useGetUsersQuery:v,useGetUserByNameQuery:G,useGetUsersAssigneeQuery:T}=g,{useGetUserSessionsQuery:f,useGetCurrentUserQuery:Q,useGetUserQuery:b}=y;exports.default=n;exports.useGetActiveUsersCountQuery=U;exports.useGetAllAssigneesQuery=S;exports.useGetAllProjectUsersAsAssigneeQuery=c;exports.useGetCurrentUserQuery=Q;exports.useGetUserByNameQuery=G;exports.useGetUserQuery=b;exports.useGetUserSessionsQuery=f;exports.useGetUsersAssigneeQuery=T;exports.useGetUsersQuery=v;exports.useLazyGetAllProjectUsersAsAssigneeQuery=A;
72
72
  //# sourceMappingURL=getUsers.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getUsers.cjs.js","sources":["../../../../../../src/api/queries/users/getUsers.ts"],"sourcesContent":["import { GetCurrentUserApiResponse, gqlApi, usersApi } from '@shared/api/generated'\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\nimport { parseAllAttribs } from '@shared/api'\nimport {\n GetActiveUsersCountQuery,\n GetAllAssigneesQuery,\n GetAllProjectUsersAsAssigneeQuery,\n} from '@shared/api'\n\nconst USER_BY_NAME_QUERY = `\n query UserList($name:String!) {\n users(name: $name) {\n edges {\n node {\n name\n isAdmin\n isManager\n isService\n isDeveloper\n isGuest\n active\n accessGroups\n defaultAccessGroups\n hasPassword\n disablePasswordLogin\n allAttrib\n }\n }\n }\n }\n`\nconst USERS_QUERY = `\n query UserList {\n users(last: 2000) {\n edges {\n node {\n name\n isAdmin\n isManager\n isService\n isDeveloper\n isGuest\n active\n userPool\n accessGroups\n defaultAccessGroups\n hasPassword\n disablePasswordLogin\n createdAt\n updatedAt\n apiKeyPreview\n allAttrib\n }\n }\n }\n }\n`\n\nconst ASSIGNEES_BY_NAME_QUERY = `\nquery Assignees($names: [String!]!){\n users(names: $names) {\n edges {\n node {\n name\n attrib {\n fullName\n }\n }\n }\n}\n}`\nconst ASSIGNEES_QUERY = `\nquery Assignees($projectName: String) {\n users(last: 2000 projectName: $projectName) {\n edges {\n node {\n name\n attrib {\n fullName\n }\n }\n }\n}\n}`\n\ninterface GetCurrentUserResult extends GetCurrentUserApiResponse {\n uiExposureLevel: number\n}\n\ntype RestDefinitions = DefinitionsFromApi<typeof usersApi>\ntype RestTagTypes = TagTypesFromApi<typeof usersApi>\n// update the definitions to include the new types\ntype RestUpdatedDefinitions = Omit<RestDefinitions, 'getCurrentUser'> & {\n getCurrentUser: OverrideResultType<RestDefinitions['getCurrentUser'], GetCurrentUserResult>\n}\n\nconst enhancedApi = usersApi.enhanceEndpoints<RestTagTypes, RestUpdatedDefinitions>({\n endpoints: {\n getCurrentUser: {\n providesTags: [{ type: 'user', id: 'LIST' }],\n },\n getUser: {\n providesTags: (res) =>\n res ? [{ type: 'user', id: res.name }] : [{ type: 'user', id: 'LIST' }],\n },\n getUserSessions: {\n transformResponse: (res: any) => res?.sessions,\n providesTags: (_res, _g, { userName }) => [{ type: 'session', id: userName }],\n },\n },\n})\n\nconst injectedApi = gqlApi.injectEndpoints({\n endpoints: (build) => ({\n getUsers: build.query({\n query: () => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: USERS_QUERY,\n variables: {},\n },\n }),\n transformResponse: (res: any, _meta, { selfName }) => {\n if (res?.errors) {\n console.log(res.errors)\n throw new Error(res.errors[0].message)\n }\n\n return res?.data?.users.edges.map((e: any) => ({\n ...e.node,\n self: e.node.name === selfName,\n avatarUrl: `/api/users/${e.node.name}/avatar`,\n accessGroups: e.node.accessGroups ? JSON.parse(e.node.accessGroups) : {},\n attrib: parseAllAttribs(e.node.allAttrib),\n }))\n },\n providesTags: (users) =>\n users\n ? [...users.map((e: any) => ({ type: 'user', id: e.name })), { type: 'user', id: 'LIST' }]\n : [{ type: 'user', id: 'LIST' }],\n }),\n getUserByName: build.query({\n query: ({ name }) => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: USER_BY_NAME_QUERY,\n variables: { name },\n },\n }),\n transformResponse: (res: any) =>\n res?.data?.users.edges.map((e: any) => ({\n ...e.node,\n avatarUrl: `/api/users/${e.node?.name}/avatar`,\n attrib: parseAllAttribs(e.node.allAttrib),\n })),\n providesTags: (res) =>\n res\n ? [...res.map((e: any) => ({ type: 'user', id: e.name })), { type: 'user', id: 'LIST' }]\n : ['user', { type: 'user', id: 'LIST' }],\n }),\n getUsersAssignee: build.query({\n query: ({ names, projectName }) => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: names ? ASSIGNEES_BY_NAME_QUERY : ASSIGNEES_QUERY,\n variables: { names, projectName },\n },\n }),\n transformResponse: (res: any) =>\n res?.data?.users.edges.flatMap((u: any) => {\n if (!u.node) return []\n\n const n = u.node\n\n return {\n name: n.name,\n fullName: n.attrib?.fullName,\n avatarUrl: `/api/users/${n.name}/avatar`,\n }\n }),\n providesTags: (res) =>\n res\n ? [\n ...res.map((user: any) => ({ type: 'user', id: user.name })),\n { type: 'user', id: 'LIST' },\n ]\n : [{ type: 'user', id: 'LIST' }],\n }),\n }),\n overrideExisting: true,\n})\n\ntype AssigneeNode = GetAllProjectUsersAsAssigneeQuery['users']['edges'][0]['node']\nexport type Assignees = {\n name: AssigneeNode['name']\n fullName: AssigneeNode['attrib']['fullName']\n updatedAt: AssigneeNode['updatedAt']\n}[]\n\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'GetAllProjectUsersAsAssignee'> & {\n GetAllProjectUsersAsAssignee: OverrideResultType<\n Definitions['GetAllProjectUsersAsAssignee'],\n Assignees\n >\n GetActiveUsersCount: OverrideResultType<Definitions['GetActiveUsersCount'], number>\n GetAllAssignees: OverrideResultType<Definitions['GetAllAssignees'], Assignees>\n}\n\nconst gqlUsers = injectedApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n GetAllProjectUsersAsAssignee: {\n transformResponse: (res: GetAllProjectUsersAsAssigneeQuery) =>\n res.users.edges.map((e) => ({\n name: e.node.name,\n fullName: e.node.attrib.fullName,\n updatedAt: e.node.updatedAt,\n })),\n providesTags: (res) =>\n res\n ? [{ type: 'user', id: 'LIST' }, ...res.map((e) => ({ type: 'user', id: e.name }))]\n : [{ type: 'user', id: 'LIST' }],\n },\n GetActiveUsersCount: {\n transformResponse: (res: GetActiveUsersCountQuery) =>\n res.users.edges.filter((e) => e.node.active && !e.node.isGuest).length,\n providesTags: [{ type: 'user', id: 'LIST' }],\n },\n GetAllAssignees: {\n transformResponse: (res: GetAllAssigneesQuery) =>\n res.users.edges.map((e) => ({\n name: e.node.name,\n fullName: e.node.attrib.fullName,\n updatedAt: e.node.updatedAt,\n })),\n providesTags: (res) =>\n res\n ? [{ type: 'user', id: 'LIST' }, ...res.map((e) => ({ type: 'user', id: e.name }))]\n : [{ type: 'user', id: 'LIST' }],\n },\n },\n})\n\nexport const {\n useGetAllProjectUsersAsAssigneeQuery,\n useLazyGetAllProjectUsersAsAssigneeQuery,\n useGetActiveUsersCountQuery,\n useGetAllAssigneesQuery,\n useGetUsersQuery,\n useGetUserByNameQuery,\n useGetUsersAssigneeQuery,\n} = gqlUsers\n\nexport const { useGetUserSessionsQuery, useGetCurrentUserQuery, useGetUserQuery } = enhancedApi\nexport default injectedApi\n"],"names":["USER_BY_NAME_QUERY","USERS_QUERY","ASSIGNEES_BY_NAME_QUERY","ASSIGNEES_QUERY","enhancedApi","usersApi","res","_res","_g","userName","injectedApi","gqlApi","build","_meta","selfName","_a","e","parseAllAttribs","users","name","names","projectName","u","n","user","gqlUsers","useGetAllProjectUsersAsAssigneeQuery","useLazyGetAllProjectUsersAsAssigneeQuery","useGetActiveUsersCountQuery","useGetAllAssigneesQuery","useGetUsersQuery","useGetUserByNameQuery","useGetUsersAssigneeQuery","useGetUserSessionsQuery","useGetCurrentUserQuery","useGetUserQuery"],"mappings":"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"}
1
+ {"version":3,"file":"getUsers.cjs.js","sources":["../../../../../../src/api/queries/users/getUsers.ts"],"sourcesContent":["import { GetCurrentUserApiResponse, gqlApi, usersApi } from '@shared/api/generated'\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\nimport { parseAllAttribs } from '@shared/api'\nimport {\n GetActiveUsersCountQuery,\n GetAllAssigneesQuery,\n GetAllProjectUsersAsAssigneeQuery,\n} from '@shared/api'\n\nconst USER_BY_NAME_QUERY = `\n query UserList($name:String!) {\n users(name: $name) {\n edges {\n node {\n name\n isAdmin\n isManager\n isService\n isDeveloper\n isGuest\n active\n accessGroups\n defaultAccessGroups\n hasPassword\n disablePasswordLogin\n allAttrib\n }\n }\n }\n }\n`\nconst USERS_QUERY = `\n query UserList {\n users(last: 2000) {\n edges {\n node {\n name\n isAdmin\n isManager\n isService\n isDeveloper\n isGuest\n active\n userPool\n accessGroups\n defaultAccessGroups\n hasPassword\n disablePasswordLogin\n createdAt\n updatedAt\n apiKeyPreview\n allAttrib\n }\n }\n }\n }\n`\n\nconst ASSIGNEES_BY_NAME_QUERY = `\nquery Assignees($names: [String!]!){\n users(names: $names) {\n edges {\n node {\n name\n attrib {\n fullName\n }\n }\n }\n}\n}`\nconst ASSIGNEES_QUERY = `\nquery Assignees($projectName: String) {\n users(last: 2000 projectName: $projectName) {\n edges {\n node {\n name\n attrib {\n fullName\n }\n }\n }\n}\n}`\n\ninterface GetCurrentUserResult extends GetCurrentUserApiResponse {\n uiExposureLevel: number\n}\n\ntype RestDefinitions = DefinitionsFromApi<typeof usersApi>\ntype RestTagTypes = TagTypesFromApi<typeof usersApi>\n// update the definitions to include the new types\ntype RestUpdatedDefinitions = Omit<RestDefinitions, 'getCurrentUser'> & {\n getCurrentUser: OverrideResultType<RestDefinitions['getCurrentUser'], GetCurrentUserResult>\n}\n\nconst enhancedApi = usersApi.enhanceEndpoints<RestTagTypes, RestUpdatedDefinitions>({\n endpoints: {\n getCurrentUser: {\n providesTags: [{ type: 'user', id: 'LIST' }],\n },\n getUser: {\n providesTags: (res) =>\n res ? [{ type: 'user', id: res.name }] : [{ type: 'user', id: 'LIST' }],\n },\n getUserSessions: {\n transformResponse: (res: any) => res?.sessions,\n providesTags: (_res, _g, { userName }) => [{ type: 'session', id: userName }],\n },\n },\n})\n\nconst injectedApi = gqlApi.injectEndpoints({\n endpoints: (build) => ({\n getUsers: build.query({\n query: () => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: USERS_QUERY,\n variables: {},\n },\n }),\n transformResponse: (res: any, _meta, { selfName }) => {\n if (res?.errors) {\n console.log(res.errors)\n throw new Error(res.errors[0].message)\n }\n\n return res?.data?.users.edges.filter((e:any) => e.node.name !== 'CloudServiceWorker').map((e: any) => ({\n ...e.node,\n self: e.node.name === selfName,\n avatarUrl: `/api/users/${e.node.name}/avatar`,\n accessGroups: e.node.accessGroups ? JSON.parse(e.node.accessGroups) : {},\n attrib: parseAllAttribs(e.node.allAttrib),\n }))\n },\n providesTags: (users) =>\n users\n ? [...users.map((e: any) => ({ type: 'user', id: e.name })), { type: 'user', id: 'LIST' }]\n : [{ type: 'user', id: 'LIST' }],\n }),\n getUserByName: build.query({\n query: ({ name }) => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: USER_BY_NAME_QUERY,\n variables: { name },\n },\n }),\n transformResponse: (res: any) =>\n res?.data?.users.edges.map((e: any) => ({\n ...e.node,\n avatarUrl: `/api/users/${e.node?.name}/avatar`,\n attrib: parseAllAttribs(e.node.allAttrib),\n })),\n providesTags: (res) =>\n res\n ? [...res.map((e: any) => ({ type: 'user', id: e.name })), { type: 'user', id: 'LIST' }]\n : ['user', { type: 'user', id: 'LIST' }],\n }),\n getUsersAssignee: build.query({\n query: ({ names, projectName }) => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: names ? ASSIGNEES_BY_NAME_QUERY : ASSIGNEES_QUERY,\n variables: { names, projectName },\n },\n }),\n transformResponse: (res: any) =>\n res?.data?.users.edges.flatMap((u: any) => {\n if (!u.node) return []\n\n const n = u.node\n\n return {\n name: n.name,\n fullName: n.attrib?.fullName,\n avatarUrl: `/api/users/${n.name}/avatar`,\n }\n }),\n providesTags: (res) =>\n res\n ? [\n ...res.map((user: any) => ({ type: 'user', id: user.name })),\n { type: 'user', id: 'LIST' },\n ]\n : [{ type: 'user', id: 'LIST' }],\n }),\n }),\n overrideExisting: true,\n})\n\ntype AssigneeNode = GetAllProjectUsersAsAssigneeQuery['users']['edges'][0]['node']\nexport type Assignees = {\n name: AssigneeNode['name']\n fullName: AssigneeNode['attrib']['fullName']\n updatedAt: AssigneeNode['updatedAt']\n}[]\n\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'GetAllProjectUsersAsAssignee'> & {\n GetAllProjectUsersAsAssignee: OverrideResultType<\n Definitions['GetAllProjectUsersAsAssignee'],\n Assignees\n >\n GetActiveUsersCount: OverrideResultType<Definitions['GetActiveUsersCount'], number>\n GetAllAssignees: OverrideResultType<Definitions['GetAllAssignees'], Assignees>\n}\n\nconst gqlUsers = injectedApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n GetAllProjectUsersAsAssignee: {\n transformResponse: (res: GetAllProjectUsersAsAssigneeQuery) =>\n res.users.edges.map((e) => ({\n name: e.node.name,\n fullName: e.node.attrib.fullName,\n updatedAt: e.node.updatedAt,\n })),\n providesTags: (res) =>\n res\n ? [{ type: 'user', id: 'LIST' }, ...res.map((e) => ({ type: 'user', id: e.name }))]\n : [{ type: 'user', id: 'LIST' }],\n },\n GetActiveUsersCount: {\n transformResponse: (res: GetActiveUsersCountQuery) =>\n res.users.edges.filter((e) => e.node.active && !e.node.isGuest).length,\n providesTags: [{ type: 'user', id: 'LIST' }],\n },\n GetAllAssignees: {\n transformResponse: (res: GetAllAssigneesQuery) =>\n res.users.edges.map((e) => ({\n name: e.node.name,\n fullName: e.node.attrib.fullName,\n updatedAt: e.node.updatedAt,\n })),\n providesTags: (res) =>\n res\n ? [{ type: 'user', id: 'LIST' }, ...res.map((e) => ({ type: 'user', id: e.name }))]\n : [{ type: 'user', id: 'LIST' }],\n },\n },\n})\n\nexport const {\n useGetAllProjectUsersAsAssigneeQuery,\n useLazyGetAllProjectUsersAsAssigneeQuery,\n useGetActiveUsersCountQuery,\n useGetAllAssigneesQuery,\n useGetUsersQuery,\n useGetUserByNameQuery,\n useGetUsersAssigneeQuery,\n} = gqlUsers\n\nexport const { useGetUserSessionsQuery, useGetCurrentUserQuery, useGetUserQuery } = enhancedApi\nexport default injectedApi\n"],"names":["USER_BY_NAME_QUERY","USERS_QUERY","ASSIGNEES_BY_NAME_QUERY","ASSIGNEES_QUERY","enhancedApi","usersApi","res","_res","_g","userName","injectedApi","gqlApi","build","_meta","selfName","_a","e","parseAllAttribs","users","name","names","projectName","u","n","user","gqlUsers","useGetAllProjectUsersAsAssigneeQuery","useLazyGetAllProjectUsersAsAssigneeQuery","useGetActiveUsersCountQuery","useGetAllAssigneesQuery","useGetUsersQuery","useGetUserByNameQuery","useGetUsersAssigneeQuery","useGetUserSessionsQuery","useGetCurrentUserQuery","useGetUserQuery"],"mappings":"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"}
@@ -48,6 +48,8 @@ import "../attributes/getAttributes.es.js";
48
48
  import "../attributes/updateAttributes.es.js";
49
49
  import "../authentication/getAuthentication.es.js";
50
50
  import "../cloud/cloud.es.js";
51
+ import "../config/getConfig.es.js";
52
+ import "../config/updateConfig.es.js";
51
53
  import "../entities/getEntity.es.js";
52
54
  import "../entities/getEntityPanel.es.js";
53
55
  import "../entities/updateEntity.es.js";
@@ -175,15 +177,15 @@ query Assignees($projectName: String) {
175
177
  }
176
178
  }),
177
179
  transformResponse: (e, t, { selfName: o }) => {
178
- var s;
180
+ var i;
179
181
  if (e != null && e.errors)
180
182
  throw console.log(e.errors), new Error(e.errors[0].message);
181
- return (s = e == null ? void 0 : e.data) == null ? void 0 : s.users.edges.map((i) => ({
182
- ...i.node,
183
- self: i.node.name === o,
184
- avatarUrl: `/api/users/${i.node.name}/avatar`,
185
- accessGroups: i.node.accessGroups ? JSON.parse(i.node.accessGroups) : {},
186
- attrib: p(i.node.allAttrib)
183
+ return (i = e == null ? void 0 : e.data) == null ? void 0 : i.users.edges.filter((s) => s.node.name !== "CloudServiceWorker").map((s) => ({
184
+ ...s.node,
185
+ self: s.node.name === o,
186
+ avatarUrl: `/api/users/${s.node.name}/avatar`,
187
+ accessGroups: s.node.accessGroups ? JSON.parse(s.node.accessGroups) : {},
188
+ attrib: p(s.node.allAttrib)
187
189
  }));
188
190
  },
189
191
  providesTags: (e) => e ? [...e.map((t) => ({ type: "user", id: t.name })), { type: "user", id: "LIST" }] : [{ type: "user", id: "LIST" }]
@@ -200,10 +202,10 @@ query Assignees($projectName: String) {
200
202
  transformResponse: (e) => {
201
203
  var t;
202
204
  return (t = e == null ? void 0 : e.data) == null ? void 0 : t.users.edges.map((o) => {
203
- var s;
205
+ var i;
204
206
  return {
205
207
  ...o.node,
206
- avatarUrl: `/api/users/${(s = o.node) == null ? void 0 : s.name}/avatar`,
208
+ avatarUrl: `/api/users/${(i = o.node) == null ? void 0 : i.name}/avatar`,
207
209
  attrib: p(o.node.allAttrib)
208
210
  };
209
211
  });
@@ -222,13 +224,13 @@ query Assignees($projectName: String) {
222
224
  transformResponse: (e) => {
223
225
  var t;
224
226
  return (t = e == null ? void 0 : e.data) == null ? void 0 : t.users.edges.flatMap((o) => {
225
- var i;
227
+ var s;
226
228
  if (!o.node) return [];
227
- const s = o.node;
229
+ const i = o.node;
228
230
  return {
229
- name: s.name,
230
- fullName: (i = s.attrib) == null ? void 0 : i.fullName,
231
- avatarUrl: `/api/users/${s.name}/avatar`
231
+ name: i.name,
232
+ fullName: (s = i.attrib) == null ? void 0 : s.fullName,
233
+ avatarUrl: `/api/users/${i.name}/avatar`
232
234
  };
233
235
  });
234
236
  },
@@ -263,25 +265,25 @@ query Assignees($projectName: String) {
263
265
  }
264
266
  }
265
267
  }), {
266
- useGetAllProjectUsersAsAssigneeQuery: De,
267
- useLazyGetAllProjectUsersAsAssigneeQuery: ze,
268
- useGetActiveUsersCountQuery: Je,
269
- useGetAllAssigneesQuery: Ke,
270
- useGetUsersQuery: Fe,
271
- useGetUserByNameQuery: He,
272
- useGetUsersAssigneeQuery: Ve
273
- } = c, { useGetUserSessionsQuery: We, useGetCurrentUserQuery: Xe, useGetUserQuery: Ze } = g;
268
+ useGetAllProjectUsersAsAssigneeQuery: Je,
269
+ useLazyGetAllProjectUsersAsAssigneeQuery: Ke,
270
+ useGetActiveUsersCountQuery: We,
271
+ useGetAllAssigneesQuery: Fe,
272
+ useGetUsersQuery: He,
273
+ useGetUserByNameQuery: Ve,
274
+ useGetUsersAssigneeQuery: Xe
275
+ } = c, { useGetUserSessionsQuery: Ze, useGetCurrentUserQuery: er, useGetUserQuery: rr } = g;
274
276
  export {
275
277
  y as default,
276
- Je as useGetActiveUsersCountQuery,
277
- Ke as useGetAllAssigneesQuery,
278
- De as useGetAllProjectUsersAsAssigneeQuery,
279
- Xe as useGetCurrentUserQuery,
280
- He as useGetUserByNameQuery,
281
- Ze as useGetUserQuery,
282
- We as useGetUserSessionsQuery,
283
- Ve as useGetUsersAssigneeQuery,
284
- Fe as useGetUsersQuery,
285
- ze as useLazyGetAllProjectUsersAsAssigneeQuery
278
+ We as useGetActiveUsersCountQuery,
279
+ Fe as useGetAllAssigneesQuery,
280
+ Je as useGetAllProjectUsersAsAssigneeQuery,
281
+ er as useGetCurrentUserQuery,
282
+ Ve as useGetUserByNameQuery,
283
+ rr as useGetUserQuery,
284
+ Ze as useGetUserSessionsQuery,
285
+ Xe as useGetUsersAssigneeQuery,
286
+ He as useGetUsersQuery,
287
+ Ke as useLazyGetAllProjectUsersAsAssigneeQuery
286
288
  };
287
289
  //# sourceMappingURL=getUsers.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getUsers.es.js","sources":["../../../../../../src/api/queries/users/getUsers.ts"],"sourcesContent":["import { GetCurrentUserApiResponse, gqlApi, usersApi } from '@shared/api/generated'\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\nimport { parseAllAttribs } from '@shared/api'\nimport {\n GetActiveUsersCountQuery,\n GetAllAssigneesQuery,\n GetAllProjectUsersAsAssigneeQuery,\n} from '@shared/api'\n\nconst USER_BY_NAME_QUERY = `\n query UserList($name:String!) {\n users(name: $name) {\n edges {\n node {\n name\n isAdmin\n isManager\n isService\n isDeveloper\n isGuest\n active\n accessGroups\n defaultAccessGroups\n hasPassword\n disablePasswordLogin\n allAttrib\n }\n }\n }\n }\n`\nconst USERS_QUERY = `\n query UserList {\n users(last: 2000) {\n edges {\n node {\n name\n isAdmin\n isManager\n isService\n isDeveloper\n isGuest\n active\n userPool\n accessGroups\n defaultAccessGroups\n hasPassword\n disablePasswordLogin\n createdAt\n updatedAt\n apiKeyPreview\n allAttrib\n }\n }\n }\n }\n`\n\nconst ASSIGNEES_BY_NAME_QUERY = `\nquery Assignees($names: [String!]!){\n users(names: $names) {\n edges {\n node {\n name\n attrib {\n fullName\n }\n }\n }\n}\n}`\nconst ASSIGNEES_QUERY = `\nquery Assignees($projectName: String) {\n users(last: 2000 projectName: $projectName) {\n edges {\n node {\n name\n attrib {\n fullName\n }\n }\n }\n}\n}`\n\ninterface GetCurrentUserResult extends GetCurrentUserApiResponse {\n uiExposureLevel: number\n}\n\ntype RestDefinitions = DefinitionsFromApi<typeof usersApi>\ntype RestTagTypes = TagTypesFromApi<typeof usersApi>\n// update the definitions to include the new types\ntype RestUpdatedDefinitions = Omit<RestDefinitions, 'getCurrentUser'> & {\n getCurrentUser: OverrideResultType<RestDefinitions['getCurrentUser'], GetCurrentUserResult>\n}\n\nconst enhancedApi = usersApi.enhanceEndpoints<RestTagTypes, RestUpdatedDefinitions>({\n endpoints: {\n getCurrentUser: {\n providesTags: [{ type: 'user', id: 'LIST' }],\n },\n getUser: {\n providesTags: (res) =>\n res ? [{ type: 'user', id: res.name }] : [{ type: 'user', id: 'LIST' }],\n },\n getUserSessions: {\n transformResponse: (res: any) => res?.sessions,\n providesTags: (_res, _g, { userName }) => [{ type: 'session', id: userName }],\n },\n },\n})\n\nconst injectedApi = gqlApi.injectEndpoints({\n endpoints: (build) => ({\n getUsers: build.query({\n query: () => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: USERS_QUERY,\n variables: {},\n },\n }),\n transformResponse: (res: any, _meta, { selfName }) => {\n if (res?.errors) {\n console.log(res.errors)\n throw new Error(res.errors[0].message)\n }\n\n return res?.data?.users.edges.map((e: any) => ({\n ...e.node,\n self: e.node.name === selfName,\n avatarUrl: `/api/users/${e.node.name}/avatar`,\n accessGroups: e.node.accessGroups ? JSON.parse(e.node.accessGroups) : {},\n attrib: parseAllAttribs(e.node.allAttrib),\n }))\n },\n providesTags: (users) =>\n users\n ? [...users.map((e: any) => ({ type: 'user', id: e.name })), { type: 'user', id: 'LIST' }]\n : [{ type: 'user', id: 'LIST' }],\n }),\n getUserByName: build.query({\n query: ({ name }) => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: USER_BY_NAME_QUERY,\n variables: { name },\n },\n }),\n transformResponse: (res: any) =>\n res?.data?.users.edges.map((e: any) => ({\n ...e.node,\n avatarUrl: `/api/users/${e.node?.name}/avatar`,\n attrib: parseAllAttribs(e.node.allAttrib),\n })),\n providesTags: (res) =>\n res\n ? [...res.map((e: any) => ({ type: 'user', id: e.name })), { type: 'user', id: 'LIST' }]\n : ['user', { type: 'user', id: 'LIST' }],\n }),\n getUsersAssignee: build.query({\n query: ({ names, projectName }) => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: names ? ASSIGNEES_BY_NAME_QUERY : ASSIGNEES_QUERY,\n variables: { names, projectName },\n },\n }),\n transformResponse: (res: any) =>\n res?.data?.users.edges.flatMap((u: any) => {\n if (!u.node) return []\n\n const n = u.node\n\n return {\n name: n.name,\n fullName: n.attrib?.fullName,\n avatarUrl: `/api/users/${n.name}/avatar`,\n }\n }),\n providesTags: (res) =>\n res\n ? [\n ...res.map((user: any) => ({ type: 'user', id: user.name })),\n { type: 'user', id: 'LIST' },\n ]\n : [{ type: 'user', id: 'LIST' }],\n }),\n }),\n overrideExisting: true,\n})\n\ntype AssigneeNode = GetAllProjectUsersAsAssigneeQuery['users']['edges'][0]['node']\nexport type Assignees = {\n name: AssigneeNode['name']\n fullName: AssigneeNode['attrib']['fullName']\n updatedAt: AssigneeNode['updatedAt']\n}[]\n\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'GetAllProjectUsersAsAssignee'> & {\n GetAllProjectUsersAsAssignee: OverrideResultType<\n Definitions['GetAllProjectUsersAsAssignee'],\n Assignees\n >\n GetActiveUsersCount: OverrideResultType<Definitions['GetActiveUsersCount'], number>\n GetAllAssignees: OverrideResultType<Definitions['GetAllAssignees'], Assignees>\n}\n\nconst gqlUsers = injectedApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n GetAllProjectUsersAsAssignee: {\n transformResponse: (res: GetAllProjectUsersAsAssigneeQuery) =>\n res.users.edges.map((e) => ({\n name: e.node.name,\n fullName: e.node.attrib.fullName,\n updatedAt: e.node.updatedAt,\n })),\n providesTags: (res) =>\n res\n ? [{ type: 'user', id: 'LIST' }, ...res.map((e) => ({ type: 'user', id: e.name }))]\n : [{ type: 'user', id: 'LIST' }],\n },\n GetActiveUsersCount: {\n transformResponse: (res: GetActiveUsersCountQuery) =>\n res.users.edges.filter((e) => e.node.active && !e.node.isGuest).length,\n providesTags: [{ type: 'user', id: 'LIST' }],\n },\n GetAllAssignees: {\n transformResponse: (res: GetAllAssigneesQuery) =>\n res.users.edges.map((e) => ({\n name: e.node.name,\n fullName: e.node.attrib.fullName,\n updatedAt: e.node.updatedAt,\n })),\n providesTags: (res) =>\n res\n ? [{ type: 'user', id: 'LIST' }, ...res.map((e) => ({ type: 'user', id: e.name }))]\n : [{ type: 'user', id: 'LIST' }],\n },\n },\n})\n\nexport const {\n useGetAllProjectUsersAsAssigneeQuery,\n useLazyGetAllProjectUsersAsAssigneeQuery,\n useGetActiveUsersCountQuery,\n useGetAllAssigneesQuery,\n useGetUsersQuery,\n useGetUserByNameQuery,\n useGetUsersAssigneeQuery,\n} = gqlUsers\n\nexport const { useGetUserSessionsQuery, useGetCurrentUserQuery, useGetUserQuery } = enhancedApi\nexport default injectedApi\n"],"names":["USER_BY_NAME_QUERY","USERS_QUERY","ASSIGNEES_BY_NAME_QUERY","ASSIGNEES_QUERY","enhancedApi","usersApi","res","_res","_g","userName","injectedApi","gqlApi","build","_meta","selfName","_a","e","parseAllAttribs","users","name","names","projectName","u","n","user","gqlUsers","useGetAllProjectUsersAsAssigneeQuery","useLazyGetAllProjectUsersAsAssigneeQuery","useGetActiveUsersCountQuery","useGetAllAssigneesQuery","useGetUsersQuery","useGetUserByNameQuery","useGetUsersAssigneeQuery","useGetUserSessionsQuery","useGetCurrentUserQuery","useGetUserQuery"],"mappings":"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"}
1
+ {"version":3,"file":"getUsers.es.js","sources":["../../../../../../src/api/queries/users/getUsers.ts"],"sourcesContent":["import { GetCurrentUserApiResponse, gqlApi, usersApi } from '@shared/api/generated'\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\nimport { parseAllAttribs } from '@shared/api'\nimport {\n GetActiveUsersCountQuery,\n GetAllAssigneesQuery,\n GetAllProjectUsersAsAssigneeQuery,\n} from '@shared/api'\n\nconst USER_BY_NAME_QUERY = `\n query UserList($name:String!) {\n users(name: $name) {\n edges {\n node {\n name\n isAdmin\n isManager\n isService\n isDeveloper\n isGuest\n active\n accessGroups\n defaultAccessGroups\n hasPassword\n disablePasswordLogin\n allAttrib\n }\n }\n }\n }\n`\nconst USERS_QUERY = `\n query UserList {\n users(last: 2000) {\n edges {\n node {\n name\n isAdmin\n isManager\n isService\n isDeveloper\n isGuest\n active\n userPool\n accessGroups\n defaultAccessGroups\n hasPassword\n disablePasswordLogin\n createdAt\n updatedAt\n apiKeyPreview\n allAttrib\n }\n }\n }\n }\n`\n\nconst ASSIGNEES_BY_NAME_QUERY = `\nquery Assignees($names: [String!]!){\n users(names: $names) {\n edges {\n node {\n name\n attrib {\n fullName\n }\n }\n }\n}\n}`\nconst ASSIGNEES_QUERY = `\nquery Assignees($projectName: String) {\n users(last: 2000 projectName: $projectName) {\n edges {\n node {\n name\n attrib {\n fullName\n }\n }\n }\n}\n}`\n\ninterface GetCurrentUserResult extends GetCurrentUserApiResponse {\n uiExposureLevel: number\n}\n\ntype RestDefinitions = DefinitionsFromApi<typeof usersApi>\ntype RestTagTypes = TagTypesFromApi<typeof usersApi>\n// update the definitions to include the new types\ntype RestUpdatedDefinitions = Omit<RestDefinitions, 'getCurrentUser'> & {\n getCurrentUser: OverrideResultType<RestDefinitions['getCurrentUser'], GetCurrentUserResult>\n}\n\nconst enhancedApi = usersApi.enhanceEndpoints<RestTagTypes, RestUpdatedDefinitions>({\n endpoints: {\n getCurrentUser: {\n providesTags: [{ type: 'user', id: 'LIST' }],\n },\n getUser: {\n providesTags: (res) =>\n res ? [{ type: 'user', id: res.name }] : [{ type: 'user', id: 'LIST' }],\n },\n getUserSessions: {\n transformResponse: (res: any) => res?.sessions,\n providesTags: (_res, _g, { userName }) => [{ type: 'session', id: userName }],\n },\n },\n})\n\nconst injectedApi = gqlApi.injectEndpoints({\n endpoints: (build) => ({\n getUsers: build.query({\n query: () => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: USERS_QUERY,\n variables: {},\n },\n }),\n transformResponse: (res: any, _meta, { selfName }) => {\n if (res?.errors) {\n console.log(res.errors)\n throw new Error(res.errors[0].message)\n }\n\n return res?.data?.users.edges.filter((e:any) => e.node.name !== 'CloudServiceWorker').map((e: any) => ({\n ...e.node,\n self: e.node.name === selfName,\n avatarUrl: `/api/users/${e.node.name}/avatar`,\n accessGroups: e.node.accessGroups ? JSON.parse(e.node.accessGroups) : {},\n attrib: parseAllAttribs(e.node.allAttrib),\n }))\n },\n providesTags: (users) =>\n users\n ? [...users.map((e: any) => ({ type: 'user', id: e.name })), { type: 'user', id: 'LIST' }]\n : [{ type: 'user', id: 'LIST' }],\n }),\n getUserByName: build.query({\n query: ({ name }) => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: USER_BY_NAME_QUERY,\n variables: { name },\n },\n }),\n transformResponse: (res: any) =>\n res?.data?.users.edges.map((e: any) => ({\n ...e.node,\n avatarUrl: `/api/users/${e.node?.name}/avatar`,\n attrib: parseAllAttribs(e.node.allAttrib),\n })),\n providesTags: (res) =>\n res\n ? [...res.map((e: any) => ({ type: 'user', id: e.name })), { type: 'user', id: 'LIST' }]\n : ['user', { type: 'user', id: 'LIST' }],\n }),\n getUsersAssignee: build.query({\n query: ({ names, projectName }) => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: names ? ASSIGNEES_BY_NAME_QUERY : ASSIGNEES_QUERY,\n variables: { names, projectName },\n },\n }),\n transformResponse: (res: any) =>\n res?.data?.users.edges.flatMap((u: any) => {\n if (!u.node) return []\n\n const n = u.node\n\n return {\n name: n.name,\n fullName: n.attrib?.fullName,\n avatarUrl: `/api/users/${n.name}/avatar`,\n }\n }),\n providesTags: (res) =>\n res\n ? [\n ...res.map((user: any) => ({ type: 'user', id: user.name })),\n { type: 'user', id: 'LIST' },\n ]\n : [{ type: 'user', id: 'LIST' }],\n }),\n }),\n overrideExisting: true,\n})\n\ntype AssigneeNode = GetAllProjectUsersAsAssigneeQuery['users']['edges'][0]['node']\nexport type Assignees = {\n name: AssigneeNode['name']\n fullName: AssigneeNode['attrib']['fullName']\n updatedAt: AssigneeNode['updatedAt']\n}[]\n\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'GetAllProjectUsersAsAssignee'> & {\n GetAllProjectUsersAsAssignee: OverrideResultType<\n Definitions['GetAllProjectUsersAsAssignee'],\n Assignees\n >\n GetActiveUsersCount: OverrideResultType<Definitions['GetActiveUsersCount'], number>\n GetAllAssignees: OverrideResultType<Definitions['GetAllAssignees'], Assignees>\n}\n\nconst gqlUsers = injectedApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n GetAllProjectUsersAsAssignee: {\n transformResponse: (res: GetAllProjectUsersAsAssigneeQuery) =>\n res.users.edges.map((e) => ({\n name: e.node.name,\n fullName: e.node.attrib.fullName,\n updatedAt: e.node.updatedAt,\n })),\n providesTags: (res) =>\n res\n ? [{ type: 'user', id: 'LIST' }, ...res.map((e) => ({ type: 'user', id: e.name }))]\n : [{ type: 'user', id: 'LIST' }],\n },\n GetActiveUsersCount: {\n transformResponse: (res: GetActiveUsersCountQuery) =>\n res.users.edges.filter((e) => e.node.active && !e.node.isGuest).length,\n providesTags: [{ type: 'user', id: 'LIST' }],\n },\n GetAllAssignees: {\n transformResponse: (res: GetAllAssigneesQuery) =>\n res.users.edges.map((e) => ({\n name: e.node.name,\n fullName: e.node.attrib.fullName,\n updatedAt: e.node.updatedAt,\n })),\n providesTags: (res) =>\n res\n ? [{ type: 'user', id: 'LIST' }, ...res.map((e) => ({ type: 'user', id: e.name }))]\n : [{ type: 'user', id: 'LIST' }],\n },\n },\n})\n\nexport const {\n useGetAllProjectUsersAsAssigneeQuery,\n useLazyGetAllProjectUsersAsAssigneeQuery,\n useGetActiveUsersCountQuery,\n useGetAllAssigneesQuery,\n useGetUsersQuery,\n useGetUserByNameQuery,\n useGetUsersAssigneeQuery,\n} = gqlUsers\n\nexport const { useGetUserSessionsQuery, useGetCurrentUserQuery, useGetUserQuery } = enhancedApi\nexport default injectedApi\n"],"names":["USER_BY_NAME_QUERY","USERS_QUERY","ASSIGNEES_BY_NAME_QUERY","ASSIGNEES_QUERY","enhancedApi","usersApi","res","_res","_g","userName","injectedApi","gqlApi","build","_meta","selfName","_a","e","parseAllAttribs","users","name","names","projectName","u","n","user","gqlUsers","useGetAllProjectUsersAsAssigneeQuery","useLazyGetAllProjectUsersAsAssigneeQuery","useGetActiveUsersCountQuery","useGetAllAssigneesQuery","useGetUsersQuery","useGetUserByNameQuery","useGetUsersAssigneeQuery","useGetUserSessionsQuery","useGetCurrentUserQuery","useGetUserQuery"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,MAAMA,IAAqB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAsBrBC,IAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GA2BdC,IAA0B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAa1BC,IAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAyBlBC,IAAcC,EAAS,iBAAuD;AAAA,EAClF,WAAW;AAAA,IACT,gBAAgB;AAAA,MACd,cAAc,CAAC,EAAE,MAAM,QAAQ,IAAI,OAAQ,CAAA;AAAA,IAC7C;AAAA,IACA,SAAS;AAAA,MACP,cAAc,CAACC,MACbA,IAAM,CAAC,EAAE,MAAM,QAAQ,IAAIA,EAAI,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,QAAQ,IAAI,OAAQ,CAAA;AAAA,IAC1E;AAAA,IACA,iBAAiB;AAAA,MACf,mBAAmB,CAACA,MAAaA,KAAA,gBAAAA,EAAK;AAAA,MACtC,cAAc,CAACC,GAAMC,GAAI,EAAE,UAAAC,EAAA,MAAe,CAAC,EAAE,MAAM,WAAW,IAAIA,EAAU,CAAA;AAAA,IAAA;AAAA,EAC9E;AAEJ,CAAC,GAEKC,IAAcC,EAAO,gBAAgB;AAAA,EACzC,WAAW,CAACC,OAAW;AAAA,IACrB,UAAUA,EAAM,MAAM;AAAA,MACpB,OAAO,OAAO;AAAA,QACZ,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,MAAM;AAAA,UACJ,OAAOX;AAAA,UACP,WAAW,CAAA;AAAA,QAAC;AAAA,MACd;AAAA,MAEF,mBAAmB,CAACK,GAAUO,GAAO,EAAE,UAAAC,QAAe;;AACpD,YAAIR,KAAA,QAAAA,EAAK;AACC,wBAAA,IAAIA,EAAI,MAAM,GAChB,IAAI,MAAMA,EAAI,OAAO,CAAC,EAAE,OAAO;AAGvC,gBAAOS,IAAAT,KAAA,gBAAAA,EAAK,SAAL,gBAAAS,EAAW,MAAM,MAAM,OAAO,CAACC,MAAUA,EAAE,KAAK,SAAS,sBAAsB,IAAI,CAACA,OAAY;AAAA,UACrG,GAAGA,EAAE;AAAA,UACL,MAAMA,EAAE,KAAK,SAASF;AAAA,UACtB,WAAW,cAAcE,EAAE,KAAK,IAAI;AAAA,UACpC,cAAcA,EAAE,KAAK,eAAe,KAAK,MAAMA,EAAE,KAAK,YAAY,IAAI,CAAC;AAAA,UACvE,QAAQC,EAAgBD,EAAE,KAAK,SAAS;AAAA,QAAA;AAAA,MAE5C;AAAA,MACA,cAAc,CAACE,MACbA,IACI,CAAC,GAAGA,EAAM,IAAI,CAACF,OAAY,EAAE,MAAM,QAAQ,IAAIA,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,QAAQ,IAAI,QAAQ,IACvF,CAAC,EAAE,MAAM,QAAQ,IAAI,OAAQ,CAAA;AAAA,IAAA,CACpC;AAAA,IACD,eAAeJ,EAAM,MAAM;AAAA,MACzB,OAAO,CAAC,EAAE,MAAAO,SAAY;AAAA,QACpB,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,MAAM;AAAA,UACJ,OAAOnB;AAAA,UACP,WAAW,EAAE,MAAAmB,EAAK;AAAA,QAAA;AAAA,MACpB;AAAA,MAEF,mBAAmB,CAACb,MAClB;;AAAA,gBAAAS,IAAAT,KAAA,gBAAAA,EAAK,SAAL,gBAAAS,EAAW,MAAM,MAAM,IAAI,CAACC,MAAY;;AAAA;AAAA,YACtC,GAAGA,EAAE;AAAA,YACL,WAAW,eAAcD,IAAAC,EAAE,SAAF,gBAAAD,EAAQ,IAAI;AAAA,YACrC,QAAQE,EAAgBD,EAAE,KAAK,SAAS;AAAA,UAAA;AAAA;AAAA;AAAA,MAE5C,cAAc,CAACV,MACbA,IACI,CAAC,GAAGA,EAAI,IAAI,CAACU,OAAY,EAAE,MAAM,QAAQ,IAAIA,EAAE,OAAO,GAAG,EAAE,MAAM,QAAQ,IAAI,OAAQ,CAAA,IACrF,CAAC,QAAQ,EAAE,MAAM,QAAQ,IAAI,OAAQ,CAAA;AAAA,IAAA,CAC5C;AAAA,IACD,kBAAkBJ,EAAM,MAAM;AAAA,MAC5B,OAAO,CAAC,EAAE,OAAAQ,GAAO,aAAAC,SAAmB;AAAA,QAClC,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,MAAM;AAAA,UACJ,OAAOD,IAAQlB,IAA0BC;AAAA,UACzC,WAAW,EAAE,OAAAiB,GAAO,aAAAC,EAAY;AAAA,QAAA;AAAA,MAClC;AAAA,MAEF,mBAAmB,CAACf,MAClB;;AAAA,gBAAAS,IAAAT,KAAA,gBAAAA,EAAK,SAAL,gBAAAS,EAAW,MAAM,MAAM,QAAQ,CAACO,MAAW;;AACzC,cAAI,CAACA,EAAE,KAAM,QAAO,CAAC;AAErB,gBAAMC,IAAID,EAAE;AAEL,iBAAA;AAAA,YACL,MAAMC,EAAE;AAAA,YACR,WAAUR,IAAAQ,EAAE,WAAF,gBAAAR,EAAU;AAAA,YACpB,WAAW,cAAcQ,EAAE,IAAI;AAAA,UACjC;AAAA,QAAA;AAAA;AAAA,MAEJ,cAAc,CAACjB,MACbA,IACI;AAAA,QACE,GAAGA,EAAI,IAAI,CAACkB,OAAe,EAAE,MAAM,QAAQ,IAAIA,EAAK,KAAA,EAAO;AAAA,QAC3D,EAAE,MAAM,QAAQ,IAAI,OAAO;AAAA,UAE7B,CAAC,EAAE,MAAM,QAAQ,IAAI,OAAQ,CAAA;AAAA,IACpC,CAAA;AAAA,EAAA;AAAA,EAEH,kBAAkB;AACpB,CAAC,GAqBKC,IAAWf,EAAY,iBAA+C;AAAA,EAC1E,WAAW;AAAA,IACT,8BAA8B;AAAA,MAC5B,mBAAmB,CAACJ,MAClBA,EAAI,MAAM,MAAM,IAAI,CAAC,OAAO;AAAA,QAC1B,MAAM,EAAE,KAAK;AAAA,QACb,UAAU,EAAE,KAAK,OAAO;AAAA,QACxB,WAAW,EAAE,KAAK;AAAA,MAAA,EAClB;AAAA,MACJ,cAAc,CAACA,MACbA,IACI,CAAC,EAAE,MAAM,QAAQ,IAAI,OAAU,GAAA,GAAGA,EAAI,IAAI,CAAC,OAAO,EAAE,MAAM,QAAQ,IAAI,EAAE,KAAO,EAAA,CAAC,IAChF,CAAC,EAAE,MAAM,QAAQ,IAAI,OAAQ,CAAA;AAAA,IACrC;AAAA,IACA,qBAAqB;AAAA,MACnB,mBAAmB,CAACA,MAClBA,EAAI,MAAM,MAAM,OAAO,CAAC,MAAM,EAAE,KAAK,UAAU,CAAC,EAAE,KAAK,OAAO,EAAE;AAAA,MAClE,cAAc,CAAC,EAAE,MAAM,QAAQ,IAAI,OAAQ,CAAA;AAAA,IAC7C;AAAA,IACA,iBAAiB;AAAA,MACf,mBAAmB,CAACA,MAClBA,EAAI,MAAM,MAAM,IAAI,CAAC,OAAO;AAAA,QAC1B,MAAM,EAAE,KAAK;AAAA,QACb,UAAU,EAAE,KAAK,OAAO;AAAA,QACxB,WAAW,EAAE,KAAK;AAAA,MAAA,EAClB;AAAA,MACJ,cAAc,CAACA,MACbA,IACI,CAAC,EAAE,MAAM,QAAQ,IAAI,OAAU,GAAA,GAAGA,EAAI,IAAI,CAAC,OAAO,EAAE,MAAM,QAAQ,IAAI,EAAE,KAAO,EAAA,CAAC,IAChF,CAAC,EAAE,MAAM,QAAQ,IAAI,OAAQ,CAAA;AAAA,IAAA;AAAA,EACrC;AAEJ,CAAC,GAEY;AAAA,EACX,sCAAAoB;AAAA,EACA,0CAAAC;AAAA,EACA,6BAAAC;AAAA,EACA,yBAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,uBAAAC;AAAA,EACA,0BAAAC;AACF,IAAIP,GAES,EAAE,yBAAAQ,IAAyB,wBAAAC,IAAwB,iBAAAC,OAAoB/B;"}
@@ -1,17 +1,18 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../../../../_virtual/jsx-runtime.cjs.js"),n=require("styled-components"),a=n.div`
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("../../../../_virtual/jsx-runtime.cjs.js"),o=require("styled-components"),m=o.div`
2
2
  display: flex;
3
3
  width: 100%;
4
4
  height: 100%;
5
5
  gap: 0;
6
6
  padding: ${i=>i.$padding};
7
- `,c=n.div`
7
+ `,g=o.div`
8
8
  width: ${i=>i.$config.width||"15%"};
9
9
  min-width: ${i=>i.$config.minWidth||"2%"};
10
10
  max-width: ${i=>i.$config.maxWidth||"600px"};
11
11
  height: 100%;
12
- background: #f0f0f0;
13
12
  flex-shrink: 0;
14
- `,g=n.div`
13
+ border-radius: 4px;
14
+ background-color: var(--md-sys-color-surface-container);
15
+ `,l=o.div`
15
16
  display: grid;
16
17
  grid-template-columns: repeat(${i=>i.$config.columns}, 1fr);
17
18
  grid-template-rows: repeat(${i=>i.$config.rows}, 1fr);
@@ -19,9 +20,9 @@
19
20
  flex: 1;
20
21
  padding: 1rem;
21
22
  overflow: auto;
22
- `,m=n.div`
23
- background: #f0f0f0;
23
+ `,u=o.div`
24
24
  border-radius: 4px;
25
25
  min-height: ${i=>i.$minHeight};
26
- `,l=({showSidebar:i=!0,sidebarConfig:o={},gridConfig:e={columns:3,rows:3},padding:r="var(--padding-l)"})=>{const d=e.columns*e.rows;return t.jsxRuntimeExports.jsxs(a,{$padding:r,children:[i&&t.jsxRuntimeExports.jsx(c,{className:"loading",$config:o}),t.jsxRuntimeExports.jsx(g,{$config:e,children:Array.from({length:d}).map((p,s)=>t.jsxRuntimeExports.jsx(m,{className:"loading",$minHeight:e.itemMinHeight||"200px"},s))})]})};exports.AddonLoadingScreen=l;
26
+ background-color: var(--md-sys-color-surface-container);
27
+ `,x=({showSidebar:i=!0,sidebarConfig:d={},gridConfig:r={columns:3,rows:3},padding:s="var(--padding-l)",pt:e={},...a})=>{const t=r.columns*r.rows;return n.jsxRuntimeExports.jsxs(m,{$padding:s,...a,children:[i&&n.jsxRuntimeExports.jsx(g,{className:"loading",$config:d,...e==null?void 0:e.sidebar}),n.jsxRuntimeExports.jsx(l,{$config:r,...e==null?void 0:e.grid,children:Array.from({length:t}).map((h,c)=>n.jsxRuntimeExports.jsx(u,{className:"loading",$minHeight:r.itemMinHeight||"200px",...e==null?void 0:e.gridItem},c))})]})};exports.AddonLoadingScreen=x;
27
28
  //# sourceMappingURL=AddonLoadingScreen.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AddonLoadingScreen.cjs.js","sources":["../../../../../src/components/AddonLoadingScreen/AddonLoadingScreen.tsx"],"sourcesContent":["import { FC } from 'react'\nimport styled from 'styled-components'\n\ninterface GridConfig {\n columns: number\n rows: number\n gap?: string\n itemMinHeight?: string\n}\n\ninterface SidebarConfig {\n width?: string\n minWidth?: string\n maxWidth?: string\n}\n\nexport interface ReportsLoadingScreenProps {\n showSidebar?: boolean\n sidebarConfig?: SidebarConfig\n gridConfig?: GridConfig\n padding?: string\n}\n\nconst Container = styled.div<{ $padding: string }>`\n display: flex;\n width: 100%;\n height: 100%;\n gap: 0;\n padding: ${(props) => props.$padding};\n`\n\nconst Sidebar = styled.div<{ $config: SidebarConfig }>`\n width: ${(props) => props.$config.width || '15%'};\n min-width: ${(props) => props.$config.minWidth || '2%'};\n max-width: ${(props) => props.$config.maxWidth || '600px'};\n height: 100%;\n background: #f0f0f0;\n flex-shrink: 0;\n`\n\nconst Grid = styled.div<{ $config: GridConfig }>`\n display: grid;\n grid-template-columns: repeat(${(props) => props.$config.columns}, 1fr);\n grid-template-rows: repeat(${(props) => props.$config.rows}, 1fr);\n gap: ${(props) => props.$config.gap || '1rem'};\n flex: 1;\n padding: 1rem;\n overflow: auto;\n`\n\nconst GridItem = styled.div<{ $minHeight: string }>`\n background: #f0f0f0;\n border-radius: 4px;\n min-height: ${(props) => props.$minHeight};\n`\n\nexport const AddonLoadingScreen: FC<ReportsLoadingScreenProps> = ({\n showSidebar = true,\n sidebarConfig = {},\n gridConfig = { columns: 3, rows: 3 },\n padding = 'var(--padding-l)',\n}) => {\n const totalItems = gridConfig.columns * gridConfig.rows\n\n return (\n <Container $padding={padding}>\n {showSidebar && <Sidebar className=\"loading\" $config={sidebarConfig}></Sidebar>}\n\n <Grid $config={gridConfig}>\n {Array.from({ length: totalItems }).map((_, index) => (\n <GridItem\n key={index}\n className=\"loading\"\n $minHeight={gridConfig.itemMinHeight || '200px'}\n ></GridItem>\n ))}\n </Grid>\n </Container>\n )\n}\n"],"names":["Container","styled","props","Sidebar","Grid","GridItem","AddonLoadingScreen","showSidebar","sidebarConfig","gridConfig","padding","totalItems","jsxs","jsx","_","index"],"mappings":"0KAuBMA,EAAYC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA,aAKXC,GAAUA,EAAM,QAAQ;AAAA,EAGhCC,EAAUF,EAAO;AAAA,WACXC,GAAUA,EAAM,QAAQ,OAAS,KAAK;AAAA,eAClCA,GAAUA,EAAM,QAAQ,UAAY,IAAI;AAAA,eACxCA,GAAUA,EAAM,QAAQ,UAAY,OAAO;AAAA;AAAA;AAAA;AAAA,EAMrDE,EAAOH,EAAO;AAAA;AAAA,kCAEeC,GAAUA,EAAM,QAAQ,OAAO;AAAA,+BAClCA,GAAUA,EAAM,QAAQ,IAAI;AAAA,SAClDA,GAAUA,EAAM,QAAQ,KAAO,MAAM;AAAA;AAAA;AAAA;AAAA,EAMzCG,EAAWJ,EAAO;AAAA;AAAA;AAAA,gBAGPC,GAAUA,EAAM,UAAU;AAAA,EAG9BI,EAAoD,CAAC,CAChE,YAAAC,EAAc,GACd,cAAAC,EAAgB,CAAC,EACjB,WAAAC,EAAa,CAAE,QAAS,EAAG,KAAM,CAAE,EACnC,QAAAC,EAAU,kBACZ,IAAM,CACE,MAAAC,EAAaF,EAAW,QAAUA,EAAW,KAGjD,OAAAG,EAAA,kBAAA,KAACZ,EAAU,CAAA,SAAUU,EAClB,SAAA,CAAAH,GAAgBM,EAAA,kBAAA,IAAAV,EAAA,CAAQ,UAAU,UAAU,QAASK,EAAe,EAEpEK,EAAA,kBAAA,IAAAT,EAAA,CAAK,QAASK,EACZ,eAAM,KAAK,CAAE,OAAQE,CAAA,CAAY,EAAE,IAAI,CAACG,EAAGC,IAC1CF,EAAA,kBAAA,IAACR,EAAA,CAEC,UAAU,UACV,WAAYI,EAAW,eAAiB,OAAA,EAFnCM,CAAA,CAIR,CACH,CAAA,CAAA,EACF,CAEJ"}
1
+ {"version":3,"file":"AddonLoadingScreen.cjs.js","sources":["../../../../../src/components/AddonLoadingScreen/AddonLoadingScreen.tsx"],"sourcesContent":["import { FC, HTMLAttributes } from 'react'\nimport styled from 'styled-components'\n\ninterface GridConfig {\n columns: number\n rows: number\n gap?: string\n itemMinHeight?: string\n}\n\ninterface SidebarConfig {\n width?: string\n minWidth?: string\n maxWidth?: string\n}\n\nexport interface ReportsLoadingScreenProps extends HTMLAttributes<HTMLDivElement> {\n showSidebar?: boolean\n sidebarConfig?: SidebarConfig\n gridConfig?: GridConfig\n padding?: string\n pt?: {\n sidebar?: Partial<HTMLAttributes<HTMLDivElement>>\n grid?: Partial<HTMLAttributes<HTMLDivElement>>\n gridItem?: Partial<HTMLAttributes<HTMLDivElement>>\n }\n}\n\nconst Container = styled.div<{ $padding: string }>`\n display: flex;\n width: 100%;\n height: 100%;\n gap: 0;\n padding: ${(props) => props.$padding};\n`\n\nconst Sidebar = styled.div<{ $config: SidebarConfig }>`\n width: ${(props) => props.$config.width || '15%'};\n min-width: ${(props) => props.$config.minWidth || '2%'};\n max-width: ${(props) => props.$config.maxWidth || '600px'};\n height: 100%;\n flex-shrink: 0;\n border-radius: 4px;\n background-color: var(--md-sys-color-surface-container);\n`\n\nconst Grid = styled.div<{ $config: GridConfig }>`\n display: grid;\n grid-template-columns: repeat(${(props) => props.$config.columns}, 1fr);\n grid-template-rows: repeat(${(props) => props.$config.rows}, 1fr);\n gap: ${(props) => props.$config.gap || '1rem'};\n flex: 1;\n padding: 1rem;\n overflow: auto;\n`\n\nconst GridItem = styled.div<{ $minHeight: string }>`\n border-radius: 4px;\n min-height: ${(props) => props.$minHeight};\n background-color: var(--md-sys-color-surface-container);\n`\n\nexport const AddonLoadingScreen: FC<ReportsLoadingScreenProps> = ({\n showSidebar = true,\n sidebarConfig = {},\n gridConfig = { columns: 3, rows: 3 },\n padding = 'var(--padding-l)',\n pt = {},\n ...containerProps\n}) => {\n const totalItems = gridConfig.columns * gridConfig.rows\n\n return (\n <Container $padding={padding} {...containerProps}>\n {showSidebar && (\n <Sidebar className=\"loading\" $config={sidebarConfig} {...pt?.sidebar}></Sidebar>\n )}\n\n <Grid $config={gridConfig} {...pt?.grid}>\n {Array.from({ length: totalItems }).map((_, index) => (\n <GridItem\n key={index}\n className=\"loading\"\n $minHeight={gridConfig.itemMinHeight || '200px'}\n {...pt?.gridItem}\n ></GridItem>\n ))}\n </Grid>\n </Container>\n )\n}\n"],"names":["Container","styled","props","Sidebar","Grid","GridItem","AddonLoadingScreen","showSidebar","sidebarConfig","gridConfig","padding","pt","containerProps","totalItems","jsxs","jsx","_","index"],"mappings":"0KA4BMA,EAAYC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA,aAKXC,GAAUA,EAAM,QAAQ;AAAA,EAGhCC,EAAUF,EAAO;AAAA,WACXC,GAAUA,EAAM,QAAQ,OAAS,KAAK;AAAA,eAClCA,GAAUA,EAAM,QAAQ,UAAY,IAAI;AAAA,eACxCA,GAAUA,EAAM,QAAQ,UAAY,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,EAOrDE,EAAOH,EAAO;AAAA;AAAA,kCAEeC,GAAUA,EAAM,QAAQ,OAAO;AAAA,+BAClCA,GAAUA,EAAM,QAAQ,IAAI;AAAA,SAClDA,GAAUA,EAAM,QAAQ,KAAO,MAAM;AAAA;AAAA;AAAA;AAAA,EAMzCG,EAAWJ,EAAO;AAAA;AAAA,gBAEPC,GAAUA,EAAM,UAAU;AAAA;AAAA,EAI9BI,EAAoD,CAAC,CAChE,YAAAC,EAAc,GACd,cAAAC,EAAgB,CAAC,EACjB,WAAAC,EAAa,CAAE,QAAS,EAAG,KAAM,CAAE,EACnC,QAAAC,EAAU,mBACV,GAAAC,EAAK,CAAC,EACN,GAAGC,CACL,IAAM,CACE,MAAAC,EAAaJ,EAAW,QAAUA,EAAW,KAEnD,OACGK,EAAAA,kBAAAA,KAAAd,EAAA,CAAU,SAAUU,EAAU,GAAGE,EAC/B,SAAA,CACCL,GAAAQ,EAAA,kBAAA,IAACZ,GAAQ,UAAU,UAAU,QAASK,EAAgB,GAAGG,GAAA,YAAAA,EAAI,QAAS,0BAGvEP,EAAK,CAAA,QAASK,EAAa,GAAGE,GAAA,YAAAA,EAAI,KAChC,SAAA,MAAM,KAAK,CAAE,OAAQE,CAAY,CAAA,EAAE,IAAI,CAACG,EAAGC,IAC1CF,EAAA,kBAAA,IAACV,EAAA,CAEC,UAAU,UACV,WAAYI,EAAW,eAAiB,QACvC,GAAGE,GAAA,YAAAA,EAAI,QAAA,EAHHM,CAAA,CAKR,CACH,CAAA,CAAA,EACF,CAEJ"}