@ynput/ayon-frontend-shared 0.2.15 → 0.2.16

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 (519) hide show
  1. package/dist/DetailsPanel.cjs.js +3 -0
  2. package/dist/DetailsPanel.cjs.js.map +1 -1
  3. package/dist/DetailsPanel.es.js +3 -0
  4. package/dist/DetailsPanel.es.js.map +1 -1
  5. package/dist/ProjectTreeTable.cjs.js +34 -1
  6. package/dist/ProjectTreeTable.cjs.js.map +1 -1
  7. package/dist/ProjectTreeTable.es.js +36 -3
  8. package/dist/ProjectTreeTable.es.js.map +1 -1
  9. package/dist/_virtual/index.cjs10.js +5 -3
  10. package/dist/_virtual/index.cjs10.js.map +1 -1
  11. package/dist/_virtual/index.cjs4.js +4 -4
  12. package/dist/_virtual/index.cjs5.js +3 -5
  13. package/dist/_virtual/index.cjs5.js.map +1 -1
  14. package/dist/_virtual/index.cjs6.js +5 -3
  15. package/dist/_virtual/index.cjs6.js.map +1 -1
  16. package/dist/_virtual/index.cjs7.js +3 -5
  17. package/dist/_virtual/index.cjs7.js.map +1 -1
  18. package/dist/_virtual/index.cjs8.js +4 -4
  19. package/dist/_virtual/index.cjs9.js +4 -4
  20. package/dist/_virtual/index.es10.js +5 -2
  21. package/dist/_virtual/index.es10.js.map +1 -1
  22. package/dist/_virtual/index.es4.js +4 -4
  23. package/dist/_virtual/index.es5.js +2 -5
  24. package/dist/_virtual/index.es5.js.map +1 -1
  25. package/dist/_virtual/index.es6.js +5 -2
  26. package/dist/_virtual/index.es6.js.map +1 -1
  27. package/dist/_virtual/index.es7.js +2 -5
  28. package/dist/_virtual/index.es7.js.map +1 -1
  29. package/dist/_virtual/index.es8.js +4 -4
  30. package/dist/_virtual/index.es9.js +4 -4
  31. package/dist/api.cjs.js +6 -1
  32. package/dist/api.cjs.js.map +1 -1
  33. package/dist/api.es.js +8 -3
  34. package/dist/api.es.js.map +1 -1
  35. package/dist/components.cjs.js +3 -0
  36. package/dist/components.cjs.js.map +1 -1
  37. package/dist/components.es.js +3 -0
  38. package/dist/components.es.js.map +1 -1
  39. package/dist/index.cjs.js +3 -0
  40. package/dist/index.cjs.js.map +1 -1
  41. package/dist/index.es.js +3 -0
  42. package/dist/index.es.js.map +1 -1
  43. package/dist/node_modules/match-sorter/dist/match-sorter.esm.cjs.js +1 -1
  44. package/dist/node_modules/match-sorter/dist/match-sorter.esm.es.js +1 -1
  45. package/dist/node_modules/parse-numeric-range/index.cjs.js +1 -1
  46. package/dist/node_modules/parse-numeric-range/index.es.js +1 -1
  47. package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +2 -2
  48. package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
  49. package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
  50. package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
  51. package/dist/node_modules/rehype-prism-plus/dist/index.es.cjs.js +1 -1
  52. package/dist/node_modules/rehype-prism-plus/dist/index.es.es.js +1 -1
  53. package/dist/node_modules/remove-accents/index.cjs.js +1 -1
  54. package/dist/node_modules/remove-accents/index.es.js +1 -1
  55. package/dist/node_modules/vfile/lib/index.cjs.js +1 -1
  56. package/dist/node_modules/vfile/lib/index.es.js +1 -1
  57. package/dist/shared/src/api/generated/graphql.cjs.js +24 -0
  58. package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
  59. package/dist/shared/src/api/generated/graphql.es.js +24 -0
  60. package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
  61. package/dist/shared/src/api/generated/grouping.cjs.js +18 -0
  62. package/dist/shared/src/api/generated/grouping.cjs.js.map +1 -0
  63. package/dist/shared/src/api/generated/grouping.es.js +18 -0
  64. package/dist/shared/src/api/generated/grouping.es.js.map +1 -0
  65. package/dist/shared/src/api/generated/tasks.cjs.js +0 -8
  66. package/dist/shared/src/api/generated/tasks.cjs.js.map +1 -1
  67. package/dist/shared/src/api/generated/tasks.es.js +0 -8
  68. package/dist/shared/src/api/generated/tasks.es.js.map +1 -1
  69. package/dist/shared/src/api/queries/actions/getActions.cjs.js +1 -0
  70. package/dist/shared/src/api/queries/actions/getActions.cjs.js.map +1 -1
  71. package/dist/shared/src/api/queries/actions/getActions.es.js +1 -0
  72. package/dist/shared/src/api/queries/actions/getActions.es.js.map +1 -1
  73. package/dist/shared/src/api/queries/activities/getActivities.cjs.js +1 -0
  74. package/dist/shared/src/api/queries/activities/getActivities.cjs.js.map +1 -1
  75. package/dist/shared/src/api/queries/activities/getActivities.es.js +1 -0
  76. package/dist/shared/src/api/queries/activities/getActivities.es.js.map +1 -1
  77. package/dist/shared/src/api/queries/activities/getMentions.cjs.js +1 -0
  78. package/dist/shared/src/api/queries/activities/getMentions.cjs.js.map +1 -1
  79. package/dist/shared/src/api/queries/activities/getMentions.es.js +1 -0
  80. package/dist/shared/src/api/queries/activities/getMentions.es.js.map +1 -1
  81. package/dist/shared/src/api/queries/activities/updateReaction.cjs.js +1 -0
  82. package/dist/shared/src/api/queries/activities/updateReaction.cjs.js.map +1 -1
  83. package/dist/shared/src/api/queries/activities/updateReaction.es.js +1 -0
  84. package/dist/shared/src/api/queries/activities/updateReaction.es.js.map +1 -1
  85. package/dist/shared/src/api/queries/addons/getAddons.cjs.js +1 -0
  86. package/dist/shared/src/api/queries/addons/getAddons.cjs.js.map +1 -1
  87. package/dist/shared/src/api/queries/addons/getAddons.es.js +1 -0
  88. package/dist/shared/src/api/queries/addons/getAddons.es.js.map +1 -1
  89. package/dist/shared/src/api/queries/attributes/getAttributes.cjs.js +1 -0
  90. package/dist/shared/src/api/queries/attributes/getAttributes.cjs.js.map +1 -1
  91. package/dist/shared/src/api/queries/attributes/getAttributes.es.js +1 -0
  92. package/dist/shared/src/api/queries/attributes/getAttributes.es.js.map +1 -1
  93. package/dist/shared/src/api/queries/authentication/getAuthentication.cjs.js +1 -0
  94. package/dist/shared/src/api/queries/authentication/getAuthentication.cjs.js.map +1 -1
  95. package/dist/shared/src/api/queries/authentication/getAuthentication.es.js +1 -0
  96. package/dist/shared/src/api/queries/authentication/getAuthentication.es.js.map +1 -1
  97. package/dist/shared/src/api/queries/entities/getEntity.cjs.js +1 -0
  98. package/dist/shared/src/api/queries/entities/getEntity.cjs.js.map +1 -1
  99. package/dist/shared/src/api/queries/entities/getEntity.es.js +1 -0
  100. package/dist/shared/src/api/queries/entities/getEntity.es.js.map +1 -1
  101. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js +1 -0
  102. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js.map +1 -1
  103. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js +1 -0
  104. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js.map +1 -1
  105. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js +2 -0
  106. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
  107. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js +2 -0
  108. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
  109. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js +2 -0
  110. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js.map +1 -1
  111. package/dist/shared/src/api/queries/entities/updateEntity.es.js +2 -0
  112. package/dist/shared/src/api/queries/entities/updateEntity.es.js.map +1 -1
  113. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +1 -0
  114. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js.map +1 -1
  115. package/dist/shared/src/api/queries/entityLists/getLists.es.js +1 -0
  116. package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -1
  117. package/dist/shared/src/api/queries/entityLists/getListsAttributes.cjs.js +1 -0
  118. package/dist/shared/src/api/queries/entityLists/getListsAttributes.cjs.js.map +1 -1
  119. package/dist/shared/src/api/queries/entityLists/getListsAttributes.es.js +1 -0
  120. package/dist/shared/src/api/queries/entityLists/getListsAttributes.es.js.map +1 -1
  121. package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js +1 -0
  122. package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js.map +1 -1
  123. package/dist/shared/src/api/queries/entityLists/updateLists.es.js +1 -0
  124. package/dist/shared/src/api/queries/entityLists/updateLists.es.js.map +1 -1
  125. package/dist/shared/src/api/queries/folders/getFolders.cjs.js +1 -0
  126. package/dist/shared/src/api/queries/folders/getFolders.cjs.js.map +1 -1
  127. package/dist/shared/src/api/queries/folders/getFolders.es.js +1 -0
  128. package/dist/shared/src/api/queries/folders/getFolders.es.js.map +1 -1
  129. package/dist/shared/src/api/queries/grouping/getGrouping.cjs.js +47 -0
  130. package/dist/shared/src/api/queries/grouping/getGrouping.cjs.js.map +1 -0
  131. package/dist/shared/src/api/queries/grouping/getGrouping.es.js +47 -0
  132. package/dist/shared/src/api/queries/grouping/getGrouping.es.js.map +1 -0
  133. package/dist/shared/src/api/queries/overview/getOverview.cjs.js +4 -5
  134. package/dist/shared/src/api/queries/overview/getOverview.cjs.js.map +1 -1
  135. package/dist/shared/src/api/queries/overview/getOverview.es.js +4 -5
  136. package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
  137. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +2 -0
  138. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
  139. package/dist/shared/src/api/queries/overview/updateOverview.es.js +2 -0
  140. package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
  141. package/dist/shared/src/api/queries/permissions/getPermissions.cjs.js +1 -0
  142. package/dist/shared/src/api/queries/permissions/getPermissions.cjs.js.map +1 -1
  143. package/dist/shared/src/api/queries/permissions/getPermissions.es.js +1 -0
  144. package/dist/shared/src/api/queries/permissions/getPermissions.es.js.map +1 -1
  145. package/dist/shared/src/api/queries/project/getProject.cjs.js +1 -0
  146. package/dist/shared/src/api/queries/project/getProject.cjs.js.map +1 -1
  147. package/dist/shared/src/api/queries/project/getProject.es.js +1 -0
  148. package/dist/shared/src/api/queries/project/getProject.es.js.map +1 -1
  149. package/dist/shared/src/api/queries/review/getReview.cjs.js +1 -0
  150. package/dist/shared/src/api/queries/review/getReview.cjs.js.map +1 -1
  151. package/dist/shared/src/api/queries/review/getReview.es.js +1 -0
  152. package/dist/shared/src/api/queries/review/getReview.es.js.map +1 -1
  153. package/dist/shared/src/api/queries/review/updateReview.cjs.js +1 -0
  154. package/dist/shared/src/api/queries/review/updateReview.cjs.js.map +1 -1
  155. package/dist/shared/src/api/queries/review/updateReview.es.js +1 -0
  156. package/dist/shared/src/api/queries/review/updateReview.es.js.map +1 -1
  157. package/dist/shared/src/api/queries/system/getSystem.cjs.js +1 -0
  158. package/dist/shared/src/api/queries/system/getSystem.cjs.js.map +1 -1
  159. package/dist/shared/src/api/queries/system/getSystem.es.js +1 -0
  160. package/dist/shared/src/api/queries/system/getSystem.es.js.map +1 -1
  161. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js +1 -0
  162. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js.map +1 -1
  163. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js +1 -0
  164. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js.map +1 -1
  165. package/dist/shared/src/api/queries/users/getUsers.cjs.js +2 -0
  166. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  167. package/dist/shared/src/api/queries/users/getUsers.es.js +2 -0
  168. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  169. package/dist/shared/src/api/queries/users/updateUsers.cjs.js +1 -0
  170. package/dist/shared/src/api/queries/users/updateUsers.cjs.js.map +1 -1
  171. package/dist/shared/src/api/queries/users/updateUsers.es.js +1 -0
  172. package/dist/shared/src/api/queries/users/updateUsers.es.js.map +1 -1
  173. package/dist/shared/src/api/queries/watchers/getWatchers.cjs.js +1 -0
  174. package/dist/shared/src/api/queries/watchers/getWatchers.cjs.js.map +1 -1
  175. package/dist/shared/src/api/queries/watchers/getWatchers.es.js +1 -0
  176. package/dist/shared/src/api/queries/watchers/getWatchers.es.js.map +1 -1
  177. package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js +2 -2
  178. package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js.map +1 -1
  179. package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js +2 -2
  180. package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js.map +1 -1
  181. package/dist/shared/src/components/Badge/Badge.cjs.js +31 -0
  182. package/dist/shared/src/components/Badge/Badge.cjs.js.map +1 -0
  183. package/dist/shared/src/components/Badge/Badge.es.js +31 -0
  184. package/dist/shared/src/components/Badge/Badge.es.js.map +1 -0
  185. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +2 -0
  186. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
  187. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +2 -0
  188. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +1 -1
  189. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.cjs.js +2 -0
  190. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.cjs.js.map +1 -1
  191. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.es.js +2 -0
  192. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.es.js.map +1 -1
  193. package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.cjs.js +3 -0
  194. package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.cjs.js.map +1 -1
  195. package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.es.js +3 -0
  196. package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.es.js.map +1 -1
  197. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +138 -3
  198. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  199. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +138 -3
  200. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  201. package/dist/shared/src/components/ReviewableProgressCard/ReviewableProgressCard.cjs.js +5 -1
  202. package/dist/shared/src/components/ReviewableProgressCard/ReviewableProgressCard.cjs.js.map +1 -1
  203. package/dist/shared/src/components/ReviewableProgressCard/ReviewableProgressCard.es.js +5 -1
  204. package/dist/shared/src/components/ReviewableProgressCard/ReviewableProgressCard.es.js.map +1 -1
  205. package/dist/shared/src/components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js +5 -5
  206. package/dist/shared/src/components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js.map +1 -1
  207. package/dist/shared/src/components/ReviewableProgressCard/ReviewableProgressCard.styled.es.js +5 -5
  208. package/dist/shared/src/components/ReviewableProgressCard/ReviewableProgressCard.styled.es.js.map +1 -1
  209. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js +2 -0
  210. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js.map +1 -1
  211. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js +2 -0
  212. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js.map +1 -1
  213. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +93 -79
  214. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  215. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +93 -79
  216. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  217. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +87 -17
  218. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  219. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +88 -18
  220. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  221. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.styled.cjs.js +4 -0
  222. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.styled.cjs.js.map +1 -1
  223. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.styled.es.js +4 -0
  224. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.styled.es.js.map +1 -1
  225. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +3 -0
  226. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  227. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +3 -0
  228. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  229. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +2 -0
  230. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  231. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +2 -0
  232. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  233. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +223 -19
  234. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  235. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +224 -20
  236. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  237. package/dist/shared/src/components/Watchers/Watchers.cjs.js +2 -0
  238. package/dist/shared/src/components/Watchers/Watchers.cjs.js.map +1 -1
  239. package/dist/shared/src/components/Watchers/Watchers.es.js +2 -0
  240. package/dist/shared/src/components/Watchers/Watchers.es.js.map +1 -1
  241. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +3 -0
  242. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  243. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +3 -0
  244. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  245. package/dist/shared/src/containers/Actions/Actions.cjs.js +2 -0
  246. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  247. package/dist/shared/src/containers/Actions/Actions.es.js +2 -0
  248. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  249. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +3 -0
  250. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  251. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +3 -0
  252. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  253. package/dist/shared/src/containers/ContextMenu/ContextMenuItem.cjs.js +22 -0
  254. package/dist/shared/src/containers/ContextMenu/ContextMenuItem.cjs.js.map +1 -1
  255. package/dist/shared/src/containers/ContextMenu/ContextMenuItem.es.js +22 -0
  256. package/dist/shared/src/containers/ContextMenu/ContextMenuItem.es.js.map +1 -1
  257. package/dist/shared/src/containers/ContextMenu/useCreateContextMenu.cjs.js +26 -7
  258. package/dist/shared/src/containers/ContextMenu/useCreateContextMenu.cjs.js.map +1 -1
  259. package/dist/shared/src/containers/ContextMenu/useCreateContextMenu.es.js +26 -7
  260. package/dist/shared/src/containers/ContextMenu/useCreateContextMenu.es.js.map +1 -1
  261. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +3 -0
  262. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  263. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +3 -0
  264. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  265. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +13 -10
  266. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  267. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +13 -10
  268. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  269. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +3 -0
  270. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  271. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +3 -0
  272. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  273. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +3 -0
  274. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  275. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +3 -0
  276. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  277. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +2 -0
  278. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  279. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +2 -0
  280. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  281. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +2 -0
  282. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  283. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +2 -0
  284. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  285. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js +1 -1
  286. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js.map +1 -1
  287. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js +1 -1
  288. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js.map +1 -1
  289. package/dist/shared/src/containers/Feed/components/FileUploadPreview/FileUploadPreview.cjs.js +8 -1
  290. package/dist/shared/src/containers/Feed/components/FileUploadPreview/FileUploadPreview.cjs.js.map +1 -1
  291. package/dist/shared/src/containers/Feed/components/FileUploadPreview/FileUploadPreview.es.js +9 -2
  292. package/dist/shared/src/containers/Feed/components/FileUploadPreview/FileUploadPreview.es.js.map +1 -1
  293. package/dist/shared/src/containers/Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js +9 -0
  294. package/dist/shared/src/containers/Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js.map +1 -1
  295. package/dist/shared/src/containers/Feed/components/FileUploadPreview/FileUploadPreview.styled.es.js +10 -1
  296. package/dist/shared/src/containers/Feed/components/FileUploadPreview/FileUploadPreview.styled.es.js.map +1 -1
  297. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +2 -0
  298. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  299. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +2 -0
  300. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  301. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +2 -0
  302. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
  303. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +2 -0
  304. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
  305. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +25 -26
  306. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  307. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +26 -27
  308. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  309. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js +7 -0
  310. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js.map +1 -1
  311. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js +7 -0
  312. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js.map +1 -1
  313. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +9 -8
  314. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  315. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +9 -8
  316. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  317. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +3 -0
  318. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  319. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +3 -0
  320. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  321. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +11 -6
  322. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
  323. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +11 -6
  324. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
  325. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +2 -0
  326. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  327. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +2 -0
  328. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  329. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js +33 -9
  330. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
  331. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js +34 -10
  332. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
  333. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableModulesContext.cjs.js +37 -16
  334. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableModulesContext.cjs.js.map +1 -1
  335. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableModulesContext.es.js +38 -17
  336. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableModulesContext.es.js.map +1 -1
  337. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +2 -0
  338. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
  339. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +2 -0
  340. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
  341. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +84 -34
  342. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  343. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +85 -35
  344. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  345. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  346. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  347. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +1 -1
  348. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  349. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +26 -13
  350. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  351. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +26 -13
  352. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  353. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnSorting.cjs.js +24 -0
  354. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnSorting.cjs.js.map +1 -0
  355. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnSorting.es.js +24 -0
  356. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnSorting.es.js.map +1 -0
  357. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js +16 -9
  358. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js.map +1 -1
  359. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js +16 -9
  360. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js.map +1 -1
  361. package/dist/shared/src/containers/ProjectTreeTable/hooks/useEntitiesMap.cjs.js +17 -0
  362. package/dist/shared/src/containers/ProjectTreeTable/hooks/useEntitiesMap.cjs.js.map +1 -0
  363. package/dist/shared/src/containers/ProjectTreeTable/hooks/useEntitiesMap.es.js +17 -0
  364. package/dist/shared/src/containers/ProjectTreeTable/hooks/useEntitiesMap.es.js.map +1 -0
  365. package/dist/shared/src/containers/ProjectTreeTable/hooks/useExpandedState.cjs.js +30 -0
  366. package/dist/shared/src/containers/ProjectTreeTable/hooks/useExpandedState.cjs.js.map +1 -0
  367. package/dist/shared/src/containers/ProjectTreeTable/hooks/useExpandedState.es.js +30 -0
  368. package/dist/shared/src/containers/ProjectTreeTable/hooks/useExpandedState.es.js.map +1 -0
  369. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +363 -0
  370. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -0
  371. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +363 -0
  372. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -0
  373. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.cjs.js +16 -12
  374. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.cjs.js.map +1 -1
  375. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.es.js +16 -13
  376. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.es.js.map +1 -1
  377. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +239 -0
  378. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -0
  379. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +239 -0
  380. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -0
  381. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.cjs.js +82 -0
  382. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.cjs.js.map +1 -0
  383. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.es.js +82 -0
  384. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.es.js.map +1 -0
  385. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +40 -0
  386. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -0
  387. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +40 -0
  388. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -0
  389. package/dist/shared/src/containers/ProjectTreeTable/hooks/useScopedAttributeFields.cjs.js +19 -0
  390. package/dist/shared/src/containers/ProjectTreeTable/hooks/useScopedAttributeFields.cjs.js.map +1 -0
  391. package/dist/shared/src/containers/ProjectTreeTable/hooks/useScopedAttributeFields.es.js +19 -0
  392. package/dist/shared/src/containers/ProjectTreeTable/hooks/useScopedAttributeFields.es.js.map +1 -0
  393. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSelectedFolders.cjs.js +26 -0
  394. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSelectedFolders.cjs.js.map +1 -0
  395. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSelectedFolders.es.js +26 -0
  396. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSelectedFolders.es.js.map +1 -0
  397. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js +7 -4
  398. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -1
  399. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js +7 -4
  400. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -1
  401. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +12 -1
  402. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  403. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +12 -1
  404. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  405. package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.cjs.js.map +1 -1
  406. package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.es.js.map +1 -1
  407. package/dist/shared/src/containers/ProjectTreeTable/utils/errorExtraction.cjs.js +8 -0
  408. package/dist/shared/src/containers/ProjectTreeTable/utils/errorExtraction.cjs.js.map +1 -0
  409. package/dist/shared/src/containers/ProjectTreeTable/utils/errorExtraction.es.js +8 -0
  410. package/dist/shared/src/containers/ProjectTreeTable/utils/errorExtraction.es.js.map +1 -0
  411. package/dist/shared/src/containers/ProjectTreeTable/utils/localStorageKeys.cjs.js +7 -0
  412. package/dist/shared/src/containers/ProjectTreeTable/utils/localStorageKeys.cjs.js.map +1 -0
  413. package/dist/shared/src/containers/ProjectTreeTable/utils/localStorageKeys.es.js +7 -0
  414. package/dist/shared/src/containers/ProjectTreeTable/utils/localStorageKeys.es.js.map +1 -0
  415. package/dist/shared/src/containers/ProjectTreeTable/utils/validateUpdateEntities.cjs.js +0 -1
  416. package/dist/shared/src/containers/ProjectTreeTable/utils/validateUpdateEntities.cjs.js.map +1 -1
  417. package/dist/shared/src/containers/ProjectTreeTable/utils/validateUpdateEntities.es.js +0 -1
  418. package/dist/shared/src/containers/ProjectTreeTable/utils/validateUpdateEntities.es.js.map +1 -1
  419. package/dist/shared/src/containers/ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js +2 -1
  420. package/dist/shared/src/containers/ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js.map +1 -1
  421. package/dist/shared/src/containers/ProjectTreeTable/widgets/GroupHeaderWidget.es.js +2 -1
  422. package/dist/shared/src/containers/ProjectTreeTable/widgets/GroupHeaderWidget.es.js.map +1 -1
  423. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js +0 -8
  424. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js.map +1 -1
  425. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js +0 -8
  426. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js.map +1 -1
  427. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +3 -0
  428. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  429. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +3 -0
  430. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  431. package/dist/shared/src/context/AddonProjectContext.cjs.js +2 -0
  432. package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
  433. package/dist/shared/src/context/AddonProjectContext.es.js +2 -0
  434. package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
  435. package/dist/shared/src/context/DetailsPanelContext.cjs.js +2 -0
  436. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  437. package/dist/shared/src/context/DetailsPanelContext.es.js +2 -0
  438. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  439. package/dist/shared/src/context/PowerpackContext.cjs.js +122 -17
  440. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  441. package/dist/shared/src/context/PowerpackContext.es.js +123 -18
  442. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  443. package/dist/shared/src/context/RemoteModulesContext.cjs.js +7 -1
  444. package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
  445. package/dist/shared/src/context/RemoteModulesContext.es.js +8 -2
  446. package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
  447. package/dist/shared/src/hooks/useActionTriggers.cjs.js +2 -0
  448. package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
  449. package/dist/shared/src/hooks/useActionTriggers.es.js +2 -0
  450. package/dist/shared/src/hooks/useActionTriggers.es.js.map +1 -1
  451. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +2 -0
  452. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  453. package/dist/shared/src/hooks/useEntityUpdate.es.js +2 -0
  454. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  455. package/dist/shared/src/hooks/useLoadModule.cjs.js +8 -2
  456. package/dist/shared/src/hooks/useLoadModule.cjs.js.map +1 -1
  457. package/dist/shared/src/hooks/useLoadModule.es.js +8 -2
  458. package/dist/shared/src/hooks/useLoadModule.es.js.map +1 -1
  459. package/dist/shared/src/hooks/useScopedStatuses.cjs.js +2 -0
  460. package/dist/shared/src/hooks/useScopedStatuses.cjs.js.map +1 -1
  461. package/dist/shared/src/hooks/useScopedStatuses.es.js +2 -0
  462. package/dist/shared/src/hooks/useScopedStatuses.es.js.map +1 -1
  463. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +2 -0
  464. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  465. package/dist/shared/src/hooks/useUserProjectConfig.es.js +2 -0
  466. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  467. package/dist/types/api/generated/graphql.d.ts +33 -38
  468. package/dist/types/api/generated/grouping.d.ts +40 -0
  469. package/dist/types/api/generated/index.d.ts +3 -1
  470. package/dist/types/api/generated/tasks.d.ts +8 -33
  471. package/dist/types/api/queries/activities/getActivities.d.ts +4 -0
  472. package/dist/types/api/queries/activities/updateActivities.d.ts +8 -0
  473. package/dist/types/api/queries/entities/getEntity.d.ts +4 -0
  474. package/dist/types/api/queries/entities/getEntityPanel.d.ts +4 -0
  475. package/dist/types/api/queries/entities/updateEntity.d.ts +4 -0
  476. package/dist/types/api/queries/entityLists/getLists.d.ts +4 -0
  477. package/dist/types/api/queries/grouping/getGrouping.d.ts +137 -0
  478. package/dist/types/api/queries/grouping/index.d.ts +1 -0
  479. package/dist/types/api/queries/index.d.ts +1 -0
  480. package/dist/types/api/queries/overview/getOverview.d.ts +5 -133
  481. package/dist/types/api/queries/project/getProject.d.ts +2 -2
  482. package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +4 -0
  483. package/dist/types/api/queries/users/getUsers.d.ts +4 -0
  484. package/dist/types/components/Badge/Badge.d.ts +10 -0
  485. package/dist/types/components/Badge/index.d.ts +1 -0
  486. package/dist/types/components/ProjectTableSettings/ProjectTableSettings.d.ts +1 -1
  487. package/dist/types/components/ReviewableProgressCard/ReviewableProgressCard.d.ts +1 -1
  488. package/dist/types/components/ReviewablesList/ReviewablesUpload.d.ts +19 -3
  489. package/dist/types/components/index.d.ts +1 -0
  490. package/dist/types/containers/ContextMenu/ContextMenuItem.d.ts +4 -0
  491. package/dist/types/containers/ContextMenu/useCreateContextMenu.d.ts +2 -1
  492. package/dist/types/containers/Feed/components/FileUploadPreview/FileUploadPreview.styled.d.ts +1 -0
  493. package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +1 -5
  494. package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +14 -3
  495. package/dist/types/containers/ProjectTreeTable/context/ProjectTableModulesContext.d.ts +22 -2
  496. package/dist/types/containers/ProjectTreeTable/hooks/index.d.ts +13 -0
  497. package/dist/types/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.d.ts +8 -3
  498. package/dist/types/containers/ProjectTreeTable/hooks/useCellContextMenu.d.ts +13 -2
  499. package/dist/types/containers/ProjectTreeTable/hooks/useColumnSorting.d.ts +12 -0
  500. package/dist/types/containers/ProjectTreeTable/hooks/useEntitiesMap.d.ts +7 -0
  501. package/dist/types/containers/ProjectTreeTable/hooks/useExpandedState.d.ts +11 -0
  502. package/dist/types/containers/ProjectTreeTable/hooks/useFetchOverviewData.d.ts +37 -0
  503. package/dist/types/containers/ProjectTreeTable/hooks/useGetEntityTypeData.d.ts +2 -2
  504. package/dist/types/containers/ProjectTreeTable/hooks/useGetGroupedFields.d.ts +9 -0
  505. package/dist/types/containers/ProjectTreeTable/hooks/useGetTaskGroups.d.ts +10 -0
  506. package/dist/types/containers/ProjectTreeTable/hooks/useQueryFilters.d.ts +14 -0
  507. package/dist/types/containers/ProjectTreeTable/hooks/useScopedAttributeFields.d.ts +10 -0
  508. package/dist/types/containers/ProjectTreeTable/hooks/useSelectedFolders.d.ts +10 -0
  509. package/dist/types/containers/ProjectTreeTable/index.d.ts +1 -4
  510. package/dist/types/containers/ProjectTreeTable/types/index.d.ts +1 -0
  511. package/dist/types/containers/ProjectTreeTable/types/overviewContext.d.ts +46 -0
  512. package/dist/types/containers/ProjectTreeTable/utils/errorExtraction.d.ts +4 -0
  513. package/dist/types/containers/ProjectTreeTable/utils/index.d.ts +2 -0
  514. package/dist/types/containers/ProjectTreeTable/utils/localStorageKeys.d.ts +4 -0
  515. package/dist/types/containers/ProjectTreeTable/widgets/GroupHeaderWidget.d.ts +2 -1
  516. package/dist/types/context/PowerpackContext.d.ts +2 -1
  517. package/dist/types/hooks/useLoadModule.d.ts +2 -1
  518. package/dist/types/utils/extractVersionFromFilename.d.ts +5 -0
  519. package/package.json +1 -1
