@ynput/ayon-frontend-shared 0.3.41 → 0.3.43

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 (928) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +6 -6
  3. package/dist/ProjectTreeTable.cjs.js +1 -1
  4. package/dist/ProjectTreeTable.es.js +6 -6
  5. package/dist/Slicer.cjs.js +1 -1
  6. package/dist/Slicer.es.js +22 -16
  7. package/dist/Slicer.es.js.map +1 -1
  8. package/dist/_virtual/index.cjs22.js +1 -1
  9. package/dist/_virtual/index.cjs23.js +1 -1
  10. package/dist/_virtual/index.cjs24.js +1 -1
  11. package/dist/_virtual/index.es22.js +3 -3
  12. package/dist/_virtual/index.es23.js +5 -5
  13. package/dist/_virtual/index.es24.js +5 -5
  14. package/dist/api.cjs.js +1 -1
  15. package/dist/api.es.js +376 -374
  16. package/dist/api.es.js.map +1 -1
  17. package/dist/hooks.cjs.js +1 -1
  18. package/dist/hooks.es.js +34 -30
  19. package/dist/hooks.es.js.map +1 -1
  20. package/dist/index.cjs.js +1 -1
  21. package/dist/index.es.js +6 -6
  22. package/dist/node_modules/parse-numeric-range/index.cjs.js +1 -1
  23. package/dist/node_modules/parse-numeric-range/index.es.js +1 -1
  24. package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +1 -1
  25. package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
  26. package/dist/node_modules/rehype/node_modules/vfile/lib/index.cjs.js +1 -1
  27. package/dist/node_modules/rehype/node_modules/vfile/lib/index.es.js +1 -1
  28. package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
  29. package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
  30. package/dist/shared/node_modules/react-is/index.cjs.js +1 -1
  31. package/dist/shared/node_modules/react-is/index.es.js +1 -1
  32. package/dist/shared/src/api/generated/graphql.cjs.js +54 -35
  33. package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
  34. package/dist/shared/src/api/generated/graphql.es.js +106 -82
  35. package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
  36. package/dist/shared/src/api/generated/graphqlLinks.cjs.js +12 -12
  37. package/dist/shared/src/api/generated/graphqlLinks.cjs.js.map +1 -1
  38. package/dist/shared/src/api/generated/graphqlLinks.es.js +9 -8
  39. package/dist/shared/src/api/generated/graphqlLinks.es.js.map +1 -1
  40. package/dist/shared/src/api/queries/activities/getActivities.cjs.js +1 -1
  41. package/dist/shared/src/api/queries/activities/getActivities.cjs.js.map +1 -1
  42. package/dist/shared/src/api/queries/activities/getActivities.es.js +176 -73
  43. package/dist/shared/src/api/queries/activities/getActivities.es.js.map +1 -1
  44. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.cjs.js.map +1 -1
  45. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.es.js +8 -1
  46. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.es.js.map +1 -1
  47. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js +1 -1
  48. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js.map +1 -1
  49. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js +155 -61
  50. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js.map +1 -1
  51. package/dist/shared/src/api/queries/columnStats/columnStats.cjs.js +1 -1
  52. package/dist/shared/src/api/queries/columnStats/columnStats.cjs.js.map +1 -1
  53. package/dist/shared/src/api/queries/columnStats/columnStats.es.js +32 -28
  54. package/dist/shared/src/api/queries/columnStats/columnStats.es.js.map +1 -1
  55. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js +1 -1
  56. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js.map +1 -1
  57. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js +104 -51
  58. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js.map +1 -1
  59. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js.map +1 -1
  60. package/dist/shared/src/api/queries/entities/updateEntity.es.js.map +1 -1
  61. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +1 -1
  62. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js.map +1 -1
  63. package/dist/shared/src/api/queries/entityLists/getLists.es.js +173 -124
  64. package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -1
  65. package/dist/shared/src/api/queries/entityLists/listFolders.cjs.js +1 -1
  66. package/dist/shared/src/api/queries/entityLists/listFolders.cjs.js.map +1 -1
  67. package/dist/shared/src/api/queries/entityLists/listFolders.es.js +93 -40
  68. package/dist/shared/src/api/queries/entityLists/listFolders.es.js.map +1 -1
  69. package/dist/shared/src/api/queries/folders/getFolders.cjs.js +1 -1
  70. package/dist/shared/src/api/queries/folders/getFolders.cjs.js.map +1 -1
  71. package/dist/shared/src/api/queries/folders/getFolders.es.js +108 -55
  72. package/dist/shared/src/api/queries/folders/getFolders.es.js.map +1 -1
  73. package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js +1 -1
  74. package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js.map +1 -1
  75. package/dist/shared/src/api/queries/links/getEntityLinks.es.js +116 -63
  76. package/dist/shared/src/api/queries/links/getEntityLinks.es.js.map +1 -1
  77. package/dist/shared/src/api/queries/links/getLinks.cjs.js +1 -1
  78. package/dist/shared/src/api/queries/links/getLinks.cjs.js.map +1 -1
  79. package/dist/shared/src/api/queries/links/getLinks.es.js +15 -20
  80. package/dist/shared/src/api/queries/links/getLinks.es.js.map +1 -1
  81. package/dist/shared/src/api/queries/overview/getOverview.cjs.js +1 -1
  82. package/dist/shared/src/api/queries/overview/getOverview.cjs.js.map +1 -1
  83. package/dist/shared/src/api/queries/overview/getOverview.es.js +284 -227
  84. package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
  85. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
  86. package/dist/shared/src/api/queries/overview/updateOverview.es.js +1 -3
  87. package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
  88. package/dist/shared/src/api/queries/projectFolders/projectFolders.cjs.js +1 -1
  89. package/dist/shared/src/api/queries/projectFolders/projectFolders.cjs.js.map +1 -1
  90. package/dist/shared/src/api/queries/projectFolders/projectFolders.es.js +132 -80
  91. package/dist/shared/src/api/queries/projectFolders/projectFolders.es.js.map +1 -1
  92. package/dist/shared/src/api/queries/review/getReview.cjs.js +1 -1
  93. package/dist/shared/src/api/queries/review/getReview.cjs.js.map +1 -1
  94. package/dist/shared/src/api/queries/review/getReview.es.js +17 -20
  95. package/dist/shared/src/api/queries/review/getReview.es.js.map +1 -1
  96. package/dist/shared/src/api/queries/review/updateReview.cjs.js +1 -1
  97. package/dist/shared/src/api/queries/review/updateReview.cjs.js.map +1 -1
  98. package/dist/shared/src/api/queries/review/updateReview.es.js +1 -1
  99. package/dist/shared/src/api/queries/review/updateReview.es.js.map +1 -1
  100. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js +1 -1
  101. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js.map +1 -1
  102. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js +142 -91
  103. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js.map +1 -1
  104. package/dist/shared/src/api/queries/users/getUsers.cjs.js +4 -2
  105. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  106. package/dist/shared/src/api/queries/users/getUsers.es.js +2 -0
  107. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  108. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js +1 -1
  109. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js.map +1 -1
  110. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js +541 -334
  111. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js.map +1 -1
  112. package/dist/shared/src/components/AttributeEditor/attributeTypeMap.cjs.js +1 -1
  113. package/dist/shared/src/components/AttributeEditor/attributeTypeMap.cjs.js.map +1 -1
  114. package/dist/shared/src/components/AttributeEditor/attributeTypeMap.es.js +123 -29
  115. package/dist/shared/src/components/AttributeEditor/attributeTypeMap.es.js.map +1 -1
  116. package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js +1 -1
  117. package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js.map +1 -1
  118. package/dist/shared/src/components/ColumnHeaderMenuUI.es.js +2 -3
  119. package/dist/shared/src/components/ColumnHeaderMenuUI.es.js.map +1 -1
  120. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +1 -1
  121. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
  122. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +2 -3
  123. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +1 -1
  124. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js +5 -5
  125. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js.map +1 -1
  126. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js +139 -45
  127. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js.map +1 -1
  128. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
  129. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  130. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +6 -6
  131. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
  132. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
  133. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +6 -7
  134. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
  135. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +1 -1
  136. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
  137. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +2 -3
  138. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
  139. package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.cjs.js +4 -4
  140. package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.cjs.js.map +1 -1
  141. package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.es.js +112 -18
  142. package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.es.js.map +1 -1
  143. package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.cjs.js +2 -2
  144. package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.cjs.js.map +1 -1
  145. package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.es.js +107 -13
  146. package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.es.js.map +1 -1
  147. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
  148. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
  149. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +5 -6
  150. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
  151. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.cjs.js +1 -1
  152. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.cjs.js.map +1 -1
  153. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.es.js +118 -24
  154. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.es.js.map +1 -1
  155. package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js +1 -1
  156. package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js.map +1 -1
  157. package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.es.js +96 -2
  158. package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.es.js.map +1 -1
  159. package/dist/shared/src/components/EntityIcon/EntityIcon.cjs.js +1 -1
  160. package/dist/shared/src/components/EntityIcon/EntityIcon.cjs.js.map +1 -1
  161. package/dist/shared/src/components/EntityIcon/EntityIcon.es.js +2 -3
  162. package/dist/shared/src/components/EntityIcon/EntityIcon.es.js.map +1 -1
  163. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  164. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  165. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +6 -6
  166. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js +1 -1
  167. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js.map +1 -1
  168. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js +6 -6
  169. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -1
  170. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
  171. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +7 -8
  172. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
  173. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
  174. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
  175. package/dist/shared/src/components/Feedback/FeedbackContext.es.js +4 -5
  176. package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
  177. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
  178. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
  179. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +2 -3
  180. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
  181. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js +1 -1
  182. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js.map +1 -1
  183. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js +2 -3
  184. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js.map +1 -1
  185. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js +1 -1
  186. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js.map +1 -1
  187. package/dist/shared/src/components/LinksManager/LinksManager.es.js +11 -12
  188. package/dist/shared/src/components/LinksManager/LinksManager.es.js.map +1 -1
  189. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  190. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  191. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +6 -6
  192. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
  193. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
  194. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +2 -3
  195. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
  196. package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js +1 -1
  197. package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js.map +1 -1
  198. package/dist/shared/src/components/ListMetaData/ListMetaData.es.js +6 -7
  199. package/dist/shared/src/components/ListMetaData/ListMetaData.es.js.map +1 -1
  200. package/dist/shared/src/components/Menu/Menu.cjs.js +1 -1
  201. package/dist/shared/src/components/Menu/Menu.cjs.js.map +1 -1
  202. package/dist/shared/src/components/Menu/Menu.es.js +9 -10
  203. package/dist/shared/src/components/Menu/Menu.es.js.map +1 -1
  204. package/dist/shared/src/components/Menu/MenuItem.cjs.js +1 -1
  205. package/dist/shared/src/components/Menu/MenuItem.cjs.js.map +1 -1
  206. package/dist/shared/src/components/Menu/MenuItem.es.js +0 -1
  207. package/dist/shared/src/components/Menu/MenuItem.es.js.map +1 -1
  208. package/dist/shared/src/components/Menu/MenuList.cjs.js +1 -1
  209. package/dist/shared/src/components/Menu/MenuList.cjs.js.map +1 -1
  210. package/dist/shared/src/components/Menu/MenuList.es.js +2 -3
  211. package/dist/shared/src/components/Menu/MenuList.es.js.map +1 -1
  212. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +1 -1
  213. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
  214. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +2 -3
  215. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -1
  216. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  217. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  218. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +2 -3
  219. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  220. package/dist/shared/src/components/Powerpack/useFreeTrialLink.cjs.js +1 -1
  221. package/dist/shared/src/components/Powerpack/useFreeTrialLink.cjs.js.map +1 -1
  222. package/dist/shared/src/components/Powerpack/useFreeTrialLink.es.js +2 -3
  223. package/dist/shared/src/components/Powerpack/useFreeTrialLink.es.js.map +1 -1
  224. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +1 -1
  225. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js.map +1 -1
  226. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +20 -20
  227. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +2 -2
  228. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  229. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +52 -52
  230. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  231. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  232. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  233. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +2 -3
  234. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  235. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js +1 -1
  236. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js.map +1 -1
  237. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js +18 -17
  238. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js.map +1 -1
  239. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +1 -1
  240. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -1
  241. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +7 -7
  242. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
  243. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  244. package/dist/shared/src/components/RenameForm/RenameForm.es.js +6 -6
  245. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js +1 -1
  246. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js.map +1 -1
  247. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js +2 -3
  248. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js.map +1 -1
  249. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  250. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  251. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +6 -6
  252. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  253. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  254. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +6 -6
  255. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  256. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  257. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +6 -6
  258. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +1 -1
  259. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -1
  260. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +2 -3
  261. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js.map +1 -1
  262. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js +1 -1
  263. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js.map +1 -1
  264. package/dist/shared/src/components/ReviewablesSelector/Card.es.js +6 -6
  265. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  266. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  267. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +7 -8
  268. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  269. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +1 -1
  270. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
  271. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +2 -3
  272. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -1
  273. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js +1 -1
  274. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js.map +1 -1
  275. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js +6 -6
  276. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
  277. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  278. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +6 -6
  279. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.cjs.js +1 -1
  280. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.cjs.js.map +1 -1
  281. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.es.js +2 -3
  282. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.es.js.map +1 -1
  283. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js +1 -1
  284. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js.map +1 -1
  285. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js +2 -3
  286. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js.map +1 -1
  287. package/dist/shared/src/components/Thumbnail/Thumbnail.cjs.js +1 -1
  288. package/dist/shared/src/components/Thumbnail/Thumbnail.cjs.js.map +1 -1
  289. package/dist/shared/src/components/Thumbnail/Thumbnail.es.js +121 -27
  290. package/dist/shared/src/components/Thumbnail/Thumbnail.es.js.map +1 -1
  291. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.cjs.js +3 -3
  292. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.cjs.js.map +1 -1
  293. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.es.js +116 -22
  294. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.es.js.map +1 -1
  295. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
  296. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  297. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +6 -6
  298. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
  299. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  300. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +6 -6
  301. package/dist/shared/src/components/Watchers/Watchers.cjs.js +1 -1
  302. package/dist/shared/src/components/Watchers/Watchers.cjs.js.map +1 -1
  303. package/dist/shared/src/components/Watchers/Watchers.es.js +2 -3
  304. package/dist/shared/src/components/Watchers/Watchers.es.js.map +1 -1
  305. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  306. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  307. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +6 -6
  308. package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
  309. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  310. package/dist/shared/src/containers/Actions/Actions.es.js +44 -45
  311. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  312. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js +2 -2
  313. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js.map +1 -1
  314. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.es.js +28 -28
  315. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.es.js.map +1 -1
  316. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.styled.cjs.js +22 -19
  317. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.styled.cjs.js.map +1 -1
  318. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.styled.es.js +25 -22
  319. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.styled.es.js.map +1 -1
  320. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  321. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  322. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +6 -6
  323. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  324. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  325. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +6 -6
  326. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  327. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  328. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js +6 -6
  329. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  330. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  331. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js +6 -6
  332. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  333. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  334. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js +28 -28
  335. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  336. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.cjs.js +1 -1
  337. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.cjs.js.map +1 -1
  338. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.es.js +2 -3
  339. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.es.js.map +1 -1
  340. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js +1 -1
  341. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js.map +1 -1
  342. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js +10 -10
  343. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js +5 -5
  344. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js.map +1 -1
  345. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.es.js +114 -20
  346. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.es.js.map +1 -1
  347. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js +1 -1
  348. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js.map +1 -1
  349. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js +6 -6
  350. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
  351. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  352. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +2 -3
  353. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  354. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js +1 -1
  355. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js.map +1 -1
  356. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js +6 -6
  357. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js +1 -1
  358. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js.map +1 -1
  359. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js +6 -6
  360. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js +1 -1
  361. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js.map +1 -1
  362. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js +6 -6
  363. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js +1 -1
  364. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js.map +1 -1
  365. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js +2 -3
  366. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js.map +1 -1
  367. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.cjs.js +1 -1
  368. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.cjs.js.map +1 -1
  369. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.es.js +104 -10
  370. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.es.js.map +1 -1
  371. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
  372. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  373. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +4 -5
  374. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  375. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  376. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  377. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +28 -28
  378. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  379. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  380. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +6 -6
  381. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  382. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  383. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +6 -6
  384. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  385. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  386. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +6 -6
  387. package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.cjs.js +1 -1
  388. package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.cjs.js.map +1 -1
  389. package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.es.js +105 -11
  390. package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.es.js.map +1 -1
  391. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
  392. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
  393. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +2 -3
  394. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
  395. package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.cjs.js +1 -1
  396. package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.cjs.js.map +1 -1
  397. package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.es.js +121 -27
  398. package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.es.js.map +1 -1
  399. package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
  400. package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
  401. package/dist/shared/src/containers/Feed/Feed.es.js +3 -4
  402. package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
  403. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js +1 -1
  404. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js.map +1 -1
  405. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js +6 -6
  406. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  407. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  408. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +90 -81
  409. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  410. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
  411. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
  412. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +6 -6
  413. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.cjs.js +1 -1
  414. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.cjs.js.map +1 -1
  415. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.es.js +118 -24
  416. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.es.js.map +1 -1
  417. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js +1 -1
  418. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js.map +1 -1
  419. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js +28 -30
  420. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js.map +1 -1
  421. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js +1 -1
  422. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js.map +1 -1
  423. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js +2 -3
  424. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js.map +1 -1
  425. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +1 -1
  426. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  427. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +6 -6
  428. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js +1 -1
  429. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js.map +1 -1
  430. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js +6 -6
  431. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js +1 -1
  432. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js.map +1 -1
  433. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js +2 -3
  434. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js.map +1 -1
  435. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.cjs.js +1 -1
  436. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.cjs.js.map +1 -1
  437. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.es.js +103 -9
  438. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.es.js.map +1 -1
  439. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js +1 -1
  440. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js.map +1 -1
  441. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js +2 -3
  442. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map +1 -1
  443. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js +1 -1
  444. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js.map +1 -1
  445. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js +3 -4
  446. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js.map +1 -1
  447. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js +1 -1
  448. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js.map +1 -1
  449. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js +2 -3
  450. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js.map +1 -1
  451. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  452. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  453. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +6 -6
  454. package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.cjs.js +1 -1
  455. package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.cjs.js.map +1 -1
  456. package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.es.js +2 -3
  457. package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.es.js.map +1 -1
  458. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
  459. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  460. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +9 -10
  461. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  462. package/dist/shared/src/containers/Feed/helpers/buildBackendFilter.cjs.js +1 -1
  463. package/dist/shared/src/containers/Feed/helpers/buildBackendFilter.cjs.js.map +1 -1
  464. package/dist/shared/src/containers/Feed/helpers/buildBackendFilter.es.js +2 -3
  465. package/dist/shared/src/containers/Feed/helpers/buildBackendFilter.es.js.map +1 -1
  466. package/dist/shared/src/containers/Feed/helpers/getActivityUserName.cjs.js +2 -0
  467. package/dist/shared/src/containers/Feed/helpers/getActivityUserName.cjs.js.map +1 -0
  468. package/dist/shared/src/containers/Feed/helpers/getActivityUserName.es.js +5 -0
  469. package/dist/shared/src/containers/Feed/helpers/getActivityUserName.es.js.map +1 -0
  470. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.cjs.js +1 -1
  471. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.cjs.js.map +1 -1
  472. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.es.js +184 -87
  473. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.es.js.map +1 -1
  474. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +1 -1
  475. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
  476. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +2 -3
  477. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
  478. package/dist/shared/src/containers/Feed/hooks/useLastVersionReview.cjs.js +1 -1
  479. package/dist/shared/src/containers/Feed/hooks/useLastVersionReview.cjs.js.map +1 -1
  480. package/dist/shared/src/containers/Feed/hooks/useLastVersionReview.es.js +2 -3
  481. package/dist/shared/src/containers/Feed/hooks/useLastVersionReview.es.js.map +1 -1
  482. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.cjs.js +1 -1
  483. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.cjs.js.map +1 -1
  484. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.es.js +104 -10
  485. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.es.js.map +1 -1
  486. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.cjs.js +1 -1
  487. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.cjs.js.map +1 -1
  488. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.es.js +107 -13
  489. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.es.js.map +1 -1
  490. package/dist/shared/src/containers/ListTable/ListTable.cjs.js +1 -1
  491. package/dist/shared/src/containers/ListTable/ListTable.cjs.js.map +1 -1
  492. package/dist/shared/src/containers/ListTable/ListTable.es.js +19 -19
  493. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js +1 -1
  494. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js.map +1 -1
  495. package/dist/shared/src/containers/ListTable/ListTableCell.es.js +6 -6
  496. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js +1 -1
  497. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js.map +1 -1
  498. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js +6 -6
  499. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  500. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  501. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +582 -581
  502. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  503. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  504. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  505. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +6 -6
  506. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js +1 -1
  507. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js.map +1 -1
  508. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js +6 -6
  509. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
  510. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  511. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +6 -6
  512. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  513. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  514. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +6 -6
  515. package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.cjs.js +24 -5
  516. package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.cjs.js.map +1 -1
  517. package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.es.js +183 -41
  518. package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.es.js.map +1 -1
  519. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  520. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  521. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +6 -6
  522. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +5 -5
  523. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
  524. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +116 -113
  525. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
  526. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +1 -1
  527. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -1
  528. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +20 -20
  529. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
  530. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  531. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +4 -5
  532. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  533. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js +1 -1
  534. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js.map +1 -1
  535. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js +2 -3
  536. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js.map +1 -1
  537. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  538. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  539. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +6 -6
  540. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js +1 -1
  541. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js.map +1 -1
  542. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js +177 -83
  543. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js.map +1 -1
  544. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +1 -1
  545. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
  546. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +2 -3
  547. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
  548. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  549. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  550. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +25 -25
  551. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  552. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  553. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  554. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +83 -80
  555. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  556. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  557. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  558. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +6 -6
  559. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  560. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  561. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +6 -6
  562. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  563. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  564. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +23 -23
  565. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js +1 -1
  566. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js.map +1 -1
  567. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js +6 -6
  568. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  569. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  570. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +203 -216
  571. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  572. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  573. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  574. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +23 -23
  575. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  576. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
  577. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +22 -22
  578. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  579. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  580. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +6 -6
  581. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  582. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  583. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +6 -6
  584. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  585. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  586. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +7 -7
  587. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  588. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  589. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +21 -21
  590. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSelectedFolders.cjs.js +1 -1
  591. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSelectedFolders.cjs.js.map +1 -1
  592. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSelectedFolders.es.js +12 -15
  593. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSelectedFolders.es.js.map +1 -1
  594. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js +1 -1
  595. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js.map +1 -1
  596. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js +47 -43
  597. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js.map +1 -1
  598. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js +1 -1
  599. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -1
  600. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js +2 -3
  601. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -1
  602. package/dist/shared/src/containers/ProjectTreeTable/types/summaryTypes.cjs.js.map +1 -1
  603. package/dist/shared/src/containers/ProjectTreeTable/types/summaryTypes.es.js.map +1 -1
  604. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  605. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  606. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +24 -24
  607. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +1 -1
  608. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
  609. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +6 -6
  610. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +1 -1
  611. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  612. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +6 -6
  613. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js +1 -1
  614. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js.map +1 -1
  615. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js +6 -6
  616. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  617. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  618. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +6 -6
  619. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js +1 -1
  620. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js.map +1 -1
  621. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js +6 -7
  622. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js.map +1 -1
  623. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  624. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  625. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +22 -22
  626. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js +1 -1
  627. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js.map +1 -1
  628. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js +6 -6
  629. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js +1 -1
  630. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js.map +1 -1
  631. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js +6 -7
  632. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js.map +1 -1
  633. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js +4 -4
  634. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js.map +1 -1
  635. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js +174 -80
  636. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js.map +1 -1
  637. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js +5 -5
  638. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js.map +1 -1
  639. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js +106 -12
  640. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js.map +1 -1
  641. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  642. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  643. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +39 -39
  644. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  645. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  646. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +6 -6
  647. package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js +2 -2
  648. package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js.map +1 -1
  649. package/dist/shared/src/containers/Slicer/components/Slicer.es.js +57 -70
  650. package/dist/shared/src/containers/Slicer/components/Slicer.es.js.map +1 -1
  651. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js +1 -1
  652. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js.map +1 -1
  653. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js +2 -3
  654. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js.map +1 -1
  655. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +1 -1
  656. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -1
  657. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +6 -6
  658. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js +1 -1
  659. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js.map +1 -1
  660. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js +130 -132
  661. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js.map +1 -1
  662. package/dist/shared/src/containers/Slicer/context/SlicerContextInstance.cjs.js +2 -0
  663. package/dist/shared/src/containers/Slicer/context/SlicerContextInstance.cjs.js.map +1 -0
  664. package/dist/shared/src/containers/Slicer/context/SlicerContextInstance.es.js +6 -0
  665. package/dist/shared/src/containers/Slicer/context/SlicerContextInstance.es.js.map +1 -0
  666. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js +1 -1
  667. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js.map +1 -1
  668. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js +2 -3
  669. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js.map +1 -1
  670. package/dist/shared/src/containers/Slicer/hooks/useFiltersWithHierarchy.cjs.js +1 -1
  671. package/dist/shared/src/containers/Slicer/hooks/useFiltersWithHierarchy.cjs.js.map +1 -1
  672. package/dist/shared/src/containers/Slicer/hooks/useFiltersWithHierarchy.es.js +11 -14
  673. package/dist/shared/src/containers/Slicer/hooks/useFiltersWithHierarchy.es.js.map +1 -1
  674. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js +1 -1
  675. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js.map +1 -1
  676. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js +2 -3
  677. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js.map +1 -1
  678. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js +1 -1
  679. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js.map +1 -1
  680. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js +40 -50
  681. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js.map +1 -1
  682. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js +1 -1
  683. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js.map +1 -1
  684. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js +2 -3
  685. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js.map +1 -1
  686. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.cjs.js +2 -0
  687. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.cjs.js.map +1 -0
  688. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.es.js +155 -0
  689. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.es.js.map +1 -0
  690. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.cjs.js +2 -0
  691. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.cjs.js.map +1 -0
  692. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.es.js +170 -0
  693. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.es.js.map +1 -0
  694. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.cjs.js +2 -0
  695. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.cjs.js.map +1 -0
  696. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.es.js +142 -0
  697. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.es.js.map +1 -0
  698. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js +1 -1
  699. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js.map +1 -1
  700. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js +47 -44
  701. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js.map +1 -1
  702. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js +1 -1
  703. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js.map +1 -1
  704. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js +2 -3
  705. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js.map +1 -1
  706. package/dist/shared/src/containers/Slicer/util/createFilterFromSlicer.cjs.js +1 -1
  707. package/dist/shared/src/containers/Slicer/util/createFilterFromSlicer.cjs.js.map +1 -1
  708. package/dist/shared/src/containers/Slicer/util/createFilterFromSlicer.es.js +11 -16
  709. package/dist/shared/src/containers/Slicer/util/createFilterFromSlicer.es.js.map +1 -1
  710. package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js +1 -1
  711. package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js.map +1 -1
  712. package/dist/shared/src/containers/Views/ViewItem/ViewItem.es.js +123 -29
  713. package/dist/shared/src/containers/Views/ViewItem/ViewItem.es.js.map +1 -1
  714. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
  715. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
  716. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +4 -5
  717. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
  718. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
  719. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
  720. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +5 -5
  721. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +1 -1
  722. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -1
  723. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +2 -3
  724. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -1
  725. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
  726. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  727. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +4 -5
  728. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  729. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.cjs.js +1 -1
  730. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.cjs.js.map +1 -1
  731. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.es.js +112 -18
  732. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.es.js.map +1 -1
  733. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js +1 -1
  734. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js.map +1 -1
  735. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js +139 -45
  736. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js.map +1 -1
  737. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.cjs.js +1 -1
  738. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.cjs.js.map +1 -1
  739. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.es.js +2 -3
  740. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.es.js.map +1 -1
  741. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
  742. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
  743. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +7 -8
  744. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
  745. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js +1 -1
  746. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js.map +1 -1
  747. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js +2 -3
  748. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js.map +1 -1
  749. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js +1 -1
  750. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js.map +1 -1
  751. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js +2 -3
  752. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js.map +1 -1
  753. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
  754. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
  755. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +2 -3
  756. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
  757. package/dist/shared/src/context/AddonProjectContext.cjs.js +1 -1
  758. package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
  759. package/dist/shared/src/context/AddonProjectContext.es.js +4 -5
  760. package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
  761. package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
  762. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  763. package/dist/shared/src/context/DetailsPanelContext.es.js +68 -67
  764. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  765. package/dist/shared/src/context/GlobalContext.cjs.js +1 -1
  766. package/dist/shared/src/context/GlobalContext.cjs.js.map +1 -1
  767. package/dist/shared/src/context/GlobalContext.es.js +4 -5
  768. package/dist/shared/src/context/GlobalContext.es.js.map +1 -1
  769. package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
  770. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  771. package/dist/shared/src/context/PowerpackContext.es.js +8 -9
  772. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  773. package/dist/shared/src/context/ProjectContext.cjs.js +1 -1
  774. package/dist/shared/src/context/ProjectContext.cjs.js.map +1 -1
  775. package/dist/shared/src/context/ProjectContext.es.js +4 -5
  776. package/dist/shared/src/context/ProjectContext.es.js.map +1 -1
  777. package/dist/shared/src/context/ProjectFoldersContext.cjs.js +1 -1
  778. package/dist/shared/src/context/ProjectFoldersContext.cjs.js.map +1 -1
  779. package/dist/shared/src/context/ProjectFoldersContext.es.js +6 -7
  780. package/dist/shared/src/context/ProjectFoldersContext.es.js.map +1 -1
  781. package/dist/shared/src/context/RemoteModulesContext.cjs.js +1 -1
  782. package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
  783. package/dist/shared/src/context/RemoteModulesContext.es.js +4 -5
  784. package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
  785. package/dist/shared/src/context/SubtasksModulesContext.cjs.js +1 -1
  786. package/dist/shared/src/context/SubtasksModulesContext.cjs.js.map +1 -1
  787. package/dist/shared/src/context/SubtasksModulesContext.es.js +6 -7
  788. package/dist/shared/src/context/SubtasksModulesContext.es.js.map +1 -1
  789. package/dist/shared/src/context/UriContext.cjs.js +1 -1
  790. package/dist/shared/src/context/UriContext.cjs.js.map +1 -1
  791. package/dist/shared/src/context/UriContext.es.js +6 -7
  792. package/dist/shared/src/context/UriContext.es.js.map +1 -1
  793. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  794. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  795. package/dist/shared/src/context/WebsocketContext.es.js +44 -41
  796. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  797. package/dist/shared/src/hooks/useActionTriggers.cjs.js +1 -1
  798. package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
  799. package/dist/shared/src/hooks/useActionTriggers.es.js +2 -3
  800. package/dist/shared/src/hooks/useActionTriggers.es.js.map +1 -1
  801. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
  802. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  803. package/dist/shared/src/hooks/useEntityUpdate.es.js +2 -3
  804. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  805. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js +1 -1
  806. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js.map +1 -1
  807. package/dist/shared/src/hooks/useGetEntityGroups.es.js +2 -3
  808. package/dist/shared/src/hooks/useGetEntityGroups.es.js.map +1 -1
  809. package/dist/shared/src/hooks/useGetProductionAddon.cjs.js +1 -1
  810. package/dist/shared/src/hooks/useGetProductionAddon.cjs.js.map +1 -1
  811. package/dist/shared/src/hooks/useGetProductionAddon.es.js +2 -3
  812. package/dist/shared/src/hooks/useGetProductionAddon.es.js.map +1 -1
  813. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +1 -1
  814. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
  815. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +4 -5
  816. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
  817. package/dist/shared/src/hooks/useHierarchyTable.cjs.js +1 -1
  818. package/dist/shared/src/hooks/useHierarchyTable.cjs.js.map +1 -1
  819. package/dist/shared/src/hooks/useHierarchyTable.es.js +2 -3
  820. package/dist/shared/src/hooks/useHierarchyTable.es.js.map +1 -1
  821. package/dist/shared/src/hooks/useLocalStorage.cjs.js +1 -1
  822. package/dist/shared/src/hooks/useLocalStorage.cjs.js.map +1 -1
  823. package/dist/shared/src/hooks/useLocalStorage.es.js +3 -1
  824. package/dist/shared/src/hooks/useLocalStorage.es.js.map +1 -1
  825. package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.cjs.js +1 -1
  826. package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.cjs.js.map +1 -1
  827. package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.es.js +114 -20
  828. package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.es.js.map +1 -1
  829. package/dist/shared/src/hooks/useScopedStatuses.cjs.js +1 -1
  830. package/dist/shared/src/hooks/useScopedStatuses.cjs.js.map +1 -1
  831. package/dist/shared/src/hooks/useScopedStatuses.es.js +4 -5
  832. package/dist/shared/src/hooks/useScopedStatuses.es.js.map +1 -1
  833. package/dist/shared/src/hooks/useScopedTypes.cjs.js +1 -1
  834. package/dist/shared/src/hooks/useScopedTypes.cjs.js.map +1 -1
  835. package/dist/shared/src/hooks/useScopedTypes.es.js +2 -3
  836. package/dist/shared/src/hooks/useScopedTypes.es.js.map +1 -1
  837. package/dist/shared/src/hooks/useSessionStorage.cjs.js +2 -0
  838. package/dist/shared/src/hooks/useSessionStorage.cjs.js.map +1 -0
  839. package/dist/shared/src/hooks/useSessionStorage.es.js +60 -0
  840. package/dist/shared/src/hooks/useSessionStorage.es.js.map +1 -0
  841. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
  842. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  843. package/dist/shared/src/hooks/useUserProjectConfig.es.js +2 -3
  844. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  845. package/dist/shared/src/util/checkName.cjs.js.map +1 -1
  846. package/dist/shared/src/util/checkName.es.js.map +1 -1
  847. package/dist/shared/src/util/getAttributeIcon.cjs.js.map +1 -1
  848. package/dist/shared/src/util/getAttributeIcon.es.js.map +1 -1
  849. package/dist/shared/src/util/getBundleMode.cjs.js +2 -0
  850. package/dist/shared/src/util/getBundleMode.cjs.js.map +1 -0
  851. package/dist/shared/src/util/getBundleMode.es.js +117 -0
  852. package/dist/shared/src/util/getBundleMode.es.js.map +1 -0
  853. package/dist/shared/src/util/getGroupByDataType.cjs.js.map +1 -1
  854. package/dist/shared/src/util/getGroupByDataType.es.js.map +1 -1
  855. package/dist/shared/src/util/getPriorityOptions.cjs.js.map +1 -1
  856. package/dist/shared/src/util/getPriorityOptions.es.js.map +1 -1
  857. package/dist/shared/src/util/iconUtils.cjs.js.map +1 -1
  858. package/dist/shared/src/util/iconUtils.es.js.map +1 -1
  859. package/dist/types/api/generated/graphql.d.ts +845 -1124
  860. package/dist/types/api/generated/graphqlLinks.d.ts +201 -291
  861. package/dist/types/api/queries/activities/getActivities.d.ts +2326 -1470
  862. package/dist/types/api/queries/activities/index.d.ts +0 -1
  863. package/dist/types/api/queries/activities/util/activityRealtimeHandler.d.ts +21 -1
  864. package/dist/types/api/queries/columnStats/columnStats.d.ts +4 -21
  865. package/dist/types/api/queries/entities/getEntity.d.ts +327 -315
  866. package/dist/types/api/queries/entities/getEntityPanel.d.ts +263 -251
  867. package/dist/types/api/queries/entities/updateEntity.d.ts +263 -251
  868. package/dist/types/api/queries/entityLists/getLists.d.ts +1930 -1918
  869. package/dist/types/api/queries/entityLists/listItemsColumnStats.d.ts +96 -96
  870. package/dist/types/api/queries/entityLists/types.d.ts +1 -0
  871. package/dist/types/api/queries/folders/getFolderDeleteInfo.d.ts +131 -131
  872. package/dist/types/api/queries/overview/getOverview.d.ts +960 -866
  873. package/dist/types/api/queries/products/getFolderProducts.d.ts +64 -64
  874. package/dist/types/api/queries/project/getProject.d.ts +503 -491
  875. package/dist/types/api/queries/review/getReview.d.ts +2 -2
  876. package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +375 -363
  877. package/dist/types/api/queries/users/getUsers.d.ts +457 -445
  878. package/dist/types/api/queries/versions/getVersionsProducts.d.ts +1118 -1094
  879. package/dist/types/api/queries/versions/updateVersions.d.ts +138 -175
  880. package/dist/types/containers/Actions/Actions.d.ts +3 -2
  881. package/dist/types/containers/Actions/ActionsDropdown/ActionsDropdown.d.ts +3 -2
  882. package/dist/types/containers/Feed/helpers/getActivityUserName.d.ts +4 -0
  883. package/dist/types/containers/Feed/hooks/useGetFeedActivitiesData.d.ts +36 -36
  884. package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +2 -1
  885. package/dist/types/containers/ProjectTreeTable/components/TableFooterRow.d.ts +1 -0
  886. package/dist/types/containers/ProjectTreeTable/hooks/useSelectedFolders.d.ts +2 -4
  887. package/dist/types/containers/ProjectTreeTable/hooks/useSortBySettings.d.ts +6 -1
  888. package/dist/types/containers/ProjectTreeTable/types/summaryTypes.d.ts +0 -29
  889. package/dist/types/containers/Slicer/components/Slicer.d.ts +1 -1
  890. package/dist/types/containers/Slicer/context/SlicerContext.d.ts +14 -20
  891. package/dist/types/containers/Slicer/context/SlicerContextInstance.d.ts +2 -0
  892. package/dist/types/containers/Slicer/hooks/index.d.ts +4 -1
  893. package/dist/types/containers/Slicer/hooks/useFiltersWithHierarchy.d.ts +2 -2
  894. package/dist/types/containers/Slicer/hooks/useSlicerRemotes.d.ts +6 -0
  895. package/dist/types/containers/Slicer/hooks/useSlicerRowSelection.d.ts +18 -0
  896. package/dist/types/containers/Slicer/hooks/useSlicerSplitter.d.ts +9 -0
  897. package/dist/types/containers/Slicer/types.d.ts +6 -9
  898. package/dist/types/containers/Slicer/util/createFilterFromSlicer.d.ts +7 -4
  899. package/dist/types/containers/Slicer/util/getSelectionDataState.d.ts +3 -0
  900. package/dist/types/context/DetailsPanelContext.d.ts +2 -1
  901. package/dist/types/hooks/index.d.ts +1 -0
  902. package/dist/types/hooks/useSessionStorage.d.ts +4 -0
  903. package/dist/types/util/checkName.d.ts +1 -1
  904. package/dist/types/util/getAttributeIcon.d.ts +1 -1
  905. package/dist/types/util/getBundleMode.d.ts +4 -0
  906. package/dist/types/util/getGroupByDataType.d.ts +1 -1
  907. package/dist/types/util/getPriorityOptions.d.ts +2 -1
  908. package/dist/types/util/iconUtils.d.ts +1 -1
  909. package/dist/types/util/index.d.ts +1 -0
  910. package/dist/util.cjs.js +1 -1
  911. package/dist/util.es.js +33 -30
  912. package/dist/util.es.js.map +1 -1
  913. package/package.json +3 -3
  914. package/dist/shared/src/api/queries/activities/updateActivities.cjs.js +0 -2
  915. package/dist/shared/src/api/queries/activities/updateActivities.cjs.js.map +0 -1
  916. package/dist/shared/src/api/queries/activities/updateActivities.es.js +0 -111
  917. package/dist/shared/src/api/queries/activities/updateActivities.es.js.map +0 -1
  918. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePrefetchFolderTasks.cjs.js +0 -2
  919. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePrefetchFolderTasks.cjs.js.map +0 -1
  920. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePrefetchFolderTasks.es.js +0 -27
  921. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePrefetchFolderTasks.es.js.map +0 -1
  922. package/dist/shared/src/containers/Slicer/hooks/useSlicerViewSync.cjs.js +0 -2
  923. package/dist/shared/src/containers/Slicer/hooks/useSlicerViewSync.cjs.js.map +0 -1
  924. package/dist/shared/src/containers/Slicer/hooks/useSlicerViewSync.es.js +0 -22
  925. package/dist/shared/src/containers/Slicer/hooks/useSlicerViewSync.es.js.map +0 -1
  926. package/dist/types/api/queries/activities/updateActivities.d.ts +0 -1322
  927. package/dist/types/containers/ProjectTreeTable/hooks/usePrefetchFolderTasks.d.ts +0 -4
  928. package/dist/types/containers/Slicer/hooks/useSlicerViewSync.d.ts +0 -8
