@ynput/ayon-frontend-shared 0.3.31 → 0.3.33

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 (1007) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +28 -24
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/ProjectTreeTable.cjs.js +1 -1
  5. package/dist/ProjectTreeTable.es.js +219 -199
  6. package/dist/ProjectTreeTable.es.js.map +1 -1
  7. package/dist/Slicer.cjs.js +1 -1
  8. package/dist/Slicer.es.js +20 -18
  9. package/dist/Slicer.es.js.map +1 -1
  10. package/dist/_virtual/index.cjs14.js +1 -1
  11. package/dist/_virtual/index.cjs15.js +1 -1
  12. package/dist/_virtual/index.cjs19.js +1 -1
  13. package/dist/_virtual/index.cjs22.js +1 -1
  14. package/dist/_virtual/index.cjs23.js +1 -1
  15. package/dist/_virtual/index.cjs24.js +1 -1
  16. package/dist/_virtual/index.cjs7.js +1 -1
  17. package/dist/_virtual/index.es10.js +2 -2
  18. package/dist/_virtual/index.es11.js +2 -2
  19. package/dist/_virtual/index.es13.js +2 -2
  20. package/dist/_virtual/index.es14.js +2 -5
  21. package/dist/_virtual/index.es14.js.map +1 -1
  22. package/dist/_virtual/index.es15.js +2 -2
  23. package/dist/_virtual/index.es16.js +2 -2
  24. package/dist/_virtual/index.es17.js +2 -2
  25. package/dist/_virtual/index.es18.js +2 -2
  26. package/dist/_virtual/index.es19.js +2 -2
  27. package/dist/_virtual/index.es20.js +2 -2
  28. package/dist/_virtual/index.es22.js +3 -3
  29. package/dist/_virtual/index.es23.js +5 -5
  30. package/dist/_virtual/index.es24.js +5 -5
  31. package/dist/_virtual/index.es7.js +5 -2
  32. package/dist/_virtual/index.es7.js.map +1 -1
  33. package/dist/_virtual/index.es9.js +2 -2
  34. package/dist/api.cjs.js +1 -1
  35. package/dist/api.es.js +460 -436
  36. package/dist/api.es.js.map +1 -1
  37. package/dist/components.cjs.js +1 -1
  38. package/dist/components.es.js +83 -80
  39. package/dist/components.es.js.map +1 -1
  40. package/dist/index.cjs.js +1 -1
  41. package/dist/index.es.js +15 -11
  42. package/dist/index.es.js.map +1 -1
  43. package/dist/node_modules/parse-numeric-range/index.cjs.js +1 -1
  44. package/dist/node_modules/parse-numeric-range/index.es.js +1 -1
  45. package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +1 -1
  46. package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
  47. package/dist/node_modules/rehype/node_modules/vfile/lib/index.cjs.js +1 -1
  48. package/dist/node_modules/rehype/node_modules/vfile/lib/index.es.js +1 -1
  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/shared/node_modules/@module-federation/error-codes/dist/index.cjs.js +1 -1
  52. package/dist/shared/node_modules/@module-federation/error-codes/dist/index.es.js +1 -1
  53. package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.cjs.js +1 -1
  54. package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.es.js +1 -1
  55. package/dist/shared/node_modules/@module-federation/runtime-core/dist/module/index.cjs.js +1 -1
  56. package/dist/shared/node_modules/@module-federation/runtime-core/dist/module/index.es.js +1 -1
  57. package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/index.cjs.js +1 -1
  58. package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/index.es.js +1 -1
  59. package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/index.cjs.js +1 -1
  60. package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/index.es.js +1 -1
  61. package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/index.cjs.js +1 -1
  62. package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/index.es.js +1 -1
  63. package/dist/shared/node_modules/@module-federation/runtime-core/dist/type/index.cjs.js +1 -1
  64. package/dist/shared/node_modules/@module-federation/runtime-core/dist/type/index.es.js +1 -1
  65. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/index.cjs.js +1 -1
  66. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/index.es.js +1 -1
  67. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/index.cjs.js +1 -1
  68. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/index.es.js +1 -1
  69. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/index.cjs.js +1 -1
  70. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/index.cjs.js.map +1 -1
  71. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/index.es.js +1 -1
  72. package/dist/shared/node_modules/@module-federation/sdk/dist/index.cjs.js +1 -1
  73. package/dist/shared/node_modules/@module-federation/sdk/dist/index.es.js +1 -1
  74. package/dist/shared/node_modules/prop-types/index.cjs.js +1 -1
  75. package/dist/shared/node_modules/prop-types/index.es.js +1 -1
  76. package/dist/shared/node_modules/react-is/index.cjs.js +1 -1
  77. package/dist/shared/node_modules/react-is/index.es.js +1 -1
  78. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js +1 -1
  79. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js.map +1 -1
  80. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.es.js +1 -1
  81. package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js +1 -1
  82. package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js.map +1 -1
  83. package/dist/shared/node_modules/react-transition-group/esm/Transition.es.js +1 -1
  84. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js +1 -1
  85. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js.map +1 -1
  86. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.es.js +1 -1
  87. package/dist/shared/src/api/base/client.cjs.js +1 -1
  88. package/dist/shared/src/api/base/client.cjs.js.map +1 -1
  89. package/dist/shared/src/api/base/client.es.js +22 -17
  90. package/dist/shared/src/api/base/client.es.js.map +1 -1
  91. package/dist/shared/src/api/generated/folders.cjs.js +1 -1
  92. package/dist/shared/src/api/generated/folders.cjs.js.map +1 -1
  93. package/dist/shared/src/api/generated/folders.es.js +2 -14
  94. package/dist/shared/src/api/generated/folders.es.js.map +1 -1
  95. package/dist/shared/src/api/generated/graphql.cjs.js +299 -61
  96. package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
  97. package/dist/shared/src/api/generated/graphql.es.js +430 -170
  98. package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
  99. package/dist/shared/src/api/generated/graphqlLinks.cjs.js.map +1 -1
  100. package/dist/shared/src/api/generated/graphqlLinks.es.js.map +1 -1
  101. package/dist/shared/src/api/queries/activities/activityQueries.cjs.js +1 -0
  102. package/dist/shared/src/api/queries/activities/activityQueries.cjs.js.map +1 -1
  103. package/dist/shared/src/api/queries/activities/activityQueries.es.js +1 -0
  104. package/dist/shared/src/api/queries/activities/activityQueries.es.js.map +1 -1
  105. package/dist/shared/src/api/queries/activities/getActivities.cjs.js +1 -1
  106. package/dist/shared/src/api/queries/activities/getActivities.cjs.js.map +1 -1
  107. package/dist/shared/src/api/queries/activities/getActivities.es.js +26 -24
  108. package/dist/shared/src/api/queries/activities/getActivities.es.js.map +1 -1
  109. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.cjs.js +1 -1
  110. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.cjs.js.map +1 -1
  111. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.es.js +35 -23
  112. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.es.js.map +1 -1
  113. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js +1 -1
  114. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js.map +1 -1
  115. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js +74 -60
  116. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js.map +1 -1
  117. package/dist/shared/src/api/queries/columnStats/columnStats.cjs.js +2 -0
  118. package/dist/shared/src/api/queries/columnStats/columnStats.cjs.js.map +1 -0
  119. package/dist/shared/src/api/queries/columnStats/columnStats.es.js +96 -0
  120. package/dist/shared/src/api/queries/columnStats/columnStats.es.js.map +1 -0
  121. package/dist/shared/src/api/queries/columnStats/metricTargets.cjs.js +2 -0
  122. package/dist/shared/src/api/queries/columnStats/metricTargets.cjs.js.map +1 -0
  123. package/dist/shared/src/api/queries/columnStats/metricTargets.es.js +88 -0
  124. package/dist/shared/src/api/queries/columnStats/metricTargets.es.js.map +1 -0
  125. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js +1 -1
  126. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js.map +1 -1
  127. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js +62 -48
  128. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js.map +1 -1
  129. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js +1 -1
  130. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
  131. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js +7 -3
  132. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
  133. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +1 -1
  134. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js.map +1 -1
  135. package/dist/shared/src/api/queries/entityLists/getLists.es.js +94 -79
  136. package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -1
  137. package/dist/shared/src/api/queries/entityLists/listItemsColumnStats.cjs.js +2 -0
  138. package/dist/shared/src/api/queries/entityLists/listItemsColumnStats.cjs.js.map +1 -0
  139. package/dist/shared/src/api/queries/entityLists/listItemsColumnStats.es.js +68 -0
  140. package/dist/shared/src/api/queries/entityLists/listItemsColumnStats.es.js.map +1 -0
  141. package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js +1 -1
  142. package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js.map +1 -1
  143. package/dist/shared/src/api/queries/entityLists/updateLists.es.js +73 -69
  144. package/dist/shared/src/api/queries/entityLists/updateLists.es.js.map +1 -1
  145. package/dist/shared/src/api/queries/folders/getFolders.cjs.js +1 -1
  146. package/dist/shared/src/api/queries/folders/getFolders.cjs.js.map +1 -1
  147. package/dist/shared/src/api/queries/folders/getFolders.es.js +104 -71
  148. package/dist/shared/src/api/queries/folders/getFolders.es.js.map +1 -1
  149. package/dist/shared/src/api/queries/overview/getOverview.cjs.js +1 -1
  150. package/dist/shared/src/api/queries/overview/getOverview.cjs.js.map +1 -1
  151. package/dist/shared/src/api/queries/overview/getOverview.es.js +265 -216
  152. package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
  153. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +1 -1
  154. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
  155. package/dist/shared/src/api/queries/overview/updateOverview.es.js +207 -187
  156. package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
  157. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js +1 -1
  158. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js.map +1 -1
  159. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js +138 -107
  160. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js.map +1 -1
  161. package/dist/shared/src/api/queries/users/getUsers.cjs.js +4 -4
  162. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  163. package/dist/shared/src/api/queries/users/getUsers.es.js +11 -11
  164. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  165. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js +1 -1
  166. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js.map +1 -1
  167. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js +332 -239
  168. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js.map +1 -1
  169. package/dist/shared/src/api/queries/views/updateViews.cjs.js +1 -1
  170. package/dist/shared/src/api/queries/views/updateViews.cjs.js.map +1 -1
  171. package/dist/shared/src/api/queries/views/updateViews.es.js +38 -38
  172. package/dist/shared/src/api/queries/views/updateViews.es.js.map +1 -1
  173. package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js +1 -1
  174. package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js.map +1 -1
  175. package/dist/shared/src/components/ColumnHeaderMenuUI.es.js +4 -2
  176. package/dist/shared/src/components/ColumnHeaderMenuUI.es.js.map +1 -1
  177. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +1 -1
  178. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
  179. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +4 -2
  180. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +1 -1
  181. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
  182. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  183. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +8 -4
  184. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  185. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
  186. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
  187. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +4 -2
  188. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
  189. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +1 -1
  190. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
  191. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +4 -2
  192. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
  193. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
  194. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
  195. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +4 -2
  196. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
  197. package/dist/shared/src/components/EntityIcon/EntityIcon.cjs.js +1 -1
  198. package/dist/shared/src/components/EntityIcon/EntityIcon.cjs.js.map +1 -1
  199. package/dist/shared/src/components/EntityIcon/EntityIcon.es.js +4 -2
  200. package/dist/shared/src/components/EntityIcon/EntityIcon.es.js.map +1 -1
  201. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  202. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  203. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +143 -162
  204. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  205. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js +1 -1
  206. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js.map +1 -1
  207. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js +8 -4
  208. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js.map +1 -1
  209. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -1
  210. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
  211. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +4 -2
  212. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
  213. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
  214. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
  215. package/dist/shared/src/components/Feedback/FeedbackContext.es.js +6 -4
  216. package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
  217. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
  218. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
  219. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +4 -2
  220. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
  221. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js +1 -1
  222. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js.map +1 -1
  223. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js +4 -2
  224. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js.map +1 -1
  225. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js +1 -1
  226. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js.map +1 -1
  227. package/dist/shared/src/components/LinksManager/LinksManager.es.js +4 -2
  228. package/dist/shared/src/components/LinksManager/LinksManager.es.js.map +1 -1
  229. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  230. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  231. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +8 -4
  232. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  233. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
  234. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
  235. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +4 -2
  236. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
  237. package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js +1 -1
  238. package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js.map +1 -1
  239. package/dist/shared/src/components/ListMetaData/ListMetaData.es.js +4 -2
  240. package/dist/shared/src/components/ListMetaData/ListMetaData.es.js.map +1 -1
  241. package/dist/shared/src/components/Menu/Menu.cjs.js +1 -1
  242. package/dist/shared/src/components/Menu/Menu.cjs.js.map +1 -1
  243. package/dist/shared/src/components/Menu/Menu.es.js +4 -2
  244. package/dist/shared/src/components/Menu/Menu.es.js.map +1 -1
  245. package/dist/shared/src/components/Menu/MenuItem.cjs.js +1 -1
  246. package/dist/shared/src/components/Menu/MenuItem.cjs.js.map +1 -1
  247. package/dist/shared/src/components/Menu/MenuItem.es.js +2 -0
  248. package/dist/shared/src/components/Menu/MenuItem.es.js.map +1 -1
  249. package/dist/shared/src/components/Menu/MenuList.cjs.js +1 -1
  250. package/dist/shared/src/components/Menu/MenuList.cjs.js.map +1 -1
  251. package/dist/shared/src/components/Menu/MenuList.es.js +4 -2
  252. package/dist/shared/src/components/Menu/MenuList.es.js.map +1 -1
  253. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +1 -1
  254. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
  255. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +4 -2
  256. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -1
  257. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  258. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  259. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +4 -2
  260. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  261. package/dist/shared/src/components/Powerpack/useFreeTrialLink.cjs.js +1 -1
  262. package/dist/shared/src/components/Powerpack/useFreeTrialLink.cjs.js.map +1 -1
  263. package/dist/shared/src/components/Powerpack/useFreeTrialLink.es.js +4 -2
  264. package/dist/shared/src/components/Powerpack/useFreeTrialLink.es.js.map +1 -1
  265. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +1 -1
  266. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js.map +1 -1
  267. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +81 -77
  268. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js.map +1 -1
  269. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +1 -1
  270. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  271. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +10 -6
  272. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  273. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  274. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  275. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +4 -2
  276. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  277. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js +1 -1
  278. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js.map +1 -1
  279. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js +8 -4
  280. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js.map +1 -1
  281. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +1 -1
  282. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -1
  283. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +8 -4
  284. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -1
  285. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
  286. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  287. package/dist/shared/src/components/RenameForm/RenameForm.es.js +8 -4
  288. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  289. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js +1 -1
  290. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js.map +1 -1
  291. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js +4 -2
  292. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js.map +1 -1
  293. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  294. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  295. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +8 -4
  296. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  297. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  298. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  299. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +9 -5
  300. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  301. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  302. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  303. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +8 -4
  304. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  305. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +1 -1
  306. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -1
  307. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +4 -2
  308. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js.map +1 -1
  309. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js +1 -1
  310. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js.map +1 -1
  311. package/dist/shared/src/components/ReviewablesSelector/Card.es.js +8 -4
  312. package/dist/shared/src/components/ReviewablesSelector/Card.es.js.map +1 -1
  313. package/dist/shared/src/components/ReviewablesSelector/ReviewablesSelector.cjs.js +1 -1
  314. package/dist/shared/src/components/ReviewablesSelector/ReviewablesSelector.cjs.js.map +1 -1
  315. package/dist/shared/src/components/ReviewablesSelector/ReviewablesSelector.es.js +2 -1
  316. package/dist/shared/src/components/ReviewablesSelector/ReviewablesSelector.es.js.map +1 -1
  317. package/dist/shared/src/components/SearchFilter/filterScopeRegistry.cjs.js +2 -0
  318. package/dist/shared/src/components/SearchFilter/filterScopeRegistry.cjs.js.map +1 -0
  319. package/dist/shared/src/components/SearchFilter/filterScopeRegistry.es.js +24 -0
  320. package/dist/shared/src/components/SearchFilter/filterScopeRegistry.es.js.map +1 -0
  321. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  322. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  323. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +8 -6
  324. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  325. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +1 -1
  326. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
  327. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +4 -2
  328. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -1
  329. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js +1 -1
  330. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js.map +1 -1
  331. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js +10 -6
  332. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js.map +1 -1
  333. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
  334. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  335. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +8 -4
  336. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  337. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.cjs.js +1 -1
  338. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.cjs.js.map +1 -1
  339. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.es.js +4 -2
  340. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.es.js.map +1 -1
  341. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js +2 -2
  342. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js.map +1 -1
  343. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js +12 -10
  344. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js.map +1 -1
  345. package/dist/shared/src/components/Thumbnail/Thumbnail.cjs.js +1 -1
  346. package/dist/shared/src/components/Thumbnail/Thumbnail.cjs.js.map +1 -1
  347. package/dist/shared/src/components/Thumbnail/Thumbnail.es.js +49 -44
  348. package/dist/shared/src/components/Thumbnail/Thumbnail.es.js.map +1 -1
  349. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.cjs.js +3 -3
  350. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.cjs.js.map +1 -1
  351. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.es.js +32 -22
  352. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.es.js.map +1 -1
  353. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
  354. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  355. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +8 -4
  356. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  357. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
  358. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  359. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +12 -8
  360. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  361. package/dist/shared/src/components/Watchers/Watchers.cjs.js +1 -1
  362. package/dist/shared/src/components/Watchers/Watchers.cjs.js.map +1 -1
  363. package/dist/shared/src/components/Watchers/Watchers.es.js +4 -2
  364. package/dist/shared/src/components/Watchers/Watchers.es.js.map +1 -1
  365. package/dist/shared/src/config/powerpackFeatures.cjs.js +1 -1
  366. package/dist/shared/src/config/powerpackFeatures.cjs.js.map +1 -1
  367. package/dist/shared/src/config/powerpackFeatures.es.js +7 -1
  368. package/dist/shared/src/config/powerpackFeatures.es.js.map +1 -1
  369. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  370. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  371. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +8 -4
  372. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  373. package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
  374. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  375. package/dist/shared/src/containers/Actions/Actions.es.js +4 -2
  376. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  377. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  378. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  379. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +8 -4
  380. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  381. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  382. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  383. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +8 -4
  384. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  385. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  386. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  387. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js +8 -4
  388. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  389. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  390. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  391. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js +45 -40
  392. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  393. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  394. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  395. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js +8 -4
  396. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  397. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js +1 -1
  398. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js.map +1 -1
  399. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js +8 -4
  400. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js.map +1 -1
  401. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js +1 -1
  402. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js.map +1 -1
  403. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js +8 -4
  404. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js.map +1 -1
  405. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
  406. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  407. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +4 -2
  408. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  409. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js +1 -1
  410. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js.map +1 -1
  411. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js +21 -17
  412. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js.map +1 -1
  413. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js +1 -1
  414. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js.map +1 -1
  415. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js +8 -4
  416. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js.map +1 -1
  417. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js +1 -1
  418. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js.map +1 -1
  419. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js +7 -3
  420. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js.map +1 -1
  421. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js +1 -1
  422. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js.map +1 -1
  423. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js +14 -11
  424. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js.map +1 -1
  425. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.cjs.js +1 -1
  426. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.cjs.js.map +1 -1
  427. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.es.js +14 -14
  428. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.es.js.map +1 -1
  429. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
  430. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  431. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +14 -9
  432. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  433. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  434. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  435. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +8 -4
  436. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  437. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  438. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  439. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +8 -4
  440. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  441. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  442. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  443. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +8 -4
  444. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  445. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  446. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  447. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +8 -4
  448. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  449. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
  450. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
  451. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +4 -2
  452. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
  453. package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
  454. package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
  455. package/dist/shared/src/containers/Feed/Feed.es.js +157 -140
  456. package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
  457. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js +1 -1
  458. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js.map +1 -1
  459. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js +8 -4
  460. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js.map +1 -1
  461. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  462. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  463. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +133 -144
  464. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  465. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
  466. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
  467. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +8 -4
  468. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
  469. package/dist/shared/src/containers/Feed/components/ActivityDate.cjs.js +3 -3
  470. package/dist/shared/src/containers/Feed/components/ActivityDate.cjs.js.map +1 -1
  471. package/dist/shared/src/containers/Feed/components/ActivityDate.es.js +39 -31
  472. package/dist/shared/src/containers/Feed/components/ActivityDate.es.js.map +1 -1
  473. package/dist/shared/src/containers/Feed/components/ActivityItem.cjs.js +1 -1
  474. package/dist/shared/src/containers/Feed/components/ActivityItem.cjs.js.map +1 -1
  475. package/dist/shared/src/containers/Feed/components/ActivityItem.es.js +23 -20
  476. package/dist/shared/src/containers/Feed/components/ActivityItem.es.js.map +1 -1
  477. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js +2 -0
  478. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js.map +1 -0
  479. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js +349 -0
  480. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js.map +1 -0
  481. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.styled.cjs.js +50 -0
  482. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.styled.cjs.js.map +1 -0
  483. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.styled.es.js +56 -0
  484. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.styled.es.js.map +1 -0
  485. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js +1 -1
  486. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js.map +1 -1
  487. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js +29 -27
  488. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js.map +1 -1
  489. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +2 -2
  490. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  491. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +351 -290
  492. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  493. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.cjs.js +87 -12
  494. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.cjs.js.map +1 -1
  495. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.es.js +101 -21
  496. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.es.js.map +1 -1
  497. package/dist/shared/src/containers/Feed/components/CommentInput/VersionReviewPill.cjs.js +2 -0
  498. package/dist/shared/src/containers/Feed/components/CommentInput/VersionReviewPill.cjs.js.map +1 -0
  499. package/dist/shared/src/containers/Feed/components/CommentInput/VersionReviewPill.es.js +34 -0
  500. package/dist/shared/src/containers/Feed/components/CommentInput/VersionReviewPill.es.js.map +1 -0
  501. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js +1 -1
  502. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js.map +1 -1
  503. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js +12 -8
  504. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js.map +1 -1
  505. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js +1 -1
  506. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js.map +1 -1
  507. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js +4 -2
  508. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js.map +1 -1
  509. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js +1 -1
  510. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js.map +1 -1
  511. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js +4 -2
  512. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map +1 -1
  513. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js +1 -1
  514. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js.map +1 -1
  515. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js +4 -2
  516. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js.map +1 -1
  517. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  518. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  519. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +40 -45
  520. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  521. package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.cjs.js +1 -1
  522. package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.cjs.js.map +1 -1
  523. package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.es.js +4 -2
  524. package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.es.js.map +1 -1
  525. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
  526. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  527. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +7 -5
  528. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  529. package/dist/shared/src/containers/Feed/helpers/groupActivityVersions.cjs.js +1 -1
  530. package/dist/shared/src/containers/Feed/helpers/groupActivityVersions.cjs.js.map +1 -1
  531. package/dist/shared/src/containers/Feed/helpers/groupActivityVersions.es.js +14 -13
  532. package/dist/shared/src/containers/Feed/helpers/groupActivityVersions.es.js.map +1 -1
  533. package/dist/shared/src/containers/Feed/hooks/useCategoryData.cjs.js +2 -0
  534. package/dist/shared/src/containers/Feed/hooks/useCategoryData.cjs.js.map +1 -0
  535. package/dist/shared/src/containers/Feed/hooks/useCategoryData.es.js +27 -0
  536. package/dist/shared/src/containers/Feed/hooks/useCategoryData.es.js.map +1 -0
  537. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.cjs.js +1 -1
  538. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.cjs.js.map +1 -1
  539. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.es.js +88 -68
  540. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.es.js.map +1 -1
  541. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +1 -1
  542. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
  543. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +4 -2
  544. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
  545. package/dist/shared/src/containers/Feed/hooks/useLastVersionReview.cjs.js +2 -0
  546. package/dist/shared/src/containers/Feed/hooks/useLastVersionReview.cjs.js.map +1 -0
  547. package/dist/shared/src/containers/Feed/hooks/useLastVersionReview.es.js +113 -0
  548. package/dist/shared/src/containers/Feed/hooks/useLastVersionReview.es.js.map +1 -0
  549. package/dist/shared/src/containers/ListTable/ListTable.cjs.js +1 -1
  550. package/dist/shared/src/containers/ListTable/ListTable.cjs.js.map +1 -1
  551. package/dist/shared/src/containers/ListTable/ListTable.es.js +214 -204
  552. package/dist/shared/src/containers/ListTable/ListTable.es.js.map +1 -1
  553. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js +1 -1
  554. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js.map +1 -1
  555. package/dist/shared/src/containers/ListTable/ListTableCell.es.js +8 -4
  556. package/dist/shared/src/containers/ListTable/ListTableCell.es.js.map +1 -1
  557. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js +1 -1
  558. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js.map +1 -1
  559. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js +8 -4
  560. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js.map +1 -1
  561. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  562. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  563. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +731 -675
  564. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  565. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js +32 -10
  566. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js.map +1 -1
  567. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js +42 -18
  568. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js.map +1 -1
  569. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  570. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  571. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +21 -16
  572. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  573. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js +1 -1
  574. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js.map +1 -1
  575. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js +61 -45
  576. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js.map +1 -1
  577. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
  578. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  579. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +8 -4
  580. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  581. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  582. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  583. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +8 -4
  584. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  585. package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.cjs.js +48 -0
  586. package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.cjs.js.map +1 -0
  587. package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.es.js +103 -0
  588. package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.es.js.map +1 -0
  589. package/dist/shared/src/containers/ProjectTreeTable/constants.cjs.js +2 -0
  590. package/dist/shared/src/containers/ProjectTreeTable/constants.cjs.js.map +1 -0
  591. package/dist/shared/src/containers/ProjectTreeTable/constants.es.js +6 -0
  592. package/dist/shared/src/containers/ProjectTreeTable/constants.es.js.map +1 -0
  593. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  594. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  595. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +8 -4
  596. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  597. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +4 -4
  598. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
  599. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +8 -5
  600. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
  601. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.cjs.js.map +1 -1
  602. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.es.js.map +1 -1
  603. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +1 -1
  604. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -1
  605. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +219 -183
  606. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +1 -1
  607. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
  608. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  609. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +6 -4
  610. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  611. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js +1 -1
  612. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js.map +1 -1
  613. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js +94 -90
  614. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js.map +1 -1
  615. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.cjs.js +1 -1
  616. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.cjs.js.map +1 -1
  617. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.es.js +21 -17
  618. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.es.js.map +1 -1
  619. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.cjs.js +1 -1
  620. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.cjs.js.map +1 -1
  621. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.es.js +1 -2
  622. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.es.js.map +1 -1
  623. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  624. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  625. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +21 -13
  626. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  627. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +1 -1
  628. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
  629. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +4 -2
  630. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
  631. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  632. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  633. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +85 -81
  634. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  635. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  636. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  637. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +203 -181
  638. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  639. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  640. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  641. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +10 -5
  642. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  643. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  644. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  645. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +8 -4
  646. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  647. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  648. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  649. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +8 -4
  650. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  651. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js +1 -1
  652. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js.map +1 -1
  653. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js +8 -4
  654. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js.map +1 -1
  655. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  656. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  657. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +179 -175
  658. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  659. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFolderRelationships.cjs.js.map +1 -1
  660. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFolderRelationships.es.js.map +1 -1
  661. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  662. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  663. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +8 -4
  664. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  665. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  666. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
  667. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +8 -4
  668. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
  669. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  670. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  671. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +8 -4
  672. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  673. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  674. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  675. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +8 -4
  676. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  677. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  678. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  679. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +8 -4
  680. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  681. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  682. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  683. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +96 -91
  684. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  685. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js +1 -1
  686. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js.map +1 -1
  687. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js +8 -4
  688. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js.map +1 -1
  689. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js +1 -1
  690. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -1
  691. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js +46 -44
  692. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -1
  693. package/dist/shared/src/containers/ProjectTreeTable/types/summaryTypes.cjs.js +2 -0
  694. package/dist/shared/src/containers/ProjectTreeTable/types/summaryTypes.cjs.js.map +1 -0
  695. package/dist/shared/src/containers/ProjectTreeTable/types/summaryTypes.es.js +16 -0
  696. package/dist/shared/src/containers/ProjectTreeTable/types/summaryTypes.es.js.map +1 -0
  697. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  698. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  699. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +19 -15
  700. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  701. package/dist/shared/src/containers/ProjectTreeTable/utils/checkColumnVisibility.cjs.js +1 -1
  702. package/dist/shared/src/containers/ProjectTreeTable/utils/checkColumnVisibility.cjs.js.map +1 -1
  703. package/dist/shared/src/containers/ProjectTreeTable/utils/checkColumnVisibility.es.js +29 -25
  704. package/dist/shared/src/containers/ProjectTreeTable/utils/checkColumnVisibility.es.js.map +1 -1
  705. package/dist/shared/src/containers/ProjectTreeTable/utils/pinningUtils.cjs.js +2 -0
  706. package/dist/shared/src/containers/ProjectTreeTable/utils/pinningUtils.cjs.js.map +1 -0
  707. package/dist/shared/src/containers/ProjectTreeTable/utils/pinningUtils.es.js +17 -0
  708. package/dist/shared/src/containers/ProjectTreeTable/utils/pinningUtils.es.js.map +1 -0
  709. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js +1 -1
  710. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js.map +1 -1
  711. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js +61 -61
  712. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js.map +1 -1
  713. package/dist/shared/src/containers/ProjectTreeTable/utils/sanitizeQueryFilter.cjs.js +2 -0
  714. package/dist/shared/src/containers/ProjectTreeTable/utils/sanitizeQueryFilter.cjs.js.map +1 -0
  715. package/dist/shared/src/containers/ProjectTreeTable/utils/sanitizeQueryFilter.es.js +15 -0
  716. package/dist/shared/src/containers/ProjectTreeTable/utils/sanitizeQueryFilter.es.js.map +1 -0
  717. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +1 -1
  718. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
  719. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +8 -4
  720. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
  721. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +1 -1
  722. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  723. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +16 -12
  724. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  725. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  726. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  727. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +10 -6
  728. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  729. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js +1 -1
  730. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js.map +1 -1
  731. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js +4 -2
  732. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js.map +1 -1
  733. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  734. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  735. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +8 -4
  736. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  737. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js +1 -1
  738. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js.map +1 -1
  739. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js +8 -4
  740. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js.map +1 -1
  741. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js +1 -1
  742. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js.map +1 -1
  743. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js +4 -2
  744. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js.map +1 -1
  745. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js +4 -4
  746. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js.map +1 -1
  747. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js +24 -19
  748. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js.map +1 -1
  749. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  750. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  751. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +8 -4
  752. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  753. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  754. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  755. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +8 -4
  756. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  757. package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js +2 -2
  758. package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js.map +1 -1
  759. package/dist/shared/src/containers/Slicer/components/Slicer.es.js +52 -50
  760. package/dist/shared/src/containers/Slicer/components/Slicer.es.js.map +1 -1
  761. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js +1 -1
  762. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js.map +1 -1
  763. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js +4 -2
  764. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js.map +1 -1
  765. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +1 -1
  766. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -1
  767. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +8 -4
  768. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -1
  769. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js +1 -1
  770. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js.map +1 -1
  771. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js +57 -53
  772. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js.map +1 -1
  773. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js +1 -1
  774. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js.map +1 -1
  775. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js +4 -2
  776. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js.map +1 -1
  777. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js +1 -1
  778. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js.map +1 -1
  779. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js +4 -2
  780. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js.map +1 -1
  781. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js +1 -1
  782. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js.map +1 -1
  783. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js +8 -4
  784. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js.map +1 -1
  785. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js +1 -1
  786. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js.map +1 -1
  787. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js +4 -2
  788. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js.map +1 -1
  789. package/dist/shared/src/containers/Slicer/hooks/useSlicerViewSync.cjs.js +1 -1
  790. package/dist/shared/src/containers/Slicer/hooks/useSlicerViewSync.cjs.js.map +1 -1
  791. package/dist/shared/src/containers/Slicer/hooks/useSlicerViewSync.es.js +12 -18
  792. package/dist/shared/src/containers/Slicer/hooks/useSlicerViewSync.es.js.map +1 -1
  793. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js +1 -1
  794. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js.map +1 -1
  795. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js +13 -11
  796. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js.map +1 -1
  797. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js +1 -1
  798. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js.map +1 -1
  799. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js +4 -2
  800. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js.map +1 -1
  801. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
  802. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
  803. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +4 -2
  804. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
  805. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
  806. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
  807. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +8 -4
  808. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
  809. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +1 -1
  810. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -1
  811. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +4 -2
  812. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -1
  813. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
  814. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  815. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +120 -118
  816. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  817. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.cjs.js +1 -1
  818. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.cjs.js.map +1 -1
  819. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.es.js +18 -16
  820. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.es.js.map +1 -1
  821. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js +1 -1
  822. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js.map +1 -1
  823. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js +79 -51
  824. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js.map +1 -1
  825. package/dist/shared/src/containers/Views/hooks/pages/useTaskProgressViewSettings.cjs.js +1 -1
  826. package/dist/shared/src/containers/Views/hooks/pages/useTaskProgressViewSettings.cjs.js.map +1 -1
  827. package/dist/shared/src/containers/Views/hooks/pages/useTaskProgressViewSettings.es.js +19 -17
  828. package/dist/shared/src/containers/Views/hooks/pages/useTaskProgressViewSettings.es.js.map +1 -1
  829. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.cjs.js +1 -1
  830. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.cjs.js.map +1 -1
  831. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.es.js +4 -2
  832. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.es.js.map +1 -1
  833. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
  834. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
  835. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +7 -5
  836. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
  837. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js +1 -1
  838. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js.map +1 -1
  839. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js +13 -11
  840. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js.map +1 -1
  841. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js +1 -1
  842. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js.map +1 -1
  843. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js +4 -2
  844. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js.map +1 -1
  845. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
  846. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
  847. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +79 -65
  848. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
  849. package/dist/shared/src/context/AddonProjectContext.cjs.js +1 -1
  850. package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
  851. package/dist/shared/src/context/AddonProjectContext.es.js +6 -4
  852. package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
  853. package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
  854. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  855. package/dist/shared/src/context/DetailsPanelContext.es.js +6 -4
  856. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  857. package/dist/shared/src/context/GlobalContext.cjs.js +1 -1
  858. package/dist/shared/src/context/GlobalContext.cjs.js.map +1 -1
  859. package/dist/shared/src/context/GlobalContext.es.js +6 -4
  860. package/dist/shared/src/context/GlobalContext.es.js.map +1 -1
  861. package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
  862. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  863. package/dist/shared/src/context/PowerpackContext.es.js +8 -6
  864. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  865. package/dist/shared/src/context/ProjectContext.cjs.js +1 -1
  866. package/dist/shared/src/context/ProjectContext.cjs.js.map +1 -1
  867. package/dist/shared/src/context/ProjectContext.es.js +6 -4
  868. package/dist/shared/src/context/ProjectContext.es.js.map +1 -1
  869. package/dist/shared/src/context/ProjectFoldersContext.cjs.js +1 -1
  870. package/dist/shared/src/context/ProjectFoldersContext.cjs.js.map +1 -1
  871. package/dist/shared/src/context/ProjectFoldersContext.es.js +6 -4
  872. package/dist/shared/src/context/ProjectFoldersContext.es.js.map +1 -1
  873. package/dist/shared/src/context/RemoteModulesContext.cjs.js +1 -1
  874. package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
  875. package/dist/shared/src/context/RemoteModulesContext.es.js +6 -4
  876. package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
  877. package/dist/shared/src/context/SubtasksModulesContext.cjs.js +1 -1
  878. package/dist/shared/src/context/SubtasksModulesContext.cjs.js.map +1 -1
  879. package/dist/shared/src/context/SubtasksModulesContext.es.js +6 -4
  880. package/dist/shared/src/context/SubtasksModulesContext.es.js.map +1 -1
  881. package/dist/shared/src/context/UriContext.cjs.js +1 -1
  882. package/dist/shared/src/context/UriContext.cjs.js.map +1 -1
  883. package/dist/shared/src/context/UriContext.es.js +7 -5
  884. package/dist/shared/src/context/UriContext.es.js.map +1 -1
  885. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  886. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  887. package/dist/shared/src/context/WebsocketContext.es.js +10 -6
  888. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  889. package/dist/shared/src/hooks/useActionTriggers.cjs.js +1 -1
  890. package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
  891. package/dist/shared/src/hooks/useActionTriggers.es.js +4 -2
  892. package/dist/shared/src/hooks/useActionTriggers.es.js.map +1 -1
  893. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
  894. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  895. package/dist/shared/src/hooks/useEntityUpdate.es.js +4 -2
  896. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  897. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js +1 -1
  898. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js.map +1 -1
  899. package/dist/shared/src/hooks/useGetEntityGroups.es.js +4 -2
  900. package/dist/shared/src/hooks/useGetEntityGroups.es.js.map +1 -1
  901. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +1 -1
  902. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
  903. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +4 -2
  904. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
  905. package/dist/shared/src/hooks/useHierarchyTable.cjs.js +1 -1
  906. package/dist/shared/src/hooks/useHierarchyTable.cjs.js.map +1 -1
  907. package/dist/shared/src/hooks/useHierarchyTable.es.js +4 -2
  908. package/dist/shared/src/hooks/useHierarchyTable.es.js.map +1 -1
  909. package/dist/shared/src/hooks/useScopedStatuses.cjs.js +1 -1
  910. package/dist/shared/src/hooks/useScopedStatuses.cjs.js.map +1 -1
  911. package/dist/shared/src/hooks/useScopedStatuses.es.js +6 -4
  912. package/dist/shared/src/hooks/useScopedStatuses.es.js.map +1 -1
  913. package/dist/shared/src/hooks/useScopedTypes.cjs.js +1 -1
  914. package/dist/shared/src/hooks/useScopedTypes.cjs.js.map +1 -1
  915. package/dist/shared/src/hooks/useScopedTypes.es.js +4 -2
  916. package/dist/shared/src/hooks/useScopedTypes.es.js.map +1 -1
  917. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
  918. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  919. package/dist/shared/src/hooks/useUserProjectConfig.es.js +4 -2
  920. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  921. package/dist/shared/src/util/columnConfigConverter.cjs.js +1 -1
  922. package/dist/shared/src/util/columnConfigConverter.cjs.js.map +1 -1
  923. package/dist/shared/src/util/columnConfigConverter.es.js +86 -65
  924. package/dist/shared/src/util/columnConfigConverter.es.js.map +1 -1
  925. package/dist/shared/src/util/getThumbnailUrl.cjs.js +2 -0
  926. package/dist/shared/src/util/getThumbnailUrl.cjs.js.map +1 -0
  927. package/dist/shared/src/util/getThumbnailUrl.es.js +23 -0
  928. package/dist/shared/src/util/getThumbnailUrl.es.js.map +1 -0
  929. package/dist/shared/src/util/thumbnailWebsocket.cjs.js +2 -0
  930. package/dist/shared/src/util/thumbnailWebsocket.cjs.js.map +1 -0
  931. package/dist/shared/src/util/thumbnailWebsocket.es.js +54 -0
  932. package/dist/shared/src/util/thumbnailWebsocket.es.js.map +1 -0
  933. package/dist/types/api/generated/folders.d.ts +1 -6
  934. package/dist/types/api/generated/graphql.d.ts +403 -6
  935. package/dist/types/api/generated/graphqlLinks.d.ts +80 -4
  936. package/dist/types/api/queries/activities/activityQueries.d.ts +1 -0
  937. package/dist/types/api/queries/activities/getActivities.d.ts +506 -0
  938. package/dist/types/api/queries/activities/updateActivities.d.ts +116 -0
  939. package/dist/types/api/queries/activities/util/activitiesHelpers.d.ts +1 -0
  940. package/dist/types/api/queries/columnStats/columnStats.d.ts +28 -0
  941. package/dist/types/api/queries/columnStats/index.d.ts +2 -0
  942. package/dist/types/api/queries/columnStats/metricTargets.d.ts +31 -0
  943. package/dist/types/api/queries/entities/getEntity.d.ts +57 -0
  944. package/dist/types/api/queries/entities/getEntityPanel.d.ts +57 -0
  945. package/dist/types/api/queries/entities/transformDetailsPanelData.d.ts +1 -0
  946. package/dist/types/api/queries/entities/updateEntity.d.ts +57 -0
  947. package/dist/types/api/queries/entityLists/getLists.d.ts +57 -0
  948. package/dist/types/api/queries/entityLists/index.d.ts +1 -0
  949. package/dist/types/api/queries/entityLists/listItemsColumnStats.d.ts +312 -0
  950. package/dist/types/api/queries/entityLists/types.d.ts +3 -0
  951. package/dist/types/api/queries/index.d.ts +1 -0
  952. package/dist/types/api/queries/overview/getOverview.d.ts +743 -1
  953. package/dist/types/api/queries/project/getProject.d.ts +57 -0
  954. package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +79 -0
  955. package/dist/types/api/queries/users/getUsers.d.ts +57 -0
  956. package/dist/types/api/queries/versions/getVersionsProducts.d.ts +848 -1
  957. package/dist/types/components/EntityPanelUploader/EntityPanelUploader.d.ts +1 -11
  958. package/dist/types/components/SearchFilter/filterScopeRegistry.d.ts +5 -0
  959. package/dist/types/components/SearchFilter/index.d.ts +1 -0
  960. package/dist/types/components/Thumbnail/StackedThumbnails.d.ts +2 -2
  961. package/dist/types/components/Thumbnail/Thumbnail.d.ts +2 -2
  962. package/dist/types/components/ThumbnailSimple/ThumbnailSimple.d.ts +1 -1
  963. package/dist/types/config/powerpackFeatures.d.ts +1 -1
  964. package/dist/types/containers/DetailsPanel/containers/FeedWrapper.d.ts +1 -0
  965. package/dist/types/containers/DetailsPanel/helpers/getThumbnails.d.ts +2 -2
  966. package/dist/types/containers/Feed/Feed.d.ts +2 -1
  967. package/dist/types/containers/Feed/components/ActivityDate.d.ts +1 -0
  968. package/dist/types/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.d.ts +20 -0
  969. package/dist/types/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.styled.d.ts +3 -0
  970. package/dist/types/containers/Feed/components/ActivityVersions/ActivityVersions.d.ts +1 -0
  971. package/dist/types/containers/Feed/components/CommentInput/CommentInput.d.ts +8 -0
  972. package/dist/types/containers/Feed/components/CommentInput/CommentInput.styled.d.ts +19 -0
  973. package/dist/types/containers/Feed/components/CommentInput/VersionReviewPill.d.ts +7 -0
  974. package/dist/types/containers/Feed/hooks/useCategoryData.d.ts +7 -0
  975. package/dist/types/containers/Feed/hooks/useCommentMutations.d.ts +2 -0
  976. package/dist/types/containers/Feed/hooks/useGetFeedActivitiesData.d.ts +3 -0
  977. package/dist/types/containers/Feed/hooks/useLastVersionReview.d.ts +11 -0
  978. package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +8 -3
  979. package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.styled.d.ts +2 -0
  980. package/dist/types/containers/ProjectTreeTable/buildTreeTableColumns.d.ts +1 -1
  981. package/dist/types/containers/ProjectTreeTable/components/TableFooterRow.d.ts +14 -0
  982. package/dist/types/containers/ProjectTreeTable/constants.d.ts +2 -0
  983. package/dist/types/containers/ProjectTreeTable/context/ColumnSettingsContext.d.ts +10 -0
  984. package/dist/types/containers/ProjectTreeTable/context/ProjectTableProvider.d.ts +2 -1
  985. package/dist/types/containers/ProjectTreeTable/context/SelectionCellsContext.d.ts +0 -1
  986. package/dist/types/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.d.ts +2 -1
  987. package/dist/types/containers/ProjectTreeTable/hooks/useFetchOverviewData.d.ts +2 -1
  988. package/dist/types/containers/ProjectTreeTable/hooks/useQueryFilters.d.ts +1 -1
  989. package/dist/types/containers/ProjectTreeTable/index.d.ts +1 -0
  990. package/dist/types/containers/ProjectTreeTable/types/index.d.ts +17 -1
  991. package/dist/types/containers/ProjectTreeTable/types/overviewContext.d.ts +2 -0
  992. package/dist/types/containers/ProjectTreeTable/types/summaryTypes.d.ts +50 -0
  993. package/dist/types/containers/ProjectTreeTable/types/table.d.ts +4 -0
  994. package/dist/types/containers/ProjectTreeTable/utils/checkColumnVisibility.d.ts +2 -0
  995. package/dist/types/containers/ProjectTreeTable/utils/index.d.ts +2 -0
  996. package/dist/types/containers/ProjectTreeTable/utils/pinningUtils.d.ts +6 -0
  997. package/dist/types/containers/ProjectTreeTable/utils/sanitizeQueryFilter.d.ts +2 -0
  998. package/dist/types/containers/ProjectTreeTable/widgets/ThumbnailWidget.d.ts +1 -1
  999. package/dist/types/containers/Views/hooks/useSelectedView.d.ts +2 -1
  1000. package/dist/types/containers/Views/utils/viewUpdateHelper.d.ts +7 -3
  1001. package/dist/types/util/getThumbnailUrl.d.ts +18 -0
  1002. package/dist/types/util/index.d.ts +2 -0
  1003. package/dist/types/util/thumbnailWebsocket.d.ts +21 -0
  1004. package/dist/util.cjs.js +1 -1
  1005. package/dist/util.es.js +35 -30
  1006. package/dist/util.es.js.map +1 -1
  1007. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"updateOverview.es.js","sources":["../../../../../../src/api/queries/overview/updateOverview.ts"],"sourcesContent":["import { foldersQueries } from '../folders'\nimport { detailsPanelQueries } from '../entities/getEntityPanel'\nimport { operationsApi } from '@shared/api/generated'\nimport { entityListsQueriesGql } from '../entityLists/updateLists'\nimport type {\n OperationsResponseModel,\n OperationModel,\n OperationsApiArg,\n} from '@shared/api/generated'\nimport getOverviewApi from './getOverview'\nimport { patchDetailsPanelEntity } from '@shared/api/queries/entities'\nimport { FetchBaseQueryError, RootState } from '@reduxjs/toolkit/query'\nimport { ThunkDispatch, UnknownAction } from '@reduxjs/toolkit'\nimport { EditorTaskNode } from '@shared/containers/ProjectTreeTable'\nimport { getUpdatedEntityIds } from './filterRefetchUtils'\nimport {\n refetchTasksForCacheEntry,\n refetchOverviewTasksForCacheEntry,\n} from './refetchFilteredEntities'\nimport { patchVersions } from './patchVersions'\nimport { patchProducts } from './patchProducts'\n// these operations are dedicated to the overview page\n// this mean cache updates are custom for the overview page here\n\n// Helper function to update entities with operation data\nconst updateEntityWithOperation = (entity: any, operationData: any) => {\n // Update top-level properties directly\n Object.keys(operationData).forEach((key) => {\n if (key === 'attrib' || key === 'links' || key === 'deleteLinks') return\n entity[key] = operationData[key]\n })\n\n // Handle attrib merging\n if (operationData.attrib) {\n entity.attrib = {\n ...entity.attrib,\n ...operationData.attrib,\n }\n }\n\n // Handle links merging\n if (operationData.links) {\n const existingLinks = entity.links || []\n const newLinks = operationData.links || []\n\n // Ensure links structure exists\n if (!entity.links) entity.links = []\n\n // Process links directly\n entity.links = [...existingLinks]\n\n newLinks.forEach((newLink: any) => {\n const existingIndex = entity.links.findIndex((link: any) => link.id === newLink.id)\n\n if (existingIndex !== -1) {\n entity.links[existingIndex] = { ...entity.links[existingIndex], ...newLink }\n } else {\n entity.links.push(newLink)\n }\n })\n }\n\n // Handle links deletion\n if (operationData.deleteLinks) {\n const linksToDelete = operationData.deleteLinks || []\n\n // Ensure links structure exists\n if (!entity.links) entity.links = []\n\n // Remove links by ID\n linksToDelete.forEach((linkId: string) => {\n entity.links = entity.links.filter((link: any) => link.id !== linkId)\n })\n }\n}\n\nconst getOverviewTaskTags = (tasks: Pick<OperationModel, 'entityId' | 'data'>[]) => {\n return [\n { type: 'overviewTask', id: 'LIST' },\n ...tasks.map((op) => ({ type: 'overviewTask', id: op.entityId })),\n // we also add the projectName so that tasks that do not exist in the cache can still invalidate\n ...tasks\n .filter((op) => op.data?.projectName)\n .map((op) => ({\n type: 'overviewTask',\n id: op.data?.projectName,\n })),\n ]\n}\n\nconst getOverviewFolderTags = (folders: Pick<OperationModel, 'entityId' | 'data'>[]) => {\n return [\n ...folders.map((op) => ({ type: 'folder', id: op.entityId })),\n // we also add the projectName so that tasks that do not exist in the cache can still invalidate\n ...folders\n .filter((op) => op.data?.projectName)\n .map((op) => ({\n type: 'folder',\n id: op.data?.projectName,\n })),\n ]\n}\n\nexport type PatchOperation = Pick<OperationModel, 'entityId' | 'entityType' | 'data'> & {\n type?: OperationModel['type']\n}\n\n// Helper function to create a patch operation for deleting links\nexport const createLinkDeletionPatch = (\n entityId: string,\n entityType: OperationModel['entityType'],\n linkIds: string[],\n): PatchOperation => {\n return {\n entityId,\n entityType,\n type: 'update',\n data: { deleteLinks: linkIds },\n }\n}\n\n// Utility function to delete specific links by ID from entities\nexport const deleteLinksFromEntities = (\n entities: { entityId: string; entityType: OperationModel['entityType'] }[],\n linkIds: string[],\n): PatchOperation[] => {\n return entities.map((entity) =>\n createLinkDeletionPatch(entity.entityId, entity.entityType, linkIds),\n )\n}\n\n// Generic helper function to patch entities based on their type\nexport const patchOverviewEntities = (\n entities: PatchOperation[],\n {\n state,\n dispatch,\n }: {\n state: RootState<any, any, 'restApi'>\n dispatch: ThunkDispatch<any, any, UnknownAction>\n },\n patches?: any[],\n) => {\n // Group entities by type\n const entitiesByType = entities.reduce((acc, entity) => {\n if (!acc[entity.entityType]) {\n acc[entity.entityType] = []\n }\n acc[entity.entityType].push(entity)\n return acc\n }, {} as Record<string, PatchOperation[]>)\n\n // Patch each entity type using the appropriate function\n if (entitiesByType.task) {\n patchOverviewTasks(entitiesByType.task, { state, dispatch }, patches)\n }\n if (entitiesByType.folder) {\n patchOverviewFolders(entitiesByType.folder, { state, dispatch }, patches)\n }\n // Add more entity types as needed\n // if (entitiesByType.product) { ... }\n // if (entitiesByType.version) { ... }\n // etc.\n}\n\nexport const patchOverviewTasks = (\n tasks: PatchOperation[],\n {\n state,\n dispatch,\n }: {\n state: RootState<any, any, 'restApi'>\n dispatch: ThunkDispatch<any, any, UnknownAction>\n },\n patches?: any[],\n) => {\n const tags = getOverviewTaskTags(tasks)\n const taskEntries = getOverviewApi.util.selectInvalidatedBy(state, tags)\n\n for (const entry of taskEntries) {\n if (entry.endpointName === 'getTasksListInfinite') {\n // patch getTasksListInfinite\n const tasksPatch = dispatch(\n getOverviewApi.util.updateQueryData('getTasksListInfinite', entry.originalArgs, (draft) => {\n // Apply each change to matching tasks in all pages\n for (const taskOperation of tasks) {\n if (taskOperation.type === 'create' && taskOperation.data) {\n // push operation data to first page\n // @ts-expect-error\n draft.pages[0].tasks.push(taskOperation.data)\n } else {\n // Iterate through all pages in the infinite query\n for (const page of draft.pages) {\n // TODO: task is not found here, why?\n const task = page.tasks.find((task) => task.id === taskOperation.entityId)\n if (task) {\n updateEntityWithOperation(task, taskOperation.data)\n }\n }\n }\n }\n }),\n )\n\n // add the patch to the list of patches\n patches?.push(tasksPatch)\n } else {\n // this updates the main overview cache task\n // it also updates any GetTasksByParent caches\n const tasksPatch = dispatch(\n getOverviewApi.util.updateQueryData(\n entry.endpointName as 'getOverviewTasksByFolders' | 'GetTasksByParent' | 'GetTasksList',\n entry.originalArgs,\n (draft) => {\n // Apply each change to matching tasks in the cache\n for (const taskOperation of tasks) {\n if (\n taskOperation.type === 'create' &&\n taskOperation.data &&\n entry.originalArgs.parentIds?.includes(taskOperation.data.folderId)\n ) {\n const patchTask = (tasksArrayDraft: EditorTaskNode[]) => {\n // @ts-expect-error\n tasksArrayDraft.push(taskOperation.data)\n }\n\n // Check if draft is an array or an object with a tasks property\n if (Array.isArray(draft)) {\n patchTask(draft)\n } else if (draft.tasks && Array.isArray(draft.tasks)) {\n // Handle object with tasks array case (like in GetTasksList)\n const draftArray = draft.tasks\n patchTask(draftArray)\n }\n } else {\n const patchTask = (tasksArrayDraft: EditorTaskNode[]) => {\n const task = tasksArrayDraft.find((task) => task.id === taskOperation.entityId)\n if (task) {\n updateEntityWithOperation(task, taskOperation.data)\n }\n }\n\n // Check if draft is an array or an object with a tasks property\n if (Array.isArray(draft)) {\n patchTask(draft)\n } else if (draft.tasks && Array.isArray(draft.tasks)) {\n // Handle object with tasks array case (like in GetTasksList)\n const draftArray = draft.tasks\n patchTask(draftArray)\n }\n }\n }\n },\n ),\n )\n // add the patch to the list of patches\n patches?.push(tasksPatch)\n }\n }\n}\n\nconst invalidateOverviewTasks = (\n tasks: PatchOperation[],\n {\n dispatch,\n }: {\n dispatch: ThunkDispatch<any, any, UnknownAction>\n },\n) => {\n if (!tasks.length) return\n dispatch(getOverviewApi.util.invalidateTags(getOverviewTaskTags(tasks)))\n}\n\nexport const patchOverviewFolders = (\n folders: PatchOperation[],\n {\n state,\n dispatch,\n }: {\n state: RootState<any, any, 'restApi'>\n dispatch: ThunkDispatch<any, any, UnknownAction>\n },\n patches?: any[],\n) => {\n const folderEntries = foldersQueries.util\n .selectInvalidatedBy(state, getOverviewFolderTags(folders))\n .filter((entry) => entry.endpointName === 'getFolderList')\n for (const entry of folderEntries) {\n const folderPatch = dispatch(\n foldersQueries.util.updateQueryData(\n entry.endpointName as 'getFolderList',\n entry.originalArgs,\n (draft) => {\n // Create a Map for O(1) folder lookups\n const folderMap = new Map()\n draft.folders.forEach((folder) => {\n folderMap.set(folder.id, folder)\n })\n\n for (const folderOperation of folders) {\n if (folderOperation.type === 'create' && folderOperation.data) {\n // push operation data to first page\n // @ts-expect-error\n draft.folders.push(folderOperation.data)\n } else {\n const folder = folderMap.get(folderOperation.entityId)\n\n if (folder) {\n updateEntityWithOperation(folder, folderOperation.data)\n }\n }\n }\n },\n ),\n )\n // add the patch to the list of patches\n patches?.push(folderPatch)\n }\n}\n\nconst patchListItems = (\n entities: PatchOperation[],\n {\n state,\n dispatch,\n }: {\n state: RootState<any, any, 'restApi'>\n dispatch: ThunkDispatch<any, any, UnknownAction>\n },\n patches?: any[],\n) => {\n const tags = entities.map((op) => ({ type: 'entityListItem', id: op.entityId }))\n const entries = entityListsQueriesGql.util.selectInvalidatedBy(state, tags)\n\n for (const entry of entries) {\n if (entry.endpointName === 'getListItemsInfinite') {\n const listItemsPatch = dispatch(\n entityListsQueriesGql.util.updateQueryData(\n 'getListItemsInfinite',\n entry.originalArgs,\n (draft) => {\n // Apply each change to matching tasks in all pages\n for (const listOperation of entities) {\n if (listOperation.type === 'update' && listOperation.data) {\n // Iterate through all pages in the infinite query\n for (const page of draft.pages) {\n const item = page.items.find((item) => item.entityId === listOperation.entityId)\n if (item) {\n updateEntityWithOperation(item, listOperation.data)\n }\n }\n }\n }\n },\n ),\n )\n\n // add the patch to the list of patches\n patches?.push(listItemsPatch)\n }\n }\n}\n\nconst splitByOpType = (operations: OperationModel[]) => {\n return operations.reduce(\n (acc: Record<OperationModel['type'], OperationModel[]>, operation) => {\n acc[operation.type].push(operation)\n return acc\n },\n {\n create: [],\n update: [],\n delete: [],\n },\n )\n}\n\nconst operationsEnhanced = operationsApi.enhanceEndpoints({\n endpoints: {\n operations: {},\n },\n})\n\n// enhance the argument type to include some extra fields\ninterface UpdateOverviewEntitiesArg extends OperationsApiArg {\n patchOperations?: PatchOperation[] // extra entities to patch\n}\n\nconst operationsApiEnhancedInjected = operationsEnhanced.injectEndpoints({\n endpoints: (build) => ({\n updateOverviewEntities: build.mutation<\n OperationsResponseModel | undefined,\n UpdateOverviewEntitiesArg\n >({\n async queryFn(arg, { dispatch }) {\n try {\n const result = await dispatch(operationsEnhanced.endpoints.operations.initiate(arg))\n\n // Check if the network request itself failed (offline, timeout, etc.)\n if (result.error) {\n return { error: result.error as FetchBaseQueryError }\n }\n\n const data = result.data\n // check for any errors in the result\n const uniqueErrors = new Set()\n const uniqueErrorCodes = new Set()\n for (const op of data?.operations || []) {\n if (op.success === false && op.detail) {\n if (!uniqueErrors.has(op.detail)) {\n uniqueErrors.add(op.detail)\n }\n if (!uniqueErrorCodes.has(op.errorCode)) {\n uniqueErrorCodes.add(op.errorCode)\n }\n }\n }\n\n if (uniqueErrors.size > 0) {\n const error = {\n status: 'FETCH_ERROR',\n error: Array.from(uniqueErrors).join(', '),\n errorCodes: Array.from(uniqueErrorCodes),\n } as FetchBaseQueryError\n return { error }\n } else {\n return { data }\n }\n } catch (e: any) {\n console.error(e)\n const error = { status: 'FETCH_ERROR', error: e.message } as FetchBaseQueryError\n return { error }\n }\n },\n async onQueryStarted(\n { operationsRequestModel, patchOperations = [], projectName },\n { dispatch, queryFulfilled, getState },\n ) {\n if (!operationsRequestModel.operations?.length) return\n const { operations } = operationsRequestModel\n // we need to split the operations by entity type\n const operationsByType = operations.reduce(\n (acc: Record<OperationModel['entityType'], OperationModel[]>, operation) => {\n acc[operation.entityType].push(operation)\n return acc\n },\n {\n task: [],\n folder: [],\n product: [],\n version: [],\n representation: [],\n workfile: [],\n },\n )\n\n // collect patches incase we need to undo them\n const state = getState()\n const patches: any[] = []\n\n // patch the overview tasks\n if (operationsByType.task?.length) {\n // split operations by operation type\n const { delete: deleteOps, update } = splitByOpType(operationsByType.task)\n // filter out updates that are in updateToPatch as we patch them later on\n const updatesToPatch = update.filter(\n (op) => !patchOperations.some((dep) => dep.entityId === op.entityId),\n )\n // update existing tasks\n patchOverviewTasks(updatesToPatch, { state, dispatch }, patches)\n // invalidate the caches for tasks being created and deleted\n invalidateOverviewTasks([...deleteOps], {\n dispatch,\n })\n }\n\n // patch the overview folders (any other folders from foldersList)\n if (operationsByType.folder?.length) {\n // split operations by operation type\n const { delete: deleteOps, update } = splitByOpType(operationsByType.folder)\n // filter out updates that are in updateToPatch as we patch them later on\n const updatesToPatch = update.filter(\n (op) => !patchOperations.some((dep) => dep.entityId === op.entityId),\n )\n // update existing folders\n patchOverviewFolders(updatesToPatch, { state, dispatch }, patches)\n // invalidate the caches for folders being created and deleted\n if (deleteOps.length) {\n dispatch(foldersQueries.util.invalidateTags([{ type: 'folder', id: 'LIST' }]))\n }\n }\n\n const patchExtraTasks = patchOperations.filter((op) => op.entityType === 'task')\n const patchExtraFolders = patchOperations.filter((op) => op.entityType === 'folder')\n\n if (patchExtraTasks.length) {\n // often used for updating inherited dependents\n patchOverviewTasks(patchExtraTasks, { state, dispatch }, patches)\n }\n\n if (patchExtraFolders.length) {\n // often used for updating inherited dependents\n patchOverviewFolders(patchExtraFolders, { state, dispatch }, patches)\n }\n\n // patch the list items\n patchListItems([...operations, ...patchOperations], { state, dispatch }, patches)\n\n // patch versions\n if (operationsByType.version?.length) {\n patchVersions(operationsByType.version, { state, dispatch }, patches)\n }\n\n // patch products\n if (operationsByType.product?.length) {\n patchProducts(operationsByType.product, { state, dispatch }, patches)\n }\n\n // try to patch any details panels\n // first we patch the individual entities\n // then we patch the details panel cache\n const entityTags = operations.map((op) => ({\n id: op.entityId,\n type: op.entityType,\n }))\n const entitiesTags = entityTags.map((tag) => ({\n type: 'entities',\n id: tag.id,\n }))\n\n // invalidates the details panel cache so that it fetches all individual entities again (using it's updated cache)\n const invalidateEntryPanel = () =>\n dispatch(detailsPanelQueries.util.invalidateTags(entitiesTags))\n\n // the individual entities that are patched for the details panel\n // remember the details panel cache is made up of individual entity caches\n const detailsPanelEntityCaches = detailsPanelQueries.util.selectInvalidatedBy(\n state,\n entityTags,\n )\n\n // the cache for the whole details panel\n const detailsPanelEntitiesCaches = detailsPanelQueries.util.selectInvalidatedBy(\n state,\n entitiesTags,\n )\n\n for (const entry of detailsPanelEntitiesCaches) {\n if (entry.endpointName !== 'getEntitiesDetailsPanel') continue\n const entitiesDetailsResult = dispatch(\n detailsPanelQueries.util.updateQueryData(\n entry.endpointName as 'getEntitiesDetailsPanel',\n entry.originalArgs,\n (draft) => {\n for (const entity of draft) {\n patchDetailsPanelEntity(operations, entity)\n }\n },\n ),\n )\n\n // add the patch to the list of patches\n patches.push(entitiesDetailsResult)\n }\n\n try {\n await queryFulfilled\n\n // Background refetch logic - runs after successful mutation\n // This ensures calculated attributes are up-to-date and entities are correctly filtered\n\n const taskOperations = operationsByType.task || []\n const folderOperations = operationsByType.folder || []\n\n // Early exit if no operations\n if (taskOperations.length === 0 && folderOperations.length === 0) {\n return\n }\n\n // Extract updated entity IDs (always needed for refetch)\n const updatedTaskIds = getUpdatedEntityIds(taskOperations)\n const updatedFolderIds = getUpdatedEntityIds(folderOperations)\n\n // Get all active task list cache entries\n const overviewTaskTags = updatedTaskIds.map((id) => ({ type: 'overviewTask', id }))\n const tasksListInfiniteEntries = getOverviewApi.util\n .selectInvalidatedBy(state, overviewTaskTags)\n .filter((entry) => entry.endpointName === 'getTasksListInfinite')\n\n // Requirement: \"refetch the full data for the specific entity/entities\"\n // For each cache with its own filter, fetch entities and update that cache\n if (updatedTaskIds.length > 0 && projectName) {\n // Process getTasksListInfinite caches\n for (const entry of tasksListInfiniteEntries) {\n await refetchTasksForCacheEntry({\n dispatch,\n projectName,\n updatedTaskIds,\n cacheEntry: entry,\n })\n }\n\n // Process getOverviewTasksByFolders caches\n // Use selectInvalidatedBy to get only caches that contain the updated tasks\n const overviewTasksEntries = getOverviewApi.util\n .selectInvalidatedBy(state, overviewTaskTags)\n .filter((entry) => entry.endpointName === 'getOverviewTasksByFolders')\n\n for (const entry of overviewTasksEntries) {\n await refetchOverviewTasksForCacheEntry({\n dispatch,\n projectName,\n updatedTaskIds,\n cacheEntry: entry,\n })\n }\n }\n\n // Always refetch folders if they were updated (for calculated attributes)\n // Not conditional on affectsFilter - requirement says \"always refetch entities\"\n // Only invalidate if we haven't already done so for delete operations\n const hasDeleteOps = (operationsByType.folder || []).some(\n (op: OperationModel) => op.type === 'delete',\n )\n if (updatedFolderIds.length > 0 && projectName && !hasDeleteOps) {\n dispatch(foldersQueries.util.invalidateTags([{ type: 'folder', id: 'LIST' }]))\n }\n } catch (error) {\n // undo all patches if there is an error\n for (const patch of patches) {\n patch.undo()\n }\n\n if (detailsPanelEntityCaches.length) {\n // we invalidate the tags for the detailsPanelEntityCaches that were patched\n // invalidate the details panel cache\n invalidateEntryPanel()\n }\n }\n },\n invalidatesTags: (_r, _e, { operationsRequestModel, projectName }) => {\n type Tags = { id: string; type: string }[]\n const userDashboardTags: Tags = [{ type: 'kanban', id: 'project-' + projectName }],\n taskProgressTags: Tags = [],\n entityListItemTags: Tags = [],\n tasksFolderTags: Tags = []\n\n let hasAttribOp = false\n operationsRequestModel.operations?.forEach((op) => {\n const { entityId } = op\n if (entityId) {\n taskProgressTags.push({ type: 'progress', id: entityId })\n // Invalidate list item cache for this entity to trigger background refetch\n entityListItemTags.push({ type: 'entityListItem', id: entityId })\n } else {\n // new entity created, so we should invalidate everything\n taskProgressTags.push({ type: 'progress', id: 'LIST' })\n }\n if ((op.data as any)?.attrib) hasAttribOp = true\n })\n\n if (hasAttribOp) {\n tasksFolderTags.push({ type: 'tasksFolder', id: projectName })\n }\n\n return [\n ...userDashboardTags,\n ...taskProgressTags,\n ...entityListItemTags,\n ...tasksFolderTags,\n ]\n },\n }),\n }),\n})\n\nexport const { useUpdateOverviewEntitiesMutation } = operationsApiEnhancedInjected\n"],"names":["updateEntityWithOperation","entity","operationData","key","existingLinks","newLinks","newLink","existingIndex","link","linksToDelete","linkId","getOverviewTaskTags","tasks","op","getOverviewFolderTags","folders","createLinkDeletionPatch","entityId","entityType","linkIds","deleteLinksFromEntities","entities","patchOverviewEntities","state","dispatch","patches","entitiesByType","acc","patchOverviewTasks","patchOverviewFolders","tags","taskEntries","getOverviewApi","entry","tasksPatch","draft","taskOperation","page","task","patchTask","tasksArrayDraft","draftArray","invalidateOverviewTasks","folderEntries","foldersQueries","folderPatch","folderMap","folder","folderOperation","patchListItems","entries","entityListsQueriesGql","listItemsPatch","listOperation","item","splitByOpType","operations","operation","operationsEnhanced","operationsApi","operationsApiEnhancedInjected","build","arg","result","data","uniqueErrors","uniqueErrorCodes","e","operationsRequestModel","patchOperations","projectName","queryFulfilled","getState","operationsByType","deleteOps","update","updatesToPatch","dep","patchExtraTasks","patchExtraFolders","patchVersions","patchProducts","entityTags","entitiesTags","tag","invalidateEntryPanel","detailsPanelQueries","detailsPanelEntityCaches","detailsPanelEntitiesCaches","entitiesDetailsResult","patchDetailsPanelEntity","taskOperations","folderOperations","updatedTaskIds","getUpdatedEntityIds","updatedFolderIds","overviewTaskTags","id","tasksListInfiniteEntries","refetchTasksForCacheEntry","overviewTasksEntries","refetchOverviewTasksForCacheEntry","hasDeleteOps","patch","_r","_e","userDashboardTags","taskProgressTags","entityListItemTags","tasksFolderTags","hasAttribOp","useUpdateOverviewEntitiesMutation"],"mappings":"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"}