@@ -36,6 +36,7 @@ require("../../api/generated/users.cjs.js");
36
36
  require("../../api/generated/versions.cjs.js");
37
37
  require("../../api/generated/workfiles.cjs.js");
38
38
  require("../../api/generated/ynputCloud.cjs.js");
39
+ require("../../api/generated/grouping.cjs.js");
39
40
  require("../../api/queries/actions/getActions.cjs.js");
40
41
  require("../../api/queries/activities/getActivities.cjs.js");
41
42
  require("../../api/queries/activities/updateActivities.cjs.js");
@@ -66,6 +67,7 @@ require("../../api/queries/users/getUsers.cjs.js");
66
67
  require("../../api/queries/users/updateUsers.cjs.js");
67
68
  require("../../api/queries/watchers/getWatchers.cjs.js");
68
69
  require("../../api/queries/permissions/getPermissions.cjs.js");
70
+ require("../../api/queries/grouping/getGrouping.cjs.js");
69
71
  const core = require("@dnd-kit/core");
70
72
  const sortable = require("@dnd-kit/sortable");
71
73
  require("@ynput/ayon-react-components");
@@ -183,6 +185,7 @@ require("../SettingsPanel/SettingsPanelItemTemplate.cjs.js");
183
185
  require("../AttributeEditor/components/MinMaxField.cjs.js");
