@ynput/ayon-frontend-shared 0.2.33 → 0.2.34

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 (492) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +25 -22
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/Feed.cjs.js +1 -1
  5. package/dist/Feed.es.js +19 -15
  6. package/dist/Feed.es.js.map +1 -1
  7. package/dist/Views.cjs.js.map +1 -1
  8. package/dist/Views.es.js.map +1 -1
  9. package/dist/api.cjs.js +1 -1
  10. package/dist/api.es.js +60 -55
  11. package/dist/api.es.js.map +1 -1
  12. package/dist/components.cjs.js +1 -1
  13. package/dist/components.es.js +52 -50
  14. package/dist/components.es.js.map +1 -1
  15. package/dist/index.cjs.js +1 -1
  16. package/dist/index.es.js +12 -9
  17. package/dist/index.es.js.map +1 -1
  18. package/dist/shared/src/api/base/client.cjs.js +1 -1
  19. package/dist/shared/src/api/base/client.cjs.js.map +1 -1
  20. package/dist/shared/src/api/base/client.es.js +9 -8
  21. package/dist/shared/src/api/base/client.es.js.map +1 -1
  22. package/dist/shared/src/api/generated/entityLists.cjs.js +1 -1
  23. package/dist/shared/src/api/generated/entityLists.cjs.js.map +1 -1
  24. package/dist/shared/src/api/generated/entityLists.es.js +4 -1
  25. package/dist/shared/src/api/generated/entityLists.es.js.map +1 -1
  26. package/dist/shared/src/api/generated/graphql.cjs.js +10 -7
  27. package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
  28. package/dist/shared/src/api/generated/graphql.es.js +15 -12
  29. package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
  30. package/dist/shared/src/api/generated/projects.cjs.js.map +1 -1
  31. package/dist/shared/src/api/generated/projects.es.js.map +1 -1
  32. package/dist/shared/src/api/generated/views.cjs.js.map +1 -1
  33. package/dist/shared/src/api/generated/views.es.js.map +1 -1
  34. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js +1 -1
  35. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
  36. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js +4 -3
  37. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
  38. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js +1 -1
  39. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js.map +1 -1
  40. package/dist/shared/src/api/queries/entities/updateEntity.es.js +31 -30
  41. package/dist/shared/src/api/queries/entities/updateEntity.es.js.map +1 -1
  42. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +1 -1
  43. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js.map +1 -1
  44. package/dist/shared/src/api/queries/entityLists/getLists.es.js +68 -68
  45. package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -1
  46. package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js +1 -1
  47. package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js.map +1 -1
  48. package/dist/shared/src/api/queries/entityLists/updateLists.es.js +47 -49
  49. package/dist/shared/src/api/queries/entityLists/updateLists.es.js.map +1 -1
  50. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +1 -1
  51. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
  52. package/dist/shared/src/api/queries/overview/updateOverview.es.js +7 -6
  53. package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
  54. package/dist/shared/src/api/queries/users/getUsers.cjs.js +2 -2
  55. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  56. package/dist/shared/src/api/queries/users/getUsers.es.js +38 -33
  57. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  58. package/dist/shared/src/api/queries/users/guests.cjs.js +2 -0
  59. package/dist/shared/src/api/queries/users/guests.cjs.js.map +1 -0
  60. package/dist/shared/src/api/queries/users/guests.es.js +60 -0
  61. package/dist/shared/src/api/queries/users/guests.es.js.map +1 -0
  62. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +1 -1
  63. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
  64. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +3 -2
  65. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +1 -1
  66. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
  67. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  68. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +3 -2
  69. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  70. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
  71. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
  72. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +3 -2
  73. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
  74. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +2 -2
  75. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
  76. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +3 -2
  77. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
  78. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.cjs.js +1 -1
  79. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.cjs.js.map +1 -1
  80. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.es.js +3 -2
  81. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.es.js.map +1 -1
  82. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
  83. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
  84. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +3 -2
  85. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
  86. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  87. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  88. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +5 -2
  89. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  90. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
  91. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
  92. package/dist/shared/src/components/Feedback/FeedbackContext.es.js +5 -4
  93. package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
  94. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
  95. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
  96. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +5 -2
  97. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
  98. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js +1 -1
  99. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js.map +1 -1
  100. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js +3 -2
  101. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js.map +1 -1
  102. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  103. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  104. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +5 -2
  105. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  106. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
  107. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
  108. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +39 -38
  109. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
  110. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  111. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  112. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +5 -2
  113. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  114. package/dist/shared/src/components/Powerpack/RequiredPowerpackVersion.cjs.js +9 -0
  115. package/dist/shared/src/components/Powerpack/RequiredPowerpackVersion.cjs.js.map +1 -0
  116. package/dist/shared/src/components/Powerpack/RequiredPowerpackVersion.es.js +25 -0
  117. package/dist/shared/src/components/Powerpack/RequiredPowerpackVersion.es.js.map +1 -0
  118. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +1 -1
  119. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  120. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +7 -4
  121. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  122. package/dist/shared/src/components/ProjectTableSettings/RowHeightSettings.cjs.js +1 -1
  123. package/dist/shared/src/components/ProjectTableSettings/RowHeightSettings.cjs.js.map +1 -1
  124. package/dist/shared/src/components/ProjectTableSettings/RowHeightSettings.es.js +5 -2
  125. package/dist/shared/src/components/ProjectTableSettings/RowHeightSettings.es.js.map +1 -1
  126. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  127. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  128. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +18 -21
  129. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  130. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
  131. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  132. package/dist/shared/src/components/RenameForm/RenameForm.es.js +5 -2
  133. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  134. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js +1 -1
  135. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js.map +1 -1
  136. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js +3 -2
  137. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js.map +1 -1
  138. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  139. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  140. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +5 -2
  141. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  142. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  143. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  144. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +6 -3
  145. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  146. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  147. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  148. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +5 -2
  149. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  150. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +1 -1
  151. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -1
  152. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +3 -2
  153. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js.map +1 -1
  154. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  155. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  156. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +3 -2
  157. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  158. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
  159. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  160. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +5 -2
  161. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  162. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
  163. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  164. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +5 -2
  165. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  166. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
  167. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  168. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +5 -4
  169. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  170. package/dist/shared/src/components/Watchers/Watchers.cjs.js +1 -1
  171. package/dist/shared/src/components/Watchers/Watchers.cjs.js.map +1 -1
  172. package/dist/shared/src/components/Watchers/Watchers.es.js +3 -2
  173. package/dist/shared/src/components/Watchers/Watchers.es.js.map +1 -1
  174. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  175. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  176. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +5 -2
  177. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  178. package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
  179. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  180. package/dist/shared/src/containers/Actions/Actions.es.js +3 -2
  181. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  182. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  183. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  184. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +5 -2
  185. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  186. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  187. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  188. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +129 -119
  189. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  190. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  191. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  192. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +5 -2
  193. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  194. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  195. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  196. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +45 -43
  197. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  198. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  199. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  200. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +6 -3
  201. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  202. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
  203. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  204. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +3 -2
  205. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  206. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js +1 -1
  207. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js.map +1 -1
  208. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js +3 -2
  209. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js.map +1 -1
  210. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js +1 -1
  211. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js.map +1 -1
  212. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js +4 -2
  213. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js.map +1 -1
  214. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
  215. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  216. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +3 -2
  217. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  218. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  219. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  220. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +5 -2
  221. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  222. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  223. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  224. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +5 -2
  225. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  226. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  227. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  228. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +5 -2
  229. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  230. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  231. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  232. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +5 -2
  233. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  234. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
  235. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
  236. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +3 -2
  237. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
  238. package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
  239. package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
  240. package/dist/shared/src/containers/Feed/Feed.es.js +98 -102
  241. package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
  242. package/dist/shared/src/containers/Feed/Feed.styled.cjs.js +4 -4
  243. package/dist/shared/src/containers/Feed/Feed.styled.cjs.js.map +1 -1
  244. package/dist/shared/src/containers/Feed/Feed.styled.es.js +8 -7
  245. package/dist/shared/src/containers/Feed/Feed.styled.es.js.map +1 -1
  246. package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js +5 -4
  247. package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js.map +1 -1
  248. package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/CategoryDropdownItem.es.js +38 -18
  249. package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/CategoryDropdownItem.es.js.map +1 -1
  250. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  251. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  252. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +130 -124
  253. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  254. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.styled.cjs.js +6 -2
  255. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.styled.cjs.js.map +1 -1
  256. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.styled.es.js +9 -5
  257. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.styled.es.js.map +1 -1
  258. package/dist/shared/src/containers/Feed/components/ActivityHeader/ActivityHeader.cjs.js +1 -1
  259. package/dist/shared/src/containers/Feed/components/ActivityHeader/ActivityHeader.cjs.js.map +1 -1
  260. package/dist/shared/src/containers/Feed/components/ActivityHeader/ActivityHeader.es.js +28 -28
  261. package/dist/shared/src/containers/Feed/components/ActivityHeader/ActivityHeader.es.js.map +1 -1
  262. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +2 -2
  263. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  264. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +208 -202
  265. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  266. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.cjs.js +2 -2
  267. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.cjs.js.map +1 -1
  268. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.es.js +2 -2
  269. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.es.js.map +1 -1
  270. package/dist/shared/src/containers/Feed/components/CommentMentionSelect/CommentMentionSelect.cjs.js +1 -1
  271. package/dist/shared/src/containers/Feed/components/CommentMentionSelect/CommentMentionSelect.cjs.js.map +1 -1
  272. package/dist/shared/src/containers/Feed/components/CommentMentionSelect/CommentMentionSelect.es.js +34 -31
  273. package/dist/shared/src/containers/Feed/components/CommentMentionSelect/CommentMentionSelect.es.js.map +1 -1
  274. package/dist/shared/src/containers/Feed/components/ReactionContainer/Reactions.cjs.js +1 -1
  275. package/dist/shared/src/containers/Feed/components/ReactionContainer/Reactions.cjs.js.map +1 -1
  276. package/dist/shared/src/containers/Feed/components/ReactionContainer/Reactions.es.js +27 -42
  277. package/dist/shared/src/containers/Feed/components/ReactionContainer/Reactions.es.js.map +1 -1
  278. package/dist/shared/src/containers/Feed/components/ReactionContainer/Reactions.styled.cjs.js.map +1 -1
  279. package/dist/shared/src/containers/Feed/components/ReactionContainer/Reactions.styled.es.js.map +1 -1
  280. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  281. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  282. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +3 -2
  283. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  284. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
  285. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  286. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +32 -30
  287. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  288. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +1 -1
  289. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
  290. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +3 -2
  291. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
  292. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  293. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  294. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +5 -2
  295. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  296. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  297. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  298. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +44 -41
  299. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  300. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
  301. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  302. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +5 -2
  303. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  304. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  305. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  306. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +5 -2
  307. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  308. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  309. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  310. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +5 -2
  311. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  312. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
  313. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  314. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +11 -10
  315. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  316. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  317. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  318. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +26 -23
  319. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  320. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +1 -1
  321. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
  322. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +3 -2
  323. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
  324. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  325. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  326. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +6 -5
  327. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  328. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  329. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  330. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +3 -2
  331. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  332. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  333. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  334. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +5 -2
  335. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  336. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  337. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  338. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +5 -2
  339. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  340. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  341. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  342. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +5 -2
  343. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  344. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  345. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  346. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +3 -2
  347. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  348. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  349. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  350. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +5 -2
  351. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  352. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.cjs.js +1 -1
  353. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.cjs.js.map +1 -1
  354. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.es.js +3 -2
  355. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.es.js.map +1 -1
  356. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  357. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  358. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +5 -2
  359. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  360. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  361. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  362. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +5 -2
  363. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  364. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  365. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  366. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +5 -2
  367. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  368. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.cjs.js +1 -1
  369. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.cjs.js.map +1 -1
  370. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.es.js +3 -2
  371. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.es.js.map +1 -1
  372. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  373. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  374. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +5 -2
  375. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  376. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  377. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  378. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +16 -13
  379. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  380. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +1 -1
  381. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
  382. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +7 -7
  383. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
  384. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +1 -1
  385. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  386. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +4 -3
  387. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  388. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  389. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  390. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +7 -4
  391. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  392. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  393. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  394. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +5 -2
  395. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  396. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  397. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  398. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +5 -2
  399. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  400. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  401. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  402. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +36 -33
  403. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  404. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
  405. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
  406. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +3 -2
  407. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
  408. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
  409. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  410. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +5 -4
  411. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  412. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
  413. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
  414. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +3 -2
  415. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
  416. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js +1 -1
  417. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js.map +1 -1
  418. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js +3 -2
  419. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js.map +1 -1
  420. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js +1 -1
  421. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js.map +1 -1
  422. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js +3 -2
  423. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js.map +1 -1
  424. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js +1 -1
  425. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js.map +1 -1
  426. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js +3 -2
  427. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js.map +1 -1
  428. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
  429. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
  430. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +3 -2
  431. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
  432. package/dist/shared/src/context/AddonProjectContext.cjs.js +1 -1
  433. package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
  434. package/dist/shared/src/context/AddonProjectContext.es.js +5 -4
  435. package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
  436. package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
  437. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  438. package/dist/shared/src/context/DetailsPanelContext.es.js +62 -59
  439. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  440. package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
  441. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  442. package/dist/shared/src/context/PowerpackContext.es.js +30 -21
  443. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  444. package/dist/shared/src/context/RemoteModulesContext.cjs.js +1 -1
  445. package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
  446. package/dist/shared/src/context/RemoteModulesContext.es.js +5 -4
  447. package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
  448. package/dist/shared/src/hooks/useActionTriggers.cjs.js +1 -1
  449. package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
  450. package/dist/shared/src/hooks/useActionTriggers.es.js +3 -2
  451. package/dist/shared/src/hooks/useActionTriggers.es.js.map +1 -1
  452. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
  453. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  454. package/dist/shared/src/hooks/useEntityUpdate.es.js +3 -2
  455. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  456. package/dist/shared/src/hooks/useHierarchyTable.cjs.js +1 -1
  457. package/dist/shared/src/hooks/useHierarchyTable.cjs.js.map +1 -1
  458. package/dist/shared/src/hooks/useHierarchyTable.es.js +3 -2
  459. package/dist/shared/src/hooks/useHierarchyTable.es.js.map +1 -1
  460. package/dist/shared/src/hooks/useScopedStatuses.cjs.js +1 -1
  461. package/dist/shared/src/hooks/useScopedStatuses.cjs.js.map +1 -1
  462. package/dist/shared/src/hooks/useScopedStatuses.es.js +5 -4
  463. package/dist/shared/src/hooks/useScopedStatuses.es.js.map +1 -1
  464. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
  465. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  466. package/dist/shared/src/hooks/useUserProjectConfig.es.js +3 -2
  467. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  468. package/dist/types/api/generated/entityLists.d.ts +2 -0
  469. package/dist/types/api/generated/graphql.d.ts +5 -2
  470. package/dist/types/api/generated/projects.d.ts +4 -4
  471. package/dist/types/api/generated/views.d.ts +9 -3
  472. package/dist/types/api/queries/users/getUsers.d.ts +132 -0
  473. package/dist/types/api/queries/users/guests.d.ts +453 -0
  474. package/dist/types/api/queries/users/index.d.ts +1 -0
  475. package/dist/types/components/Powerpack/RequiredPowerpackVersion.d.ts +5 -0
  476. package/dist/types/components/Powerpack/index.d.ts +1 -0
  477. package/dist/types/components/index.d.ts +1 -0
  478. package/dist/types/containers/DetailsPanel/DetailsPanel.d.ts +2 -1
  479. package/dist/types/containers/DetailsPanel/FeedContextWrapper.d.ts +1 -1
  480. package/dist/types/containers/DetailsPanel/FeedWrapper.d.ts +1 -1
  481. package/dist/types/containers/Feed/Feed.d.ts +2 -2
  482. package/dist/types/containers/Feed/components/ActivityCategorySelect/CategoryDropdownItem.d.ts +6 -4
  483. package/dist/types/containers/Feed/components/ActivityCategorySelect/index.d.ts +2 -0
  484. package/dist/types/containers/Feed/components/CommentMentionSelect/CommentMentionSelect.d.ts +2 -1
  485. package/dist/types/containers/Feed/components/ReactionContainer/Reactions.d.ts +2 -1
  486. package/dist/types/containers/Feed/components/ReactionContainer/Reactions.styled.d.ts +1 -1
  487. package/dist/types/containers/Feed/context/FeedContext.d.ts +1 -0
  488. package/dist/types/containers/ProjectTreeTable/widgets/BooleanWidget.d.ts +1 -0
  489. package/dist/types/containers/Views/index.d.ts +4 -1
  490. package/dist/types/context/DetailsPanelContext.d.ts +6 -0
  491. package/dist/types/context/PowerpackContext.d.ts +1 -1
  492. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"transformDetailsPanelData.es.js","sources":["../../../../../../src/api/queries/entities/transformDetailsPanelData.ts"],"sourcesContent":["import {\n DetailsPanelFolderFragmentFragment,\n DetailsPanelProductFragmentFragment,\n DetailsPanelRepresentationFragmentFragment,\n DetailsPanelTaskFragmentFragment,\n DetailsPanelVersionFragmentFragment,\n GetDetailsPanelFolderQuery,\n GetDetailsPanelRepresentationQuery,\n GetDetailsPanelTaskQuery,\n GetDetailsPanelVersionQuery,\n} from '@shared/api/generated'\nimport { parseAllAttribs } from '@shared/api'\n\ntype DetailsPanelTask = NonNullable<GetDetailsPanelTaskQuery['project']['task']>\ntype DetailsPanelRepresentation = NonNullable<\n GetDetailsPanelRepresentationQuery['project']['representation']\n>\ntype DetailsPanelVersion = NonNullable<GetDetailsPanelVersionQuery['project']['version']>\ntype DetailsPanelFolder = NonNullable<GetDetailsPanelFolderQuery['project']['folder']>\n\nexport const detailsPanelEntityTypes = ['task', 'version', 'folder', 'representation'] as const\nexport type DetailsPanelEntityType = (typeof detailsPanelEntityTypes)[number]\n\ntype TransformEntityDataArgs = {\n entity: DetailsPanelRepresentation | DetailsPanelTask | DetailsPanelVersion | DetailsPanelFolder\n entityType: DetailsPanelEntityType\n projectName: string\n}\n\ntype NullableString = string | null | undefined\n\n// return type\nexport type DetailsPanelEntityData = {\n id: string\n name: string\n label: NullableString\n tags: string[]\n status: string\n updatedAt: string\n createdAt: string\n attrib: Record<string, string | number>\n hasReviewables?: boolean\n thumbnailId?: string | null | undefined\n path: string\n // extra metadata\n entityType: string\n entitySubType?: string\n projectName: string\n // type specific\n task?: DetailsPanelTaskFragmentFragment\n folder?: DetailsPanelFolderFragmentFragment\n product?: DetailsPanelProductFragmentFragment\n version?: DetailsPanelVersionFragmentFragment\n representations?: DetailsPanelRepresentationFragmentFragment[]\n}\n\n// takes the data from different entity types and returns a single data model\nexport const transformDetailsPanelQueriesData = ({\n entity,\n entityType,\n projectName,\n}: TransformEntityDataArgs): DetailsPanelEntityData => {\n switch (entityType) {\n case 'task':\n const task = entity as DetailsPanelTask\n return {\n entityType: 'task',\n entitySubType: task.taskType,\n projectName: projectName,\n id: task.id,\n name: task.name,\n label: task.label,\n tags: task.tags,\n status: task.status,\n updatedAt: task.updatedAt,\n createdAt: task.createdAt,\n attrib: parseAllAttribs(task.allAttrib),\n hasReviewables: task.hasReviewables,\n thumbnailId: task.thumbnailId,\n path: (task.folder?.path || '') + '/' + task.name,\n folder: task.folder,\n task: {\n id: task.id,\n name: task.name,\n label: task.label,\n assignees: task.assignees,\n taskType: task.taskType,\n },\n product: undefined,\n version: task.versions?.edges?.[0]?.node,\n }\n case 'version':\n const version = entity as DetailsPanelVersion\n return {\n entityType: 'version',\n entitySubType: undefined,\n projectName: projectName,\n id: version.id,\n name: version.name,\n label: undefined,\n tags: version.tags,\n status: version.status,\n updatedAt: version.updatedAt,\n createdAt: version.createdAt,\n attrib: parseAllAttribs(version.allAttrib),\n hasReviewables: version.hasReviewables,\n thumbnailId: version.thumbnailId,\n path:\n (version.product?.folder?.path || '') + '/' + version.product.name + '/' + version.name,\n folder: version.product?.folder,\n task: version.task ?? undefined,\n product: {\n id: version.product?.id,\n name: version.product?.name,\n productType: version.product?.productType,\n latestVersion: version.product.latestVersion,\n },\n version: {\n version: version.version,\n id: version.id,\n name: version.name,\n updatedAt: version.updatedAt,\n createdAt: version.createdAt,\n productId: version.product.id,\n },\n representations: version.representations?.edges?.map((edge) => edge.node) || [],\n }\n case 'folder':\n const folder = entity as DetailsPanelFolder\n return {\n entityType: 'folder',\n entitySubType: folder.folderType,\n projectName: projectName,\n id: folder.id,\n name: folder.name,\n label: folder.label,\n tags: folder.tags,\n status: folder.status,\n updatedAt: folder.updatedAt,\n createdAt: folder.createdAt,\n attrib: parseAllAttribs(folder.allAttrib),\n hasReviewables: folder.hasReviewables,\n thumbnailId: folder.thumbnailId,\n path: folder.path || '',\n folder: {\n id: folder.id,\n name: folder.name,\n label: folder.label,\n folderType: folder.folderType,\n },\n product: undefined,\n version: undefined,\n representations: undefined,\n }\n case 'representation':\n const representation = entity as DetailsPanelRepresentation\n return {\n entityType: 'representation',\n entitySubType: undefined,\n projectName: projectName,\n id: representation.id,\n name: representation.name,\n label: undefined,\n tags: representation.tags,\n status: representation.status,\n updatedAt: representation.updatedAt,\n createdAt: representation.createdAt,\n attrib: parseAllAttribs(representation.allAttrib),\n hasReviewables: undefined,\n thumbnailId: undefined,\n path:\n (representation.version?.product?.folder?.path || '') +\n '/' +\n (representation.version?.product?.name || '') +\n '/' +\n representation.version?.version +\n '/' +\n representation.name,\n version: representation.version,\n product: representation.version.product,\n task: representation.version.task || undefined,\n folder: representation.version.product?.folder,\n representations: undefined,\n }\n }\n}\n"],"names":["detailsPanelEntityTypes","transformDetailsPanelQueriesData","entity","entityType","projectName","task","parseAllAttribs","_a","_d","_c","_b","version","_f","_e","_g","_h","_i","_j","_l","_k","edge","folder","representation","_o","_n","_m","_q","_p","_r","_s"],"mappings":"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"}