1
+ {"version":3,"file":"updateOverview.es.js","sources":["../../../../../../src/api/queries/overview/updateOverview.ts"],"sourcesContent":["import { foldersQueries } from '../folders'\nimport { detailsPanelQueries } from '../entities/getEntityPanel'\nimport { operationsApi } from '@shared/api/generated'\nimport { entityListsQueriesGql } from '../entityLists/updateLists'\nimport type {\n OperationsResponseModel,\n OperationModel,\n OperationsApiArg,\n} from '@shared/api/generated'\nimport getOverviewApi from './getOverview'\nimport { patchDetailsPanelEntity } from '@shared/api/queries/entities'\nimport { FetchBaseQueryError, RootState } from '@reduxjs/toolkit/query'\nimport { ThunkDispatch, UnknownAction } from '@reduxjs/toolkit'\nimport { EditorTaskNode } from '@shared/containers/ProjectTreeTable'\nimport { getUpdatedEntityIds } from './filterRefetchUtils'\nimport {\n refetchTasksForCacheEntry,\n refetchOverviewTasksForCacheEntry,\n} from './refetchFilteredEntities'\nimport { patchVersions } from './patchVersions'\nimport { patchProducts } from './patchProducts'\n// these operations are dedicated to the overview page\n// this mean cache updates are custom for the overview page here\n\n// Helper function to update entities with operation data\nconst updateEntityWithOperation = (entity: any, operationData: any) => {\n // Update top-level properties directly\n Object.keys(operationData).forEach((key) => {\n if (key === 'attrib' || key === 'links' || key === 'deleteLinks') return\n entity[key] = operationData[key]\n })\n\n // Handle attrib merging\n if (operationData.attrib) {\n entity.attrib = {\n ...entity.attrib,\n ...operationData.attrib,\n }\n }\n\n // Handle links merging\n if (operationData.links) {\n const existingLinks = entity.links || []\n const newLinks = operationData.links || []\n\n // Ensure links structure exists\n if (!entity.links) entity.links = []\n\n // Process links directly\n entity.links = [...existingLinks]\n\n newLinks.forEach((newLink: any) => {\n const existingIndex = entity.links.findIndex((link: any) => link.id === newLink.id)\n\n if (existingIndex !== -1) {\n entity.links[existingIndex] = { ...entity.links[existingIndex], ...newLink }\n } else {\n entity.links.push(newLink)\n }\n })\n }\n\n // Handle links deletion\n if (operationData.deleteLinks) {\n const linksToDelete = operationData.deleteLinks || []\n\n // Ensure links structure exists\n if (!entity.links) entity.links = []\n\n // Remove links by ID\n linksToDelete.forEach((linkId: string) => {\n entity.links = entity.links.filter((link: any) => link.id !== linkId)\n })\n }\n}\n\nconst getOverviewTaskTags = (tasks: Pick<OperationModel, 'entityId' | 'data'>[]) => {\n return [\n { type: 'overviewTask', id: 'LIST' },\n ...tasks.map((op) => ({ type: 'overviewTask', id: op.entityId })),\n // we also add the projectName so that tasks that do not exist in the cache can still invalidate\n ...tasks\n .filter((op) => op.data?.projectName)\n .map((op) => ({\n type: 'overviewTask',\n id: op.data?.projectName,\n })),\n ]\n}\n\nconst getOverviewFolderTags = (folders: Pick<OperationModel, 'entityId' | 'data'>[]) => {\n return [\n ...folders.map((op) => ({ type: 'folder', id: op.entityId })),\n // we also add the projectName so that tasks that do not exist in the cache can still invalidate\n ...folders\n .filter((op) => op.data?.projectName)\n .map((op) => ({\n type: 'folder',\n id: op.data?.projectName,\n })),\n ]\n}\n\nexport type PatchOperation = Pick<OperationModel, 'entityId' | 'entityType' | 'data'> & {\n type?: OperationModel['type']\n}\n\n// Helper function to create a patch operation for deleting links\nexport const createLinkDeletionPatch = (\n entityId: string,\n entityType: OperationModel['entityType'],\n linkIds: string[],\n): PatchOperation => {\n return {\n entityId,\n entityType,\n type: 'update',\n data: { deleteLinks: linkIds },\n }\n}\n\n// Utility function to delete specific links by ID from entities\nexport const deleteLinksFromEntities = (\n entities: { entityId: string; entityType: OperationModel['entityType'] }[],\n linkIds: string[],\n): PatchOperation[] => {\n return entities.map((entity) =>\n createLinkDeletionPatch(entity.entityId, entity.entityType, linkIds),\n )\n}\n\n// Generic helper function to patch entities based on their type\nexport const patchOverviewEntities = (\n entities: PatchOperation[],\n {\n state,\n dispatch,\n }: {\n state: RootState<any, any, 'restApi'>\n dispatch: ThunkDispatch<any, any, UnknownAction>\n },\n patches?: any[],\n) => {\n // Group entities by type\n const entitiesByType = entities.reduce((acc, entity) => {\n if (!acc[entity.entityType]) {\n acc[entity.entityType] = []\n }\n acc[entity.entityType].push(entity)\n return acc\n }, {} as Record<string, PatchOperation[]>)\n\n // Patch each entity type using the appropriate function\n if (entitiesByType.task) {\n patchOverviewTasks(entitiesByType.task, { state, dispatch }, patches)\n }\n if (entitiesByType.folder) {\n patchOverviewFolders(entitiesByType.folder, { state, dispatch }, patches)\n }\n // Add more entity types as needed\n // if (entitiesByType.product) { ... }\n // if (entitiesByType.version) { ... }\n // etc.\n}\n\nexport const patchOverviewTasks = (\n tasks: PatchOperation[],\n {\n state,\n dispatch,\n }: {\n state: RootState<any, any, 'restApi'>\n dispatch: ThunkDispatch<any, any, UnknownAction>\n },\n patches?: any[],\n) => {\n const tags = getOverviewTaskTags(tasks)\n const taskEntries = getOverviewApi.util.selectInvalidatedBy(state, tags)\n\n for (const entry of taskEntries) {\n if (entry.endpointName === 'getTasksListInfinite') {\n // patch getTasksListInfinite\n const tasksPatch = dispatch(\n getOverviewApi.util.updateQueryData('getTasksListInfinite', entry.originalArgs, (draft) => {\n // Apply each change to matching tasks in all pages\n for (const taskOperation of tasks) {\n if (taskOperation.type === 'create' && taskOperation.data) {\n // push operation data to first page\n // @ts-expect-error\n draft.pages[0].tasks.push(taskOperation.data)\n } else {\n // Iterate through all pages in the infinite query\n for (const page of draft.pages) {\n // TODO: task is not found here, why?\n const task = page.tasks.find((task) => task.id === taskOperation.entityId)\n if (task) {\n updateEntityWithOperation(task, taskOperation.data)\n }\n }\n }\n }\n }),\n )\n\n // add the patch to the list of patches\n patches?.push(tasksPatch)\n } else {\n // this updates the main overview cache task\n // it also updates any GetTasksByParent caches\n const tasksPatch = dispatch(\n getOverviewApi.util.updateQueryData(\n entry.endpointName as 'getOverviewTasksByFolders' | 'GetTasksByParent' | 'GetTasksList',\n entry.originalArgs,\n (draft) => {\n // Apply each change to matching tasks in the cache\n for (const taskOperation of tasks) {\n if (\n taskOperation.type === 'create' &&\n taskOperation.data &&\n entry.originalArgs.parentIds?.includes(taskOperation.data.folderId)\n ) {\n const patchTask = (tasksArrayDraft: EditorTaskNode[]) => {\n // @ts-expect-error\n tasksArrayDraft.push(taskOperation.data)\n }\n\n // Check if draft is an array or an object with a tasks property\n if (Array.isArray(draft)) {\n patchTask(draft)\n } else if (draft.tasks && Array.isArray(draft.tasks)) {\n // Handle object with tasks array case (like in GetTasksList)\n const draftArray = draft.tasks\n patchTask(draftArray)\n }\n } else {\n const patchTask = (tasksArrayDraft: EditorTaskNode[]) => {\n const task = tasksArrayDraft.find((task) => task.id === taskOperation.entityId)\n if (task) {\n updateEntityWithOperation(task, taskOperation.data)\n }\n }\n\n // Check if draft is an array or an object with a tasks property\n if (Array.isArray(draft)) {\n patchTask(draft)\n } else if (draft.tasks && Array.isArray(draft.tasks)) {\n // Handle object with tasks array case (like in GetTasksList)\n const draftArray = draft.tasks\n patchTask(draftArray)\n }\n }\n }\n },\n ),\n )\n // add the patch to the list of patches\n patches?.push(tasksPatch)\n }\n }\n}\n\nconst invalidateOverviewTasks = (\n tasks: PatchOperation[],\n {\n dispatch,\n }: {\n dispatch: ThunkDispatch<any, any, UnknownAction>\n },\n) => {\n if (!tasks.length) return\n dispatch(getOverviewApi.util.invalidateTags(getOverviewTaskTags(tasks)))\n}\n\n// Debounced, per-project invalidation of the footer stats caches after entity ops.\ntype StatsTagType =\n | 'folderColumnStats'\n | 'taskColumnStats'\n | 'productColumnStats'\n | 'versionColumnStats'\n | 'entityListItemsColumnStats'\nconst statsRefetchTimers = new Map<string, ReturnType<typeof setTimeout>>()\nconst scheduleStatsRefetch = (\n dispatch: ThunkDispatch<any, any, UnknownAction>,\n projectName: string,\n tagTypes: StatsTagType[],\n) => {\n const key = `${projectName}:${tagTypes.join()}`\n const existing = statsRefetchTimers.get(key)\n if (existing) clearTimeout(existing)\n statsRefetchTimers.set(\n key,\n setTimeout(() => {\n statsRefetchTimers.delete(key)\n dispatch(\n getOverviewApi.util.invalidateTags(\n tagTypes.map((type) => ({ type, id: projectName })),\n ),\n )\n }, 500),\n )\n}\n\nexport const patchOverviewFolders = (\n folders: PatchOperation[],\n {\n state,\n dispatch,\n }: {\n state: RootState<any, any, 'restApi'>\n dispatch: ThunkDispatch<any, any, UnknownAction>\n },\n patches?: any[],\n) => {\n const folderEntries = foldersQueries.util\n .selectInvalidatedBy(state, getOverviewFolderTags(folders))\n .filter((entry) => entry.endpointName === 'getFolderList')\n for (const entry of folderEntries) {\n const folderPatch = dispatch(\n foldersQueries.util.updateQueryData(\n entry.endpointName as 'getFolderList',\n entry.originalArgs,\n (draft) => {\n // Create a Map for O(1) folder lookups\n const folderMap = new Map()\n draft.folders.forEach((folder) => {\n folderMap.set(folder.id, folder)\n })\n\n for (const folderOperation of folders) {\n if (folderOperation.type === 'create' && folderOperation.data) {\n // push operation data to first page\n // @ts-expect-error\n draft.folders.push(folderOperation.data)\n } else {\n const folder = folderMap.get(folderOperation.entityId)\n\n if (folder) {\n updateEntityWithOperation(folder, folderOperation.data)\n }\n }\n }\n },\n ),\n )\n // add the patch to the list of patches\n patches?.push(folderPatch)\n }\n}\n\nconst patchListItems = (\n entities: PatchOperation[],\n {\n state,\n dispatch,\n }: {\n state: RootState<any, any, 'restApi'>\n dispatch: ThunkDispatch<any, any, UnknownAction>\n },\n patches?: any[],\n) => {\n const tags = entities.map((op) => ({ type: 'entityListItem', id: op.entityId }))\n const entries = entityListsQueriesGql.util.selectInvalidatedBy(state, tags)\n\n for (const entry of entries) {\n if (entry.endpointName === 'getListItemsInfinite') {\n const listItemsPatch = dispatch(\n entityListsQueriesGql.util.updateQueryData(\n 'getListItemsInfinite',\n entry.originalArgs,\n (draft) => {\n // Apply each change to matching tasks in all pages\n for (const listOperation of entities) {\n if (listOperation.type === 'update' && listOperation.data) {\n // Iterate through all pages in the infinite query\n for (const page of draft.pages) {\n const item = page.items.find((item) => item.entityId === listOperation.entityId)\n if (item) {\n updateEntityWithOperation(item, listOperation.data)\n }\n }\n }\n }\n },\n ),\n )\n\n // add the patch to the list of patches\n patches?.push(listItemsPatch)\n }\n }\n}\n\nconst splitByOpType = (operations: OperationModel[]) => {\n return operations.reduce(\n (acc: Record<OperationModel['type'], OperationModel[]>, operation) => {\n acc[operation.type].push(operation)\n return acc\n },\n {\n create: [],\n update: [],\n delete: [],\n },\n )\n}\n\nconst operationsEnhanced = operationsApi.enhanceEndpoints({\n endpoints: {\n operations: {},\n },\n})\n\n// enhance the argument type to include some extra fields\ninterface UpdateOverviewEntitiesArg extends OperationsApiArg {\n patchOperations?: PatchOperation[] // extra entities to patch\n}\n\nconst operationsApiEnhancedInjected = operationsEnhanced.injectEndpoints({\n endpoints: (build) => ({\n updateOverviewEntities: build.mutation<\n OperationsResponseModel | undefined,\n UpdateOverviewEntitiesArg\n >({\n async queryFn(arg, { dispatch }) {\n try {\n const result = await dispatch(operationsEnhanced.endpoints.operations.initiate(arg))\n\n // Check if the network request itself failed (offline, timeout, etc.)\n if (result.error) {\n return { error: result.error as FetchBaseQueryError }\n }\n\n const data = result.data\n // check for any errors in the result\n const uniqueErrors = new Set()\n const uniqueErrorCodes = new Set()\n for (const op of data?.operations || []) {\n if (op.success === false && op.detail) {\n if (!uniqueErrors.has(op.detail)) {\n uniqueErrors.add(op.detail)\n }\n if (!uniqueErrorCodes.has(op.errorCode)) {\n uniqueErrorCodes.add(op.errorCode)\n }\n }\n }\n\n if (uniqueErrors.size > 0) {\n const error = {\n status: 'FETCH_ERROR',\n error: Array.from(uniqueErrors).join(', '),\n errorCodes: Array.from(uniqueErrorCodes),\n } as FetchBaseQueryError\n return { error }\n } else {\n return { data }\n }\n } catch (e: any) {\n console.error(e)\n const error = { status: 'FETCH_ERROR', error: e.message } as FetchBaseQueryError\n return { error }\n }\n },\n async onQueryStarted(\n { operationsRequestModel, patchOperations = [], projectName },\n { dispatch, queryFulfilled, getState },\n ) {\n if (!operationsRequestModel.operations?.length) return\n const { operations } = operationsRequestModel\n // we need to split the operations by entity type\n const operationsByType = operations.reduce(\n (acc: Record<OperationModel['entityType'], OperationModel[]>, operation) => {\n acc[operation.entityType].push(operation)\n return acc\n },\n {\n task: [],\n folder: [],\n product: [],\n version: [],\n representation: [],\n workfile: [],\n },\n )\n\n // collect patches incase we need to undo them\n const state = getState()\n const patches: any[] = []\n\n // patch the overview tasks\n if (operationsByType.task?.length) {\n // split operations by operation type\n const { delete: deleteOps, update } = splitByOpType(operationsByType.task)\n // filter out updates that are in updateToPatch as we patch them later on\n const updatesToPatch = update.filter(\n (op) => !patchOperations.some((dep) => dep.entityId === op.entityId),\n )\n // update existing tasks\n patchOverviewTasks(updatesToPatch, { state, dispatch }, patches)\n // invalidate the caches for tasks being created and deleted\n invalidateOverviewTasks([...deleteOps], {\n dispatch,\n })\n }\n\n // patch the overview folders (any other folders from foldersList)\n if (operationsByType.folder?.length) {\n // split operations by operation type\n const { delete: deleteOps, update } = splitByOpType(operationsByType.folder)\n // filter out updates that are in updateToPatch as we patch them later on\n const updatesToPatch = update.filter(\n (op) => !patchOperations.some((dep) => dep.entityId === op.entityId),\n )\n // update existing folders\n patchOverviewFolders(updatesToPatch, { state, dispatch }, patches)\n // invalidate the caches for folders being created and deleted\n if (deleteOps.length) {\n dispatch(foldersQueries.util.invalidateTags([{ type: 'folder', id: 'LIST' }]))\n }\n }\n\n const patchExtraTasks = patchOperations.filter((op) => op.entityType === 'task')\n const patchExtraFolders = patchOperations.filter((op) => op.entityType === 'folder')\n\n if (patchExtraTasks.length) {\n // often used for updating inherited dependents\n patchOverviewTasks(patchExtraTasks, { state, dispatch }, patches)\n }\n\n if (patchExtraFolders.length) {\n // often used for updating inherited dependents\n patchOverviewFolders(patchExtraFolders, { state, dispatch }, patches)\n }\n\n // patch the list items\n patchListItems([...operations, ...patchOperations], { state, dispatch }, patches)\n\n // patch versions\n if (operationsByType.version?.length) {\n patchVersions(operationsByType.version, { state, dispatch }, patches)\n }\n\n // patch products\n if (operationsByType.product?.length) {\n patchProducts(operationsByType.product, { state, dispatch }, patches)\n }\n\n // try to patch any details panels\n // first we patch the individual entities\n // then we patch the details panel cache\n const entityTags = operations.map((op) => ({\n id: op.entityId,\n type: op.entityType,\n }))\n const entitiesTags = entityTags.map((tag) => ({\n type: 'entities',\n id: tag.id,\n }))\n\n // invalidates the details panel cache so that it fetches all individual entities again (using it's updated cache)\n const invalidateEntryPanel = () =>\n dispatch(detailsPanelQueries.util.invalidateTags(entitiesTags))\n\n // the individual entities that are patched for the details panel\n // remember the details panel cache is made up of individual entity caches\n const detailsPanelEntityCaches = detailsPanelQueries.util.selectInvalidatedBy(\n state,\n entityTags,\n )\n\n // the cache for the whole details panel\n const detailsPanelEntitiesCaches = detailsPanelQueries.util.selectInvalidatedBy(\n state,\n entitiesTags,\n )\n\n for (const entry of detailsPanelEntitiesCaches) {\n if (entry.endpointName !== 'getEntitiesDetailsPanel') continue\n const entitiesDetailsResult = dispatch(\n detailsPanelQueries.util.updateQueryData(\n entry.endpointName as 'getEntitiesDetailsPanel',\n entry.originalArgs,\n (draft) => {\n for (const entity of draft) {\n patchDetailsPanelEntity(operations, entity)\n }\n },\n ),\n )\n\n // add the patch to the list of patches\n patches.push(entitiesDetailsResult)\n }\n\n try {\n await queryFulfilled\n\n // Background refetch logic - runs after successful mutation\n // This ensures calculated attributes are up-to-date and entities are correctly filtered\n\n const taskOperations = operationsByType.task || []\n const folderOperations = operationsByType.folder || []\n const versionOperations = operationsByType.version || []\n const productOperations = operationsByType.product || []\n\n if (projectName) {\n if (taskOperations.length || folderOperations.length) {\n scheduleStatsRefetch(dispatch, projectName, [\n 'folderColumnStats',\n 'taskColumnStats',\n 'entityListItemsColumnStats',\n ])\n }\n if (versionOperations.length || productOperations.length) {\n scheduleStatsRefetch(dispatch, projectName, [\n 'productColumnStats',\n 'versionColumnStats',\n 'entityListItemsColumnStats',\n ])\n }\n }\n\n // Early exit if no operations\n if (taskOperations.length === 0 && folderOperations.length === 0) {\n return\n }\n\n // Extract updated entity IDs (always needed for refetch)\n const updatedTaskIds = getUpdatedEntityIds(taskOperations)\n const updatedFolderIds = getUpdatedEntityIds(folderOperations)\n\n // Get all active task list cache entries\n const overviewTaskTags = updatedTaskIds.map((id) => ({ type: 'overviewTask', id }))\n const tasksListInfiniteEntries = getOverviewApi.util\n .selectInvalidatedBy(state, overviewTaskTags)\n .filter((entry) => entry.endpointName === 'getTasksListInfinite')\n\n // Requirement: \"refetch the full data for the specific entity/entities\"\n // For each cache with its own filter, fetch entities and update that cache\n if (updatedTaskIds.length > 0 && projectName) {\n // Process getTasksListInfinite caches\n for (const entry of tasksListInfiniteEntries) {\n await refetchTasksForCacheEntry({\n dispatch,\n projectName,\n updatedTaskIds,\n cacheEntry: entry,\n })\n }\n\n // Process getOverviewTasksByFolders caches\n // Use selectInvalidatedBy to get only caches that contain the updated tasks\n const overviewTasksEntries = getOverviewApi.util\n .selectInvalidatedBy(state, overviewTaskTags)\n .filter((entry) => entry.endpointName === 'getOverviewTasksByFolders')\n\n for (const entry of overviewTasksEntries) {\n await refetchOverviewTasksForCacheEntry({\n dispatch,\n projectName,\n updatedTaskIds,\n cacheEntry: entry,\n })\n }\n }\n\n // Always refetch folders if they were updated (for calculated attributes)\n // Not conditional on affectsFilter - requirement says \"always refetch entities\"\n // Only invalidate if we haven't already done so for delete operations\n const hasDeleteOps = (operationsByType.folder || []).some(\n (op: OperationModel) => op.type === 'delete',\n )\n if (updatedFolderIds.length > 0 && projectName && !hasDeleteOps) {\n dispatch(foldersQueries.util.invalidateTags([{ type: 'folder', id: 'LIST' }]))\n }\n } catch (error) {\n // undo all patches if there is an error\n for (const patch of patches) {\n patch.undo()\n }\n\n if (detailsPanelEntityCaches.length) {\n // we invalidate the tags for the detailsPanelEntityCaches that were patched\n // invalidate the details panel cache\n invalidateEntryPanel()\n }\n }\n },\n invalidatesTags: (_r, _e, { operationsRequestModel, projectName }) => {\n type Tags = { id: string; type: string }[]\n const userDashboardTags: Tags = [{ type: 'kanban', id: 'project-' + projectName }],\n taskProgressTags: Tags = [],\n entityListItemTags: Tags = [],\n tasksFolderTags: Tags = []\n\n let hasAttribOp = false\n operationsRequestModel.operations?.forEach((op) => {\n const { entityId } = op\n if (entityId) {\n taskProgressTags.push({ type: 'progress', id: entityId })\n // Invalidate list item cache for this entity to trigger background refetch\n entityListItemTags.push({ type: 'entityListItem', id: entityId })\n } else {\n // new entity created, so we should invalidate everything\n taskProgressTags.push({ type: 'progress', id: 'LIST' })\n }\n if ((op.data as any)?.attrib) hasAttribOp = true\n })\n\n if (hasAttribOp) {\n tasksFolderTags.push({ type: 'tasksFolder', id: projectName })\n }\n\n return [\n ...userDashboardTags,\n ...taskProgressTags,\n ...entityListItemTags,\n ...tasksFolderTags,\n ]\n },\n }),\n }),\n})\n\nexport const { useUpdateOverviewEntitiesMutation } = operationsApiEnhancedInjected\n"],"names":["updateEntityWithOperation","entity","operationData","key","existingLinks","newLinks","newLink","existingIndex","link","linksToDelete","linkId","getOverviewTaskTags","tasks","op","getOverviewFolderTags","folders","createLinkDeletionPatch","entityId","entityType","linkIds","deleteLinksFromEntities","entities","patchOverviewEntities","state","dispatch","patches","entitiesByType","acc","patchOverviewTasks","patchOverviewFolders","tags","taskEntries","getOverviewApi","entry","tasksPatch","draft","taskOperation","page","task","patchTask","tasksArrayDraft","draftArray","invalidateOverviewTasks","statsRefetchTimers","scheduleStatsRefetch","projectName","tagTypes","existing","type","folderEntries","foldersQueries","folderPatch","folderMap","folder","folderOperation","patchListItems","entries","entityListsQueriesGql","listItemsPatch","listOperation","item","splitByOpType","operations","operation","operationsEnhanced","operationsApi","operationsApiEnhancedInjected","build","arg","result","data","uniqueErrors","uniqueErrorCodes","e","operationsRequestModel","patchOperations","queryFulfilled","getState","operationsByType","deleteOps","update","updatesToPatch","dep","patchExtraTasks","patchExtraFolders","patchVersions","patchProducts","entityTags","entitiesTags","tag","invalidateEntryPanel","detailsPanelQueries","detailsPanelEntityCaches","detailsPanelEntitiesCaches","entitiesDetailsResult","patchDetailsPanelEntity","taskOperations","folderOperations","versionOperations","productOperations","updatedTaskIds","getUpdatedEntityIds","updatedFolderIds","overviewTaskTags","id","tasksListInfiniteEntries","refetchTasksForCacheEntry","overviewTasksEntries","refetchOverviewTasksForCacheEntry","hasDeleteOps","patch","_r","_e","userDashboardTags","taskProgressTags","entityListItemTags","tasksFolderTags","hasAttribOp","useUpdateOverviewEntitiesMutation"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../base/client.cjs.js");const K=require("../../generated/graphql.cjs.js");require("../../generated/graphqlLinks.cjs.js");require("../../generated/access.cjs.js");require("../../generated/actions.cjs.js");require("../../generated/activityFeed.cjs.js");require("../../generated/addons.cjs.js");require("../../generated/anatomy.cjs.js");require("../../generated/attributes.cjs.js");require("../../generated/authentication.cjs.js");require("../../generated/bundles.cjs.js");require("../../generated/configuration.cjs.js");require("../../generated/dataImport.cjs.js");require("../../generated/desktop.cjs.js");require("../../generated/entityLists.cjs.js");require("../../generated/events.cjs.js");require("../../generated/files.cjs.js");require("../../generated/folders.cjs.js");require("../../generated/inbox.cjs.js");require("../../generated/links.cjs.js");require("../../generated/market.cjs.js");require("../../generated/onboarding.cjs.js");require("../../generated/operations.cjs.js");require("../../generated/products.cjs.js");require("../../generated/projectDashboard.cjs.js");require("../../generated/projects.cjs.js");require("../../generated/projectFolders.cjs.js");require("../../generated/reviewables.cjs.js");require("../../generated/services.cjs.js");require("../../generated/system.cjs.js");require("../../generated/tasks.cjs.js");require("../../generated/teams.cjs.js");require("../../generated/thumbnails.cjs.js");require("../../generated/uRIs.cjs.js");require("../../generated/users.cjs.js");require("../../generated/versions.cjs.js");require("../../generated/workfiles.cjs.js");require("../../generated/ynputCloud.cjs.js");require("../../generated/grouping.cjs.js");require("../../generated/views.cjs.js");const g=require("../project/getProject.cjs.js");require("../project/updateProject.cjs.js");require("lodash");require("react-toastify");require("uuid");const m=require("../../../util/pubsub.cjs.js"),P=require("./convertAccessGroupsData.cjs.js"),A=require("./getUserProjectsAccess.cjs.js"),h=s=>s.kanban.edges.map(({node:r})=>r).sort((r,o)=>{const e=r.label||r.name,t=o.label||o.name;return e.localeCompare(t)}),k=(s,r,o)=>s?.length?[{type:"kanBanTask",id:"LIST"},...s.flatMap(({id:e,projectName:t,assignees:c})=>[{type:"task",id:e},{type:"kanban",id:"project-"+t},...c.map(n=>({type:"kanban",id:"user-"+n})),...c.map(n=>({type:"kanban",id:"user-"+n+"-project-"+t})),{type:"kanban",id:JSON.stringify(o)}])]:[{type:"kanBanTask",id:"LIST"}],v=async({projects:s=[],taskIds:r=[]},o)=>{try{const e=await o(j.endpoints.GetKanbanTasks.initiate({projects:s,taskIds:r},{forceRefetch:!0}));if(e.status==="rejected"||!e.data)throw console.error("No tasks found",r),new Error(`No tasks found ${r.join(", ")}`);return e.status!=="fulfilled"?[]:e.data}catch(e){return console.error(e),[]}},j=K.api.enhanceEndpoints({endpoints:{GetKanban:{transformResponse:h,providesTags:k,async onCacheEntryAdded({assignees:s=[],projects:r=[]}={},{updateCachedData:o,cacheDataLoaded:e,cacheEntryRemoved:t,dispatch:c}){let n;try{await e;const u=async({projects:q=[],taskIds:d=[]})=>{const p=await v({projects:q,taskIds:d},c),y=p.filter(a=>a.assignees.some(i=>s?.includes(i))),G=p.filter(a=>!a.assignees.some(i=>s?.includes(i)));o(a=>{y.forEach(i=>{const f=a.findIndex(b=>b.id===i.id);f===-1?a.push(i):a[f]=i}),G.forEach(i=>{const f=a.findIndex(b=>b.id===i.id);f!==-1&&a.splice(f,1)})})},l=async(q,d)=>{const p=d.project;if(!r?.includes(p))return console.log("project not selected");const y=d.summary.entityId;if(!y)return console.log("no entity id found");u({taskIds:[y],projects:[p]})};n=m.subscribe("entity.task",l)}catch(u){console.error(u)}await t,m.unsubscribe(n)}},GetKanbanTasks:{transformResponse:h,providesTags:k},GetKanbanProjectUsers:{transformResponse:(s,r,{projects:o}={})=>s.users.edges.map(({node:e})=>{const t=P(e.accessGroups);let n=!e.isManager&&!e.isAdmin?A(t):o;(typeof n=="string"||!n)&&(n=[]);const u=`/api/users/${e.name}/avatar`;return{...e,accessGroups:t,projects:n,avatarUrl:u}}),providesTags:s=>s?.length?[{type:"user",id:"LIST"},...s.map(({name:r})=>({type:"user",id:r}))]:[{type:"user",id:"LIST"}]}}}),{useGetKanbanQuery:I,useGetKanbanProjectUsersQuery:w}=j,T=j.injectEndpoints({endpoints:s=>({getProjectsInfo:s.query({async queryFn({projects:r=[],anatomy:o=!0},{dispatch:e}){try{const t={};for(const c of r){const n=c,u=[e(g.default.endpoints.getProject.initiate({projectName:n},{forceRefetch:!0})).unwrap(),...o?[e(g.default.endpoints.getProjectAnatomy.initiate({projectName:n},{forceRefetch:!0})).unwrap()]:[]],l=await Promise.allSettled(u),q=l[0],d=q.status==="fulfilled"?q.value:void 0,p=o&&l[1]?.status==="fulfilled"?l[1].value:void 0;d&&(t[n]={...d,anatomy:p})}return{data:t,meta:void 0,error:void 0}}catch(t){return console.error(t),{error:t,meta:void 0,data:void 0}}},providesTags:(r,o,{projects:e})=>e.map(t=>({type:"project",id:t}))})})}),{useGetProjectsInfoQuery:S}=T;exports.dashboardQueries=T;exports.getKanbanTasks=v;exports.useGetKanbanProjectUsersQuery=w;exports.useGetKanbanQuery=I;exports.useGetProjectsInfoQuery=S;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../base/client.cjs.js");const Q=require("../../generated/graphql.cjs.js");require("../../generated/graphqlLinks.cjs.js");require("../../generated/access.cjs.js");require("../../generated/actions.cjs.js");require("../../generated/activityFeed.cjs.js");require("../../generated/addons.cjs.js");require("../../generated/anatomy.cjs.js");require("../../generated/attributes.cjs.js");require("../../generated/authentication.cjs.js");require("../../generated/bundles.cjs.js");require("../../generated/configuration.cjs.js");require("../../generated/dataImport.cjs.js");require("../../generated/desktop.cjs.js");require("../../generated/entityLists.cjs.js");require("../../generated/events.cjs.js");require("../../generated/files.cjs.js");require("../../generated/folders.cjs.js");require("../../generated/inbox.cjs.js");require("../../generated/links.cjs.js");require("../../generated/market.cjs.js");require("../../generated/onboarding.cjs.js");require("../../generated/operations.cjs.js");require("../../generated/products.cjs.js");require("../../generated/projectDashboard.cjs.js");require("../../generated/projects.cjs.js");require("../../generated/projectFolders.cjs.js");require("../../generated/reviewables.cjs.js");require("../../generated/services.cjs.js");require("../../generated/system.cjs.js");require("../../generated/tasks.cjs.js");require("../../generated/teams.cjs.js");require("../../generated/thumbnails.cjs.js");require("../../generated/uRIs.cjs.js");require("../../generated/users.cjs.js");require("../../generated/versions.cjs.js");require("../../generated/workfiles.cjs.js");require("../../generated/ynputCloud.cjs.js");require("../../generated/grouping.cjs.js");require("../../generated/views.cjs.js");const A=require("../project/getProject.cjs.js");require("../project/updateProject.cjs.js");require("lodash");require("react-toastify");require("uuid");const x=require("../../../util/thumbnailWebsocket.cjs.js"),I=require("../../../util/pubsub.cjs.js"),U=require("./convertAccessGroupsData.cjs.js"),E=require("./getUserProjectsAccess.cjs.js"),G=t=>t.kanban.edges.map(({node:n})=>n).sort((n,a)=>{const r=n.label||n.name,i=a.label||a.name;return r.localeCompare(i)}),S=(t,n,a)=>t?.length?[{type:"kanBanTask",id:"LIST"},...t.flatMap(({id:r,projectName:i,assignees:m})=>[{type:"task",id:r},{type:"kanban",id:"project-"+i},...m.map(u=>({type:"kanban",id:"user-"+u})),...m.map(u=>({type:"kanban",id:"user-"+u+"-project-"+i})),{type:"kanban",id:JSON.stringify(a)}])]:[{type:"kanBanTask",id:"LIST"}],K=async({projects:t=[],taskIds:n=[]},a)=>{try{const r=await a(v.endpoints.GetKanbanTasks.initiate({projects:t,taskIds:n},{forceRefetch:!0}));if(r.status==="rejected"||!r.data)throw console.error("No tasks found",n),new Error(`No tasks found ${n.join(", ")}`);return r.status!=="fulfilled"?[]:r.data}catch(r){return console.error(r),[]}},v=Q.api.enhanceEndpoints({endpoints:{GetKanban:{transformResponse:G,providesTags:S,async onCacheEntryAdded({assignees:t=[],projects:n=[]}={},{updateCachedData:a,cacheDataLoaded:r,cacheEntryRemoved:i,dispatch:m,getCacheEntry:u}){let h,y,j=[],q=null;try{await r,y=x.subscribeToThumbnailUpdates(b=>{const l=u().data??[];if(!l.length)return;const d=b.filter(o=>l.some(c=>c.id===o.summary.entityId&&c.projectName===o.project));d.length!==0&&a(o=>{d.forEach(c=>{const p=o.findIndex(e=>e.id===c.summary.entityId);p!==-1&&o[p]&&c.summary.thumbnailHash&&(o[p].thumbnailHash=c.summary.thumbnailHash)})})},["task"]);const g=async()=>{const b=[...j];j=[],q=null;const l=Array.from(new Set(b.flatMap(e=>e.taskIds))),d=Array.from(new Set(b.flatMap(e=>e.projects)));if(l.length===0)return;const o=await K({projects:d,taskIds:l},m),c=o.filter(e=>e.assignees.some(s=>t?.includes(s))),p=o.filter(e=>!e.assignees.some(s=>t?.includes(s)));a(e=>{c.forEach(s=>{const f=e.findIndex(T=>T.id===s.id);f===-1?e.push(s):e[f]=s}),p.forEach(s=>{const f=e.findIndex(T=>T.id===s.id);f!==-1&&e.splice(f,1)})})},w=({projects:b=[],taskIds:l=[],payload:d})=>{let o=!1;if(d?a(c=>{l.forEach(p=>{const e=c.findIndex(s=>s.id===p);e!==-1?(Object.assign(c[e],d),d.assignees&&(!t?.length||d.assignees.some(f=>t?.includes(f))||c.splice(e,1))):d.assignees?.some(s=>t?.includes(s))&&(o=!0)})}):o=!0,!!o&&(j.push({projects:b,taskIds:l}),!q)){const c=Math.random()*5e3;q=setTimeout(g,c)}},M=async(b,l)=>{const d=l.project;if(!n?.includes(d))return console.log("project not selected");const o=l.summary.entityId;if(!o)return console.log("no entity id found");const c=u().data??[],p=l.topic.split(".")[2].split("_changed")[0];if(!["status","assignees"].includes(p))return;const e=l.summary.value;let s=e;p==="status"?s=String(e):p==="assignees"&&(s=Array.isArray(e)?e:[]);const f=c.some(k=>k.id===o),T=p==="assignees"&&s.some(k=>t?.includes(k));!f&&!T||w({taskIds:[o],projects:[d],payload:{[p]:s}})};h=I.subscribe("entity.task",M)}catch(g){console.error(g)}await i,I.unsubscribe(h),y&&y(),q&&clearTimeout(q)}},GetKanbanTasks:{transformResponse:G,providesTags:S},GetKanbanProjectUsers:{transformResponse:(t,n,{projects:a}={})=>t.users.edges.map(({node:r})=>{const i=U(r.accessGroups);let u=!r.isManager&&!r.isAdmin?E(i):a;(typeof u=="string"||!u)&&(u=[]);const h=`/api/users/${r.name}/avatar`;return{...r,accessGroups:i,projects:u,avatarUrl:h}}),providesTags:t=>t?.length?[{type:"user",id:"LIST"},...t.map(({name:n})=>({type:"user",id:n}))]:[{type:"user",id:"LIST"}]}}}),{useGetKanbanQuery:L,useGetKanbanProjectUsersQuery:R}=v,P=v.injectEndpoints({endpoints:t=>({getProjectsInfo:t.query({async queryFn({projects:n=[],anatomy:a=!0},{dispatch:r}){try{const i={};for(const m of n){const u=m,h=[r(A.default.endpoints.getProject.initiate({projectName:u})).unwrap(),...a?[r(A.default.endpoints.getProjectAnatomy.initiate({projectName:u})).unwrap()]:[]],y=await Promise.allSettled(h),j=y[0],q=j.status==="fulfilled"?j.value:void 0,g=a&&y[1]?.status==="fulfilled"?y[1].value:void 0;q&&(i[u]={...q,anatomy:g})}return{data:i,meta:void 0,error:void 0}}catch(i){return console.error(i),{error:i,meta:void 0,data:void 0}}},providesTags:(n,a,{projects:r})=>r.map(i=>({type:"project",id:i}))})})}),{useGetProjectsInfoQuery:_}=P;exports.dashboardQueries=P;exports.getKanbanTasks=K;exports.useGetKanbanProjectUsersQuery=R;exports.useGetKanbanQuery=L;exports.useGetProjectsInfoQuery=_;
2
2
  //# sourceMappingURL=getUserDashboard.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getUserDashboard.cjs.js","sources":["../../../../../../src/api/queries/userDashboard/getUserDashboard.ts"],"sourcesContent":["import {\n gqlApi,\n GetKanbanProjectUsersQuery,\n GetKanbanQuery,\n ProjectModel,\n KanbanNode,\n Anatomy,\n} from '@shared/api/generated'\nimport { projectQueries } from '@shared/api/queries/project'\nimport { PubSub } from '@shared/util'\nimport convertAccessGroupsData, { AccessGroups } from './convertAccessGroupsData'\n\n// GetKanban response type\nexport type GetKanbanResponse = KanbanNode[]\n\n// GetKanbanProjectUsers response type\nexport type KanbanProjectUserNode = Omit<\n GetKanbanProjectUsersQuery['users']['edges'][0]['node'],\n 'accessGroups'\n> & { accessGroups: AccessGroups; projects: string[]; avatarUrl: string }\nexport type GetKanbanProjectUsersResponse = KanbanProjectUserNode[]\n\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\nimport getUserProjectsAccess from './getUserProjectsAccess'\nimport { ThunkDispatch, UnknownAction } from '@reduxjs/toolkit'\n\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 'GetKanban' | 'GetKanbanTasks' | 'GetKanbanProjectUsers'\n> & {\n GetKanban: OverrideResultType<Definitions['GetKanban'], GetKanbanResponse>\n GetKanbanTasks: OverrideResultType<Definitions['GetKanbanTasks'], GetKanbanResponse>\n GetKanbanProjectUsers: OverrideResultType<\n Definitions['GetKanbanProjectUsers'],\n GetKanbanProjectUsersResponse\n >\n}\n\n// get edges and sort by task label || name\nconst transformKanban = (response: GetKanbanQuery) =>\n response.kanban.edges\n .map(({ node }) => node)\n .sort((a, b) => {\n const aLabel = a.label || a.name\n const bLabel = b.label || b.name\n return aLabel.localeCompare(bLabel)\n })\n\nconst provideKanbanTags = (result: GetKanbanResponse | undefined, _error: any, args: any) =>\n result?.length\n ? [\n { type: 'kanBanTask', id: 'LIST' },\n ...result.flatMap(({ id, projectName, assignees }) => [\n { type: 'task', id },\n { type: 'kanban', id: 'project-' + projectName },\n ...assignees.map((assignee) => ({ type: 'kanban', id: 'user-' + assignee })),\n ...assignees.map((assignee) => ({\n type: 'kanban',\n id: 'user-' + assignee + '-project-' + projectName,\n })),\n { type: 'kanban', id: JSON.stringify(args) },\n ]),\n ]\n : [{ type: 'kanBanTask', id: 'LIST' }]\n\nexport const getKanbanTasks = async (\n {\n projects = [],\n taskIds = [],\n }: {\n projects: string[]\n taskIds: string[]\n },\n dispatch: ThunkDispatch<any, any, UnknownAction>,\n) => {\n try {\n // get the task\n const response = await dispatch(\n enhancedDashboardGraphqlApi.endpoints.GetKanbanTasks.initiate(\n { projects, taskIds },\n { forceRefetch: true },\n ),\n )\n\n if (response.status === 'rejected' || !response.data) {\n console.error('No tasks found', taskIds)\n throw new Error(`No tasks found ${taskIds.join(', ')}`)\n }\n\n if (response.status !== 'fulfilled') return []\n // get tasks from response (usually only one task)\n return response.data\n } catch (error) {\n console.error(error)\n return []\n }\n}\n\nconst enhancedDashboardGraphqlApi = gqlApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n GetKanban: {\n transformResponse: transformKanban,\n providesTags: provideKanbanTags,\n async onCacheEntryAdded(\n { assignees = [], projects = [] } = {},\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 patchKanbanTask = async ({\n projects = [],\n taskIds = [],\n }: {\n projects: string[]\n taskIds: string[]\n }) => {\n const tasks = await getKanbanTasks({ projects, taskIds }, dispatch)\n\n // get all tasks that have been ADDED to the assignees\n const tasksWithArgAssignees = tasks.filter((task) =>\n task.assignees.some((assignee) => assignees?.includes(assignee)),\n )\n // get all tasks that have been REMOVED from the assignees\n const tasksWithoutArgAssignees = tasks.filter(\n (task) => !task.assignees.some((assignee) => assignees?.includes(assignee)),\n )\n\n // patch the kanban query by adding new tasks and remove old tasks\n updateCachedData((draft) => {\n // add new tasks\n tasksWithArgAssignees.forEach((task) => {\n const index = draft.findIndex((t) => t.id === task.id)\n if (index === -1) {\n draft.push(task)\n } else {\n // update the task\n draft[index] = task\n }\n })\n // remove old tasks\n tasksWithoutArgAssignees.forEach((task) => {\n const index = draft.findIndex((t) => t.id === task.id)\n if (index !== -1) {\n draft.splice(index, 1)\n }\n })\n })\n }\n\n const handlePubSub = async (_topic: string, message: any) => {\n const project = message.project as string\n // first check the project name as selected\n if (!projects?.includes(project)) return console.log('project not selected')\n // then get entity id\n const entityId = message.summary.entityId\n if (!entityId) return console.log('no entity id found')\n\n // patch task updates into kanban cache\n patchKanbanTask({\n taskIds: [entityId],\n projects: [project],\n })\n }\n\n // sub to websocket topic\n token = PubSub.subscribe('entity.task', handlePubSub)\n } catch (error) {\n console.error(error)\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 // // there is only one cache for kanban\n // serializeQueryArgs: () => '',\n // // whenever the assignees or projects change, we need to refetch the one query\n // forceRefetch: (params) => {\n // const { currentArg, previousArg } = params\n // // if the assignees are different, we need to refetch the query\n // if (!isEqual(currentArg?.assignees, previousArg?.assignees)) return true\n // // if the projects are different, we need to refetch the query\n // if (!isEqual(currentArg?.projects, previousArg?.projects)) return true\n // return false\n // },\n },\n // same query as GetKanban but for specific tasks\n // used mainly for patching tasks into the kanban cache\n GetKanbanTasks: {\n transformResponse: transformKanban,\n providesTags: provideKanbanTags,\n },\n // get all users on all selected projects\n GetKanbanProjectUsers: {\n transformResponse: (response: GetKanbanProjectUsersQuery, _meta, { projects } = {}) =>\n response.users.edges.map(({ node: user }) => {\n const accessGroups = convertAccessGroupsData(user.accessGroups)\n // parse access groups json\n const isUser = !user.isManager && !user.isAdmin\n // get the projects that the user has access to\n let projectsAccess = isUser ? getUserProjectsAccess(accessGroups) : projects\n if (typeof projectsAccess === 'string' || !projectsAccess) projectsAccess = []\n\n // assignees select requires avatarUrl\n const avatarUrl = `/api/users/${user.name}/avatar`\n\n return {\n ...user,\n accessGroups: accessGroups,\n projects: projectsAccess,\n avatarUrl,\n }\n }),\n providesTags: (result) =>\n result?.length\n ? [\n { type: 'user', id: 'LIST' },\n ...result.map(({ name }) => ({ type: 'user', id: name })),\n ]\n : [{ type: 'user', id: 'LIST' }],\n },\n },\n})\n\nexport const { useGetKanbanQuery, useGetKanbanProjectUsersQuery } = enhancedDashboardGraphqlApi\n\ntype GetProjectsInfoParams = {\n projects: string[]\n anatomy?: boolean\n}\n\nexport type ProjectModeWithAnatomy = ProjectModel & { anatomy?: Anatomy }\n\nexport type GetProjectsInfoResponse = { [projectName: string]: ProjectModeWithAnatomy | undefined }\n\nconst injectedDashboardRestApi = enhancedDashboardGraphqlApi.injectEndpoints({\n endpoints: (build) => ({\n getProjectsInfo: build.query<GetProjectsInfoResponse, GetProjectsInfoParams>({\n async queryFn({ projects = [], anatomy = true }, { dispatch }) {\n try {\n // get project info for each project\n const projectInfo: Record<string, ProjectModeWithAnatomy | undefined> = {}\n for (const project of projects) {\n const projectName = project as string\n // hopefully this will be cached\n // it also allows for different combination of projects but still use the cache\n const responses = [\n dispatch(\n projectQueries.endpoints.getProject.initiate(\n { projectName },\n { forceRefetch: true },\n ),\n ).unwrap(),\n ...(anatomy\n ? [\n dispatch(\n projectQueries.endpoints.getProjectAnatomy.initiate(\n { projectName },\n { forceRefetch: true },\n ),\n ).unwrap(),\n ]\n : []),\n ]\n\n const settled = await Promise.allSettled(responses)\n\n const projectDataResult = settled[0]\n const projectData =\n projectDataResult.status === 'fulfilled'\n ? (projectDataResult.value as ProjectModel)\n : undefined\n const anatomyData =\n anatomy && settled[1]?.status === 'fulfilled'\n ? (settled[1].value as Anatomy)\n : undefined\n\n if (projectData) {\n projectInfo[projectName] = {\n ...projectData,\n anatomy: anatomyData,\n } as ProjectModeWithAnatomy\n }\n }\n\n return { data: projectInfo, meta: undefined, error: undefined }\n } catch (error: any) {\n console.error(error)\n return { error, meta: undefined, data: undefined }\n }\n },\n providesTags: (_res, _error, { projects }) =>\n projects.map((projectName) => ({ type: 'project', id: projectName })),\n }),\n }),\n})\n\nexport const { useGetProjectsInfoQuery } = injectedDashboardRestApi\nexport { injectedDashboardRestApi as dashboardQueries }\n"],"names":["transformKanban","response","node","a","b","aLabel","bLabel","provideKanbanTags","result","_error","args","id","projectName","assignees","assignee","getKanbanTasks","projects","taskIds","dispatch","enhancedDashboardGraphqlApi","error","gqlApi","updateCachedData","cacheDataLoaded","cacheEntryRemoved","token","patchKanbanTask","tasks","tasksWithArgAssignees","task","tasksWithoutArgAssignees","draft","index","t","handlePubSub","_topic","message","project","entityId","PubSub","_meta","user","accessGroups","convertAccessGroupsData","projectsAccess","getUserProjectsAccess","avatarUrl","name","useGetKanbanQuery","useGetKanbanProjectUsersQuery","injectedDashboardRestApi","build","anatomy","projectInfo","responses","projectQueries","settled","projectDataResult","projectData","anatomyData","_res","useGetProjectsInfoQuery"],"mappings":"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"}
1
+ {"version":3,"file":"getUserDashboard.cjs.js","sources":["../../../../../../src/api/queries/userDashboard/getUserDashboard.ts"],"sourcesContent":["import {\n gqlApi,\n GetKanbanProjectUsersQuery,\n GetKanbanQuery,\n ProjectModel,\n KanbanNode,\n Anatomy,\n} from '@shared/api/generated'\nimport { projectQueries } from '@shared/api/queries/project'\nimport { PubSub, subscribeToThumbnailUpdates, ThumbnailUpdateMessage } from '@shared/util'\nimport convertAccessGroupsData, { AccessGroups } from './convertAccessGroupsData'\n\n// GetKanban response type\nexport type GetKanbanResponse = KanbanNode[]\n\n// GetKanbanProjectUsers response type\nexport type KanbanProjectUserNode = Omit<\n GetKanbanProjectUsersQuery['users']['edges'][0]['node'],\n 'accessGroups'\n> & { accessGroups: AccessGroups; projects: string[]; avatarUrl: string }\nexport type GetKanbanProjectUsersResponse = KanbanProjectUserNode[]\n\nexport interface MessageSummary {\n entityId: string\n entityPath: string\n parentId: string\n value: any\n}\n\nexport interface Message {\n id: string\n topic: string\n project: string\n user: string\n sender: string\n senderType: string\n description: string\n status: string\n progress: number\n store: boolean\n createdAt: string\n updatedAt: string\n dependsOn: string | null\n summary: MessageSummary\n}\n\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\nimport getUserProjectsAccess from './getUserProjectsAccess'\nimport { ThunkDispatch, UnknownAction } from '@reduxjs/toolkit'\n\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 'GetKanban' | 'GetKanbanTasks' | 'GetKanbanProjectUsers'\n> & {\n GetKanban: OverrideResultType<Definitions['GetKanban'], GetKanbanResponse>\n GetKanbanTasks: OverrideResultType<Definitions['GetKanbanTasks'], GetKanbanResponse>\n GetKanbanProjectUsers: OverrideResultType<\n Definitions['GetKanbanProjectUsers'],\n GetKanbanProjectUsersResponse\n >\n}\n\n// get edges and sort by task label || name\nconst transformKanban = (response: GetKanbanQuery) =>\n response.kanban.edges\n .map(({ node }) => node)\n .sort((a, b) => {\n const aLabel = a.label || a.name\n const bLabel = b.label || b.name\n return aLabel.localeCompare(bLabel)\n })\n\nconst provideKanbanTags = (result: GetKanbanResponse | undefined, _error: any, args: any) =>\n result?.length\n ? [\n { type: 'kanBanTask', id: 'LIST' },\n ...result.flatMap(({ id, projectName, assignees }) => [\n { type: 'task', id },\n { type: 'kanban', id: 'project-' + projectName },\n ...assignees.map((assignee) => ({ type: 'kanban', id: 'user-' + assignee })),\n ...assignees.map((assignee) => ({\n type: 'kanban',\n id: 'user-' + assignee + '-project-' + projectName,\n })),\n { type: 'kanban', id: JSON.stringify(args) },\n ]),\n ]\n : [{ type: 'kanBanTask', id: 'LIST' }]\n\nexport const getKanbanTasks = async (\n {\n projects = [],\n taskIds = [],\n }: {\n projects: string[]\n taskIds: string[]\n },\n dispatch: ThunkDispatch<any, any, UnknownAction>,\n) => {\n try {\n // get the task\n const response = await dispatch(\n enhancedDashboardGraphqlApi.endpoints.GetKanbanTasks.initiate(\n { projects, taskIds },\n { forceRefetch: true },\n ),\n )\n\n if (response.status === 'rejected' || !response.data) {\n console.error('No tasks found', taskIds)\n throw new Error(`No tasks found ${taskIds.join(', ')}`)\n }\n\n if (response.status !== 'fulfilled') return []\n // get tasks from response (usually only one task)\n return response.data\n } catch (error) {\n console.error(error)\n return []\n }\n}\n\nconst enhancedDashboardGraphqlApi = gqlApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n GetKanban: {\n transformResponse: transformKanban,\n providesTags: provideKanbanTags,\n async onCacheEntryAdded(\n { assignees = [], projects = [] } = {},\n { updateCachedData, cacheDataLoaded, cacheEntryRemoved, dispatch, getCacheEntry },\n ) {\n let token\n let unsubscribeThumbnails: (() => void) | undefined\n let fetchQueue: { taskIds: string[]; projects: string[] }[] = []\n let fetchTimeout: any = null\n try {\n // wait for the initial query to resolve before proceeding\n await cacheDataLoaded\n\n unsubscribeThumbnails = subscribeToThumbnailUpdates(\n (messages: ThumbnailUpdateMessage[]) => {\n const cacheTasks = getCacheEntry().data ?? []\n if (!cacheTasks.length) return\n\n const matchedMessages = messages.filter((m) =>\n cacheTasks.some((t) => t.id === m.summary.entityId && t.projectName === m.project),\n )\n if (matchedMessages.length === 0) return\n\n updateCachedData((draft) => {\n matchedMessages.forEach((message) => {\n const entityIndex = draft.findIndex((t) => t.id === message.summary.entityId)\n if (entityIndex !== -1 && draft[entityIndex] && message.summary.thumbnailHash) {\n draft[entityIndex].thumbnailHash = message.summary.thumbnailHash\n }\n })\n })\n },\n ['task'],\n )\n\n const processFetchQueue = async () => {\n const batch = [...fetchQueue]\n fetchQueue = []\n fetchTimeout = null\n\n const taskIds = Array.from(new Set(batch.flatMap((b) => b.taskIds)))\n const projects = Array.from(new Set(batch.flatMap((b) => b.projects)))\n\n if (taskIds.length === 0) return\n\n const tasks = await getKanbanTasks({ projects, taskIds }, dispatch)\n\n // get all tasks that have been ADDED to the assignees\n const tasksWithArgAssignees = tasks.filter((task) =>\n task.assignees.some((assignee) => assignees?.includes(assignee)),\n )\n // get all tasks that have been REMOVED from the assignees\n const tasksWithoutArgAssignees = tasks.filter(\n (task) => !task.assignees.some((assignee) => assignees?.includes(assignee)),\n )\n\n // patch the kanban query by adding new tasks and remove old tasks\n updateCachedData((draft) => {\n // add new tasks\n tasksWithArgAssignees.forEach((task) => {\n const index = draft.findIndex((t) => t.id === task.id)\n if (index === -1) {\n draft.push(task)\n } else {\n // update the task\n draft[index] = task\n }\n })\n // remove old tasks\n tasksWithoutArgAssignees.forEach((task) => {\n const index = draft.findIndex((t) => t.id === task.id)\n if (index !== -1) {\n draft.splice(index, 1)\n }\n })\n })\n }\n\n const patchKanbanTask = ({\n projects = [],\n taskIds = [],\n payload,\n }: {\n projects: string[]\n taskIds: string[]\n payload?: Partial<KanbanNode>\n }) => {\n let needsFetch = false\n\n if (payload) {\n updateCachedData((draft) => {\n taskIds.forEach((id) => {\n const index = draft.findIndex((t) => t.id === id)\n if (index !== -1) {\n // update the task\n Object.assign(draft[index], payload)\n\n // if assignees changed, check if it should be removed\n if (payload.assignees) {\n const isStillAssigned =\n !assignees?.length || payload.assignees.some((a) => assignees?.includes(a))\n if (!isStillAssigned) {\n draft.splice(index, 1)\n }\n }\n } else {\n // task not in cache, if it's now assigned to us, we need to fetch\n if (payload.assignees?.some((a) => assignees?.includes(a))) {\n needsFetch = true\n }\n }\n })\n })\n } else {\n needsFetch = true\n }\n\n if (!needsFetch) return\n\n // add to queue\n fetchQueue.push({ projects, taskIds })\n\n // debounce the fetch with a random offset\n if (!fetchTimeout) {\n const delay = Math.random() * 5000\n fetchTimeout = setTimeout(processFetchQueue, delay)\n }\n }\n\n const handlePubSub = async (_topic: string, message: Message) => {\n const project = message.project\n // first check the project name as selected\n if (!projects?.includes(project)) return console.log('project not selected')\n // then get entity id\n const entityId = message.summary.entityId\n if (!entityId) return console.log('no entity id found')\n\n // current tasks on the board\n const cacheTasks = getCacheEntry().data ?? []\n // entity.task.status_changed\n const field = message.topic.split('.')[2].split('_changed')[0]\n\n // Only patch the task for the fields status and assignees.\n if (!['status', 'assignees'].includes(field)) return\n\n const value = message.summary.value\n // cast the correct type onto value based on the field\n let castValue: any = value\n if (field === 'status') {\n castValue = String(value)\n } else if (field === 'assignees') {\n castValue = Array.isArray(value) ? (value as string[]) : []\n }\n\n // check this task is actually on the board\n const isTaskOnMyBoard = cacheTasks.some((t) => t.id === entityId)\n // if the field is assignees AND the value includes current assignees then we patch\n const isValueMe =\n field === 'assignees' && (castValue as string[]).some((a) => assignees?.includes(a))\n\n if (!isTaskOnMyBoard && !isValueMe) return\n // patch task updates into kanban cache\n patchKanbanTask({\n taskIds: [entityId],\n projects: [project],\n payload: { [field]: castValue } as Partial<KanbanNode>,\n })\n }\n\n // sub to websocket topic\n token = PubSub.subscribe('entity.task', handlePubSub)\n } catch (error) {\n console.error(error)\n // no-op in case `cacheEntryRemoved` resolves before `cacheDataLoaded`,\n // in which case `cacheDataLoaded` will throw\n }\n // cacheEntryRemoved will resolve when the cache subscription is no longer active\n await cacheEntryRemoved\n // perform cleanup steps once the `cacheEntryRemoved` promise resolves\n PubSub.unsubscribe(token)\n if (unsubscribeThumbnails) {\n unsubscribeThumbnails()\n }\n if (fetchTimeout) clearTimeout(fetchTimeout)\n },\n // // there is only one cache for kanban\n // serializeQueryArgs: () => '',\n // // whenever the assignees or projects change, we need to refetch the one query\n // forceRefetch: (params) => {\n // const { currentArg, previousArg } = params\n // // if the assignees are different, we need to refetch the query\n // if (!isEqual(currentArg?.assignees, previousArg?.assignees)) return true\n // // if the projects are different, we need to refetch the query\n // if (!isEqual(currentArg?.projects, previousArg?.projects)) return true\n // return false\n // },\n },\n // same query as GetKanban but for specific tasks\n // used mainly for patching tasks into the kanban cache\n GetKanbanTasks: {\n transformResponse: transformKanban,\n providesTags: provideKanbanTags,\n },\n // get all users on all selected projects\n GetKanbanProjectUsers: {\n transformResponse: (response: GetKanbanProjectUsersQuery, _meta, { projects } = {}) =>\n response.users.edges.map(({ node: user }) => {\n const accessGroups = convertAccessGroupsData(user.accessGroups)\n // parse access groups json\n const isUser = !user.isManager && !user.isAdmin\n // get the projects that the user has access to\n let projectsAccess = isUser ? getUserProjectsAccess(accessGroups) : projects\n if (typeof projectsAccess === 'string' || !projectsAccess) projectsAccess = []\n\n // assignees select requires avatarUrl\n const avatarUrl = `/api/users/${user.name}/avatar`\n\n return {\n ...user,\n accessGroups: accessGroups,\n projects: projectsAccess,\n avatarUrl,\n }\n }),\n providesTags: (result) =>\n result?.length\n ? [\n { type: 'user', id: 'LIST' },\n ...result.map(({ name }) => ({ type: 'user', id: name })),\n ]\n : [{ type: 'user', id: 'LIST' }],\n },\n },\n})\n\nexport const { useGetKanbanQuery, useGetKanbanProjectUsersQuery } = enhancedDashboardGraphqlApi\n\ntype GetProjectsInfoParams = {\n projects: string[]\n anatomy?: boolean\n}\n\nexport type ProjectModeWithAnatomy = ProjectModel & { anatomy?: Anatomy }\n\nexport type GetProjectsInfoResponse = { [projectName: string]: ProjectModeWithAnatomy | undefined }\n\nconst injectedDashboardRestApi = enhancedDashboardGraphqlApi.injectEndpoints({\n endpoints: (build) => ({\n getProjectsInfo: build.query<GetProjectsInfoResponse, GetProjectsInfoParams>({\n async queryFn({ projects = [], anatomy = true }, { dispatch }) {\n try {\n // get project info for each project\n const projectInfo: Record<string, ProjectModeWithAnatomy | undefined> = {}\n for (const project of projects) {\n const projectName = project as string\n // hopefully this will be cached\n // it also allows for different combination of projects but still use the cache\n const responses = [\n dispatch(projectQueries.endpoints.getProject.initiate({ projectName })).unwrap(),\n ...(anatomy\n ? [\n dispatch(\n projectQueries.endpoints.getProjectAnatomy.initiate({ projectName }),\n ).unwrap(),\n ]\n : []),\n ]\n\n const settled = await Promise.allSettled(responses)\n\n const projectDataResult = settled[0]\n const projectData =\n projectDataResult.status === 'fulfilled'\n ? (projectDataResult.value as ProjectModel)\n : undefined\n const anatomyData =\n anatomy && settled[1]?.status === 'fulfilled'\n ? (settled[1].value as Anatomy)\n : undefined\n\n if (projectData) {\n projectInfo[projectName] = {\n ...projectData,\n anatomy: anatomyData,\n } as ProjectModeWithAnatomy\n }\n }\n\n return { data: projectInfo, meta: undefined, error: undefined }\n } catch (error: any) {\n console.error(error)\n return { error, meta: undefined, data: undefined }\n }\n },\n providesTags: (_res, _error, { projects }) =>\n projects.map((projectName) => ({ type: 'project', id: projectName })),\n }),\n }),\n})\n\nexport const { useGetProjectsInfoQuery } = injectedDashboardRestApi\nexport { injectedDashboardRestApi as dashboardQueries }\n"],"names":["transformKanban","response","node","a","b","aLabel","bLabel","provideKanbanTags","result","_error","args","id","projectName","assignees","assignee","getKanbanTasks","projects","taskIds","dispatch","enhancedDashboardGraphqlApi","error","gqlApi","updateCachedData","cacheDataLoaded","cacheEntryRemoved","getCacheEntry","token","unsubscribeThumbnails","fetchQueue","fetchTimeout","subscribeToThumbnailUpdates","messages","cacheTasks","matchedMessages","m","t","draft","message","entityIndex","processFetchQueue","batch","tasks","tasksWithArgAssignees","task","tasksWithoutArgAssignees","index","patchKanbanTask","payload","needsFetch","delay","handlePubSub","_topic","project","entityId","field","value","castValue","isTaskOnMyBoard","isValueMe","PubSub","_meta","user","accessGroups","convertAccessGroupsData","projectsAccess","getUserProjectsAccess","avatarUrl","name","useGetKanbanQuery","useGetKanbanProjectUsersQuery","injectedDashboardRestApi","build","anatomy","projectInfo","responses","projectQueries","settled","projectDataResult","projectData","anatomyData","_res","useGetProjectsInfoQuery"],"mappings":"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"}