184
186
  require("../EnumEditor/EnumEditor.styled.cjs.js");
185
187
  require("../SearchFilter/filterDates.cjs.js");
188
+ require("../Badge/Badge.cjs.js");
186
189
  const ReviewablesList = ({
187
190
  projectName,
188
191
  versionId,
@@ -191,7 +194,7 @@ const ReviewablesList = ({
191
194
  scope
192
195
  }) => {
193
196
  var _a, _b;
194
- const { onOpenViewer, user, viewer } = DetailsPanelContext.useDetailsPanelContext();
197
+ const { onOpenViewer, user, viewer, dispatch } = DetailsPanelContext.useDetailsPanelContext();
195
198
  const {
196
199
  data: versionReviewables,
197
200
  isFetching: isFetchingReviewables,
@@ -334,87 +337,98 @@ const ReviewablesList = ({
334
337
  ctxMenuShow(event, items);
335
338
  };
336
339
  return /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsxs(jsxRuntime.jsxRuntimeExports.Fragment, { children: [
337
- /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(ReviewablesUpload.ReviewableUpload, { projectName, versionId, productId, children: isLoading ? Array.from({ length: 3 }).map((_, index) => /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(ReviewablesList_styled.LoadingCard, { className: "loading" }, index)) : /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsxs(jsxRuntime.jsxRuntimeExports.Fragment, { children: [
338
- /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsxs(
339
- core.DndContext,
340
- {
341
- sensors,
342
- collisionDetection: core.closestCenter,
343
- onDragStart: handleDragStart,
344
- onDragEnd: handleDragEnd,
345
- onDragCancel: () => setActiveId(null),
346
- children: [
347
- /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(
348
- sortable.SortableContext,
349
- {
350
- items: reviewables.map(({ fileId }) => fileId),
351
- strategy: sortable.verticalListSortingStrategy,
352
- children: sortableReviewables.map((reviewable) => /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(
353
- SortableReviewableCard,
340
+ /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(
341
+ ReviewablesUpload.ReviewableUpload,
342
+ {
343
+ projectName,
344
+ versionId,
345
+ productId,
346
+ taskId: viewer == null ? void 0 : viewer.taskId,
347
+ folderId: viewer == null ? void 0 : viewer.folderId,
348
+ dispatch,
349
+ children: isLoading ? Array.from({ length: 3 }).map((_, index) => /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(ReviewablesList_styled.LoadingCard, { className: "loading" }, index)) : /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsxs(jsxRuntime.jsxRuntimeExports.Fragment, { children: [
350
+ /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsxs(
351
+ core.DndContext,
352
+ {
353
+ sensors,
354
+ collisionDetection: core.closestCenter,
355
+ onDragStart: handleDragStart,
356
+ onDragEnd: handleDragEnd,
357
+ onDragCancel: () => setActiveId(null),
358
+ children: [
359
+ /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(
360
+ sortable.SortableContext,
354
361
  {
362
+ items: reviewables.map(({ fileId }) => fileId),
363
+ strategy: sortable.verticalListSortingStrategy,
364
+ children: sortableReviewables.map((reviewable) => /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(
365
+ SortableReviewableCard,
366
+ {
367
+ projectName,
368
+ onClick: handleReviewableClick,
369
+ isSelected: reviewableIds.includes(reviewable.fileId),
370
+ isDragging: !!activeId,
371
+ onContextMenu: handleContextMenu,
372
+ onEdit: (e) => {
373
+ e.stopPropagation();
374
+ setEditActivityId(reviewable.activityId);
375
+ },
376
+ ...reviewable
377
+ },
378
+ reviewable.fileId
379
+ ))
380
+ }
381
+ ),
382
+ /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(core.DragOverlay, { modifiers: overlayModifiers, children: draggingReview ? /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(
383
+ ReviewableCard.ReviewableCard,
384
+ {
385
+ ...draggingReview,
355
386
  projectName,
356
- onClick: handleReviewableClick,
357
- isSelected: reviewableIds.includes(reviewable.fileId),
358
- isDragging: !!activeId,
359
- onContextMenu: handleContextMenu,
360
- onEdit: (e) => {
361
- e.stopPropagation();
362
- setEditActivityId(reviewable.activityId);
363
- },
364
- ...reviewable
365
- },
366
- reviewable.fileId
367
- ))
368
- }
369
- ),
370
- /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(core.DragOverlay, { modifiers: overlayModifiers, children: draggingReview ? /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(
371
- ReviewableCard.ReviewableCard,
387
+ isDragOverlay: true,
388
+ isDragging: true,
389
+ isSelected: reviewableIds.includes(draggingReview.fileId)
390
+ }
391
+ ) : null })
392
+ ]
393
+ }
394
+ ),
395
+ processing.map((reviewable) => {
396
+ var _a2;
397
+ return /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(
398
+ ReviewableProgressCard.ReviewableProgressCard,
372
399
  {
373
- ...draggingReview,
374
- projectName,
375
- isDragOverlay: true,
376
- isDragging: true,
377
- isSelected: reviewableIds.includes(draggingReview.fileId)
378
- }
379
- ) : null })
380
- ]
381
- }
382
- ),
383
- processing.map((reviewable) => {
384
- var _a2;
385
- return /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(
386
- ReviewableProgressCard.ReviewableProgressCard,
387
- {
388
- name: reviewable.filename,
389
- type: "processing",
390
- progress: (_a2 = reviewable.processing) == null ? void 0 : _a2.progress,
391
- fileId: reviewable.fileId
392
- },
393
- reviewable.fileId
394
- );
395
- }),
396
- queued.map((reviewable) => /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(
397
- ReviewableProgressCard.ReviewableProgressCard,
398
- {
399
- name: reviewable.filename,
400
- type: "queued",
401
- fileId: reviewable.fileId
402
- },
403
- reviewable.fileId
404
- )),
405
- incompatible.map((reviewable) => /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(
406
- ReviewableProgressCard.ReviewableProgressCard,
407
- {
408
- name: reviewable.filename,
409
- type: "unsupported",
410
- tooltip: incompatibleMessage,
411
- src: `/api/projects/${projectName}/files/${reviewable.fileId}/thumbnail`,
412
- onContextMenu: handleContextMenu,
413
- fileId: reviewable.fileId
414
- },
415
- reviewable.fileId
416
- ))
417
- ] }) }),
400
+ name: reviewable.filename,
401
+ type: "processing",
402
+ progress: (_a2 = reviewable.processing) == null ? void 0 : _a2.progress,
403
+ fileId: reviewable.fileId
404
+ },
405
+ reviewable.fileId
406
+ );
407
+ }),
408
+ queued.map((reviewable) => /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(
409
+ ReviewableProgressCard.ReviewableProgressCard,
410
+ {
411
+ name: reviewable.filename,
412
+ type: "queued",
413
+ fileId: reviewable.fileId
414
+ },
415
+ reviewable.fileId
416
+ )),
417
+ incompatible.map((reviewable) => /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(
418
+ ReviewableProgressCard.ReviewableProgressCard,
419
+ {
420
+ name: reviewable.filename,
421
+ type: "unsupported",
422
+ tooltip: incompatibleMessage,
423
+ src: `/api/projects/${projectName}/files/${reviewable.fileId}/thumbnail`,
424
+ onContextMenu: handleContextMenu,
425
+ fileId: reviewable.fileId
426
+ },
427
+ reviewable.fileId
428
+ ))
429
+ ] })
430
+ }
431
+ ),
418
432
  editActivityId && /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(
419
433
  EditReviewableDialog,
420
434
  {
@@ -1 +1 @@
1
- {"version":3,"file":"ReviewablesList.cjs.js","sources":["../../../../../src/components/ReviewablesList/ReviewablesList.tsx"],"sourcesContent":["import { FC, MouseEvent, useState } from 'react'\n// queries\nimport { useGetReviewablesForVersionQuery, useHasTranscoderQuery } from '@shared/api'\nimport { useDeleteReviewableMutation, useSortVersionReviewablesMutation } from '@shared/api'\n\n// DND\nimport {\n DndContext,\n closestCenter,\n KeyboardSensor,\n PointerSensor,\n useSensor,\n useSensors,\n UniqueIdentifier,\n DragEndEvent,\n DragOverlay,\n DragStartEvent,\n} from '@dnd-kit/core'\nimport {\n arrayMove,\n SortableContext,\n sortableKeyboardCoordinates,\n verticalListSortingStrategy,\n} from '@dnd-kit/sortable'\n\n// components\nimport { ReviewableCard, ReviewableProgressCard } from '@shared/components'\nimport SortableReviewableCard from './SortableReviewableCard'\nimport * as Styled from './ReviewablesList.styled'\nimport { toast } from 'react-toastify'\n\n// utils\nimport { getGroupedReviewables } from './getGroupedReviewables'\nimport { useCreateContextMenu } from '@shared/containers/ContextMenu'\nimport { confirmDelete } from '@shared/util'\nimport EditReviewableDialog from './EditReviewableDialog'\nimport ReviewableUpload from './ReviewablesUpload'\nimport { useDetailsPanelContext } from '@shared/context'\n\ninterface ReviewablesListProps {\n projectName: string\n versionId: string\n productId: string\n isLoadingVersion: boolean\n scope: string\n}\n\nconst ReviewablesList: FC<ReviewablesListProps> = ({\n projectName,\n versionId,\n productId,\n isLoadingVersion,\n scope,\n}) => {\n const { onOpenViewer, user, viewer } = useDetailsPanelContext()\n // returns all reviewables for a product\n const {\n data: versionReviewables,\n isFetching: isFetchingReviewables,\n currentData,\n } = useGetReviewablesForVersionQuery(\n { projectName, versionId: versionId },\n { skip: !versionId || !projectName },\n )\n\n // do we have the premium transcoder?\n const { data: hasTranscoder } = useHasTranscoderQuery(undefined)\n\n // are we currently looking at review? (is it selected in the viewer)\n const reviewableIds = viewer?.reviewableIds || []\n const userName = user.name\n const currentIsUser = user.data?.isUser\n\n // either null or the reviewable id we are editing\n const [editActivityId, setEditActivityId] = useState<null | string>(null)\n\n // dragging activeId\n const [activeId, setActiveId] = useState<null | string>(null)\n\n const sensors = useSensors(\n useSensor(PointerSensor),\n useSensor(KeyboardSensor, {\n coordinateGetter: sortableKeyboardCoordinates,\n }),\n )\n\n const reviewables = versionReviewables?.reviewables || []\n const draggingReview = reviewables.find((reviewable) => reviewable.fileId === activeId)\n\n const currentVersionId = currentData?.id\n const queryingNewVersion = versionId !== currentVersionId\n\n const isLoading = (isFetchingReviewables && queryingNewVersion) || isLoadingVersion\n\n const handleReviewableClick = (event: MouseEvent<HTMLDivElement>) => {\n // check are not dragging\n if (activeId) return console.log('Dragging, cannot open review')\n\n // get the reviewable id\n const id = event.currentTarget.id\n if (!id || !productId) return console.error('No reviewable id or product id')\n\n const reviewable = reviewables.find((reviewable) => reviewable.fileId === id)\n console.debug(reviewable)\n console.debug(reviewable?.mediaInfo)\n\n // open the reviewable dialog\n onOpenViewer?.({\n projectName: projectName,\n productId: productId,\n versionIds: [versionId],\n reviewableIds: [id],\n })\n }\n\n const { optimized, unoptimized, incompatible, processing, queued } = getGroupedReviewables(\n reviewables,\n hasTranscoder,\n )\n\n const sortableReviewables = [...optimized, ...unoptimized]\n\n function handleDragStart(event: DragStartEvent) {\n const { active } = event\n\n setActiveId(active.id as string)\n }\n\n const [sortVersionReviewables] = useSortVersionReviewablesMutation()\n\n const handleDragEnd = async (event: DragEndEvent) => {\n const { active, over } = event\n\n if (over?.id && active.id !== over.id) {\n console.log('update review position')\n\n const oldIndex = sortableReviewables.findIndex(\n (reviewable) => reviewable.fileId === active.id,\n )\n const newIndex = sortableReviewables.findIndex((reviewable) => reviewable.fileId === over.id)\n\n // resort the reviewables\n const newReviewables = arrayMove(sortableReviewables, oldIndex, newIndex)\n\n const newOrder = newReviewables.map((reviewable) => reviewable.activityId)\n\n try {\n // update the reviewables\n sortVersionReviewables({\n projectName,\n versionId,\n sortReviewablesRequest: { sort: newOrder },\n }).unwrap()\n } catch (error) {\n toast.error('Error sorting reviewables')\n }\n }\n setActiveId(null)\n }\n\n const overlayModifiers = []\n // hack to make the dnd overlay pos work inside dialog\n if (scope === 'review') {\n overlayModifiers.push((args: any) => ({\n ...args.transform,\n x: args.transform.x - 32,\n y: args.transform.y - 32,\n }))\n }\n\n let incompatibleMessage = ''\n if (!hasTranscoder) {\n incompatibleMessage = `The conversion transcoder is only supported on [**Ynput Cloud**](https://ynput.cloud/subscribe/ayon). Please subscribe or [contact support](https://ynput.io/services/) for more information.`\n } else {\n incompatibleMessage = 'The file is not supported by the transcoder'\n }\n\n const handleDownloadFile = (fileId: string, fileName: string = '') => {\n let url = `/api/projects/${projectName}/files/${fileId}`\n\n // if (codec) url += `.${codec}`\n\n // Create an invisible anchor element\n const a = document.createElement('a')\n a.href = url\n a.download = fileName\n document.body.appendChild(a)\n\n // Trigger a click event on the anchor element\n a.click()\n\n // Remove the anchor element from the document\n document.body.removeChild(a)\n }\n\n const [deleteReviewable] = useDeleteReviewableMutation()\n\n const handleDelete = async (activityId: string, label: string) => {\n // @ts-ignore\n confirmDelete({\n header: 'Delete ' + label,\n message: 'Are you sure you want to delete this reviewable?',\n accept: async () => {\n try {\n await deleteReviewable({ activityId, projectName }).unwrap()\n } catch (error) {\n toast.error('Failed to delete reviewable')\n }\n },\n })\n }\n\n // create the ref and model\n const [ctxMenuShow] = useCreateContextMenu()\n\n const handleContextMenu = (event: MouseEvent<HTMLDivElement>) => {\n // get the reviewable by id\n const id = event.currentTarget.id\n\n if (!id) return\n\n const reviewable = reviewables.find((reviewable) => reviewable.fileId === id)\n\n if (!reviewable) return\n\n const originalFileId = reviewable.createdFrom || reviewable.fileId\n const originalReviewable = reviewables.find(\n (reviewable) => reviewable.fileId === originalFileId,\n )\n\n const items: {\n label: string\n icon: string\n onClick?: () => void\n disabled?: boolean\n danger?: boolean\n }[] = [\n {\n label: 'Download original',\n icon: 'download',\n onClick: () => handleDownloadFile(originalFileId, originalReviewable?.filename),\n disabled: !originalReviewable,\n },\n ]\n\n if (userName === reviewable.author.name || !currentIsUser) {\n items.push({\n label: 'Delete',\n icon: 'delete',\n onClick: () => handleDelete(reviewable.activityId, reviewable.label || reviewable.filename),\n danger: true,\n })\n }\n\n // add author\n items.push({\n label: `Author: ${reviewable.author.fullName || reviewable.author.name}`,\n icon: 'person',\n disabled: true,\n })\n\n ctxMenuShow(event, items)\n }\n\n return (\n <>\n <ReviewableUpload projectName={projectName} versionId={versionId} productId={productId}>\n {isLoading ? (\n Array.from({ length: 3 }).map((_, index) => (\n <Styled.LoadingCard key={index} className=\"loading\" />\n ))\n ) : (\n <>\n <DndContext\n sensors={sensors}\n collisionDetection={closestCenter}\n onDragStart={handleDragStart}\n onDragEnd={handleDragEnd}\n onDragCancel={() => setActiveId(null)}\n >\n <SortableContext\n items={reviewables.map(({ fileId }) => fileId as UniqueIdentifier)}\n strategy={verticalListSortingStrategy}\n >\n {sortableReviewables.map((reviewable) => (\n <SortableReviewableCard\n key={reviewable.fileId}\n projectName={projectName}\n onClick={handleReviewableClick}\n isSelected={reviewableIds.includes(reviewable.fileId)}\n isDragging={!!activeId}\n onContextMenu={handleContextMenu}\n onEdit={(e) => {\n e.stopPropagation()\n setEditActivityId(reviewable.activityId)\n }}\n {...reviewable}\n />\n ))}\n </SortableContext>\n\n {/* drag overlay */}\n <DragOverlay modifiers={overlayModifiers}>\n {draggingReview ? (\n <ReviewableCard\n {...draggingReview}\n projectName={projectName}\n isDragOverlay\n isDragging\n isSelected={reviewableIds.includes(draggingReview.fileId)}\n />\n ) : null}\n </DragOverlay>\n </DndContext>\n {processing.map((reviewable) => (\n <ReviewableProgressCard\n key={reviewable.fileId}\n name={reviewable.filename}\n type={'processing'}\n progress={reviewable.processing?.progress}\n fileId={reviewable.fileId}\n />\n ))}\n\n {queued.map((reviewable) => (\n <ReviewableProgressCard\n key={reviewable.fileId}\n name={reviewable.filename}\n type={'queued'}\n fileId={reviewable.fileId}\n />\n ))}\n\n {incompatible.map((reviewable) => (\n <ReviewableProgressCard\n key={reviewable.fileId}\n name={reviewable.filename}\n type={'unsupported'}\n tooltip={incompatibleMessage}\n src={`/api/projects/${projectName}/files/${reviewable.fileId}/thumbnail`}\n onContextMenu={handleContextMenu}\n fileId={reviewable.fileId}\n />\n ))}\n </>\n )}\n </ReviewableUpload>\n\n {editActivityId && (\n <EditReviewableDialog\n isOpen\n onClose={() => setEditActivityId(null)}\n label={\n reviewables.find((reviewable) => reviewable.activityId === editActivityId)?.label || ''\n }\n projectName={projectName}\n versionId={versionId}\n activityId={editActivityId}\n />\n )}\n </>\n )\n}\n\nexport default ReviewablesList\n"],"names":["useDetailsPanelContext","useGetReviewablesForVersionQuery","useHasTranscoderQuery","useState","useSensors","useSensor","PointerSensor","KeyboardSensor","sortableKeyboardCoordinates","reviewable","getGroupedReviewables","useSortVersionReviewablesMutation","arrayMove","toast","useDeleteReviewableMutation","confirmDelete","useCreateContextMenu","jsxs","Fragment","jsx","ReviewableUpload","Styled.LoadingCard","DndContext","closestCenter","SortableContext","verticalListSortingStrategy","DragOverlay","ReviewableCard","ReviewableProgressCard","_a"],"mappings":"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"}
1
+ {"version":3,"file":"ReviewablesList.cjs.js","sources":["../../../../../src/components/ReviewablesList/ReviewablesList.tsx"],"sourcesContent":["import { FC, MouseEvent, useState } from 'react'\n// queries\nimport { useGetReviewablesForVersionQuery, useHasTranscoderQuery } from '@shared/api'\nimport { useDeleteReviewableMutation, useSortVersionReviewablesMutation } from '@shared/api'\n\n// DND\nimport {\n DndContext,\n closestCenter,\n KeyboardSensor,\n PointerSensor,\n useSensor,\n useSensors,\n UniqueIdentifier,\n DragEndEvent,\n DragOverlay,\n DragStartEvent,\n} from '@dnd-kit/core'\nimport {\n arrayMove,\n SortableContext,\n sortableKeyboardCoordinates,\n verticalListSortingStrategy,\n} from '@dnd-kit/sortable'\n\n// components\nimport { ReviewableCard, ReviewableProgressCard } from '@shared/components'\nimport SortableReviewableCard from './SortableReviewableCard'\nimport * as Styled from './ReviewablesList.styled'\nimport { toast } from 'react-toastify'\n\n// utils\nimport { getGroupedReviewables } from './getGroupedReviewables'\nimport { useCreateContextMenu } from '@shared/containers/ContextMenu'\nimport { confirmDelete } from '@shared/util'\nimport EditReviewableDialog from './EditReviewableDialog'\nimport ReviewableUpload from './ReviewablesUpload'\nimport { useDetailsPanelContext } from '@shared/context'\n\ninterface ReviewablesListProps {\n projectName: string\n versionId: string\n productId: string\n isLoadingVersion: boolean\n scope: string\n}\n\nconst ReviewablesList: FC<ReviewablesListProps> = ({\n projectName,\n versionId,\n productId,\n isLoadingVersion,\n scope,\n}) => {\n const { onOpenViewer, user, viewer, dispatch } = useDetailsPanelContext()\n // returns all reviewables for a product\n const {\n data: versionReviewables,\n isFetching: isFetchingReviewables,\n currentData,\n } = useGetReviewablesForVersionQuery(\n { projectName, versionId: versionId },\n { skip: !versionId || !projectName },\n )\n\n // do we have the premium transcoder?\n const { data: hasTranscoder } = useHasTranscoderQuery(undefined)\n\n // are we currently looking at review? (is it selected in the viewer)\n const reviewableIds = viewer?.reviewableIds || []\n const userName = user.name\n const currentIsUser = user.data?.isUser\n\n // either null or the reviewable id we are editing\n const [editActivityId, setEditActivityId] = useState<null | string>(null)\n\n // dragging activeId\n const [activeId, setActiveId] = useState<null | string>(null)\n\n const sensors = useSensors(\n useSensor(PointerSensor),\n useSensor(KeyboardSensor, {\n coordinateGetter: sortableKeyboardCoordinates,\n }),\n )\n\n const reviewables = versionReviewables?.reviewables || []\n const draggingReview = reviewables.find((reviewable) => reviewable.fileId === activeId)\n\n const currentVersionId = currentData?.id\n const queryingNewVersion = versionId !== currentVersionId\n\n const isLoading = (isFetchingReviewables && queryingNewVersion) || isLoadingVersion\n\n const handleReviewableClick = (event: MouseEvent<HTMLDivElement>) => {\n // check are not dragging\n if (activeId) return console.log('Dragging, cannot open review')\n\n // get the reviewable id\n const id = event.currentTarget.id\n if (!id || !productId) return console.error('No reviewable id or product id')\n\n const reviewable = reviewables.find((reviewable) => reviewable.fileId === id)\n console.debug(reviewable)\n console.debug(reviewable?.mediaInfo)\n\n // open the reviewable dialog\n onOpenViewer?.({\n projectName: projectName,\n productId: productId,\n versionIds: [versionId],\n reviewableIds: [id],\n })\n }\n\n const { optimized, unoptimized, incompatible, processing, queued } = getGroupedReviewables(\n reviewables,\n hasTranscoder,\n )\n\n const sortableReviewables = [...optimized, ...unoptimized]\n\n function handleDragStart(event: DragStartEvent) {\n const { active } = event\n\n setActiveId(active.id as string)\n }\n\n const [sortVersionReviewables] = useSortVersionReviewablesMutation()\n\n const handleDragEnd = async (event: DragEndEvent) => {\n const { active, over } = event\n\n if (over?.id && active.id !== over.id) {\n console.log('update review position')\n\n const oldIndex = sortableReviewables.findIndex(\n (reviewable) => reviewable.fileId === active.id,\n )\n const newIndex = sortableReviewables.findIndex((reviewable) => reviewable.fileId === over.id)\n\n // resort the reviewables\n const newReviewables = arrayMove(sortableReviewables, oldIndex, newIndex)\n\n const newOrder = newReviewables.map((reviewable) => reviewable.activityId)\n\n try {\n // update the reviewables\n sortVersionReviewables({\n projectName,\n versionId,\n sortReviewablesRequest: { sort: newOrder },\n }).unwrap()\n } catch (error) {\n toast.error('Error sorting reviewables')\n }\n }\n setActiveId(null)\n }\n\n const overlayModifiers = []\n // hack to make the dnd overlay pos work inside dialog\n if (scope === 'review') {\n overlayModifiers.push((args: any) => ({\n ...args.transform,\n x: args.transform.x - 32,\n y: args.transform.y - 32,\n }))\n }\n\n let incompatibleMessage = ''\n if (!hasTranscoder) {\n incompatibleMessage = `The conversion transcoder is only supported on [**Ynput Cloud**](https://ynput.cloud/subscribe/ayon). Please subscribe or [contact support](https://ynput.io/services/) for more information.`\n } else {\n incompatibleMessage = 'The file is not supported by the transcoder'\n }\n\n const handleDownloadFile = (fileId: string, fileName: string = '') => {\n let url = `/api/projects/${projectName}/files/${fileId}`\n\n // if (codec) url += `.${codec}`\n\n // Create an invisible anchor element\n const a = document.createElement('a')\n a.href = url\n a.download = fileName\n document.body.appendChild(a)\n\n // Trigger a click event on the anchor element\n a.click()\n\n // Remove the anchor element from the document\n document.body.removeChild(a)\n }\n\n const [deleteReviewable] = useDeleteReviewableMutation()\n\n const handleDelete = async (activityId: string, label: string) => {\n // @ts-ignore\n confirmDelete({\n header: 'Delete ' + label,\n message: 'Are you sure you want to delete this reviewable?',\n accept: async () => {\n try {\n await deleteReviewable({ activityId, projectName }).unwrap()\n } catch (error) {\n toast.error('Failed to delete reviewable')\n }\n },\n })\n }\n\n // create the ref and model\n const [ctxMenuShow] = useCreateContextMenu()\n\n const handleContextMenu = (event: MouseEvent<HTMLDivElement>) => {\n // get the reviewable by id\n const id = event.currentTarget.id\n\n if (!id) return\n\n const reviewable = reviewables.find((reviewable) => reviewable.fileId === id)\n\n if (!reviewable) return\n\n const originalFileId = reviewable.createdFrom || reviewable.fileId\n const originalReviewable = reviewables.find(\n (reviewable) => reviewable.fileId === originalFileId,\n )\n\n const items: {\n label: string\n icon: string\n onClick?: () => void\n disabled?: boolean\n danger?: boolean\n }[] = [\n {\n label: 'Download original',\n icon: 'download',\n onClick: () => handleDownloadFile(originalFileId, originalReviewable?.filename),\n disabled: !originalReviewable,\n },\n ]\n\n if (userName === reviewable.author.name || !currentIsUser) {\n items.push({\n label: 'Delete',\n icon: 'delete',\n onClick: () => handleDelete(reviewable.activityId, reviewable.label || reviewable.filename),\n danger: true,\n })\n }\n\n // add author\n items.push({\n label: `Author: ${reviewable.author.fullName || reviewable.author.name}`,\n icon: 'person',\n disabled: true,\n })\n\n ctxMenuShow(event, items)\n }\n\n return (\n <>\n <ReviewableUpload\n projectName={projectName}\n versionId={versionId}\n productId={productId}\n taskId={viewer?.taskId}\n folderId={viewer?.folderId}\n dispatch={dispatch}\n >\n {isLoading ? (\n Array.from({ length: 3 }).map((_, index) => (\n <Styled.LoadingCard key={index} className=\"loading\" />\n ))\n ) : (\n <>\n <DndContext\n sensors={sensors}\n collisionDetection={closestCenter}\n onDragStart={handleDragStart}\n onDragEnd={handleDragEnd}\n onDragCancel={() => setActiveId(null)}\n >\n <SortableContext\n items={reviewables.map(({ fileId }) => fileId as UniqueIdentifier)}\n strategy={verticalListSortingStrategy}\n >\n {sortableReviewables.map((reviewable) => (\n <SortableReviewableCard\n key={reviewable.fileId}\n projectName={projectName}\n onClick={handleReviewableClick}\n isSelected={reviewableIds.includes(reviewable.fileId)}\n isDragging={!!activeId}\n onContextMenu={handleContextMenu}\n onEdit={(e) => {\n e.stopPropagation()\n setEditActivityId(reviewable.activityId)\n }}\n {...reviewable}\n />\n ))}\n </SortableContext>\n\n {/* drag overlay */}\n <DragOverlay modifiers={overlayModifiers}>\n {draggingReview ? (\n <ReviewableCard\n {...draggingReview}\n projectName={projectName}\n isDragOverlay\n isDragging\n isSelected={reviewableIds.includes(draggingReview.fileId)}\n />\n ) : null}\n </DragOverlay>\n </DndContext>\n {processing.map((reviewable) => (\n <ReviewableProgressCard\n key={reviewable.fileId}\n name={reviewable.filename}\n type={'processing'}\n progress={reviewable.processing?.progress}\n fileId={reviewable.fileId}\n />\n ))}\n\n {queued.map((reviewable) => (\n <ReviewableProgressCard\n key={reviewable.fileId}\n name={reviewable.filename}\n type={'queued'}\n fileId={reviewable.fileId}\n />\n ))}\n\n {incompatible.map((reviewable) => (\n <ReviewableProgressCard\n key={reviewable.fileId}\n name={reviewable.filename}\n type={'unsupported'}\n tooltip={incompatibleMessage}\n src={`/api/projects/${projectName}/files/${reviewable.fileId}/thumbnail`}\n onContextMenu={handleContextMenu}\n fileId={reviewable.fileId}\n />\n ))}\n </>\n )}\n </ReviewableUpload>\n\n {editActivityId && (\n <EditReviewableDialog\n isOpen\n onClose={() => setEditActivityId(null)}\n label={\n reviewables.find((reviewable) => reviewable.activityId === editActivityId)?.label || ''\n }\n projectName={projectName}\n versionId={versionId}\n activityId={editActivityId}\n />\n )}\n </>\n )\n}\n\nexport default ReviewablesList\n"],"names":["useDetailsPanelContext","useGetReviewablesForVersionQuery","useHasTranscoderQuery","useState","useSensors","useSensor","PointerSensor","KeyboardSensor","sortableKeyboardCoordinates","reviewable","getGroupedReviewables","useSortVersionReviewablesMutation","arrayMove","toast","useDeleteReviewableMutation","confirmDelete","useCreateContextMenu","jsxs","Fragment","jsx","ReviewableUpload","Styled.LoadingCard","DndContext","closestCenter","SortableContext","verticalListSortingStrategy","DragOverlay","ReviewableCard","ReviewableProgressCard","_a"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+CA,MAAM,kBAA4C,CAAC;AAAA,EACjD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;;AACJ,QAAM,EAAE,cAAc,MAAM,QAAQ,SAAA,IAAaA,oBAAAA,uBAAuB;AAElE,QAAA;AAAA,IACJ,MAAM;AAAA,IACN,YAAY;AAAA,IACZ;AAAA,EAAA,IACEC,UAAA;AAAA,IACF,EAAE,aAAa,UAAqB;AAAA,IACpC,EAAE,MAAM,CAAC,aAAa,CAAC,YAAY;AAAA,EACrC;AAGA,QAAM,EAAE,MAAM,kBAAkBC,UAAAA,sBAAsB,MAAS;AAGzD,QAAA,iBAAgB,iCAAQ,kBAAiB,CAAC;AAChD,QAAM,WAAW,KAAK;AAChB,QAAA,iBAAgB,UAAK,SAAL,mBAAW;AAGjC,QAAM,CAAC,gBAAgB,iBAAiB,IAAIC,MAAAA,SAAwB,IAAI;AAGxE,QAAM,CAAC,UAAU,WAAW,IAAIA,MAAAA,SAAwB,IAAI;AAE5D,QAAM,UAAUC,KAAA;AAAA,IACdC,KAAAA,UAAUC,KAAAA,aAAa;AAAA,IACvBD,KAAAA,UAAUE,KAAAA,gBAAgB;AAAA,MACxB,kBAAkBC,SAAAA;AAAAA,IACnB,CAAA;AAAA,EACH;AAEM,QAAA,eAAc,yDAAoB,gBAAe,CAAC;AACxD,QAAM,iBAAiB,YAAY,KAAK,CAAC,eAAe,WAAW,WAAW,QAAQ;AAEtF,QAAM,mBAAmB,2CAAa;AACtC,QAAM,qBAAqB,cAAc;AAEnC,QAAA,YAAa,yBAAyB,sBAAuB;AAE7D,QAAA,wBAAwB,CAAC,UAAsC;AAEnE,QAAI,SAAU,QAAO,QAAQ,IAAI,8BAA8B;AAGzD,UAAA,KAAK,MAAM,cAAc;AAC/B,QAAI,CAAC,MAAM,CAAC,UAAkB,QAAA,QAAQ,MAAM,gCAAgC;AAE5E,UAAM,aAAa,YAAY,KAAK,CAACC,gBAAeA,YAAW,WAAW,EAAE;AAC5E,YAAQ,MAAM,UAAU;AAChB,YAAA,MAAM,yCAAY,SAAS;AAGpB,iDAAA;AAAA,MACb;AAAA,MACA;AAAA,MACA,YAAY,CAAC,SAAS;AAAA,MACtB,eAAe,CAAC,EAAE;AAAA,IAAA;AAAA,EAEtB;AAEA,QAAM,EAAE,WAAW,aAAa,cAAc,YAAY,WAAWC,sBAAA;AAAA,IACnE;AAAA,IACA;AAAA,EACF;AAEA,QAAM,sBAAsB,CAAC,GAAG,WAAW,GAAG,WAAW;AAEzD,WAAS,gBAAgB,OAAuB;AACxC,UAAA,EAAE,WAAW;AAEnB,gBAAY,OAAO,EAAY;AAAA,EAAA;AAG3B,QAAA,CAAC,sBAAsB,IAAIC,+CAAkC;AAE7D,QAAA,gBAAgB,OAAO,UAAwB;AAC7C,UAAA,EAAE,QAAQ,KAAA,IAAS;AAEzB,SAAI,6BAAM,OAAM,OAAO,OAAO,KAAK,IAAI;AACrC,cAAQ,IAAI,wBAAwB;AAEpC,YAAM,WAAW,oBAAoB;AAAA,QACnC,CAAC,eAAe,WAAW,WAAW,OAAO;AAAA,MAC/C;AACM,YAAA,WAAW,oBAAoB,UAAU,CAAC,eAAe,WAAW,WAAW,KAAK,EAAE;AAG5F,YAAM,iBAAiBC,SAAA,UAAU,qBAAqB,UAAU,QAAQ;AAExE,YAAM,WAAW,eAAe,IAAI,CAAC,eAAe,WAAW,UAAU;AAErE,UAAA;AAEqB,+BAAA;AAAA,UACrB;AAAA,UACA;AAAA,UACA,wBAAwB,EAAE,MAAM,SAAS;AAAA,QAC1C,CAAA,EAAE,OAAO;AAAA,eACH,OAAO;AACdC,sBAAA,MAAM,MAAM,2BAA2B;AAAA,MAAA;AAAA,IACzC;AAEF,gBAAY,IAAI;AAAA,EAClB;AAEA,QAAM,mBAAmB,CAAC;AAE1B,MAAI,UAAU,UAAU;AACL,qBAAA,KAAK,CAAC,UAAe;AAAA,MACpC,GAAG,KAAK;AAAA,MACR,GAAG,KAAK,UAAU,IAAI;AAAA,MACtB,GAAG,KAAK,UAAU,IAAI;AAAA,IAAA,EACtB;AAAA,EAAA;AAGJ,MAAI,sBAAsB;AAC1B,MAAI,CAAC,eAAe;AACI,0BAAA;AAAA,EAAA,OACjB;AACiB,0BAAA;AAAA,EAAA;AAGxB,QAAM,qBAAqB,CAAC,QAAgB,WAAmB,OAAO;AACpE,QAAI,MAAM,iBAAiB,WAAW,UAAU,MAAM;AAKhD,UAAA,IAAI,SAAS,cAAc,GAAG;AACpC,MAAE,OAAO;AACT,MAAE,WAAW;AACJ,aAAA,KAAK,YAAY,CAAC;AAG3B,MAAE,MAAM;AAGC,aAAA,KAAK,YAAY,CAAC;AAAA,EAC7B;AAEM,QAAA,CAAC,gBAAgB,IAAIC,yCAA4B;AAEjD,QAAA,eAAe,OAAO,YAAoB,UAAkB;AAElDC,gCAAA;AAAA,MACZ,QAAQ,YAAY;AAAA,MACpB,SAAS;AAAA,MACT,QAAQ,YAAY;AACd,YAAA;AACF,gBAAM,iBAAiB,EAAE,YAAY,YAAa,CAAA,EAAE,OAAO;AAAA,iBACpD,OAAO;AACdF,wBAAA,MAAM,MAAM,6BAA6B;AAAA,QAAA;AAAA,MAC3C;AAAA,IACF,CACD;AAAA,EACH;AAGM,QAAA,CAAC,WAAW,IAAIG,0CAAqB;AAErC,QAAA,oBAAoB,CAAC,UAAsC;AAEzD,UAAA,KAAK,MAAM,cAAc;AAE/B,QAAI,CAAC,GAAI;AAET,UAAM,aAAa,YAAY,KAAK,CAACP,gBAAeA,YAAW,WAAW,EAAE;AAE5E,QAAI,CAAC,WAAY;AAEX,UAAA,iBAAiB,WAAW,eAAe,WAAW;AAC5D,UAAM,qBAAqB,YAAY;AAAA,MACrC,CAACA,gBAAeA,YAAW,WAAW;AAAA,IACxC;AAEA,UAAM,QAMA;AAAA,MACJ;AAAA,QACE,OAAO;AAAA,QACP,MAAM;AAAA,QACN,SAAS,MAAM,mBAAmB,gBAAgB,yDAAoB,QAAQ;AAAA,QAC9E,UAAU,CAAC;AAAA,MAAA;AAAA,IAEf;AAEA,QAAI,aAAa,WAAW,OAAO,QAAQ,CAAC,eAAe;AACzD,YAAM,KAAK;AAAA,QACT,OAAO;AAAA,QACP,MAAM;AAAA,QACN,SAAS,MAAM,aAAa,WAAW,YAAY,WAAW,SAAS,WAAW,QAAQ;AAAA,QAC1F,QAAQ;AAAA,MAAA,CACT;AAAA,IAAA;AAIH,UAAM,KAAK;AAAA,MACT,OAAO,WAAW,WAAW,OAAO,YAAY,WAAW,OAAO,IAAI;AAAA,MACtE,MAAM;AAAA,MACN,UAAU;AAAA,IAAA,CACX;AAED,gBAAY,OAAO,KAAK;AAAA,EAC1B;AAEA,SAEIQ,2BAAA,kBAAA,KAAAC,uCAAA,EAAA,UAAA;AAAA,IAAAC,2BAAA,kBAAA;AAAA,MAACC,kBAAA;AAAA,MAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA;AAAA,QACA,QAAQ,iCAAQ;AAAA,QAChB,UAAU,iCAAQ;AAAA,QAClB;AAAA,QAEC,UAAA,YACC,MAAM,KAAK,EAAE,QAAQ,GAAG,EAAE,IAAI,CAAC,GAAG,UAChCD,2BAAAA,kBAAAA,IAACE,uBAAA,aAAA,EAA+B,WAAU,UAAjB,GAAA,KAA2B,CACrD,IAGCJ,2BAAA,kBAAA,KAAAC,uCAAA,EAAA,UAAA;AAAA,UAAAD,2BAAA,kBAAA;AAAA,YAACK,KAAA;AAAA,YAAA;AAAA,cACC;AAAA,cACA,oBAAoBC,KAAA;AAAA,cACpB,aAAa;AAAA,cACb,WAAW;AAAA,cACX,cAAc,MAAM,YAAY,IAAI;AAAA,cAEpC,UAAA;AAAA,gBAAAJ,2BAAA,kBAAA;AAAA,kBAACK,SAAA;AAAA,kBAAA;AAAA,oBACC,OAAO,YAAY,IAAI,CAAC,EAAE,OAAA,MAAa,MAA0B;AAAA,oBACjE,UAAUC,SAAA;AAAA,oBAET,UAAA,oBAAoB,IAAI,CAAC,eACxBN,2BAAA,kBAAA;AAAA,sBAAC;AAAA,sBAAA;AAAA,wBAEC;AAAA,wBACA,SAAS;AAAA,wBACT,YAAY,cAAc,SAAS,WAAW,MAAM;AAAA,wBACpD,YAAY,CAAC,CAAC;AAAA,wBACd,eAAe;AAAA,wBACf,QAAQ,CAAC,MAAM;AACb,4BAAE,gBAAgB;AAClB,4CAAkB,WAAW,UAAU;AAAA,wBACzC;AAAA,wBACC,GAAG;AAAA,sBAAA;AAAA,sBAVC,WAAW;AAAA,oBAYnB,CAAA;AAAA,kBAAA;AAAA,gBACH;AAAA,gBAGCA,2BAAA,kBAAA,IAAAO,KAAA,aAAA,EAAY,WAAW,kBACrB,UACC,iBAAAP,2BAAA,kBAAA;AAAA,kBAACQ,eAAA;AAAA,kBAAA;AAAA,oBACE,GAAG;AAAA,oBACJ;AAAA,oBACA,eAAa;AAAA,oBACb,YAAU;AAAA,oBACV,YAAY,cAAc,SAAS,eAAe,MAAM;AAAA,kBAAA;AAAA,oBAExD,KACN,CAAA;AAAA,cAAA;AAAA,YAAA;AAAA,UACF;AAAA,UACC,WAAW,IAAI,CAAC;;AACfR,8CAAA,kBAAA;AAAA,cAACS,uBAAA;AAAA,cAAA;AAAA,gBAEC,MAAM,WAAW;AAAA,gBACjB,MAAM;AAAA,gBACN,WAAUC,MAAA,WAAW,eAAX,gBAAAA,IAAuB;AAAA,gBACjC,QAAQ,WAAW;AAAA,cAAA;AAAA,cAJd,WAAW;AAAA,YAAA;AAAA,WAMnB;AAAA,UAEA,OAAO,IAAI,CAAC,eACXV,2BAAA,kBAAA;AAAA,YAACS,uBAAA;AAAA,YAAA;AAAA,cAEC,MAAM,WAAW;AAAA,cACjB,MAAM;AAAA,cACN,QAAQ,WAAW;AAAA,YAAA;AAAA,YAHd,WAAW;AAAA,UAAA,CAKnB;AAAA,UAEA,aAAa,IAAI,CAAC,eACjBT,2BAAA,kBAAA;AAAA,YAACS,uBAAA;AAAA,YAAA;AAAA,cAEC,MAAM,WAAW;AAAA,cACjB,MAAM;AAAA,cACN,SAAS;AAAA,cACT,KAAK,iBAAiB,WAAW,UAAU,WAAW,MAAM;AAAA,cAC5D,eAAe;AAAA,cACf,QAAQ,WAAW;AAAA,YAAA;AAAA,YANd,WAAW;AAAA,UAQnB,CAAA;AAAA,QAAA,EACH,CAAA;AAAA,MAAA;AAAA,IAEJ;AAAA,IAEC,kBACCT,2BAAA,kBAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,QAAM;AAAA,QACN,SAAS,MAAM,kBAAkB,IAAI;AAAA,QACrC,SACE,iBAAY,KAAK,CAAC,eAAe,WAAW,eAAe,cAAc,MAAzE,mBAA4E,UAAS;AAAA,QAEvF;AAAA,QACA;AAAA,QACA,YAAY;AAAA,MAAA;AAAA,IAAA;AAAA,EACd,GAEJ;AAEJ;;"}
@@ -35,6 +35,7 @@ import "../../api/generated/users.es.js";
35
35
  import "../../api/generated/versions.es.js";
36
36
  import "../../api/generated/workfiles.es.js";
37
37
  import "../../api/generated/ynputCloud.es.js";
38
+ import "../../api/generated/grouping.es.js";
38
39
  import "../../api/queries/actions/getActions.es.js";
39
40
  import "../../api/queries/activities/getActivities.es.js";
40
41
  import "../../api/queries/activities/updateActivities.es.js";
@@ -65,6 +66,7 @@ import "../../api/queries/users/getUsers.es.js";
65
66
  import "../../api/queries/users/updateUsers.es.js";
66
67
  import "../../api/queries/watchers/getWatchers.es.js";
67
68
  import "../../api/queries/permissions/getPermissions.es.js";
69
+ import "../../api/queries/grouping/getGrouping.es.js";
68
70
  import { useSensors, useSensor, PointerSensor, KeyboardSensor, DndContext, closestCenter, DragOverlay } from "@dnd-kit/core";
69
71
  import { sortableKeyboardCoordinates, SortableContext, verticalListSortingStrategy, arrayMove } from "@dnd-kit/sortable";
70
72
  import "@ynput/ayon-react-components";
@@ -182,6 +184,7 @@ import "../SettingsPanel/SettingsPanelItemTemplate.es.js";
182
184
  import "../AttributeEditor/components/MinMaxField.es.js";
183
185
  import "../EnumEditor/EnumEditor.styled.es.js";
184
186
  import "../SearchFilter/filterDates.es.js";
187
+ import "../Badge/Badge.es.js";
185
188
  const ReviewablesList = ({
186
189
  projectName,
187
190
  versionId,
@@ -190,7 +193,7 @@ const ReviewablesList = ({
190
193
  scope
191
194
  }) => {
192
195
  var _a, _b;
193
- const { onOpenViewer, user, viewer } = useDetailsPanelContext();
196
+ const { onOpenViewer, user, viewer, dispatch } = useDetailsPanelContext();
194
197
  const {
195
198
  data: versionReviewables,
196
199
  isFetching: isFetchingReviewables,
@@ -333,87 +336,98 @@ const ReviewablesList = ({
333
336
  ctxMenuShow(event, items);
334
337
  };
335
338
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
336
- /* @__PURE__ */ jsxRuntimeExports.jsx(ReviewableUpload, { projectName, versionId, productId, children: isLoading ? Array.from({ length: 3 }).map((_, index) => /* @__PURE__ */ jsxRuntimeExports.jsx(LoadingCard, { className: "loading" }, index)) : /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
337
- /* @__PURE__ */ jsxRuntimeExports.jsxs(
338
- DndContext,
339
- {
340
- sensors,
341
- collisionDetection: closestCenter,
342
- onDragStart: handleDragStart,
343
- onDragEnd: handleDragEnd,
344
- onDragCancel: () => setActiveId(null),
345
- children: [
346
- /* @__PURE__ */ jsxRuntimeExports.jsx(
347
- SortableContext,
348
- {
349
- items: reviewables.map(({ fileId }) => fileId),
350
- strategy: verticalListSortingStrategy,
351
- children: sortableReviewables.map((reviewable) => /* @__PURE__ */ jsxRuntimeExports.jsx(
352
- SortableReviewableCard,
339
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
340
+ ReviewableUpload,
341
+ {
342
+ projectName,
343
+ versionId,
344
+ productId,
345
+ taskId: viewer == null ? void 0 : viewer.taskId,
346
+ folderId: viewer == null ? void 0 : viewer.folderId,
347
+ dispatch,
348
+ children: isLoading ? Array.from({ length: 3 }).map((_, index) => /* @__PURE__ */ jsxRuntimeExports.jsx(LoadingCard, { className: "loading" }, index)) : /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
349
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(
350
+ DndContext,
351
+ {
352
+ sensors,
353
+ collisionDetection: closestCenter,
354
+ onDragStart: handleDragStart,
355
+ onDragEnd: handleDragEnd,
356
+ onDragCancel: () => setActiveId(null),
357
+ children: [
358
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
359
+ SortableContext,
353
360
  {
361
+ items: reviewables.map(({ fileId }) => fileId),
362
+ strategy: verticalListSortingStrategy,
363
+ children: sortableReviewables.map((reviewable) => /* @__PURE__ */ jsxRuntimeExports.jsx(
364
+ SortableReviewableCard,
365
+ {
366
+ projectName,
367
+ onClick: handleReviewableClick,
368
+ isSelected: reviewableIds.includes(reviewable.fileId),
369
+ isDragging: !!activeId,
370
+ onContextMenu: handleContextMenu,
371
+ onEdit: (e) => {
372
+ e.stopPropagation();
373
+ setEditActivityId(reviewable.activityId);
374
+ },
375
+ ...reviewable
376
+ },
377
+ reviewable.fileId
378
+ ))
379
+ }
380
+ ),
381
+ /* @__PURE__ */ jsxRuntimeExports.jsx(DragOverlay, { modifiers: overlayModifiers, children: draggingReview ? /* @__PURE__ */ jsxRuntimeExports.jsx(
382
+ ReviewableCard,
383
+ {
384
+ ...draggingReview,
354
385
  projectName,
355
- onClick: handleReviewableClick,
356
- isSelected: reviewableIds.includes(reviewable.fileId),
357
- isDragging: !!activeId,
358
- onContextMenu: handleContextMenu,
359
- onEdit: (e) => {
360
- e.stopPropagation();
361
- setEditActivityId(reviewable.activityId);
362
- },
363
- ...reviewable
364
- },
365
- reviewable.fileId
366
- ))
367
- }
368
- ),
369
- /* @__PURE__ */ jsxRuntimeExports.jsx(DragOverlay, { modifiers: overlayModifiers, children: draggingReview ? /* @__PURE__ */ jsxRuntimeExports.jsx(
370
- ReviewableCard,
386
+ isDragOverlay: true,
387
+ isDragging: true,
388
+ isSelected: reviewableIds.includes(draggingReview.fileId)
389
+ }
390
+ ) : null })
391
+ ]
392
+ }
393
+ ),
394
+ processing.map((reviewable) => {
395
+ var _a2;
396
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(
397
+ ReviewableProgressCard,
371
398
  {
372
- ...draggingReview,
373
- projectName,
374
- isDragOverlay: true,
375
- isDragging: true,
376
- isSelected: reviewableIds.includes(draggingReview.fileId)
377
- }
378
- ) : null })
379
- ]
380
- }
381
- ),
382
- processing.map((reviewable) => {
383
- var _a2;
384
- return /* @__PURE__ */ jsxRuntimeExports.jsx(
385
- ReviewableProgressCard,
386
- {
387
- name: reviewable.filename,
388
- type: "processing",
389
- progress: (_a2 = reviewable.processing) == null ? void 0 : _a2.progress,
390
- fileId: reviewable.fileId
391
- },
392
- reviewable.fileId
393
- );
394
- }),
395
- queued.map((reviewable) => /* @__PURE__ */ jsxRuntimeExports.jsx(
396
- ReviewableProgressCard,
397
- {
398
- name: reviewable.filename,
399
- type: "queued",
400
- fileId: reviewable.fileId
401
- },
402
- reviewable.fileId
403
- )),
404
- incompatible.map((reviewable) => /* @__PURE__ */ jsxRuntimeExports.jsx(
405
- ReviewableProgressCard,
406
- {
407
- name: reviewable.filename,
408
- type: "unsupported",
409
- tooltip: incompatibleMessage,
410
- src: `/api/projects/${projectName}/files/${reviewable.fileId}/thumbnail`,
411
- onContextMenu: handleContextMenu,
412
- fileId: reviewable.fileId
413
- },
414
- reviewable.fileId
415
- ))
416
- ] }) }),
399
+ name: reviewable.filename,
400
+ type: "processing",
401
+ progress: (_a2 = reviewable.processing) == null ? void 0 : _a2.progress,
402
+ fileId: reviewable.fileId
403
+ },
404
+ reviewable.fileId
405
+ );
406
+ }),
407
+ queued.map((reviewable) => /* @__PURE__ */ jsxRuntimeExports.jsx(
408
+ ReviewableProgressCard,
409
+ {
410
+ name: reviewable.filename,
411
+ type: "queued",
412
+ fileId: reviewable.fileId
413
+ },
414
+ reviewable.fileId
415
+ )),
416
+ incompatible.map((reviewable) => /* @__PURE__ */ jsxRuntimeExports.jsx(
417
+ ReviewableProgressCard,
418
+ {
419
+ name: reviewable.filename,
420
+ type: "unsupported",
421
+ tooltip: incompatibleMessage,
422
+ src: `/api/projects/${projectName}/files/${reviewable.fileId}/thumbnail`,
423
+ onContextMenu: handleContextMenu,
424
+ fileId: reviewable.fileId
425
+ },
426
+ reviewable.fileId
427
+ ))
428
+ ] })
429
+ }
430
+ ),
417
431
  editActivityId && /* @__PURE__ */ jsxRuntimeExports.jsx(
418
432
  EditReviewableDialog,
419
433
  {
@@ -1 +1 @@
1
- {"version":3,"file":"ReviewablesList.es.js","sources":["../../../../../src/components/ReviewablesList/ReviewablesList.tsx"],"sourcesContent":["import { FC, MouseEvent, useState } from 'react'\n// queries\nimport { useGetReviewablesForVersionQuery, useHasTranscoderQuery } from '@shared/api'\nimport { useDeleteReviewableMutation, useSortVersionReviewablesMutation } from '@shared/api'\n\n// DND\nimport {\n DndContext,\n closestCenter,\n KeyboardSensor,\n PointerSensor,\n useSensor,\n useSensors,\n UniqueIdentifier,\n DragEndEvent,\n DragOverlay,\n DragStartEvent,\n} from '@dnd-kit/core'\nimport {\n arrayMove,\n SortableContext,\n sortableKeyboardCoordinates,\n verticalListSortingStrategy,\n} from '@dnd-kit/sortable'\n\n// components\nimport { ReviewableCard, ReviewableProgressCard } from '@shared/components'\nimport SortableReviewableCard from './SortableReviewableCard'\nimport * as Styled from './ReviewablesList.styled'\nimport { toast } from 'react-toastify'\n\n// utils\nimport { getGroupedReviewables } from './getGroupedReviewables'\nimport { useCreateContextMenu } from '@shared/containers/ContextMenu'\nimport { confirmDelete } from '@shared/util'\nimport EditReviewableDialog from './EditReviewableDialog'\nimport ReviewableUpload from './ReviewablesUpload'\nimport { useDetailsPanelContext } from '@shared/context'\n\ninterface ReviewablesListProps {\n projectName: string\n versionId: string\n productId: string\n isLoadingVersion: boolean\n scope: string\n}\n\nconst ReviewablesList: FC<ReviewablesListProps> = ({\n projectName,\n versionId,\n productId,\n isLoadingVersion,\n scope,\n}) => {\n const { onOpenViewer, user, viewer } = useDetailsPanelContext()\n // returns all reviewables for a product\n const {\n data: versionReviewables,\n isFetching: isFetchingReviewables,\n currentData,\n } = useGetReviewablesForVersionQuery(\n { projectName, versionId: versionId },\n { skip: !versionId || !projectName },\n )\n\n // do we have the premium transcoder?\n const { data: hasTranscoder } = useHasTranscoderQuery(undefined)\n\n // are we currently looking at review? (is it selected in the viewer)\n const reviewableIds = viewer?.reviewableIds || []\n const userName = user.name\n const currentIsUser = user.data?.isUser\n\n // either null or the reviewable id we are editing\n const [editActivityId, setEditActivityId] = useState<null | string>(null)\n\n // dragging activeId\n const [activeId, setActiveId] = useState<null | string>(null)\n\n const sensors = useSensors(\n useSensor(PointerSensor),\n useSensor(KeyboardSensor, {\n coordinateGetter: sortableKeyboardCoordinates,\n }),\n )\n\n const reviewables = versionReviewables?.reviewables || []\n const draggingReview = reviewables.find((reviewable) => reviewable.fileId === activeId)\n\n const currentVersionId = currentData?.id\n const queryingNewVersion = versionId !== currentVersionId\n\n const isLoading = (isFetchingReviewables && queryingNewVersion) || isLoadingVersion\n\n const handleReviewableClick = (event: MouseEvent<HTMLDivElement>) => {\n // check are not dragging\n if (activeId) return console.log('Dragging, cannot open review')\n\n // get the reviewable id\n const id = event.currentTarget.id\n if (!id || !productId) return console.error('No reviewable id or product id')\n\n const reviewable = reviewables.find((reviewable) => reviewable.fileId === id)\n console.debug(reviewable)\n console.debug(reviewable?.mediaInfo)\n\n // open the reviewable dialog\n onOpenViewer?.({\n projectName: projectName,\n productId: productId,\n versionIds: [versionId],\n reviewableIds: [id],\n })\n }\n\n const { optimized, unoptimized, incompatible, processing, queued } = getGroupedReviewables(\n reviewables,\n hasTranscoder,\n )\n\n const sortableReviewables = [...optimized, ...unoptimized]\n\n function handleDragStart(event: DragStartEvent) {\n const { active } = event\n\n setActiveId(active.id as string)\n }\n\n const [sortVersionReviewables] = useSortVersionReviewablesMutation()\n\n const handleDragEnd = async (event: DragEndEvent) => {\n const { active, over } = event\n\n if (over?.id && active.id !== over.id) {\n console.log('update review position')\n\n const oldIndex = sortableReviewables.findIndex(\n (reviewable) => reviewable.fileId === active.id,\n )\n const newIndex = sortableReviewables.findIndex((reviewable) => reviewable.fileId === over.id)\n\n // resort the reviewables\n const newReviewables = arrayMove(sortableReviewables, oldIndex, newIndex)\n\n const newOrder = newReviewables.map((reviewable) => reviewable.activityId)\n\n try {\n // update the reviewables\n sortVersionReviewables({\n projectName,\n versionId,\n sortReviewablesRequest: { sort: newOrder },\n }).unwrap()\n } catch (error) {\n toast.error('Error sorting reviewables')\n }\n }\n setActiveId(null)\n }\n\n const overlayModifiers = []\n // hack to make the dnd overlay pos work inside dialog\n if (scope === 'review') {\n overlayModifiers.push((args: any) => ({\n ...args.transform,\n x: args.transform.x - 32,\n y: args.transform.y - 32,\n }))\n }\n\n let incompatibleMessage = ''\n if (!hasTranscoder) {\n incompatibleMessage = `The conversion transcoder is only supported on [**Ynput Cloud**](https://ynput.cloud/subscribe/ayon). Please subscribe or [contact support](https://ynput.io/services/) for more information.`\n } else {\n incompatibleMessage = 'The file is not supported by the transcoder'\n }\n\n const handleDownloadFile = (fileId: string, fileName: string = '') => {\n let url = `/api/projects/${projectName}/files/${fileId}`\n\n // if (codec) url += `.${codec}`\n\n // Create an invisible anchor element\n const a = document.createElement('a')\n a.href = url\n a.download = fileName\n document.body.appendChild(a)\n\n // Trigger a click event on the anchor element\n a.click()\n\n // Remove the anchor element from the document\n document.body.removeChild(a)\n }\n\n const [deleteReviewable] = useDeleteReviewableMutation()\n\n const handleDelete = async (activityId: string, label: string) => {\n // @ts-ignore\n confirmDelete({\n header: 'Delete ' + label,\n message: 'Are you sure you want to delete this reviewable?',\n accept: async () => {\n try {\n await deleteReviewable({ activityId, projectName }).unwrap()\n } catch (error) {\n toast.error('Failed to delete reviewable')\n }\n },\n })\n }\n\n // create the ref and model\n const [ctxMenuShow] = useCreateContextMenu()\n\n const handleContextMenu = (event: MouseEvent<HTMLDivElement>) => {\n // get the reviewable by id\n const id = event.currentTarget.id\n\n if (!id) return\n\n const reviewable = reviewables.find((reviewable) => reviewable.fileId === id)\n\n if (!reviewable) return\n\n const originalFileId = reviewable.createdFrom || reviewable.fileId\n const originalReviewable = reviewables.find(\n (reviewable) => reviewable.fileId === originalFileId,\n )\n\n const items: {\n label: string\n icon: string\n onClick?: () => void\n disabled?: boolean\n danger?: boolean\n }[] = [\n {\n label: 'Download original',\n icon: 'download',\n onClick: () => handleDownloadFile(originalFileId, originalReviewable?.filename),\n disabled: !originalReviewable,\n },\n ]\n\n if (userName === reviewable.author.name || !currentIsUser) {\n items.push({\n label: 'Delete',\n icon: 'delete',\n onClick: () => handleDelete(reviewable.activityId, reviewable.label || reviewable.filename),\n danger: true,\n })\n }\n\n // add author\n items.push({\n label: `Author: ${reviewable.author.fullName || reviewable.author.name}`,\n icon: 'person',\n disabled: true,\n })\n\n ctxMenuShow(event, items)\n }\n\n return (\n <>\n <ReviewableUpload projectName={projectName} versionId={versionId} productId={productId}>\n {isLoading ? (\n Array.from({ length: 3 }).map((_, index) => (\n <Styled.LoadingCard key={index} className=\"loading\" />\n ))\n ) : (\n <>\n <DndContext\n sensors={sensors}\n collisionDetection={closestCenter}\n onDragStart={handleDragStart}\n onDragEnd={handleDragEnd}\n onDragCancel={() => setActiveId(null)}\n >\n <SortableContext\n items={reviewables.map(({ fileId }) => fileId as UniqueIdentifier)}\n strategy={verticalListSortingStrategy}\n >\n {sortableReviewables.map((reviewable) => (\n <SortableReviewableCard\n key={reviewable.fileId}\n projectName={projectName}\n onClick={handleReviewableClick}\n isSelected={reviewableIds.includes(reviewable.fileId)}\n isDragging={!!activeId}\n onContextMenu={handleContextMenu}\n onEdit={(e) => {\n e.stopPropagation()\n setEditActivityId(reviewable.activityId)\n }}\n {...reviewable}\n />\n ))}\n </SortableContext>\n\n {/* drag overlay */}\n <DragOverlay modifiers={overlayModifiers}>\n {draggingReview ? (\n <ReviewableCard\n {...draggingReview}\n projectName={projectName}\n isDragOverlay\n isDragging\n isSelected={reviewableIds.includes(draggingReview.fileId)}\n />\n ) : null}\n </DragOverlay>\n </DndContext>\n {processing.map((reviewable) => (\n <ReviewableProgressCard\n key={reviewable.fileId}\n name={reviewable.filename}\n type={'processing'}\n progress={reviewable.processing?.progress}\n fileId={reviewable.fileId}\n />\n ))}\n\n {queued.map((reviewable) => (\n <ReviewableProgressCard\n key={reviewable.fileId}\n name={reviewable.filename}\n type={'queued'}\n fileId={reviewable.fileId}\n />\n ))}\n\n {incompatible.map((reviewable) => (\n <ReviewableProgressCard\n key={reviewable.fileId}\n name={reviewable.filename}\n type={'unsupported'}\n tooltip={incompatibleMessage}\n src={`/api/projects/${projectName}/files/${reviewable.fileId}/thumbnail`}\n onContextMenu={handleContextMenu}\n fileId={reviewable.fileId}\n />\n ))}\n </>\n )}\n </ReviewableUpload>\n\n {editActivityId && (\n <EditReviewableDialog\n isOpen\n onClose={() => setEditActivityId(null)}\n label={\n reviewables.find((reviewable) => reviewable.activityId === editActivityId)?.label || ''\n }\n projectName={projectName}\n versionId={versionId}\n activityId={editActivityId}\n />\n )}\n </>\n )\n}\n\nexport default ReviewablesList\n"],"names":["reviewable","jsxs","Fragment","jsx","Styled.LoadingCard","_a"],"mappings":"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"}
1
+ {"version":3,"file":"ReviewablesList.es.js","sources":["../../../../../src/components/ReviewablesList/ReviewablesList.tsx"],"sourcesContent":["import { FC, MouseEvent, useState } from 'react'\n// queries\nimport { useGetReviewablesForVersionQuery, useHasTranscoderQuery } from '@shared/api'\nimport { useDeleteReviewableMutation, useSortVersionReviewablesMutation } from '@shared/api'\n\n// DND\nimport {\n DndContext,\n closestCenter,\n KeyboardSensor,\n PointerSensor,\n useSensor,\n useSensors,\n UniqueIdentifier,\n DragEndEvent,\n DragOverlay,\n DragStartEvent,\n} from '@dnd-kit/core'\nimport {\n arrayMove,\n SortableContext,\n sortableKeyboardCoordinates,\n verticalListSortingStrategy,\n} from '@dnd-kit/sortable'\n\n// components\nimport { ReviewableCard, ReviewableProgressCard } from '@shared/components'\nimport SortableReviewableCard from './SortableReviewableCard'\nimport * as Styled from './ReviewablesList.styled'\nimport { toast } from 'react-toastify'\n\n// utils\nimport { getGroupedReviewables } from './getGroupedReviewables'\nimport { useCreateContextMenu } from '@shared/containers/ContextMenu'\nimport { confirmDelete } from '@shared/util'\nimport EditReviewableDialog from './EditReviewableDialog'\nimport ReviewableUpload from './ReviewablesUpload'\nimport { useDetailsPanelContext } from '@shared/context'\n\ninterface ReviewablesListProps {\n projectName: string\n versionId: string\n productId: string\n isLoadingVersion: boolean\n scope: string\n}\n\nconst ReviewablesList: FC<ReviewablesListProps> = ({\n projectName,\n versionId,\n productId,\n isLoadingVersion,\n scope,\n}) => {\n const { onOpenViewer, user, viewer, dispatch } = useDetailsPanelContext()\n // returns all reviewables for a product\n const {\n data: versionReviewables,\n isFetching: isFetchingReviewables,\n currentData,\n } = useGetReviewablesForVersionQuery(\n { projectName, versionId: versionId },\n { skip: !versionId || !projectName },\n )\n\n // do we have the premium transcoder?\n const { data: hasTranscoder } = useHasTranscoderQuery(undefined)\n\n // are we currently looking at review? (is it selected in the viewer)\n const reviewableIds = viewer?.reviewableIds || []\n const userName = user.name\n const currentIsUser = user.data?.isUser\n\n // either null or the reviewable id we are editing\n const [editActivityId, setEditActivityId] = useState<null | string>(null)\n\n // dragging activeId\n const [activeId, setActiveId] = useState<null | string>(null)\n\n const sensors = useSensors(\n useSensor(PointerSensor),\n useSensor(KeyboardSensor, {\n coordinateGetter: sortableKeyboardCoordinates,\n }),\n )\n\n const reviewables = versionReviewables?.reviewables || []\n const draggingReview = reviewables.find((reviewable) => reviewable.fileId === activeId)\n\n const currentVersionId = currentData?.id\n const queryingNewVersion = versionId !== currentVersionId\n\n const isLoading = (isFetchingReviewables && queryingNewVersion) || isLoadingVersion\n\n const handleReviewableClick = (event: MouseEvent<HTMLDivElement>) => {\n // check are not dragging\n if (activeId) return console.log('Dragging, cannot open review')\n\n // get the reviewable id\n const id = event.currentTarget.id\n if (!id || !productId) return console.error('No reviewable id or product id')\n\n const reviewable = reviewables.find((reviewable) => reviewable.fileId === id)\n console.debug(reviewable)\n console.debug(reviewable?.mediaInfo)\n\n // open the reviewable dialog\n onOpenViewer?.({\n projectName: projectName,\n productId: productId,\n versionIds: [versionId],\n reviewableIds: [id],\n })\n }\n\n const { optimized, unoptimized, incompatible, processing, queued } = getGroupedReviewables(\n reviewables,\n hasTranscoder,\n )\n\n const sortableReviewables = [...optimized, ...unoptimized]\n\n function handleDragStart(event: DragStartEvent) {\n const { active } = event\n\n setActiveId(active.id as string)\n }\n\n const [sortVersionReviewables] = useSortVersionReviewablesMutation()\n\n const handleDragEnd = async (event: DragEndEvent) => {\n const { active, over } = event\n\n if (over?.id && active.id !== over.id) {\n console.log('update review position')\n\n const oldIndex = sortableReviewables.findIndex(\n (reviewable) => reviewable.fileId === active.id,\n )\n const newIndex = sortableReviewables.findIndex((reviewable) => reviewable.fileId === over.id)\n\n // resort the reviewables\n const newReviewables = arrayMove(sortableReviewables, oldIndex, newIndex)\n\n const newOrder = newReviewables.map((reviewable) => reviewable.activityId)\n\n try {\n // update the reviewables\n sortVersionReviewables({\n projectName,\n versionId,\n sortReviewablesRequest: { sort: newOrder },\n }).unwrap()\n } catch (error) {\n toast.error('Error sorting reviewables')\n }\n }\n setActiveId(null)\n }\n\n const overlayModifiers = []\n // hack to make the dnd overlay pos work inside dialog\n if (scope === 'review') {\n overlayModifiers.push((args: any) => ({\n ...args.transform,\n x: args.transform.x - 32,\n y: args.transform.y - 32,\n }))\n }\n\n let incompatibleMessage = ''\n if (!hasTranscoder) {\n incompatibleMessage = `The conversion transcoder is only supported on [**Ynput Cloud**](https://ynput.cloud/subscribe/ayon). Please subscribe or [contact support](https://ynput.io/services/) for more information.`\n } else {\n incompatibleMessage = 'The file is not supported by the transcoder'\n }\n\n const handleDownloadFile = (fileId: string, fileName: string = '') => {\n let url = `/api/projects/${projectName}/files/${fileId}`\n\n // if (codec) url += `.${codec}`\n\n // Create an invisible anchor element\n const a = document.createElement('a')\n a.href = url\n a.download = fileName\n document.body.appendChild(a)\n\n // Trigger a click event on the anchor element\n a.click()\n\n // Remove the anchor element from the document\n document.body.removeChild(a)\n }\n\n const [deleteReviewable] = useDeleteReviewableMutation()\n\n const handleDelete = async (activityId: string, label: string) => {\n // @ts-ignore\n confirmDelete({\n header: 'Delete ' + label,\n message: 'Are you sure you want to delete this reviewable?',\n accept: async () => {\n try {\n await deleteReviewable({ activityId, projectName }).unwrap()\n } catch (error) {\n toast.error('Failed to delete reviewable')\n }\n },\n })\n }\n\n // create the ref and model\n const [ctxMenuShow] = useCreateContextMenu()\n\n const handleContextMenu = (event: MouseEvent<HTMLDivElement>) => {\n // get the reviewable by id\n const id = event.currentTarget.id\n\n if (!id) return\n\n const reviewable = reviewables.find((reviewable) => reviewable.fileId === id)\n\n if (!reviewable) return\n\n const originalFileId = reviewable.createdFrom || reviewable.fileId\n const originalReviewable = reviewables.find(\n (reviewable) => reviewable.fileId === originalFileId,\n )\n\n const items: {\n label: string\n icon: string\n onClick?: () => void\n disabled?: boolean\n danger?: boolean\n }[] = [\n {\n label: 'Download original',\n icon: 'download',\n onClick: () => handleDownloadFile(originalFileId, originalReviewable?.filename),\n disabled: !originalReviewable,\n },\n ]\n\n if (userName === reviewable.author.name || !currentIsUser) {\n items.push({\n label: 'Delete',\n icon: 'delete',\n onClick: () => handleDelete(reviewable.activityId, reviewable.label || reviewable.filename),\n danger: true,\n })\n }\n\n // add author\n items.push({\n label: `Author: ${reviewable.author.fullName || reviewable.author.name}`,\n icon: 'person',\n disabled: true,\n })\n\n ctxMenuShow(event, items)\n }\n\n return (\n <>\n <ReviewableUpload\n projectName={projectName}\n versionId={versionId}\n productId={productId}\n taskId={viewer?.taskId}\n folderId={viewer?.folderId}\n dispatch={dispatch}\n >\n {isLoading ? (\n Array.from({ length: 3 }).map((_, index) => (\n <Styled.LoadingCard key={index} className=\"loading\" />\n ))\n ) : (\n <>\n <DndContext\n sensors={sensors}\n collisionDetection={closestCenter}\n onDragStart={handleDragStart}\n onDragEnd={handleDragEnd}\n onDragCancel={() => setActiveId(null)}\n >\n <SortableContext\n items={reviewables.map(({ fileId }) => fileId as UniqueIdentifier)}\n strategy={verticalListSortingStrategy}\n >\n {sortableReviewables.map((reviewable) => (\n <SortableReviewableCard\n key={reviewable.fileId}\n projectName={projectName}\n onClick={handleReviewableClick}\n isSelected={reviewableIds.includes(reviewable.fileId)}\n isDragging={!!activeId}\n onContextMenu={handleContextMenu}\n onEdit={(e) => {\n e.stopPropagation()\n setEditActivityId(reviewable.activityId)\n }}\n {...reviewable}\n />\n ))}\n </SortableContext>\n\n {/* drag overlay */}\n <DragOverlay modifiers={overlayModifiers}>\n {draggingReview ? (\n <ReviewableCard\n {...draggingReview}\n projectName={projectName}\n isDragOverlay\n isDragging\n isSelected={reviewableIds.includes(draggingReview.fileId)}\n />\n ) : null}\n </DragOverlay>\n </DndContext>\n {processing.map((reviewable) => (\n <ReviewableProgressCard\n key={reviewable.fileId}\n name={reviewable.filename}\n type={'processing'}\n progress={reviewable.processing?.progress}\n fileId={reviewable.fileId}\n />\n ))}\n\n {queued.map((reviewable) => (\n <ReviewableProgressCard\n key={reviewable.fileId}\n name={reviewable.filename}\n type={'queued'}\n fileId={reviewable.fileId}\n />\n ))}\n\n {incompatible.map((reviewable) => (\n <ReviewableProgressCard\n key={reviewable.fileId}\n name={reviewable.filename}\n type={'unsupported'}\n tooltip={incompatibleMessage}\n src={`/api/projects/${projectName}/files/${reviewable.fileId}/thumbnail`}\n onContextMenu={handleContextMenu}\n fileId={reviewable.fileId}\n />\n ))}\n </>\n )}\n </ReviewableUpload>\n\n {editActivityId && (\n <EditReviewableDialog\n isOpen\n onClose={() => setEditActivityId(null)}\n label={\n reviewables.find((reviewable) => reviewable.activityId === editActivityId)?.label || ''\n }\n projectName={projectName}\n versionId={versionId}\n activityId={editActivityId}\n />\n )}\n </>\n )\n}\n\nexport default ReviewablesList\n"],"names":["reviewable","jsxs","Fragment","jsx","Styled.LoadingCard","_a"],"mappings":"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"}