@ynput/ayon-frontend-shared 0.3.41 → 0.3.42

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 (643) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +28 -27
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/ProjectTreeTable.cjs.js +1 -1
  5. package/dist/ProjectTreeTable.es.js +224 -223
  6. package/dist/ProjectTreeTable.es.js.map +1 -1
  7. package/dist/Slicer.cjs.js +1 -1
  8. package/dist/Slicer.es.js +25 -16
  9. package/dist/Slicer.es.js.map +1 -1
  10. package/dist/_virtual/index.cjs6.js +1 -1
  11. package/dist/_virtual/index.cjs8.js +1 -1
  12. package/dist/_virtual/index.es6.js +2 -2
  13. package/dist/_virtual/index.es8.js +2 -2
  14. package/dist/api.cjs.js +1 -1
  15. package/dist/api.es.js +420 -419
  16. package/dist/index.cjs.js +1 -1
  17. package/dist/index.es.js +15 -14
  18. package/dist/index.es.js.map +1 -1
  19. package/dist/node_modules/remove-accents/index.cjs.js +1 -1
  20. package/dist/node_modules/remove-accents/index.es.js +1 -1
  21. package/dist/shared/node_modules/@module-federation/error-codes/dist/index.cjs.js +1 -1
  22. package/dist/shared/node_modules/@module-federation/error-codes/dist/index.es.js +1 -1
  23. package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.cjs.js +1 -1
  24. package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.es.js +1 -1
  25. package/dist/shared/src/api/generated/graphql.cjs.js +41 -27
  26. package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
  27. package/dist/shared/src/api/generated/graphql.es.js +259 -97
  28. package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
  29. package/dist/shared/src/api/generated/graphqlLinks.cjs.js.map +1 -1
  30. package/dist/shared/src/api/generated/graphqlLinks.es.js +70 -19
  31. package/dist/shared/src/api/generated/graphqlLinks.es.js.map +1 -1
  32. package/dist/shared/src/api/queries/activities/updateActivities.cjs.js +1 -1
  33. package/dist/shared/src/api/queries/activities/updateActivities.cjs.js.map +1 -1
  34. package/dist/shared/src/api/queries/activities/updateActivities.es.js +40 -43
  35. package/dist/shared/src/api/queries/activities/updateActivities.es.js.map +1 -1
  36. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js +1 -1
  37. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js.map +1 -1
  38. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js +149 -55
  39. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js.map +1 -1
  40. package/dist/shared/src/api/queries/columnStats/columnStats.cjs.js.map +1 -1
  41. package/dist/shared/src/api/queries/columnStats/columnStats.es.js.map +1 -1
  42. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js +1 -1
  43. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js.map +1 -1
  44. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js +105 -51
  45. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js.map +1 -1
  46. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +1 -1
  47. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js.map +1 -1
  48. package/dist/shared/src/api/queries/entityLists/getLists.es.js +174 -124
  49. package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -1
  50. package/dist/shared/src/api/queries/entityLists/listFolders.cjs.js +1 -1
  51. package/dist/shared/src/api/queries/entityLists/listFolders.cjs.js.map +1 -1
  52. package/dist/shared/src/api/queries/entityLists/listFolders.es.js +94 -40
  53. package/dist/shared/src/api/queries/entityLists/listFolders.es.js.map +1 -1
  54. package/dist/shared/src/api/queries/folders/getFolders.cjs.js +1 -1
  55. package/dist/shared/src/api/queries/folders/getFolders.cjs.js.map +1 -1
  56. package/dist/shared/src/api/queries/folders/getFolders.es.js +109 -55
  57. package/dist/shared/src/api/queries/folders/getFolders.es.js.map +1 -1
  58. package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js +1 -1
  59. package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js.map +1 -1
  60. package/dist/shared/src/api/queries/links/getEntityLinks.es.js +117 -63
  61. package/dist/shared/src/api/queries/links/getEntityLinks.es.js.map +1 -1
  62. package/dist/shared/src/api/queries/links/getLinks.cjs.js +1 -1
  63. package/dist/shared/src/api/queries/links/getLinks.cjs.js.map +1 -1
  64. package/dist/shared/src/api/queries/links/getLinks.es.js +108 -54
  65. package/dist/shared/src/api/queries/links/getLinks.es.js.map +1 -1
  66. package/dist/shared/src/api/queries/overview/getOverview.cjs.js +1 -1
  67. package/dist/shared/src/api/queries/overview/getOverview.cjs.js.map +1 -1
  68. package/dist/shared/src/api/queries/overview/getOverview.es.js +220 -167
  69. package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
  70. package/dist/shared/src/api/queries/projectFolders/projectFolders.cjs.js +1 -1
  71. package/dist/shared/src/api/queries/projectFolders/projectFolders.cjs.js.map +1 -1
  72. package/dist/shared/src/api/queries/projectFolders/projectFolders.es.js +133 -80
  73. package/dist/shared/src/api/queries/projectFolders/projectFolders.es.js.map +1 -1
  74. package/dist/shared/src/api/queries/review/getReview.cjs.js +1 -1
  75. package/dist/shared/src/api/queries/review/getReview.cjs.js.map +1 -1
  76. package/dist/shared/src/api/queries/review/getReview.es.js +127 -75
  77. package/dist/shared/src/api/queries/review/getReview.es.js.map +1 -1
  78. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js +1 -1
  79. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js.map +1 -1
  80. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js +142 -90
  81. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js.map +1 -1
  82. package/dist/shared/src/api/queries/users/getUsers.cjs.js +4 -2
  83. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  84. package/dist/shared/src/api/queries/users/getUsers.es.js +2 -0
  85. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  86. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js +1 -1
  87. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js.map +1 -1
  88. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js +537 -331
  89. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js.map +1 -1
  90. package/dist/shared/src/components/AttributeEditor/attributeTypeMap.cjs.js +1 -1
  91. package/dist/shared/src/components/AttributeEditor/attributeTypeMap.cjs.js.map +1 -1
  92. package/dist/shared/src/components/AttributeEditor/attributeTypeMap.es.js +124 -29
  93. package/dist/shared/src/components/AttributeEditor/attributeTypeMap.es.js.map +1 -1
  94. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js +5 -5
  95. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js.map +1 -1
  96. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js +140 -45
  97. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js.map +1 -1
  98. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
  99. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  100. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +8 -7
  101. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  102. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
  103. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +4 -4
  104. package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.cjs.js +4 -4
  105. package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.cjs.js.map +1 -1
  106. package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.es.js +113 -18
  107. package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.es.js.map +1 -1
  108. package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.cjs.js +2 -2
  109. package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.cjs.js.map +1 -1
  110. package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.es.js +108 -13
  111. package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.es.js.map +1 -1
  112. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
  113. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +3 -3
  114. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.cjs.js +1 -1
  115. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.cjs.js.map +1 -1
  116. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.es.js +119 -24
  117. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.es.js.map +1 -1
  118. package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js +1 -1
  119. package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js.map +1 -1
  120. package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.es.js +97 -2
  121. package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.es.js.map +1 -1
  122. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  123. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  124. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +8 -7
  125. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  126. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js +1 -1
  127. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js.map +1 -1
  128. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js +8 -7
  129. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js.map +1 -1
  130. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -1
  131. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +5 -5
  132. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js +1 -1
  133. package/dist/shared/src/components/LinksManager/LinksManager.es.js +9 -9
  134. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  135. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  136. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +8 -7
  137. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  138. package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js +1 -1
  139. package/dist/shared/src/components/ListMetaData/ListMetaData.es.js +4 -4
  140. package/dist/shared/src/components/Menu/Menu.cjs.js +1 -1
  141. package/dist/shared/src/components/Menu/Menu.es.js +7 -7
  142. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +1 -1
  143. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js.map +1 -1
  144. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +22 -21
  145. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js.map +1 -1
  146. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +2 -2
  147. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  148. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +56 -55
  149. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  150. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js +1 -1
  151. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js.map +1 -1
  152. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js +16 -14
  153. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js.map +1 -1
  154. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +1 -1
  155. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -1
  156. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +9 -8
  157. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -1
  158. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
  159. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  160. package/dist/shared/src/components/RenameForm/RenameForm.es.js +8 -7
  161. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  162. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  163. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  164. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +8 -7
  165. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  166. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  167. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  168. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +9 -8
  169. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  170. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  171. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  172. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +8 -7
  173. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  174. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js +1 -1
  175. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js.map +1 -1
  176. package/dist/shared/src/components/ReviewablesSelector/Card.es.js +8 -7
  177. package/dist/shared/src/components/ReviewablesSelector/Card.es.js.map +1 -1
  178. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  179. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +1 -1
  180. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js +1 -1
  181. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js.map +1 -1
  182. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js +10 -9
  183. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js.map +1 -1
  184. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
  185. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  186. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +8 -7
  187. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  188. package/dist/shared/src/components/Thumbnail/Thumbnail.cjs.js +1 -1
  189. package/dist/shared/src/components/Thumbnail/Thumbnail.cjs.js.map +1 -1
  190. package/dist/shared/src/components/Thumbnail/Thumbnail.es.js +122 -27
  191. package/dist/shared/src/components/Thumbnail/Thumbnail.es.js.map +1 -1
  192. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.cjs.js +3 -3
  193. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.cjs.js.map +1 -1
  194. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.es.js +117 -22
  195. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.es.js.map +1 -1
  196. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
  197. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  198. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +8 -7
  199. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  200. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
  201. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  202. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +12 -11
  203. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  204. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  205. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  206. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +8 -7
  207. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  208. package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
  209. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  210. package/dist/shared/src/containers/Actions/Actions.es.js +42 -42
  211. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  212. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js +2 -2
  213. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js.map +1 -1
  214. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.es.js +28 -28
  215. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.es.js.map +1 -1
  216. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.styled.cjs.js +22 -19
  217. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.styled.cjs.js.map +1 -1
  218. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.styled.es.js +25 -22
  219. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.styled.es.js.map +1 -1
  220. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  221. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  222. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +8 -7
  223. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  224. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  225. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  226. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +8 -7
  227. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  228. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  229. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  230. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js +8 -7
  231. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  232. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  233. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  234. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js +8 -7
  235. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  236. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  237. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  238. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js +30 -29
  239. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  240. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js +1 -1
  241. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js.map +1 -1
  242. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js +12 -11
  243. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js.map +1 -1
  244. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js +5 -5
  245. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js.map +1 -1
  246. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.es.js +115 -20
  247. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.es.js.map +1 -1
  248. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js +1 -1
  249. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js.map +1 -1
  250. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js +8 -7
  251. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js.map +1 -1
  252. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js +1 -1
  253. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js.map +1 -1
  254. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js +22 -21
  255. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js.map +1 -1
  256. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js +1 -1
  257. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js.map +1 -1
  258. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js +8 -7
  259. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js.map +1 -1
  260. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js +1 -1
  261. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js.map +1 -1
  262. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js +8 -7
  263. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js.map +1 -1
  264. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.cjs.js +1 -1
  265. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.cjs.js.map +1 -1
  266. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.es.js +105 -10
  267. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.es.js.map +1 -1
  268. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
  269. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +2 -2
  270. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  271. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  272. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +30 -29
  273. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  274. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  275. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  276. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +8 -7
  277. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  278. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  279. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  280. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +8 -7
  281. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  282. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  283. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  284. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +8 -7
  285. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  286. package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.cjs.js +1 -1
  287. package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.cjs.js.map +1 -1
  288. package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.es.js +106 -11
  289. package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.es.js.map +1 -1
  290. package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.cjs.js +1 -1
  291. package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.cjs.js.map +1 -1
  292. package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.es.js +122 -27
  293. package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.es.js.map +1 -1
  294. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js +1 -1
  295. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js.map +1 -1
  296. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js +8 -7
  297. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js.map +1 -1
  298. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  299. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  300. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +90 -80
  301. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  302. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
  303. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
  304. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +8 -7
  305. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
  306. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.cjs.js +1 -1
  307. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.cjs.js.map +1 -1
  308. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.es.js +119 -24
  309. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.es.js.map +1 -1
  310. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js +1 -1
  311. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js.map +1 -1
  312. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js +28 -29
  313. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js.map +1 -1
  314. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +1 -1
  315. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  316. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +8 -7
  317. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  318. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js +1 -1
  319. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js.map +1 -1
  320. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js +12 -11
  321. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js.map +1 -1
  322. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.cjs.js +1 -1
  323. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.cjs.js.map +1 -1
  324. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.es.js +104 -9
  325. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.es.js.map +1 -1
  326. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js +1 -1
  327. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js +1 -1
  328. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  329. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  330. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +8 -7
  331. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  332. package/dist/shared/src/containers/Feed/helpers/getActivityUserName.cjs.js +2 -0
  333. package/dist/shared/src/containers/Feed/helpers/getActivityUserName.cjs.js.map +1 -0
  334. package/dist/shared/src/containers/Feed/helpers/getActivityUserName.es.js +5 -0
  335. package/dist/shared/src/containers/Feed/helpers/getActivityUserName.es.js.map +1 -0
  336. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.cjs.js +1 -1
  337. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.cjs.js.map +1 -1
  338. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.es.js +185 -87
  339. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.es.js.map +1 -1
  340. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.cjs.js +1 -1
  341. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.cjs.js.map +1 -1
  342. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.es.js +105 -10
  343. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.es.js.map +1 -1
  344. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.cjs.js +1 -1
  345. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.cjs.js.map +1 -1
  346. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.es.js +108 -13
  347. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.es.js.map +1 -1
  348. package/dist/shared/src/containers/ListTable/ListTable.cjs.js +1 -1
  349. package/dist/shared/src/containers/ListTable/ListTable.cjs.js.map +1 -1
  350. package/dist/shared/src/containers/ListTable/ListTable.es.js +21 -20
  351. package/dist/shared/src/containers/ListTable/ListTable.es.js.map +1 -1
  352. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js +1 -1
  353. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js.map +1 -1
  354. package/dist/shared/src/containers/ListTable/ListTableCell.es.js +8 -7
  355. package/dist/shared/src/containers/ListTable/ListTableCell.es.js.map +1 -1
  356. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js +1 -1
  357. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js.map +1 -1
  358. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js +8 -7
  359. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js.map +1 -1
  360. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  361. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  362. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +428 -424
  363. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  364. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  365. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  366. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +71 -70
  367. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  368. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js +1 -1
  369. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js.map +1 -1
  370. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js +8 -7
  371. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js.map +1 -1
  372. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
  373. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  374. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +8 -7
  375. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  376. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  377. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  378. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +8 -7
  379. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  380. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  381. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  382. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +8 -7
  383. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  384. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +1 -1
  385. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -1
  386. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +22 -21
  387. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +1 -1
  388. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  389. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  390. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +8 -7
  391. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  392. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js +1 -1
  393. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js.map +1 -1
  394. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js +178 -83
  395. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js.map +1 -1
  396. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  397. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  398. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +30 -29
  399. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  400. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  401. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  402. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +23 -22
  403. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  404. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  405. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  406. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +8 -7
  407. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  408. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  409. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  410. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +8 -7
  411. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  412. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  413. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  414. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +25 -24
  415. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  416. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js +1 -1
  417. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js.map +1 -1
  418. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js +8 -7
  419. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js.map +1 -1
  420. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  421. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  422. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +72 -72
  423. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  424. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  425. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  426. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +25 -24
  427. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  428. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  429. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
  430. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +24 -23
  431. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
  432. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  433. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  434. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +8 -7
  435. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  436. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  437. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  438. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +8 -7
  439. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  440. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  441. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  442. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +9 -8
  443. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  444. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  445. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  446. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +23 -22
  447. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  448. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSelectedFolders.cjs.js +1 -1
  449. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSelectedFolders.cjs.js.map +1 -1
  450. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSelectedFolders.es.js +13 -16
  451. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSelectedFolders.es.js.map +1 -1
  452. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js +1 -1
  453. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js.map +1 -1
  454. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js +47 -42
  455. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js.map +1 -1
  456. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  457. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  458. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +37 -36
  459. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  460. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +1 -1
  461. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
  462. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +8 -7
  463. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
  464. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +1 -1
  465. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  466. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +9 -8
  467. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  468. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js +1 -1
  469. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js.map +1 -1
  470. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js +8 -7
  471. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js.map +1 -1
  472. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  473. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  474. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +10 -9
  475. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  476. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js +1 -1
  477. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js +4 -4
  478. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  479. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  480. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +24 -23
  481. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  482. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js +1 -1
  483. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js.map +1 -1
  484. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js +8 -7
  485. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js.map +1 -1
  486. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js +1 -1
  487. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js +4 -4
  488. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js +4 -4
  489. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js.map +1 -1
  490. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js +175 -80
  491. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js.map +1 -1
  492. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js +5 -5
  493. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js.map +1 -1
  494. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js +107 -12
  495. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js.map +1 -1
  496. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  497. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  498. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +41 -40
  499. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  500. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  501. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  502. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +8 -7
  503. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  504. package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js +2 -2
  505. package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js.map +1 -1
  506. package/dist/shared/src/containers/Slicer/components/Slicer.es.js +57 -70
  507. package/dist/shared/src/containers/Slicer/components/Slicer.es.js.map +1 -1
  508. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +1 -1
  509. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -1
  510. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +8 -7
  511. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -1
  512. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js +1 -1
  513. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js.map +1 -1
  514. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js +273 -124
  515. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js.map +1 -1
  516. package/dist/shared/src/containers/Slicer/context/SlicerContextInstance.cjs.js +2 -0
  517. package/dist/shared/src/containers/Slicer/context/SlicerContextInstance.cjs.js.map +1 -0
  518. package/dist/shared/src/containers/Slicer/context/SlicerContextInstance.es.js +6 -0
  519. package/dist/shared/src/containers/Slicer/context/SlicerContextInstance.es.js.map +1 -0
  520. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js +1 -1
  521. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js.map +1 -1
  522. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js +3 -2
  523. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js.map +1 -1
  524. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.cjs.js +2 -0
  525. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.cjs.js.map +1 -0
  526. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.es.js +156 -0
  527. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.es.js.map +1 -0
  528. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.cjs.js +2 -0
  529. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.cjs.js.map +1 -0
  530. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.es.js +187 -0
  531. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.es.js.map +1 -0
  532. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.cjs.js +2 -0
  533. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.cjs.js.map +1 -0
  534. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.es.js +143 -0
  535. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.es.js.map +1 -0
  536. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js +1 -1
  537. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js.map +1 -1
  538. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js +47 -43
  539. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js.map +1 -1
  540. package/dist/shared/src/containers/Slicer/util/createFilterFromSlicer.cjs.js +1 -1
  541. package/dist/shared/src/containers/Slicer/util/createFilterFromSlicer.cjs.js.map +1 -1
  542. package/dist/shared/src/containers/Slicer/util/createFilterFromSlicer.es.js +8 -13
  543. package/dist/shared/src/containers/Slicer/util/createFilterFromSlicer.es.js.map +1 -1
  544. package/dist/shared/src/containers/Slicer/util/getSelectionDataState.cjs.js +2 -0
  545. package/dist/shared/src/containers/Slicer/util/getSelectionDataState.cjs.js.map +1 -0
  546. package/dist/shared/src/containers/Slicer/util/getSelectionDataState.es.js +8 -0
  547. package/dist/shared/src/containers/Slicer/util/getSelectionDataState.es.js.map +1 -0
  548. package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js +1 -1
  549. package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js.map +1 -1
  550. package/dist/shared/src/containers/Views/ViewItem/ViewItem.es.js +124 -29
  551. package/dist/shared/src/containers/Views/ViewItem/ViewItem.es.js.map +1 -1
  552. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
  553. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +2 -2
  554. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
  555. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
  556. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +7 -6
  557. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
  558. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.cjs.js +1 -1
  559. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.cjs.js.map +1 -1
  560. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.es.js +113 -18
  561. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.es.js.map +1 -1
  562. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js +1 -1
  563. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js.map +1 -1
  564. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js +140 -45
  565. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js.map +1 -1
  566. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
  567. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +2 -2
  568. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
  569. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
  570. package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
  571. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  572. package/dist/shared/src/context/DetailsPanelContext.es.js +64 -63
  573. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  574. package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
  575. package/dist/shared/src/context/PowerpackContext.es.js +2 -2
  576. package/dist/shared/src/context/ProjectFoldersContext.cjs.js +1 -1
  577. package/dist/shared/src/context/ProjectFoldersContext.es.js +2 -2
  578. package/dist/shared/src/context/SubtasksModulesContext.cjs.js +1 -1
  579. package/dist/shared/src/context/SubtasksModulesContext.es.js +2 -2
  580. package/dist/shared/src/context/UriContext.cjs.js +1 -1
  581. package/dist/shared/src/context/UriContext.cjs.js.map +1 -1
  582. package/dist/shared/src/context/UriContext.es.js +1 -1
  583. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  584. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  585. package/dist/shared/src/context/WebsocketContext.es.js +17 -16
  586. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  587. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +1 -1
  588. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
  589. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +2 -2
  590. package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.cjs.js +1 -1
  591. package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.cjs.js.map +1 -1
  592. package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.es.js +115 -20
  593. package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.es.js.map +1 -1
  594. package/dist/shared/src/util/getBundleMode.cjs.js +2 -0
  595. package/dist/shared/src/util/getBundleMode.cjs.js.map +1 -0
  596. package/dist/shared/src/util/getBundleMode.es.js +118 -0
  597. package/dist/shared/src/util/getBundleMode.es.js.map +1 -0
  598. package/dist/types/api/generated/graphql.d.ts +639 -853
  599. package/dist/types/api/generated/graphqlLinks.d.ts +190 -284
  600. package/dist/types/api/queries/activities/getActivities.d.ts +144 -137
  601. package/dist/types/api/queries/activities/updateActivities.d.ts +288 -274
  602. package/dist/types/api/queries/columnStats/columnStats.d.ts +3 -21
  603. package/dist/types/api/queries/entities/getEntity.d.ts +144 -137
  604. package/dist/types/api/queries/entities/getEntityPanel.d.ts +144 -137
  605. package/dist/types/api/queries/entities/updateEntity.d.ts +144 -137
  606. package/dist/types/api/queries/entityLists/getLists.d.ts +1388 -1381
  607. package/dist/types/api/queries/entityLists/types.d.ts +1 -0
  608. package/dist/types/api/queries/folders/getFolderDeleteInfo.d.ts +66 -66
  609. package/dist/types/api/queries/overview/getOverview.d.ts +630 -623
  610. package/dist/types/api/queries/products/getFolderProducts.d.ts +32 -32
  611. package/dist/types/api/queries/project/getProject.d.ts +264 -257
  612. package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +192 -185
  613. package/dist/types/api/queries/users/getUsers.d.ts +177 -170
  614. package/dist/types/api/queries/versions/getVersionsProducts.d.ts +784 -770
  615. package/dist/types/api/queries/versions/updateVersions.d.ts +106 -143
  616. package/dist/types/containers/Actions/Actions.d.ts +3 -2
  617. package/dist/types/containers/Actions/ActionsDropdown/ActionsDropdown.d.ts +3 -2
  618. package/dist/types/containers/Feed/helpers/getActivityUserName.d.ts +4 -0
  619. package/dist/types/containers/ProjectTreeTable/hooks/useSelectedFolders.d.ts +2 -2
  620. package/dist/types/containers/ProjectTreeTable/hooks/useSortBySettings.d.ts +6 -1
  621. package/dist/types/containers/Slicer/components/Slicer.d.ts +1 -1
  622. package/dist/types/containers/Slicer/context/SlicerContext.d.ts +14 -19
  623. package/dist/types/containers/Slicer/context/SlicerContextInstance.d.ts +2 -0
  624. package/dist/types/containers/Slicer/hooks/index.d.ts +4 -1
  625. package/dist/types/containers/Slicer/hooks/useSlicerRemotes.d.ts +6 -0
  626. package/dist/types/containers/Slicer/hooks/useSlicerRowSelection.d.ts +20 -0
  627. package/dist/types/containers/Slicer/hooks/useSlicerSplitter.d.ts +9 -0
  628. package/dist/types/containers/Slicer/types.d.ts +7 -0
  629. package/dist/types/containers/Slicer/util/createFilterFromSlicer.d.ts +5 -3
  630. package/dist/types/containers/Slicer/util/getSelectionDataState.d.ts +3 -0
  631. package/dist/types/containers/Slicer/util/index.d.ts +1 -0
  632. package/dist/types/context/DetailsPanelContext.d.ts +2 -1
  633. package/dist/types/util/getBundleMode.d.ts +4 -0
  634. package/dist/types/util/index.d.ts +1 -0
  635. package/dist/util.cjs.js +1 -1
  636. package/dist/util.es.js +33 -30
  637. package/dist/util.es.js.map +1 -1
  638. package/package.json +3 -3
  639. package/dist/shared/src/containers/Slicer/hooks/useSlicerViewSync.cjs.js +0 -2
  640. package/dist/shared/src/containers/Slicer/hooks/useSlicerViewSync.cjs.js.map +0 -1
  641. package/dist/shared/src/containers/Slicer/hooks/useSlicerViewSync.es.js +0 -22
  642. package/dist/shared/src/containers/Slicer/hooks/useSlicerViewSync.es.js.map +0 -1
  643. package/dist/types/containers/Slicer/hooks/useSlicerViewSync.d.ts +0 -8