1
+ {"version":3,"file":"transformDetailsPanelData.es.js","sources":["../../../../../../src/api/queries/entities/transformDetailsPanelData.ts"],"sourcesContent":["import {\n DetailsPanelFolderFragmentFragment,\n DetailsPanelProductFragmentFragment,\n DetailsPanelRepresentationFragmentFragment,\n DetailsPanelTaskFragmentFragment,\n DetailsPanelVersionFragmentFragment,\n GetDetailsPanelFolderQuery,\n GetDetailsPanelRepresentationQuery,\n GetDetailsPanelTaskQuery,\n GetDetailsPanelVersionQuery,\n} from '@shared/api/generated'\nimport { parseAllAttribs } from '@shared/api'\n\ntype DetailsPanelTask = NonNullable<GetDetailsPanelTaskQuery['project']['task']>\ntype DetailsPanelRepresentation = NonNullable<\n GetDetailsPanelRepresentationQuery['project']['representation']\n>\ntype DetailsPanelVersion = NonNullable<GetDetailsPanelVersionQuery['project']['version']>\ntype DetailsPanelFolder = NonNullable<GetDetailsPanelFolderQuery['project']['folder']>\n\nexport const detailsPanelEntityTypes = ['task', 'version', 'folder', 'representation'] as const\nexport type DetailsPanelEntityType = (typeof detailsPanelEntityTypes)[number]\n\ntype TransformEntityDataArgs = {\n entity: DetailsPanelRepresentation | DetailsPanelTask | DetailsPanelVersion | DetailsPanelFolder\n entityType: DetailsPanelEntityType\n projectName: string\n}\n\ntype NullableString = string | null | undefined\n\n// return type\nexport type DetailsPanelEntityData = {\n id: string\n name: string\n label: NullableString\n tags: string[]\n status: string\n updatedAt: string\n createdAt: string\n attrib: Record<string, string | number>\n hasReviewables?: boolean\n thumbnailId?: string | null | undefined\n path: string\n // extra metadata\n entityType: string\n entitySubType?: string\n projectName: string\n // type specific\n task?: DetailsPanelTaskFragmentFragment\n folder?: DetailsPanelFolderFragmentFragment\n product?: DetailsPanelProductFragmentFragment\n version?: DetailsPanelVersionFragmentFragment\n representations?: DetailsPanelRepresentationFragmentFragment[]\n}\n\n// takes the data from different entity types and returns a single data model\nexport const transformDetailsPanelQueriesData = ({\n entity,\n entityType,\n projectName,\n}: TransformEntityDataArgs): DetailsPanelEntityData => {\n switch (entityType) {\n case 'task':\n const task = entity as DetailsPanelTask\n return {\n entityType: 'task',\n entitySubType: task.taskType,\n projectName: projectName,\n id: task.id,\n name: task.name,\n label: task.label,\n tags: task.tags,\n status: task.status,\n updatedAt: task.updatedAt,\n createdAt: task.createdAt,\n attrib: parseAllAttribs(task.allAttrib),\n hasReviewables: task.hasReviewables,\n thumbnailId: task.thumbnailId,\n path: (task.folder?.path || '') + '/' + task.name,\n folder: task.folder,\n task: {\n id: task.id,\n name: task.name,\n label: task.label,\n assignees: task.assignees,\n taskType: task.taskType,\n },\n product: undefined,\n version: task.versions?.edges?.[0]?.node,\n }\n case 'version':\n const version = entity as DetailsPanelVersion\n return {\n entityType: 'version',\n entitySubType: undefined,\n projectName: projectName,\n id: version.id,\n name: version.name,\n label: undefined,\n tags: version.tags,\n status: version.status,\n updatedAt: version.updatedAt,\n createdAt: version.createdAt,\n attrib: parseAllAttribs(version.allAttrib),\n hasReviewables: version.hasReviewables,\n thumbnailId: version.thumbnailId,\n path:\n (version.product?.folder?.path || '') + '/' + version.product.name + '/' + version.name,\n folder: version.product?.folder,\n task: version.task ?? undefined,\n product: {\n id: version.product?.id,\n name: version.product?.name,\n productType: version.product?.productType,\n latestVersion: version.product.latestVersion,\n },\n version: {\n version: version.version,\n id: version.id,\n name: version.name,\n updatedAt: version.updatedAt,\n createdAt: version.createdAt,\n productId: version.product.id,\n },\n representations: version.representations?.edges?.map((edge) => edge.node) || [],\n }\n case 'folder':\n const folder = entity as DetailsPanelFolder\n return {\n entityType: 'folder',\n entitySubType: folder.folderType,\n projectName: projectName,\n id: folder.id,\n name: folder.name,\n label: folder.label,\n tags: folder.tags,\n status: folder.status,\n updatedAt: folder.updatedAt,\n createdAt: folder.createdAt,\n attrib: parseAllAttribs(folder.allAttrib),\n hasReviewables: folder.hasReviewables,\n thumbnailId: folder.thumbnailId,\n path: folder.path || '',\n folder: {\n id: folder.id,\n name: folder.name,\n label: folder.label,\n folderType: folder.folderType,\n },\n product: undefined,\n version: undefined,\n representations: undefined,\n }\n case 'representation':\n const representation = entity as DetailsPanelRepresentation\n return {\n entityType: 'representation',\n entitySubType: undefined,\n projectName: projectName,\n id: representation.id,\n name: representation.name,\n label: undefined,\n tags: representation.tags,\n status: representation.status,\n updatedAt: representation.updatedAt,\n createdAt: representation.createdAt,\n attrib: parseAllAttribs(representation.allAttrib),\n hasReviewables: undefined,\n thumbnailId: undefined,\n path:\n (representation.version?.product?.folder?.path || '') +\n '/' +\n (representation.version?.product?.name || '') +\n '/' +\n representation.version?.version +\n '/' +\n representation.name,\n version: representation.version,\n product: representation.version.product,\n task: representation.version.task || undefined,\n folder: representation.version.product?.folder,\n representations: undefined,\n }\n }\n}\n"],"names":["detailsPanelEntityTypes","transformDetailsPanelQueriesData","entity","entityType","projectName","task","parseAllAttribs","_a","_d","_c","_b","version","_f","_e","_g","_h","_i","_j","_l","_k","edge","folder","representation","_o","_n","_m","_q","_p","_r","_s"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const w=require("./getEntity.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");const G=require("./getEntityPanel.cjs.js");require("../../base/client.cjs.js");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");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("../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");require("../overview/getOverview.cjs.js");const x=require("../overview/updateOverview.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");const T=require("../userDashboard/getUserDashboard.cjs.js");require("../users/getUsers.cjs.js");require("../users/updateUsers.cjs.js");require("../versions/updateVersions.cjs.js");require("../views/getViews.cjs.js");require("../views/updateViews.cjs.js");require("../watchers/getWatchers.cjs.js");const H=require("react-toastify"),F=({assignees:b=[],projects:d=[]},{newAssignees:e,taskId:s,data:n,taskData:l},{dispatch:a})=>{let v=!1;return[a(T.dashboardQueries.util.updateQueryData("GetKanban",{projects:d,assignees:b},f=>{var h,r;const g=f.findIndex(t=>t.id===s);let u={...n};if((h=n==null?void 0:n.attrib)!=null&&h.priority){const{priority:t}=u.attrib;u={...u,priority:t}}if((r=n==null?void 0:n.attrib)!=null&&r.endDate){const{endDate:t}=u.attrib;u={...u,dueDate:t},delete u.attrib.endDate}if(g===-1)l?f.push(l):v=!1;else if(v=!0,!(e==null?void 0:e.some(c=>b.includes(c)))&&e)f.splice(g,1);else{const c={...f[g],...u};f[g]=c}})),v]},L=({operations:b=[],state:d,dispatch:e,entityType:s})=>{const n=b.map(a=>({type:"progress",id:a.id}));let l=w.default.util.selectInvalidatedBy(d,n);if(!l.length)return[];try{return l.map(v=>e(w.default.util.updateQueryData(v.endpointName,v.originalArgs,o=>{var f,g;for(const u of b){const h=u.id,r=u.data;if(s==="task"){const t=(f=u.meta)==null?void 0:f.folderId,c=o.find(i=>i.id===t);if(!c)throw new Error("Patching progress view: folder not found");const k=(g=c.tasks)==null?void 0:g.find(i=>i.id===h);if(!k)throw new Error("Patching progress view: task not found");const y={...k,...r},p={...c,tasks:c.tasks.map(i=>i.id===h?y:i)},S=o.findIndex(i=>i.id===t);o[S]=p}else if(s==="folder"){const t=o.find(p=>p.id===h);if(!t)throw new Error("Patching progress view: folder not found");let c={...r};if(r.name&&t.path){const p=t.path.split("/");p[p.length-1]=r.name,c.path=p.join("/")}const k={...t,...c},y=o.findIndex(p=>p.id===h);o[y]=k}}})))}catch(a){return console.error(a),e(w.default.util.invalidateTags(n)),[]}},O=w.default.injectEndpoints({endpoints:b=>({updateEntity:b.mutation({query:({projectName:d,entityId:e,data:s,entityType:n})=>({url:`/api/projects/${d}/${n}s/${e}`,method:"PATCH",body:s}),async onQueryStarted({projectName:d,entityId:e,data:s,currentAssignees:n,entityType:l},{dispatch:a,queryFulfilled:v,getState:o}){var t,c,k,y,p,S;const f=o(),g=[];let u=[];if(l==="task"){const i=((t=o().dashboard)==null?void 0:t.selectedProjects)||[],E=((c=o().dashboard)==null?void 0:c.tasks.assignees)||[],Q=((k=o().dashboard)==null?void 0:k.tasks.assigneesFilter)==="me",m=s.assignees,j=Q?[(y=o().user)==null?void 0:y.name]:E,B=[...new Set([...n,...m||[]])].some(q=>j.includes(q)),K=i.some(q=>q===d);if(B&&K){const[q,P]=F({assignees:j,projects:i},{newAssignees:m,taskId:e,data:s},{dispatch:a});P&&g.push(q),P||T.getKanbanTasks({projects:[d],taskIds:[e]},a).then(D=>{let A=D.find(R=>R.id===e);A&&(A={...A,assignees:m},F({assignees:j,projects:i},{newAssignees:m,taskId:e,taskData:A},{dispatch:a}))})}const M=[{type:"task",id:e}];if(m!=null&&m.length){const q=new Set(n),P=new Set(m),D=[...q].filter(I=>!P.has(I)),A=[...P].filter(I=>!q.has(I)),$=[...new Set([...D,...A])].map(I=>({type:"kanban",id:"user-"+I+"-project-"+d}));M.push(...$),a(T.dashboardQueries.util.invalidateTags([{type:"watchers",id:e}]))}let N=T.dashboardQueries.util.selectInvalidatedBy(f,M),U=[];for(const q of N){const[P,D]=F({assignees:q.originalArgs.assignees,projects:q.originalArgs.projects},{newAssignees:m,taskId:e,data:s},{dispatch:a});D?g.push(P):U.push(q)}const C={projects:i,assignees:j};U=U.filter(q=>JSON.stringify(q.originalArgs)!==JSON.stringify(C));const J=N.map(q=>({type:"kanban",id:JSON.stringify(q.originalArgs)}));u.push(...J)}const h=[{type:"entities",id:e}],r=w.default.util.selectInvalidatedBy(f,h);for(const i of r){let E=a(G.detailsPanelQueries.util.updateQueryData("getEntitiesDetailsPanel",i.originalArgs,Q=>{for(const m of Q)x.patchDetailsPanelEntity([{entityId:e,data:s,entityType:l}],m)}));g.push(E)}try{await v,u.length&&a(T.dashboardQueries.util.invalidateTags(u))}catch(i){console.error("error updating "+l,i),H.toast.error(((S=(p=i==null?void 0:i.error)==null?void 0:p.data)==null?void 0:S.detail)||"Failed to update task"),g.forEach(E=>E==null?void 0:E.undo())}}}),updateEntities:b.mutation({async queryFn({operations:d=[],entityType:e},{dispatch:s,getState:n}){try{const l=n(),a=[];for(const{projectName:r,data:t,id:c,currentAssignees:k=[]}of d){const y=s(O.endpoints.updateEntity.initiate({projectName:r,entityId:c,data:t,entityType:e,currentAssignees:k}));a.push(y)}let v=[];(e==="task"||e==="folder")&&(v=L({operations:d,state:l,dispatch:s,entityType:e}));const o=[],f=d.map(r=>({...r,entityId:r.id}));if((e==="task"||e==="folder")&&(e==="task"&&x.patchOverviewTasks(f,{state:l,dispatch:s},o),e==="folder"&&(x.patchOverviewFolders(f,{state:l,dispatch:s},o),console.log("invalidate overview folders"),s(w.default.util.invalidateTags([{type:"folder",id:"LIST"}])),s(w.default.util.invalidateTags(f.map(r=>({type:"overviewTask",id:r.entityId})))))),(await Promise.allSettled(a)).some(r=>{var t;return(t=r.value)==null?void 0:t.error}))throw s(w.default.util.invalidateTags(d.map(r=>({type:"kanBanTask",id:r.id})))),v.forEach(r=>r==null?void 0:r.undo()),o.forEach(r=>r==null?void 0:r.undo()),"Failed to update some tasks";const h=[];return h.length&&s(w.default.util.invalidateTags(h)),{data:d}}catch(l){return console.error(l),{error:l}}},invalidatesTags:(d,e,{operations:s})=>[...s.map(n=>({id:n.id,type:"review"}))]})}),overrideExisting:!0}),{useUpdateEntitiesMutation:V,useUpdateEntityMutation:W}=O;exports.entitiesQueries=O;exports.useUpdateEntitiesMutation=V;exports.useUpdateEntityMutation=W;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const w=require("./getEntity.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");const G=require("./getEntityPanel.cjs.js");require("../../base/client.cjs.js");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");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("../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");require("../overview/getOverview.cjs.js");const x=require("../overview/updateOverview.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");const T=require("../userDashboard/getUserDashboard.cjs.js");require("../users/getUsers.cjs.js");require("../users/updateUsers.cjs.js");require("../users/guests.cjs.js");require("../versions/updateVersions.cjs.js");require("../views/getViews.cjs.js");require("../views/updateViews.cjs.js");require("../watchers/getWatchers.cjs.js");const H=require("react-toastify"),F=({assignees:b=[],projects:d=[]},{newAssignees:e,taskId:s,data:n,taskData:l},{dispatch:a})=>{let v=!1;return[a(T.dashboardQueries.util.updateQueryData("GetKanban",{projects:d,assignees:b},f=>{var h,r;const g=f.findIndex(t=>t.id===s);let u={...n};if((h=n==null?void 0:n.attrib)!=null&&h.priority){const{priority:t}=u.attrib;u={...u,priority:t}}if((r=n==null?void 0:n.attrib)!=null&&r.endDate){const{endDate:t}=u.attrib;u={...u,dueDate:t},delete u.attrib.endDate}if(g===-1)l?f.push(l):v=!1;else if(v=!0,!(e==null?void 0:e.some(c=>b.includes(c)))&&e)f.splice(g,1);else{const c={...f[g],...u};f[g]=c}})),v]},L=({operations:b=[],state:d,dispatch:e,entityType:s})=>{const n=b.map(a=>({type:"progress",id:a.id}));let l=w.default.util.selectInvalidatedBy(d,n);if(!l.length)return[];try{return l.map(v=>e(w.default.util.updateQueryData(v.endpointName,v.originalArgs,o=>{var f,g;for(const u of b){const h=u.id,r=u.data;if(s==="task"){const t=(f=u.meta)==null?void 0:f.folderId,c=o.find(i=>i.id===t);if(!c)throw new Error("Patching progress view: folder not found");const k=(g=c.tasks)==null?void 0:g.find(i=>i.id===h);if(!k)throw new Error("Patching progress view: task not found");const y={...k,...r},p={...c,tasks:c.tasks.map(i=>i.id===h?y:i)},S=o.findIndex(i=>i.id===t);o[S]=p}else if(s==="folder"){const t=o.find(p=>p.id===h);if(!t)throw new Error("Patching progress view: folder not found");let c={...r};if(r.name&&t.path){const p=t.path.split("/");p[p.length-1]=r.name,c.path=p.join("/")}const k={...t,...c},y=o.findIndex(p=>p.id===h);o[y]=k}}})))}catch(a){return console.error(a),e(w.default.util.invalidateTags(n)),[]}},O=w.default.injectEndpoints({endpoints:b=>({updateEntity:b.mutation({query:({projectName:d,entityId:e,data:s,entityType:n})=>({url:`/api/projects/${d}/${n}s/${e}`,method:"PATCH",body:s}),async onQueryStarted({projectName:d,entityId:e,data:s,currentAssignees:n,entityType:l},{dispatch:a,queryFulfilled:v,getState:o}){var t,c,k,y,p,S;const f=o(),g=[];let u=[];if(l==="task"){const i=((t=o().dashboard)==null?void 0:t.selectedProjects)||[],E=((c=o().dashboard)==null?void 0:c.tasks.assignees)||[],Q=((k=o().dashboard)==null?void 0:k.tasks.assigneesFilter)==="me",m=s.assignees,j=Q?[(y=o().user)==null?void 0:y.name]:E,B=[...new Set([...n,...m||[]])].some(q=>j.includes(q)),K=i.some(q=>q===d);if(B&&K){const[q,P]=F({assignees:j,projects:i},{newAssignees:m,taskId:e,data:s},{dispatch:a});P&&g.push(q),P||T.getKanbanTasks({projects:[d],taskIds:[e]},a).then(D=>{let A=D.find(R=>R.id===e);A&&(A={...A,assignees:m},F({assignees:j,projects:i},{newAssignees:m,taskId:e,taskData:A},{dispatch:a}))})}const M=[{type:"task",id:e}];if(m!=null&&m.length){const q=new Set(n),P=new Set(m),D=[...q].filter(I=>!P.has(I)),A=[...P].filter(I=>!q.has(I)),$=[...new Set([...D,...A])].map(I=>({type:"kanban",id:"user-"+I+"-project-"+d}));M.push(...$),a(T.dashboardQueries.util.invalidateTags([{type:"watchers",id:e}]))}let N=T.dashboardQueries.util.selectInvalidatedBy(f,M),U=[];for(const q of N){const[P,D]=F({assignees:q.originalArgs.assignees,projects:q.originalArgs.projects},{newAssignees:m,taskId:e,data:s},{dispatch:a});D?g.push(P):U.push(q)}const C={projects:i,assignees:j};U=U.filter(q=>JSON.stringify(q.originalArgs)!==JSON.stringify(C));const J=N.map(q=>({type:"kanban",id:JSON.stringify(q.originalArgs)}));u.push(...J)}const h=[{type:"entities",id:e}],r=w.default.util.selectInvalidatedBy(f,h);for(const i of r){let E=a(G.detailsPanelQueries.util.updateQueryData("getEntitiesDetailsPanel",i.originalArgs,Q=>{for(const m of Q)x.patchDetailsPanelEntity([{entityId:e,data:s,entityType:l}],m)}));g.push(E)}try{await v,u.length&&a(T.dashboardQueries.util.invalidateTags(u))}catch(i){console.error("error updating "+l,i),H.toast.error(((S=(p=i==null?void 0:i.error)==null?void 0:p.data)==null?void 0:S.detail)||"Failed to update task"),g.forEach(E=>E==null?void 0:E.undo())}}}),updateEntities:b.mutation({async queryFn({operations:d=[],entityType:e},{dispatch:s,getState:n}){try{const l=n(),a=[];for(const{projectName:r,data:t,id:c,currentAssignees:k=[]}of d){const y=s(O.endpoints.updateEntity.initiate({projectName:r,entityId:c,data:t,entityType:e,currentAssignees:k}));a.push(y)}let v=[];(e==="task"||e==="folder")&&(v=L({operations:d,state:l,dispatch:s,entityType:e}));const o=[],f=d.map(r=>({...r,entityId:r.id}));if((e==="task"||e==="folder")&&(e==="task"&&x.patchOverviewTasks(f,{state:l,dispatch:s},o),e==="folder"&&(x.patchOverviewFolders(f,{state:l,dispatch:s},o),console.log("invalidate overview folders"),s(w.default.util.invalidateTags([{type:"folder",id:"LIST"}])),s(w.default.util.invalidateTags(f.map(r=>({type:"overviewTask",id:r.entityId})))))),(await Promise.allSettled(a)).some(r=>{var t;return(t=r.value)==null?void 0:t.error}))throw s(w.default.util.invalidateTags(d.map(r=>({type:"kanBanTask",id:r.id})))),v.forEach(r=>r==null?void 0:r.undo()),o.forEach(r=>r==null?void 0:r.undo()),"Failed to update some tasks";const h=[];return h.length&&s(w.default.util.invalidateTags(h)),{data:d}}catch(l){return console.error(l),{error:l}}},invalidatesTags:(d,e,{operations:s})=>[...s.map(n=>({id:n.id,type:"review"}))]})}),overrideExisting:!0}),{useUpdateEntitiesMutation:V,useUpdateEntityMutation:W}=O;exports.entitiesQueries=O;exports.useUpdateEntitiesMutation=V;exports.useUpdateEntityMutation=W;
2
2
  //# sourceMappingURL=updateEntity.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"updateEntity.cjs.js","sources":["../../../../../../src/api/queries/entities/updateEntity.ts"],"sourcesContent":["// @ts-nocheck\n\nimport api from './getEntity'\nimport { detailsPanelQueries } from '@shared/api/queries'\nimport { patchDetailsPanelEntity } from '@shared/api'\nimport { toast } from 'react-toastify'\nimport { dashboardQueries, getKanbanTasks } from '@shared/api/queries/userDashboard'\nimport { patchOverviewFolders, patchOverviewTasks } from '@shared/api/queries/overview'\n\nconst patchKanban = (\n { assignees = [], projects = [] },\n { newAssignees, taskId, data, taskData },\n { dispatch },\n) => {\n let kanbanPatched = false\n const patchResult = dispatch(\n dashboardQueries.util.updateQueryData(\n 'GetKanban',\n { projects: projects, assignees: assignees },\n (draft) => {\n const taskIndex = draft.findIndex((task) => task.id === taskId)\n let patchData = { ...data }\n // if the data include attrib.priority it needs to be transformed to just priority\n // this is because priority is a top level field on kanban query\n if (data?.attrib?.priority) {\n const { priority } = patchData.attrib\n patchData = { ...patchData, priority }\n }\n // if the data include attrib.endDate it needs to be transformed to dueDate\n // this is because dueDate is a top level field on kanban query\n // NOTE TO SELF: Lets try to do these transforms after the cache the future.\n if (data?.attrib?.endDate) {\n const { endDate } = patchData.attrib\n patchData = { ...patchData, dueDate: endDate }\n delete patchData.attrib.endDate\n }\n\n if (taskIndex === -1) {\n // task not found, assignee must have just been added\n if (taskData) {\n // add the task to the cache\n draft.push(taskData)\n } else {\n // we don't have the task data, so we can't add it to the cache\n // we might add it later\n kanbanPatched = false\n }\n } else {\n kanbanPatched = true\n // first check that the task assignees still has a intersection with dashAssignees\n const hasSomeAssignees = newAssignees?.some((assignee) => assignees.includes(assignee))\n\n if (!hasSomeAssignees && newAssignees) {\n // remove from cache\n draft.splice(taskIndex, 1)\n } else {\n // task found: update the task in the cache\n const newData = { ...draft[taskIndex], ...patchData }\n draft[taskIndex] = newData\n }\n }\n },\n ),\n )\n\n return [patchResult, kanbanPatched]\n}\n\n// try to patch the progress view if there are queries that need to be updated\nconst patchProgressView = ({ operations = [], state, dispatch, entityType }) => {\n // create invalidation tags for progress view\n const invalidationTags = operations.map((o) => ({ type: 'progress', id: o.id }))\n // find the entries that need to be updated\n let entries = api.util.selectInvalidatedBy(state, invalidationTags)\n // if there are no entries, return\n if (!entries.length) return []\n\n try {\n // patch each entry with updated task data\n const patches = entries.map((entry) =>\n dispatch(\n api.util.updateQueryData(entry.endpointName, entry.originalArgs, (draft) => {\n for (const operation of operations) {\n const entityId = operation.id\n const patch = operation.data\n\n // patch the updated task data\n if (entityType === 'task') {\n const folderId = operation.meta?.folderId\n const folder = draft.find((folder) => folder.id === folderId)\n if (!folder) throw new Error('Patching progress view: folder not found')\n const task = folder.tasks?.find((task) => task.id === entityId)\n if (!task) throw new Error('Patching progress view: task not found')\n // update task\n const newTask = { ...task, ...patch }\n // update folder\n const newFolder = {\n ...folder,\n tasks: folder.tasks.map((t) => (t.id === entityId ? newTask : t)),\n }\n // update query\n const folderIndex = draft.findIndex((f) => f.id === folderId)\n draft[folderIndex] = newFolder\n } else if (entityType === 'folder') {\n const folder = draft.find((folder) => folder.id === entityId)\n if (!folder) throw new Error('Patching progress view: folder not found')\n\n // If name is being updated, also update the path\n let updatedPatch = { ...patch }\n if (patch.name && folder.path) {\n // Construct new path by replacing the last segment with the new name\n const pathParts = folder.path.split('/')\n pathParts[pathParts.length - 1] = patch.name\n updatedPatch.path = pathParts.join('/')\n }\n\n // update folder\n const newFolder = { ...folder, ...updatedPatch }\n // update query\n const folderIndex = draft.findIndex((f) => f.id === entityId)\n draft[folderIndex] = newFolder\n }\n }\n }),\n ),\n )\n return patches\n } catch (error) {\n console.error(error)\n // invalidate the progress view queries instead\n dispatch(api.util.invalidateTags(invalidationTags))\n return []\n }\n}\n\nconst updateEntity = api.injectEndpoints({\n endpoints: (build) => ({\n updateEntity: build.mutation({\n query: ({ projectName, entityId, data, entityType }) => ({\n url: `/api/projects/${projectName}/${entityType}s/${entityId}`,\n method: 'PATCH',\n body: data,\n }),\n async onQueryStarted(\n { projectName, entityId, data, currentAssignees, entityType },\n { dispatch, queryFulfilled, getState },\n ) {\n const state = getState()\n const patchResults = []\n\n let invalidationTagsAfterComplete = []\n // if task, patch the GetKanban query\n if (entityType === 'task') {\n const dashboardProjects = getState().dashboard?.selectedProjects || []\n const dashboardUsers = getState().dashboard?.tasks.assignees || []\n const dashboardAssigneesIsMe = getState().dashboard?.tasks.assigneesFilter === 'me'\n const newAssignees = data.assignees\n\n const cacheUsers = dashboardAssigneesIsMe ? [getState().user?.name] : dashboardUsers\n\n const entityAssignees = [...new Set([...currentAssignees, ...(newAssignees || [])])]\n const hasSomeAssignees = entityAssignees.some((assignee) => cacheUsers.includes(assignee))\n const hasSomeProjects = dashboardProjects.some((project) => project === projectName)\n const currentDashNeedsUpdating = hasSomeAssignees && hasSomeProjects\n\n if (currentDashNeedsUpdating) {\n const [result, wasPatched] = patchKanban(\n { assignees: cacheUsers, projects: dashboardProjects },\n { newAssignees, taskId: entityId, data },\n { dispatch },\n )\n\n if (wasPatched) patchResults.push(result)\n\n if (!wasPatched) {\n // this means the task is not in the current kanban and it needs to be added\n\n // get the new task data\n getKanbanTasks({ projects: [projectName], taskIds: [entityId] }, dispatch).then(\n // use .then so that the rest of the code can run\n (response) => {\n let newTask = response.find((task) => task.id === entityId)\n if (newTask) {\n // add newAssignees as the actual DB hasn't been updated yet\n newTask = { ...newTask, assignees: newAssignees }\n\n patchKanban(\n { assignees: cacheUsers, projects: dashboardProjects },\n { newAssignees, taskId: entityId, taskData: newTask },\n { dispatch },\n )\n }\n },\n )\n }\n }\n\n // always update the kanban if task id matches\n const tags = [{ type: 'task', id: entityId }]\n\n // are we changing the assignees?\n if (newAssignees?.length) {\n const currentAssigneesSet = new Set(currentAssignees)\n const newAssigneesSet = new Set(newAssignees)\n\n const removedAssignees = [...currentAssigneesSet].filter(\n (assignee) => !newAssigneesSet.has(assignee),\n )\n const addedAssignees = [...newAssigneesSet].filter(\n (assignee) => !currentAssigneesSet.has(assignee),\n )\n\n const changedAssignees = [...new Set([...removedAssignees, ...addedAssignees])]\n\n // any query that has those changed assignees, needs to be updated\n // we are changing the assignees\n const assigneesTags = changedAssignees.map((assignee) => ({\n type: 'kanban',\n id: 'user-' + assignee + '-project-' + projectName,\n }))\n\n tags.push(...assigneesTags)\n\n // invalidate the watchers query\n dispatch(\n dashboardQueries.util.invalidateTags([\n {\n type: 'watchers',\n id: entityId,\n },\n ]),\n )\n }\n\n // invalidate any other caches\n let entries = dashboardQueries.util.selectInvalidatedBy(state, tags)\n let entriesToInvalidate = []\n\n // for each entry try to patch the data into the cache first\n for (const entry of entries) {\n const [patchResult, wasPatched] = patchKanban(\n {\n assignees: entry.originalArgs.assignees,\n projects: entry.originalArgs.projects,\n },\n {\n newAssignees,\n taskId: entityId,\n data,\n },\n { dispatch },\n )\n\n if (wasPatched) {\n patchResults.push(patchResult)\n } else {\n // if we couldn't patch, we need to invalidate the cache\n entriesToInvalidate.push(entry)\n }\n }\n\n // filter out current kanban query if we were able to patch it\n const currentKanbanCacheArgs = { projects: dashboardProjects, assignees: cacheUsers }\n entriesToInvalidate = entriesToInvalidate.filter(\n (entry) =>\n JSON.stringify(entry.originalArgs) !== JSON.stringify(currentKanbanCacheArgs),\n )\n\n // create the invalidation tags from originalArgs\n const invalidationTags = entries.map((entry) => ({\n type: 'kanban',\n id: JSON.stringify(entry.originalArgs),\n }))\n\n // invalidate the tags later, once the query is complete\n invalidationTagsAfterComplete.push(...invalidationTags)\n }\n\n // get all details panel caches that would be affected by this update\n const detailsPanelTags = [\n {\n type: 'entities',\n id: entityId,\n },\n ]\n\n const detailsPanelEntries = api.util.selectInvalidatedBy(state, detailsPanelTags)\n\n for (const entry of detailsPanelEntries) {\n // patch any entity details panels in dashboard\n let entityDetailsResult = dispatch(\n detailsPanelQueries.util.updateQueryData(\n 'getEntitiesDetailsPanel',\n entry.originalArgs,\n (draft) => {\n for (const entity of draft) {\n patchDetailsPanelEntity([{ entityId, data, entityType }], entity)\n }\n },\n ),\n )\n\n patchResults.push(entityDetailsResult)\n }\n\n try {\n await queryFulfilled\n\n // now invalidate any tags\n if (invalidationTagsAfterComplete.length) {\n dispatch(dashboardQueries.util.invalidateTags(invalidationTagsAfterComplete))\n }\n } catch (error) {\n console.error('error updating ' + entityType, error)\n toast.error(error?.error?.data?.detail || 'Failed to update task')\n patchResults.forEach((result) => result?.undo())\n }\n },\n }),\n updateEntities: build.mutation({\n async queryFn({ operations = [], entityType }, { dispatch, getState }) {\n try {\n const state = getState()\n const promises = []\n for (const { projectName, data, id, currentAssignees = [] } of operations) {\n const promise = dispatch(\n updateEntity.endpoints.updateEntity.initiate({\n projectName: projectName,\n entityId: id,\n data,\n entityType,\n currentAssignees,\n }),\n )\n promises.push(promise)\n }\n\n let progressPatches = []\n if (entityType === 'task' || entityType === 'folder') {\n // patch the progress page\n progressPatches = patchProgressView({ operations, state, dispatch, entityType })\n }\n\n const overviewPatches = []\n // convert id in operations to entityId\n const operationsWithEntityId = operations.map((o) => ({ ...o, entityId: o.id }))\n if (entityType === 'task' || entityType === 'folder') {\n // patch the overview page\n if (entityType === 'task') {\n patchOverviewTasks(operationsWithEntityId, { state, dispatch }, overviewPatches)\n }\n if (entityType === 'folder') {\n // patch the overview page\n patchOverviewFolders(operationsWithEntityId, { state, dispatch }, overviewPatches)\n console.log('invalidate overview folders')\n // invalidate overview folders query\n dispatch(api.util.invalidateTags([{ type: 'folder', id: 'LIST' }]))\n // invalidate overview tasks with folder as a parent\n dispatch(\n api.util.invalidateTags(\n operationsWithEntityId.map((o) => ({ type: 'overviewTask', id: o.entityId })),\n ),\n )\n }\n }\n\n // check if any of the requests failed and invalidate the tasks cache again to refetch\n const results = await Promise.allSettled(promises)\n\n // did any of the requests fail?\n const someError = results.some((result) => result.value?.error)\n if (someError) {\n dispatch(\n api.util.invalidateTags(operations.map((o) => ({ type: 'kanBanTask', id: o.id }))),\n )\n\n // revert the progress view patches\n progressPatches.forEach((patch) => patch?.undo())\n\n // revert the overview patches\n overviewPatches.forEach((patch) => patch?.undo())\n\n throw 'Failed to update some tasks'\n }\n\n const activityTags = []\n\n if (activityTags.length) {\n dispatch(api.util.invalidateTags(activityTags))\n }\n\n return { data: operations }\n } catch (error) {\n console.error(error)\n return { error }\n }\n },\n invalidatesTags: (result, error, { operations }) => [\n ...operations.map((o) => ({ id: o.id, type: 'review' })),\n ],\n }),\n }),\n overrideExisting: true,\n})\n\nexport const { useUpdateEntitiesMutation, useUpdateEntityMutation } = updateEntity\nexport { updateEntity as entitiesQueries }\n"],"names":["patchKanban","assignees","projects","newAssignees","taskId","data","taskData","dispatch","kanbanPatched","dashboardQueries","draft","taskIndex","task","patchData","_a","priority","_b","endDate","assignee","newData","patchProgressView","operations","state","entityType","invalidationTags","o","entries","api","entry","operation","entityId","patch","folderId","folder","newTask","newFolder","t","folderIndex","f","updatedPatch","pathParts","error","updateEntity","build","projectName","currentAssignees","queryFulfilled","getState","patchResults","invalidationTagsAfterComplete","dashboardProjects","dashboardUsers","dashboardAssigneesIsMe","_c","cacheUsers","_d","hasSomeAssignees","hasSomeProjects","project","result","wasPatched","getKanbanTasks","response","tags","currentAssigneesSet","newAssigneesSet","removedAssignees","addedAssignees","assigneesTags","entriesToInvalidate","patchResult","currentKanbanCacheArgs","detailsPanelTags","detailsPanelEntries","entityDetailsResult","detailsPanelQueries","entity","patchDetailsPanelEntity","toast","_f","_e","promises","id","promise","progressPatches","overviewPatches","operationsWithEntityId","patchOverviewTasks","patchOverviewFolders","activityTags","useUpdateEntitiesMutation","useUpdateEntityMutation"],"mappings":"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"}
1
+ {"version":3,"file":"updateEntity.cjs.js","sources":["../../../../../../src/api/queries/entities/updateEntity.ts"],"sourcesContent":["// @ts-nocheck\n\nimport api from './getEntity'\nimport { detailsPanelQueries } from '@shared/api/queries'\nimport { patchDetailsPanelEntity } from '@shared/api'\nimport { toast } from 'react-toastify'\nimport { dashboardQueries, getKanbanTasks } from '@shared/api/queries/userDashboard'\nimport { patchOverviewFolders, patchOverviewTasks } from '@shared/api/queries/overview'\n\nconst patchKanban = (\n { assignees = [], projects = [] },\n { newAssignees, taskId, data, taskData },\n { dispatch },\n) => {\n let kanbanPatched = false\n const patchResult = dispatch(\n dashboardQueries.util.updateQueryData(\n 'GetKanban',\n { projects: projects, assignees: assignees },\n (draft) => {\n const taskIndex = draft.findIndex((task) => task.id === taskId)\n let patchData = { ...data }\n // if the data include attrib.priority it needs to be transformed to just priority\n // this is because priority is a top level field on kanban query\n if (data?.attrib?.priority) {\n const { priority } = patchData.attrib\n patchData = { ...patchData, priority }\n }\n // if the data include attrib.endDate it needs to be transformed to dueDate\n // this is because dueDate is a top level field on kanban query\n // NOTE TO SELF: Lets try to do these transforms after the cache the future.\n if (data?.attrib?.endDate) {\n const { endDate } = patchData.attrib\n patchData = { ...patchData, dueDate: endDate }\n delete patchData.attrib.endDate\n }\n\n if (taskIndex === -1) {\n // task not found, assignee must have just been added\n if (taskData) {\n // add the task to the cache\n draft.push(taskData)\n } else {\n // we don't have the task data, so we can't add it to the cache\n // we might add it later\n kanbanPatched = false\n }\n } else {\n kanbanPatched = true\n // first check that the task assignees still has a intersection with dashAssignees\n const hasSomeAssignees = newAssignees?.some((assignee) => assignees.includes(assignee))\n\n if (!hasSomeAssignees && newAssignees) {\n // remove from cache\n draft.splice(taskIndex, 1)\n } else {\n // task found: update the task in the cache\n const newData = { ...draft[taskIndex], ...patchData }\n draft[taskIndex] = newData\n }\n }\n },\n ),\n )\n\n return [patchResult, kanbanPatched]\n}\n\n// try to patch the progress view if there are queries that need to be updated\nconst patchProgressView = ({ operations = [], state, dispatch, entityType }) => {\n // create invalidation tags for progress view\n const invalidationTags = operations.map((o) => ({ type: 'progress', id: o.id }))\n // find the entries that need to be updated\n let entries = api.util.selectInvalidatedBy(state, invalidationTags)\n // if there are no entries, return\n if (!entries.length) return []\n\n try {\n // patch each entry with updated task data\n const patches = entries.map((entry) =>\n dispatch(\n api.util.updateQueryData(entry.endpointName, entry.originalArgs, (draft) => {\n for (const operation of operations) {\n const entityId = operation.id\n const patch = operation.data\n\n // patch the updated task data\n if (entityType === 'task') {\n const folderId = operation.meta?.folderId\n const folder = draft.find((folder) => folder.id === folderId)\n if (!folder) throw new Error('Patching progress view: folder not found')\n const task = folder.tasks?.find((task) => task.id === entityId)\n if (!task) throw new Error('Patching progress view: task not found')\n // update task\n const newTask = { ...task, ...patch }\n // update folder\n const newFolder = {\n ...folder,\n tasks: folder.tasks.map((t) => (t.id === entityId ? newTask : t)),\n }\n // update query\n const folderIndex = draft.findIndex((f) => f.id === folderId)\n draft[folderIndex] = newFolder\n } else if (entityType === 'folder') {\n const folder = draft.find((folder) => folder.id === entityId)\n if (!folder) throw new Error('Patching progress view: folder not found')\n\n // If name is being updated, also update the path\n let updatedPatch = { ...patch }\n if (patch.name && folder.path) {\n // Construct new path by replacing the last segment with the new name\n const pathParts = folder.path.split('/')\n pathParts[pathParts.length - 1] = patch.name\n updatedPatch.path = pathParts.join('/')\n }\n\n // update folder\n const newFolder = { ...folder, ...updatedPatch }\n // update query\n const folderIndex = draft.findIndex((f) => f.id === entityId)\n draft[folderIndex] = newFolder\n }\n }\n }),\n ),\n )\n return patches\n } catch (error) {\n console.error(error)\n // invalidate the progress view queries instead\n dispatch(api.util.invalidateTags(invalidationTags))\n return []\n }\n}\n\nconst updateEntity = api.injectEndpoints({\n endpoints: (build) => ({\n updateEntity: build.mutation({\n query: ({ projectName, entityId, data, entityType }) => ({\n url: `/api/projects/${projectName}/${entityType}s/${entityId}`,\n method: 'PATCH',\n body: data,\n }),\n async onQueryStarted(\n { projectName, entityId, data, currentAssignees, entityType },\n { dispatch, queryFulfilled, getState },\n ) {\n const state = getState()\n const patchResults = []\n\n let invalidationTagsAfterComplete = []\n // if task, patch the GetKanban query\n if (entityType === 'task') {\n const dashboardProjects = getState().dashboard?.selectedProjects || []\n const dashboardUsers = getState().dashboard?.tasks.assignees || []\n const dashboardAssigneesIsMe = getState().dashboard?.tasks.assigneesFilter === 'me'\n const newAssignees = data.assignees\n\n const cacheUsers = dashboardAssigneesIsMe ? [getState().user?.name] : dashboardUsers\n\n const entityAssignees = [...new Set([...currentAssignees, ...(newAssignees || [])])]\n const hasSomeAssignees = entityAssignees.some((assignee) => cacheUsers.includes(assignee))\n const hasSomeProjects = dashboardProjects.some((project) => project === projectName)\n const currentDashNeedsUpdating = hasSomeAssignees && hasSomeProjects\n\n if (currentDashNeedsUpdating) {\n const [result, wasPatched] = patchKanban(\n { assignees: cacheUsers, projects: dashboardProjects },\n { newAssignees, taskId: entityId, data },\n { dispatch },\n )\n\n if (wasPatched) patchResults.push(result)\n\n if (!wasPatched) {\n // this means the task is not in the current kanban and it needs to be added\n\n // get the new task data\n getKanbanTasks({ projects: [projectName], taskIds: [entityId] }, dispatch).then(\n // use .then so that the rest of the code can run\n (response) => {\n let newTask = response.find((task) => task.id === entityId)\n if (newTask) {\n // add newAssignees as the actual DB hasn't been updated yet\n newTask = { ...newTask, assignees: newAssignees }\n\n patchKanban(\n { assignees: cacheUsers, projects: dashboardProjects },\n { newAssignees, taskId: entityId, taskData: newTask },\n { dispatch },\n )\n }\n },\n )\n }\n }\n\n // always update the kanban if task id matches\n const tags = [{ type: 'task', id: entityId }]\n\n // are we changing the assignees?\n if (newAssignees?.length) {\n const currentAssigneesSet = new Set(currentAssignees)\n const newAssigneesSet = new Set(newAssignees)\n\n const removedAssignees = [...currentAssigneesSet].filter(\n (assignee) => !newAssigneesSet.has(assignee),\n )\n const addedAssignees = [...newAssigneesSet].filter(\n (assignee) => !currentAssigneesSet.has(assignee),\n )\n\n const changedAssignees = [...new Set([...removedAssignees, ...addedAssignees])]\n\n // any query that has those changed assignees, needs to be updated\n // we are changing the assignees\n const assigneesTags = changedAssignees.map((assignee) => ({\n type: 'kanban',\n id: 'user-' + assignee + '-project-' + projectName,\n }))\n\n tags.push(...assigneesTags)\n\n // invalidate the watchers query\n dispatch(\n dashboardQueries.util.invalidateTags([\n {\n type: 'watchers',\n id: entityId,\n },\n ]),\n )\n }\n\n // invalidate any other caches\n let entries = dashboardQueries.util.selectInvalidatedBy(state, tags)\n let entriesToInvalidate = []\n\n // for each entry try to patch the data into the cache first\n for (const entry of entries) {\n const [patchResult, wasPatched] = patchKanban(\n {\n assignees: entry.originalArgs.assignees,\n projects: entry.originalArgs.projects,\n },\n {\n newAssignees,\n taskId: entityId,\n data,\n },\n { dispatch },\n )\n\n if (wasPatched) {\n patchResults.push(patchResult)\n } else {\n // if we couldn't patch, we need to invalidate the cache\n entriesToInvalidate.push(entry)\n }\n }\n\n // filter out current kanban query if we were able to patch it\n const currentKanbanCacheArgs = { projects: dashboardProjects, assignees: cacheUsers }\n entriesToInvalidate = entriesToInvalidate.filter(\n (entry) =>\n JSON.stringify(entry.originalArgs) !== JSON.stringify(currentKanbanCacheArgs),\n )\n\n // create the invalidation tags from originalArgs\n const invalidationTags = entries.map((entry) => ({\n type: 'kanban',\n id: JSON.stringify(entry.originalArgs),\n }))\n\n // invalidate the tags later, once the query is complete\n invalidationTagsAfterComplete.push(...invalidationTags)\n }\n\n // get all details panel caches that would be affected by this update\n const detailsPanelTags = [\n {\n type: 'entities',\n id: entityId,\n },\n ]\n\n const detailsPanelEntries = api.util.selectInvalidatedBy(state, detailsPanelTags)\n\n for (const entry of detailsPanelEntries) {\n // patch any entity details panels in dashboard\n let entityDetailsResult = dispatch(\n detailsPanelQueries.util.updateQueryData(\n 'getEntitiesDetailsPanel',\n entry.originalArgs,\n (draft) => {\n for (const entity of draft) {\n patchDetailsPanelEntity([{ entityId, data, entityType }], entity)\n }\n },\n ),\n )\n\n patchResults.push(entityDetailsResult)\n }\n\n try {\n await queryFulfilled\n\n // now invalidate any tags\n if (invalidationTagsAfterComplete.length) {\n dispatch(dashboardQueries.util.invalidateTags(invalidationTagsAfterComplete))\n }\n } catch (error) {\n console.error('error updating ' + entityType, error)\n toast.error(error?.error?.data?.detail || 'Failed to update task')\n patchResults.forEach((result) => result?.undo())\n }\n },\n }),\n updateEntities: build.mutation({\n async queryFn({ operations = [], entityType }, { dispatch, getState }) {\n try {\n const state = getState()\n const promises = []\n for (const { projectName, data, id, currentAssignees = [] } of operations) {\n const promise = dispatch(\n updateEntity.endpoints.updateEntity.initiate({\n projectName: projectName,\n entityId: id,\n data,\n entityType,\n currentAssignees,\n }),\n )\n promises.push(promise)\n }\n\n let progressPatches = []\n if (entityType === 'task' || entityType === 'folder') {\n // patch the progress page\n progressPatches = patchProgressView({ operations, state, dispatch, entityType })\n }\n\n const overviewPatches = []\n // convert id in operations to entityId\n const operationsWithEntityId = operations.map((o) => ({ ...o, entityId: o.id }))\n if (entityType === 'task' || entityType === 'folder') {\n // patch the overview page\n if (entityType === 'task') {\n patchOverviewTasks(operationsWithEntityId, { state, dispatch }, overviewPatches)\n }\n if (entityType === 'folder') {\n // patch the overview page\n patchOverviewFolders(operationsWithEntityId, { state, dispatch }, overviewPatches)\n console.log('invalidate overview folders')\n // invalidate overview folders query\n dispatch(api.util.invalidateTags([{ type: 'folder', id: 'LIST' }]))\n // invalidate overview tasks with folder as a parent\n dispatch(\n api.util.invalidateTags(\n operationsWithEntityId.map((o) => ({ type: 'overviewTask', id: o.entityId })),\n ),\n )\n }\n }\n\n // check if any of the requests failed and invalidate the tasks cache again to refetch\n const results = await Promise.allSettled(promises)\n\n // did any of the requests fail?\n const someError = results.some((result) => result.value?.error)\n if (someError) {\n dispatch(\n api.util.invalidateTags(operations.map((o) => ({ type: 'kanBanTask', id: o.id }))),\n )\n\n // revert the progress view patches\n progressPatches.forEach((patch) => patch?.undo())\n\n // revert the overview patches\n overviewPatches.forEach((patch) => patch?.undo())\n\n throw 'Failed to update some tasks'\n }\n\n const activityTags = []\n\n if (activityTags.length) {\n dispatch(api.util.invalidateTags(activityTags))\n }\n\n return { data: operations }\n } catch (error) {\n console.error(error)\n return { error }\n }\n },\n invalidatesTags: (result, error, { operations }) => [\n ...operations.map((o) => ({ id: o.id, type: 'review' })),\n ],\n }),\n }),\n overrideExisting: true,\n})\n\nexport const { useUpdateEntitiesMutation, useUpdateEntityMutation } = updateEntity\nexport { updateEntity as entitiesQueries }\n"],"names":["patchKanban","assignees","projects","newAssignees","taskId","data","taskData","dispatch","kanbanPatched","dashboardQueries","draft","taskIndex","task","patchData","_a","priority","_b","endDate","assignee","newData","patchProgressView","operations","state","entityType","invalidationTags","o","entries","api","entry","operation","entityId","patch","folderId","folder","newTask","newFolder","t","folderIndex","f","updatedPatch","pathParts","error","updateEntity","build","projectName","currentAssignees","queryFulfilled","getState","patchResults","invalidationTagsAfterComplete","dashboardProjects","dashboardUsers","dashboardAssigneesIsMe","_c","cacheUsers","_d","hasSomeAssignees","hasSomeProjects","project","result","wasPatched","getKanbanTasks","response","tags","currentAssigneesSet","newAssigneesSet","removedAssignees","addedAssignees","assigneesTags","entriesToInvalidate","patchResult","currentKanbanCacheArgs","detailsPanelTags","detailsPanelEntries","entityDetailsResult","detailsPanelQueries","entity","patchDetailsPanelEntity","toast","_f","_e","promises","id","promise","progressPatches","overviewPatches","operationsWithEntityId","patchOverviewTasks","patchOverviewFolders","activityTags","useUpdateEntitiesMutation","useUpdateEntityMutation"],"mappings":"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"}
@@ -73,17 +73,18 @@ import "../system/getSystem.es.js";
73
73
  import { getKanbanTasks as V, dashboardQueries as x } from "../userDashboard/getUserDashboard.es.js";
74
74
  import "../users/getUsers.es.js";
75
75
  import "../users/updateUsers.es.js";
76
+ import "../users/guests.es.js";
76
77
  import "../versions/updateVersions.es.js";
77
78
  import "../views/getViews.es.js";
78
79
  import "../views/updateViews.es.js";
79
80
  import "../watchers/getWatchers.es.js";
80
81
  import { toast as W } from "react-toastify";
81
- const R = ({ assignees: E = [], projects: l = [] }, { newAssignees: t, taskId: s, data: r, taskData: m }, { dispatch: n }) => {
82
+ const R = ({ assignees: E = [], projects: m = [] }, { newAssignees: t, taskId: s, data: r, taskData: l }, { dispatch: n }) => {
82
83
  let v = !1;
83
84
  return [n(
84
85
  x.util.updateQueryData(
85
86
  "GetKanban",
86
- { projects: l, assignees: E },
87
+ { projects: m, assignees: E },
87
88
  (u) => {
88
89
  var g, e;
89
90
  const f = u.findIndex((i) => i.id === s);
@@ -97,7 +98,7 @@ const R = ({ assignees: E = [], projects: l = [] }, { newAssignees: t, taskId: s
97
98
  p = { ...p, dueDate: i }, delete p.attrib.endDate;
98
99
  }
99
100
  if (f === -1)
100
- m ? u.push(m) : v = !1;
101
+ l ? u.push(l) : v = !1;
101
102
  else if (v = !0, !(t == null ? void 0 : t.some((d) => E.includes(d))) && t)
102
103
  u.splice(f, 1);
103
104
  else {
@@ -107,12 +108,12 @@ const R = ({ assignees: E = [], projects: l = [] }, { newAssignees: t, taskId: s
107
108
  }
108
109
  )
109
110
  ), v];
110
- }, z = ({ operations: E = [], state: l, dispatch: t, entityType: s }) => {
111
+ }, z = ({ operations: E = [], state: m, dispatch: t, entityType: s }) => {
111
112
  const r = E.map((n) => ({ type: "progress", id: n.id }));
112
- let m = P.util.selectInvalidatedBy(l, r);
113
- if (!m.length) return [];
113
+ let l = P.util.selectInvalidatedBy(m, r);
114
+ if (!l.length) return [];
114
115
  try {
115
- return m.map(
116
+ return l.map(
116
117
  (v) => t(
117
118
  P.util.updateQueryData(v.endpointName, v.originalArgs, (a) => {
118
119
  var u, f;
@@ -149,24 +150,24 @@ const R = ({ assignees: E = [], projects: l = [] }, { newAssignees: t, taskId: s
149
150
  }, B = P.injectEndpoints({
150
151
  endpoints: (E) => ({
151
152
  updateEntity: E.mutation({
152
- query: ({ projectName: l, entityId: t, data: s, entityType: r }) => ({
153
- url: `/api/projects/${l}/${r}s/${t}`,
153
+ query: ({ projectName: m, entityId: t, data: s, entityType: r }) => ({
154
+ url: `/api/projects/${m}/${r}s/${t}`,
154
155
  method: "PATCH",
155
156
  body: s
156
157
  }),
157
- async onQueryStarted({ projectName: l, entityId: t, data: s, currentAssignees: r, entityType: m }, { dispatch: n, queryFulfilled: v, getState: a }) {
158
+ async onQueryStarted({ projectName: m, entityId: t, data: s, currentAssignees: r, entityType: l }, { dispatch: n, queryFulfilled: v, getState: a }) {
158
159
  var i, d, w, b, h, T;
159
160
  const u = a(), f = [];
160
161
  let p = [];
161
- if (m === "task") {
162
- const o = ((i = a().dashboard) == null ? void 0 : i.selectedProjects) || [], y = ((d = a().dashboard) == null ? void 0 : d.tasks.assignees) || [], Q = ((w = a().dashboard) == null ? void 0 : w.tasks.assigneesFilter) === "me", k = s.assignees, S = Q ? [(b = a().user) == null ? void 0 : b.name] : y, K = [.../* @__PURE__ */ new Set([...r, ...k || []])].some((c) => S.includes(c)), C = o.some((c) => c === l);
162
+ if (l === "task") {
163
+ const o = ((i = a().dashboard) == null ? void 0 : i.selectedProjects) || [], y = ((d = a().dashboard) == null ? void 0 : d.tasks.assignees) || [], Q = ((w = a().dashboard) == null ? void 0 : w.tasks.assigneesFilter) === "me", k = s.assignees, S = Q ? [(b = a().user) == null ? void 0 : b.name] : y, K = [.../* @__PURE__ */ new Set([...r, ...k || []])].some((c) => S.includes(c)), C = o.some((c) => c === m);
163
164
  if (K && C) {
164
165
  const [c, A] = R(
165
166
  { assignees: S, projects: o },
166
167
  { newAssignees: k, taskId: t, data: s },
167
168
  { dispatch: n }
168
169
  );
169
- A && f.push(c), A || V({ projects: [l], taskIds: [t] }, n).then(
170
+ A && f.push(c), A || V({ projects: [m], taskIds: [t] }, n).then(
170
171
  // use .then so that the rest of the code can run
171
172
  (I) => {
172
173
  let D = I.find((O) => O.id === t);
@@ -186,7 +187,7 @@ const R = ({ assignees: E = [], projects: l = [] }, { newAssignees: t, taskId: s
186
187
  (j) => !c.has(j)
187
188
  ), $ = [.../* @__PURE__ */ new Set([...I, ...D])].map((j) => ({
188
189
  type: "kanban",
189
- id: "user-" + j + "-project-" + l
190
+ id: "user-" + j + "-project-" + m
190
191
  }));
191
192
  U.push(...$), n(
192
193
  x.util.invalidateTags([
@@ -236,7 +237,7 @@ const R = ({ assignees: E = [], projects: l = [] }, { newAssignees: t, taskId: s
236
237
  o.originalArgs,
237
238
  (Q) => {
238
239
  for (const k of Q)
239
- L([{ entityId: t, data: s, entityType: m }], k);
240
+ L([{ entityId: t, data: s, entityType: l }], k);
240
241
  }
241
242
  )
242
243
  );
@@ -245,15 +246,15 @@ const R = ({ assignees: E = [], projects: l = [] }, { newAssignees: t, taskId: s
245
246
  try {
246
247
  await v, p.length && n(x.util.invalidateTags(p));
247
248
  } catch (o) {
248
- console.error("error updating " + m, o), W.error(((T = (h = o == null ? void 0 : o.error) == null ? void 0 : h.data) == null ? void 0 : T.detail) || "Failed to update task"), f.forEach((y) => y == null ? void 0 : y.undo());
249
+ console.error("error updating " + l, o), W.error(((T = (h = o == null ? void 0 : o.error) == null ? void 0 : h.data) == null ? void 0 : T.detail) || "Failed to update task"), f.forEach((y) => y == null ? void 0 : y.undo());
249
250
  }
250
251
  }
251
252
  }),
252
253
  updateEntities: E.mutation({
253
- async queryFn({ operations: l = [], entityType: t }, { dispatch: s, getState: r }) {
254
+ async queryFn({ operations: m = [], entityType: t }, { dispatch: s, getState: r }) {
254
255
  try {
255
- const m = r(), n = [];
256
- for (const { projectName: e, data: i, id: d, currentAssignees: w = [] } of l) {
256
+ const l = r(), n = [];
257
+ for (const { projectName: e, data: i, id: d, currentAssignees: w = [] } of m) {
257
258
  const b = s(
258
259
  B.endpoints.updateEntity.initiate({
259
260
  projectName: e,
@@ -266,9 +267,9 @@ const R = ({ assignees: E = [], projects: l = [] }, { newAssignees: t, taskId: s
266
267
  n.push(b);
267
268
  }
268
269
  let v = [];
269
- (t === "task" || t === "folder") && (v = z({ operations: l, state: m, dispatch: s, entityType: t }));
270
- const a = [], u = l.map((e) => ({ ...e, entityId: e.id }));
271
- if ((t === "task" || t === "folder") && (t === "task" && G(u, { state: m, dispatch: s }, a), t === "folder" && (H(u, { state: m, dispatch: s }, a), console.log("invalidate overview folders"), s(P.util.invalidateTags([{ type: "folder", id: "LIST" }])), s(
270
+ (t === "task" || t === "folder") && (v = z({ operations: m, state: l, dispatch: s, entityType: t }));
271
+ const a = [], u = m.map((e) => ({ ...e, entityId: e.id }));
272
+ if ((t === "task" || t === "folder") && (t === "task" && G(u, { state: l, dispatch: s }, a), t === "folder" && (H(u, { state: l, dispatch: s }, a), console.log("invalidate overview folders"), s(P.util.invalidateTags([{ type: "folder", id: "LIST" }])), s(
272
273
  P.util.invalidateTags(
273
274
  u.map((e) => ({ type: "overviewTask", id: e.entityId }))
274
275
  )
@@ -277,24 +278,24 @@ const R = ({ assignees: E = [], projects: l = [] }, { newAssignees: t, taskId: s
277
278
  return (i = e.value) == null ? void 0 : i.error;
278
279
  }))
279
280
  throw s(
280
- P.util.invalidateTags(l.map((e) => ({ type: "kanBanTask", id: e.id })))
281
+ P.util.invalidateTags(m.map((e) => ({ type: "kanBanTask", id: e.id })))
281
282
  ), v.forEach((e) => e == null ? void 0 : e.undo()), a.forEach((e) => e == null ? void 0 : e.undo()), "Failed to update some tasks";
282
283
  const g = [];
283
- return g.length && s(P.util.invalidateTags(g)), { data: l };
284
- } catch (m) {
285
- return console.error(m), { error: m };
284
+ return g.length && s(P.util.invalidateTags(g)), { data: m };
285
+ } catch (l) {
286
+ return console.error(l), { error: l };
286
287
  }
287
288
  },
288
- invalidatesTags: (l, t, { operations: s }) => [
289
+ invalidatesTags: (m, t, { operations: s }) => [
289
290
  ...s.map((r) => ({ id: r.id, type: "review" }))
290
291
  ]
291
292
  })
292
293
  }),
293
294
  overrideExisting: !0
294
- }), { useUpdateEntitiesMutation: Ae, useUpdateEntityMutation: De } = B;
295
+ }), { useUpdateEntitiesMutation: De, useUpdateEntityMutation: Ie } = B;
295
296
  export {
296
297
  B as entitiesQueries,
297
- Ae as useUpdateEntitiesMutation,
298
- De as useUpdateEntityMutation
298
+ De as useUpdateEntitiesMutation,
299
+ Ie as useUpdateEntityMutation
299
300
  };
300
301
  //# sourceMappingURL=updateEntity.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"updateEntity.es.js","sources":["../../../../../../src/api/queries/entities/updateEntity.ts"],"sourcesContent":["// @ts-nocheck\n\nimport api from './getEntity'\nimport { detailsPanelQueries } from '@shared/api/queries'\nimport { patchDetailsPanelEntity } from '@shared/api'\nimport { toast } from 'react-toastify'\nimport { dashboardQueries, getKanbanTasks } from '@shared/api/queries/userDashboard'\nimport { patchOverviewFolders, patchOverviewTasks } from '@shared/api/queries/overview'\n\nconst patchKanban = (\n { assignees = [], projects = [] },\n { newAssignees, taskId, data, taskData },\n { dispatch },\n) => {\n let kanbanPatched = false\n const patchResult = dispatch(\n dashboardQueries.util.updateQueryData(\n 'GetKanban',\n { projects: projects, assignees: assignees },\n (draft) => {\n const taskIndex = draft.findIndex((task) => task.id === taskId)\n let patchData = { ...data }\n // if the data include attrib.priority it needs to be transformed to just priority\n // this is because priority is a top level field on kanban query\n if (data?.attrib?.priority) {\n const { priority } = patchData.attrib\n patchData = { ...patchData, priority }\n }\n // if the data include attrib.endDate it needs to be transformed to dueDate\n // this is because dueDate is a top level field on kanban query\n // NOTE TO SELF: Lets try to do these transforms after the cache the future.\n if (data?.attrib?.endDate) {\n const { endDate } = patchData.attrib\n patchData = { ...patchData, dueDate: endDate }\n delete patchData.attrib.endDate\n }\n\n if (taskIndex === -1) {\n // task not found, assignee must have just been added\n if (taskData) {\n // add the task to the cache\n draft.push(taskData)\n } else {\n // we don't have the task data, so we can't add it to the cache\n // we might add it later\n kanbanPatched = false\n }\n } else {\n kanbanPatched = true\n // first check that the task assignees still has a intersection with dashAssignees\n const hasSomeAssignees = newAssignees?.some((assignee) => assignees.includes(assignee))\n\n if (!hasSomeAssignees && newAssignees) {\n // remove from cache\n draft.splice(taskIndex, 1)\n } else {\n // task found: update the task in the cache\n const newData = { ...draft[taskIndex], ...patchData }\n draft[taskIndex] = newData\n }\n }\n },\n ),\n )\n\n return [patchResult, kanbanPatched]\n}\n\n// try to patch the progress view if there are queries that need to be updated\nconst patchProgressView = ({ operations = [], state, dispatch, entityType }) => {\n // create invalidation tags for progress view\n const invalidationTags = operations.map((o) => ({ type: 'progress', id: o.id }))\n // find the entries that need to be updated\n let entries = api.util.selectInvalidatedBy(state, invalidationTags)\n // if there are no entries, return\n if (!entries.length) return []\n\n try {\n // patch each entry with updated task data\n const patches = entries.map((entry) =>\n dispatch(\n api.util.updateQueryData(entry.endpointName, entry.originalArgs, (draft) => {\n for (const operation of operations) {\n const entityId = operation.id\n const patch = operation.data\n\n // patch the updated task data\n if (entityType === 'task') {\n const folderId = operation.meta?.folderId\n const folder = draft.find((folder) => folder.id === folderId)\n if (!folder) throw new Error('Patching progress view: folder not found')\n const task = folder.tasks?.find((task) => task.id === entityId)\n if (!task) throw new Error('Patching progress view: task not found')\n // update task\n const newTask = { ...task, ...patch }\n // update folder\n const newFolder = {\n ...folder,\n tasks: folder.tasks.map((t) => (t.id === entityId ? newTask : t)),\n }\n // update query\n const folderIndex = draft.findIndex((f) => f.id === folderId)\n draft[folderIndex] = newFolder\n } else if (entityType === 'folder') {\n const folder = draft.find((folder) => folder.id === entityId)\n if (!folder) throw new Error('Patching progress view: folder not found')\n\n // If name is being updated, also update the path\n let updatedPatch = { ...patch }\n if (patch.name && folder.path) {\n // Construct new path by replacing the last segment with the new name\n const pathParts = folder.path.split('/')\n pathParts[pathParts.length - 1] = patch.name\n updatedPatch.path = pathParts.join('/')\n }\n\n // update folder\n const newFolder = { ...folder, ...updatedPatch }\n // update query\n const folderIndex = draft.findIndex((f) => f.id === entityId)\n draft[folderIndex] = newFolder\n }\n }\n }),\n ),\n )\n return patches\n } catch (error) {\n console.error(error)\n // invalidate the progress view queries instead\n dispatch(api.util.invalidateTags(invalidationTags))\n return []\n }\n}\n\nconst updateEntity = api.injectEndpoints({\n endpoints: (build) => ({\n updateEntity: build.mutation({\n query: ({ projectName, entityId, data, entityType }) => ({\n url: `/api/projects/${projectName}/${entityType}s/${entityId}`,\n method: 'PATCH',\n body: data,\n }),\n async onQueryStarted(\n { projectName, entityId, data, currentAssignees, entityType },\n { dispatch, queryFulfilled, getState },\n ) {\n const state = getState()\n const patchResults = []\n\n let invalidationTagsAfterComplete = []\n // if task, patch the GetKanban query\n if (entityType === 'task') {\n const dashboardProjects = getState().dashboard?.selectedProjects || []\n const dashboardUsers = getState().dashboard?.tasks.assignees || []\n const dashboardAssigneesIsMe = getState().dashboard?.tasks.assigneesFilter === 'me'\n const newAssignees = data.assignees\n\n const cacheUsers = dashboardAssigneesIsMe ? [getState().user?.name] : dashboardUsers\n\n const entityAssignees = [...new Set([...currentAssignees, ...(newAssignees || [])])]\n const hasSomeAssignees = entityAssignees.some((assignee) => cacheUsers.includes(assignee))\n const hasSomeProjects = dashboardProjects.some((project) => project === projectName)\n const currentDashNeedsUpdating = hasSomeAssignees && hasSomeProjects\n\n if (currentDashNeedsUpdating) {\n const [result, wasPatched] = patchKanban(\n { assignees: cacheUsers, projects: dashboardProjects },\n { newAssignees, taskId: entityId, data },\n { dispatch },\n )\n\n if (wasPatched) patchResults.push(result)\n\n if (!wasPatched) {\n // this means the task is not in the current kanban and it needs to be added\n\n // get the new task data\n getKanbanTasks({ projects: [projectName], taskIds: [entityId] }, dispatch).then(\n // use .then so that the rest of the code can run\n (response) => {\n let newTask = response.find((task) => task.id === entityId)\n if (newTask) {\n // add newAssignees as the actual DB hasn't been updated yet\n newTask = { ...newTask, assignees: newAssignees }\n\n patchKanban(\n { assignees: cacheUsers, projects: dashboardProjects },\n { newAssignees, taskId: entityId, taskData: newTask },\n { dispatch },\n )\n }\n },\n )\n }\n }\n\n // always update the kanban if task id matches\n const tags = [{ type: 'task', id: entityId }]\n\n // are we changing the assignees?\n if (newAssignees?.length) {\n const currentAssigneesSet = new Set(currentAssignees)\n const newAssigneesSet = new Set(newAssignees)\n\n const removedAssignees = [...currentAssigneesSet].filter(\n (assignee) => !newAssigneesSet.has(assignee),\n )\n const addedAssignees = [...newAssigneesSet].filter(\n (assignee) => !currentAssigneesSet.has(assignee),\n )\n\n const changedAssignees = [...new Set([...removedAssignees, ...addedAssignees])]\n\n // any query that has those changed assignees, needs to be updated\n // we are changing the assignees\n const assigneesTags = changedAssignees.map((assignee) => ({\n type: 'kanban',\n id: 'user-' + assignee + '-project-' + projectName,\n }))\n\n tags.push(...assigneesTags)\n\n // invalidate the watchers query\n dispatch(\n dashboardQueries.util.invalidateTags([\n {\n type: 'watchers',\n id: entityId,\n },\n ]),\n )\n }\n\n // invalidate any other caches\n let entries = dashboardQueries.util.selectInvalidatedBy(state, tags)\n let entriesToInvalidate = []\n\n // for each entry try to patch the data into the cache first\n for (const entry of entries) {\n const [patchResult, wasPatched] = patchKanban(\n {\n assignees: entry.originalArgs.assignees,\n projects: entry.originalArgs.projects,\n },\n {\n newAssignees,\n taskId: entityId,\n data,\n },\n { dispatch },\n )\n\n if (wasPatched) {\n patchResults.push(patchResult)\n } else {\n // if we couldn't patch, we need to invalidate the cache\n entriesToInvalidate.push(entry)\n }\n }\n\n // filter out current kanban query if we were able to patch it\n const currentKanbanCacheArgs = { projects: dashboardProjects, assignees: cacheUsers }\n entriesToInvalidate = entriesToInvalidate.filter(\n (entry) =>\n JSON.stringify(entry.originalArgs) !== JSON.stringify(currentKanbanCacheArgs),\n )\n\n // create the invalidation tags from originalArgs\n const invalidationTags = entries.map((entry) => ({\n type: 'kanban',\n id: JSON.stringify(entry.originalArgs),\n }))\n\n // invalidate the tags later, once the query is complete\n invalidationTagsAfterComplete.push(...invalidationTags)\n }\n\n // get all details panel caches that would be affected by this update\n const detailsPanelTags = [\n {\n type: 'entities',\n id: entityId,\n },\n ]\n\n const detailsPanelEntries = api.util.selectInvalidatedBy(state, detailsPanelTags)\n\n for (const entry of detailsPanelEntries) {\n // patch any entity details panels in dashboard\n let entityDetailsResult = dispatch(\n detailsPanelQueries.util.updateQueryData(\n 'getEntitiesDetailsPanel',\n entry.originalArgs,\n (draft) => {\n for (const entity of draft) {\n patchDetailsPanelEntity([{ entityId, data, entityType }], entity)\n }\n },\n ),\n )\n\n patchResults.push(entityDetailsResult)\n }\n\n try {\n await queryFulfilled\n\n // now invalidate any tags\n if (invalidationTagsAfterComplete.length) {\n dispatch(dashboardQueries.util.invalidateTags(invalidationTagsAfterComplete))\n }\n } catch (error) {\n console.error('error updating ' + entityType, error)\n toast.error(error?.error?.data?.detail || 'Failed to update task')\n patchResults.forEach((result) => result?.undo())\n }\n },\n }),\n updateEntities: build.mutation({\n async queryFn({ operations = [], entityType }, { dispatch, getState }) {\n try {\n const state = getState()\n const promises = []\n for (const { projectName, data, id, currentAssignees = [] } of operations) {\n const promise = dispatch(\n updateEntity.endpoints.updateEntity.initiate({\n projectName: projectName,\n entityId: id,\n data,\n entityType,\n currentAssignees,\n }),\n )\n promises.push(promise)\n }\n\n let progressPatches = []\n if (entityType === 'task' || entityType === 'folder') {\n // patch the progress page\n progressPatches = patchProgressView({ operations, state, dispatch, entityType })\n }\n\n const overviewPatches = []\n // convert id in operations to entityId\n const operationsWithEntityId = operations.map((o) => ({ ...o, entityId: o.id }))\n if (entityType === 'task' || entityType === 'folder') {\n // patch the overview page\n if (entityType === 'task') {\n patchOverviewTasks(operationsWithEntityId, { state, dispatch }, overviewPatches)\n }\n if (entityType === 'folder') {\n // patch the overview page\n patchOverviewFolders(operationsWithEntityId, { state, dispatch }, overviewPatches)\n console.log('invalidate overview folders')\n // invalidate overview folders query\n dispatch(api.util.invalidateTags([{ type: 'folder', id: 'LIST' }]))\n // invalidate overview tasks with folder as a parent\n dispatch(\n api.util.invalidateTags(\n operationsWithEntityId.map((o) => ({ type: 'overviewTask', id: o.entityId })),\n ),\n )\n }\n }\n\n // check if any of the requests failed and invalidate the tasks cache again to refetch\n const results = await Promise.allSettled(promises)\n\n // did any of the requests fail?\n const someError = results.some((result) => result.value?.error)\n if (someError) {\n dispatch(\n api.util.invalidateTags(operations.map((o) => ({ type: 'kanBanTask', id: o.id }))),\n )\n\n // revert the progress view patches\n progressPatches.forEach((patch) => patch?.undo())\n\n // revert the overview patches\n overviewPatches.forEach((patch) => patch?.undo())\n\n throw 'Failed to update some tasks'\n }\n\n const activityTags = []\n\n if (activityTags.length) {\n dispatch(api.util.invalidateTags(activityTags))\n }\n\n return { data: operations }\n } catch (error) {\n console.error(error)\n return { error }\n }\n },\n invalidatesTags: (result, error, { operations }) => [\n ...operations.map((o) => ({ id: o.id, type: 'review' })),\n ],\n }),\n }),\n overrideExisting: true,\n})\n\nexport const { useUpdateEntitiesMutation, useUpdateEntityMutation } = updateEntity\nexport { updateEntity as entitiesQueries }\n"],"names":["patchKanban","assignees","projects","newAssignees","taskId","data","taskData","dispatch","kanbanPatched","dashboardQueries","draft","taskIndex","task","patchData","_a","priority","_b","endDate","assignee","newData","patchProgressView","operations","state","entityType","invalidationTags","o","entries","api","entry","operation","entityId","patch","folderId","folder","newTask","newFolder","t","folderIndex","f","updatedPatch","pathParts","error","updateEntity","build","projectName","currentAssignees","queryFulfilled","getState","patchResults","invalidationTagsAfterComplete","dashboardProjects","dashboardUsers","dashboardAssigneesIsMe","_c","cacheUsers","_d","hasSomeAssignees","hasSomeProjects","project","result","wasPatched","getKanbanTasks","response","tags","currentAssigneesSet","newAssigneesSet","removedAssignees","addedAssignees","assigneesTags","entriesToInvalidate","patchResult","currentKanbanCacheArgs","detailsPanelTags","detailsPanelEntries","entityDetailsResult","detailsPanelQueries","entity","patchDetailsPanelEntity","toast","_f","_e","promises","id","promise","progressPatches","overviewPatches","operationsWithEntityId","patchOverviewTasks","patchOverviewFolders","activityTags","useUpdateEntitiesMutation","useUpdateEntityMutation"],"mappings":"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"}
1
+ {"version":3,"file":"updateEntity.es.js","sources":["../../../../../../src/api/queries/entities/updateEntity.ts"],"sourcesContent":["// @ts-nocheck\n\nimport api from './getEntity'\nimport { detailsPanelQueries } from '@shared/api/queries'\nimport { patchDetailsPanelEntity } from '@shared/api'\nimport { toast } from 'react-toastify'\nimport { dashboardQueries, getKanbanTasks } from '@shared/api/queries/userDashboard'\nimport { patchOverviewFolders, patchOverviewTasks } from '@shared/api/queries/overview'\n\nconst patchKanban = (\n { assignees = [], projects = [] },\n { newAssignees, taskId, data, taskData },\n { dispatch },\n) => {\n let kanbanPatched = false\n const patchResult = dispatch(\n dashboardQueries.util.updateQueryData(\n 'GetKanban',\n { projects: projects, assignees: assignees },\n (draft) => {\n const taskIndex = draft.findIndex((task) => task.id === taskId)\n let patchData = { ...data }\n // if the data include attrib.priority it needs to be transformed to just priority\n // this is because priority is a top level field on kanban query\n if (data?.attrib?.priority) {\n const { priority } = patchData.attrib\n patchData = { ...patchData, priority }\n }\n // if the data include attrib.endDate it needs to be transformed to dueDate\n // this is because dueDate is a top level field on kanban query\n // NOTE TO SELF: Lets try to do these transforms after the cache the future.\n if (data?.attrib?.endDate) {\n const { endDate } = patchData.attrib\n patchData = { ...patchData, dueDate: endDate }\n delete patchData.attrib.endDate\n }\n\n if (taskIndex === -1) {\n // task not found, assignee must have just been added\n if (taskData) {\n // add the task to the cache\n draft.push(taskData)\n } else {\n // we don't have the task data, so we can't add it to the cache\n // we might add it later\n kanbanPatched = false\n }\n } else {\n kanbanPatched = true\n // first check that the task assignees still has a intersection with dashAssignees\n const hasSomeAssignees = newAssignees?.some((assignee) => assignees.includes(assignee))\n\n if (!hasSomeAssignees && newAssignees) {\n // remove from cache\n draft.splice(taskIndex, 1)\n } else {\n // task found: update the task in the cache\n const newData = { ...draft[taskIndex], ...patchData }\n draft[taskIndex] = newData\n }\n }\n },\n ),\n )\n\n return [patchResult, kanbanPatched]\n}\n\n// try to patch the progress view if there are queries that need to be updated\nconst patchProgressView = ({ operations = [], state, dispatch, entityType }) => {\n // create invalidation tags for progress view\n const invalidationTags = operations.map((o) => ({ type: 'progress', id: o.id }))\n // find the entries that need to be updated\n let entries = api.util.selectInvalidatedBy(state, invalidationTags)\n // if there are no entries, return\n if (!entries.length) return []\n\n try {\n // patch each entry with updated task data\n const patches = entries.map((entry) =>\n dispatch(\n api.util.updateQueryData(entry.endpointName, entry.originalArgs, (draft) => {\n for (const operation of operations) {\n const entityId = operation.id\n const patch = operation.data\n\n // patch the updated task data\n if (entityType === 'task') {\n const folderId = operation.meta?.folderId\n const folder = draft.find((folder) => folder.id === folderId)\n if (!folder) throw new Error('Patching progress view: folder not found')\n const task = folder.tasks?.find((task) => task.id === entityId)\n if (!task) throw new Error('Patching progress view: task not found')\n // update task\n const newTask = { ...task, ...patch }\n // update folder\n const newFolder = {\n ...folder,\n tasks: folder.tasks.map((t) => (t.id === entityId ? newTask : t)),\n }\n // update query\n const folderIndex = draft.findIndex((f) => f.id === folderId)\n draft[folderIndex] = newFolder\n } else if (entityType === 'folder') {\n const folder = draft.find((folder) => folder.id === entityId)\n if (!folder) throw new Error('Patching progress view: folder not found')\n\n // If name is being updated, also update the path\n let updatedPatch = { ...patch }\n if (patch.name && folder.path) {\n // Construct new path by replacing the last segment with the new name\n const pathParts = folder.path.split('/')\n pathParts[pathParts.length - 1] = patch.name\n updatedPatch.path = pathParts.join('/')\n }\n\n // update folder\n const newFolder = { ...folder, ...updatedPatch }\n // update query\n const folderIndex = draft.findIndex((f) => f.id === entityId)\n draft[folderIndex] = newFolder\n }\n }\n }),\n ),\n )\n return patches\n } catch (error) {\n console.error(error)\n // invalidate the progress view queries instead\n dispatch(api.util.invalidateTags(invalidationTags))\n return []\n }\n}\n\nconst updateEntity = api.injectEndpoints({\n endpoints: (build) => ({\n updateEntity: build.mutation({\n query: ({ projectName, entityId, data, entityType }) => ({\n url: `/api/projects/${projectName}/${entityType}s/${entityId}`,\n method: 'PATCH',\n body: data,\n }),\n async onQueryStarted(\n { projectName, entityId, data, currentAssignees, entityType },\n { dispatch, queryFulfilled, getState },\n ) {\n const state = getState()\n const patchResults = []\n\n let invalidationTagsAfterComplete = []\n // if task, patch the GetKanban query\n if (entityType === 'task') {\n const dashboardProjects = getState().dashboard?.selectedProjects || []\n const dashboardUsers = getState().dashboard?.tasks.assignees || []\n const dashboardAssigneesIsMe = getState().dashboard?.tasks.assigneesFilter === 'me'\n const newAssignees = data.assignees\n\n const cacheUsers = dashboardAssigneesIsMe ? [getState().user?.name] : dashboardUsers\n\n const entityAssignees = [...new Set([...currentAssignees, ...(newAssignees || [])])]\n const hasSomeAssignees = entityAssignees.some((assignee) => cacheUsers.includes(assignee))\n const hasSomeProjects = dashboardProjects.some((project) => project === projectName)\n const currentDashNeedsUpdating = hasSomeAssignees && hasSomeProjects\n\n if (currentDashNeedsUpdating) {\n const [result, wasPatched] = patchKanban(\n { assignees: cacheUsers, projects: dashboardProjects },\n { newAssignees, taskId: entityId, data },\n { dispatch },\n )\n\n if (wasPatched) patchResults.push(result)\n\n if (!wasPatched) {\n // this means the task is not in the current kanban and it needs to be added\n\n // get the new task data\n getKanbanTasks({ projects: [projectName], taskIds: [entityId] }, dispatch).then(\n // use .then so that the rest of the code can run\n (response) => {\n let newTask = response.find((task) => task.id === entityId)\n if (newTask) {\n // add newAssignees as the actual DB hasn't been updated yet\n newTask = { ...newTask, assignees: newAssignees }\n\n patchKanban(\n { assignees: cacheUsers, projects: dashboardProjects },\n { newAssignees, taskId: entityId, taskData: newTask },\n { dispatch },\n )\n }\n },\n )\n }\n }\n\n // always update the kanban if task id matches\n const tags = [{ type: 'task', id: entityId }]\n\n // are we changing the assignees?\n if (newAssignees?.length) {\n const currentAssigneesSet = new Set(currentAssignees)\n const newAssigneesSet = new Set(newAssignees)\n\n const removedAssignees = [...currentAssigneesSet].filter(\n (assignee) => !newAssigneesSet.has(assignee),\n )\n const addedAssignees = [...newAssigneesSet].filter(\n (assignee) => !currentAssigneesSet.has(assignee),\n )\n\n const changedAssignees = [...new Set([...removedAssignees, ...addedAssignees])]\n\n // any query that has those changed assignees, needs to be updated\n // we are changing the assignees\n const assigneesTags = changedAssignees.map((assignee) => ({\n type: 'kanban',\n id: 'user-' + assignee + '-project-' + projectName,\n }))\n\n tags.push(...assigneesTags)\n\n // invalidate the watchers query\n dispatch(\n dashboardQueries.util.invalidateTags([\n {\n type: 'watchers',\n id: entityId,\n },\n ]),\n )\n }\n\n // invalidate any other caches\n let entries = dashboardQueries.util.selectInvalidatedBy(state, tags)\n let entriesToInvalidate = []\n\n // for each entry try to patch the data into the cache first\n for (const entry of entries) {\n const [patchResult, wasPatched] = patchKanban(\n {\n assignees: entry.originalArgs.assignees,\n projects: entry.originalArgs.projects,\n },\n {\n newAssignees,\n taskId: entityId,\n data,\n },\n { dispatch },\n )\n\n if (wasPatched) {\n patchResults.push(patchResult)\n } else {\n // if we couldn't patch, we need to invalidate the cache\n entriesToInvalidate.push(entry)\n }\n }\n\n // filter out current kanban query if we were able to patch it\n const currentKanbanCacheArgs = { projects: dashboardProjects, assignees: cacheUsers }\n entriesToInvalidate = entriesToInvalidate.filter(\n (entry) =>\n JSON.stringify(entry.originalArgs) !== JSON.stringify(currentKanbanCacheArgs),\n )\n\n // create the invalidation tags from originalArgs\n const invalidationTags = entries.map((entry) => ({\n type: 'kanban',\n id: JSON.stringify(entry.originalArgs),\n }))\n\n // invalidate the tags later, once the query is complete\n invalidationTagsAfterComplete.push(...invalidationTags)\n }\n\n // get all details panel caches that would be affected by this update\n const detailsPanelTags = [\n {\n type: 'entities',\n id: entityId,\n },\n ]\n\n const detailsPanelEntries = api.util.selectInvalidatedBy(state, detailsPanelTags)\n\n for (const entry of detailsPanelEntries) {\n // patch any entity details panels in dashboard\n let entityDetailsResult = dispatch(\n detailsPanelQueries.util.updateQueryData(\n 'getEntitiesDetailsPanel',\n entry.originalArgs,\n (draft) => {\n for (const entity of draft) {\n patchDetailsPanelEntity([{ entityId, data, entityType }], entity)\n }\n },\n ),\n )\n\n patchResults.push(entityDetailsResult)\n }\n\n try {\n await queryFulfilled\n\n // now invalidate any tags\n if (invalidationTagsAfterComplete.length) {\n dispatch(dashboardQueries.util.invalidateTags(invalidationTagsAfterComplete))\n }\n } catch (error) {\n console.error('error updating ' + entityType, error)\n toast.error(error?.error?.data?.detail || 'Failed to update task')\n patchResults.forEach((result) => result?.undo())\n }\n },\n }),\n updateEntities: build.mutation({\n async queryFn({ operations = [], entityType }, { dispatch, getState }) {\n try {\n const state = getState()\n const promises = []\n for (const { projectName, data, id, currentAssignees = [] } of operations) {\n const promise = dispatch(\n updateEntity.endpoints.updateEntity.initiate({\n projectName: projectName,\n entityId: id,\n data,\n entityType,\n currentAssignees,\n }),\n )\n promises.push(promise)\n }\n\n let progressPatches = []\n if (entityType === 'task' || entityType === 'folder') {\n // patch the progress page\n progressPatches = patchProgressView({ operations, state, dispatch, entityType })\n }\n\n const overviewPatches = []\n // convert id in operations to entityId\n const operationsWithEntityId = operations.map((o) => ({ ...o, entityId: o.id }))\n if (entityType === 'task' || entityType === 'folder') {\n // patch the overview page\n if (entityType === 'task') {\n patchOverviewTasks(operationsWithEntityId, { state, dispatch }, overviewPatches)\n }\n if (entityType === 'folder') {\n // patch the overview page\n patchOverviewFolders(operationsWithEntityId, { state, dispatch }, overviewPatches)\n console.log('invalidate overview folders')\n // invalidate overview folders query\n dispatch(api.util.invalidateTags([{ type: 'folder', id: 'LIST' }]))\n // invalidate overview tasks with folder as a parent\n dispatch(\n api.util.invalidateTags(\n operationsWithEntityId.map((o) => ({ type: 'overviewTask', id: o.entityId })),\n ),\n )\n }\n }\n\n // check if any of the requests failed and invalidate the tasks cache again to refetch\n const results = await Promise.allSettled(promises)\n\n // did any of the requests fail?\n const someError = results.some((result) => result.value?.error)\n if (someError) {\n dispatch(\n api.util.invalidateTags(operations.map((o) => ({ type: 'kanBanTask', id: o.id }))),\n )\n\n // revert the progress view patches\n progressPatches.forEach((patch) => patch?.undo())\n\n // revert the overview patches\n overviewPatches.forEach((patch) => patch?.undo())\n\n throw 'Failed to update some tasks'\n }\n\n const activityTags = []\n\n if (activityTags.length) {\n dispatch(api.util.invalidateTags(activityTags))\n }\n\n return { data: operations }\n } catch (error) {\n console.error(error)\n return { error }\n }\n },\n invalidatesTags: (result, error, { operations }) => [\n ...operations.map((o) => ({ id: o.id, type: 'review' })),\n ],\n }),\n }),\n overrideExisting: true,\n})\n\nexport const { useUpdateEntitiesMutation, useUpdateEntityMutation } = updateEntity\nexport { updateEntity as entitiesQueries }\n"],"names":["patchKanban","assignees","projects","newAssignees","taskId","data","taskData","dispatch","kanbanPatched","dashboardQueries","draft","taskIndex","task","patchData","_a","priority","_b","endDate","assignee","newData","patchProgressView","operations","state","entityType","invalidationTags","o","entries","api","entry","operation","entityId","patch","folderId","folder","newTask","newFolder","t","folderIndex","f","updatedPatch","pathParts","error","updateEntity","build","projectName","currentAssignees","queryFulfilled","getState","patchResults","invalidationTagsAfterComplete","dashboardProjects","dashboardUsers","dashboardAssigneesIsMe","_c","cacheUsers","_d","hasSomeAssignees","hasSomeProjects","project","result","wasPatched","getKanbanTasks","response","tags","currentAssigneesSet","newAssigneesSet","removedAssignees","addedAssignees","assigneesTags","entriesToInvalidate","patchResult","currentKanbanCacheArgs","detailsPanelTags","detailsPanelEntries","entityDetailsResult","detailsPanelQueries","entity","patchDetailsPanelEntity","toast","_f","_e","promises","id","promise","progressPatches","overviewPatches","operationsWithEntityId","patchOverviewTasks","patchOverviewFolders","activityTags","useUpdateEntitiesMutation","useUpdateEntityMutation"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require("../../base/client.cjs.js");const E=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");const S=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");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");const F=require("../overview/getOverview.cjs.js");require("../overview/updateOverview.cjs.js");require("../links/getEntityLinks.cjs.js");require("lodash");require("react-toastify");require("uuid");const f=require("../../../util/pubsub.cjs.js"),T=s=>{if(!s)return{};try{return JSON.parse(s)}catch(e){return console.warn("Failed to parse entity list data field:",e,s),{}}},v=500,h=100,q=E.api.enhanceEndpoints({endpoints:{GetLists:{transformResponse:s=>({lists:s.project.entityLists.edges.map(e=>({...e.node,data:T(e.node.data),attrib:T(e.node.allAttrib)})),pageInfo:s.project.entityLists.pageInfo})},GetListItems:{transformResponse:s=>({items:s.project.entityLists.edges.flatMap(e=>e.node.items.edges.map(({node:t,...i})=>({...t,...i,attrib:F.parseAllAttribs(i.allAttrib)}))),pageInfo:s.project.entityLists.edges[0].node.items.pageInfo})},GetListsItemsForReviewSession:{transformResponse:s=>({lists:s.project.entityLists.edges.map(e=>e.node),pageInfo:s.project.entityLists.pageInfo})}}}),R=q.injectEndpoints({endpoints:s=>({getListsInfinite:s.infiniteQuery({infiniteQueryOptions:{initialPageParam:{cursor:""},getNextPageParam:e=>{const{pageInfo:t}=e;if(!(!t.hasNextPage||!t.endCursor))return{cursor:t.endCursor}}},queryFn:async({queryArg:e,pageParam:t},i)=>{try{const{cursor:r}=t,n={...e,first:v,after:r||void 0},a=await i.dispatch(q.endpoints.GetLists.initiate(n,{forceRefetch:!0}));return a.error?{error:a.error}:{data:a.data||{lists:[],pageInfo:{hasNextPage:!1,endCursor:null,startCursor:null,hasPreviousPage:!1}}}}catch(r){return console.error("Error in getListsInfinite queryFn:",r),{error:{status:"FETCH_ERROR",error:r.message}}}},providesTags:e=>{const t=(e==null?void 0:e.pages.flatMap(i=>i.lists))||[];return[{type:"entityList",id:"LIST"},...t.flatMap(i=>[{type:"entityList",id:i.id},{type:"entityList",id:i.entityListType},{type:"entityList",id:i.entityListFolderId||"NO_FOLDER"}])]},async onCacheEntryAdded(e,{cacheDataLoaded:t,cacheEntryRemoved:i,dispatch:r,updateCachedData:n}){let a;try{await t;const u=(o,c)=>{if(o!=="entity_list.changed")return;const d=c.summary,L=d.id;L&&(n(m=>{const p=m.pages.flatMap(g=>g.lists).find(g=>g.id===L);if(!p)return;const I={...p,label:d.label,entityType:d.entity_type,entityListType:d.entity_list_type,count:d.count};Object.assign(p,I)}),r(E.api.util.invalidateTags([{type:"entityList",id:"LIST"}])))};a=f.subscribe("entity_list.changed",u)}catch{}await i,f.unsubscribe(a)}}),getListItemsInfinite:s.infiniteQuery({infiniteQueryOptions:{initialPageParam:{cursor:""},getNextPageParam:e=>{const{pageInfo:t}=e;if(!(!t.hasNextPage||!t.endCursor))return{cursor:t.endCursor}}},queryFn:async({queryArg:e,pageParam:t},i)=>{try{const{sortBy:r,desc:n,...a}=e,{cursor:u}=t,o={...a,first:h,after:u||void 0};o.after=u||void 0,o.first=h,r&&(o.sortBy=r,n&&(o.before=u||void 0,o.after=void 0,o.last=h,o.first=void 0));const c=await i.dispatch(q.endpoints.GetListItems.initiate(o,{forceRefetch:!0}));return c.error?{error:c.error}:{data:c.data||{items:[],pageInfo:{hasNextPage:!1,endCursor:null,startCursor:null,hasPreviousPage:!1}}}}catch(r){return console.error("Error in getListsInfinite queryFn:",r),{error:{status:"FETCH_ERROR",error:r.message}}}},providesTags:(e,t,{listId:i,projectName:r})=>[{type:"entityListItem",id:"LIST"},{type:"entityListItem",id:i},{type:"entityListItem",id:r},...((e==null?void 0:e.pages.flatMap(n=>n.items))||[]).filter(n=>!!n).flatMap(n=>[{type:"entityListItem",id:n.id},{type:"entityListItem",id:n.entityId}])],async onCacheEntryAdded(e,{cacheDataLoaded:t,cacheEntryRemoved:i,dispatch:r}){var u;let n,a;try{const L=(u=(await t).data.pages.flatMap(y=>y.items)[0])==null?void 0:u.entityType,m="entity_list.changed",p=`entity.${L}`,I=y=>{r(E.api.util.invalidateTags([{type:"entityListItem",id:y}]))},g=(y,P)=>{if(y!==m)return;const l=P.summary.id;l&&I(l)},G=(y,P)=>{if(!y.startsWith(p))return;const l=P.summary.entityId;l&&I(l)};n=f.subscribe(m,g),L&&(a=f.subscribe(p,G))}catch{}await i,f.unsubscribe(n),f.unsubscribe(a)}}),getListsItemsForReviewSession:s.infiniteQuery({infiniteQueryOptions:{initialPageParam:{cursor:""},getNextPageParam:e=>{const{pageInfo:t}=e;if(!(!t.hasNextPage||!t.endCursor))return{cursor:t.endCursor}}},queryFn:async({queryArg:e,pageParam:t},i)=>{try{const{cursor:r}=t,n={...e,first:v,after:r||void 0},a=await i.dispatch(q.endpoints.GetListsItemsForReviewSession.initiate(n,{forceRefetch:!0}));return a.error?{error:a.error}:{data:a.data||{lists:[],pageInfo:{hasNextPage:!1,endCursor:null,startCursor:null,hasPreviousPage:!1}}}}catch(r){return console.error("Error in getListsInfinite queryFn:",r),{error:{status:"FETCH_ERROR",error:r.message}}}},providesTags:e=>[{type:"entityList",id:"LIST"},...((e==null?void 0:e.pages.flatMap(t=>t.lists))||[]).map(t=>({type:"entityList",id:t.id}))]})})}),_=S.api.enhanceEndpoints({endpoints:{getEntityList:{providesTags:(s,e,{listId:t,projectName:i})=>[{type:"entityList",id:t},{type:"entityList",id:i},...s?[{type:"entityList",id:s.entityListType},{type:"entityList",id:s.entityListFolderId||"NO_FOLDER"}]:[]]}}}),{useGetListsInfiniteInfiniteQuery:Q,useGetListItemsInfiniteInfiniteQuery:w,useGetListsItemsForReviewSessionInfiniteQuery:C,useLazyGetListsQuery:O,useLazyGetListsItemsForReviewSessionQuery:A,useLazyGetListItemsQuery:M}=R,{useGetEntityListQuery:N}=_;exports.LISTS_PER_PAGE=v;exports.LIST_ITEMS_PER_PAGE=h;exports.default=R;exports.getListsApiEnhanced=_;exports.useGetEntityListQuery=N;exports.useGetListItemsInfiniteInfiniteQuery=w;exports.useGetListsInfiniteInfiniteQuery=Q;exports.useGetListsItemsForReviewSessionInfiniteQuery=C;exports.useLazyGetListItemsQuery=M;exports.useLazyGetListsItemsForReviewSessionQuery=A;exports.useLazyGetListsQuery=O;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require("../../base/client.cjs.js");const E=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");const S=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");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");const F=require("../overview/getOverview.cjs.js");require("../overview/updateOverview.cjs.js");require("../links/getEntityLinks.cjs.js");require("lodash");require("react-toastify");require("uuid");const f=require("../../../util/pubsub.cjs.js"),T=i=>{if(!i)return{};try{return typeof i!="string"?i??{}:JSON.parse(i)}catch(e){return console.warn("Failed to parse entity list data field:",e,i),{}}},v=500,h=100,q=E.api.enhanceEndpoints({endpoints:{GetLists:{transformResponse:i=>({lists:i.project.entityLists.edges.map(e=>({...e.node,data:T(e.node.data),attrib:T(e.node.allAttrib)})),pageInfo:i.project.entityLists.pageInfo})},GetListItems:{transformResponse:i=>({items:i.project.entityLists.edges.flatMap(e=>e.node.items.edges.map(({node:t,...r})=>({...t,...r,attrib:F.parseAllAttribs(r.allAttrib)}))),pageInfo:i.project.entityLists.edges[0].node.items.pageInfo})},GetListsItemsForReviewSession:{transformResponse:i=>({lists:i.project.entityLists.edges.map(e=>e.node),pageInfo:i.project.entityLists.pageInfo})}}}),R=q.injectEndpoints({endpoints:i=>({getListsInfinite:i.infiniteQuery({infiniteQueryOptions:{initialPageParam:{cursor:""},getNextPageParam:e=>{const{pageInfo:t}=e;if(!(!t.hasNextPage||!t.endCursor))return{cursor:t.endCursor}}},queryFn:async({queryArg:e,pageParam:t},r)=>{try{const{cursor:s}=t,n={...e,first:v,after:s||void 0},a=await r.dispatch(q.endpoints.GetLists.initiate(n,{forceRefetch:!0}));return a.error?{error:a.error}:{data:a.data||{lists:[],pageInfo:{hasNextPage:!1,endCursor:null,startCursor:null,hasPreviousPage:!1}}}}catch(s){return console.error("Error in getListsInfinite queryFn:",s),{error:{status:"FETCH_ERROR",error:s.message}}}},providesTags:e=>{const t=(e==null?void 0:e.pages.flatMap(r=>r.lists))||[];return[{type:"entityList",id:"LIST"},...t.flatMap(r=>[{type:"entityList",id:r.id},{type:"entityList",id:r.entityListType},{type:"entityList",id:r.entityListFolderId||"NO_FOLDER"}])]},async onCacheEntryAdded(e,{cacheDataLoaded:t,cacheEntryRemoved:r,dispatch:s,updateCachedData:n}){let a;try{await t;const u=(o,c)=>{if(o!=="entity_list.changed")return;const d=c.summary,L=d.id;L&&(n(m=>{const p=m.pages.flatMap(g=>g.lists).find(g=>g.id===L);if(!p)return;const I={...p,label:d.label,entityType:d.entity_type,entityListType:d.entity_list_type,count:d.count};Object.assign(p,I)}),s(E.api.util.invalidateTags([{type:"entityList",id:"LIST"}])))};a=f.subscribe("entity_list.changed",u)}catch{}await r,f.unsubscribe(a)}}),getListItemsInfinite:i.infiniteQuery({infiniteQueryOptions:{initialPageParam:{cursor:""},getNextPageParam:e=>{const{pageInfo:t}=e;if(!(!t.hasNextPage||!t.endCursor))return{cursor:t.endCursor}}},queryFn:async({queryArg:e,pageParam:t},r)=>{try{const{sortBy:s,desc:n,...a}=e,{cursor:u}=t,o={...a,first:h,after:u||void 0};o.after=u||void 0,o.first=h,s&&(o.sortBy=s,n&&(o.before=u||void 0,o.after=void 0,o.last=h,o.first=void 0));const c=await r.dispatch(q.endpoints.GetListItems.initiate(o,{forceRefetch:!0}));return c.error?{error:c.error}:{data:c.data||{items:[],pageInfo:{hasNextPage:!1,endCursor:null,startCursor:null,hasPreviousPage:!1}}}}catch(s){return console.error("Error in getListsInfinite queryFn:",s),{error:{status:"FETCH_ERROR",error:s.message}}}},providesTags:(e,t,{listId:r,projectName:s})=>[{type:"entityListItem",id:"LIST"},{type:"entityListItem",id:r},{type:"entityListItem",id:s},...((e==null?void 0:e.pages.flatMap(n=>n.items))||[]).filter(n=>!!n).flatMap(n=>[{type:"entityListItem",id:n.id},{type:"entityListItem",id:n.entityId}])],async onCacheEntryAdded(e,{cacheDataLoaded:t,cacheEntryRemoved:r,dispatch:s}){var u;let n,a;try{const L=(u=(await t).data.pages.flatMap(y=>y.items)[0])==null?void 0:u.entityType,m="entity_list.changed",p=`entity.${L}`,I=y=>{s(E.api.util.invalidateTags([{type:"entityListItem",id:y}]))},g=(y,P)=>{if(y!==m)return;const l=P.summary.id;l&&I(l)},G=(y,P)=>{if(!y.startsWith(p))return;const l=P.summary.entityId;l&&I(l)};n=f.subscribe(m,g),L&&(a=f.subscribe(p,G))}catch{}await r,f.unsubscribe(n),f.unsubscribe(a)}}),getListsItemsForReviewSession:i.infiniteQuery({infiniteQueryOptions:{initialPageParam:{cursor:""},getNextPageParam:e=>{const{pageInfo:t}=e;if(!(!t.hasNextPage||!t.endCursor))return{cursor:t.endCursor}}},queryFn:async({queryArg:e,pageParam:t},r)=>{try{const{cursor:s}=t,n={...e,first:v,after:s||void 0},a=await r.dispatch(q.endpoints.GetListsItemsForReviewSession.initiate(n,{forceRefetch:!0}));return a.error?{error:a.error}:{data:a.data||{lists:[],pageInfo:{hasNextPage:!1,endCursor:null,startCursor:null,hasPreviousPage:!1}}}}catch(s){return console.error("Error in getListsInfinite queryFn:",s),{error:{status:"FETCH_ERROR",error:s.message}}}},providesTags:e=>[{type:"entityList",id:"LIST"},...((e==null?void 0:e.pages.flatMap(t=>t.lists))||[]).map(t=>({type:"entityList",id:t.id}))]})})}),_=S.api.enhanceEndpoints({endpoints:{getEntityList:{providesTags:(i,e,{listId:t,projectName:r})=>[{type:"entityList",id:t},{type:"entityList",id:r},...i?[{type:"entityList",id:i.entityListType},{type:"entityList",id:i.entityListFolderId||"NO_FOLDER"}]:[]]}}}),{useGetListsInfiniteInfiniteQuery:Q,useGetListItemsInfiniteInfiniteQuery:w,useGetListsItemsForReviewSessionInfiniteQuery:C,useLazyGetListsQuery:O,useLazyGetListsItemsForReviewSessionQuery:A,useLazyGetListItemsQuery:M}=R,{useGetEntityListQuery:N}=_;exports.LISTS_PER_PAGE=v;exports.LIST_ITEMS_PER_PAGE=h;exports.default=R;exports.getListsApiEnhanced=_;exports.useGetEntityListQuery=N;exports.useGetListItemsInfiniteInfiniteQuery=w;exports.useGetListsInfiniteInfiniteQuery=Q;exports.useGetListsItemsForReviewSessionInfiniteQuery=C;exports.useLazyGetListItemsQuery=M;exports.useLazyGetListsItemsForReviewSessionQuery=A;exports.useLazyGetListsQuery=O;
2
2
  //# sourceMappingURL=getLists.cjs.js.map