@@ -42,45 +42,98 @@ import "lodash";
42
42
  import "react-toastify";
43
43
  import "uuid";
44
44
  import { subscribeToThumbnailUpdates as I } from "../../../util/thumbnailWebsocket.es.js";
45
- import b from "../../../util/pubsub.es.js";
45
+ import "../actions/getActions.es.js";
46
+ import "../activities/getActivities.es.js";
47
+ import "../activities/updateReaction.es.js";
48
+ import "../activities/getMentions.es.js";
49
+ import "../activities/getCategories.es.js";
50
+ import "../addons/getAddons.es.js";
51
+ import "../addons/updateAddons.es.js";
52
+ import "../attributes/getAttributes.es.js";
53
+ import "../attributes/updateAttributes.es.js";
54
+ import "../authentication/getAuthentication.es.js";
55
+ import "../cloud/cloud.es.js";
56
+ import "../columnStats/metricTargets.es.js";
57
+ import "../config/getConfig.es.js";
58
+ import "../config/updateConfig.es.js";
59
+ import "./getEntity.es.js";
46
60
  import { transformDetailsPanelQueriesData as u, detailsPanelEntityTypes as G } from "./transformDetailsPanelData.es.js";
61
+ import "./updateEntity.es.js";
62
+ import "../entityLists/getLists.es.js";
63
+ import "../entityLists/updateLists.es.js";
64
+ import "../entityLists/getListsAttributes.es.js";
65
+ import "../entityLists/listItemsColumnStats.es.js";
66
+ import "../entityLists/updateListsAttributes.es.js";
67
+ import "../entityLists/listFolders.es.js";
68
+ import "../folders/getFolders.es.js";
69
+ import "../folders/getFolderDeleteInfo.es.js";
70
+ import "../grouping/getGrouping.es.js";
71
+ import "../links/updateLinks.es.js";
72
+ import "../links/getLinks.es.js";
73
+ import "../links/getEntityLinks.es.js";
74
+ import "../overview/getOverview.es.js";
75
+ import "../overview/updateOverview.es.js";
76
+ import "../versions/getVersionsProducts.es.js";
77
+ import "../permissions/getPermissions.es.js";
78
+ import "../products/createProduct.es.js";
79
+ import "../products/getFolderProducts.es.js";
80
+ import "../project/getProject.es.js";
81
+ import "../project/updateProject.es.js";
82
+ import "../projectFolders/projectFolders.es.js";
83
+ import "../review/getReview.es.js";
84
+ import "../review/updateReview.es.js";
85
+ import "../share/share.es.js";
86
+ import "../system/getSystem.es.js";
87
+ import "../tasks/getTasks.es.js";
88
+ import "../tasks/updateTasks.es.js";
89
+ import "../teams/getTeams.es.js";
90
+ import "../userDashboard/getUserDashboard.es.js";
91
+ import "../users/getUsers.es.js";
92
+ import "../users/updateUsers.es.js";
93
+ import "../users/guests.es.js";
94
+ import "../versions/updateVersions.es.js";
95
+ import "../views/getViews.es.js";
96
+ import "../views/updateViews.es.js";
97
+ import "../watchers/getWatchers.es.js";
98
+ import "../uris/getUris.es.js";
99
+ import b from "../../../util/pubsub.es.js";
47
100
  const y = T.enhanceEndpoints({
48
101
  endpoints: {
49
102
  GetDetailsPanelFolder: {
50
- transformResponse: (i, s, e) => {
51
- const { projectName: r } = e, t = i?.project?.folder;
103
+ transformResponse: (i, p, r) => {
104
+ const { projectName: e } = r, t = i?.project?.folder;
52
105
  return t ? u({
53
- projectName: r,
106
+ projectName: e,
54
107
  entity: t,
55
108
  entityType: "folder"
56
109
  }) : null;
57
110
  }
58
111
  },
59
112
  GetDetailsPanelTask: {
60
- transformResponse: (i, s, e) => {
61
- const { projectName: r } = e, t = i?.project?.task;
113
+ transformResponse: (i, p, r) => {
114
+ const { projectName: e } = r, t = i?.project?.task;
62
115
  return t ? u({
63
- projectName: r,
116
+ projectName: e,
64
117
  entity: t,
65
118
  entityType: "task"
66
119
  }) : null;
67
120
  }
68
121
  },
69
122
  GetDetailsPanelVersion: {
70
- transformResponse: (i, s, e) => {
71
- const { projectName: r } = e, t = i?.project?.version;
123
+ transformResponse: (i, p, r) => {
124
+ const { projectName: e } = r, t = i?.project?.version;
72
125
  return t ? u({
73
- projectName: r,
126
+ projectName: e,
74
127
  entity: t,
75
128
  entityType: "version"
76
129
  }) : null;
77
130
  }
78
131
  },
79
132
  GetDetailsPanelRepresentation: {
80
- transformResponse: (i, s, e) => {
81
- const { projectName: r } = e, t = i?.project?.representation;
133
+ transformResponse: (i, p, r) => {
134
+ const { projectName: e } = r, t = i?.project?.representation;
82
135
  return t ? u({
83
- projectName: r,
136
+ projectName: e,
84
137
  entity: t,
85
138
  entityType: "representation"
86
139
  }) : null;
@@ -101,8 +154,8 @@ const y = T.enhanceEndpoints({
101
154
  }, _ = y.injectEndpoints({
102
155
  endpoints: (i) => ({
103
156
  getEntitiesDetailsPanel: i.query({
104
- async queryFn({ entities: s = [], entityType: e }, { dispatch: r }) {
105
- if (!G.includes(e))
157
+ async queryFn({ entities: p = [], entityType: r }, { dispatch: e }) {
158
+ if (!G.includes(r))
106
159
  return {
107
160
  error: {
108
161
  status: "CUSTOM_ERROR",
@@ -110,88 +163,88 @@ const y = T.enhanceEndpoints({
110
163
  }
111
164
  };
112
165
  try {
113
- const t = s.map((a) => r(
114
- y.endpoints[j(e)].initiate(
166
+ const t = p.map((m) => e(
167
+ y.endpoints[j(r)].initiate(
115
168
  {
116
- projectName: a.projectName,
117
- entityId: a.id
169
+ projectName: m.projectName,
170
+ entityId: m.id
118
171
  },
119
172
  { forceRefetch: !0 }
120
173
  )
121
174
  ));
122
- return { data: (await Promise.all(t)).filter((a) => !!a.data).map((a) => a.data) };
175
+ return { data: (await Promise.all(t)).filter((m) => !!m.data).map((m) => m.data) };
123
176
  } catch (t) {
124
177
  return console.error(t), { error: { status: "FETCH_ERROR", error: t.message } };
125
178
  }
126
179
  },
127
- async onCacheEntryAdded({ entities: s, entityType: e }, { updateCachedData: r, cacheDataLoaded: t, cacheEntryRemoved: c, dispatch: f }) {
128
- let a, d;
180
+ async onCacheEntryAdded({ entities: p, entityType: r }, { updateCachedData: e, cacheDataLoaded: t, cacheEntryRemoved: c, dispatch: f }) {
181
+ let m, d;
129
182
  try {
130
183
  await t, d = I(
131
184
  (h) => {
132
185
  const l = h.filter(
133
- (p) => s.some((o) => o.id === p.summary.entityId && o.projectName === p.project)
186
+ (s) => p.some((n) => n.id === s.summary.entityId && n.projectName === s.project)
134
187
  );
135
- l.length !== 0 && r((p) => {
136
- l.forEach((o) => {
137
- const n = p.findIndex((m) => m.id === o.summary.entityId);
138
- n !== -1 && p[n] && o.summary.thumbnailHash && (p[n].thumbnailHash = o.summary.thumbnailHash);
188
+ l.length !== 0 && e((s) => {
189
+ l.forEach((n) => {
190
+ const o = s.findIndex((a) => a.id === n.summary.entityId);
191
+ o !== -1 && s[o] && n.summary.thumbnailHash && (s[o].thumbnailHash = n.summary.thumbnailHash);
139
192
  });
140
193
  });
141
194
  },
142
- [e]
195
+ [r]
143
196
  );
144
197
  const D = async (h, l) => {
145
- const p = l.summary?.entityId, o = s.find((n) => n.id === p);
146
- if (o)
198
+ const s = l.summary?.entityId, n = p.find((o) => o.id === s);
199
+ if (n)
147
200
  try {
148
- const n = await f(
149
- y.endpoints[j(e)].initiate(
201
+ const o = await f(
202
+ y.endpoints[j(r)].initiate(
150
203
  {
151
- projectName: o.projectName,
152
- entityId: o.id
204
+ projectName: n.projectName,
205
+ entityId: n.id
153
206
  },
154
207
  { forceRefetch: !0 }
155
208
  )
156
209
  );
157
- if (n.status !== "fulfilled") {
158
- console.error(n?.error || "No entity found");
210
+ if (o.status !== "fulfilled") {
211
+ console.error(o?.error || "No entity found");
159
212
  return;
160
213
  }
161
- const m = n.data;
162
- if (!m) {
214
+ const a = o.data;
215
+ if (!a) {
163
216
  console.error("No entity found");
164
217
  return;
165
218
  }
166
- r((E) => {
167
- const P = E.findIndex((N) => N.id === m.id);
219
+ e((E) => {
220
+ const P = E.findIndex((N) => N.id === a.id);
168
221
  if (P === -1) {
169
222
  console.error("Entity not found in cache");
170
223
  return;
171
224
  }
172
- E[P] = m;
225
+ E[P] = a;
173
226
  });
174
- } catch (n) {
175
- console.error("Entity task realtime update failed", n);
227
+ } catch (o) {
228
+ console.error("Entity task realtime update failed", o);
176
229
  return;
177
230
  }
178
- }, R = `entity.${e}`;
179
- a = b.subscribe(R, D);
231
+ }, R = `entity.${r}`;
232
+ m = b.subscribe(R, D);
180
233
  } catch {
181
234
  }
182
- await c, b.unsubscribe(a), d && d();
235
+ await c, b.unsubscribe(m), d && d();
183
236
  },
184
- providesTags: (s, e, { entities: r, entityType: t }) => [
185
- ...r.map(({ id: c }) => ({ id: c, type: "entities" })),
237
+ providesTags: (p, r, { entities: e, entityType: t }) => [
238
+ ...e.map(({ id: c }) => ({ id: c, type: "entities" })),
186
239
  { type: "entities", id: t.toUpperCase() },
187
240
  { type: "entities", id: "LIST" }
188
241
  ]
189
242
  })
190
243
  })
191
- }), { useGetEntitiesDetailsPanelQuery: jt, useLazyGetEntitiesDetailsPanelQuery: Dt } = _;
244
+ }), { useGetEntitiesDetailsPanelQuery: br, useLazyGetEntitiesDetailsPanelQuery: jr } = _;
192
245
  export {
193
246
  _ as detailsPanelQueries,
194
- jt as useGetEntitiesDetailsPanelQuery,
195
- Dt as useLazyGetEntitiesDetailsPanelQuery
247
+ br as useGetEntitiesDetailsPanelQuery,
248
+ jr as useLazyGetEntitiesDetailsPanelQuery
196
249
  };
197
250
  //# sourceMappingURL=getEntityPanel.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getEntityPanel.es.js","sources":["../../../../../../src/api/queries/entities/getEntityPanel.ts"],"sourcesContent":["import {\n gqlApi,\n GetDetailsPanelFolderQuery,\n GetDetailsPanelRepresentationQuery,\n GetDetailsPanelTaskQuery,\n GetDetailsPanelVersionQuery,\n} from '@shared/api/generated'\nimport { PubSub, subscribeToThumbnailUpdates, ThumbnailUpdateMessage } from '@shared/util'\nimport { FetchBaseQueryError } from '@reduxjs/toolkit/query'\nimport {\n detailsPanelEntityTypes,\n transformDetailsPanelQueriesData,\n} from './transformDetailsPanelData'\nimport type { DetailsPanelEntityData, DetailsPanelEntityType } from './transformDetailsPanelData'\n\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<\n Definitions,\n | 'GetDetailsPanelFolder'\n | 'GetDetailsPanelTask'\n | 'GetDetailsPanelVersion'\n | 'GetDetailsPanelRepresentation'\n> & {\n GetDetailsPanelFolder: OverrideResultType<\n Definitions['GetDetailsPanelFolder'],\n DetailsPanelEntityData | null\n >\n GetDetailsPanelTask: OverrideResultType<\n Definitions['GetDetailsPanelTask'],\n DetailsPanelEntityData | null\n >\n GetDetailsPanelVersion: OverrideResultType<\n Definitions['GetDetailsPanelVersion'],\n DetailsPanelEntityData | null\n >\n GetDetailsPanelRepresentation: OverrideResultType<\n Definitions['GetDetailsPanelRepresentation'],\n DetailsPanelEntityData | null\n >\n}\n\nconst enhancedDetailsApi = gqlApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n GetDetailsPanelFolder: {\n transformResponse: (response: GetDetailsPanelFolderQuery, _meta, args) => {\n const { projectName } = args\n const entity = response?.project?.folder\n if (!entity) return null\n return transformDetailsPanelQueriesData({\n projectName,\n entity,\n entityType: 'folder',\n })\n },\n },\n GetDetailsPanelTask: {\n transformResponse: (response: GetDetailsPanelTaskQuery, _meta, args) => {\n const { projectName } = args\n const entity = response?.project?.task\n if (!entity) return null\n return transformDetailsPanelQueriesData({\n projectName,\n entity,\n entityType: 'task',\n })\n },\n },\n GetDetailsPanelVersion: {\n transformResponse: (response: GetDetailsPanelVersionQuery, _meta, args) => {\n const { projectName } = args\n const entity = response?.project?.version\n if (!entity) return null\n return transformDetailsPanelQueriesData({\n projectName,\n entity,\n entityType: 'version',\n })\n },\n },\n GetDetailsPanelRepresentation: {\n transformResponse: (response: GetDetailsPanelRepresentationQuery, _meta, args) => {\n const { projectName } = args\n const entity = response?.project?.representation\n if (!entity) return null\n return transformDetailsPanelQueriesData({\n projectName,\n entity,\n entityType: 'representation',\n })\n },\n },\n },\n})\n\ntype GetEntitiesDetailsPanelArgs = {\n entities: { id: string; projectName: string }[]\n entityType: DetailsPanelEntityType\n}\n\ntype QueryNameType =\n | 'GetDetailsPanelTask'\n | 'GetDetailsPanelVersion'\n | 'GetDetailsPanelFolder'\n | 'GetDetailsPanelRepresentation'\n\nconst getEntityTypeQueryName = (entityType: DetailsPanelEntityType): QueryNameType => {\n switch (entityType) {\n case 'task':\n return 'GetDetailsPanelTask'\n\n case 'version':\n return 'GetDetailsPanelVersion'\n\n case 'folder':\n return 'GetDetailsPanelFolder'\n\n case 'representation':\n return 'GetDetailsPanelRepresentation'\n }\n}\n\nconst detailsPanelQueries2 = enhancedDetailsApi.injectEndpoints({\n endpoints: (build) => ({\n getEntitiesDetailsPanel: build.query<DetailsPanelEntityData[], GetEntitiesDetailsPanelArgs>({\n async queryFn({ entities = [], entityType }, { dispatch }) {\n if (!detailsPanelEntityTypes.includes(entityType)) {\n return {\n error: {\n status: 'CUSTOM_ERROR',\n error: 'Entity type not supported',\n } as FetchBaseQueryError,\n }\n }\n\n try {\n const promises = entities.map((entity) => {\n return dispatch(\n enhancedDetailsApi.endpoints[getEntityTypeQueryName(entityType)].initiate(\n {\n projectName: entity.projectName,\n entityId: entity.id,\n },\n { forceRefetch: true },\n ),\n )\n })\n\n const res = await Promise.all(promises)\n\n const entitiesData = res\n .filter((res) => !!res.data)\n .map((res) => res.data) as DetailsPanelEntityData[]\n\n return { data: entitiesData }\n } catch (e: any) {\n console.error(e)\n return { error: { status: 'FETCH_ERROR', error: e.message } as FetchBaseQueryError }\n }\n },\n async onCacheEntryAdded(\n { entities, entityType },\n { updateCachedData, cacheDataLoaded, cacheEntryRemoved, dispatch },\n ) {\n let token\n let unsubscribeThumbnails: (() => void) | undefined\n try {\n // wait for the initial query to resolve before proceeding\n await cacheDataLoaded\n\n unsubscribeThumbnails = subscribeToThumbnailUpdates(\n (messages: ThumbnailUpdateMessage[]) => {\n const matchedMessages = messages.filter((m) =>\n entities.some((e) => e.id === m.summary.entityId && e.projectName === m.project),\n )\n if (matchedMessages.length === 0) return\n\n updateCachedData((draft) => {\n matchedMessages.forEach((message) => {\n const entityIndex = draft.findIndex((e: any) => e.id === message.summary.entityId)\n if (entityIndex !== -1 && draft[entityIndex] && message.summary.thumbnailHash) {\n draft[entityIndex].thumbnailHash = message.summary.thumbnailHash\n }\n })\n })\n },\n [entityType],\n )\n\n const handlePubSub = async (_topic: string, message: any) => {\n const messageEntityId = message.summary?.entityId\n const matchedEntity = entities.find((entity) => entity.id === messageEntityId)\n // check if the message is relevant to the current query\n if (!matchedEntity) return\n\n try {\n // get the new data for the entity\n const res = await dispatch(\n enhancedDetailsApi.endpoints[getEntityTypeQueryName(entityType)].initiate(\n {\n projectName: matchedEntity.projectName,\n entityId: matchedEntity.id,\n },\n { forceRefetch: true },\n ),\n )\n\n // check the res\n if (res.status !== 'fulfilled') {\n console.error(res?.error || 'No entity found')\n return\n }\n\n const updatedEntity = res.data\n\n if (!updatedEntity) {\n console.error('No entity found')\n return\n }\n\n updateCachedData((draft) => {\n // find the entity in the cache\n const entityIndex = draft.findIndex((entity: any) => entity.id === updatedEntity.id)\n\n if (entityIndex === -1) {\n console.error('Entity not found in cache')\n return\n }\n\n // update the entity in the cache\n draft[entityIndex] = updatedEntity\n })\n } catch (error) {\n console.error('Entity task realtime update failed', error)\n return\n }\n }\n\n const topic = `entity.${entityType}`\n // sub to websocket topic\n token = PubSub.subscribe(topic, handlePubSub)\n } catch {\n // no-op in case `cacheEntryRemoved` resolves before `cacheDataLoaded`,\n // in which case `cacheDataLoaded` will throw\n }\n // cacheEntryRemoved will resolve when the cache subscription is no longer active\n await cacheEntryRemoved\n // perform cleanup steps once the `cacheEntryRemoved` promise resolves\n PubSub.unsubscribe(token)\n if (unsubscribeThumbnails) {\n unsubscribeThumbnails()\n }\n },\n providesTags: (_res, _error, { entities, entityType }) => [\n ...entities.map(({ id }: { id: string }) => ({ id, type: 'entities' })),\n { type: 'entities', id: entityType.toUpperCase() },\n { type: 'entities', id: 'LIST' },\n ],\n }),\n }),\n})\n\nexport const { useGetEntitiesDetailsPanelQuery, useLazyGetEntitiesDetailsPanelQuery } =\n detailsPanelQueries2\nexport { detailsPanelQueries2 as detailsPanelQueries }\n"],"names":["enhancedDetailsApi","gqlApi","response","_meta","args","projectName","entity","transformDetailsPanelQueriesData","getEntityTypeQueryName","entityType","detailsPanelQueries2","build","entities","dispatch","detailsPanelEntityTypes","promises","res","e","updateCachedData","cacheDataLoaded","cacheEntryRemoved","token","unsubscribeThumbnails","subscribeToThumbnailUpdates","messages","matchedMessages","m","draft","message","entityIndex","handlePubSub","_topic","messageEntityId","matchedEntity","updatedEntity","error","topic","PubSub","_res","_error","id","useGetEntitiesDetailsPanelQuery","useLazyGetEntitiesDetailsPanelQuery"],"mappings":"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"}
1
+ {"version":3,"file":"getEntityPanel.es.js","sources":["../../../../../../src/api/queries/entities/getEntityPanel.ts"],"sourcesContent":["import {\n gqlApi,\n GetDetailsPanelFolderQuery,\n GetDetailsPanelRepresentationQuery,\n GetDetailsPanelTaskQuery,\n GetDetailsPanelVersionQuery,\n} from '@shared/api/generated'\nimport { PubSub, subscribeToThumbnailUpdates, ThumbnailUpdateMessage } from '@shared/util'\nimport { FetchBaseQueryError } from '@reduxjs/toolkit/query'\nimport {\n detailsPanelEntityTypes,\n transformDetailsPanelQueriesData,\n} from './transformDetailsPanelData'\nimport type { DetailsPanelEntityData, DetailsPanelEntityType } from './transformDetailsPanelData'\n\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<\n Definitions,\n | 'GetDetailsPanelFolder'\n | 'GetDetailsPanelTask'\n | 'GetDetailsPanelVersion'\n | 'GetDetailsPanelRepresentation'\n> & {\n GetDetailsPanelFolder: OverrideResultType<\n Definitions['GetDetailsPanelFolder'],\n DetailsPanelEntityData | null\n >\n GetDetailsPanelTask: OverrideResultType<\n Definitions['GetDetailsPanelTask'],\n DetailsPanelEntityData | null\n >\n GetDetailsPanelVersion: OverrideResultType<\n Definitions['GetDetailsPanelVersion'],\n DetailsPanelEntityData | null\n >\n GetDetailsPanelRepresentation: OverrideResultType<\n Definitions['GetDetailsPanelRepresentation'],\n DetailsPanelEntityData | null\n >\n}\n\nconst enhancedDetailsApi = gqlApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n GetDetailsPanelFolder: {\n transformResponse: (response: GetDetailsPanelFolderQuery, _meta, args) => {\n const { projectName } = args\n const entity = response?.project?.folder\n if (!entity) return null\n return transformDetailsPanelQueriesData({\n projectName,\n entity,\n entityType: 'folder',\n })\n },\n },\n GetDetailsPanelTask: {\n transformResponse: (response: GetDetailsPanelTaskQuery, _meta, args) => {\n const { projectName } = args\n const entity = response?.project?.task\n if (!entity) return null\n return transformDetailsPanelQueriesData({\n projectName,\n entity,\n entityType: 'task',\n })\n },\n },\n GetDetailsPanelVersion: {\n transformResponse: (response: GetDetailsPanelVersionQuery, _meta, args) => {\n const { projectName } = args\n const entity = response?.project?.version\n if (!entity) return null\n return transformDetailsPanelQueriesData({\n projectName,\n entity,\n entityType: 'version',\n })\n },\n },\n GetDetailsPanelRepresentation: {\n transformResponse: (response: GetDetailsPanelRepresentationQuery, _meta, args) => {\n const { projectName } = args\n const entity = response?.project?.representation\n if (!entity) return null\n return transformDetailsPanelQueriesData({\n projectName,\n entity,\n entityType: 'representation',\n })\n },\n },\n },\n})\n\ntype GetEntitiesDetailsPanelArgs = {\n entities: { id: string; projectName: string }[]\n entityType: DetailsPanelEntityType\n}\n\ntype QueryNameType =\n | 'GetDetailsPanelTask'\n | 'GetDetailsPanelVersion'\n | 'GetDetailsPanelFolder'\n | 'GetDetailsPanelRepresentation'\n\nconst getEntityTypeQueryName = (entityType: DetailsPanelEntityType): QueryNameType => {\n switch (entityType) {\n case 'task':\n return 'GetDetailsPanelTask'\n\n case 'version':\n return 'GetDetailsPanelVersion'\n\n case 'folder':\n return 'GetDetailsPanelFolder'\n\n case 'representation':\n return 'GetDetailsPanelRepresentation'\n }\n}\n\nconst detailsPanelQueries2 = enhancedDetailsApi.injectEndpoints({\n endpoints: (build) => ({\n getEntitiesDetailsPanel: build.query<DetailsPanelEntityData[], GetEntitiesDetailsPanelArgs>({\n async queryFn({ entities = [], entityType }, { dispatch }) {\n if (!detailsPanelEntityTypes.includes(entityType)) {\n return {\n error: {\n status: 'CUSTOM_ERROR',\n error: 'Entity type not supported',\n } as FetchBaseQueryError,\n }\n }\n\n try {\n const promises = entities.map((entity) => {\n return dispatch(\n enhancedDetailsApi.endpoints[getEntityTypeQueryName(entityType)].initiate(\n {\n projectName: entity.projectName,\n entityId: entity.id,\n },\n { forceRefetch: true },\n ),\n )\n })\n\n const res = await Promise.all(promises)\n\n const entitiesData = res\n .filter((res) => !!res.data)\n .map((res) => res.data) as DetailsPanelEntityData[]\n\n return { data: entitiesData }\n } catch (e: any) {\n console.error(e)\n return { error: { status: 'FETCH_ERROR', error: e.message } as FetchBaseQueryError }\n }\n },\n async onCacheEntryAdded(\n { entities, entityType },\n { updateCachedData, cacheDataLoaded, cacheEntryRemoved, dispatch },\n ) {\n let token\n let unsubscribeThumbnails: (() => void) | undefined\n try {\n // wait for the initial query to resolve before proceeding\n await cacheDataLoaded\n\n unsubscribeThumbnails = subscribeToThumbnailUpdates(\n (messages: ThumbnailUpdateMessage[]) => {\n const matchedMessages = messages.filter((m) =>\n entities.some((e) => e.id === m.summary.entityId && e.projectName === m.project),\n )\n if (matchedMessages.length === 0) return\n\n updateCachedData((draft) => {\n matchedMessages.forEach((message) => {\n const entityIndex = draft.findIndex((e: any) => e.id === message.summary.entityId)\n if (entityIndex !== -1 && draft[entityIndex] && message.summary.thumbnailHash) {\n draft[entityIndex].thumbnailHash = message.summary.thumbnailHash\n }\n })\n })\n },\n [entityType],\n )\n\n const handlePubSub = async (_topic: string, message: any) => {\n const messageEntityId = message.summary?.entityId\n const matchedEntity = entities.find((entity) => entity.id === messageEntityId)\n // check if the message is relevant to the current query\n if (!matchedEntity) return\n\n try {\n // get the new data for the entity\n const res = await dispatch(\n enhancedDetailsApi.endpoints[getEntityTypeQueryName(entityType)].initiate(\n {\n projectName: matchedEntity.projectName,\n entityId: matchedEntity.id,\n },\n { forceRefetch: true },\n ),\n )\n\n // check the res\n if (res.status !== 'fulfilled') {\n console.error(res?.error || 'No entity found')\n return\n }\n\n const updatedEntity = res.data\n\n if (!updatedEntity) {\n console.error('No entity found')\n return\n }\n\n updateCachedData((draft) => {\n // find the entity in the cache\n const entityIndex = draft.findIndex((entity: any) => entity.id === updatedEntity.id)\n\n if (entityIndex === -1) {\n console.error('Entity not found in cache')\n return\n }\n\n // update the entity in the cache\n draft[entityIndex] = updatedEntity\n })\n } catch (error) {\n console.error('Entity task realtime update failed', error)\n return\n }\n }\n\n const topic = `entity.${entityType}`\n // sub to websocket topic\n token = PubSub.subscribe(topic, handlePubSub)\n } catch {\n // no-op in case `cacheEntryRemoved` resolves before `cacheDataLoaded`,\n // in which case `cacheDataLoaded` will throw\n }\n // cacheEntryRemoved will resolve when the cache subscription is no longer active\n await cacheEntryRemoved\n // perform cleanup steps once the `cacheEntryRemoved` promise resolves\n PubSub.unsubscribe(token)\n if (unsubscribeThumbnails) {\n unsubscribeThumbnails()\n }\n },\n providesTags: (_res, _error, { entities, entityType }) => [\n ...entities.map(({ id }: { id: string }) => ({ id, type: 'entities' })),\n { type: 'entities', id: entityType.toUpperCase() },\n { type: 'entities', id: 'LIST' },\n ],\n }),\n }),\n})\n\nexport const { useGetEntitiesDetailsPanelQuery, useLazyGetEntitiesDetailsPanelQuery } =\n detailsPanelQueries2\nexport { detailsPanelQueries2 as detailsPanelQueries }\n"],"names":["enhancedDetailsApi","gqlApi","response","_meta","args","projectName","entity","transformDetailsPanelQueriesData","getEntityTypeQueryName","entityType","detailsPanelQueries2","build","entities","dispatch","detailsPanelEntityTypes","promises","res","e","updateCachedData","cacheDataLoaded","cacheEntryRemoved","token","unsubscribeThumbnails","subscribeToThumbnailUpdates","messages","matchedMessages","m","draft","message","entityIndex","handlePubSub","_topic","messageEntityId","matchedEntity","updatedEntity","error","topic","PubSub","_res","_error","id","useGetEntitiesDetailsPanelQuery","useLazyGetEntitiesDetailsPanelQuery"],"mappings":"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"}
@@ -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 { toast } from 'react-toastify'\nimport { dashboardQueries, getKanbanTasks } from '@shared/api/queries/userDashboard'\nimport { patchOverviewFolders, patchOverviewTasks } from '@shared/api/queries/overview'\nimport { patchDetailsPanel } from './patchDetailsPanel'\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 invalidatesTags: (result, error, { entityId, entityType }) => {\n const tags = []\n if (entityType === 'product') {\n tags.push({ type: 'product', id: entityId })\n }\n if (entityType === 'version') {\n tags.push({ type: 'version', id: entityId })\n }\n return tags\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 patchDetailsPanel([{ entityId, data, entityType }], { state, dispatch }, patchResults)\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, entityType }) => {\n const tags = operations.map((o) => ({ id: o.id, type: 'review' }))\n\n if (entityType === 'product') {\n tags.push({ type: 'product', id: 'LIST' }, { type: 'version', id: 'LIST' })\n operations.forEach((o) => tags.push({ type: 'product', id: o.id }))\n }\n if (entityType === 'version') {\n tags.push({ type: 'version', id: 'LIST' }, { type: 'product', id: 'LIST' })\n operations.forEach((o) => tags.push({ type: 'version', id: o.id }))\n }\n\n return tags\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","priority","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","result","tags","currentAssignees","queryFulfilled","getState","patchResults","invalidationTagsAfterComplete","dashboardProjects","dashboardUsers","dashboardAssigneesIsMe","cacheUsers","hasSomeAssignees","hasSomeProjects","project","wasPatched","getKanbanTasks","response","currentAssigneesSet","newAssigneesSet","removedAssignees","addedAssignees","assigneesTags","entriesToInvalidate","patchResult","currentKanbanCacheArgs","patchDetailsPanel","toast","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 { toast } from 'react-toastify'\nimport { detailsPanelQueries } from './getEntityPanel'\nimport { dashboardQueries, getKanbanTasks } from '../userDashboard'\nimport { patchOverviewFolders, patchOverviewTasks } from '../overview'\nimport { patchDetailsPanel } from './patchDetailsPanel'\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 invalidatesTags: (result, error, { entityId, entityType }) => {\n const tags = []\n if (entityType === 'product') {\n tags.push({ type: 'product', id: entityId })\n }\n if (entityType === 'version') {\n tags.push({ type: 'version', id: entityId })\n }\n return tags\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 patchDetailsPanel([{ entityId, data, entityType }], { state, dispatch }, patchResults)\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, entityType }) => {\n const tags = operations.map((o) => ({ id: o.id, type: 'review' }))\n\n if (entityType === 'product') {\n tags.push({ type: 'product', id: 'LIST' }, { type: 'version', id: 'LIST' })\n operations.forEach((o) => tags.push({ type: 'product', id: o.id }))\n }\n if (entityType === 'version') {\n tags.push({ type: 'version', id: 'LIST' }, { type: 'product', id: 'LIST' })\n operations.forEach((o) => tags.push({ type: 'version', id: o.id }))\n }\n\n return tags\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","priority","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","result","tags","currentAssignees","queryFulfilled","getState","patchResults","invalidationTagsAfterComplete","dashboardProjects","dashboardUsers","dashboardAssigneesIsMe","cacheUsers","hasSomeAssignees","hasSomeProjects","project","wasPatched","getKanbanTasks","response","currentAssigneesSet","newAssigneesSet","removedAssignees","addedAssignees","assigneesTags","entriesToInvalidate","patchResult","currentKanbanCacheArgs","patchDetailsPanel","toast","promises","id","promise","progressPatches","overviewPatches","operationsWithEntityId","patchOverviewTasks","patchOverviewFolders","activityTags","useUpdateEntitiesMutation","useUpdateEntityMutation"],"mappings":"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"}
@@ -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 { toast } from 'react-toastify'\nimport { dashboardQueries, getKanbanTasks } from '@shared/api/queries/userDashboard'\nimport { patchOverviewFolders, patchOverviewTasks } from '@shared/api/queries/overview'\nimport { patchDetailsPanel } from './patchDetailsPanel'\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 invalidatesTags: (result, error, { entityId, entityType }) => {\n const tags = []\n if (entityType === 'product') {\n tags.push({ type: 'product', id: entityId })\n }\n if (entityType === 'version') {\n tags.push({ type: 'version', id: entityId })\n }\n return tags\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 patchDetailsPanel([{ entityId, data, entityType }], { state, dispatch }, patchResults)\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, entityType }) => {\n const tags = operations.map((o) => ({ id: o.id, type: 'review' }))\n\n if (entityType === 'product') {\n tags.push({ type: 'product', id: 'LIST' }, { type: 'version', id: 'LIST' })\n operations.forEach((o) => tags.push({ type: 'product', id: o.id }))\n }\n if (entityType === 'version') {\n tags.push({ type: 'version', id: 'LIST' }, { type: 'product', id: 'LIST' })\n operations.forEach((o) => tags.push({ type: 'version', id: o.id }))\n }\n\n return tags\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","priority","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","result","tags","currentAssignees","queryFulfilled","getState","patchResults","invalidationTagsAfterComplete","dashboardProjects","dashboardUsers","dashboardAssigneesIsMe","cacheUsers","hasSomeAssignees","hasSomeProjects","project","wasPatched","getKanbanTasks","response","currentAssigneesSet","newAssigneesSet","removedAssignees","addedAssignees","assigneesTags","entriesToInvalidate","patchResult","currentKanbanCacheArgs","patchDetailsPanel","toast","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 { toast } from 'react-toastify'\nimport { detailsPanelQueries } from './getEntityPanel'\nimport { dashboardQueries, getKanbanTasks } from '../userDashboard'\nimport { patchOverviewFolders, patchOverviewTasks } from '../overview'\nimport { patchDetailsPanel } from './patchDetailsPanel'\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 invalidatesTags: (result, error, { entityId, entityType }) => {\n const tags = []\n if (entityType === 'product') {\n tags.push({ type: 'product', id: entityId })\n }\n if (entityType === 'version') {\n tags.push({ type: 'version', id: entityId })\n }\n return tags\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 patchDetailsPanel([{ entityId, data, entityType }], { state, dispatch }, patchResults)\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, entityType }) => {\n const tags = operations.map((o) => ({ id: o.id, type: 'review' }))\n\n if (entityType === 'product') {\n tags.push({ type: 'product', id: 'LIST' }, { type: 'version', id: 'LIST' })\n operations.forEach((o) => tags.push({ type: 'product', id: o.id }))\n }\n if (entityType === 'version') {\n tags.push({ type: 'version', id: 'LIST' }, { type: 'product', id: 'LIST' })\n operations.forEach((o) => tags.push({ type: 'version', id: o.id }))\n }\n\n return tags\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","priority","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","result","tags","currentAssignees","queryFulfilled","getState","patchResults","invalidationTagsAfterComplete","dashboardProjects","dashboardUsers","dashboardAssigneesIsMe","cacheUsers","hasSomeAssignees","hasSomeProjects","project","wasPatched","getKanbanTasks","response","currentAssigneesSet","newAssigneesSet","removedAssignees","addedAssignees","assigneesTags","entriesToInvalidate","patchResult","currentKanbanCacheArgs","patchDetailsPanel","toast","promises","id","promise","progressPatches","overviewPatches","operationsWithEntityId","patchOverviewTasks","patchOverviewFolders","activityTags","useUpdateEntitiesMutation","useUpdateEntityMutation"],"mappings":"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"}