@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
@@ -1 +1 @@
1
- {"version":3,"file":"getAddons.es.js","sources":["../../../../../../src/api/queries/addons/getAddons.ts"],"sourcesContent":["import { addonsApi } from '@shared/api/generated'\n\nconst enhancedApi = addonsApi.enhanceEndpoints({\n endpoints: {\n listAddons: {\n providesTags: ['addonList'],\n },\n },\n})\n\nexport const { useListAddonsQuery } = enhancedApi\n\nconst getAddonsApi = enhancedApi.injectEndpoints({\n endpoints: (build) => ({\n // Return a list of addons which have project-scoped frontend\n getProjectAddons: build.query({\n query: () => ({\n url: `/api/addons`,\n method: 'GET',\n }),\n providesTags: ['projectAddons'],\n transformErrorResponse: (error: any) => error.data.detail || `Error ${error.status}`,\n transformResponse: (response: any) => {\n let result = []\n for (const definition of response.addons) {\n const versDef = definition.versions[definition.productionVersion]\n if (!versDef) continue\n const projectScope = versDef.frontendScopes['project']\n if (!projectScope) continue\n\n result.push({\n name: definition.name,\n title: definition.title,\n version: definition.productionVersion,\n settings: projectScope,\n })\n }\n return result\n },\n }),\n // Return a list of addons with settings-scoped frontend\n getSettingsAddons: build.query({\n query: () => ({\n url: `/api/addons`,\n method: 'GET',\n }),\n providesTags: ['settingsAddons'],\n transformErrorResponse: (error: any) => error.data.detail || `Error ${error.status}`,\n transformResponse: (response: any) => {\n let result = []\n for (const definition of response.addons) {\n const versDef = definition.versions[definition.productionVersion]\n if (!versDef) continue\n const settingsScope = versDef.frontendScopes['settings']\n if (!settingsScope) continue\n\n result.push({\n name: definition.name,\n title: definition.title,\n version: definition.productionVersion,\n settings: settingsScope,\n })\n }\n return result\n },\n }),\n // Return a list of addons with dashboard-scoped frontend\n getDashboardAddons: build.query({\n query: () => ({\n url: `/api/addons`,\n method: 'GET',\n }),\n providesTags: ['dashboardAddons'],\n transformErrorResponse: (error: any) => error.data.detail || `Error ${error.status}`,\n transformResponse: (response: any) => {\n let result = []\n for (const definition of response.addons) {\n const versDef = definition.versions[definition.productionVersion]\n if (!versDef) continue\n const settingsScope = versDef.frontendScopes['dashboard']\n if (!settingsScope) continue\n\n result.push({\n name: definition.name,\n title: definition.title,\n version: definition.productionVersion,\n settings: settingsScope,\n })\n }\n return result\n },\n }),\n }),\n overrideExisting: true,\n})\n\nexport const { useGetProjectAddonsQuery, useGetSettingsAddonsQuery, useGetDashboardAddonsQuery } =\n getAddonsApi\nexport default getAddonsApi\n"],"names":["addonsApi"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,MAAM,cAAcA,eAAU,iBAAiB;AAAA,EAC7C,WAAW;AAAA,IACT,YAAY;AAAA,MACV,cAAc,CAAC,WAAW;AAAA,IAAA;AAAA,EAC5B;AAEJ,CAAC;AAEY,MAAA,EAAE,uBAAuB;AAEhC,MAAA,eAAe,YAAY,gBAAgB;AAAA,EAC/C,WAAW,CAAC,WAAW;AAAA;AAAA,IAErB,kBAAkB,MAAM,MAAM;AAAA,MAC5B,OAAO,OAAO;AAAA,QACZ,KAAK;AAAA,QACL,QAAQ;AAAA,MAAA;AAAA,MAEV,cAAc,CAAC,eAAe;AAAA,MAC9B,wBAAwB,CAAC,UAAe,MAAM,KAAK,UAAU,SAAS,MAAM,MAAM;AAAA,MAClF,mBAAmB,CAAC,aAAkB;AACpC,YAAI,SAAS,CAAC;AACH,mBAAA,cAAc,SAAS,QAAQ;AACxC,gBAAM,UAAU,WAAW,SAAS,WAAW,iBAAiB;AAChE,cAAI,CAAC,QAAS;AACR,gBAAA,eAAe,QAAQ,eAAe,SAAS;AACrD,cAAI,CAAC,aAAc;AAEnB,iBAAO,KAAK;AAAA,YACV,MAAM,WAAW;AAAA,YACjB,OAAO,WAAW;AAAA,YAClB,SAAS,WAAW;AAAA,YACpB,UAAU;AAAA,UAAA,CACX;AAAA,QAAA;AAEI,eAAA;AAAA,MAAA;AAAA,IACT,CACD;AAAA;AAAA,IAED,mBAAmB,MAAM,MAAM;AAAA,MAC7B,OAAO,OAAO;AAAA,QACZ,KAAK;AAAA,QACL,QAAQ;AAAA,MAAA;AAAA,MAEV,cAAc,CAAC,gBAAgB;AAAA,MAC/B,wBAAwB,CAAC,UAAe,MAAM,KAAK,UAAU,SAAS,MAAM,MAAM;AAAA,MAClF,mBAAmB,CAAC,aAAkB;AACpC,YAAI,SAAS,CAAC;AACH,mBAAA,cAAc,SAAS,QAAQ;AACxC,gBAAM,UAAU,WAAW,SAAS,WAAW,iBAAiB;AAChE,cAAI,CAAC,QAAS;AACR,gBAAA,gBAAgB,QAAQ,eAAe,UAAU;AACvD,cAAI,CAAC,cAAe;AAEpB,iBAAO,KAAK;AAAA,YACV,MAAM,WAAW;AAAA,YACjB,OAAO,WAAW;AAAA,YAClB,SAAS,WAAW;AAAA,YACpB,UAAU;AAAA,UAAA,CACX;AAAA,QAAA;AAEI,eAAA;AAAA,MAAA;AAAA,IACT,CACD;AAAA;AAAA,IAED,oBAAoB,MAAM,MAAM;AAAA,MAC9B,OAAO,OAAO;AAAA,QACZ,KAAK;AAAA,QACL,QAAQ;AAAA,MAAA;AAAA,MAEV,cAAc,CAAC,iBAAiB;AAAA,MAChC,wBAAwB,CAAC,UAAe,MAAM,KAAK,UAAU,SAAS,MAAM,MAAM;AAAA,MAClF,mBAAmB,CAAC,aAAkB;AACpC,YAAI,SAAS,CAAC;AACH,mBAAA,cAAc,SAAS,QAAQ;AACxC,gBAAM,UAAU,WAAW,SAAS,WAAW,iBAAiB;AAChE,cAAI,CAAC,QAAS;AACR,gBAAA,gBAAgB,QAAQ,eAAe,WAAW;AACxD,cAAI,CAAC,cAAe;AAEpB,iBAAO,KAAK;AAAA,YACV,MAAM,WAAW;AAAA,YACjB,OAAO,WAAW;AAAA,YAClB,SAAS,WAAW;AAAA,YACpB,UAAU;AAAA,UAAA,CACX;AAAA,QAAA;AAEI,eAAA;AAAA,MAAA;AAAA,IAEV,CAAA;AAAA,EAAA;AAAA,EAEH,kBAAkB;AACpB,CAAC;AAEM,MAAM,EAAE,0BAA0B,2BAA2B,+BAClE;"}
1
+ {"version":3,"file":"getAddons.es.js","sources":["../../../../../../src/api/queries/addons/getAddons.ts"],"sourcesContent":["import { addonsApi } from '@shared/api/generated'\n\nconst enhancedApi = addonsApi.enhanceEndpoints({\n endpoints: {\n listAddons: {\n providesTags: ['addonList'],\n },\n },\n})\n\nexport const { useListAddonsQuery } = enhancedApi\n\nconst getAddonsApi = enhancedApi.injectEndpoints({\n endpoints: (build) => ({\n // Return a list of addons which have project-scoped frontend\n getProjectAddons: build.query({\n query: () => ({\n url: `/api/addons`,\n method: 'GET',\n }),\n providesTags: ['projectAddons'],\n transformErrorResponse: (error: any) => error.data.detail || `Error ${error.status}`,\n transformResponse: (response: any) => {\n let result = []\n for (const definition of response.addons) {\n const versDef = definition.versions[definition.productionVersion]\n if (!versDef) continue\n const projectScope = versDef.frontendScopes['project']\n if (!projectScope) continue\n\n result.push({\n name: definition.name,\n title: definition.title,\n version: definition.productionVersion,\n settings: projectScope,\n })\n }\n return result\n },\n }),\n // Return a list of addons with settings-scoped frontend\n getSettingsAddons: build.query({\n query: () => ({\n url: `/api/addons`,\n method: 'GET',\n }),\n providesTags: ['settingsAddons'],\n transformErrorResponse: (error: any) => error.data.detail || `Error ${error.status}`,\n transformResponse: (response: any) => {\n let result = []\n for (const definition of response.addons) {\n const versDef = definition.versions[definition.productionVersion]\n if (!versDef) continue\n const settingsScope = versDef.frontendScopes['settings']\n if (!settingsScope) continue\n\n result.push({\n name: definition.name,\n title: definition.title,\n version: definition.productionVersion,\n settings: settingsScope,\n })\n }\n return result\n },\n }),\n // Return a list of addons with dashboard-scoped frontend\n getDashboardAddons: build.query({\n query: () => ({\n url: `/api/addons`,\n method: 'GET',\n }),\n providesTags: ['dashboardAddons'],\n transformErrorResponse: (error: any) => error.data.detail || `Error ${error.status}`,\n transformResponse: (response: any) => {\n let result = []\n for (const definition of response.addons) {\n const versDef = definition.versions[definition.productionVersion]\n if (!versDef) continue\n const settingsScope = versDef.frontendScopes['dashboard']\n if (!settingsScope) continue\n\n result.push({\n name: definition.name,\n title: definition.title,\n version: definition.productionVersion,\n settings: settingsScope,\n })\n }\n return result\n },\n }),\n }),\n overrideExisting: true,\n})\n\nexport const { useGetProjectAddonsQuery, useGetSettingsAddonsQuery, useGetDashboardAddonsQuery } =\n getAddonsApi\nexport default getAddonsApi\n"],"names":["addonsApi"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,MAAM,cAAcA,eAAU,iBAAiB;AAAA,EAC7C,WAAW;AAAA,IACT,YAAY;AAAA,MACV,cAAc,CAAC,WAAW;AAAA,IAAA;AAAA,EAC5B;AAEJ,CAAC;AAEY,MAAA,EAAE,uBAAuB;AAEhC,MAAA,eAAe,YAAY,gBAAgB;AAAA,EAC/C,WAAW,CAAC,WAAW;AAAA;AAAA,IAErB,kBAAkB,MAAM,MAAM;AAAA,MAC5B,OAAO,OAAO;AAAA,QACZ,KAAK;AAAA,QACL,QAAQ;AAAA,MAAA;AAAA,MAEV,cAAc,CAAC,eAAe;AAAA,MAC9B,wBAAwB,CAAC,UAAe,MAAM,KAAK,UAAU,SAAS,MAAM,MAAM;AAAA,MAClF,mBAAmB,CAAC,aAAkB;AACpC,YAAI,SAAS,CAAC;AACH,mBAAA,cAAc,SAAS,QAAQ;AACxC,gBAAM,UAAU,WAAW,SAAS,WAAW,iBAAiB;AAChE,cAAI,CAAC,QAAS;AACR,gBAAA,eAAe,QAAQ,eAAe,SAAS;AACrD,cAAI,CAAC,aAAc;AAEnB,iBAAO,KAAK;AAAA,YACV,MAAM,WAAW;AAAA,YACjB,OAAO,WAAW;AAAA,YAClB,SAAS,WAAW;AAAA,YACpB,UAAU;AAAA,UAAA,CACX;AAAA,QAAA;AAEI,eAAA;AAAA,MAAA;AAAA,IACT,CACD;AAAA;AAAA,IAED,mBAAmB,MAAM,MAAM;AAAA,MAC7B,OAAO,OAAO;AAAA,QACZ,KAAK;AAAA,QACL,QAAQ;AAAA,MAAA;AAAA,MAEV,cAAc,CAAC,gBAAgB;AAAA,MAC/B,wBAAwB,CAAC,UAAe,MAAM,KAAK,UAAU,SAAS,MAAM,MAAM;AAAA,MAClF,mBAAmB,CAAC,aAAkB;AACpC,YAAI,SAAS,CAAC;AACH,mBAAA,cAAc,SAAS,QAAQ;AACxC,gBAAM,UAAU,WAAW,SAAS,WAAW,iBAAiB;AAChE,cAAI,CAAC,QAAS;AACR,gBAAA,gBAAgB,QAAQ,eAAe,UAAU;AACvD,cAAI,CAAC,cAAe;AAEpB,iBAAO,KAAK;AAAA,YACV,MAAM,WAAW;AAAA,YACjB,OAAO,WAAW;AAAA,YAClB,SAAS,WAAW;AAAA,YACpB,UAAU;AAAA,UAAA,CACX;AAAA,QAAA;AAEI,eAAA;AAAA,MAAA;AAAA,IACT,CACD;AAAA;AAAA,IAED,oBAAoB,MAAM,MAAM;AAAA,MAC9B,OAAO,OAAO;AAAA,QACZ,KAAK;AAAA,QACL,QAAQ;AAAA,MAAA;AAAA,MAEV,cAAc,CAAC,iBAAiB;AAAA,MAChC,wBAAwB,CAAC,UAAe,MAAM,KAAK,UAAU,SAAS,MAAM,MAAM;AAAA,MAClF,mBAAmB,CAAC,aAAkB;AACpC,YAAI,SAAS,CAAC;AACH,mBAAA,cAAc,SAAS,QAAQ;AACxC,gBAAM,UAAU,WAAW,SAAS,WAAW,iBAAiB;AAChE,cAAI,CAAC,QAAS;AACR,gBAAA,gBAAgB,QAAQ,eAAe,WAAW;AACxD,cAAI,CAAC,cAAe;AAEpB,iBAAO,KAAK;AAAA,YACV,MAAM,WAAW;AAAA,YACjB,OAAO,WAAW;AAAA,YAClB,SAAS,WAAW;AAAA,YACpB,UAAU;AAAA,UAAA,CACX;AAAA,QAAA;AAEI,eAAA;AAAA,MAAA;AAAA,IAEV,CAAA;AAAA,EAAA;AAAA,EAEH,kBAAkB;AACpB,CAAC;AAEM,MAAM,EAAE,0BAA0B,2BAA2B,+BAClE;"}
@@ -35,6 +35,7 @@ require("../../generated/users.cjs.js");
35
35
  require("../../generated/versions.cjs.js");
36
36
  require("../../generated/workfiles.cjs.js");
37
37
  require("../../generated/ynputCloud.cjs.js");
38
+ require("../../generated/grouping.cjs.js");
38
39
  const enhancedApi = attributes.api.enhanceEndpoints({
39
40
  endpoints: {
40
41
  getAttributeList: {
@@ -1 +1 @@
1
- {"version":3,"file":"getAttributes.cjs.js","sources":["../../../../../../src/api/queries/attributes/getAttributes.ts"],"sourcesContent":["import { attributesApi, AttributeModel, GetAttributeListApiResponse } from '@shared/api/generated'\n\ntype GetAttributeListResult = AttributeModel[]\n\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\ntype Definitions = DefinitionsFromApi<typeof attributesApi>\ntype TagTypes = TagTypesFromApi<typeof attributesApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'getAttributeList'> & {\n getAttributeList: OverrideResultType<Definitions['getAttributeList'], GetAttributeListResult>\n}\n\nconst enhancedApi = attributesApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n getAttributeList: {\n transformResponse: (res: GetAttributeListApiResponse) => res.attributes || [],\n providesTags: (result) =>\n result\n ? [...result.map(({ name }) => ({ type: 'attribute', id: name })), 'attribute']\n : ['attribute'],\n },\n getAttributeConfig: {\n providesTags: (_r, _e, { attributeName }) => [\n { type: 'attribute', id: attributeName },\n 'attribute',\n ],\n },\n },\n})\n\nexport default enhancedApi\n\nexport const { useGetAttributeListQuery, useGetAttributeConfigQuery } = enhancedApi\n"],"names":["attributesApi"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYM,MAAA,cAAcA,eAAc,iBAA+C;AAAA,EAC/E,WAAW;AAAA,IACT,kBAAkB;AAAA,MAChB,mBAAmB,CAAC,QAAqC,IAAI,cAAc,CAAC;AAAA,MAC5E,cAAc,CAAC,WACb,SACI,CAAC,GAAG,OAAO,IAAI,CAAC,EAAE,KAAA,OAAY,EAAE,MAAM,aAAa,IAAI,OAAO,GAAG,WAAW,IAC5E,CAAC,WAAW;AAAA,IACpB;AAAA,IACA,oBAAoB;AAAA,MAClB,cAAc,CAAC,IAAI,IAAI,EAAE,oBAAoB;AAAA,QAC3C,EAAE,MAAM,aAAa,IAAI,cAAc;AAAA,QACvC;AAAA,MAAA;AAAA,IACF;AAAA,EACF;AAEJ,CAAC;AAIY,MAAA,EAAE,0BAA0B,+BAA+B;;;;"}
1
+ {"version":3,"file":"getAttributes.cjs.js","sources":["../../../../../../src/api/queries/attributes/getAttributes.ts"],"sourcesContent":["import { attributesApi, AttributeModel, GetAttributeListApiResponse } from '@shared/api/generated'\n\ntype GetAttributeListResult = AttributeModel[]\n\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\ntype Definitions = DefinitionsFromApi<typeof attributesApi>\ntype TagTypes = TagTypesFromApi<typeof attributesApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'getAttributeList'> & {\n getAttributeList: OverrideResultType<Definitions['getAttributeList'], GetAttributeListResult>\n}\n\nconst enhancedApi = attributesApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n getAttributeList: {\n transformResponse: (res: GetAttributeListApiResponse) => res.attributes || [],\n providesTags: (result) =>\n result\n ? [...result.map(({ name }) => ({ type: 'attribute', id: name })), 'attribute']\n : ['attribute'],\n },\n getAttributeConfig: {\n providesTags: (_r, _e, { attributeName }) => [\n { type: 'attribute', id: attributeName },\n 'attribute',\n ],\n },\n },\n})\n\nexport default enhancedApi\n\nexport const { useGetAttributeListQuery, useGetAttributeConfigQuery } = enhancedApi\n"],"names":["attributesApi"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYM,MAAA,cAAcA,eAAc,iBAA+C;AAAA,EAC/E,WAAW;AAAA,IACT,kBAAkB;AAAA,MAChB,mBAAmB,CAAC,QAAqC,IAAI,cAAc,CAAC;AAAA,MAC5E,cAAc,CAAC,WACb,SACI,CAAC,GAAG,OAAO,IAAI,CAAC,EAAE,KAAA,OAAY,EAAE,MAAM,aAAa,IAAI,OAAO,GAAG,WAAW,IAC5E,CAAC,WAAW;AAAA,IACpB;AAAA,IACA,oBAAoB;AAAA,MAClB,cAAc,CAAC,IAAI,IAAI,EAAE,oBAAoB;AAAA,QAC3C,EAAE,MAAM,aAAa,IAAI,cAAc;AAAA,QACvC;AAAA,MAAA;AAAA,IACF;AAAA,EACF;AAEJ,CAAC;AAIY,MAAA,EAAE,0BAA0B,+BAA+B;;;;"}
@@ -33,6 +33,7 @@ import "../../generated/users.es.js";
33
33
  import "../../generated/versions.es.js";
34
34
  import "../../generated/workfiles.es.js";
35
35
  import "../../generated/ynputCloud.es.js";
36
+ import "../../generated/grouping.es.js";
36
37
  const enhancedApi = injectedRtkApi.enhanceEndpoints({
37
38
  endpoints: {
38
39
  getAttributeList: {
@@ -1 +1 @@
1
- {"version":3,"file":"getAttributes.es.js","sources":["../../../../../../src/api/queries/attributes/getAttributes.ts"],"sourcesContent":["import { attributesApi, AttributeModel, GetAttributeListApiResponse } from '@shared/api/generated'\n\ntype GetAttributeListResult = AttributeModel[]\n\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\ntype Definitions = DefinitionsFromApi<typeof attributesApi>\ntype TagTypes = TagTypesFromApi<typeof attributesApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'getAttributeList'> & {\n getAttributeList: OverrideResultType<Definitions['getAttributeList'], GetAttributeListResult>\n}\n\nconst enhancedApi = attributesApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n getAttributeList: {\n transformResponse: (res: GetAttributeListApiResponse) => res.attributes || [],\n providesTags: (result) =>\n result\n ? [...result.map(({ name }) => ({ type: 'attribute', id: name })), 'attribute']\n : ['attribute'],\n },\n getAttributeConfig: {\n providesTags: (_r, _e, { attributeName }) => [\n { type: 'attribute', id: attributeName },\n 'attribute',\n ],\n },\n },\n})\n\nexport default enhancedApi\n\nexport const { useGetAttributeListQuery, useGetAttributeConfigQuery } = enhancedApi\n"],"names":["attributesApi"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYM,MAAA,cAAcA,eAAc,iBAA+C;AAAA,EAC/E,WAAW;AAAA,IACT,kBAAkB;AAAA,MAChB,mBAAmB,CAAC,QAAqC,IAAI,cAAc,CAAC;AAAA,MAC5E,cAAc,CAAC,WACb,SACI,CAAC,GAAG,OAAO,IAAI,CAAC,EAAE,KAAA,OAAY,EAAE,MAAM,aAAa,IAAI,OAAO,GAAG,WAAW,IAC5E,CAAC,WAAW;AAAA,IACpB;AAAA,IACA,oBAAoB;AAAA,MAClB,cAAc,CAAC,IAAI,IAAI,EAAE,oBAAoB;AAAA,QAC3C,EAAE,MAAM,aAAa,IAAI,cAAc;AAAA,QACvC;AAAA,MAAA;AAAA,IACF;AAAA,EACF;AAEJ,CAAC;AAIY,MAAA,EAAE,0BAA0B,+BAA+B;"}
1
+ {"version":3,"file":"getAttributes.es.js","sources":["../../../../../../src/api/queries/attributes/getAttributes.ts"],"sourcesContent":["import { attributesApi, AttributeModel, GetAttributeListApiResponse } from '@shared/api/generated'\n\ntype GetAttributeListResult = AttributeModel[]\n\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\ntype Definitions = DefinitionsFromApi<typeof attributesApi>\ntype TagTypes = TagTypesFromApi<typeof attributesApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'getAttributeList'> & {\n getAttributeList: OverrideResultType<Definitions['getAttributeList'], GetAttributeListResult>\n}\n\nconst enhancedApi = attributesApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n getAttributeList: {\n transformResponse: (res: GetAttributeListApiResponse) => res.attributes || [],\n providesTags: (result) =>\n result\n ? [...result.map(({ name }) => ({ type: 'attribute', id: name })), 'attribute']\n : ['attribute'],\n },\n getAttributeConfig: {\n providesTags: (_r, _e, { attributeName }) => [\n { type: 'attribute', id: attributeName },\n 'attribute',\n ],\n },\n },\n})\n\nexport default enhancedApi\n\nexport const { useGetAttributeListQuery, useGetAttributeConfigQuery } = enhancedApi\n"],"names":["attributesApi"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYM,MAAA,cAAcA,eAAc,iBAA+C;AAAA,EAC/E,WAAW;AAAA,IACT,kBAAkB;AAAA,MAChB,mBAAmB,CAAC,QAAqC,IAAI,cAAc,CAAC;AAAA,MAC5E,cAAc,CAAC,WACb,SACI,CAAC,GAAG,OAAO,IAAI,CAAC,EAAE,KAAA,OAAY,EAAE,MAAM,aAAa,IAAI,OAAO,GAAG,WAAW,IAC5E,CAAC,WAAW;AAAA,IACpB;AAAA,IACA,oBAAoB;AAAA,MAClB,cAAc,CAAC,IAAI,IAAI,EAAE,oBAAoB;AAAA,QAC3C,EAAE,MAAM,aAAa,IAAI,cAAc;AAAA,QACvC;AAAA,MAAA;AAAA,IACF;AAAA,EACF;AAEJ,CAAC;AAIY,MAAA,EAAE,0BAA0B,+BAA+B;"}
@@ -35,6 +35,7 @@ require("../../generated/users.cjs.js");
35
35
  require("../../generated/versions.cjs.js");
36
36
  require("../../generated/workfiles.cjs.js");
37
37
  require("../../generated/ynputCloud.cjs.js");
38
+ require("../../generated/grouping.cjs.js");
38
39
  const getAuthApi = authentication.api.enhanceEndpoints({
39
40
  endpoints: {
40
41
  createSession: {},
@@ -1 +1 @@
1
- {"version":3,"file":"getAuthentication.cjs.js","sources":["../../../../../../src/api/queries/authentication/getAuthentication.ts"],"sourcesContent":["import { authenticationApi } from '@shared/api/generated'\n\nconst getAuthApi = authenticationApi.enhanceEndpoints({\n endpoints: {\n createSession: {},\n getUserPools: {\n providesTags: [{ type: 'userPool', id: 'LIST' }],\n },\n },\n})\n\nexport const { useCreateSessionMutation, useGetUserPoolsQuery } = getAuthApi\nexport { getAuthApi as authenticationQueries }\n"],"names":["authenticationApi"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEM,MAAA,aAAaA,mBAAkB,iBAAiB;AAAA,EACpD,WAAW;AAAA,IACT,eAAe,CAAC;AAAA,IAChB,cAAc;AAAA,MACZ,cAAc,CAAC,EAAE,MAAM,YAAY,IAAI,OAAQ,CAAA;AAAA,IAAA;AAAA,EACjD;AAEJ,CAAC;AAEY,MAAA,EAAE,0BAA0B,yBAAyB;;;;"}
1
+ {"version":3,"file":"getAuthentication.cjs.js","sources":["../../../../../../src/api/queries/authentication/getAuthentication.ts"],"sourcesContent":["import { authenticationApi } from '@shared/api/generated'\n\nconst getAuthApi = authenticationApi.enhanceEndpoints({\n endpoints: {\n createSession: {},\n getUserPools: {\n providesTags: [{ type: 'userPool', id: 'LIST' }],\n },\n },\n})\n\nexport const { useCreateSessionMutation, useGetUserPoolsQuery } = getAuthApi\nexport { getAuthApi as authenticationQueries }\n"],"names":["authenticationApi"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEM,MAAA,aAAaA,mBAAkB,iBAAiB;AAAA,EACpD,WAAW;AAAA,IACT,eAAe,CAAC;AAAA,IAChB,cAAc;AAAA,MACZ,cAAc,CAAC,EAAE,MAAM,YAAY,IAAI,OAAQ,CAAA;AAAA,IAAA;AAAA,EACjD;AAEJ,CAAC;AAEY,MAAA,EAAE,0BAA0B,yBAAyB;;;;"}
@@ -33,6 +33,7 @@ import "../../generated/users.es.js";
33
33
  import "../../generated/versions.es.js";
34
34
  import "../../generated/workfiles.es.js";
35
35
  import "../../generated/ynputCloud.es.js";
36
+ import "../../generated/grouping.es.js";
36
37
  const getAuthApi = injectedRtkApi.enhanceEndpoints({
37
38
  endpoints: {
38
39
  createSession: {},
@@ -1 +1 @@
1
- {"version":3,"file":"getAuthentication.es.js","sources":["../../../../../../src/api/queries/authentication/getAuthentication.ts"],"sourcesContent":["import { authenticationApi } from '@shared/api/generated'\n\nconst getAuthApi = authenticationApi.enhanceEndpoints({\n endpoints: {\n createSession: {},\n getUserPools: {\n providesTags: [{ type: 'userPool', id: 'LIST' }],\n },\n },\n})\n\nexport const { useCreateSessionMutation, useGetUserPoolsQuery } = getAuthApi\nexport { getAuthApi as authenticationQueries }\n"],"names":["authenticationApi"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEM,MAAA,aAAaA,eAAkB,iBAAiB;AAAA,EACpD,WAAW;AAAA,IACT,eAAe,CAAC;AAAA,IAChB,cAAc;AAAA,MACZ,cAAc,CAAC,EAAE,MAAM,YAAY,IAAI,OAAQ,CAAA;AAAA,IAAA;AAAA,EACjD;AAEJ,CAAC;AAEY,MAAA,EAAE,0BAA0B,yBAAyB;"}
1
+ {"version":3,"file":"getAuthentication.es.js","sources":["../../../../../../src/api/queries/authentication/getAuthentication.ts"],"sourcesContent":["import { authenticationApi } from '@shared/api/generated'\n\nconst getAuthApi = authenticationApi.enhanceEndpoints({\n endpoints: {\n createSession: {},\n getUserPools: {\n providesTags: [{ type: 'userPool', id: 'LIST' }],\n },\n },\n})\n\nexport const { useCreateSessionMutation, useGetUserPoolsQuery } = getAuthApi\nexport { getAuthApi as authenticationQueries }\n"],"names":["authenticationApi"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEM,MAAA,aAAaA,eAAkB,iBAAiB;AAAA,EACpD,WAAW;AAAA,IACT,eAAe,CAAC;AAAA,IAChB,cAAc;AAAA,MACZ,cAAc,CAAC,EAAE,MAAM,YAAY,IAAI,OAAQ,CAAA;AAAA,IAAA;AAAA,EACjD;AAEJ,CAAC;AAEY,MAAA,EAAE,0BAA0B,yBAAyB;"}
@@ -35,6 +35,7 @@ require("../../generated/users.cjs.js");
35
35
  require("../../generated/versions.cjs.js");
36
36
  require("../../generated/workfiles.cjs.js");
37
37
  require("../../generated/ynputCloud.cjs.js");
38
+ require("../../generated/grouping.cjs.js");
38
39
  const entityQueries = require("./entityQueries.cjs.js");
39
40
  const buildEventTileQuery = (type) => {
40
41
  return `
@@ -1 +1 @@
1
- {"version":3,"file":"getEntity.cjs.js","sources":["../../../../../../src/api/queries/entities/getEntity.ts"],"sourcesContent":["// @ts-nocheck\nimport { gqlApi } from '@shared/api/generated'\nimport {\n PRODUCT_TILE_FRAGMENT,\n FOLDER_TILE_FRAGMENT,\n VERSION_TILE_FRAGMENT,\n TASK_TILE_FRAGMENT,\n} from './entityQueries'\n\nconst buildEventTileQuery = (type) => {\n return `\n query EventTile($projectName: String!, $id: String!) {\n project(name: $projectName) {\n ${type}(id: $id) {\n id\n name\n status\n updatedAt\n }\n }\n }\n `\n}\n\nconst buildEntityTilesQuery = (entities) => {\n // const entities = {[type]: [id, id, id]}\n\n const typesQuery = Object.entries(entities).reduce(\n (acc, [type, ids]) =>\n acc +\n ` ${type}s(ids: ${JSON.stringify(ids)}) {\n edges {\n node {\n ...${type}TileFragment\n }\n }\n }\n `,\n '',\n )\n\n let query = `\n query EntityTiles($projectName: String!) {\n project(name: $projectName) {\n ${typesQuery}\n }\n }\n `\n\n const fragments = {\n folder: FOLDER_TILE_FRAGMENT,\n product: PRODUCT_TILE_FRAGMENT,\n version: VERSION_TILE_FRAGMENT,\n task: TASK_TILE_FRAGMENT,\n }\n\n // Add fragments\n for (const type in entities) {\n query += fragments[type]\n }\n\n return query\n}\n\nfunction getNonObjectValue(value) {\n if (typeof value !== 'object' || value === null) {\n return value\n }\n\n // If value is an object, get the first non-object value from its properties\n let keys = Object.keys(value)\n if (keys.length > 0) {\n return getNonObjectValue(value[keys[0]])\n }\n\n // If no non-object value found, return undefined\n return undefined\n}\n\nexport const formatEntityTiles = (project, entities) => {\n // data = {project: {folders: {edges: [{node: {id}}]}}}\n\n // if entities is an array, convert to object\n if (Array.isArray(entities)) {\n const obj = {}\n for (const entity of entities) {\n obj[entity] = []\n }\n entities = obj\n }\n\n const allEntities = []\n for (const type in entities) {\n if (!project) continue\n let entities = project[type + 's']\n // If no entities of this type\n if (!entities) continue\n entities = entities.edges.map(({ node }) => ({ ...node, type }))\n allEntities.push(...entities)\n }\n\n // loop through each entity and child and if it is an array or object, use first child value as value\n for (const entity of allEntities) {\n for (const attrib in entity) {\n if (!entity[attrib]) continue\n if (Array.isArray(entity[attrib])) {\n entity[attrib] = entity[attrib][0]\n } else if (typeof entity[attrib] === 'object') {\n entity[attrib] = getNonObjectValue(Object.values(entity[attrib])[0])\n }\n // if entity type is version, add 0 prefix to version number 1 -> v001, 12 -> v012\n if (entity.type === 'version' && attrib === 'version') {\n entity[attrib] = 'v' + entity[attrib].toString().padStart(3, '0')\n }\n }\n entity.thumbnailEntityType = entity.type\n if (entity.type === 'product') {\n entity.thumbnailEntityId = entity.latestVersion.thumbnailEntityId\n entity.thumbnailId = entity.latestVersion.thumbnailId\n entity.thumbnailEntityType = 'version'\n }\n }\n\n return allEntities\n}\n\nconst injectedApi = gqlApi.injectEndpoints({\n endpoints: (build) => ({\n getEventTile: build.query({\n query: ({ projectName, id, type }) => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: buildEventTileQuery(type),\n variables: { projectName, id },\n },\n }),\n transformResponse: (response, meta, { type }) => response.data?.project[type],\n }),\n getEntityTiles: build.query({\n query: ({ projectName, entities }) => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: buildEntityTilesQuery(entities),\n variables: { projectName },\n },\n }),\n transformResponse: (response, meta, { entities }) =>\n formatEntityTiles(response.data?.project, entities),\n }),\n getEntity: build.query({\n query: ({ projectName, entityType, entityId }) => ({\n url: `/api/projects/${projectName}/${entityType}s/${entityId}`,\n }),\n providesTags: (res, error, { entityId }) => [{ type: 'entity', id: entityId }],\n }),\n }),\n overrideExisting: true,\n})\n\nconst getEntityApi = injectedApi.enhanceEndpoints({\n endpoints: {\n GetProductVersions: {},\n },\n})\n\nexport const {\n useGetEventTileQuery,\n useGetEntityTilesQuery,\n useGetEntityQuery,\n useLazyGetEntityQuery,\n useGetProductVersionsQuery,\n} = getEntityApi\nexport default getEntityApi\n"],"names":["FOLDER_TILE_FRAGMENT","PRODUCT_TILE_FRAGMENT","VERSION_TILE_FRAGMENT","TASK_TILE_FRAGMENT","entities","gqlApi"],"mappings":"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"}
1
+ {"version":3,"file":"getEntity.cjs.js","sources":["../../../../../../src/api/queries/entities/getEntity.ts"],"sourcesContent":["// @ts-nocheck\nimport { gqlApi } from '@shared/api/generated'\nimport {\n PRODUCT_TILE_FRAGMENT,\n FOLDER_TILE_FRAGMENT,\n VERSION_TILE_FRAGMENT,\n TASK_TILE_FRAGMENT,\n} from './entityQueries'\n\nconst buildEventTileQuery = (type) => {\n return `\n query EventTile($projectName: String!, $id: String!) {\n project(name: $projectName) {\n ${type}(id: $id) {\n id\n name\n status\n updatedAt\n }\n }\n }\n `\n}\n\nconst buildEntityTilesQuery = (entities) => {\n // const entities = {[type]: [id, id, id]}\n\n const typesQuery = Object.entries(entities).reduce(\n (acc, [type, ids]) =>\n acc +\n ` ${type}s(ids: ${JSON.stringify(ids)}) {\n edges {\n node {\n ...${type}TileFragment\n }\n }\n }\n `,\n '',\n )\n\n let query = `\n query EntityTiles($projectName: String!) {\n project(name: $projectName) {\n ${typesQuery}\n }\n }\n `\n\n const fragments = {\n folder: FOLDER_TILE_FRAGMENT,\n product: PRODUCT_TILE_FRAGMENT,\n version: VERSION_TILE_FRAGMENT,\n task: TASK_TILE_FRAGMENT,\n }\n\n // Add fragments\n for (const type in entities) {\n query += fragments[type]\n }\n\n return query\n}\n\nfunction getNonObjectValue(value) {\n if (typeof value !== 'object' || value === null) {\n return value\n }\n\n // If value is an object, get the first non-object value from its properties\n let keys = Object.keys(value)\n if (keys.length > 0) {\n return getNonObjectValue(value[keys[0]])\n }\n\n // If no non-object value found, return undefined\n return undefined\n}\n\nexport const formatEntityTiles = (project, entities) => {\n // data = {project: {folders: {edges: [{node: {id}}]}}}\n\n // if entities is an array, convert to object\n if (Array.isArray(entities)) {\n const obj = {}\n for (const entity of entities) {\n obj[entity] = []\n }\n entities = obj\n }\n\n const allEntities = []\n for (const type in entities) {\n if (!project) continue\n let entities = project[type + 's']\n // If no entities of this type\n if (!entities) continue\n entities = entities.edges.map(({ node }) => ({ ...node, type }))\n allEntities.push(...entities)\n }\n\n // loop through each entity and child and if it is an array or object, use first child value as value\n for (const entity of allEntities) {\n for (const attrib in entity) {\n if (!entity[attrib]) continue\n if (Array.isArray(entity[attrib])) {\n entity[attrib] = entity[attrib][0]\n } else if (typeof entity[attrib] === 'object') {\n entity[attrib] = getNonObjectValue(Object.values(entity[attrib])[0])\n }\n // if entity type is version, add 0 prefix to version number 1 -> v001, 12 -> v012\n if (entity.type === 'version' && attrib === 'version') {\n entity[attrib] = 'v' + entity[attrib].toString().padStart(3, '0')\n }\n }\n entity.thumbnailEntityType = entity.type\n if (entity.type === 'product') {\n entity.thumbnailEntityId = entity.latestVersion.thumbnailEntityId\n entity.thumbnailId = entity.latestVersion.thumbnailId\n entity.thumbnailEntityType = 'version'\n }\n }\n\n return allEntities\n}\n\nconst injectedApi = gqlApi.injectEndpoints({\n endpoints: (build) => ({\n getEventTile: build.query({\n query: ({ projectName, id, type }) => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: buildEventTileQuery(type),\n variables: { projectName, id },\n },\n }),\n transformResponse: (response, meta, { type }) => response.data?.project[type],\n }),\n getEntityTiles: build.query({\n query: ({ projectName, entities }) => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: buildEntityTilesQuery(entities),\n variables: { projectName },\n },\n }),\n transformResponse: (response, meta, { entities }) =>\n formatEntityTiles(response.data?.project, entities),\n }),\n getEntity: build.query({\n query: ({ projectName, entityType, entityId }) => ({\n url: `/api/projects/${projectName}/${entityType}s/${entityId}`,\n }),\n providesTags: (res, error, { entityId }) => [{ type: 'entity', id: entityId }],\n }),\n }),\n overrideExisting: true,\n})\n\nconst getEntityApi = injectedApi.enhanceEndpoints({\n endpoints: {\n GetProductVersions: {},\n },\n})\n\nexport const {\n useGetEventTileQuery,\n useGetEntityTilesQuery,\n useGetEntityQuery,\n useLazyGetEntityQuery,\n useGetProductVersionsQuery,\n} = getEntityApi\nexport default getEntityApi\n"],"names":["FOLDER_TILE_FRAGMENT","PRODUCT_TILE_FRAGMENT","VERSION_TILE_FRAGMENT","TASK_TILE_FRAGMENT","entities","gqlApi"],"mappings":"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"}
@@ -33,6 +33,7 @@ import "../../generated/users.es.js";
33
33
  import "../../generated/versions.es.js";
34
34
  import "../../generated/workfiles.es.js";
35
35
  import "../../generated/ynputCloud.es.js";
36
+ import "../../generated/grouping.es.js";
36
37
  import { TASK_TILE_FRAGMENT, VERSION_TILE_FRAGMENT, PRODUCT_TILE_FRAGMENT, FOLDER_TILE_FRAGMENT } from "./entityQueries.es.js";
37
38
  const buildEventTileQuery = (type) => {
38
39
  return `
@@ -1 +1 @@
1
- {"version":3,"file":"getEntity.es.js","sources":["../../../../../../src/api/queries/entities/getEntity.ts"],"sourcesContent":["// @ts-nocheck\nimport { gqlApi } from '@shared/api/generated'\nimport {\n PRODUCT_TILE_FRAGMENT,\n FOLDER_TILE_FRAGMENT,\n VERSION_TILE_FRAGMENT,\n TASK_TILE_FRAGMENT,\n} from './entityQueries'\n\nconst buildEventTileQuery = (type) => {\n return `\n query EventTile($projectName: String!, $id: String!) {\n project(name: $projectName) {\n ${type}(id: $id) {\n id\n name\n status\n updatedAt\n }\n }\n }\n `\n}\n\nconst buildEntityTilesQuery = (entities) => {\n // const entities = {[type]: [id, id, id]}\n\n const typesQuery = Object.entries(entities).reduce(\n (acc, [type, ids]) =>\n acc +\n ` ${type}s(ids: ${JSON.stringify(ids)}) {\n edges {\n node {\n ...${type}TileFragment\n }\n }\n }\n `,\n '',\n )\n\n let query = `\n query EntityTiles($projectName: String!) {\n project(name: $projectName) {\n ${typesQuery}\n }\n }\n `\n\n const fragments = {\n folder: FOLDER_TILE_FRAGMENT,\n product: PRODUCT_TILE_FRAGMENT,\n version: VERSION_TILE_FRAGMENT,\n task: TASK_TILE_FRAGMENT,\n }\n\n // Add fragments\n for (const type in entities) {\n query += fragments[type]\n }\n\n return query\n}\n\nfunction getNonObjectValue(value) {\n if (typeof value !== 'object' || value === null) {\n return value\n }\n\n // If value is an object, get the first non-object value from its properties\n let keys = Object.keys(value)\n if (keys.length > 0) {\n return getNonObjectValue(value[keys[0]])\n }\n\n // If no non-object value found, return undefined\n return undefined\n}\n\nexport const formatEntityTiles = (project, entities) => {\n // data = {project: {folders: {edges: [{node: {id}}]}}}\n\n // if entities is an array, convert to object\n if (Array.isArray(entities)) {\n const obj = {}\n for (const entity of entities) {\n obj[entity] = []\n }\n entities = obj\n }\n\n const allEntities = []\n for (const type in entities) {\n if (!project) continue\n let entities = project[type + 's']\n // If no entities of this type\n if (!entities) continue\n entities = entities.edges.map(({ node }) => ({ ...node, type }))\n allEntities.push(...entities)\n }\n\n // loop through each entity and child and if it is an array or object, use first child value as value\n for (const entity of allEntities) {\n for (const attrib in entity) {\n if (!entity[attrib]) continue\n if (Array.isArray(entity[attrib])) {\n entity[attrib] = entity[attrib][0]\n } else if (typeof entity[attrib] === 'object') {\n entity[attrib] = getNonObjectValue(Object.values(entity[attrib])[0])\n }\n // if entity type is version, add 0 prefix to version number 1 -> v001, 12 -> v012\n if (entity.type === 'version' && attrib === 'version') {\n entity[attrib] = 'v' + entity[attrib].toString().padStart(3, '0')\n }\n }\n entity.thumbnailEntityType = entity.type\n if (entity.type === 'product') {\n entity.thumbnailEntityId = entity.latestVersion.thumbnailEntityId\n entity.thumbnailId = entity.latestVersion.thumbnailId\n entity.thumbnailEntityType = 'version'\n }\n }\n\n return allEntities\n}\n\nconst injectedApi = gqlApi.injectEndpoints({\n endpoints: (build) => ({\n getEventTile: build.query({\n query: ({ projectName, id, type }) => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: buildEventTileQuery(type),\n variables: { projectName, id },\n },\n }),\n transformResponse: (response, meta, { type }) => response.data?.project[type],\n }),\n getEntityTiles: build.query({\n query: ({ projectName, entities }) => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: buildEntityTilesQuery(entities),\n variables: { projectName },\n },\n }),\n transformResponse: (response, meta, { entities }) =>\n formatEntityTiles(response.data?.project, entities),\n }),\n getEntity: build.query({\n query: ({ projectName, entityType, entityId }) => ({\n url: `/api/projects/${projectName}/${entityType}s/${entityId}`,\n }),\n providesTags: (res, error, { entityId }) => [{ type: 'entity', id: entityId }],\n }),\n }),\n overrideExisting: true,\n})\n\nconst getEntityApi = injectedApi.enhanceEndpoints({\n endpoints: {\n GetProductVersions: {},\n },\n})\n\nexport const {\n useGetEventTileQuery,\n useGetEntityTilesQuery,\n useGetEntityQuery,\n useLazyGetEntityQuery,\n useGetProductVersionsQuery,\n} = getEntityApi\nexport default getEntityApi\n"],"names":["entities","gqlApi"],"mappings":"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"}
1
+ {"version":3,"file":"getEntity.es.js","sources":["../../../../../../src/api/queries/entities/getEntity.ts"],"sourcesContent":["// @ts-nocheck\nimport { gqlApi } from '@shared/api/generated'\nimport {\n PRODUCT_TILE_FRAGMENT,\n FOLDER_TILE_FRAGMENT,\n VERSION_TILE_FRAGMENT,\n TASK_TILE_FRAGMENT,\n} from './entityQueries'\n\nconst buildEventTileQuery = (type) => {\n return `\n query EventTile($projectName: String!, $id: String!) {\n project(name: $projectName) {\n ${type}(id: $id) {\n id\n name\n status\n updatedAt\n }\n }\n }\n `\n}\n\nconst buildEntityTilesQuery = (entities) => {\n // const entities = {[type]: [id, id, id]}\n\n const typesQuery = Object.entries(entities).reduce(\n (acc, [type, ids]) =>\n acc +\n ` ${type}s(ids: ${JSON.stringify(ids)}) {\n edges {\n node {\n ...${type}TileFragment\n }\n }\n }\n `,\n '',\n )\n\n let query = `\n query EntityTiles($projectName: String!) {\n project(name: $projectName) {\n ${typesQuery}\n }\n }\n `\n\n const fragments = {\n folder: FOLDER_TILE_FRAGMENT,\n product: PRODUCT_TILE_FRAGMENT,\n version: VERSION_TILE_FRAGMENT,\n task: TASK_TILE_FRAGMENT,\n }\n\n // Add fragments\n for (const type in entities) {\n query += fragments[type]\n }\n\n return query\n}\n\nfunction getNonObjectValue(value) {\n if (typeof value !== 'object' || value === null) {\n return value\n }\n\n // If value is an object, get the first non-object value from its properties\n let keys = Object.keys(value)\n if (keys.length > 0) {\n return getNonObjectValue(value[keys[0]])\n }\n\n // If no non-object value found, return undefined\n return undefined\n}\n\nexport const formatEntityTiles = (project, entities) => {\n // data = {project: {folders: {edges: [{node: {id}}]}}}\n\n // if entities is an array, convert to object\n if (Array.isArray(entities)) {\n const obj = {}\n for (const entity of entities) {\n obj[entity] = []\n }\n entities = obj\n }\n\n const allEntities = []\n for (const type in entities) {\n if (!project) continue\n let entities = project[type + 's']\n // If no entities of this type\n if (!entities) continue\n entities = entities.edges.map(({ node }) => ({ ...node, type }))\n allEntities.push(...entities)\n }\n\n // loop through each entity and child and if it is an array or object, use first child value as value\n for (const entity of allEntities) {\n for (const attrib in entity) {\n if (!entity[attrib]) continue\n if (Array.isArray(entity[attrib])) {\n entity[attrib] = entity[attrib][0]\n } else if (typeof entity[attrib] === 'object') {\n entity[attrib] = getNonObjectValue(Object.values(entity[attrib])[0])\n }\n // if entity type is version, add 0 prefix to version number 1 -> v001, 12 -> v012\n if (entity.type === 'version' && attrib === 'version') {\n entity[attrib] = 'v' + entity[attrib].toString().padStart(3, '0')\n }\n }\n entity.thumbnailEntityType = entity.type\n if (entity.type === 'product') {\n entity.thumbnailEntityId = entity.latestVersion.thumbnailEntityId\n entity.thumbnailId = entity.latestVersion.thumbnailId\n entity.thumbnailEntityType = 'version'\n }\n }\n\n return allEntities\n}\n\nconst injectedApi = gqlApi.injectEndpoints({\n endpoints: (build) => ({\n getEventTile: build.query({\n query: ({ projectName, id, type }) => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: buildEventTileQuery(type),\n variables: { projectName, id },\n },\n }),\n transformResponse: (response, meta, { type }) => response.data?.project[type],\n }),\n getEntityTiles: build.query({\n query: ({ projectName, entities }) => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: buildEntityTilesQuery(entities),\n variables: { projectName },\n },\n }),\n transformResponse: (response, meta, { entities }) =>\n formatEntityTiles(response.data?.project, entities),\n }),\n getEntity: build.query({\n query: ({ projectName, entityType, entityId }) => ({\n url: `/api/projects/${projectName}/${entityType}s/${entityId}`,\n }),\n providesTags: (res, error, { entityId }) => [{ type: 'entity', id: entityId }],\n }),\n }),\n overrideExisting: true,\n})\n\nconst getEntityApi = injectedApi.enhanceEndpoints({\n endpoints: {\n GetProductVersions: {},\n },\n})\n\nexport const {\n useGetEventTileQuery,\n useGetEntityTilesQuery,\n useGetEntityQuery,\n useLazyGetEntityQuery,\n useGetProductVersionsQuery,\n} = getEntityApi\nexport default getEntityApi\n"],"names":["entities","gqlApi"],"mappings":"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"}
@@ -35,6 +35,7 @@ require("../../generated/users.cjs.js");
35
35
  require("../../generated/versions.cjs.js");
36
36
  require("../../generated/workfiles.cjs.js");
37
37
  require("../../generated/ynputCloud.cjs.js");
38
+ require("../../generated/grouping.cjs.js");
38
39
  require("lodash");
39
40
  require("react-toastify");
40
41
  const pubsub = require("../../../util/pubsub.cjs.js");
@@ -1 +1 @@
1
- {"version":3,"file":"getEntityPanel.cjs.js","sources":["../../../../../../src/api/queries/entities/getEntityPanel.ts"],"sourcesContent":["import {\n gqlApi,\n GetDetailsPanelFolderQuery,\n GetDetailsPanelRepresentationQuery,\n GetDetailsPanelTaskQuery,\n GetDetailsPanelVersionQuery,\n} from '@shared/api/generated'\nimport { PubSub } from '@shared/util'\nimport { FetchBaseQueryError } from '@reduxjs/toolkit/query'\nimport {\n detailsPanelEntityTypes,\n transformDetailsPanelQueriesData,\n} from './transformDetailsPanelData'\nimport type { DetailsPanelEntityData, DetailsPanelEntityType } from './transformDetailsPanelData'\n\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<\n Definitions,\n | 'GetDetailsPanelFolder'\n | 'GetDetailsPanelTask'\n | 'GetDetailsPanelVersion'\n | 'GetDetailsPanelRepresentation'\n> & {\n GetDetailsPanelFolder: OverrideResultType<\n Definitions['GetDetailsPanelFolder'],\n DetailsPanelEntityData | null\n >\n GetDetailsPanelTask: OverrideResultType<\n Definitions['GetDetailsPanelTask'],\n DetailsPanelEntityData | null\n >\n GetDetailsPanelVersion: OverrideResultType<\n Definitions['GetDetailsPanelVersion'],\n DetailsPanelEntityData | null\n >\n GetDetailsPanelRepresentation: OverrideResultType<\n Definitions['GetDetailsPanelRepresentation'],\n DetailsPanelEntityData | null\n >\n}\n\nconst enhancedDetailsApi = gqlApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n GetDetailsPanelFolder: {\n transformResponse: (response: GetDetailsPanelFolderQuery, _meta, args) => {\n const { projectName } = args\n const entity = response?.project?.folder\n if (!entity) return null\n return transformDetailsPanelQueriesData({\n projectName,\n entity,\n entityType: 'folder',\n })\n },\n },\n GetDetailsPanelTask: {\n transformResponse: (response: GetDetailsPanelTaskQuery, _meta, args) => {\n const { projectName } = args\n const entity = response?.project?.task\n if (!entity) return null\n return transformDetailsPanelQueriesData({\n projectName,\n entity,\n entityType: 'task',\n })\n },\n },\n GetDetailsPanelVersion: {\n transformResponse: (response: GetDetailsPanelVersionQuery, _meta, args) => {\n const { projectName } = args\n const entity = response?.project?.version\n if (!entity) return null\n return transformDetailsPanelQueriesData({\n projectName,\n entity,\n entityType: 'version',\n })\n },\n },\n GetDetailsPanelRepresentation: {\n transformResponse: (response: GetDetailsPanelRepresentationQuery, _meta, args) => {\n const { projectName } = args\n const entity = response?.project?.representation\n if (!entity) return null\n return transformDetailsPanelQueriesData({\n projectName,\n entity,\n entityType: 'representation',\n })\n },\n },\n },\n})\n\ntype GetEntitiesDetailsPanelArgs = {\n entities: { id: string; projectName: string }[]\n entityType: DetailsPanelEntityType\n}\n\ntype QueryNameType =\n | 'GetDetailsPanelTask'\n | 'GetDetailsPanelVersion'\n | 'GetDetailsPanelFolder'\n | 'GetDetailsPanelRepresentation'\n\nconst getEntityTypeQueryName = (entityType: DetailsPanelEntityType): QueryNameType => {\n switch (entityType) {\n case 'task':\n return 'GetDetailsPanelTask'\n\n case 'version':\n return 'GetDetailsPanelVersion'\n\n case 'folder':\n return 'GetDetailsPanelFolder'\n\n case 'representation':\n return 'GetDetailsPanelRepresentation'\n }\n}\n\nconst detailsPanelQueries2 = enhancedDetailsApi.injectEndpoints({\n endpoints: (build) => ({\n getEntitiesDetailsPanel: build.query<DetailsPanelEntityData[], GetEntitiesDetailsPanelArgs>({\n async queryFn({ entities = [], entityType }, { dispatch }) {\n if (!detailsPanelEntityTypes.includes(entityType)) {\n return {\n error: {\n status: 'CUSTOM_ERROR',\n error: 'Entity type not supported',\n } as FetchBaseQueryError,\n }\n }\n\n try {\n const promises = entities.map((entity) => {\n return dispatch(\n enhancedDetailsApi.endpoints[getEntityTypeQueryName(entityType)].initiate(\n {\n projectName: entity.projectName,\n entityId: entity.id,\n },\n { forceRefetch: true },\n ),\n )\n })\n\n const res = await Promise.all(promises)\n\n const entitiesData = res\n .filter((res) => !!res.data)\n .map((res) => res.data) as DetailsPanelEntityData[]\n\n return { data: entitiesData }\n } catch (e: any) {\n console.error(e)\n return { error: { status: 'FETCH_ERROR', error: e.message } as FetchBaseQueryError }\n }\n },\n async onCacheEntryAdded(\n { entities, entityType },\n { updateCachedData, cacheDataLoaded, cacheEntryRemoved, dispatch },\n ) {\n let token\n try {\n // wait for the initial query to resolve before proceeding\n await cacheDataLoaded\n\n const handlePubSub = async (_topic: string, message: any) => {\n const messageEntityId = message.summary?.entityId\n const matchedEntity = entities.find((entity) => entity.id === messageEntityId)\n // check if the message is relevant to the current query\n if (!matchedEntity) return\n\n try {\n // get the new data for the entity\n const res = await dispatch(\n enhancedDetailsApi.endpoints[getEntityTypeQueryName(entityType)].initiate(\n {\n projectName: matchedEntity.projectName,\n entityId: matchedEntity.id,\n },\n { forceRefetch: true },\n ),\n )\n\n // check the res\n if (res.status !== 'fulfilled') {\n console.error(res?.error || 'No entity found')\n return\n }\n\n const updatedEntity = res.data\n\n if (!updatedEntity) {\n console.error('No entity found')\n return\n }\n\n updateCachedData((draft) => {\n // find the entity in the cache\n const entityIndex = draft.findIndex((entity: any) => entity.id === updatedEntity.id)\n\n if (entityIndex === -1) {\n console.error('Entity not found in cache')\n return\n }\n\n // update the entity in the cache\n draft[entityIndex] = updatedEntity\n })\n } catch (error) {\n console.error('Entity task realtime update failed', error)\n return\n }\n }\n\n const topic = `entity.${entityType}`\n // sub to websocket topic\n token = PubSub.subscribe(topic, handlePubSub)\n } catch {\n // no-op in case `cacheEntryRemoved` resolves before `cacheDataLoaded`,\n // in which case `cacheDataLoaded` will throw\n }\n // cacheEntryRemoved will resolve when the cache subscription is no longer active\n await cacheEntryRemoved\n // perform cleanup steps once the `cacheEntryRemoved` promise resolves\n PubSub.unsubscribe(token)\n },\n providesTags: (_res, _error, { entities }) =>\n entities.map(({ id }: { id: string }) => ({ id, type: 'entities' })),\n }),\n }),\n})\n\nexport const { useGetEntitiesDetailsPanelQuery, useLazyGetEntitiesDetailsPanelQuery } =\n detailsPanelQueries2\nexport { detailsPanelQueries2 as detailsPanelQueries }\n"],"names":["gqlApi","transformDetailsPanelQueriesData","detailsPanelEntityTypes","res","PubSub"],"mappings":"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"}
1
+ {"version":3,"file":"getEntityPanel.cjs.js","sources":["../../../../../../src/api/queries/entities/getEntityPanel.ts"],"sourcesContent":["import {\n gqlApi,\n GetDetailsPanelFolderQuery,\n GetDetailsPanelRepresentationQuery,\n GetDetailsPanelTaskQuery,\n GetDetailsPanelVersionQuery,\n} from '@shared/api/generated'\nimport { PubSub } from '@shared/util'\nimport { FetchBaseQueryError } from '@reduxjs/toolkit/query'\nimport {\n detailsPanelEntityTypes,\n transformDetailsPanelQueriesData,\n} from './transformDetailsPanelData'\nimport type { DetailsPanelEntityData, DetailsPanelEntityType } from './transformDetailsPanelData'\n\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<\n Definitions,\n | 'GetDetailsPanelFolder'\n | 'GetDetailsPanelTask'\n | 'GetDetailsPanelVersion'\n | 'GetDetailsPanelRepresentation'\n> & {\n GetDetailsPanelFolder: OverrideResultType<\n Definitions['GetDetailsPanelFolder'],\n DetailsPanelEntityData | null\n >\n GetDetailsPanelTask: OverrideResultType<\n Definitions['GetDetailsPanelTask'],\n DetailsPanelEntityData | null\n >\n GetDetailsPanelVersion: OverrideResultType<\n Definitions['GetDetailsPanelVersion'],\n DetailsPanelEntityData | null\n >\n GetDetailsPanelRepresentation: OverrideResultType<\n Definitions['GetDetailsPanelRepresentation'],\n DetailsPanelEntityData | null\n >\n}\n\nconst enhancedDetailsApi = gqlApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n GetDetailsPanelFolder: {\n transformResponse: (response: GetDetailsPanelFolderQuery, _meta, args) => {\n const { projectName } = args\n const entity = response?.project?.folder\n if (!entity) return null\n return transformDetailsPanelQueriesData({\n projectName,\n entity,\n entityType: 'folder',\n })\n },\n },\n GetDetailsPanelTask: {\n transformResponse: (response: GetDetailsPanelTaskQuery, _meta, args) => {\n const { projectName } = args\n const entity = response?.project?.task\n if (!entity) return null\n return transformDetailsPanelQueriesData({\n projectName,\n entity,\n entityType: 'task',\n })\n },\n },\n GetDetailsPanelVersion: {\n transformResponse: (response: GetDetailsPanelVersionQuery, _meta, args) => {\n const { projectName } = args\n const entity = response?.project?.version\n if (!entity) return null\n return transformDetailsPanelQueriesData({\n projectName,\n entity,\n entityType: 'version',\n })\n },\n },\n GetDetailsPanelRepresentation: {\n transformResponse: (response: GetDetailsPanelRepresentationQuery, _meta, args) => {\n const { projectName } = args\n const entity = response?.project?.representation\n if (!entity) return null\n return transformDetailsPanelQueriesData({\n projectName,\n entity,\n entityType: 'representation',\n })\n },\n },\n },\n})\n\ntype GetEntitiesDetailsPanelArgs = {\n entities: { id: string; projectName: string }[]\n entityType: DetailsPanelEntityType\n}\n\ntype QueryNameType =\n | 'GetDetailsPanelTask'\n | 'GetDetailsPanelVersion'\n | 'GetDetailsPanelFolder'\n | 'GetDetailsPanelRepresentation'\n\nconst getEntityTypeQueryName = (entityType: DetailsPanelEntityType): QueryNameType => {\n switch (entityType) {\n case 'task':\n return 'GetDetailsPanelTask'\n\n case 'version':\n return 'GetDetailsPanelVersion'\n\n case 'folder':\n return 'GetDetailsPanelFolder'\n\n case 'representation':\n return 'GetDetailsPanelRepresentation'\n }\n}\n\nconst detailsPanelQueries2 = enhancedDetailsApi.injectEndpoints({\n endpoints: (build) => ({\n getEntitiesDetailsPanel: build.query<DetailsPanelEntityData[], GetEntitiesDetailsPanelArgs>({\n async queryFn({ entities = [], entityType }, { dispatch }) {\n if (!detailsPanelEntityTypes.includes(entityType)) {\n return {\n error: {\n status: 'CUSTOM_ERROR',\n error: 'Entity type not supported',\n } as FetchBaseQueryError,\n }\n }\n\n try {\n const promises = entities.map((entity) => {\n return dispatch(\n enhancedDetailsApi.endpoints[getEntityTypeQueryName(entityType)].initiate(\n {\n projectName: entity.projectName,\n entityId: entity.id,\n },\n { forceRefetch: true },\n ),\n )\n })\n\n const res = await Promise.all(promises)\n\n const entitiesData = res\n .filter((res) => !!res.data)\n .map((res) => res.data) as DetailsPanelEntityData[]\n\n return { data: entitiesData }\n } catch (e: any) {\n console.error(e)\n return { error: { status: 'FETCH_ERROR', error: e.message } as FetchBaseQueryError }\n }\n },\n async onCacheEntryAdded(\n { entities, entityType },\n { updateCachedData, cacheDataLoaded, cacheEntryRemoved, dispatch },\n ) {\n let token\n try {\n // wait for the initial query to resolve before proceeding\n await cacheDataLoaded\n\n const handlePubSub = async (_topic: string, message: any) => {\n const messageEntityId = message.summary?.entityId\n const matchedEntity = entities.find((entity) => entity.id === messageEntityId)\n // check if the message is relevant to the current query\n if (!matchedEntity) return\n\n try {\n // get the new data for the entity\n const res = await dispatch(\n enhancedDetailsApi.endpoints[getEntityTypeQueryName(entityType)].initiate(\n {\n projectName: matchedEntity.projectName,\n entityId: matchedEntity.id,\n },\n { forceRefetch: true },\n ),\n )\n\n // check the res\n if (res.status !== 'fulfilled') {\n console.error(res?.error || 'No entity found')\n return\n }\n\n const updatedEntity = res.data\n\n if (!updatedEntity) {\n console.error('No entity found')\n return\n }\n\n updateCachedData((draft) => {\n // find the entity in the cache\n const entityIndex = draft.findIndex((entity: any) => entity.id === updatedEntity.id)\n\n if (entityIndex === -1) {\n console.error('Entity not found in cache')\n return\n }\n\n // update the entity in the cache\n draft[entityIndex] = updatedEntity\n })\n } catch (error) {\n console.error('Entity task realtime update failed', error)\n return\n }\n }\n\n const topic = `entity.${entityType}`\n // sub to websocket topic\n token = PubSub.subscribe(topic, handlePubSub)\n } catch {\n // no-op in case `cacheEntryRemoved` resolves before `cacheDataLoaded`,\n // in which case `cacheDataLoaded` will throw\n }\n // cacheEntryRemoved will resolve when the cache subscription is no longer active\n await cacheEntryRemoved\n // perform cleanup steps once the `cacheEntryRemoved` promise resolves\n PubSub.unsubscribe(token)\n },\n providesTags: (_res, _error, { entities }) =>\n entities.map(({ id }: { id: string }) => ({ id, type: 'entities' })),\n }),\n }),\n})\n\nexport const { useGetEntitiesDetailsPanelQuery, useLazyGetEntitiesDetailsPanelQuery } =\n detailsPanelQueries2\nexport { detailsPanelQueries2 as detailsPanelQueries }\n"],"names":["gqlApi","transformDetailsPanelQueriesData","detailsPanelEntityTypes","res","PubSub"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4CA,MAAM,qBAAqBA,YAAO,iBAA+C;AAAA,EAC/E,WAAW;AAAA,IACT,uBAAuB;AAAA,MACrB,mBAAmB,CAAC,UAAsC,OAAO,SAAS;;AAClE,cAAA,EAAE,gBAAgB;AAClB,cAAA,UAAS,0CAAU,YAAV,mBAAmB;AAC9B,YAAA,CAAC,OAAe,QAAA;AACpB,eAAOC,2DAAiC;AAAA,UACtC;AAAA,UACA;AAAA,UACA,YAAY;AAAA,QAAA,CACb;AAAA,MAAA;AAAA,IAEL;AAAA,IACA,qBAAqB;AAAA,MACnB,mBAAmB,CAAC,UAAoC,OAAO,SAAS;;AAChE,cAAA,EAAE,gBAAgB;AAClB,cAAA,UAAS,0CAAU,YAAV,mBAAmB;AAC9B,YAAA,CAAC,OAAe,QAAA;AACpB,eAAOA,2DAAiC;AAAA,UACtC;AAAA,UACA;AAAA,UACA,YAAY;AAAA,QAAA,CACb;AAAA,MAAA;AAAA,IAEL;AAAA,IACA,wBAAwB;AAAA,MACtB,mBAAmB,CAAC,UAAuC,OAAO,SAAS;;AACnE,cAAA,EAAE,gBAAgB;AAClB,cAAA,UAAS,0CAAU,YAAV,mBAAmB;AAC9B,YAAA,CAAC,OAAe,QAAA;AACpB,eAAOA,2DAAiC;AAAA,UACtC;AAAA,UACA;AAAA,UACA,YAAY;AAAA,QAAA,CACb;AAAA,MAAA;AAAA,IAEL;AAAA,IACA,+BAA+B;AAAA,MAC7B,mBAAmB,CAAC,UAA8C,OAAO,SAAS;;AAC1E,cAAA,EAAE,gBAAgB;AAClB,cAAA,UAAS,0CAAU,YAAV,mBAAmB;AAC9B,YAAA,CAAC,OAAe,QAAA;AACpB,eAAOA,2DAAiC;AAAA,UACtC;AAAA,UACA;AAAA,UACA,YAAY;AAAA,QAAA,CACb;AAAA,MAAA;AAAA,IACH;AAAA,EACF;AAEJ,CAAC;AAaD,MAAM,yBAAyB,CAAC,eAAsD;AACpF,UAAQ,YAAY;AAAA,IAClB,KAAK;AACI,aAAA;AAAA,IAET,KAAK;AACI,aAAA;AAAA,IAET,KAAK;AACI,aAAA;AAAA,IAET,KAAK;AACI,aAAA;AAAA,EAAA;AAEb;AAEM,MAAA,uBAAuB,mBAAmB,gBAAgB;AAAA,EAC9D,WAAW,CAAC,WAAW;AAAA,IACrB,yBAAyB,MAAM,MAA6D;AAAA,MAC1F,MAAM,QAAQ,EAAE,WAAW,CAAA,GAAI,WAAW,GAAG,EAAE,YAAY;AACzD,YAAI,CAACC,0BAAA,wBAAwB,SAAS,UAAU,GAAG;AAC1C,iBAAA;AAAA,YACL,OAAO;AAAA,cACL,QAAQ;AAAA,cACR,OAAO;AAAA,YAAA;AAAA,UAEX;AAAA,QAAA;AAGE,YAAA;AACF,gBAAM,WAAW,SAAS,IAAI,CAAC,WAAW;AACjC,mBAAA;AAAA,cACL,mBAAmB,UAAU,uBAAuB,UAAU,CAAC,EAAE;AAAA,gBAC/D;AAAA,kBACE,aAAa,OAAO;AAAA,kBACpB,UAAU,OAAO;AAAA,gBACnB;AAAA,gBACA,EAAE,cAAc,KAAK;AAAA,cAAA;AAAA,YAEzB;AAAA,UAAA,CACD;AAED,gBAAM,MAAM,MAAM,QAAQ,IAAI,QAAQ;AAEtC,gBAAM,eAAe,IAClB,OAAO,CAACC,SAAQ,CAAC,CAACA,KAAI,IAAI,EAC1B,IAAI,CAACA,SAAQA,KAAI,IAAI;AAEjB,iBAAA,EAAE,MAAM,aAAa;AAAA,iBACrB,GAAQ;AACf,kBAAQ,MAAM,CAAC;AACR,iBAAA,EAAE,OAAO,EAAE,QAAQ,eAAe,OAAO,EAAE,UAAiC;AAAA,QAAA;AAAA,MAEvF;AAAA,MACA,MAAM,kBACJ,EAAE,UAAU,WACZ,GAAA,EAAE,kBAAkB,iBAAiB,mBAAmB,YACxD;AACI,YAAA;AACA,YAAA;AAEI,gBAAA;AAEA,gBAAA,eAAe,OAAO,QAAgB,YAAiB;;AACrD,kBAAA,mBAAkB,aAAQ,YAAR,mBAAiB;AACzC,kBAAM,gBAAgB,SAAS,KAAK,CAAC,WAAW,OAAO,OAAO,eAAe;AAE7E,gBAAI,CAAC,cAAe;AAEhB,gBAAA;AAEF,oBAAM,MAAM,MAAM;AAAA,gBAChB,mBAAmB,UAAU,uBAAuB,UAAU,CAAC,EAAE;AAAA,kBAC/D;AAAA,oBACE,aAAa,cAAc;AAAA,oBAC3B,UAAU,cAAc;AAAA,kBAC1B;AAAA,kBACA,EAAE,cAAc,KAAK;AAAA,gBAAA;AAAA,cAEzB;AAGI,kBAAA,IAAI,WAAW,aAAa;AACtB,wBAAA,OAAM,2BAAK,UAAS,iBAAiB;AAC7C;AAAA,cAAA;AAGF,oBAAM,gBAAgB,IAAI;AAE1B,kBAAI,CAAC,eAAe;AAClB,wBAAQ,MAAM,iBAAiB;AAC/B;AAAA,cAAA;AAGF,+BAAiB,CAAC,UAAU;AAEpB,sBAAA,cAAc,MAAM,UAAU,CAAC,WAAgB,OAAO,OAAO,cAAc,EAAE;AAEnF,oBAAI,gBAAgB,IAAI;AACtB,0BAAQ,MAAM,2BAA2B;AACzC;AAAA,gBAAA;AAIF,sBAAM,WAAW,IAAI;AAAA,cAAA,CACtB;AAAA,qBACM,OAAO;AACN,sBAAA,MAAM,sCAAsC,KAAK;AACzD;AAAA,YAAA;AAAA,UAEJ;AAEM,gBAAA,QAAQ,UAAU,UAAU;AAE1B,kBAAAC,OAAO,UAAU,OAAO,YAAY;AAAA,QAAA,QACtC;AAAA,QAAA;AAKF,cAAA;AAENA,eAAO,YAAY,KAAK;AAAA,MAC1B;AAAA,MACA,cAAc,CAAC,MAAM,QAAQ,EAAE,SAC7B,MAAA,SAAS,IAAI,CAAC,EAAE,GAAG,OAAuB,EAAE,IAAI,MAAM,aAAa;AAAA,IACtE,CAAA;AAAA,EACH;AACF,CAAC;AAEY,MAAA,EAAE,iCAAiC,wCAC9C;;;;"}
@@ -33,6 +33,7 @@ import "../../generated/users.es.js";
33
33
  import "../../generated/versions.es.js";
34
34
  import "../../generated/workfiles.es.js";
35
35
  import "../../generated/ynputCloud.es.js";
36
+ import "../../generated/grouping.es.js";
36
37
  import "lodash";
37
38
  import "react-toastify";
38
39
  import PubSub from "../../../util/pubsub.es.js";
@@ -1 +1 @@
1
- {"version":3,"file":"getEntityPanel.es.js","sources":["../../../../../../src/api/queries/entities/getEntityPanel.ts"],"sourcesContent":["import {\n gqlApi,\n GetDetailsPanelFolderQuery,\n GetDetailsPanelRepresentationQuery,\n GetDetailsPanelTaskQuery,\n GetDetailsPanelVersionQuery,\n} from '@shared/api/generated'\nimport { PubSub } from '@shared/util'\nimport { FetchBaseQueryError } from '@reduxjs/toolkit/query'\nimport {\n detailsPanelEntityTypes,\n transformDetailsPanelQueriesData,\n} from './transformDetailsPanelData'\nimport type { DetailsPanelEntityData, DetailsPanelEntityType } from './transformDetailsPanelData'\n\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<\n Definitions,\n | 'GetDetailsPanelFolder'\n | 'GetDetailsPanelTask'\n | 'GetDetailsPanelVersion'\n | 'GetDetailsPanelRepresentation'\n> & {\n GetDetailsPanelFolder: OverrideResultType<\n Definitions['GetDetailsPanelFolder'],\n DetailsPanelEntityData | null\n >\n GetDetailsPanelTask: OverrideResultType<\n Definitions['GetDetailsPanelTask'],\n DetailsPanelEntityData | null\n >\n GetDetailsPanelVersion: OverrideResultType<\n Definitions['GetDetailsPanelVersion'],\n DetailsPanelEntityData | null\n >\n GetDetailsPanelRepresentation: OverrideResultType<\n Definitions['GetDetailsPanelRepresentation'],\n DetailsPanelEntityData | null\n >\n}\n\nconst enhancedDetailsApi = gqlApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n GetDetailsPanelFolder: {\n transformResponse: (response: GetDetailsPanelFolderQuery, _meta, args) => {\n const { projectName } = args\n const entity = response?.project?.folder\n if (!entity) return null\n return transformDetailsPanelQueriesData({\n projectName,\n entity,\n entityType: 'folder',\n })\n },\n },\n GetDetailsPanelTask: {\n transformResponse: (response: GetDetailsPanelTaskQuery, _meta, args) => {\n const { projectName } = args\n const entity = response?.project?.task\n if (!entity) return null\n return transformDetailsPanelQueriesData({\n projectName,\n entity,\n entityType: 'task',\n })\n },\n },\n GetDetailsPanelVersion: {\n transformResponse: (response: GetDetailsPanelVersionQuery, _meta, args) => {\n const { projectName } = args\n const entity = response?.project?.version\n if (!entity) return null\n return transformDetailsPanelQueriesData({\n projectName,\n entity,\n entityType: 'version',\n })\n },\n },\n GetDetailsPanelRepresentation: {\n transformResponse: (response: GetDetailsPanelRepresentationQuery, _meta, args) => {\n const { projectName } = args\n const entity = response?.project?.representation\n if (!entity) return null\n return transformDetailsPanelQueriesData({\n projectName,\n entity,\n entityType: 'representation',\n })\n },\n },\n },\n})\n\ntype GetEntitiesDetailsPanelArgs = {\n entities: { id: string; projectName: string }[]\n entityType: DetailsPanelEntityType\n}\n\ntype QueryNameType =\n | 'GetDetailsPanelTask'\n | 'GetDetailsPanelVersion'\n | 'GetDetailsPanelFolder'\n | 'GetDetailsPanelRepresentation'\n\nconst getEntityTypeQueryName = (entityType: DetailsPanelEntityType): QueryNameType => {\n switch (entityType) {\n case 'task':\n return 'GetDetailsPanelTask'\n\n case 'version':\n return 'GetDetailsPanelVersion'\n\n case 'folder':\n return 'GetDetailsPanelFolder'\n\n case 'representation':\n return 'GetDetailsPanelRepresentation'\n }\n}\n\nconst detailsPanelQueries2 = enhancedDetailsApi.injectEndpoints({\n endpoints: (build) => ({\n getEntitiesDetailsPanel: build.query<DetailsPanelEntityData[], GetEntitiesDetailsPanelArgs>({\n async queryFn({ entities = [], entityType }, { dispatch }) {\n if (!detailsPanelEntityTypes.includes(entityType)) {\n return {\n error: {\n status: 'CUSTOM_ERROR',\n error: 'Entity type not supported',\n } as FetchBaseQueryError,\n }\n }\n\n try {\n const promises = entities.map((entity) => {\n return dispatch(\n enhancedDetailsApi.endpoints[getEntityTypeQueryName(entityType)].initiate(\n {\n projectName: entity.projectName,\n entityId: entity.id,\n },\n { forceRefetch: true },\n ),\n )\n })\n\n const res = await Promise.all(promises)\n\n const entitiesData = res\n .filter((res) => !!res.data)\n .map((res) => res.data) as DetailsPanelEntityData[]\n\n return { data: entitiesData }\n } catch (e: any) {\n console.error(e)\n return { error: { status: 'FETCH_ERROR', error: e.message } as FetchBaseQueryError }\n }\n },\n async onCacheEntryAdded(\n { entities, entityType },\n { updateCachedData, cacheDataLoaded, cacheEntryRemoved, dispatch },\n ) {\n let token\n try {\n // wait for the initial query to resolve before proceeding\n await cacheDataLoaded\n\n const handlePubSub = async (_topic: string, message: any) => {\n const messageEntityId = message.summary?.entityId\n const matchedEntity = entities.find((entity) => entity.id === messageEntityId)\n // check if the message is relevant to the current query\n if (!matchedEntity) return\n\n try {\n // get the new data for the entity\n const res = await dispatch(\n enhancedDetailsApi.endpoints[getEntityTypeQueryName(entityType)].initiate(\n {\n projectName: matchedEntity.projectName,\n entityId: matchedEntity.id,\n },\n { forceRefetch: true },\n ),\n )\n\n // check the res\n if (res.status !== 'fulfilled') {\n console.error(res?.error || 'No entity found')\n return\n }\n\n const updatedEntity = res.data\n\n if (!updatedEntity) {\n console.error('No entity found')\n return\n }\n\n updateCachedData((draft) => {\n // find the entity in the cache\n const entityIndex = draft.findIndex((entity: any) => entity.id === updatedEntity.id)\n\n if (entityIndex === -1) {\n console.error('Entity not found in cache')\n return\n }\n\n // update the entity in the cache\n draft[entityIndex] = updatedEntity\n })\n } catch (error) {\n console.error('Entity task realtime update failed', error)\n return\n }\n }\n\n const topic = `entity.${entityType}`\n // sub to websocket topic\n token = PubSub.subscribe(topic, handlePubSub)\n } catch {\n // no-op in case `cacheEntryRemoved` resolves before `cacheDataLoaded`,\n // in which case `cacheDataLoaded` will throw\n }\n // cacheEntryRemoved will resolve when the cache subscription is no longer active\n await cacheEntryRemoved\n // perform cleanup steps once the `cacheEntryRemoved` promise resolves\n PubSub.unsubscribe(token)\n },\n providesTags: (_res, _error, { entities }) =>\n entities.map(({ id }: { id: string }) => ({ id, type: 'entities' })),\n }),\n }),\n})\n\nexport const { useGetEntitiesDetailsPanelQuery, useLazyGetEntitiesDetailsPanelQuery } =\n detailsPanelQueries2\nexport { detailsPanelQueries2 as detailsPanelQueries }\n"],"names":["gqlApi","res"],"mappings":"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"}
1
+ {"version":3,"file":"getEntityPanel.es.js","sources":["../../../../../../src/api/queries/entities/getEntityPanel.ts"],"sourcesContent":["import {\n gqlApi,\n GetDetailsPanelFolderQuery,\n GetDetailsPanelRepresentationQuery,\n GetDetailsPanelTaskQuery,\n GetDetailsPanelVersionQuery,\n} from '@shared/api/generated'\nimport { PubSub } from '@shared/util'\nimport { FetchBaseQueryError } from '@reduxjs/toolkit/query'\nimport {\n detailsPanelEntityTypes,\n transformDetailsPanelQueriesData,\n} from './transformDetailsPanelData'\nimport type { DetailsPanelEntityData, DetailsPanelEntityType } from './transformDetailsPanelData'\n\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<\n Definitions,\n | 'GetDetailsPanelFolder'\n | 'GetDetailsPanelTask'\n | 'GetDetailsPanelVersion'\n | 'GetDetailsPanelRepresentation'\n> & {\n GetDetailsPanelFolder: OverrideResultType<\n Definitions['GetDetailsPanelFolder'],\n DetailsPanelEntityData | null\n >\n GetDetailsPanelTask: OverrideResultType<\n Definitions['GetDetailsPanelTask'],\n DetailsPanelEntityData | null\n >\n GetDetailsPanelVersion: OverrideResultType<\n Definitions['GetDetailsPanelVersion'],\n DetailsPanelEntityData | null\n >\n GetDetailsPanelRepresentation: OverrideResultType<\n Definitions['GetDetailsPanelRepresentation'],\n DetailsPanelEntityData | null\n >\n}\n\nconst enhancedDetailsApi = gqlApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n GetDetailsPanelFolder: {\n transformResponse: (response: GetDetailsPanelFolderQuery, _meta, args) => {\n const { projectName } = args\n const entity = response?.project?.folder\n if (!entity) return null\n return transformDetailsPanelQueriesData({\n projectName,\n entity,\n entityType: 'folder',\n })\n },\n },\n GetDetailsPanelTask: {\n transformResponse: (response: GetDetailsPanelTaskQuery, _meta, args) => {\n const { projectName } = args\n const entity = response?.project?.task\n if (!entity) return null\n return transformDetailsPanelQueriesData({\n projectName,\n entity,\n entityType: 'task',\n })\n },\n },\n GetDetailsPanelVersion: {\n transformResponse: (response: GetDetailsPanelVersionQuery, _meta, args) => {\n const { projectName } = args\n const entity = response?.project?.version\n if (!entity) return null\n return transformDetailsPanelQueriesData({\n projectName,\n entity,\n entityType: 'version',\n })\n },\n },\n GetDetailsPanelRepresentation: {\n transformResponse: (response: GetDetailsPanelRepresentationQuery, _meta, args) => {\n const { projectName } = args\n const entity = response?.project?.representation\n if (!entity) return null\n return transformDetailsPanelQueriesData({\n projectName,\n entity,\n entityType: 'representation',\n })\n },\n },\n },\n})\n\ntype GetEntitiesDetailsPanelArgs = {\n entities: { id: string; projectName: string }[]\n entityType: DetailsPanelEntityType\n}\n\ntype QueryNameType =\n | 'GetDetailsPanelTask'\n | 'GetDetailsPanelVersion'\n | 'GetDetailsPanelFolder'\n | 'GetDetailsPanelRepresentation'\n\nconst getEntityTypeQueryName = (entityType: DetailsPanelEntityType): QueryNameType => {\n switch (entityType) {\n case 'task':\n return 'GetDetailsPanelTask'\n\n case 'version':\n return 'GetDetailsPanelVersion'\n\n case 'folder':\n return 'GetDetailsPanelFolder'\n\n case 'representation':\n return 'GetDetailsPanelRepresentation'\n }\n}\n\nconst detailsPanelQueries2 = enhancedDetailsApi.injectEndpoints({\n endpoints: (build) => ({\n getEntitiesDetailsPanel: build.query<DetailsPanelEntityData[], GetEntitiesDetailsPanelArgs>({\n async queryFn({ entities = [], entityType }, { dispatch }) {\n if (!detailsPanelEntityTypes.includes(entityType)) {\n return {\n error: {\n status: 'CUSTOM_ERROR',\n error: 'Entity type not supported',\n } as FetchBaseQueryError,\n }\n }\n\n try {\n const promises = entities.map((entity) => {\n return dispatch(\n enhancedDetailsApi.endpoints[getEntityTypeQueryName(entityType)].initiate(\n {\n projectName: entity.projectName,\n entityId: entity.id,\n },\n { forceRefetch: true },\n ),\n )\n })\n\n const res = await Promise.all(promises)\n\n const entitiesData = res\n .filter((res) => !!res.data)\n .map((res) => res.data) as DetailsPanelEntityData[]\n\n return { data: entitiesData }\n } catch (e: any) {\n console.error(e)\n return { error: { status: 'FETCH_ERROR', error: e.message } as FetchBaseQueryError }\n }\n },\n async onCacheEntryAdded(\n { entities, entityType },\n { updateCachedData, cacheDataLoaded, cacheEntryRemoved, dispatch },\n ) {\n let token\n try {\n // wait for the initial query to resolve before proceeding\n await cacheDataLoaded\n\n const handlePubSub = async (_topic: string, message: any) => {\n const messageEntityId = message.summary?.entityId\n const matchedEntity = entities.find((entity) => entity.id === messageEntityId)\n // check if the message is relevant to the current query\n if (!matchedEntity) return\n\n try {\n // get the new data for the entity\n const res = await dispatch(\n enhancedDetailsApi.endpoints[getEntityTypeQueryName(entityType)].initiate(\n {\n projectName: matchedEntity.projectName,\n entityId: matchedEntity.id,\n },\n { forceRefetch: true },\n ),\n )\n\n // check the res\n if (res.status !== 'fulfilled') {\n console.error(res?.error || 'No entity found')\n return\n }\n\n const updatedEntity = res.data\n\n if (!updatedEntity) {\n console.error('No entity found')\n return\n }\n\n updateCachedData((draft) => {\n // find the entity in the cache\n const entityIndex = draft.findIndex((entity: any) => entity.id === updatedEntity.id)\n\n if (entityIndex === -1) {\n console.error('Entity not found in cache')\n return\n }\n\n // update the entity in the cache\n draft[entityIndex] = updatedEntity\n })\n } catch (error) {\n console.error('Entity task realtime update failed', error)\n return\n }\n }\n\n const topic = `entity.${entityType}`\n // sub to websocket topic\n token = PubSub.subscribe(topic, handlePubSub)\n } catch {\n // no-op in case `cacheEntryRemoved` resolves before `cacheDataLoaded`,\n // in which case `cacheDataLoaded` will throw\n }\n // cacheEntryRemoved will resolve when the cache subscription is no longer active\n await cacheEntryRemoved\n // perform cleanup steps once the `cacheEntryRemoved` promise resolves\n PubSub.unsubscribe(token)\n },\n providesTags: (_res, _error, { entities }) =>\n entities.map(({ id }: { id: string }) => ({ id, type: 'entities' })),\n }),\n }),\n})\n\nexport const { useGetEntitiesDetailsPanelQuery, useLazyGetEntitiesDetailsPanelQuery } =\n detailsPanelQueries2\nexport { detailsPanelQueries2 as detailsPanelQueries }\n"],"names":["gqlApi","res"],"mappings":"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"}
@@ -35,6 +35,7 @@ require("../../generated/users.cjs.js");
35
35
  require("../../generated/versions.cjs.js");
36
36
  require("../../generated/workfiles.cjs.js");
37
37
  require("../../generated/ynputCloud.cjs.js");
38
+ require("../../generated/grouping.cjs.js");
38
39
  require("../actions/getActions.cjs.js");
39
40
  require("../activities/getActivities.cjs.js");
40
41
  require("../activities/updateActivities.cjs.js");
@@ -65,6 +66,7 @@ require("../users/getUsers.cjs.js");
65
66
  require("../users/updateUsers.cjs.js");
66
67
  require("../watchers/getWatchers.cjs.js");
67
68
  require("../permissions/getPermissions.cjs.js");
69
+ require("../grouping/getGrouping.cjs.js");
68
70
  const detailsPanelEntityTypes = ["task", "version", "folder", "representation"];
69
71
  const transformDetailsPanelQueriesData = ({
70
72
  entity,
@@ -1 +1 @@
1
- {"version":3,"file":"transformDetailsPanelData.cjs.js","sources":["../../../../../../src/api/queries/entities/transformDetailsPanelData.ts"],"sourcesContent":["import {\n DetailsPanelFolderFragmentFragment,\n DetailsPanelProductFragmentFragment,\n DetailsPanelRepresentationFragmentFragment,\n DetailsPanelTaskFragmentFragment,\n DetailsPanelVersionFragmentFragment,\n GetDetailsPanelFolderQuery,\n GetDetailsPanelRepresentationQuery,\n GetDetailsPanelTaskQuery,\n GetDetailsPanelVersionQuery,\n} from '@shared/api/generated'\nimport { parseAllAttribs } from '@shared/api'\n\ntype DetailsPanelTask = NonNullable<GetDetailsPanelTaskQuery['project']['task']>\ntype DetailsPanelRepresentation = NonNullable<\n GetDetailsPanelRepresentationQuery['project']['representation']\n>\ntype DetailsPanelVersion = NonNullable<GetDetailsPanelVersionQuery['project']['version']>\ntype DetailsPanelFolder = NonNullable<GetDetailsPanelFolderQuery['project']['folder']>\n\nexport const detailsPanelEntityTypes = ['task', 'version', 'folder', 'representation'] as const\nexport type DetailsPanelEntityType = (typeof detailsPanelEntityTypes)[number]\n\ntype TransformEntityDataArgs = {\n entity: DetailsPanelRepresentation | DetailsPanelTask | DetailsPanelVersion | DetailsPanelFolder\n entityType: DetailsPanelEntityType\n projectName: string\n}\n\ntype NullableString = string | null | undefined\n\n// return type\nexport type DetailsPanelEntityData = {\n id: string\n name: string\n label: NullableString\n tags: string[]\n status: string\n updatedAt: string\n createdAt: string\n attrib: Record<string, string | number>\n hasReviewables?: boolean\n thumbnailId?: string | null | undefined\n // extra metadata\n entityType: string\n entitySubType?: string\n projectName: string\n // type specific\n task?: DetailsPanelTaskFragmentFragment\n folder?: DetailsPanelFolderFragmentFragment\n product?: DetailsPanelProductFragmentFragment\n version?: DetailsPanelVersionFragmentFragment\n representations?: DetailsPanelRepresentationFragmentFragment[]\n}\n\n// takes the data from different entity types and returns a single data model\nexport const transformDetailsPanelQueriesData = ({\n entity,\n entityType,\n projectName,\n}: TransformEntityDataArgs): DetailsPanelEntityData => {\n switch (entityType) {\n case 'task':\n const task = entity as DetailsPanelTask\n return {\n entityType: 'task',\n entitySubType: task.taskType,\n projectName: projectName,\n id: task.id,\n name: task.name,\n label: task.label,\n tags: task.tags,\n status: task.status,\n updatedAt: task.updatedAt,\n createdAt: task.createdAt,\n attrib: parseAllAttribs(task.allAttrib),\n hasReviewables: task.hasReviewables,\n thumbnailId: task.thumbnailId,\n folder: task.folder,\n task: {\n id: task.id,\n name: task.name,\n label: task.label,\n assignees: task.assignees,\n taskType: task.taskType,\n },\n product: undefined,\n version: task.versions?.edges?.[0]?.node,\n }\n case 'version':\n const version = entity as DetailsPanelVersion\n return {\n entityType: 'version',\n entitySubType: undefined,\n projectName: projectName,\n id: version.id,\n name: version.name,\n label: undefined,\n tags: version.tags,\n status: version.status,\n updatedAt: version.updatedAt,\n createdAt: version.createdAt,\n attrib: parseAllAttribs(version.allAttrib),\n hasReviewables: version.hasReviewables,\n thumbnailId: version.thumbnailId,\n folder: version.product?.folder,\n product: {\n id: version.product?.id,\n name: version.product?.name,\n productType: version.product?.productType,\n },\n representations: version.representations?.edges?.map((edge) => edge.node) || [],\n }\n case 'folder':\n const folder = entity as DetailsPanelFolder\n return {\n entityType: 'folder',\n entitySubType: folder.folderType,\n projectName: projectName,\n id: folder.id,\n name: folder.name,\n label: folder.label,\n tags: folder.tags,\n status: folder.status,\n updatedAt: folder.updatedAt,\n createdAt: folder.createdAt,\n attrib: parseAllAttribs(folder.allAttrib),\n hasReviewables: folder.hasReviewables,\n thumbnailId: folder.thumbnailId,\n folder: {\n id: folder.id,\n name: folder.name,\n label: folder.label,\n folderType: folder.folderType,\n },\n product: undefined,\n version: undefined,\n representations: undefined,\n }\n case 'representation':\n const representation = entity as DetailsPanelRepresentation\n return {\n entityType: 'representation',\n entitySubType: undefined,\n projectName: projectName,\n id: representation.id,\n name: representation.name,\n label: undefined,\n tags: representation.tags,\n status: representation.status,\n updatedAt: representation.updatedAt,\n createdAt: representation.createdAt,\n attrib: parseAllAttribs(representation.allAttrib),\n hasReviewables: undefined,\n thumbnailId: undefined,\n version: representation.version,\n product: representation.version.product,\n task: representation.version.task || undefined,\n folder: representation.version.product?.folder,\n representations: undefined,\n }\n }\n}\n"],"names":["parseAllAttribs"],"mappings":"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"}
1
+ {"version":3,"file":"transformDetailsPanelData.cjs.js","sources":["../../../../../../src/api/queries/entities/transformDetailsPanelData.ts"],"sourcesContent":["import {\n DetailsPanelFolderFragmentFragment,\n DetailsPanelProductFragmentFragment,\n DetailsPanelRepresentationFragmentFragment,\n DetailsPanelTaskFragmentFragment,\n DetailsPanelVersionFragmentFragment,\n GetDetailsPanelFolderQuery,\n GetDetailsPanelRepresentationQuery,\n GetDetailsPanelTaskQuery,\n GetDetailsPanelVersionQuery,\n} from '@shared/api/generated'\nimport { parseAllAttribs } from '@shared/api'\n\ntype DetailsPanelTask = NonNullable<GetDetailsPanelTaskQuery['project']['task']>\ntype DetailsPanelRepresentation = NonNullable<\n GetDetailsPanelRepresentationQuery['project']['representation']\n>\ntype DetailsPanelVersion = NonNullable<GetDetailsPanelVersionQuery['project']['version']>\ntype DetailsPanelFolder = NonNullable<GetDetailsPanelFolderQuery['project']['folder']>\n\nexport const detailsPanelEntityTypes = ['task', 'version', 'folder', 'representation'] as const\nexport type DetailsPanelEntityType = (typeof detailsPanelEntityTypes)[number]\n\ntype TransformEntityDataArgs = {\n entity: DetailsPanelRepresentation | DetailsPanelTask | DetailsPanelVersion | DetailsPanelFolder\n entityType: DetailsPanelEntityType\n projectName: string\n}\n\ntype NullableString = string | null | undefined\n\n// return type\nexport type DetailsPanelEntityData = {\n id: string\n name: string\n label: NullableString\n tags: string[]\n status: string\n updatedAt: string\n createdAt: string\n attrib: Record<string, string | number>\n hasReviewables?: boolean\n thumbnailId?: string | null | undefined\n // extra metadata\n entityType: string\n entitySubType?: string\n projectName: string\n // type specific\n task?: DetailsPanelTaskFragmentFragment\n folder?: DetailsPanelFolderFragmentFragment\n product?: DetailsPanelProductFragmentFragment\n version?: DetailsPanelVersionFragmentFragment\n representations?: DetailsPanelRepresentationFragmentFragment[]\n}\n\n// takes the data from different entity types and returns a single data model\nexport const transformDetailsPanelQueriesData = ({\n entity,\n entityType,\n projectName,\n}: TransformEntityDataArgs): DetailsPanelEntityData => {\n switch (entityType) {\n case 'task':\n const task = entity as DetailsPanelTask\n return {\n entityType: 'task',\n entitySubType: task.taskType,\n projectName: projectName,\n id: task.id,\n name: task.name,\n label: task.label,\n tags: task.tags,\n status: task.status,\n updatedAt: task.updatedAt,\n createdAt: task.createdAt,\n attrib: parseAllAttribs(task.allAttrib),\n hasReviewables: task.hasReviewables,\n thumbnailId: task.thumbnailId,\n folder: task.folder,\n task: {\n id: task.id,\n name: task.name,\n label: task.label,\n assignees: task.assignees,\n taskType: task.taskType,\n },\n product: undefined,\n version: task.versions?.edges?.[0]?.node,\n }\n case 'version':\n const version = entity as DetailsPanelVersion\n return {\n entityType: 'version',\n entitySubType: undefined,\n projectName: projectName,\n id: version.id,\n name: version.name,\n label: undefined,\n tags: version.tags,\n status: version.status,\n updatedAt: version.updatedAt,\n createdAt: version.createdAt,\n attrib: parseAllAttribs(version.allAttrib),\n hasReviewables: version.hasReviewables,\n thumbnailId: version.thumbnailId,\n folder: version.product?.folder,\n product: {\n id: version.product?.id,\n name: version.product?.name,\n productType: version.product?.productType,\n },\n representations: version.representations?.edges?.map((edge) => edge.node) || [],\n }\n case 'folder':\n const folder = entity as DetailsPanelFolder\n return {\n entityType: 'folder',\n entitySubType: folder.folderType,\n projectName: projectName,\n id: folder.id,\n name: folder.name,\n label: folder.label,\n tags: folder.tags,\n status: folder.status,\n updatedAt: folder.updatedAt,\n createdAt: folder.createdAt,\n attrib: parseAllAttribs(folder.allAttrib),\n hasReviewables: folder.hasReviewables,\n thumbnailId: folder.thumbnailId,\n folder: {\n id: folder.id,\n name: folder.name,\n label: folder.label,\n folderType: folder.folderType,\n },\n product: undefined,\n version: undefined,\n representations: undefined,\n }\n case 'representation':\n const representation = entity as DetailsPanelRepresentation\n return {\n entityType: 'representation',\n entitySubType: undefined,\n projectName: projectName,\n id: representation.id,\n name: representation.name,\n label: undefined,\n tags: representation.tags,\n status: representation.status,\n updatedAt: representation.updatedAt,\n createdAt: representation.createdAt,\n attrib: parseAllAttribs(representation.allAttrib),\n hasReviewables: undefined,\n thumbnailId: undefined,\n version: representation.version,\n product: representation.version.product,\n task: representation.version.task || undefined,\n folder: representation.version.product?.folder,\n representations: undefined,\n }\n }\n}\n"],"names":["parseAllAttribs"],"mappings":"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"}
@@ -33,6 +33,7 @@ import "../../generated/users.es.js";
33
33
  import "../../generated/versions.es.js";
34
34
  import "../../generated/workfiles.es.js";
35
35
  import "../../generated/ynputCloud.es.js";
36
+ import "../../generated/grouping.es.js";
36
37
  import "../actions/getActions.es.js";
37
38
  import "../activities/getActivities.es.js";
38
39
  import "../activities/updateActivities.es.js";
@@ -63,6 +64,7 @@ import "../users/getUsers.es.js";
63
64
  import "../users/updateUsers.es.js";
64
65
  import "../watchers/getWatchers.es.js";
65
66
  import "../permissions/getPermissions.es.js";
67
+ import "../grouping/getGrouping.es.js";
66
68
  const detailsPanelEntityTypes = ["task", "version", "folder", "representation"];
67
69
  const transformDetailsPanelQueriesData = ({
68
70
  entity,
@@ -1 +1 @@
1
- {"version":3,"file":"transformDetailsPanelData.es.js","sources":["../../../../../../src/api/queries/entities/transformDetailsPanelData.ts"],"sourcesContent":["import {\n DetailsPanelFolderFragmentFragment,\n DetailsPanelProductFragmentFragment,\n DetailsPanelRepresentationFragmentFragment,\n DetailsPanelTaskFragmentFragment,\n DetailsPanelVersionFragmentFragment,\n GetDetailsPanelFolderQuery,\n GetDetailsPanelRepresentationQuery,\n GetDetailsPanelTaskQuery,\n GetDetailsPanelVersionQuery,\n} from '@shared/api/generated'\nimport { parseAllAttribs } from '@shared/api'\n\ntype DetailsPanelTask = NonNullable<GetDetailsPanelTaskQuery['project']['task']>\ntype DetailsPanelRepresentation = NonNullable<\n GetDetailsPanelRepresentationQuery['project']['representation']\n>\ntype DetailsPanelVersion = NonNullable<GetDetailsPanelVersionQuery['project']['version']>\ntype DetailsPanelFolder = NonNullable<GetDetailsPanelFolderQuery['project']['folder']>\n\nexport const detailsPanelEntityTypes = ['task', 'version', 'folder', 'representation'] as const\nexport type DetailsPanelEntityType = (typeof detailsPanelEntityTypes)[number]\n\ntype TransformEntityDataArgs = {\n entity: DetailsPanelRepresentation | DetailsPanelTask | DetailsPanelVersion | DetailsPanelFolder\n entityType: DetailsPanelEntityType\n projectName: string\n}\n\ntype NullableString = string | null | undefined\n\n// return type\nexport type DetailsPanelEntityData = {\n id: string\n name: string\n label: NullableString\n tags: string[]\n status: string\n updatedAt: string\n createdAt: string\n attrib: Record<string, string | number>\n hasReviewables?: boolean\n thumbnailId?: string | null | undefined\n // extra metadata\n entityType: string\n entitySubType?: string\n projectName: string\n // type specific\n task?: DetailsPanelTaskFragmentFragment\n folder?: DetailsPanelFolderFragmentFragment\n product?: DetailsPanelProductFragmentFragment\n version?: DetailsPanelVersionFragmentFragment\n representations?: DetailsPanelRepresentationFragmentFragment[]\n}\n\n// takes the data from different entity types and returns a single data model\nexport const transformDetailsPanelQueriesData = ({\n entity,\n entityType,\n projectName,\n}: TransformEntityDataArgs): DetailsPanelEntityData => {\n switch (entityType) {\n case 'task':\n const task = entity as DetailsPanelTask\n return {\n entityType: 'task',\n entitySubType: task.taskType,\n projectName: projectName,\n id: task.id,\n name: task.name,\n label: task.label,\n tags: task.tags,\n status: task.status,\n updatedAt: task.updatedAt,\n createdAt: task.createdAt,\n attrib: parseAllAttribs(task.allAttrib),\n hasReviewables: task.hasReviewables,\n thumbnailId: task.thumbnailId,\n folder: task.folder,\n task: {\n id: task.id,\n name: task.name,\n label: task.label,\n assignees: task.assignees,\n taskType: task.taskType,\n },\n product: undefined,\n version: task.versions?.edges?.[0]?.node,\n }\n case 'version':\n const version = entity as DetailsPanelVersion\n return {\n entityType: 'version',\n entitySubType: undefined,\n projectName: projectName,\n id: version.id,\n name: version.name,\n label: undefined,\n tags: version.tags,\n status: version.status,\n updatedAt: version.updatedAt,\n createdAt: version.createdAt,\n attrib: parseAllAttribs(version.allAttrib),\n hasReviewables: version.hasReviewables,\n thumbnailId: version.thumbnailId,\n folder: version.product?.folder,\n product: {\n id: version.product?.id,\n name: version.product?.name,\n productType: version.product?.productType,\n },\n representations: version.representations?.edges?.map((edge) => edge.node) || [],\n }\n case 'folder':\n const folder = entity as DetailsPanelFolder\n return {\n entityType: 'folder',\n entitySubType: folder.folderType,\n projectName: projectName,\n id: folder.id,\n name: folder.name,\n label: folder.label,\n tags: folder.tags,\n status: folder.status,\n updatedAt: folder.updatedAt,\n createdAt: folder.createdAt,\n attrib: parseAllAttribs(folder.allAttrib),\n hasReviewables: folder.hasReviewables,\n thumbnailId: folder.thumbnailId,\n folder: {\n id: folder.id,\n name: folder.name,\n label: folder.label,\n folderType: folder.folderType,\n },\n product: undefined,\n version: undefined,\n representations: undefined,\n }\n case 'representation':\n const representation = entity as DetailsPanelRepresentation\n return {\n entityType: 'representation',\n entitySubType: undefined,\n projectName: projectName,\n id: representation.id,\n name: representation.name,\n label: undefined,\n tags: representation.tags,\n status: representation.status,\n updatedAt: representation.updatedAt,\n createdAt: representation.createdAt,\n attrib: parseAllAttribs(representation.allAttrib),\n hasReviewables: undefined,\n thumbnailId: undefined,\n version: representation.version,\n product: representation.version.product,\n task: representation.version.task || undefined,\n folder: representation.version.product?.folder,\n representations: undefined,\n }\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transformDetailsPanelData.es.js","sources":["../../../../../../src/api/queries/entities/transformDetailsPanelData.ts"],"sourcesContent":["import {\n DetailsPanelFolderFragmentFragment,\n DetailsPanelProductFragmentFragment,\n DetailsPanelRepresentationFragmentFragment,\n DetailsPanelTaskFragmentFragment,\n DetailsPanelVersionFragmentFragment,\n GetDetailsPanelFolderQuery,\n GetDetailsPanelRepresentationQuery,\n GetDetailsPanelTaskQuery,\n GetDetailsPanelVersionQuery,\n} from '@shared/api/generated'\nimport { parseAllAttribs } from '@shared/api'\n\ntype DetailsPanelTask = NonNullable<GetDetailsPanelTaskQuery['project']['task']>\ntype DetailsPanelRepresentation = NonNullable<\n GetDetailsPanelRepresentationQuery['project']['representation']\n>\ntype DetailsPanelVersion = NonNullable<GetDetailsPanelVersionQuery['project']['version']>\ntype DetailsPanelFolder = NonNullable<GetDetailsPanelFolderQuery['project']['folder']>\n\nexport const detailsPanelEntityTypes = ['task', 'version', 'folder', 'representation'] as const\nexport type DetailsPanelEntityType = (typeof detailsPanelEntityTypes)[number]\n\ntype TransformEntityDataArgs = {\n entity: DetailsPanelRepresentation | DetailsPanelTask | DetailsPanelVersion | DetailsPanelFolder\n entityType: DetailsPanelEntityType\n projectName: string\n}\n\ntype NullableString = string | null | undefined\n\n// return type\nexport type DetailsPanelEntityData = {\n id: string\n name: string\n label: NullableString\n tags: string[]\n status: string\n updatedAt: string\n createdAt: string\n attrib: Record<string, string | number>\n hasReviewables?: boolean\n thumbnailId?: string | null | undefined\n // extra metadata\n entityType: string\n entitySubType?: string\n projectName: string\n // type specific\n task?: DetailsPanelTaskFragmentFragment\n folder?: DetailsPanelFolderFragmentFragment\n product?: DetailsPanelProductFragmentFragment\n version?: DetailsPanelVersionFragmentFragment\n representations?: DetailsPanelRepresentationFragmentFragment[]\n}\n\n// takes the data from different entity types and returns a single data model\nexport const transformDetailsPanelQueriesData = ({\n entity,\n entityType,\n projectName,\n}: TransformEntityDataArgs): DetailsPanelEntityData => {\n switch (entityType) {\n case 'task':\n const task = entity as DetailsPanelTask\n return {\n entityType: 'task',\n entitySubType: task.taskType,\n projectName: projectName,\n id: task.id,\n name: task.name,\n label: task.label,\n tags: task.tags,\n status: task.status,\n updatedAt: task.updatedAt,\n createdAt: task.createdAt,\n attrib: parseAllAttribs(task.allAttrib),\n hasReviewables: task.hasReviewables,\n thumbnailId: task.thumbnailId,\n folder: task.folder,\n task: {\n id: task.id,\n name: task.name,\n label: task.label,\n assignees: task.assignees,\n taskType: task.taskType,\n },\n product: undefined,\n version: task.versions?.edges?.[0]?.node,\n }\n case 'version':\n const version = entity as DetailsPanelVersion\n return {\n entityType: 'version',\n entitySubType: undefined,\n projectName: projectName,\n id: version.id,\n name: version.name,\n label: undefined,\n tags: version.tags,\n status: version.status,\n updatedAt: version.updatedAt,\n createdAt: version.createdAt,\n attrib: parseAllAttribs(version.allAttrib),\n hasReviewables: version.hasReviewables,\n thumbnailId: version.thumbnailId,\n folder: version.product?.folder,\n product: {\n id: version.product?.id,\n name: version.product?.name,\n productType: version.product?.productType,\n },\n representations: version.representations?.edges?.map((edge) => edge.node) || [],\n }\n case 'folder':\n const folder = entity as DetailsPanelFolder\n return {\n entityType: 'folder',\n entitySubType: folder.folderType,\n projectName: projectName,\n id: folder.id,\n name: folder.name,\n label: folder.label,\n tags: folder.tags,\n status: folder.status,\n updatedAt: folder.updatedAt,\n createdAt: folder.createdAt,\n attrib: parseAllAttribs(folder.allAttrib),\n hasReviewables: folder.hasReviewables,\n thumbnailId: folder.thumbnailId,\n folder: {\n id: folder.id,\n name: folder.name,\n label: folder.label,\n folderType: folder.folderType,\n },\n product: undefined,\n version: undefined,\n representations: undefined,\n }\n case 'representation':\n const representation = entity as DetailsPanelRepresentation\n return {\n entityType: 'representation',\n entitySubType: undefined,\n projectName: projectName,\n id: representation.id,\n name: representation.name,\n label: undefined,\n tags: representation.tags,\n status: representation.status,\n updatedAt: representation.updatedAt,\n createdAt: representation.createdAt,\n attrib: parseAllAttribs(representation.allAttrib),\n hasReviewables: undefined,\n thumbnailId: undefined,\n version: representation.version,\n product: representation.version.product,\n task: representation.version.task || undefined,\n folder: representation.version.product?.folder,\n representations: undefined,\n }\n }\n}\n"],"names":[],"mappings":"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"}
@@ -47,6 +47,7 @@ require("../../generated/users.cjs.js");
47
47
  require("../../generated/versions.cjs.js");
48
48
  require("../../generated/workfiles.cjs.js");
49
49
  require("../../generated/ynputCloud.cjs.js");
50
+ require("../../generated/grouping.cjs.js");
50
51
  require("../entityLists/getLists.cjs.js");
51
52
  require("../entityLists/updateLists.cjs.js");
52
53
  require("../entityLists/getListsAttributes.cjs.js");
@@ -64,6 +65,7 @@ require("../users/getUsers.cjs.js");
64
65
  require("../users/updateUsers.cjs.js");
65
66
  require("../watchers/getWatchers.cjs.js");
66
67
  require("../permissions/getPermissions.cjs.js");
68
+ require("../grouping/getGrouping.cjs.js");
67
69
  const reactToastify = require("react-toastify");
68
70
  const patchKanban = ({ assignees = [], projects = [] }, { newAssignees, taskId, data, taskData }, { dispatch }) => {
69
71
  let kanbanPatched = false;