@@ -1 +1 @@
1
- {"version":3,"file":"projectFolders.es.js","sources":["../../../../../../src/api/queries/projectFolders/projectFolders.ts"],"sourcesContent":["import { projectFoldersApi, ProjectFoldersResponseModel } from '@shared/api/generated'\nimport enhancedProject, { getProjectsGraphql } from '../project/getProject'\n\nconst PROJECT_FOLDER_LIST_TAG = { type: 'projectFolder' as const, id: 'LIST' }\n\n// QUERY TYPE RESULTS\n\ntype GetProjectFoldersResult = NonNullable<ProjectFoldersResponseModel['folders']>\n\n// REDEFINE TYPES\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\nimport { getEntityId } from '@shared/util'\ntype Definitions = DefinitionsFromApi<typeof projectFoldersApi>\ntype TagTypes = TagTypesFromApi<typeof projectFoldersApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'getProjectFolders'> & {\n getProjectFolders: OverrideResultType<Definitions['getProjectFolders'], GetProjectFoldersResult>\n}\n\nconst transformErrorResponse = (error: any) => error.data?.detail || 'Unknown project folder error'\n\nconst enhancedProjectFoldersApi = projectFoldersApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n getProjectFolders: {\n transformResponse: (response: ProjectFoldersResponseModel) => response.folders || [],\n transformErrorResponse,\n providesTags: (result) =>\n result\n ? [\n PROJECT_FOLDER_LIST_TAG,\n ...result.map((folder) => ({ type: 'projectFolder', id: folder.id })),\n ]\n : [PROJECT_FOLDER_LIST_TAG],\n },\n createProjectFolder: {\n async onQueryStarted({ projectFolderPostModel }, { dispatch, queryFulfilled }) {\n // Optimistically add the new folder to the cache\n const patchResult = dispatch(\n enhancedProjectFoldersApi.util.updateQueryData(\n 'getProjectFolders',\n undefined,\n (draft) => {\n // Create the optimistic folder with a temporary ID if none provided\n const newFolder = {\n ...projectFolderPostModel,\n id: projectFolderPostModel.id || getEntityId(),\n }\n draft.push(newFolder)\n },\n ),\n )\n\n try {\n await queryFulfilled\n } catch {\n // Undo the optimistic update if the mutation fails\n patchResult.undo()\n }\n },\n transformErrorResponse,\n invalidatesTags: [PROJECT_FOLDER_LIST_TAG],\n },\n deleteProjectFolder: {\n async onQueryStarted({ folderId }, { dispatch, queryFulfilled }) {\n // Optimistically remove the folder from the cache\n const patchResult = dispatch(\n enhancedProjectFoldersApi.util.updateQueryData(\n 'getProjectFolders',\n undefined,\n (draft) => {\n const folderIndex = draft.findIndex((folder) => folder.id === folderId)\n if (folderIndex !== -1) {\n draft.splice(folderIndex, 1)\n }\n },\n ),\n )\n\n try {\n await queryFulfilled\n } catch {\n // Undo the optimistic update if the mutation fails\n patchResult.undo()\n }\n },\n transformErrorResponse,\n invalidatesTags: (_r, _e, arg) => [\n PROJECT_FOLDER_LIST_TAG,\n { type: 'projectFolder', id: arg.folderId },\n { type: 'project', id: arg.folderId },\n ],\n },\n updateProjectFolder: {\n async onQueryStarted({ folderId, projectFolderPatchModel }, { dispatch, queryFulfilled }) {\n // Optimistically update the folder in the cache\n const patchResult = dispatch(\n enhancedProjectFoldersApi.util.updateQueryData(\n 'getProjectFolders',\n undefined,\n (draft) => {\n const folderIndex = draft.findIndex((folder) => folder.id === folderId)\n if (folderIndex !== -1) {\n const folder = draft[folderIndex]\n // Update the folder with the patch data\n Object.assign(folder, {\n ...folder,\n ...projectFolderPatchModel,\n data: {\n ...folder.data,\n ...projectFolderPatchModel.data,\n },\n })\n }\n },\n ),\n )\n\n try {\n await queryFulfilled\n } catch {\n // Undo the optimistic update if the mutation fails\n patchResult.undo()\n }\n },\n transformErrorResponse,\n invalidatesTags: (_r, _e, arg) => [\n PROJECT_FOLDER_LIST_TAG,\n { type: 'projectFolder', id: arg.folderId },\n ],\n },\n\n assignProjectsToFolder: {\n async onQueryStarted({ assignProjectRequest }, { dispatch, queryFulfilled }) {\n const { projectNames, folderId } = assignProjectRequest\n\n // Optimistically update both possible cache entries\n const patches = [\n dispatch(\n enhancedProject.util.updateQueryData('listProjects', { active: true }, (draft) => {\n draft.forEach((project) => {\n if (projectNames.includes(project.name)) {\n project.projectFolder = folderId || undefined\n }\n })\n }),\n ),\n dispatch(\n enhancedProject.util.updateQueryData('listProjects', { active: undefined }, (draft) => {\n draft.forEach((project) => {\n if (projectNames.includes(project.name)) {\n project.projectFolder = folderId || undefined\n }\n })\n }),\n ),\n dispatch(\n getProjectsGraphql.util.updateQueryData('getProjectsInfinite', {}, (draft) => {\n for (const page of draft.pages) {\n page.projects.forEach((project) => {\n if (projectNames.includes(project.name)) {\n project.projectFolder = folderId || undefined\n }\n })\n }\n }),\n ),\n ]\n\n try {\n await queryFulfilled\n } catch {\n // Undo optimistic updates if mutation fails\n patches.forEach((patch) => patch.undo())\n }\n },\n transformErrorResponse,\n invalidatesTags: (_r, _e, { assignProjectRequest: { projectNames } }) => [\n { type: 'project', id: 'LIST' },\n ...projectNames.map((projectName) => ({ type: 'project' as const, id: projectName })),\n PROJECT_FOLDER_LIST_TAG,\n ],\n },\n },\n})\n\nexport const {\n useGetProjectFoldersQuery,\n useCreateProjectFolderMutation,\n useDeleteProjectFolderMutation,\n useUpdateProjectFolderMutation,\n useSetProjectFoldersOrderMutation,\n useAssignProjectsToFolderMutation,\n} = enhancedProjectFoldersApi\n"],"names":["PROJECT_FOLDER_LIST_TAG","transformErrorResponse","error","enhancedProjectFoldersApi","projectFoldersApi","response","result","folder","projectFolderPostModel","dispatch","queryFulfilled","patchResult","draft","newFolder","getEntityId","folderId","folderIndex","_r","_e","arg","projectFolderPatchModel","assignProjectRequest","projectNames","patches","enhancedProject","project","getProjectsGraphql","page","patch","projectName","useGetProjectFoldersQuery","useCreateProjectFolderMutation","useDeleteProjectFolderMutation","useUpdateProjectFolderMutation","useSetProjectFoldersOrderMutation","useAssignProjectsToFolderMutation"],"mappings":"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"}
1
+ {"version":3,"file":"projectFolders.es.js","sources":["../../../../../../src/api/queries/projectFolders/projectFolders.ts"],"sourcesContent":["import { projectFoldersApi, ProjectFoldersResponseModel } from '@shared/api/generated'\nimport enhancedProject, { getProjectsGraphql } from '../project/getProject'\n\nconst PROJECT_FOLDER_LIST_TAG = { type: 'projectFolder' as const, id: 'LIST' }\n\n// QUERY TYPE RESULTS\n\ntype GetProjectFoldersResult = NonNullable<ProjectFoldersResponseModel['folders']>\n\n// REDEFINE TYPES\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\nimport { getEntityId } from '@shared/util'\ntype Definitions = DefinitionsFromApi<typeof projectFoldersApi>\ntype TagTypes = TagTypesFromApi<typeof projectFoldersApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'getProjectFolders'> & {\n getProjectFolders: OverrideResultType<Definitions['getProjectFolders'], GetProjectFoldersResult>\n}\n\nconst transformErrorResponse = (error: any) => error.data?.detail || 'Unknown project folder error'\n\nconst enhancedProjectFoldersApi = projectFoldersApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n getProjectFolders: {\n transformResponse: (response: ProjectFoldersResponseModel) => response.folders || [],\n transformErrorResponse,\n providesTags: (result) =>\n result\n ? [\n PROJECT_FOLDER_LIST_TAG,\n ...result.map((folder) => ({ type: 'projectFolder', id: folder.id })),\n ]\n : [PROJECT_FOLDER_LIST_TAG],\n },\n createProjectFolder: {\n async onQueryStarted({ projectFolderPostModel }, { dispatch, queryFulfilled }) {\n // Optimistically add the new folder to the cache\n const patchResult = dispatch(\n enhancedProjectFoldersApi.util.updateQueryData(\n 'getProjectFolders',\n undefined,\n (draft) => {\n // Create the optimistic folder with a temporary ID if none provided\n const newFolder = {\n ...projectFolderPostModel,\n id: projectFolderPostModel.id || getEntityId(),\n }\n draft.push(newFolder)\n },\n ),\n )\n\n try {\n await queryFulfilled\n } catch {\n // Undo the optimistic update if the mutation fails\n patchResult.undo()\n }\n },\n transformErrorResponse,\n invalidatesTags: [PROJECT_FOLDER_LIST_TAG],\n },\n deleteProjectFolder: {\n async onQueryStarted({ folderId }, { dispatch, queryFulfilled }) {\n // Optimistically remove the folder from the cache\n const patchResult = dispatch(\n enhancedProjectFoldersApi.util.updateQueryData(\n 'getProjectFolders',\n undefined,\n (draft) => {\n const folderIndex = draft.findIndex((folder) => folder.id === folderId)\n if (folderIndex !== -1) {\n draft.splice(folderIndex, 1)\n }\n },\n ),\n )\n\n try {\n await queryFulfilled\n } catch {\n // Undo the optimistic update if the mutation fails\n patchResult.undo()\n }\n },\n transformErrorResponse,\n invalidatesTags: (_r, _e, arg) => [\n PROJECT_FOLDER_LIST_TAG,\n { type: 'projectFolder', id: arg.folderId },\n { type: 'project', id: arg.folderId },\n ],\n },\n updateProjectFolder: {\n async onQueryStarted({ folderId, projectFolderPatchModel }, { dispatch, queryFulfilled }) {\n // Optimistically update the folder in the cache\n const patchResult = dispatch(\n enhancedProjectFoldersApi.util.updateQueryData(\n 'getProjectFolders',\n undefined,\n (draft) => {\n const folderIndex = draft.findIndex((folder) => folder.id === folderId)\n if (folderIndex !== -1) {\n const folder = draft[folderIndex]\n // Update the folder with the patch data\n Object.assign(folder, {\n ...folder,\n ...projectFolderPatchModel,\n data: {\n ...folder.data,\n ...projectFolderPatchModel.data,\n },\n })\n }\n },\n ),\n )\n\n try {\n await queryFulfilled\n } catch {\n // Undo the optimistic update if the mutation fails\n patchResult.undo()\n }\n },\n transformErrorResponse,\n invalidatesTags: (_r, _e, arg) => [\n PROJECT_FOLDER_LIST_TAG,\n { type: 'projectFolder', id: arg.folderId },\n ],\n },\n\n assignProjectsToFolder: {\n async onQueryStarted({ assignProjectRequest }, { dispatch, queryFulfilled }) {\n const { projectNames, folderId } = assignProjectRequest\n\n // Optimistically update both possible cache entries\n const patches = [\n dispatch(\n enhancedProject.util.updateQueryData('listProjects', { active: true }, (draft) => {\n draft.forEach((project) => {\n if (projectNames.includes(project.name)) {\n project.projectFolder = folderId || undefined\n }\n })\n }),\n ),\n dispatch(\n enhancedProject.util.updateQueryData('listProjects', { active: undefined }, (draft) => {\n draft.forEach((project) => {\n if (projectNames.includes(project.name)) {\n project.projectFolder = folderId || undefined\n }\n })\n }),\n ),\n dispatch(\n getProjectsGraphql.util.updateQueryData('getProjectsInfinite', {}, (draft) => {\n for (const page of draft.pages) {\n page.projects.forEach((project) => {\n if (projectNames.includes(project.name)) {\n project.projectFolder = folderId || undefined\n }\n })\n }\n }),\n ),\n ]\n\n try {\n await queryFulfilled\n } catch {\n // Undo optimistic updates if mutation fails\n patches.forEach((patch) => patch.undo())\n }\n },\n transformErrorResponse,\n invalidatesTags: (_r, _e, { assignProjectRequest: { projectNames } }) => [\n { type: 'project', id: 'LIST' },\n ...projectNames.map((projectName) => ({ type: 'project' as const, id: projectName })),\n PROJECT_FOLDER_LIST_TAG,\n ],\n },\n },\n})\n\nexport const {\n useGetProjectFoldersQuery,\n useCreateProjectFolderMutation,\n useDeleteProjectFolderMutation,\n useUpdateProjectFolderMutation,\n useSetProjectFoldersOrderMutation,\n useAssignProjectsToFolderMutation,\n} = enhancedProjectFoldersApi\n"],"names":["PROJECT_FOLDER_LIST_TAG","transformErrorResponse","error","enhancedProjectFoldersApi","projectFoldersApi","response","result","folder","projectFolderPostModel","dispatch","queryFulfilled","patchResult","draft","newFolder","getEntityId","folderId","folderIndex","_r","_e","arg","projectFolderPatchModel","assignProjectRequest","projectNames","patches","enhancedProject","project","getProjectsGraphql","page","patch","projectName","useGetProjectFoldersQuery","useCreateProjectFolderMutation","useDeleteProjectFolderMutation","useUpdateProjectFolderMutation","useSetProjectFoldersOrderMutation","useAssignProjectsToFolderMutation"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require("lodash");require("react-toastify");require("uuid");const y=require("../../../util/pubsub.cjs.js");require("../../base/client.cjs.js");require("../../generated/graphql.cjs.js");require("../../generated/graphqlLinks.cjs.js");require("../../generated/access.cjs.js");require("../../generated/actions.cjs.js");require("../../generated/activityFeed.cjs.js");require("../../generated/addons.cjs.js");require("../../generated/anatomy.cjs.js");require("../../generated/attributes.cjs.js");require("../../generated/authentication.cjs.js");require("../../generated/bundles.cjs.js");require("../../generated/configuration.cjs.js");require("../../generated/dataImport.cjs.js");require("../../generated/desktop.cjs.js");require("../../generated/entityLists.cjs.js");require("../../generated/events.cjs.js");require("../../generated/files.cjs.js");require("../../generated/folders.cjs.js");require("../../generated/inbox.cjs.js");require("../../generated/links.cjs.js");require("../../generated/market.cjs.js");require("../../generated/onboarding.cjs.js");require("../../generated/operations.cjs.js");require("../../generated/products.cjs.js");require("../../generated/projectDashboard.cjs.js");require("../../generated/projects.cjs.js");require("../../generated/projectFolders.cjs.js");const l=require("../../generated/reviewables.cjs.js");require("../../generated/services.cjs.js");require("../../generated/system.cjs.js");require("../../generated/tasks.cjs.js");require("../../generated/teams.cjs.js");require("../../generated/thumbnails.cjs.js");require("../../generated/uRIs.cjs.js");require("../../generated/users.cjs.js");require("../../generated/versions.cjs.js");require("../../generated/workfiles.cjs.js");require("../../generated/ynputCloud.cjs.js");require("../../generated/grouping.cjs.js");require("../../generated/views.cjs.js");require("../addons/getAddons.cjs.js");const R=require("../addons/updateAddons.cjs.js"),h=(u,{productId:a,taskId:t,folderId:i,versionId:n},o)=>{const e=[];if(a&&e.push({type:"review",id:a}),t&&e.push({type:"review",id:t}),i&&e.push({type:"review",id:i}),o&&(a&&e.push({type:"viewer",id:a}),t&&e.push({type:"viewer",id:t}),i&&e.push({type:"viewer",id:i}),n&&e.push({type:"viewer",id:n}),e.push({type:"viewer",id:"LIST"})),n&&e.push({type:"review",id:n}),u){[...new Set(u.flatMap(r=>r?.productId||[]))].forEach(r=>{e.find(s=>s.id===r&&s.type==="review")||e.push({type:"review",id:r}),o&&!e.find(s=>s.id===r&&s.type==="viewer")&&e.push({type:"viewer",id:r})});const d=u.flatMap(r=>r?{type:"review",id:r.id}:[]);e.push(...d),o&&d.forEach(r=>{e.find(s=>s.id===r.id&&s.type==="viewer")||e.push({type:"viewer",id:r.id})});const p=u.flatMap(r=>r?r.reviewables?.flatMap(s=>[{type:"review",id:s.fileId},{type:"review",id:s.activityId}]):[]);e.push(...p)}return e},T=l.api.enhanceEndpoints({endpoints:{getReviewablesForVersion:{keepUnusedDataFor:1,providesTags:(u,a,{versionId:t})=>h([u],{versionId:t,productId:u?.productId}),async onCacheEntryAdded({versionId:u},{updateCachedData:a,cacheDataLoaded:t,cacheEntryRemoved:i,dispatch:n,getCacheEntry:o}){let e;try{await t;const f=(d,p)=>{if(d!=="reviewable.process")return;const r=p?.summary||{};if(r.versionId!==u)return;const s=o(),w=s.data?.reviewables?.findIndex(v=>v?.fileId===r.sourceFileId);if(w&&w!==-1&&p.status!=="finished"){const v=p?.progress||0;a(c=>{const q=c.reviewables;if(!q)return;const g=q[w].processing;q[w]={...q[w],processing:{...g,progress:v,eventId:p.id}}})}else console.log("Reviewable not found in cache, refreshing to get data:",r.sourceFileId,r.versionId),n(l.api.util.invalidateTags([{type:"review",id:r.versionId}])),p.status==="finished"&&s.data?.productId&&n(l.api.util.invalidateTags([{type:"viewer",id:s.data?.productId}]))};e=y.subscribe("reviewable.process",f)}catch{}await i,y.unsubscribe(e)}}}}),b=T.injectEndpoints({endpoints:u=>({getViewerReviewables:u.query({queryFn:async({productId:a,taskId:t,folderId:i,projectName:n},{dispatch:o})=>{let e;if(a?e=l.api.endpoints.getReviewablesForProduct.initiate({productId:a,projectName:n},{forceRefetch:!0}):t?e=l.api.endpoints.getReviewablesForTask.initiate({taskId:t,projectName:n},{forceRefetch:!0}):i&&(e=l.api.endpoints.getReviewablesForFolder.initiate({folderId:i,projectName:n},{forceRefetch:!0}),(await o(l.api.endpoints.getReviewablesForFolder.initiate({folderId:i,projectName:n},{forceRefetch:!0}))).error),!e)return{error:{status:"CUSTOM_ERROR",error:"No query found"}};const f=await o(e);if(f.error){const d=f.error;return console.error(d),{error:d}}else return{data:f.data}},providesTags:(a,t,i)=>h(a,i,!0),async onCacheEntryAdded({productId:a,taskId:t,folderId:i},{cacheDataLoaded:n,cacheEntryRemoved:o,dispatch:e,getCacheEntry:f}){let d;try{await n;const p=(r,s)=>{if(r!=="reviewable.process")return;const w=s?.summary||{};if(new Set(f().data?.map(c=>c.id)||[])?.has(w.versionId||"")&&s.status==="finished"){let c;a?c=a:t?c=t:i&&(c=i),console.log("Reviewable finished, refreshing to get data:",{id:c}),c&&e(l.api.util.invalidateTags([{type:"review",id:c}]))}};d=y.subscribe("reviewable.process",p)}catch{}await o,y.unsubscribe(d)}}),hasTranscoder:u.query({queryFn:async(a,{dispatch:t})=>{const i=await t(R.addonsQueries.endpoints.listAddons.initiate({details:!1}));return i.data?{data:i.data.addons.some(o=>o.name==="transcoder")}:i.error?(console.error(i.error),{data:!1}):{data:!1}}})})}),{useGetViewerReviewablesQuery:F,useGetReviewablesForVersionQuery:S,useHasTranscoderQuery:E}=b;exports.default=b;exports.useGetReviewablesForVersionQuery=S;exports.useGetViewerReviewablesQuery=F;exports.useHasTranscoderQuery=E;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require("lodash");require("react-toastify");require("uuid");require("../../base/client.cjs.js");require("../../generated/graphql.cjs.js");require("../../generated/graphqlLinks.cjs.js");require("../../generated/access.cjs.js");require("../../generated/actions.cjs.js");require("../../generated/activityFeed.cjs.js");require("../../generated/addons.cjs.js");require("../../generated/anatomy.cjs.js");require("../../generated/attributes.cjs.js");require("../../generated/authentication.cjs.js");require("../../generated/bundles.cjs.js");require("../../generated/configuration.cjs.js");require("../../generated/dataImport.cjs.js");require("../../generated/desktop.cjs.js");require("../../generated/entityLists.cjs.js");require("../../generated/events.cjs.js");require("../../generated/files.cjs.js");require("../../generated/folders.cjs.js");require("../../generated/inbox.cjs.js");require("../../generated/links.cjs.js");require("../../generated/market.cjs.js");require("../../generated/onboarding.cjs.js");require("../../generated/operations.cjs.js");require("../../generated/products.cjs.js");require("../../generated/projectDashboard.cjs.js");require("../../generated/projects.cjs.js");require("../../generated/projectFolders.cjs.js");const f=require("../../generated/reviewables.cjs.js");require("../../generated/services.cjs.js");require("../../generated/system.cjs.js");require("../../generated/tasks.cjs.js");require("../../generated/teams.cjs.js");require("../../generated/thumbnails.cjs.js");require("../../generated/uRIs.cjs.js");require("../../generated/users.cjs.js");require("../../generated/versions.cjs.js");require("../../generated/workfiles.cjs.js");require("../../generated/ynputCloud.cjs.js");require("../../generated/grouping.cjs.js");require("../../generated/views.cjs.js");require("../actions/getActions.cjs.js");require("../activities/getActivities.cjs.js");require("../activities/updateActivities.cjs.js");require("../activities/updateReaction.cjs.js");require("../activities/getMentions.cjs.js");require("../activities/getCategories.cjs.js");require("../addons/getAddons.cjs.js");const R=require("../addons/updateAddons.cjs.js");require("../attributes/getAttributes.cjs.js");require("../attributes/updateAttributes.cjs.js");require("../authentication/getAuthentication.cjs.js");require("../cloud/cloud.cjs.js");require("../columnStats/metricTargets.cjs.js");require("../config/getConfig.cjs.js");require("../config/updateConfig.cjs.js");require("../entities/getEntity.cjs.js");require("../entities/getEntityPanel.cjs.js");require("../overview/getOverview.cjs.js");require("../overview/updateOverview.cjs.js");require("../versions/getVersionsProducts.cjs.js");require("../links/getEntityLinks.cjs.js");require("../entities/updateEntity.cjs.js");require("../entityLists/getLists.cjs.js");require("../entityLists/updateLists.cjs.js");require("../entityLists/getListsAttributes.cjs.js");require("../entityLists/listItemsColumnStats.cjs.js");require("../entityLists/updateListsAttributes.cjs.js");require("../entityLists/listFolders.cjs.js");require("../folders/getFolders.cjs.js");require("../folders/getFolderDeleteInfo.cjs.js");require("../grouping/getGrouping.cjs.js");require("../links/updateLinks.cjs.js");require("../links/getLinks.cjs.js");require("../permissions/getPermissions.cjs.js");require("../products/createProduct.cjs.js");require("../products/getFolderProducts.cjs.js");require("../project/getProject.cjs.js");require("../project/updateProject.cjs.js");require("../projectFolders/projectFolders.cjs.js");require("./updateReview.cjs.js");require("../share/share.cjs.js");require("../system/getSystem.cjs.js");require("../tasks/getTasks.cjs.js");require("../tasks/updateTasks.cjs.js");require("../teams/getTeams.cjs.js");require("../userDashboard/getUserDashboard.cjs.js");require("../users/getUsers.cjs.js");require("../users/updateUsers.cjs.js");require("../users/guests.cjs.js");require("../versions/updateVersions.cjs.js");require("../views/getViews.cjs.js");require("../views/updateViews.cjs.js");require("../watchers/getWatchers.cjs.js");require("../uris/getUris.cjs.js");const y=require("../../../util/pubsub.cjs.js"),h=(n,{productId:t,taskId:s,folderId:i,versionId:a},o)=>{const e=[];if(t&&e.push({type:"review",id:t}),s&&e.push({type:"review",id:s}),i&&e.push({type:"review",id:i}),o&&(t&&e.push({type:"viewer",id:t}),s&&e.push({type:"viewer",id:s}),i&&e.push({type:"viewer",id:i}),a&&e.push({type:"viewer",id:a}),e.push({type:"viewer",id:"LIST"})),a&&e.push({type:"review",id:a}),n){[...new Set(n.flatMap(r=>r?.productId||[]))].forEach(r=>{e.find(u=>u.id===r&&u.type==="review")||e.push({type:"review",id:r}),o&&!e.find(u=>u.id===r&&u.type==="viewer")&&e.push({type:"viewer",id:r})});const q=n.flatMap(r=>r?{type:"review",id:r.id}:[]);e.push(...q),o&&q.forEach(r=>{e.find(u=>u.id===r.id&&u.type==="viewer")||e.push({type:"viewer",id:r.id})});const c=n.flatMap(r=>r?r.reviewables?.flatMap(u=>[{type:"review",id:u.fileId},{type:"review",id:u.activityId}]):[]);e.push(...c)}return e},T=f.api.enhanceEndpoints({endpoints:{getReviewablesForVersion:{keepUnusedDataFor:1,providesTags:(n,t,{versionId:s})=>h([n],{versionId:s,productId:n?.productId}),async onCacheEntryAdded({versionId:n},{updateCachedData:t,cacheDataLoaded:s,cacheEntryRemoved:i,dispatch:a,getCacheEntry:o}){let e;try{await s;const p=(q,c)=>{if(q!=="reviewable.process")return;const r=c?.summary||{};if(r.versionId!==n)return;const u=o(),l=u.data?.reviewables?.findIndex(w=>w?.fileId===r.sourceFileId);if(l&&l!==-1&&c.status!=="finished"){const w=c?.progress||0;t(d=>{const v=d.reviewables;if(!v)return;const g=v[l].processing;v[l]={...v[l],processing:{...g,progress:w,eventId:c.id}}})}else console.log("Reviewable not found in cache, refreshing to get data:",r.sourceFileId,r.versionId),a(f.api.util.invalidateTags([{type:"review",id:r.versionId}])),c.status==="finished"&&u.data?.productId&&a(f.api.util.invalidateTags([{type:"viewer",id:u.data?.productId}]))};e=y.subscribe("reviewable.process",p)}catch{}await i,y.unsubscribe(e)}}}}),b=T.injectEndpoints({endpoints:n=>({getViewerReviewables:n.query({queryFn:async({productId:t,taskId:s,folderId:i,projectName:a},{dispatch:o})=>{let e;if(t?e=f.api.endpoints.getReviewablesForProduct.initiate({productId:t,projectName:a},{forceRefetch:!0}):s?e=f.api.endpoints.getReviewablesForTask.initiate({taskId:s,projectName:a},{forceRefetch:!0}):i&&(e=f.api.endpoints.getReviewablesForFolder.initiate({folderId:i,projectName:a},{forceRefetch:!0}),(await o(f.api.endpoints.getReviewablesForFolder.initiate({folderId:i,projectName:a},{forceRefetch:!0}))).error),!e)return{error:{status:"CUSTOM_ERROR",error:"No query found"}};const p=await o(e);if(p.error){const q=p.error;return console.error(q),{error:q}}else return{data:p.data}},providesTags:(t,s,i)=>h(t,i,!0),async onCacheEntryAdded({productId:t,taskId:s,folderId:i},{cacheDataLoaded:a,cacheEntryRemoved:o,dispatch:e,getCacheEntry:p}){let q;try{await a;const c=(r,u)=>{if(r!=="reviewable.process")return;const l=u?.summary||{};if(new Set(p().data?.map(d=>d.id)||[])?.has(l.versionId||"")&&u.status==="finished"){let d;t?d=t:s?d=s:i&&(d=i),console.log("Reviewable finished, refreshing to get data:",{id:d}),d&&e(f.api.util.invalidateTags([{type:"review",id:d}]))}};q=y.subscribe("reviewable.process",c)}catch{}await o,y.unsubscribe(q)}}),hasTranscoder:n.query({queryFn:async(t,{dispatch:s})=>{const i=await s(R.addonsQueries.endpoints.listAddons.initiate({details:!1}));return i.data?{data:i.data.addons.some(o=>o.name==="transcoder")}:i.error?(console.error(i.error),{data:!1}):{data:!1}}})})}),{useGetViewerReviewablesQuery:F,useGetReviewablesForVersionQuery:S,useHasTranscoderQuery:E}=b;exports.default=b;exports.useGetReviewablesForVersionQuery=S;exports.useGetViewerReviewablesQuery=F;exports.useHasTranscoderQuery=E;
2
2
  //# sourceMappingURL=getReview.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getReview.cjs.js","sources":["../../../../../../src/api/queries/review/getReview.ts"],"sourcesContent":["import { PubSub } from '@shared/util'\nimport { reviewablesApi, ReviewableModel, VersionReviewablesModel } from '@shared/api/generated'\nimport { addonsQueries } from '@shared/api/queries/addons'\nimport {\n Summary,\n GetReviewablesResponse,\n GetViewerReviewablesParams,\n TagTypes,\n UpdatedDefinitions,\n} from './types'\nimport { FetchBaseQueryError } from '@reduxjs/toolkit/query'\n\nconst getViewerReviewablesTags = (\n result: (GetReviewablesResponse | VersionReviewablesModel | undefined)[] | undefined,\n {\n productId,\n taskId,\n folderId,\n versionId,\n }: {\n productId?: string\n taskId?: string\n folderId?: string\n versionId?: string\n },\n viewer?: boolean,\n) => {\n const tags: { type: string; id: string }[] = []\n\n // different ways to open the viewer\n if (productId) tags.push({ type: 'review', id: productId })\n\n if (taskId) tags.push({ type: 'review', id: taskId })\n if (folderId) tags.push({ type: 'review', id: folderId })\n\n if (viewer) {\n // viewer specific tags for invalidating just the viewer\n if (productId) tags.push({ type: 'viewer', id: productId })\n\n if (taskId) tags.push({ type: 'viewer', id: taskId })\n if (folderId) tags.push({ type: 'viewer', id: folderId })\n if (versionId) tags.push({ type: 'viewer', id: versionId })\n\n tags.push({ type: 'viewer', id: 'LIST' })\n }\n\n // reviewables list caches\n if (versionId) tags.push({ type: 'review', id: versionId })\n\n if (result) {\n // create a unique list of productIds\n const productIds: string[] = [...new Set(result.flatMap((version) => version?.productId || []))]\n\n // if no productId was provided in the args, use the one from the result\n productIds.forEach((productId) => {\n if (!tags.find((tag) => tag.id === productId && tag.type === 'review'))\n tags.push({ type: 'review', id: productId })\n // if opening the viewer, add the viewer tag\n if (viewer && !tags.find((tag) => tag.id === productId && tag.type === 'viewer'))\n tags.push({ type: 'viewer', id: productId })\n })\n\n const versionTags = result.flatMap((version) =>\n version\n ? {\n type: 'review',\n id: version.id,\n }\n : [],\n )\n\n tags.push(...versionTags)\n\n // also add viewer tags for viewer\n if (viewer) {\n versionTags.forEach((tag) => {\n if (!tags.find((t) => t.id === tag.id && t.type === 'viewer')) {\n tags.push({ type: 'viewer', id: tag.id })\n }\n })\n }\n\n const reviewableTags = result.flatMap((version) =>\n version\n ? version.reviewables?.flatMap((reviewable) => [\n {\n type: 'review',\n id: reviewable.fileId,\n },\n {\n type: 'review',\n id: reviewable.activityId,\n },\n ])\n : [],\n ) as { type: 'review'; id: string }[]\n\n tags.push(...reviewableTags)\n }\n\n return tags\n}\n\nconst enhancedApi = reviewablesApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n getReviewablesForVersion: {\n keepUnusedDataFor: 1,\n providesTags: (result, _error, { versionId }) =>\n getViewerReviewablesTags([result], { versionId, productId: result?.productId }),\n\n async onCacheEntryAdded(\n { versionId },\n { updateCachedData, cacheDataLoaded, cacheEntryRemoved, dispatch, getCacheEntry },\n ) {\n let token\n try {\n // wait for the initial query to resolve before proceeding\n await cacheDataLoaded\n\n const handlePubSub = (topic: string, message: any) => {\n if (topic !== 'reviewable.process') return\n\n const summary = (message?.summary as Summary) || {}\n\n // check it's for the right version\n if (summary.versionId !== versionId) return\n\n const cache = getCacheEntry()\n\n // check if the reviewable is in the cache\n const index = cache.data?.reviewables?.findIndex(\n (r: ReviewableModel) => r?.fileId === summary.sourceFileId,\n )\n\n if (index && index !== -1 && message.status !== 'finished') {\n // update the progress of the reviewable\n const progress = message?.progress || 0\n // update the cache reviewable\n\n updateCachedData((data) => {\n const reviewables = data.reviewables\n\n // check if there are reviewables\n if (!reviewables) return\n const processing = reviewables[index].processing\n\n // update the reviewable with the new progress\n reviewables[index] = {\n ...reviewables[index],\n processing: {\n ...processing,\n progress,\n eventId: message.id,\n },\n }\n })\n } else {\n console.log(\n 'Reviewable not found in cache, refreshing to get data:',\n summary.sourceFileId,\n summary.versionId,\n )\n // get data for this new reviewable\n dispatch(\n reviewablesApi.util.invalidateTags([{ type: 'review', id: summary.versionId }]),\n )\n\n // if it's finished, also invalidate viewer\n if (message.status === 'finished') {\n // also invalidate the viewer cache\n if (cache.data?.productId) {\n dispatch(\n reviewablesApi.util.invalidateTags([\n { type: 'viewer', id: cache.data?.productId },\n ]),\n )\n }\n }\n }\n }\n\n // sub to websocket topic\n token = PubSub.subscribe('reviewable.process', 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 },\n },\n },\n})\n\nconst getReviewApi = enhancedApi.injectEndpoints({\n endpoints: (build) => ({\n // custom endpoint to get reviewables from product/task/folder\n // utilizes getReviewablesForProduct, getReviewablesForTask, getReviewablesForFolder\n getViewerReviewables: build.query<GetReviewablesResponse[], GetViewerReviewablesParams>({\n queryFn: async ({ productId, taskId, folderId, projectName }, { dispatch }) => {\n let query: any\n\n if (productId) {\n query = reviewablesApi.endpoints.getReviewablesForProduct.initiate(\n {\n productId,\n projectName,\n },\n { forceRefetch: true },\n )\n } else if (taskId) {\n query = reviewablesApi.endpoints.getReviewablesForTask.initiate(\n { taskId, projectName },\n { forceRefetch: true },\n )\n } else if (folderId) {\n query = reviewablesApi.endpoints.getReviewablesForFolder.initiate(\n {\n folderId,\n projectName,\n },\n { forceRefetch: true },\n )\n\n const result = await dispatch(\n reviewablesApi.endpoints.getReviewablesForFolder.initiate(\n { folderId, projectName },\n { forceRefetch: true },\n ),\n )\n result.error\n }\n\n if (!query)\n return {\n error: { status: 'CUSTOM_ERROR', error: 'No query found' } as FetchBaseQueryError,\n }\n\n const result = await dispatch(query)\n\n if (result.error) {\n const error = result.error as FetchBaseQueryError\n\n console.error(error)\n return { error: error }\n } else {\n const data = result.data as GetReviewablesResponse[]\n return { data }\n }\n },\n providesTags: (result, _error, args) => getViewerReviewablesTags(result, args, true),\n async onCacheEntryAdded(\n { productId, taskId, folderId },\n { cacheDataLoaded, cacheEntryRemoved, dispatch, getCacheEntry },\n ) {\n let token\n try {\n // wait for the initial query to resolve before proceeding\n await cacheDataLoaded\n\n const handlePubSub = (topic: string, message: any) => {\n if (topic !== 'reviewable.process') return\n\n const summary = (message?.summary as Summary) || {}\n\n const versionIds = new Set(getCacheEntry().data?.map((version) => version.id) || [])\n\n // check that one of the versions is the right one\n if (!versionIds?.has(summary.versionId || '')) return\n\n if (message.status === 'finished') {\n let id: string | undefined\n if (productId) id = productId\n else if (taskId) id = taskId\n else if (folderId) id = folderId\n\n console.log('Reviewable finished, refreshing to get data:', { id })\n // \"838977a81dab11ef95ad0242ac180005\"\n if (id) {\n // get data for this new reviewable (invalidate self)\n dispatch(reviewablesApi.util.invalidateTags([{ type: 'review', id: id }]))\n }\n }\n }\n\n // sub to websocket topic\n token = PubSub.subscribe('reviewable.process', 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 },\n }),\n hasTranscoder: build.query<boolean, undefined>({\n queryFn: async (_arg, { dispatch }) => {\n // get list of installed addons\n const res = await dispatch(addonsQueries.endpoints.listAddons.initiate({ details: false }))\n\n if (res.data) {\n const hasTranscoder = res.data.addons.some((addon) => addon.name === 'transcoder')\n\n return { data: hasTranscoder }\n } else if (res.error) {\n console.error(res.error)\n return { data: false }\n } else return { data: false }\n },\n }),\n }),\n})\n\nexport const {\n useGetViewerReviewablesQuery,\n useGetReviewablesForVersionQuery,\n useHasTranscoderQuery,\n} = getReviewApi\nexport default getReviewApi\n"],"names":["getViewerReviewablesTags","result","productId","taskId","folderId","versionId","viewer","tags","version","tag","versionTags","t","reviewableTags","reviewable","enhancedApi","reviewablesApi","_error","updateCachedData","cacheDataLoaded","cacheEntryRemoved","dispatch","getCacheEntry","token","handlePubSub","topic","message","summary","cache","index","r","progress","data","reviewables","processing","PubSub","getReviewApi","build","projectName","query","error","args","id","_arg","res","addonsQueries","addon","useGetViewerReviewablesQuery","useGetReviewablesForVersionQuery","useHasTranscoderQuery"],"mappings":"k/DAYMA,EAA2B,CAC/BC,EACA,CACE,UAAAC,EACA,OAAAC,EACA,SAAAC,EACA,UAAAC,CACF,EAMAC,IACG,CACH,MAAMC,EAAuC,CAAA,EAsB7C,GAnBIL,KAAgB,KAAK,CAAE,KAAM,SAAU,GAAIA,EAAW,EAEtDC,KAAa,KAAK,CAAE,KAAM,SAAU,GAAIA,EAAQ,EAChDC,KAAe,KAAK,CAAE,KAAM,SAAU,GAAIA,EAAU,EAEpDE,IAEEJ,KAAgB,KAAK,CAAE,KAAM,SAAU,GAAIA,EAAW,EAEtDC,KAAa,KAAK,CAAE,KAAM,SAAU,GAAIA,EAAQ,EAChDC,KAAe,KAAK,CAAE,KAAM,SAAU,GAAIA,EAAU,EACpDC,KAAgB,KAAK,CAAE,KAAM,SAAU,GAAIA,EAAW,EAE1DE,EAAK,KAAK,CAAE,KAAM,SAAU,GAAI,OAAQ,GAItCF,KAAgB,KAAK,CAAE,KAAM,SAAU,GAAIA,EAAW,EAEtDJ,EAAQ,CAEmB,CAAC,GAAG,IAAI,IAAIA,EAAO,QAASO,GAAYA,GAAS,WAAa,CAAA,CAAE,CAAC,CAAC,EAGpF,QAASN,GAAc,CAC3BK,EAAK,KAAME,GAAQA,EAAI,KAAOP,GAAaO,EAAI,OAAS,QAAQ,GACnEF,EAAK,KAAK,CAAE,KAAM,SAAU,GAAIL,EAAW,EAEzCI,GAAU,CAACC,EAAK,KAAME,GAAQA,EAAI,KAAOP,GAAaO,EAAI,OAAS,QAAQ,GAC7EF,EAAK,KAAK,CAAE,KAAM,SAAU,GAAIL,EAAW,CAC/C,CAAC,EAED,MAAMQ,EAAcT,EAAO,QAASO,GAClCA,EACI,CACE,KAAM,SACN,GAAIA,EAAQ,EAAA,EAEd,CAAA,CAAC,EAGPD,EAAK,KAAK,GAAGG,CAAW,EAGpBJ,GACFI,EAAY,QAASD,GAAQ,CACtBF,EAAK,KAAMI,GAAMA,EAAE,KAAOF,EAAI,IAAME,EAAE,OAAS,QAAQ,GAC1DJ,EAAK,KAAK,CAAE,KAAM,SAAU,GAAIE,EAAI,GAAI,CAE5C,CAAC,EAGH,MAAMG,EAAiBX,EAAO,QAASO,GACrCA,EACIA,EAAQ,aAAa,QAASK,GAAe,CAC3C,CACE,KAAM,SACN,GAAIA,EAAW,MAAA,EAEjB,CACE,KAAM,SACN,GAAIA,EAAW,UAAA,CACjB,CACD,EACD,CAAA,CAAC,EAGPN,EAAK,KAAK,GAAGK,CAAc,CAC7B,CAEA,OAAOL,CACT,EAEMO,EAAcC,EAAAA,IAAe,iBAA+C,CAChF,UAAW,CACT,yBAA0B,CACxB,kBAAmB,EACnB,aAAc,CAACd,EAAQe,EAAQ,CAAE,UAAAX,KAC/BL,EAAyB,CAACC,CAAM,EAAG,CAAE,UAAAI,EAAW,UAAWJ,GAAQ,UAAW,EAEhF,MAAM,kBACJ,CAAE,UAAAI,CAAA,EACF,CAAE,iBAAAY,EAAkB,gBAAAC,EAAiB,kBAAAC,EAAmB,SAAAC,EAAU,cAAAC,GAClE,CACA,IAAIC,EACJ,GAAI,CAEF,MAAMJ,EAEN,MAAMK,EAAe,CAACC,EAAeC,IAAiB,CACpD,GAAID,IAAU,qBAAsB,OAEpC,MAAME,EAAWD,GAAS,SAAuB,CAAA,EAGjD,GAAIC,EAAQ,YAAcrB,EAAW,OAErC,MAAMsB,EAAQN,EAAA,EAGRO,EAAQD,EAAM,MAAM,aAAa,UACpCE,GAAuBA,GAAG,SAAWH,EAAQ,YAAA,EAGhD,GAAIE,GAASA,IAAU,IAAMH,EAAQ,SAAW,WAAY,CAE1D,MAAMK,EAAWL,GAAS,UAAY,EAGtCR,EAAkBc,GAAS,CACzB,MAAMC,EAAcD,EAAK,YAGzB,GAAI,CAACC,EAAa,OAClB,MAAMC,EAAaD,EAAYJ,CAAK,EAAE,WAGtCI,EAAYJ,CAAK,EAAI,CACnB,GAAGI,EAAYJ,CAAK,EACpB,WAAY,CACV,GAAGK,EACH,SAAAH,EACA,QAASL,EAAQ,EAAA,CACnB,CAEJ,CAAC,CACH,MACE,QAAQ,IACN,yDACAC,EAAQ,aACRA,EAAQ,SAAA,EAGVN,EACEL,MAAe,KAAK,eAAe,CAAC,CAAE,KAAM,SAAU,GAAIW,EAAQ,UAAW,CAAC,CAAA,EAI5ED,EAAQ,SAAW,YAEjBE,EAAM,MAAM,WACdP,EACEL,EAAAA,IAAe,KAAK,eAAe,CACjC,CAAE,KAAM,SAAU,GAAIY,EAAM,MAAM,SAAA,CAAU,CAC7C,CAAA,CAKX,EAGAL,EAAQY,EAAO,UAAU,qBAAsBX,CAAY,CAC7D,MAAQ,CAGR,CAEA,MAAMJ,EAENe,EAAO,YAAYZ,CAAK,CAC1B,CAAA,CACF,CAEJ,CAAC,EAEKa,EAAerB,EAAY,gBAAgB,CAC/C,UAAYsB,IAAW,CAGrB,qBAAsBA,EAAM,MAA4D,CACtF,QAAS,MAAO,CAAE,UAAAlC,EAAW,OAAAC,EAAQ,SAAAC,EAAU,YAAAiC,CAAA,EAAe,CAAE,SAAAjB,KAAe,CAC7E,IAAIkB,EAiCJ,GA/BIpC,EACFoC,EAAQvB,EAAAA,IAAe,UAAU,yBAAyB,SACxD,CACE,UAAAb,EACA,YAAAmC,CAAA,EAEF,CAAE,aAAc,EAAA,CAAK,EAEdlC,EACTmC,EAAQvB,EAAAA,IAAe,UAAU,sBAAsB,SACrD,CAAE,OAAAZ,EAAQ,YAAAkC,CAAA,EACV,CAAE,aAAc,EAAA,CAAK,EAEdjC,IACTkC,EAAQvB,EAAAA,IAAe,UAAU,wBAAwB,SACvD,CACE,SAAAX,EACA,YAAAiC,CAAA,EAEF,CAAE,aAAc,EAAA,CAAK,GAGR,MAAMjB,EACnBL,MAAe,UAAU,wBAAwB,SAC/C,CAAE,SAAAX,EAAU,YAAAiC,CAAA,EACZ,CAAE,aAAc,EAAA,CAAK,CACvB,GAEK,OAGL,CAACC,EACH,MAAO,CACL,MAAO,CAAE,OAAQ,eAAgB,MAAO,gBAAA,CAAiB,EAG7D,MAAMrC,EAAS,MAAMmB,EAASkB,CAAK,EAEnC,GAAIrC,EAAO,MAAO,CAChB,MAAMsC,EAAQtC,EAAO,MAErB,eAAQ,MAAMsC,CAAK,EACZ,CAAE,MAAAA,CAAA,CACX,KAEE,OAAO,CAAE,KADItC,EAAO,IACX,CAEb,EACA,aAAc,CAACA,EAAQe,EAAQwB,IAASxC,EAAyBC,EAAQuC,EAAM,EAAI,EACnF,MAAM,kBACJ,CAAE,UAAAtC,EAAW,OAAAC,EAAQ,SAAAC,CAAA,EACrB,CAAE,gBAAAc,EAAiB,kBAAAC,EAAmB,SAAAC,EAAU,cAAAC,GAChD,CACA,IAAIC,EACJ,GAAI,CAEF,MAAMJ,EAEN,MAAMK,EAAe,CAACC,EAAeC,IAAiB,CACpD,GAAID,IAAU,qBAAsB,OAEpC,MAAME,EAAWD,GAAS,SAAuB,CAAA,EAKjD,GAHmB,IAAI,IAAIJ,EAAA,EAAgB,MAAM,IAAKb,GAAYA,EAAQ,EAAE,GAAK,CAAA,CAAE,GAGlE,IAAIkB,EAAQ,WAAa,EAAE,GAExCD,EAAQ,SAAW,WAAY,CACjC,IAAIgB,EACAvC,EAAWuC,EAAKvC,EACXC,EAAQsC,EAAKtC,EACbC,IAAUqC,EAAKrC,GAExB,QAAQ,IAAI,+CAAgD,CAAE,GAAAqC,CAAA,CAAI,EAE9DA,GAEFrB,EAASL,EAAAA,IAAe,KAAK,eAAe,CAAC,CAAE,KAAM,SAAU,GAAA0B,CAAA,CAAQ,CAAC,CAAC,CAE7E,CACF,EAGAnB,EAAQY,EAAO,UAAU,qBAAsBX,CAAY,CAC7D,MAAQ,CAGR,CAEA,MAAMJ,EAENe,EAAO,YAAYZ,CAAK,CAC1B,CAAA,CACD,EACD,cAAec,EAAM,MAA0B,CAC7C,QAAS,MAAOM,EAAM,CAAE,SAAAtB,KAAe,CAErC,MAAMuB,EAAM,MAAMvB,EAASwB,EAAAA,cAAc,UAAU,WAAW,SAAS,CAAE,QAAS,EAAA,CAAO,CAAC,EAE1F,OAAID,EAAI,KAGC,CAAE,KAFaA,EAAI,KAAK,OAAO,KAAME,GAAUA,EAAM,OAAS,YAAY,CAElE,EACNF,EAAI,OACb,QAAQ,MAAMA,EAAI,KAAK,EAChB,CAAE,KAAM,EAAA,GACH,CAAE,KAAM,EAAA,CACxB,CAAA,CACD,CAAA,EAEL,CAAC,EAEY,CACX,6BAAAG,EACA,iCAAAC,EACA,sBAAAC,CACF,EAAIb"}
1
+ {"version":3,"file":"getReview.cjs.js","sources":["../../../../../../src/api/queries/review/getReview.ts"],"sourcesContent":["import { PubSub } from '@shared/util'\nimport { reviewablesApi, ReviewableModel, VersionReviewablesModel } from '@shared/api/generated'\nimport { addonsQueries } from '@shared/api/queries/addons'\nimport {\n Summary,\n GetReviewablesResponse,\n GetViewerReviewablesParams,\n TagTypes,\n UpdatedDefinitions,\n} from './types'\nimport { FetchBaseQueryError } from '@reduxjs/toolkit/query'\n\nconst getViewerReviewablesTags = (\n result: (GetReviewablesResponse | VersionReviewablesModel | undefined)[] | undefined,\n {\n productId,\n taskId,\n folderId,\n versionId,\n }: {\n productId?: string\n taskId?: string\n folderId?: string\n versionId?: string\n },\n viewer?: boolean,\n) => {\n const tags: { type: string; id: string }[] = []\n\n // different ways to open the viewer\n if (productId) tags.push({ type: 'review', id: productId })\n\n if (taskId) tags.push({ type: 'review', id: taskId })\n if (folderId) tags.push({ type: 'review', id: folderId })\n\n if (viewer) {\n // viewer specific tags for invalidating just the viewer\n if (productId) tags.push({ type: 'viewer', id: productId })\n\n if (taskId) tags.push({ type: 'viewer', id: taskId })\n if (folderId) tags.push({ type: 'viewer', id: folderId })\n if (versionId) tags.push({ type: 'viewer', id: versionId })\n\n tags.push({ type: 'viewer', id: 'LIST' })\n }\n\n // reviewables list caches\n if (versionId) tags.push({ type: 'review', id: versionId })\n\n if (result) {\n // create a unique list of productIds\n const productIds: string[] = [...new Set(result.flatMap((version) => version?.productId || []))]\n\n // if no productId was provided in the args, use the one from the result\n productIds.forEach((productId) => {\n if (!tags.find((tag) => tag.id === productId && tag.type === 'review'))\n tags.push({ type: 'review', id: productId })\n // if opening the viewer, add the viewer tag\n if (viewer && !tags.find((tag) => tag.id === productId && tag.type === 'viewer'))\n tags.push({ type: 'viewer', id: productId })\n })\n\n const versionTags = result.flatMap((version) =>\n version\n ? {\n type: 'review',\n id: version.id,\n }\n : [],\n )\n\n tags.push(...versionTags)\n\n // also add viewer tags for viewer\n if (viewer) {\n versionTags.forEach((tag) => {\n if (!tags.find((t) => t.id === tag.id && t.type === 'viewer')) {\n tags.push({ type: 'viewer', id: tag.id })\n }\n })\n }\n\n const reviewableTags = result.flatMap((version) =>\n version\n ? version.reviewables?.flatMap((reviewable) => [\n {\n type: 'review',\n id: reviewable.fileId,\n },\n {\n type: 'review',\n id: reviewable.activityId,\n },\n ])\n : [],\n ) as { type: 'review'; id: string }[]\n\n tags.push(...reviewableTags)\n }\n\n return tags\n}\n\nconst enhancedApi = reviewablesApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n getReviewablesForVersion: {\n keepUnusedDataFor: 1,\n providesTags: (result, _error, { versionId }) =>\n getViewerReviewablesTags([result], { versionId, productId: result?.productId }),\n\n async onCacheEntryAdded(\n { versionId },\n { updateCachedData, cacheDataLoaded, cacheEntryRemoved, dispatch, getCacheEntry },\n ) {\n let token\n try {\n // wait for the initial query to resolve before proceeding\n await cacheDataLoaded\n\n const handlePubSub = (topic: string, message: any) => {\n if (topic !== 'reviewable.process') return\n\n const summary = (message?.summary as Summary) || {}\n\n // check it's for the right version\n if (summary.versionId !== versionId) return\n\n const cache = getCacheEntry()\n\n // check if the reviewable is in the cache\n const index = cache.data?.reviewables?.findIndex(\n (r: ReviewableModel) => r?.fileId === summary.sourceFileId,\n )\n\n if (index && index !== -1 && message.status !== 'finished') {\n // update the progress of the reviewable\n const progress = message?.progress || 0\n // update the cache reviewable\n\n updateCachedData((data) => {\n const reviewables = data.reviewables\n\n // check if there are reviewables\n if (!reviewables) return\n const processing = reviewables[index].processing\n\n // update the reviewable with the new progress\n reviewables[index] = {\n ...reviewables[index],\n processing: {\n ...processing,\n progress,\n eventId: message.id,\n },\n }\n })\n } else {\n console.log(\n 'Reviewable not found in cache, refreshing to get data:',\n summary.sourceFileId,\n summary.versionId,\n )\n // get data for this new reviewable\n dispatch(\n reviewablesApi.util.invalidateTags([{ type: 'review', id: summary.versionId }]),\n )\n\n // if it's finished, also invalidate viewer\n if (message.status === 'finished') {\n // also invalidate the viewer cache\n if (cache.data?.productId) {\n dispatch(\n reviewablesApi.util.invalidateTags([\n { type: 'viewer', id: cache.data?.productId },\n ]),\n )\n }\n }\n }\n }\n\n // sub to websocket topic\n token = PubSub.subscribe('reviewable.process', 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 },\n },\n },\n})\n\nconst getReviewApi = enhancedApi.injectEndpoints({\n endpoints: (build) => ({\n // custom endpoint to get reviewables from product/task/folder\n // utilizes getReviewablesForProduct, getReviewablesForTask, getReviewablesForFolder\n getViewerReviewables: build.query<GetReviewablesResponse[], GetViewerReviewablesParams>({\n queryFn: async ({ productId, taskId, folderId, projectName }, { dispatch }) => {\n let query: any\n\n if (productId) {\n query = reviewablesApi.endpoints.getReviewablesForProduct.initiate(\n {\n productId,\n projectName,\n },\n { forceRefetch: true },\n )\n } else if (taskId) {\n query = reviewablesApi.endpoints.getReviewablesForTask.initiate(\n { taskId, projectName },\n { forceRefetch: true },\n )\n } else if (folderId) {\n query = reviewablesApi.endpoints.getReviewablesForFolder.initiate(\n {\n folderId,\n projectName,\n },\n { forceRefetch: true },\n )\n\n const result = await dispatch(\n reviewablesApi.endpoints.getReviewablesForFolder.initiate(\n { folderId, projectName },\n { forceRefetch: true },\n ),\n )\n result.error\n }\n\n if (!query)\n return {\n error: { status: 'CUSTOM_ERROR', error: 'No query found' } as FetchBaseQueryError,\n }\n\n const result = await dispatch(query)\n\n if (result.error) {\n const error = result.error as FetchBaseQueryError\n\n console.error(error)\n return { error: error }\n } else {\n const data = result.data as GetReviewablesResponse[]\n return { data }\n }\n },\n providesTags: (result, _error, args) => getViewerReviewablesTags(result, args, true),\n async onCacheEntryAdded(\n { productId, taskId, folderId },\n { cacheDataLoaded, cacheEntryRemoved, dispatch, getCacheEntry },\n ) {\n let token\n try {\n // wait for the initial query to resolve before proceeding\n await cacheDataLoaded\n\n const handlePubSub = (topic: string, message: any) => {\n if (topic !== 'reviewable.process') return\n\n const summary = (message?.summary as Summary) || {}\n\n const versionIds = new Set(getCacheEntry().data?.map((version) => version.id) || [])\n\n // check that one of the versions is the right one\n if (!versionIds?.has(summary.versionId || '')) return\n\n if (message.status === 'finished') {\n let id: string | undefined\n if (productId) id = productId\n else if (taskId) id = taskId\n else if (folderId) id = folderId\n\n console.log('Reviewable finished, refreshing to get data:', { id })\n // \"838977a81dab11ef95ad0242ac180005\"\n if (id) {\n // get data for this new reviewable (invalidate self)\n dispatch(reviewablesApi.util.invalidateTags([{ type: 'review', id: id }]))\n }\n }\n }\n\n // sub to websocket topic\n token = PubSub.subscribe('reviewable.process', 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 },\n }),\n hasTranscoder: build.query<boolean, undefined>({\n queryFn: async (_arg, { dispatch }) => {\n // get list of installed addons\n const res = await dispatch(addonsQueries.endpoints.listAddons.initiate({ details: false }))\n\n if (res.data) {\n const hasTranscoder = res.data.addons.some((addon) => addon.name === 'transcoder')\n\n return { data: hasTranscoder }\n } else if (res.error) {\n console.error(res.error)\n return { data: false }\n } else return { data: false }\n },\n }),\n }),\n})\n\nexport const {\n useGetViewerReviewablesQuery,\n useGetReviewablesForVersionQuery,\n useHasTranscoderQuery,\n} = getReviewApi\nexport default getReviewApi\n"],"names":["getViewerReviewablesTags","result","productId","taskId","folderId","versionId","viewer","tags","version","tag","versionTags","t","reviewableTags","reviewable","enhancedApi","reviewablesApi","_error","updateCachedData","cacheDataLoaded","cacheEntryRemoved","dispatch","getCacheEntry","token","handlePubSub","topic","message","summary","cache","index","r","progress","data","reviewables","processing","PubSub","getReviewApi","build","projectName","query","error","args","id","_arg","res","addonsQueries","addon","useGetViewerReviewablesQuery","useGetReviewablesForVersionQuery","useHasTranscoderQuery"],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  import "lodash";
2
2
  import "react-toastify";
3
3
  import "uuid";
4
- import y from "../../../util/pubsub.es.js";
5
4
  import "../../base/client.es.js";
6
5
  import "../../generated/graphql.es.js";
7
6
  import "../../generated/graphqlLinks.es.js";
@@ -29,7 +28,7 @@ import "../../generated/products.es.js";
29
28
  import "../../generated/projectDashboard.es.js";
30
29
  import "../../generated/projects.es.js";
31
30
  import "../../generated/projectFolders.es.js";
32
- import { api as l } from "../../generated/reviewables.es.js";
31
+ import { api as f } from "../../generated/reviewables.es.js";
33
32
  import "../../generated/services.es.js";
34
33
  import "../../generated/system.es.js";
35
34
  import "../../generated/tasks.es.js";
@@ -42,29 +41,82 @@ import "../../generated/workfiles.es.js";
42
41
  import "../../generated/ynputCloud.es.js";
43
42
  import "../../generated/grouping.es.js";
44
43
  import "../../generated/views.es.js";
44
+ import "../actions/getActions.es.js";
45
+ import "../activities/getActivities.es.js";
46
+ import "../activities/updateActivities.es.js";
47
+ import "../activities/updateReaction.es.js";
48
+ import "../activities/getMentions.es.js";
49
+ import "../activities/getCategories.es.js";
45
50
  import "../addons/getAddons.es.js";
46
51
  import { addonsQueries as g } from "../addons/updateAddons.es.js";
47
- const h = (a, {
48
- productId: o,
49
- taskId: s,
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 "../entities/getEntity.es.js";
60
+ import "../entities/getEntityPanel.es.js";
61
+ import "../overview/getOverview.es.js";
62
+ import "../overview/updateOverview.es.js";
63
+ import "../versions/getVersionsProducts.es.js";
64
+ import "../links/getEntityLinks.es.js";
65
+ import "../entities/updateEntity.es.js";
66
+ import "../entityLists/getLists.es.js";
67
+ import "../entityLists/updateLists.es.js";
68
+ import "../entityLists/getListsAttributes.es.js";
69
+ import "../entityLists/listItemsColumnStats.es.js";
70
+ import "../entityLists/updateListsAttributes.es.js";
71
+ import "../entityLists/listFolders.es.js";
72
+ import "../folders/getFolders.es.js";
73
+ import "../folders/getFolderDeleteInfo.es.js";
74
+ import "../grouping/getGrouping.es.js";
75
+ import "../links/updateLinks.es.js";
76
+ import "../links/getLinks.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 "./updateReview.es.js";
84
+ import "../share/share.es.js";
85
+ import "../system/getSystem.es.js";
86
+ import "../tasks/getTasks.es.js";
87
+ import "../tasks/updateTasks.es.js";
88
+ import "../teams/getTeams.es.js";
89
+ import "../userDashboard/getUserDashboard.es.js";
90
+ import "../users/getUsers.es.js";
91
+ import "../users/updateUsers.es.js";
92
+ import "../users/guests.es.js";
93
+ import "../versions/updateVersions.es.js";
94
+ import "../views/getViews.es.js";
95
+ import "../views/updateViews.es.js";
96
+ import "../watchers/getWatchers.es.js";
97
+ import "../uris/getUris.es.js";
98
+ import y from "../../../util/pubsub.es.js";
99
+ const h = (n, {
100
+ productId: p,
101
+ taskId: o,
50
102
  folderId: r,
51
- versionId: n
52
- }, p) => {
103
+ versionId: s
104
+ }, a) => {
53
105
  const e = [];
54
- if (o && e.push({ type: "review", id: o }), s && e.push({ type: "review", id: s }), r && e.push({ type: "review", id: r }), p && (o && e.push({ type: "viewer", id: o }), s && e.push({ type: "viewer", id: s }), r && e.push({ type: "viewer", id: r }), n && e.push({ type: "viewer", id: n }), e.push({ type: "viewer", id: "LIST" })), n && e.push({ type: "review", id: n }), a) {
55
- [...new Set(a.flatMap((i) => i?.productId || []))].forEach((i) => {
56
- e.find((t) => t.id === i && t.type === "review") || e.push({ type: "review", id: i }), p && !e.find((t) => t.id === i && t.type === "viewer") && e.push({ type: "viewer", id: i });
106
+ if (p && e.push({ type: "review", id: p }), o && e.push({ type: "review", id: o }), r && e.push({ type: "review", id: r }), a && (p && e.push({ type: "viewer", id: p }), o && e.push({ type: "viewer", id: o }), r && e.push({ type: "viewer", id: r }), s && e.push({ type: "viewer", id: s }), e.push({ type: "viewer", id: "LIST" })), s && e.push({ type: "review", id: s }), n) {
107
+ [...new Set(n.flatMap((i) => i?.productId || []))].forEach((i) => {
108
+ e.find((t) => t.id === i && t.type === "review") || e.push({ type: "review", id: i }), a && !e.find((t) => t.id === i && t.type === "viewer") && e.push({ type: "viewer", id: i });
57
109
  });
58
- const d = a.flatMap(
110
+ const m = n.flatMap(
59
111
  (i) => i ? {
60
112
  type: "review",
61
113
  id: i.id
62
114
  } : []
63
115
  );
64
- e.push(...d), p && d.forEach((i) => {
116
+ e.push(...m), a && m.forEach((i) => {
65
117
  e.find((t) => t.id === i.id && t.type === "viewer") || e.push({ type: "viewer", id: i.id });
66
118
  });
67
- const c = a.flatMap(
119
+ const u = n.flatMap(
68
120
  (i) => i ? i.reviewables?.flatMap((t) => [
69
121
  {
70
122
  type: "review",
@@ -76,37 +128,37 @@ const h = (a, {
76
128
  }
77
129
  ]) : []
78
130
  );
79
- e.push(...c);
131
+ e.push(...u);
80
132
  }
81
133
  return e;
82
- }, R = l.enhanceEndpoints({
134
+ }, R = f.enhanceEndpoints({
83
135
  endpoints: {
84
136
  getReviewablesForVersion: {
85
137
  keepUnusedDataFor: 1,
86
- providesTags: (a, o, { versionId: s }) => h([a], { versionId: s, productId: a?.productId }),
87
- async onCacheEntryAdded({ versionId: a }, { updateCachedData: o, cacheDataLoaded: s, cacheEntryRemoved: r, dispatch: n, getCacheEntry: p }) {
138
+ providesTags: (n, p, { versionId: o }) => h([n], { versionId: o, productId: n?.productId }),
139
+ async onCacheEntryAdded({ versionId: n }, { updateCachedData: p, cacheDataLoaded: o, cacheEntryRemoved: r, dispatch: s, getCacheEntry: a }) {
88
140
  let e;
89
141
  try {
90
- await s;
91
- const f = (d, c) => {
92
- if (d !== "reviewable.process") return;
93
- const i = c?.summary || {};
94
- if (i.versionId !== a) return;
95
- const t = p(), m = t.data?.reviewables?.findIndex(
142
+ await o;
143
+ const c = (m, u) => {
144
+ if (m !== "reviewable.process") return;
145
+ const i = u?.summary || {};
146
+ if (i.versionId !== n) return;
147
+ const t = a(), l = t.data?.reviewables?.findIndex(
96
148
  (w) => w?.fileId === i.sourceFileId
97
149
  );
98
- if (m && m !== -1 && c.status !== "finished") {
99
- const w = c?.progress || 0;
100
- o((u) => {
101
- const v = u.reviewables;
150
+ if (l && l !== -1 && u.status !== "finished") {
151
+ const w = u?.progress || 0;
152
+ p((d) => {
153
+ const v = d.reviewables;
102
154
  if (!v) return;
103
- const b = v[m].processing;
104
- v[m] = {
105
- ...v[m],
155
+ const b = v[l].processing;
156
+ v[l] = {
157
+ ...v[l],
106
158
  processing: {
107
159
  ...b,
108
160
  progress: w,
109
- eventId: c.id
161
+ eventId: u.id
110
162
  }
111
163
  };
112
164
  });
@@ -115,15 +167,15 @@ const h = (a, {
115
167
  "Reviewable not found in cache, refreshing to get data:",
116
168
  i.sourceFileId,
117
169
  i.versionId
118
- ), n(
119
- l.util.invalidateTags([{ type: "review", id: i.versionId }])
120
- ), c.status === "finished" && t.data?.productId && n(
121
- l.util.invalidateTags([
170
+ ), s(
171
+ f.util.invalidateTags([{ type: "review", id: i.versionId }])
172
+ ), u.status === "finished" && t.data?.productId && s(
173
+ f.util.invalidateTags([
122
174
  { type: "viewer", id: t.data?.productId }
123
175
  ])
124
176
  );
125
177
  };
126
- e = y.subscribe("reviewable.process", f);
178
+ e = y.subscribe("reviewable.process", c);
127
179
  } catch {
128
180
  }
129
181
  await r, y.unsubscribe(e);
@@ -131,78 +183,78 @@ const h = (a, {
131
183
  }
132
184
  }
133
185
  }), T = R.injectEndpoints({
134
- endpoints: (a) => ({
186
+ endpoints: (n) => ({
135
187
  // custom endpoint to get reviewables from product/task/folder
136
188
  // utilizes getReviewablesForProduct, getReviewablesForTask, getReviewablesForFolder
137
- getViewerReviewables: a.query({
138
- queryFn: async ({ productId: o, taskId: s, folderId: r, projectName: n }, { dispatch: p }) => {
189
+ getViewerReviewables: n.query({
190
+ queryFn: async ({ productId: p, taskId: o, folderId: r, projectName: s }, { dispatch: a }) => {
139
191
  let e;
140
- if (o ? e = l.endpoints.getReviewablesForProduct.initiate(
192
+ if (p ? e = f.endpoints.getReviewablesForProduct.initiate(
141
193
  {
142
- productId: o,
143
- projectName: n
194
+ productId: p,
195
+ projectName: s
144
196
  },
145
197
  { forceRefetch: !0 }
146
- ) : s ? e = l.endpoints.getReviewablesForTask.initiate(
147
- { taskId: s, projectName: n },
198
+ ) : o ? e = f.endpoints.getReviewablesForTask.initiate(
199
+ { taskId: o, projectName: s },
148
200
  { forceRefetch: !0 }
149
- ) : r && (e = l.endpoints.getReviewablesForFolder.initiate(
201
+ ) : r && (e = f.endpoints.getReviewablesForFolder.initiate(
150
202
  {
151
203
  folderId: r,
152
- projectName: n
204
+ projectName: s
153
205
  },
154
206
  { forceRefetch: !0 }
155
- ), (await p(
156
- l.endpoints.getReviewablesForFolder.initiate(
157
- { folderId: r, projectName: n },
207
+ ), (await a(
208
+ f.endpoints.getReviewablesForFolder.initiate(
209
+ { folderId: r, projectName: s },
158
210
  { forceRefetch: !0 }
159
211
  )
160
212
  )).error), !e)
161
213
  return {
162
214
  error: { status: "CUSTOM_ERROR", error: "No query found" }
163
215
  };
164
- const f = await p(e);
165
- if (f.error) {
166
- const d = f.error;
167
- return console.error(d), { error: d };
216
+ const c = await a(e);
217
+ if (c.error) {
218
+ const m = c.error;
219
+ return console.error(m), { error: m };
168
220
  } else
169
- return { data: f.data };
221
+ return { data: c.data };
170
222
  },
171
- providesTags: (o, s, r) => h(o, r, !0),
172
- async onCacheEntryAdded({ productId: o, taskId: s, folderId: r }, { cacheDataLoaded: n, cacheEntryRemoved: p, dispatch: e, getCacheEntry: f }) {
173
- let d;
223
+ providesTags: (p, o, r) => h(p, r, !0),
224
+ async onCacheEntryAdded({ productId: p, taskId: o, folderId: r }, { cacheDataLoaded: s, cacheEntryRemoved: a, dispatch: e, getCacheEntry: c }) {
225
+ let m;
174
226
  try {
175
- await n;
176
- const c = (i, t) => {
227
+ await s;
228
+ const u = (i, t) => {
177
229
  if (i !== "reviewable.process") return;
178
- const m = t?.summary || {};
179
- if (new Set(f().data?.map((u) => u.id) || [])?.has(m.versionId || "") && t.status === "finished") {
180
- let u;
181
- o ? u = o : s ? u = s : r && (u = r), console.log("Reviewable finished, refreshing to get data:", { id: u }), u && e(l.util.invalidateTags([{ type: "review", id: u }]));
230
+ const l = t?.summary || {};
231
+ if (new Set(c().data?.map((d) => d.id) || [])?.has(l.versionId || "") && t.status === "finished") {
232
+ let d;
233
+ p ? d = p : o ? d = o : r && (d = r), console.log("Reviewable finished, refreshing to get data:", { id: d }), d && e(f.util.invalidateTags([{ type: "review", id: d }]));
182
234
  }
183
235
  };
184
- d = y.subscribe("reviewable.process", c);
236
+ m = y.subscribe("reviewable.process", u);
185
237
  } catch {
186
238
  }
187
- await p, y.unsubscribe(d);
239
+ await a, y.unsubscribe(m);
188
240
  }
189
241
  }),
190
- hasTranscoder: a.query({
191
- queryFn: async (o, { dispatch: s }) => {
192
- const r = await s(g.endpoints.listAddons.initiate({ details: !1 }));
193
- return r.data ? { data: r.data.addons.some((p) => p.name === "transcoder") } : r.error ? (console.error(r.error), { data: !1 }) : { data: !1 };
242
+ hasTranscoder: n.query({
243
+ queryFn: async (p, { dispatch: o }) => {
244
+ const r = await o(g.endpoints.listAddons.initiate({ details: !1 }));
245
+ return r.data ? { data: r.data.addons.some((a) => a.name === "transcoder") } : r.error ? (console.error(r.error), { data: !1 }) : { data: !1 };
194
246
  }
195
247
  })
196
248
  })
197
249
  }), {
198
- useGetViewerReviewablesQuery: we,
199
- useGetReviewablesForVersionQuery: ve,
200
- useHasTranscoderQuery: ye
250
+ useGetViewerReviewablesQuery: fi,
251
+ useGetReviewablesForVersionQuery: li,
252
+ useHasTranscoderQuery: wi
201
253
  } = T;
202
254
  export {
203
255
  T as default,
204
- ve as useGetReviewablesForVersionQuery,
205
- we as useGetViewerReviewablesQuery,
206
- ye as useHasTranscoderQuery
256
+ li as useGetReviewablesForVersionQuery,
257
+ fi as useGetViewerReviewablesQuery,
258
+ wi as useHasTranscoderQuery
207
259
  };
208
260
  //# sourceMappingURL=getReview.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getReview.es.js","sources":["../../../../../../src/api/queries/review/getReview.ts"],"sourcesContent":["import { PubSub } from '@shared/util'\nimport { reviewablesApi, ReviewableModel, VersionReviewablesModel } from '@shared/api/generated'\nimport { addonsQueries } from '@shared/api/queries/addons'\nimport {\n Summary,\n GetReviewablesResponse,\n GetViewerReviewablesParams,\n TagTypes,\n UpdatedDefinitions,\n} from './types'\nimport { FetchBaseQueryError } from '@reduxjs/toolkit/query'\n\nconst getViewerReviewablesTags = (\n result: (GetReviewablesResponse | VersionReviewablesModel | undefined)[] | undefined,\n {\n productId,\n taskId,\n folderId,\n versionId,\n }: {\n productId?: string\n taskId?: string\n folderId?: string\n versionId?: string\n },\n viewer?: boolean,\n) => {\n const tags: { type: string; id: string }[] = []\n\n // different ways to open the viewer\n if (productId) tags.push({ type: 'review', id: productId })\n\n if (taskId) tags.push({ type: 'review', id: taskId })\n if (folderId) tags.push({ type: 'review', id: folderId })\n\n if (viewer) {\n // viewer specific tags for invalidating just the viewer\n if (productId) tags.push({ type: 'viewer', id: productId })\n\n if (taskId) tags.push({ type: 'viewer', id: taskId })\n if (folderId) tags.push({ type: 'viewer', id: folderId })\n if (versionId) tags.push({ type: 'viewer', id: versionId })\n\n tags.push({ type: 'viewer', id: 'LIST' })\n }\n\n // reviewables list caches\n if (versionId) tags.push({ type: 'review', id: versionId })\n\n if (result) {\n // create a unique list of productIds\n const productIds: string[] = [...new Set(result.flatMap((version) => version?.productId || []))]\n\n // if no productId was provided in the args, use the one from the result\n productIds.forEach((productId) => {\n if (!tags.find((tag) => tag.id === productId && tag.type === 'review'))\n tags.push({ type: 'review', id: productId })\n // if opening the viewer, add the viewer tag\n if (viewer && !tags.find((tag) => tag.id === productId && tag.type === 'viewer'))\n tags.push({ type: 'viewer', id: productId })\n })\n\n const versionTags = result.flatMap((version) =>\n version\n ? {\n type: 'review',\n id: version.id,\n }\n : [],\n )\n\n tags.push(...versionTags)\n\n // also add viewer tags for viewer\n if (viewer) {\n versionTags.forEach((tag) => {\n if (!tags.find((t) => t.id === tag.id && t.type === 'viewer')) {\n tags.push({ type: 'viewer', id: tag.id })\n }\n })\n }\n\n const reviewableTags = result.flatMap((version) =>\n version\n ? version.reviewables?.flatMap((reviewable) => [\n {\n type: 'review',\n id: reviewable.fileId,\n },\n {\n type: 'review',\n id: reviewable.activityId,\n },\n ])\n : [],\n ) as { type: 'review'; id: string }[]\n\n tags.push(...reviewableTags)\n }\n\n return tags\n}\n\nconst enhancedApi = reviewablesApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n getReviewablesForVersion: {\n keepUnusedDataFor: 1,\n providesTags: (result, _error, { versionId }) =>\n getViewerReviewablesTags([result], { versionId, productId: result?.productId }),\n\n async onCacheEntryAdded(\n { versionId },\n { updateCachedData, cacheDataLoaded, cacheEntryRemoved, dispatch, getCacheEntry },\n ) {\n let token\n try {\n // wait for the initial query to resolve before proceeding\n await cacheDataLoaded\n\n const handlePubSub = (topic: string, message: any) => {\n if (topic !== 'reviewable.process') return\n\n const summary = (message?.summary as Summary) || {}\n\n // check it's for the right version\n if (summary.versionId !== versionId) return\n\n const cache = getCacheEntry()\n\n // check if the reviewable is in the cache\n const index = cache.data?.reviewables?.findIndex(\n (r: ReviewableModel) => r?.fileId === summary.sourceFileId,\n )\n\n if (index && index !== -1 && message.status !== 'finished') {\n // update the progress of the reviewable\n const progress = message?.progress || 0\n // update the cache reviewable\n\n updateCachedData((data) => {\n const reviewables = data.reviewables\n\n // check if there are reviewables\n if (!reviewables) return\n const processing = reviewables[index].processing\n\n // update the reviewable with the new progress\n reviewables[index] = {\n ...reviewables[index],\n processing: {\n ...processing,\n progress,\n eventId: message.id,\n },\n }\n })\n } else {\n console.log(\n 'Reviewable not found in cache, refreshing to get data:',\n summary.sourceFileId,\n summary.versionId,\n )\n // get data for this new reviewable\n dispatch(\n reviewablesApi.util.invalidateTags([{ type: 'review', id: summary.versionId }]),\n )\n\n // if it's finished, also invalidate viewer\n if (message.status === 'finished') {\n // also invalidate the viewer cache\n if (cache.data?.productId) {\n dispatch(\n reviewablesApi.util.invalidateTags([\n { type: 'viewer', id: cache.data?.productId },\n ]),\n )\n }\n }\n }\n }\n\n // sub to websocket topic\n token = PubSub.subscribe('reviewable.process', 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 },\n },\n },\n})\n\nconst getReviewApi = enhancedApi.injectEndpoints({\n endpoints: (build) => ({\n // custom endpoint to get reviewables from product/task/folder\n // utilizes getReviewablesForProduct, getReviewablesForTask, getReviewablesForFolder\n getViewerReviewables: build.query<GetReviewablesResponse[], GetViewerReviewablesParams>({\n queryFn: async ({ productId, taskId, folderId, projectName }, { dispatch }) => {\n let query: any\n\n if (productId) {\n query = reviewablesApi.endpoints.getReviewablesForProduct.initiate(\n {\n productId,\n projectName,\n },\n { forceRefetch: true },\n )\n } else if (taskId) {\n query = reviewablesApi.endpoints.getReviewablesForTask.initiate(\n { taskId, projectName },\n { forceRefetch: true },\n )\n } else if (folderId) {\n query = reviewablesApi.endpoints.getReviewablesForFolder.initiate(\n {\n folderId,\n projectName,\n },\n { forceRefetch: true },\n )\n\n const result = await dispatch(\n reviewablesApi.endpoints.getReviewablesForFolder.initiate(\n { folderId, projectName },\n { forceRefetch: true },\n ),\n )\n result.error\n }\n\n if (!query)\n return {\n error: { status: 'CUSTOM_ERROR', error: 'No query found' } as FetchBaseQueryError,\n }\n\n const result = await dispatch(query)\n\n if (result.error) {\n const error = result.error as FetchBaseQueryError\n\n console.error(error)\n return { error: error }\n } else {\n const data = result.data as GetReviewablesResponse[]\n return { data }\n }\n },\n providesTags: (result, _error, args) => getViewerReviewablesTags(result, args, true),\n async onCacheEntryAdded(\n { productId, taskId, folderId },\n { cacheDataLoaded, cacheEntryRemoved, dispatch, getCacheEntry },\n ) {\n let token\n try {\n // wait for the initial query to resolve before proceeding\n await cacheDataLoaded\n\n const handlePubSub = (topic: string, message: any) => {\n if (topic !== 'reviewable.process') return\n\n const summary = (message?.summary as Summary) || {}\n\n const versionIds = new Set(getCacheEntry().data?.map((version) => version.id) || [])\n\n // check that one of the versions is the right one\n if (!versionIds?.has(summary.versionId || '')) return\n\n if (message.status === 'finished') {\n let id: string | undefined\n if (productId) id = productId\n else if (taskId) id = taskId\n else if (folderId) id = folderId\n\n console.log('Reviewable finished, refreshing to get data:', { id })\n // \"838977a81dab11ef95ad0242ac180005\"\n if (id) {\n // get data for this new reviewable (invalidate self)\n dispatch(reviewablesApi.util.invalidateTags([{ type: 'review', id: id }]))\n }\n }\n }\n\n // sub to websocket topic\n token = PubSub.subscribe('reviewable.process', 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 },\n }),\n hasTranscoder: build.query<boolean, undefined>({\n queryFn: async (_arg, { dispatch }) => {\n // get list of installed addons\n const res = await dispatch(addonsQueries.endpoints.listAddons.initiate({ details: false }))\n\n if (res.data) {\n const hasTranscoder = res.data.addons.some((addon) => addon.name === 'transcoder')\n\n return { data: hasTranscoder }\n } else if (res.error) {\n console.error(res.error)\n return { data: false }\n } else return { data: false }\n },\n }),\n }),\n})\n\nexport const {\n useGetViewerReviewablesQuery,\n useGetReviewablesForVersionQuery,\n useHasTranscoderQuery,\n} = getReviewApi\nexport default getReviewApi\n"],"names":["getViewerReviewablesTags","result","productId","taskId","folderId","versionId","viewer","tags","version","tag","versionTags","reviewableTags","reviewable","enhancedApi","reviewablesApi","_error","updateCachedData","cacheDataLoaded","cacheEntryRemoved","dispatch","getCacheEntry","token","handlePubSub","topic","message","summary","cache","index","r","progress","data","reviewables","processing","PubSub","getReviewApi","build","projectName","query","error","args","id","_arg","res","addonsQueries","addon","useGetViewerReviewablesQuery","useGetReviewablesForVersionQuery","useHasTranscoderQuery"],"mappings":"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"}
1
+ {"version":3,"file":"getReview.es.js","sources":["../../../../../../src/api/queries/review/getReview.ts"],"sourcesContent":["import { PubSub } from '@shared/util'\nimport { reviewablesApi, ReviewableModel, VersionReviewablesModel } from '@shared/api/generated'\nimport { addonsQueries } from '@shared/api/queries/addons'\nimport {\n Summary,\n GetReviewablesResponse,\n GetViewerReviewablesParams,\n TagTypes,\n UpdatedDefinitions,\n} from './types'\nimport { FetchBaseQueryError } from '@reduxjs/toolkit/query'\n\nconst getViewerReviewablesTags = (\n result: (GetReviewablesResponse | VersionReviewablesModel | undefined)[] | undefined,\n {\n productId,\n taskId,\n folderId,\n versionId,\n }: {\n productId?: string\n taskId?: string\n folderId?: string\n versionId?: string\n },\n viewer?: boolean,\n) => {\n const tags: { type: string; id: string }[] = []\n\n // different ways to open the viewer\n if (productId) tags.push({ type: 'review', id: productId })\n\n if (taskId) tags.push({ type: 'review', id: taskId })\n if (folderId) tags.push({ type: 'review', id: folderId })\n\n if (viewer) {\n // viewer specific tags for invalidating just the viewer\n if (productId) tags.push({ type: 'viewer', id: productId })\n\n if (taskId) tags.push({ type: 'viewer', id: taskId })\n if (folderId) tags.push({ type: 'viewer', id: folderId })\n if (versionId) tags.push({ type: 'viewer', id: versionId })\n\n tags.push({ type: 'viewer', id: 'LIST' })\n }\n\n // reviewables list caches\n if (versionId) tags.push({ type: 'review', id: versionId })\n\n if (result) {\n // create a unique list of productIds\n const productIds: string[] = [...new Set(result.flatMap((version) => version?.productId || []))]\n\n // if no productId was provided in the args, use the one from the result\n productIds.forEach((productId) => {\n if (!tags.find((tag) => tag.id === productId && tag.type === 'review'))\n tags.push({ type: 'review', id: productId })\n // if opening the viewer, add the viewer tag\n if (viewer && !tags.find((tag) => tag.id === productId && tag.type === 'viewer'))\n tags.push({ type: 'viewer', id: productId })\n })\n\n const versionTags = result.flatMap((version) =>\n version\n ? {\n type: 'review',\n id: version.id,\n }\n : [],\n )\n\n tags.push(...versionTags)\n\n // also add viewer tags for viewer\n if (viewer) {\n versionTags.forEach((tag) => {\n if (!tags.find((t) => t.id === tag.id && t.type === 'viewer')) {\n tags.push({ type: 'viewer', id: tag.id })\n }\n })\n }\n\n const reviewableTags = result.flatMap((version) =>\n version\n ? version.reviewables?.flatMap((reviewable) => [\n {\n type: 'review',\n id: reviewable.fileId,\n },\n {\n type: 'review',\n id: reviewable.activityId,\n },\n ])\n : [],\n ) as { type: 'review'; id: string }[]\n\n tags.push(...reviewableTags)\n }\n\n return tags\n}\n\nconst enhancedApi = reviewablesApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n getReviewablesForVersion: {\n keepUnusedDataFor: 1,\n providesTags: (result, _error, { versionId }) =>\n getViewerReviewablesTags([result], { versionId, productId: result?.productId }),\n\n async onCacheEntryAdded(\n { versionId },\n { updateCachedData, cacheDataLoaded, cacheEntryRemoved, dispatch, getCacheEntry },\n ) {\n let token\n try {\n // wait for the initial query to resolve before proceeding\n await cacheDataLoaded\n\n const handlePubSub = (topic: string, message: any) => {\n if (topic !== 'reviewable.process') return\n\n const summary = (message?.summary as Summary) || {}\n\n // check it's for the right version\n if (summary.versionId !== versionId) return\n\n const cache = getCacheEntry()\n\n // check if the reviewable is in the cache\n const index = cache.data?.reviewables?.findIndex(\n (r: ReviewableModel) => r?.fileId === summary.sourceFileId,\n )\n\n if (index && index !== -1 && message.status !== 'finished') {\n // update the progress of the reviewable\n const progress = message?.progress || 0\n // update the cache reviewable\n\n updateCachedData((data) => {\n const reviewables = data.reviewables\n\n // check if there are reviewables\n if (!reviewables) return\n const processing = reviewables[index].processing\n\n // update the reviewable with the new progress\n reviewables[index] = {\n ...reviewables[index],\n processing: {\n ...processing,\n progress,\n eventId: message.id,\n },\n }\n })\n } else {\n console.log(\n 'Reviewable not found in cache, refreshing to get data:',\n summary.sourceFileId,\n summary.versionId,\n )\n // get data for this new reviewable\n dispatch(\n reviewablesApi.util.invalidateTags([{ type: 'review', id: summary.versionId }]),\n )\n\n // if it's finished, also invalidate viewer\n if (message.status === 'finished') {\n // also invalidate the viewer cache\n if (cache.data?.productId) {\n dispatch(\n reviewablesApi.util.invalidateTags([\n { type: 'viewer', id: cache.data?.productId },\n ]),\n )\n }\n }\n }\n }\n\n // sub to websocket topic\n token = PubSub.subscribe('reviewable.process', 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 },\n },\n },\n})\n\nconst getReviewApi = enhancedApi.injectEndpoints({\n endpoints: (build) => ({\n // custom endpoint to get reviewables from product/task/folder\n // utilizes getReviewablesForProduct, getReviewablesForTask, getReviewablesForFolder\n getViewerReviewables: build.query<GetReviewablesResponse[], GetViewerReviewablesParams>({\n queryFn: async ({ productId, taskId, folderId, projectName }, { dispatch }) => {\n let query: any\n\n if (productId) {\n query = reviewablesApi.endpoints.getReviewablesForProduct.initiate(\n {\n productId,\n projectName,\n },\n { forceRefetch: true },\n )\n } else if (taskId) {\n query = reviewablesApi.endpoints.getReviewablesForTask.initiate(\n { taskId, projectName },\n { forceRefetch: true },\n )\n } else if (folderId) {\n query = reviewablesApi.endpoints.getReviewablesForFolder.initiate(\n {\n folderId,\n projectName,\n },\n { forceRefetch: true },\n )\n\n const result = await dispatch(\n reviewablesApi.endpoints.getReviewablesForFolder.initiate(\n { folderId, projectName },\n { forceRefetch: true },\n ),\n )\n result.error\n }\n\n if (!query)\n return {\n error: { status: 'CUSTOM_ERROR', error: 'No query found' } as FetchBaseQueryError,\n }\n\n const result = await dispatch(query)\n\n if (result.error) {\n const error = result.error as FetchBaseQueryError\n\n console.error(error)\n return { error: error }\n } else {\n const data = result.data as GetReviewablesResponse[]\n return { data }\n }\n },\n providesTags: (result, _error, args) => getViewerReviewablesTags(result, args, true),\n async onCacheEntryAdded(\n { productId, taskId, folderId },\n { cacheDataLoaded, cacheEntryRemoved, dispatch, getCacheEntry },\n ) {\n let token\n try {\n // wait for the initial query to resolve before proceeding\n await cacheDataLoaded\n\n const handlePubSub = (topic: string, message: any) => {\n if (topic !== 'reviewable.process') return\n\n const summary = (message?.summary as Summary) || {}\n\n const versionIds = new Set(getCacheEntry().data?.map((version) => version.id) || [])\n\n // check that one of the versions is the right one\n if (!versionIds?.has(summary.versionId || '')) return\n\n if (message.status === 'finished') {\n let id: string | undefined\n if (productId) id = productId\n else if (taskId) id = taskId\n else if (folderId) id = folderId\n\n console.log('Reviewable finished, refreshing to get data:', { id })\n // \"838977a81dab11ef95ad0242ac180005\"\n if (id) {\n // get data for this new reviewable (invalidate self)\n dispatch(reviewablesApi.util.invalidateTags([{ type: 'review', id: id }]))\n }\n }\n }\n\n // sub to websocket topic\n token = PubSub.subscribe('reviewable.process', 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 },\n }),\n hasTranscoder: build.query<boolean, undefined>({\n queryFn: async (_arg, { dispatch }) => {\n // get list of installed addons\n const res = await dispatch(addonsQueries.endpoints.listAddons.initiate({ details: false }))\n\n if (res.data) {\n const hasTranscoder = res.data.addons.some((addon) => addon.name === 'transcoder')\n\n return { data: hasTranscoder }\n } else if (res.error) {\n console.error(res.error)\n return { data: false }\n } else return { data: false }\n },\n }),\n }),\n})\n\nexport const {\n useGetViewerReviewablesQuery,\n useGetReviewablesForVersionQuery,\n useHasTranscoderQuery,\n} = getReviewApi\nexport default getReviewApi\n"],"names":["getViewerReviewablesTags","result","productId","taskId","folderId","versionId","viewer","tags","version","tag","versionTags","reviewableTags","reviewable","enhancedApi","reviewablesApi","_error","updateCachedData","cacheDataLoaded","cacheEntryRemoved","dispatch","getCacheEntry","token","handlePubSub","topic","message","summary","cache","index","r","progress","data","reviewables","processing","PubSub","getReviewApi","build","projectName","query","error","args","id","_arg","res","addonsQueries","addon","useGetViewerReviewablesQuery","useGetReviewablesForVersionQuery","useHasTranscoderQuery"],"mappings":"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"}