@ynput/ayon-frontend-shared 0.4.0 → 0.4.1

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 (730) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +49 -46
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/ProjectTreeTable.cjs.js +1 -1
  5. package/dist/ProjectTreeTable.es.js +244 -228
  6. package/dist/ProjectTreeTable.es.js.map +1 -1
  7. package/dist/Slicer.cjs.js +1 -1
  8. package/dist/Slicer.es.js +52 -49
  9. package/dist/Slicer.es.js.map +1 -1
  10. package/dist/api.cjs.js +1 -1
  11. package/dist/api.es.js +93 -93
  12. package/dist/components.cjs.js +1 -1
  13. package/dist/components.es.js +130 -126
  14. package/dist/components.es.js.map +1 -1
  15. package/dist/index.cjs.js +1 -1
  16. package/dist/index.es.js +36 -33
  17. package/dist/index.es.js.map +1 -1
  18. package/dist/node_modules/parse-numeric-range/index.cjs.js +1 -1
  19. package/dist/node_modules/parse-numeric-range/index.es.js +1 -1
  20. package/dist/shared/node_modules/react-is/index.cjs.js +1 -1
  21. package/dist/shared/node_modules/react-is/index.es.js +1 -1
  22. package/dist/shared/src/api/generated/graphql.cjs.js +40 -21
  23. package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
  24. package/dist/shared/src/api/generated/graphql.es.js +36 -17
  25. package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
  26. package/dist/shared/src/api/generated/graphqlLinks.cjs.js.map +1 -1
  27. package/dist/shared/src/api/generated/graphqlLinks.es.js.map +1 -1
  28. package/dist/shared/src/api/generated/views.cjs.js.map +1 -1
  29. package/dist/shared/src/api/generated/views.es.js.map +1 -1
  30. package/dist/shared/src/api/queries/activities/getActivities.cjs.js +1 -1
  31. package/dist/shared/src/api/queries/activities/getActivities.cjs.js.map +1 -1
  32. package/dist/shared/src/api/queries/activities/getActivities.es.js +4 -4
  33. package/dist/shared/src/api/queries/activities/getActivities.es.js.map +1 -1
  34. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js +1 -1
  35. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js.map +1 -1
  36. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js +99 -105
  37. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js.map +1 -1
  38. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js +1 -1
  39. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js.map +1 -1
  40. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js +133 -87
  41. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js.map +1 -1
  42. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +1 -1
  43. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js.map +1 -1
  44. package/dist/shared/src/api/queries/entityLists/getLists.es.js +155 -155
  45. package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -1
  46. package/dist/shared/src/api/queries/folders/getFolders.cjs.js +1 -1
  47. package/dist/shared/src/api/queries/folders/getFolders.cjs.js.map +1 -1
  48. package/dist/shared/src/api/queries/folders/getFolders.es.js +66 -64
  49. package/dist/shared/src/api/queries/folders/getFolders.es.js.map +1 -1
  50. package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js +1 -1
  51. package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js.map +1 -1
  52. package/dist/shared/src/api/queries/links/getEntityLinks.es.js +110 -111
  53. package/dist/shared/src/api/queries/links/getEntityLinks.es.js.map +1 -1
  54. package/dist/shared/src/api/queries/links/getLinks.cjs.js +1 -1
  55. package/dist/shared/src/api/queries/links/getLinks.cjs.js.map +1 -1
  56. package/dist/shared/src/api/queries/links/getLinks.es.js +58 -73
  57. package/dist/shared/src/api/queries/links/getLinks.es.js.map +1 -1
  58. package/dist/shared/src/api/queries/overview/getOverview.cjs.js +1 -1
  59. package/dist/shared/src/api/queries/overview/getOverview.cjs.js.map +1 -1
  60. package/dist/shared/src/api/queries/overview/getOverview.es.js +380 -328
  61. package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
  62. package/dist/shared/src/api/queries/overview/patchVersions.cjs.js +1 -1
  63. package/dist/shared/src/api/queries/overview/patchVersions.cjs.js.map +1 -1
  64. package/dist/shared/src/api/queries/overview/patchVersions.es.js +130 -77
  65. package/dist/shared/src/api/queries/overview/patchVersions.es.js.map +1 -1
  66. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +1 -1
  67. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
  68. package/dist/shared/src/api/queries/overview/updateOverview.es.js +136 -132
  69. package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
  70. package/dist/shared/src/api/queries/review/getReview.cjs.js +1 -1
  71. package/dist/shared/src/api/queries/review/getReview.cjs.js.map +1 -1
  72. package/dist/shared/src/api/queries/review/getReview.es.js +180 -104
  73. package/dist/shared/src/api/queries/review/getReview.es.js.map +1 -1
  74. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js +1 -1
  75. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js.map +1 -1
  76. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js +152 -132
  77. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js.map +1 -1
  78. package/dist/shared/src/api/queries/users/getUsers.cjs.js +2 -2
  79. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  80. package/dist/shared/src/api/queries/users/getUsers.es.js +2 -2
  81. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  82. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js +1 -1
  83. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js.map +1 -1
  84. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js +485 -439
  85. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js.map +1 -1
  86. package/dist/shared/src/components/Chips/Chips.cjs.js +1 -1
  87. package/dist/shared/src/components/Chips/Chips.cjs.js.map +1 -1
  88. package/dist/shared/src/components/Chips/Chips.es.js +18 -17
  89. package/dist/shared/src/components/Chips/Chips.es.js.map +1 -1
  90. package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js +1 -1
  91. package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js.map +1 -1
  92. package/dist/shared/src/components/ColumnHeaderMenuUI.es.js +23 -20
  93. package/dist/shared/src/components/ColumnHeaderMenuUI.es.js.map +1 -1
  94. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
  95. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  96. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +10 -7
  97. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  98. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
  99. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
  100. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +23 -20
  101. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
  102. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +1 -1
  103. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
  104. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +23 -20
  105. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
  106. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
  107. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
  108. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +23 -20
  109. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
  110. package/dist/shared/src/components/EntityIcon/EntityIcon.cjs.js +1 -1
  111. package/dist/shared/src/components/EntityIcon/EntityIcon.cjs.js.map +1 -1
  112. package/dist/shared/src/components/EntityIcon/EntityIcon.es.js +34 -30
  113. package/dist/shared/src/components/EntityIcon/EntityIcon.es.js.map +1 -1
  114. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  115. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  116. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +23 -20
  117. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  118. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js +1 -1
  119. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js.map +1 -1
  120. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js +28 -25
  121. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js.map +1 -1
  122. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -1
  123. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
  124. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +23 -20
  125. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
  126. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
  127. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
  128. package/dist/shared/src/components/Feedback/FeedbackContext.es.js +27 -24
  129. package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
  130. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js +1 -1
  131. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js.map +1 -1
  132. package/dist/shared/src/components/LinksManager/LinksManager.es.js +23 -20
  133. package/dist/shared/src/components/LinksManager/LinksManager.es.js.map +1 -1
  134. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  135. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  136. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +23 -20
  137. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  138. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
  139. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
  140. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +23 -20
  141. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
  142. package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js +1 -1
  143. package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js.map +1 -1
  144. package/dist/shared/src/components/ListMetaData/ListMetaData.es.js +23 -20
  145. package/dist/shared/src/components/ListMetaData/ListMetaData.es.js.map +1 -1
  146. package/dist/shared/src/components/Menu/Menu.cjs.js +1 -1
  147. package/dist/shared/src/components/Menu/Menu.cjs.js.map +1 -1
  148. package/dist/shared/src/components/Menu/Menu.es.js +23 -20
  149. package/dist/shared/src/components/Menu/Menu.es.js.map +1 -1
  150. package/dist/shared/src/components/Menu/MenuItem.cjs.js +1 -1
  151. package/dist/shared/src/components/Menu/MenuItem.cjs.js.map +1 -1
  152. package/dist/shared/src/components/Menu/MenuItem.es.js +21 -18
  153. package/dist/shared/src/components/Menu/MenuItem.es.js.map +1 -1
  154. package/dist/shared/src/components/Menu/MenuList.cjs.js +1 -1
  155. package/dist/shared/src/components/Menu/MenuList.cjs.js.map +1 -1
  156. package/dist/shared/src/components/Menu/MenuList.es.js +23 -20
  157. package/dist/shared/src/components/Menu/MenuList.es.js.map +1 -1
  158. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +1 -1
  159. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
  160. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +23 -20
  161. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -1
  162. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  163. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  164. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +23 -20
  165. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  166. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +2 -2
  167. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js.map +1 -1
  168. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +210 -182
  169. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js.map +1 -1
  170. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +2 -2
  171. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  172. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +89 -82
  173. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  174. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  175. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  176. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +23 -20
  177. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  178. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js +1 -1
  179. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js.map +1 -1
  180. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js +109 -106
  181. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js.map +1 -1
  182. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +1 -1
  183. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -1
  184. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +23 -20
  185. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -1
  186. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
  187. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  188. package/dist/shared/src/components/RenameForm/RenameForm.es.js +23 -20
  189. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  190. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  191. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  192. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +29 -32
  193. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  194. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  195. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  196. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +30 -27
  197. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  198. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  199. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  200. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +29 -26
  201. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  202. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js +1 -1
  203. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js.map +1 -1
  204. package/dist/shared/src/components/ReviewablesSelector/Card.es.js +29 -26
  205. package/dist/shared/src/components/ReviewablesSelector/Card.es.js.map +1 -1
  206. package/dist/shared/src/components/SearchFilter/filterScopeRegistry.cjs.js +1 -1
  207. package/dist/shared/src/components/SearchFilter/filterScopeRegistry.cjs.js.map +1 -1
  208. package/dist/shared/src/components/SearchFilter/filterScopeRegistry.es.js +2 -1
  209. package/dist/shared/src/components/SearchFilter/filterScopeRegistry.es.js.map +1 -1
  210. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  211. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  212. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +511 -394
  213. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  214. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +1 -1
  215. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
  216. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +23 -20
  217. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -1
  218. package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.cjs.js +8 -5
  219. package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.cjs.js.map +1 -1
  220. package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.es.js +36 -22
  221. package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.es.js.map +1 -1
  222. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js +1 -1
  223. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js.map +1 -1
  224. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js +30 -27
  225. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js.map +1 -1
  226. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
  227. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  228. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +29 -26
  229. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  230. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js +1 -1
  231. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js.map +1 -1
  232. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js +23 -20
  233. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js.map +1 -1
  234. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
  235. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  236. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +29 -26
  237. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  238. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
  239. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  240. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +32 -29
  241. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  242. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  243. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  244. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +29 -26
  245. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  246. package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
  247. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  248. package/dist/shared/src/containers/Actions/Actions.es.js +23 -20
  249. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  250. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  251. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  252. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +29 -26
  253. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  254. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  255. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  256. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +29 -26
  257. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  258. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  259. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  260. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js +29 -26
  261. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  262. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  263. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  264. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js +29 -26
  265. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  266. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  267. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  268. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js +29 -26
  269. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  270. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.cjs.js +1 -1
  271. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.cjs.js.map +1 -1
  272. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.es.js +23 -20
  273. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.es.js.map +1 -1
  274. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js +1 -1
  275. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js.map +1 -1
  276. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js +29 -26
  277. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js.map +1 -1
  278. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js +1 -1
  279. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js.map +1 -1
  280. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js +29 -26
  281. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js.map +1 -1
  282. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
  283. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  284. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +23 -20
  285. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  286. package/dist/shared/src/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js +1 -1
  287. package/dist/shared/src/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js.map +1 -1
  288. package/dist/shared/src/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.es.js +12 -12
  289. package/dist/shared/src/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.es.js.map +1 -1
  290. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js +1 -1
  291. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js.map +1 -1
  292. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js +133 -130
  293. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js.map +1 -1
  294. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js +1 -1
  295. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js.map +1 -1
  296. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js +29 -26
  297. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js.map +1 -1
  298. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js +1 -1
  299. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js.map +1 -1
  300. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js +27 -24
  301. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js.map +1 -1
  302. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js +1 -1
  303. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js.map +1 -1
  304. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js +27 -24
  305. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js.map +1 -1
  306. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
  307. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  308. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +23 -20
  309. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  310. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  311. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  312. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +29 -26
  313. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  314. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  315. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  316. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +29 -26
  317. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  318. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  319. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  320. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +29 -26
  321. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  322. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  323. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  324. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +29 -26
  325. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  326. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
  327. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
  328. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +23 -20
  329. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
  330. package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
  331. package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
  332. package/dist/shared/src/containers/Feed/Feed.es.js +28 -25
  333. package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
  334. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js +1 -1
  335. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js.map +1 -1
  336. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js +29 -26
  337. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js.map +1 -1
  338. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  339. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  340. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +29 -26
  341. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  342. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
  343. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
  344. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +29 -26
  345. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
  346. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js +1 -1
  347. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js.map +1 -1
  348. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js +23 -20
  349. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js.map +1 -1
  350. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +2 -2
  351. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  352. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +27 -24
  353. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  354. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js +1 -1
  355. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js.map +1 -1
  356. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js +33 -30
  357. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js.map +1 -1
  358. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js +1 -1
  359. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js.map +1 -1
  360. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js +23 -20
  361. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js.map +1 -1
  362. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js +1 -1
  363. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js.map +1 -1
  364. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js +23 -20
  365. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map +1 -1
  366. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js +2 -2
  367. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js.map +1 -1
  368. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js +21 -18
  369. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js.map +1 -1
  370. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js +1 -1
  371. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js.map +1 -1
  372. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js +23 -20
  373. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js.map +1 -1
  374. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  375. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  376. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +27 -24
  377. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  378. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
  379. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  380. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +26 -23
  381. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  382. package/dist/shared/src/containers/ListTable/ListTable.cjs.js +1 -1
  383. package/dist/shared/src/containers/ListTable/ListTable.cjs.js.map +1 -1
  384. package/dist/shared/src/containers/ListTable/ListTable.es.js +25 -22
  385. package/dist/shared/src/containers/ListTable/ListTable.es.js.map +1 -1
  386. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js +1 -1
  387. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js.map +1 -1
  388. package/dist/shared/src/containers/ListTable/ListTableCell.es.js +119 -116
  389. package/dist/shared/src/containers/ListTable/ListTableCell.es.js.map +1 -1
  390. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js +1 -1
  391. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js.map +1 -1
  392. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js +29 -26
  393. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js.map +1 -1
  394. package/dist/shared/src/containers/NewEntity/components/NewEntity.cjs.js +2 -2
  395. package/dist/shared/src/containers/NewEntity/components/NewEntity.cjs.js.map +1 -1
  396. package/dist/shared/src/containers/NewEntity/components/NewEntity.es.js +114 -111
  397. package/dist/shared/src/containers/NewEntity/components/NewEntity.es.js.map +1 -1
  398. package/dist/shared/src/containers/NewEntity/context/NewEntityContext.cjs.js +1 -1
  399. package/dist/shared/src/containers/NewEntity/context/NewEntityContext.cjs.js.map +1 -1
  400. package/dist/shared/src/containers/NewEntity/context/NewEntityContext.es.js +116 -113
  401. package/dist/shared/src/containers/NewEntity/context/NewEntityContext.es.js.map +1 -1
  402. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  403. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  404. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +64 -61
  405. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  406. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  407. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  408. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +586 -414
  409. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  410. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js +1 -1
  411. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js.map +1 -1
  412. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js +24 -21
  413. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js.map +1 -1
  414. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
  415. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  416. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +24 -21
  417. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  418. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  419. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  420. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +29 -26
  421. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  422. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  423. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  424. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +131 -128
  425. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  426. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +5 -5
  427. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
  428. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +289 -272
  429. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
  430. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +1 -1
  431. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -1
  432. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +34 -31
  433. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +1 -1
  434. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
  435. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  436. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +25 -22
  437. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  438. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js +1 -1
  439. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
  440. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js +28 -25
  441. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
  442. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  443. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  444. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +118 -115
  445. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  446. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +1 -1
  447. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
  448. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +23 -20
  449. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
  450. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  451. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  452. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +28 -25
  453. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  454. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  455. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  456. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +25 -22
  457. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  458. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  459. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  460. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +124 -121
  461. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  462. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  463. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  464. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +48 -45
  465. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  466. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  467. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  468. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +26 -23
  469. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  470. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js +1 -1
  471. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js.map +1 -1
  472. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js +23 -20
  473. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js.map +1 -1
  474. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  475. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  476. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +103 -100
  477. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  478. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  479. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  480. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +26 -23
  481. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  482. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  483. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
  484. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +26 -23
  485. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
  486. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupCounts.cjs.js.map +1 -1
  487. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupCounts.es.js.map +1 -1
  488. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  489. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  490. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +93 -383
  491. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  492. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  493. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  494. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +23 -20
  495. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  496. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  497. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  498. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +22 -19
  499. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  500. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  501. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  502. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +25 -22
  503. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  504. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js +1 -1
  505. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js.map +1 -1
  506. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js +37 -45
  507. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js.map +1 -1
  508. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js +1 -1
  509. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -1
  510. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js +21 -18
  511. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -1
  512. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  513. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  514. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +37 -34
  515. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  516. package/dist/shared/src/containers/ProjectTreeTable/utils/columnIds.cjs.js +2 -0
  517. package/dist/shared/src/containers/ProjectTreeTable/utils/columnIds.cjs.js.map +1 -0
  518. package/dist/shared/src/containers/ProjectTreeTable/utils/columnIds.es.js +45 -0
  519. package/dist/shared/src/containers/ProjectTreeTable/utils/columnIds.es.js.map +1 -0
  520. package/dist/shared/src/containers/ProjectTreeTable/utils/getReadOnlyLists.cjs.js.map +1 -1
  521. package/dist/shared/src/containers/ProjectTreeTable/utils/getReadOnlyLists.es.js.map +1 -1
  522. package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.cjs.js +1 -1
  523. package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.cjs.js.map +1 -1
  524. package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.es.js +37 -21
  525. package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.es.js.map +1 -1
  526. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +1 -1
  527. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
  528. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +28 -25
  529. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
  530. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +6 -2
  531. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  532. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +28 -21
  533. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  534. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js +1 -1
  535. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js.map +1 -1
  536. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js +29 -26
  537. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js.map +1 -1
  538. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityWidget.cjs.js +30 -0
  539. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityWidget.cjs.js.map +1 -0
  540. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityWidget.es.js +370 -0
  541. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityWidget.es.js.map +1 -0
  542. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +2 -2
  543. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  544. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +39 -36
  545. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  546. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js +1 -1
  547. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js.map +1 -1
  548. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js +23 -20
  549. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js.map +1 -1
  550. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  551. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  552. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +26 -23
  553. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  554. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js +1 -1
  555. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js.map +1 -1
  556. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js +29 -26
  557. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js.map +1 -1
  558. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js +1 -1
  559. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js.map +1 -1
  560. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js +23 -20
  561. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js.map +1 -1
  562. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  563. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  564. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +29 -26
  565. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  566. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  567. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  568. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +29 -26
  569. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  570. package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js +1 -1
  571. package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js.map +1 -1
  572. package/dist/shared/src/containers/Slicer/components/Slicer.es.js +25 -22
  573. package/dist/shared/src/containers/Slicer/components/Slicer.es.js.map +1 -1
  574. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js +1 -1
  575. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js.map +1 -1
  576. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js +23 -20
  577. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js.map +1 -1
  578. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +1 -1
  579. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -1
  580. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +29 -26
  581. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -1
  582. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js +1 -1
  583. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js.map +1 -1
  584. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js +27 -24
  585. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js.map +1 -1
  586. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js +1 -1
  587. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js.map +1 -1
  588. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js +23 -20
  589. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js.map +1 -1
  590. package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.cjs.js +1 -1
  591. package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.cjs.js.map +1 -1
  592. package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.es.js +22 -19
  593. package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.es.js.map +1 -1
  594. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js +1 -1
  595. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js.map +1 -1
  596. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js +23 -20
  597. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js.map +1 -1
  598. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js +1 -1
  599. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js.map +1 -1
  600. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js +23 -20
  601. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js.map +1 -1
  602. package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.cjs.js +1 -1
  603. package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.cjs.js.map +1 -1
  604. package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.es.js +25 -22
  605. package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.es.js.map +1 -1
  606. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.cjs.js +1 -1
  607. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.cjs.js.map +1 -1
  608. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.es.js +23 -20
  609. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.es.js.map +1 -1
  610. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.cjs.js +1 -1
  611. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.cjs.js.map +1 -1
  612. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.es.js +23 -20
  613. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.es.js.map +1 -1
  614. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.cjs.js +1 -1
  615. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.cjs.js.map +1 -1
  616. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.es.js +23 -20
  617. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.es.js.map +1 -1
  618. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js +1 -1
  619. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js.map +1 -1
  620. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js +24 -21
  621. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js.map +1 -1
  622. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
  623. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
  624. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +23 -20
  625. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
  626. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
  627. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
  628. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +23 -20
  629. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
  630. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +1 -1
  631. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -1
  632. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +23 -20
  633. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -1
  634. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
  635. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  636. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +25 -22
  637. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  638. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
  639. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
  640. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +26 -23
  641. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
  642. package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
  643. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  644. package/dist/shared/src/context/DetailsPanelContext.es.js +27 -24
  645. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  646. package/dist/shared/src/context/EntityUpdatesContext.cjs.js +1 -1
  647. package/dist/shared/src/context/EntityUpdatesContext.cjs.js.map +1 -1
  648. package/dist/shared/src/context/EntityUpdatesContext.es.js +85 -65
  649. package/dist/shared/src/context/EntityUpdatesContext.es.js.map +1 -1
  650. package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
  651. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  652. package/dist/shared/src/context/PowerpackContext.es.js +27 -24
  653. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  654. package/dist/shared/src/context/ProjectFoldersContext.cjs.js +1 -1
  655. package/dist/shared/src/context/ProjectFoldersContext.cjs.js.map +1 -1
  656. package/dist/shared/src/context/ProjectFoldersContext.es.js +25 -22
  657. package/dist/shared/src/context/ProjectFoldersContext.es.js.map +1 -1
  658. package/dist/shared/src/context/SubtasksModulesContext.cjs.js +1 -1
  659. package/dist/shared/src/context/SubtasksModulesContext.cjs.js.map +1 -1
  660. package/dist/shared/src/context/SubtasksModulesContext.es.js +25 -22
  661. package/dist/shared/src/context/SubtasksModulesContext.es.js.map +1 -1
  662. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  663. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  664. package/dist/shared/src/context/WebsocketContext.es.js +31 -28
  665. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  666. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
  667. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  668. package/dist/shared/src/hooks/useEntityUpdate.es.js +23 -20
  669. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  670. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +1 -1
  671. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
  672. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +23 -20
  673. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
  674. package/dist/shared/src/hooks/useHierarchyTable.cjs.js +1 -1
  675. package/dist/shared/src/hooks/useHierarchyTable.cjs.js.map +1 -1
  676. package/dist/shared/src/hooks/useHierarchyTable.es.js +23 -20
  677. package/dist/shared/src/hooks/useHierarchyTable.es.js.map +1 -1
  678. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
  679. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  680. package/dist/shared/src/hooks/useUserProjectConfig.es.js +23 -20
  681. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  682. package/dist/shared/src/util/columnConfigConverter.cjs.js +1 -1
  683. package/dist/shared/src/util/columnConfigConverter.cjs.js.map +1 -1
  684. package/dist/shared/src/util/columnConfigConverter.es.js +33 -33
  685. package/dist/shared/src/util/columnConfigConverter.es.js.map +1 -1
  686. package/dist/shared/src/util/getAttributeIcon.cjs.js +1 -1
  687. package/dist/shared/src/util/getAttributeIcon.cjs.js.map +1 -1
  688. package/dist/shared/src/util/getAttributeIcon.es.js +2 -1
  689. package/dist/shared/src/util/getAttributeIcon.es.js.map +1 -1
  690. package/dist/shared/src/util/realtimeUpdatesUtils.cjs.js +1 -1
  691. package/dist/shared/src/util/realtimeUpdatesUtils.cjs.js.map +1 -1
  692. package/dist/shared/src/util/realtimeUpdatesUtils.es.js +33 -27
  693. package/dist/shared/src/util/realtimeUpdatesUtils.es.js.map +1 -1
  694. package/dist/types/api/generated/graphql.d.ts +45 -2
  695. package/dist/types/api/generated/graphqlLinks.d.ts +14 -2
  696. package/dist/types/api/generated/views.d.ts +13 -4
  697. package/dist/types/api/queries/activities/getActivities.d.ts +24 -0
  698. package/dist/types/api/queries/activities/util/activityRealtimeHandler.d.ts +0 -3
  699. package/dist/types/api/queries/entities/getEntity.d.ts +12 -0
  700. package/dist/types/api/queries/entities/getEntityPanel.d.ts +12 -0
  701. package/dist/types/api/queries/entities/updateEntity.d.ts +12 -0
  702. package/dist/types/api/queries/entityLists/getLists.d.ts +12 -7
  703. package/dist/types/api/queries/entityLists/types.d.ts +7 -0
  704. package/dist/types/api/queries/overview/getOverview.d.ts +14 -2
  705. package/dist/types/api/queries/overview/patchVersions.d.ts +9 -0
  706. package/dist/types/api/queries/project/getProject.d.ts +12 -0
  707. package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +12 -0
  708. package/dist/types/api/queries/users/getUsers.d.ts +12 -0
  709. package/dist/types/api/queries/versions/getVersionsProducts.d.ts +155 -0
  710. package/dist/types/components/EntityIcon/EntityIcon.d.ts +4 -4
  711. package/dist/types/components/ProjectTableSettings/ColumnsSettings.d.ts +9 -1
  712. package/dist/types/components/ProjectTableSettings/index.d.ts +1 -0
  713. package/dist/types/components/RemotePage/RemotePageWrapper.d.ts +1 -1
  714. package/dist/types/components/SearchFilter/useBuildFilterOptions.d.ts +5 -2
  715. package/dist/types/components/SettingsPanel/SettingsPanelItemTemplate.d.ts +1 -0
  716. package/dist/types/components/index.d.ts +1 -0
  717. package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +3 -1
  718. package/dist/types/containers/ProjectTreeTable/buildTreeTableColumns.d.ts +22 -1
  719. package/dist/types/containers/ProjectTreeTable/hooks/useGroupCounts.d.ts +1 -0
  720. package/dist/types/containers/ProjectTreeTable/types/index.d.ts +1 -1
  721. package/dist/types/containers/ProjectTreeTable/types/table.d.ts +3 -0
  722. package/dist/types/containers/ProjectTreeTable/utils/columnIds.d.ts +10 -0
  723. package/dist/types/containers/ProjectTreeTable/utils/getTableFieldOptions.d.ts +2 -1
  724. package/dist/types/containers/ProjectTreeTable/utils/index.d.ts +1 -0
  725. package/dist/types/containers/ProjectTreeTable/widgets/EntityWidget.d.ts +15 -0
  726. package/dist/types/containers/ProjectTreeTable/widgets/index.d.ts +1 -0
  727. package/dist/types/util/realtimeUpdatesUtils.d.ts +6 -3
  728. package/dist/util.cjs.js +1 -1
  729. package/dist/util.es.js +43 -42
  730. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"activityRealtimeHandler.cjs.js","sources":["../../../../../../../src/api/queries/activities/util/activityRealtimeHandler.ts"],"sourcesContent":["import { PubSub, subscribeToThumbnailUpdates, ThumbnailUpdateMessage } from '@shared/util'\nimport { ActivitiesResult } from './activitiesHelpers'\nimport type { GetActivitiesQueryVariables } from '@shared/api'\nimport { ThunkDispatch, UnknownAction } from '@reduxjs/toolkit'\nimport { FeedActivity } from '../types'\n\ntype ActivitiesGqlApi = {\n endpoints: {\n GetActivitiesById: {\n initiate: (\n args: { projectName: string; activityIds: string[]; entityIds: string | string[] },\n options?: { forceRefetch?: boolean },\n ) => any\n }\n }\n util: {\n invalidateTags: (tags: { type: string; id: string }[]) => any\n }\n}\n\nexport type ActivityMessage = {\n topic: string\n project: string\n user: string\n createdAt: string\n updatedAt: string\n id: string\n status: string\n summary?: {\n activity_id: string\n activity_type: string\n references: {\n entity_id: string\n entity_type: string\n reference_type: string\n }[]\n }\n}\n\ntype InfiniteDataDraft = {\n pages: ActivitiesResult[]\n}\n\ntype CacheLifecycleApi = {\n updateCachedData: (updateRecipe: (draft: InfiniteDataDraft) => void) => void\n cacheDataLoaded: Promise<unknown>\n cacheEntryRemoved: Promise<void>\n dispatch: ThunkDispatch<unknown, unknown, UnknownAction>\n getCacheEntry: () => { data?: InfiniteDataDraft }\n gqlApi: ActivitiesGqlApi\n}\n\n/**\n * Checks if a comment body contains a checklist\n */\nconst bodyHasChecklist = (body: string): boolean => {\n if (!body) return false\n return body.includes('* [ ]') || body.includes('* [x]')\n}\n\n/**\n * Handles real-time activity updates for the infinite query cache\n */\nexport const handleActivityRealtimeUpdates = async (\n queryArg: Omit<GetActivitiesQueryVariables, 'last' | 'first' | 'cursor'> & { filter?: any },\n {\n updateCachedData,\n cacheDataLoaded,\n cacheEntryRemoved,\n dispatch,\n getCacheEntry,\n gqlApi,\n }: CacheLifecycleApi,\n) => {\n let token: string | undefined\n let unsubscribeThumbnails: (() => void) | undefined\n\n try {\n // Wait for the initial query to resolve before proceeding\n await cacheDataLoaded\n\n unsubscribeThumbnails = subscribeToThumbnailUpdates(\n (messages: ThumbnailUpdateMessage[]) => {\n const draftData = getCacheEntry().data\n if (!draftData?.pages?.length) return\n\n // Map version ids/entity ids to their new thumbnail hashes\n const versionHashesData = messages.reduce((acc, message) => {\n if (message.summary.entityType === 'version') {\n acc[message.summary.entityId] = message.summary.thumbnailHash || '' // Use empty string if undefined\n }\n return acc\n }, {} as Record<string, string>)\n\n if (Object.keys(versionHashesData).length === 0) return\n\n updateCachedData((draft) => {\n if (!draft || !draft.pages) return\n draft.pages.forEach((page) => {\n page.activities?.forEach((activity) => {\n // Version hashes in activities exist when Activity is on a version.\n // Or the referenceId points to the version entity.\n if (\n activity.referenceType === 'version' &&\n activity.referenceId &&\n versionHashesData[activity.referenceId] !== undefined\n ) {\n if (!activity.version) {\n activity.version = {} as any\n }\n activity.version!.thumbnailHash = versionHashesData[activity.referenceId]\n }\n // Add check for entityId as well\n if (\n activity.origin.type === 'version' &&\n activity.origin.id &&\n versionHashesData[activity.origin.id] !== undefined\n ) {\n if (!activity.version) {\n activity.version = {} as any\n }\n activity.version!.thumbnailHash = versionHashesData[activity.origin.id]\n }\n })\n })\n })\n },\n ['version'],\n )\n\n const handlePubSub = async (topic: string, message: ActivityMessage) => {\n const activityId = message.summary?.activity_id\n if (!activityId) {\n console.warn('[Activity RT] Activity message missing activity_id', message)\n return\n }\n\n const projectName = message.project\n const references = message.summary?.references || []\n const relevantReferenceTypes = ['origin', 'mention', 'relation']\n const entityIds = references\n .filter((reference) => relevantReferenceTypes.includes(reference.reference_type))\n .map((reference) => reference.entity_id)\n\n // Check if this activity is relevant to the current cache\n const queryEntityIds = Array.isArray(queryArg.entityIds)\n ? queryArg.entityIds\n : [queryArg.entityIds]\n\n const isRelevant = queryEntityIds.some((qId) => entityIds.includes(qId))\n\n if (!isRelevant && queryEntityIds.length > 0) {\n return\n }\n\n const activityType = message.summary?.activity_type\n if (!activityType) {\n return\n }\n\n // Handle deletion\n if (topic === 'activity.deleted') {\n updateCachedData((draft) => {\n if (!draft || !draft.pages) {\n console.warn('[Activity RT] No draft or pages found for deletion')\n return\n }\n\n let deleted = false\n for (const page of draft.pages) {\n const index = page.activities?.findIndex(\n (activity) => activity.activityId === activityId,\n )\n if (index !== -1) {\n page.activities.splice(index, 1)\n deleted = true\n }\n }\n\n if (deleted) {\n } else {\n }\n })\n return\n }\n\n // Handle creation and updates\n try {\n // Fetch the updated activity data using the enhanced endpoint\n // The GetActivitiesById endpoint is enhanced to return ActivitiesResult via transformResponse\n const result = await dispatch(\n gqlApi.endpoints.GetActivitiesById.initiate(\n {\n projectName,\n activityIds: [activityId],\n entityIds,\n },\n {\n forceRefetch: true, // Always fetch fresh data\n },\n ),\n )\n\n // Check if we have an error\n if ('error' in result && result.error) {\n console.error('[Activity RT] Error fetching activity:', result.error)\n throw new Error('Failed to fetch activity')\n }\n\n // The transformResponse in enhanceActivitiesApi converts GetActivitiesByIdQuery to ActivitiesResult\n // TypeScript doesn't see this transformation, so we cast through unknown\n const unknownData: unknown = result.data\n const res = unknownData as ActivitiesResult\n const newActivities = res?.activities || []\n\n if (newActivities.length === 0) {\n console.warn('[Activity RT] No activities found for activity_id', activityId)\n return\n }\n\n const newActivity: FeedActivity = newActivities[0]\n\n // Determine activity types to check against\n const activityTypes = [activityType]\n if (activityType === 'comment') {\n const body = newActivity?.body\n const hasChecklist = bodyHasChecklist(body || '')\n if (hasChecklist) {\n activityTypes.push('checklist')\n }\n }\n\n // Check if this activity type is relevant to the query\n const queryActivityTypes = queryArg.activityTypes\n const queryActivityTypesArray = Array.isArray(queryActivityTypes)\n ? queryActivityTypes\n : queryActivityTypes\n ? [queryActivityTypes]\n : []\n const isActivityTypeRelevant =\n queryActivityTypesArray.length === 0 ||\n queryActivityTypesArray.some((type: string) => activityTypes.includes(type))\n\n if (!isActivityTypeRelevant) {\n return\n }\n\n // Update the cache\n updateCachedData((draft) => {\n if (!draft || !draft.pages) {\n console.warn('[Activity RT] No draft or pages found for update')\n return\n }\n\n // Check if activity already exists in any page\n let existingActivityFound = false\n for (const page of draft.pages) {\n const index = page.activities?.findIndex(\n (activity) => activity.activityId === activityId,\n )\n if (index !== -1) {\n // Update existing activity\n page.activities[index] = newActivity\n existingActivityFound = true\n break\n }\n }\n\n // If it's a new activity (topic is 'activity.created'), add it to the first page\n if (!existingActivityFound && topic === 'activity.created') {\n if (draft.pages.length > 0 && draft.pages[0].activities) {\n // Add to the beginning of the first page (most recent activities first)\n // Since we're using reverse chronological order (last: N), prepend to the beginning\n draft.pages[0].activities.unshift(newActivity)\n } else {\n console.warn('[Activity RT] Cannot add activity: no pages or activities array')\n }\n }\n\n // If this is a status change, update any version.publish activities in the cache\n if (\n newActivity.activityType === 'status.change' &&\n newActivity.origin?.type === 'version'\n ) {\n const versionId = newActivity.origin.id\n const newStatus = newActivity.activityData?.newValue\n if (newStatus) {\n draft.pages.forEach((page) => {\n page.activities?.forEach((activity) => {\n if (\n activity.activityType === 'version.publish' &&\n activity.origin?.id === versionId\n ) {\n if (!activity.version) {\n activity.version = {} as any\n }\n activity.version!.status = newStatus\n }\n })\n })\n }\n }\n })\n } catch (error) {\n console.error('[Activity RT] Error fetching activity data for real-time update:', error)\n\n // Invalidate the cache for these entities to trigger a refetch\n dispatch(\n gqlApi.util.invalidateTags(\n entityIds.map((entityId) => ({ type: 'entityActivities', id: entityId })),\n ),\n )\n }\n }\n\n // Subscribe to activity topic\n token = PubSub.subscribe(['activity'], handlePubSub)\n } catch (error) {\n console.error('[Activity RT] Error in activity real-time handler setup:', error)\n // no-op in case `cacheEntryRemoved` resolves before `cacheDataLoaded`\n }\n\n // Wait for cache entry to be removed\n await cacheEntryRemoved\n\n // Cleanup: unsubscribe from PubSub\n if (token) {\n PubSub.unsubscribe(token)\n }\n if (unsubscribeThumbnails) {\n unsubscribeThumbnails()\n }\n}\n"],"names":["bodyHasChecklist","body","handleActivityRealtimeUpdates","queryArg","updateCachedData","cacheDataLoaded","cacheEntryRemoved","dispatch","getCacheEntry","gqlApi","token","unsubscribeThumbnails","subscribeToThumbnailUpdates","messages","versionHashesData","acc","message","draft","page","activity","handlePubSub","topic","activityId","projectName","references","relevantReferenceTypes","entityIds","reference","queryEntityIds","qId","activityType","deleted","index","result","newActivities","newActivity","activityTypes","queryActivityTypes","queryActivityTypesArray","type","existingActivityFound","versionId","newStatus","error","entityId","PubSub"],"mappings":"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"}
1
+ {"version":3,"file":"activityRealtimeHandler.cjs.js","sources":["../../../../../../../src/api/queries/activities/util/activityRealtimeHandler.ts"],"sourcesContent":["import {\n createRealtimeBatcher,\n PubSub,\n subscribeToThumbnailUpdates,\n ThumbnailUpdateMessage,\n waitForRealtimeJitter,\n} from '@shared/util'\nimport { ActivitiesResult } from './activitiesHelpers'\nimport type { GetActivitiesQueryVariables } from '@shared/api'\nimport { ThunkDispatch, UnknownAction } from '@reduxjs/toolkit'\nimport { FeedActivity } from '../types'\n\ntype ActivitiesGqlApi = {\n endpoints: {\n GetActivitiesById: {\n initiate: (\n args: { projectName: string; activityIds: string[]; entityIds: string | string[] },\n options?: { forceRefetch?: boolean },\n ) => any\n }\n }\n util: {\n invalidateTags: (tags: { type: string; id: string }[]) => any\n }\n}\n\nexport type ActivityMessage = {\n topic: string\n project: string\n user: string\n createdAt: string\n updatedAt: string\n id: string\n status: string\n summary?: {\n activity_id: string\n activity_type: string\n references: {\n entity_id: string\n entity_type: string\n reference_type: string\n }[]\n }\n}\n\ntype InfiniteDataDraft = {\n pages: ActivitiesResult[]\n}\n\ntype CacheLifecycleApi = {\n updateCachedData: (updateRecipe: (draft: InfiniteDataDraft) => void) => void\n cacheDataLoaded: Promise<unknown>\n cacheEntryRemoved: Promise<void>\n dispatch: ThunkDispatch<unknown, unknown, UnknownAction>\n getCacheEntry: () => { data?: InfiniteDataDraft }\n gqlApi: ActivitiesGqlApi\n}\n\nconst bodyHasChecklist = (body: string): boolean => {\n if (!body) return false\n return body.includes('* [ ]') || body.includes('* [x]')\n}\n\nexport const handleActivityRealtimeUpdates = async (\n queryArg: Omit<GetActivitiesQueryVariables, 'last' | 'first' | 'cursor'> & { filter?: any },\n {\n updateCachedData,\n cacheDataLoaded,\n cacheEntryRemoved,\n dispatch,\n getCacheEntry,\n gqlApi,\n }: CacheLifecycleApi,\n) => {\n let token: string | undefined\n let unsubscribeThumbnails: (() => void) | undefined\n const batcher = createRealtimeBatcher(\n async (updates: { topic: string; message: ActivityMessage }[], isActive) => {\n const queryEntityIds = Array.isArray(queryArg.entityIds)\n ? queryArg.entityIds\n : [queryArg.entityIds]\n const relevantReferenceTypes = ['origin', 'mention', 'relation']\n const queryActivityTypes = queryArg.activityTypes\n const queryActivityTypesArray = Array.isArray(queryActivityTypes)\n ? queryActivityTypes\n : queryActivityTypes\n ? [queryActivityTypes]\n : []\n const deletedIds: string[] = []\n const activityTopics = new Map<string, string>()\n const activityIds = new Set<string>()\n const activityEntityIds = new Set<string>()\n\n updates.forEach(({ topic, message }) => {\n const activityId = message.summary?.activity_id\n if (!activityId) return\n\n const entityIds = (message.summary?.references || [])\n .filter((reference) => relevantReferenceTypes.includes(reference.reference_type))\n .map((reference) => reference.entity_id)\n const isRelevant = queryEntityIds.some((entityId) => entityIds.includes(entityId))\n if (!isRelevant && queryEntityIds.length > 0) return\n\n if (topic === 'activity.deleted') {\n deletedIds.push(activityId)\n return\n }\n\n if (!message.summary?.activity_type) return\n activityIds.add(activityId)\n activityTopics.set(activityId, topic)\n entityIds.forEach((entityId) => activityEntityIds.add(entityId))\n })\n\n if (deletedIds.length) {\n updateCachedData((draft) => {\n draft.pages?.forEach((page) => {\n page.activities = page.activities?.filter(\n (activity) => !deletedIds.includes(activity.activityId),\n )\n })\n })\n }\n\n const activityIdList = [...activityIds]\n if (!activityIdList.length) return\n\n try {\n await waitForRealtimeJitter()\n const firstUpdate = updates.find(({ message }) => message.summary?.activity_id)\n const result = await dispatch(\n gqlApi.endpoints.GetActivitiesById.initiate(\n {\n projectName: firstUpdate?.message.project || '',\n activityIds: activityIdList,\n entityIds: [...activityEntityIds],\n },\n { forceRefetch: true },\n ),\n )\n\n if ('error' in result && result.error) throw new Error('Failed to fetch activities')\n if (!isActive()) return\n\n const newActivities = ((result.data as unknown as ActivitiesResult)?.activities ||\n []) as FeedActivity[]\n const activityById = new Map(\n newActivities.map((activity) => [activity.activityId, activity]),\n )\n\n updateCachedData((draft) => {\n activityById.forEach((newActivity, activityId) => {\n const activityTypes = [newActivity.activityType]\n if (\n newActivity.activityType === 'comment' &&\n bodyHasChecklist(newActivity.body || '')\n ) {\n activityTypes.push('checklist')\n }\n if (\n queryActivityTypesArray.length > 0 &&\n !queryActivityTypesArray.some((type: string) => activityTypes.includes(type))\n ) {\n return\n }\n\n let existingActivityFound = false\n draft.pages?.forEach((page) => {\n const index = page.activities?.findIndex(\n (activity) => activity.activityId === activityId,\n )\n if (index !== undefined && index !== -1 && page.activities) {\n page.activities[index] = newActivity\n existingActivityFound = true\n }\n })\n\n if (!existingActivityFound && activityTopics.get(activityId) === 'activity.created') {\n draft.pages?.[0]?.activities?.unshift(newActivity)\n }\n\n if (\n newActivity.activityType !== 'status.change' ||\n newActivity.origin?.type !== 'version'\n ) {\n return\n }\n\n const versionId = newActivity.origin.id\n const newStatus = newActivity.activityData?.newValue\n if (!newStatus) return\n\n draft.pages?.forEach((page) => {\n page.activities?.forEach((activity) => {\n if (\n activity.activityType === 'version.publish' &&\n activity.origin?.id === versionId\n ) {\n if (!activity.version) activity.version = {} as any\n activity.version!.status = newStatus\n }\n })\n })\n })\n })\n } catch (error) {\n console.error('[Activity RT] Error fetching activity data for real-time update:', error)\n dispatch(\n gqlApi.util.invalidateTags(\n [...new Set([...queryEntityIds, ...activityEntityIds])].map((entityId) => ({\n type: 'entityActivities',\n id: entityId,\n })),\n ),\n )\n }\n },\n ({ topic, message }) => `${topic}:${message.summary?.activity_id ?? ''}`,\n 500,\n )\n\n try {\n await cacheDataLoaded\n\n unsubscribeThumbnails = subscribeToThumbnailUpdates(\n (messages: ThumbnailUpdateMessage[]) => {\n const draftData = getCacheEntry().data\n if (!draftData?.pages?.length) return\n\n const versionHashesData = messages.reduce((acc, message) => {\n if (message.summary.entityType === 'version') {\n acc[message.summary.entityId] = message.summary.thumbnailHash || ''\n }\n return acc\n }, {} as Record<string, string>)\n\n if (Object.keys(versionHashesData).length === 0) return\n\n updateCachedData((draft) => {\n if (!draft || !draft.pages) return\n draft.pages.forEach((page) => {\n page.activities?.forEach((activity) => {\n if (\n activity.referenceType === 'version' &&\n activity.referenceId &&\n versionHashesData[activity.referenceId] !== undefined\n ) {\n if (!activity.version) activity.version = {} as any\n activity.version!.thumbnailHash = versionHashesData[activity.referenceId]\n }\n if (\n activity.origin.type === 'version' &&\n activity.origin.id &&\n versionHashesData[activity.origin.id] !== undefined\n ) {\n if (!activity.version) activity.version = {} as any\n activity.version!.thumbnailHash = versionHashesData[activity.origin.id]\n }\n })\n })\n })\n },\n ['version'],\n )\n\n const handlePubSub = (topic: string, message: ActivityMessage) => {\n if (!message.summary?.activity_id) {\n console.warn('[Activity RT] Activity message missing activity_id', message)\n return\n }\n batcher.add({ topic, message })\n }\n\n token = PubSub.subscribe(['activity'], handlePubSub)\n } catch (error) {\n console.error('[Activity RT] Error in activity real-time handler setup:', error)\n }\n\n await cacheEntryRemoved\n\n if (token) PubSub.unsubscribe(token)\n if (unsubscribeThumbnails) unsubscribeThumbnails()\n batcher.clear()\n}\n"],"names":["bodyHasChecklist","body","handleActivityRealtimeUpdates","queryArg","updateCachedData","cacheDataLoaded","cacheEntryRemoved","dispatch","getCacheEntry","gqlApi","token","unsubscribeThumbnails","batcher","createRealtimeBatcher","updates","isActive","queryEntityIds","relevantReferenceTypes","queryActivityTypes","queryActivityTypesArray","deletedIds","activityTopics","activityIds","activityEntityIds","topic","message","activityId","entityIds","reference","entityId","draft","page","activity","activityIdList","waitForRealtimeJitter","firstUpdate","result","newActivities","activityById","newActivity","activityTypes","type","existingActivityFound","index","versionId","newStatus","error","subscribeToThumbnailUpdates","messages","versionHashesData","acc","handlePubSub","PubSub"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import "lodash";
2
2
  import "react-toastify";
3
3
  import "uuid";
4
- import { subscribeToThumbnailUpdates as C } from "../../../../util/thumbnailWebsocket.es.js";
4
+ import { subscribeToThumbnailUpdates as M } from "../../../../util/thumbnailWebsocket.es.js";
5
5
  import "../../../base/client.es.js";
6
6
  import "../../../generated/graphql.es.js";
7
7
  import "../../../generated/graphqlLinks.es.js";
@@ -99,127 +99,121 @@ import "../../views/getViews.es.js";
99
99
  import "../../views/updateViews.es.js";
100
100
  import "../../watchers/getWatchers.es.js";
101
101
  import "../../uris/getUris.es.js";
102
- import D from "../../../../util/pubsub.es.js";
103
- const F = (n) => n ? n.includes("* [ ]") || n.includes("* [x]") : !1, jt = async (n, {
104
- updateCachedData: d,
105
- cacheDataLoaded: N,
106
- cacheEntryRemoved: j,
107
- dispatch: k,
108
- getCacheEntry: S,
109
- gqlApi: E
102
+ import { createRealtimeBatcher as P, waitForRealtimeJitter as $ } from "../../../../util/realtimeUpdatesUtils.es.js";
103
+ import A from "../../../../util/pubsub.es.js";
104
+ const G = (n) => n ? n.includes("* [ ]") || n.includes("* [x]") : !1, Dt = async (n, {
105
+ updateCachedData: v,
106
+ cacheDataLoaded: j,
107
+ cacheEntryRemoved: B,
108
+ dispatch: T,
109
+ getCacheEntry: F,
110
+ gqlApi: g
110
111
  }) => {
111
- let h, g;
112
- try {
113
- await N, g = C(
114
- (u) => {
115
- if (!S().data?.pages?.length) return;
116
- const r = u.reduce((s, p) => (p.summary.entityType === "version" && (s[p.summary.entityId] = p.summary.thumbnailHash || ""), s), {});
117
- Object.keys(r).length !== 0 && d((s) => {
118
- !s || !s.pages || s.pages.forEach((p) => {
119
- p.activities?.forEach((i) => {
120
- i.referenceType === "version" && i.referenceId && r[i.referenceId] !== void 0 && (i.version || (i.version = {}), i.version.thumbnailHash = r[i.referenceId]), i.origin.type === "version" && i.origin.id && r[i.origin.id] !== void 0 && (i.version || (i.version = {}), i.version.thumbnailHash = r[i.origin.id]);
121
- });
122
- });
123
- });
124
- },
125
- ["version"]
126
- );
127
- const T = async (u, m) => {
128
- const r = m.summary?.activity_id;
129
- if (!r) {
130
- console.warn("[Activity RT] Activity message missing activity_id", m);
131
- return;
132
- }
133
- const s = m.project, p = m.summary?.references || [], i = ["origin", "mention", "relation"], b = p.filter((t) => i.includes(t.reference_type)).map((t) => t.entity_id), x = Array.isArray(n.entityIds) ? n.entityIds : [n.entityIds];
134
- if (!x.some((t) => b.includes(t)) && x.length > 0)
135
- return;
136
- const A = m.summary?.activity_type;
137
- if (A) {
138
- if (u === "activity.deleted") {
139
- d((t) => {
140
- if (!t || !t.pages) {
141
- console.warn("[Activity RT] No draft or pages found for deletion");
142
- return;
143
- }
144
- let c = !1;
145
- for (const I of t.pages) {
146
- const a = I.activities?.findIndex(
147
- (o) => o.activityId === r
148
- );
149
- a !== -1 && (I.activities.splice(a, 1), c = !0);
150
- }
151
- });
152
- return;
112
+ let h, I;
113
+ const E = P(
114
+ async (s, u) => {
115
+ const p = Array.isArray(n.entityIds) ? n.entityIds : [n.entityIds], f = ["origin", "mention", "relation"], e = n.activityTypes, a = Array.isArray(e) ? e : e ? [e] : [], i = [], R = /* @__PURE__ */ new Map(), w = /* @__PURE__ */ new Set(), b = /* @__PURE__ */ new Set();
116
+ s.forEach(({ topic: c, message: r }) => {
117
+ const d = r.summary?.activity_id;
118
+ if (!d) return;
119
+ const l = (r.summary?.references || []).filter((t) => f.includes(t.reference_type)).map((t) => t.entity_id);
120
+ if (!(!p.some((t) => l.includes(t)) && p.length > 0)) {
121
+ if (c === "activity.deleted") {
122
+ i.push(d);
123
+ return;
124
+ }
125
+ r.summary?.activity_type && (w.add(d), R.set(d, c), l.forEach((t) => b.add(t)));
153
126
  }
127
+ }), i.length && v((c) => {
128
+ c.pages?.forEach((r) => {
129
+ r.activities = r.activities?.filter(
130
+ (d) => !i.includes(d.activityId)
131
+ );
132
+ });
133
+ });
134
+ const _ = [...w];
135
+ if (_.length)
154
136
  try {
155
- const t = await k(
156
- E.endpoints.GetActivitiesById.initiate(
137
+ await $();
138
+ const c = s.find(({ message: o }) => o.summary?.activity_id), r = await T(
139
+ g.endpoints.GetActivitiesById.initiate(
157
140
  {
158
- projectName: s,
159
- activityIds: [r],
160
- entityIds: b
141
+ projectName: c?.message.project || "",
142
+ activityIds: _,
143
+ entityIds: [...b]
161
144
  },
162
- {
163
- forceRefetch: !0
164
- // Always fetch fresh data
165
- }
145
+ { forceRefetch: !0 }
166
146
  )
167
147
  );
168
- if ("error" in t && t.error)
169
- throw console.error("[Activity RT] Error fetching activity:", t.error), new Error("Failed to fetch activity");
170
- const a = t.data?.activities || [];
171
- if (a.length === 0) {
172
- console.warn("[Activity RT] No activities found for activity_id", r);
173
- return;
174
- }
175
- const o = a[0], _ = [A];
176
- if (A === "comment") {
177
- const e = o?.body;
178
- F(e || "") && _.push("checklist");
179
- }
180
- const v = n.activityTypes, H = Array.isArray(v) ? v : v ? [v] : [];
181
- if (!(H.length === 0 || H.some((e) => _.includes(e))))
182
- return;
183
- d((e) => {
184
- if (!e || !e.pages) {
185
- console.warn("[Activity RT] No draft or pages found for update");
186
- return;
187
- }
188
- let w = !1;
189
- for (const l of e.pages) {
190
- const y = l.activities?.findIndex(
191
- (R) => R.activityId === r
192
- );
193
- if (y !== -1) {
194
- l.activities[y] = o, w = !0;
195
- break;
196
- }
197
- }
198
- if (!w && u === "activity.created" && (e.pages.length > 0 && e.pages[0].activities ? e.pages[0].activities.unshift(o) : console.warn("[Activity RT] Cannot add activity: no pages or activities array")), o.activityType === "status.change" && o.origin?.type === "version") {
199
- const l = o.origin.id, y = o.activityData?.newValue;
200
- y && e.pages.forEach((R) => {
201
- R.activities?.forEach((f) => {
202
- f.activityType === "version.publish" && f.origin?.id === l && (f.version || (f.version = {}), f.version.status = y);
148
+ if ("error" in r && r.error) throw new Error("Failed to fetch activities");
149
+ if (!u()) return;
150
+ const d = r.data?.activities || [], l = new Map(
151
+ d.map((o) => [o.activityId, o])
152
+ );
153
+ v((o) => {
154
+ l.forEach((t, S) => {
155
+ const x = [t.activityType];
156
+ if (t.activityType === "comment" && G(t.body || "") && x.push("checklist"), a.length > 0 && !a.some((y) => x.includes(y)))
157
+ return;
158
+ let H = !1;
159
+ if (o.pages?.forEach((y) => {
160
+ const m = y.activities?.findIndex(
161
+ (D) => D.activityId === S
162
+ );
163
+ m !== void 0 && m !== -1 && y.activities && (y.activities[m] = t, H = !0);
164
+ }), !H && R.get(S) === "activity.created" && o.pages?.[0]?.activities?.unshift(t), t.activityType !== "status.change" || t.origin?.type !== "version")
165
+ return;
166
+ const U = t.origin.id, k = t.activityData?.newValue;
167
+ k && o.pages?.forEach((y) => {
168
+ y.activities?.forEach((m) => {
169
+ m.activityType === "version.publish" && m.origin?.id === U && (m.version || (m.version = {}), m.version.status = k);
203
170
  });
204
171
  });
205
- }
172
+ });
206
173
  });
207
- } catch (t) {
208
- console.error("[Activity RT] Error fetching activity data for real-time update:", t), k(
209
- E.util.invalidateTags(
210
- b.map((c) => ({ type: "entityActivities", id: c }))
174
+ } catch (c) {
175
+ console.error("[Activity RT] Error fetching activity data for real-time update:", c), T(
176
+ g.util.invalidateTags(
177
+ [.../* @__PURE__ */ new Set([...p, ...b])].map((r) => ({
178
+ type: "entityActivities",
179
+ id: r
180
+ }))
211
181
  )
212
182
  );
213
183
  }
184
+ },
185
+ ({ topic: s, message: u }) => `${s}:${u.summary?.activity_id ?? ""}`,
186
+ 500
187
+ );
188
+ try {
189
+ await j, I = M(
190
+ (u) => {
191
+ if (!F().data?.pages?.length) return;
192
+ const f = u.reduce((e, a) => (a.summary.entityType === "version" && (e[a.summary.entityId] = a.summary.thumbnailHash || ""), e), {});
193
+ Object.keys(f).length !== 0 && v((e) => {
194
+ !e || !e.pages || e.pages.forEach((a) => {
195
+ a.activities?.forEach((i) => {
196
+ i.referenceType === "version" && i.referenceId && f[i.referenceId] !== void 0 && (i.version || (i.version = {}), i.version.thumbnailHash = f[i.referenceId]), i.origin.type === "version" && i.origin.id && f[i.origin.id] !== void 0 && (i.version || (i.version = {}), i.version.thumbnailHash = f[i.origin.id]);
197
+ });
198
+ });
199
+ });
200
+ },
201
+ ["version"]
202
+ );
203
+ const s = (u, p) => {
204
+ if (!p.summary?.activity_id) {
205
+ console.warn("[Activity RT] Activity message missing activity_id", p);
206
+ return;
214
207
  }
208
+ E.add({ topic: u, message: p });
215
209
  };
216
- h = D.subscribe(["activity"], T);
217
- } catch (T) {
218
- console.error("[Activity RT] Error in activity real-time handler setup:", T);
210
+ h = A.subscribe(["activity"], s);
211
+ } catch (s) {
212
+ console.error("[Activity RT] Error in activity real-time handler setup:", s);
219
213
  }
220
- await j, h && D.unsubscribe(h), g && g();
214
+ await B, h && A.unsubscribe(h), I && I(), E.clear();
221
215
  };
222
216
  export {
223
- jt as handleActivityRealtimeUpdates
217
+ Dt as handleActivityRealtimeUpdates
224
218
  };
225
219
  //# sourceMappingURL=activityRealtimeHandler.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"activityRealtimeHandler.es.js","sources":["../../../../../../../src/api/queries/activities/util/activityRealtimeHandler.ts"],"sourcesContent":["import { PubSub, subscribeToThumbnailUpdates, ThumbnailUpdateMessage } from '@shared/util'\nimport { ActivitiesResult } from './activitiesHelpers'\nimport type { GetActivitiesQueryVariables } from '@shared/api'\nimport { ThunkDispatch, UnknownAction } from '@reduxjs/toolkit'\nimport { FeedActivity } from '../types'\n\ntype ActivitiesGqlApi = {\n endpoints: {\n GetActivitiesById: {\n initiate: (\n args: { projectName: string; activityIds: string[]; entityIds: string | string[] },\n options?: { forceRefetch?: boolean },\n ) => any\n }\n }\n util: {\n invalidateTags: (tags: { type: string; id: string }[]) => any\n }\n}\n\nexport type ActivityMessage = {\n topic: string\n project: string\n user: string\n createdAt: string\n updatedAt: string\n id: string\n status: string\n summary?: {\n activity_id: string\n activity_type: string\n references: {\n entity_id: string\n entity_type: string\n reference_type: string\n }[]\n }\n}\n\ntype InfiniteDataDraft = {\n pages: ActivitiesResult[]\n}\n\ntype CacheLifecycleApi = {\n updateCachedData: (updateRecipe: (draft: InfiniteDataDraft) => void) => void\n cacheDataLoaded: Promise<unknown>\n cacheEntryRemoved: Promise<void>\n dispatch: ThunkDispatch<unknown, unknown, UnknownAction>\n getCacheEntry: () => { data?: InfiniteDataDraft }\n gqlApi: ActivitiesGqlApi\n}\n\n/**\n * Checks if a comment body contains a checklist\n */\nconst bodyHasChecklist = (body: string): boolean => {\n if (!body) return false\n return body.includes('* [ ]') || body.includes('* [x]')\n}\n\n/**\n * Handles real-time activity updates for the infinite query cache\n */\nexport const handleActivityRealtimeUpdates = async (\n queryArg: Omit<GetActivitiesQueryVariables, 'last' | 'first' | 'cursor'> & { filter?: any },\n {\n updateCachedData,\n cacheDataLoaded,\n cacheEntryRemoved,\n dispatch,\n getCacheEntry,\n gqlApi,\n }: CacheLifecycleApi,\n) => {\n let token: string | undefined\n let unsubscribeThumbnails: (() => void) | undefined\n\n try {\n // Wait for the initial query to resolve before proceeding\n await cacheDataLoaded\n\n unsubscribeThumbnails = subscribeToThumbnailUpdates(\n (messages: ThumbnailUpdateMessage[]) => {\n const draftData = getCacheEntry().data\n if (!draftData?.pages?.length) return\n\n // Map version ids/entity ids to their new thumbnail hashes\n const versionHashesData = messages.reduce((acc, message) => {\n if (message.summary.entityType === 'version') {\n acc[message.summary.entityId] = message.summary.thumbnailHash || '' // Use empty string if undefined\n }\n return acc\n }, {} as Record<string, string>)\n\n if (Object.keys(versionHashesData).length === 0) return\n\n updateCachedData((draft) => {\n if (!draft || !draft.pages) return\n draft.pages.forEach((page) => {\n page.activities?.forEach((activity) => {\n // Version hashes in activities exist when Activity is on a version.\n // Or the referenceId points to the version entity.\n if (\n activity.referenceType === 'version' &&\n activity.referenceId &&\n versionHashesData[activity.referenceId] !== undefined\n ) {\n if (!activity.version) {\n activity.version = {} as any\n }\n activity.version!.thumbnailHash = versionHashesData[activity.referenceId]\n }\n // Add check for entityId as well\n if (\n activity.origin.type === 'version' &&\n activity.origin.id &&\n versionHashesData[activity.origin.id] !== undefined\n ) {\n if (!activity.version) {\n activity.version = {} as any\n }\n activity.version!.thumbnailHash = versionHashesData[activity.origin.id]\n }\n })\n })\n })\n },\n ['version'],\n )\n\n const handlePubSub = async (topic: string, message: ActivityMessage) => {\n const activityId = message.summary?.activity_id\n if (!activityId) {\n console.warn('[Activity RT] Activity message missing activity_id', message)\n return\n }\n\n const projectName = message.project\n const references = message.summary?.references || []\n const relevantReferenceTypes = ['origin', 'mention', 'relation']\n const entityIds = references\n .filter((reference) => relevantReferenceTypes.includes(reference.reference_type))\n .map((reference) => reference.entity_id)\n\n // Check if this activity is relevant to the current cache\n const queryEntityIds = Array.isArray(queryArg.entityIds)\n ? queryArg.entityIds\n : [queryArg.entityIds]\n\n const isRelevant = queryEntityIds.some((qId) => entityIds.includes(qId))\n\n if (!isRelevant && queryEntityIds.length > 0) {\n return\n }\n\n const activityType = message.summary?.activity_type\n if (!activityType) {\n return\n }\n\n // Handle deletion\n if (topic === 'activity.deleted') {\n updateCachedData((draft) => {\n if (!draft || !draft.pages) {\n console.warn('[Activity RT] No draft or pages found for deletion')\n return\n }\n\n let deleted = false\n for (const page of draft.pages) {\n const index = page.activities?.findIndex(\n (activity) => activity.activityId === activityId,\n )\n if (index !== -1) {\n page.activities.splice(index, 1)\n deleted = true\n }\n }\n\n if (deleted) {\n } else {\n }\n })\n return\n }\n\n // Handle creation and updates\n try {\n // Fetch the updated activity data using the enhanced endpoint\n // The GetActivitiesById endpoint is enhanced to return ActivitiesResult via transformResponse\n const result = await dispatch(\n gqlApi.endpoints.GetActivitiesById.initiate(\n {\n projectName,\n activityIds: [activityId],\n entityIds,\n },\n {\n forceRefetch: true, // Always fetch fresh data\n },\n ),\n )\n\n // Check if we have an error\n if ('error' in result && result.error) {\n console.error('[Activity RT] Error fetching activity:', result.error)\n throw new Error('Failed to fetch activity')\n }\n\n // The transformResponse in enhanceActivitiesApi converts GetActivitiesByIdQuery to ActivitiesResult\n // TypeScript doesn't see this transformation, so we cast through unknown\n const unknownData: unknown = result.data\n const res = unknownData as ActivitiesResult\n const newActivities = res?.activities || []\n\n if (newActivities.length === 0) {\n console.warn('[Activity RT] No activities found for activity_id', activityId)\n return\n }\n\n const newActivity: FeedActivity = newActivities[0]\n\n // Determine activity types to check against\n const activityTypes = [activityType]\n if (activityType === 'comment') {\n const body = newActivity?.body\n const hasChecklist = bodyHasChecklist(body || '')\n if (hasChecklist) {\n activityTypes.push('checklist')\n }\n }\n\n // Check if this activity type is relevant to the query\n const queryActivityTypes = queryArg.activityTypes\n const queryActivityTypesArray = Array.isArray(queryActivityTypes)\n ? queryActivityTypes\n : queryActivityTypes\n ? [queryActivityTypes]\n : []\n const isActivityTypeRelevant =\n queryActivityTypesArray.length === 0 ||\n queryActivityTypesArray.some((type: string) => activityTypes.includes(type))\n\n if (!isActivityTypeRelevant) {\n return\n }\n\n // Update the cache\n updateCachedData((draft) => {\n if (!draft || !draft.pages) {\n console.warn('[Activity RT] No draft or pages found for update')\n return\n }\n\n // Check if activity already exists in any page\n let existingActivityFound = false\n for (const page of draft.pages) {\n const index = page.activities?.findIndex(\n (activity) => activity.activityId === activityId,\n )\n if (index !== -1) {\n // Update existing activity\n page.activities[index] = newActivity\n existingActivityFound = true\n break\n }\n }\n\n // If it's a new activity (topic is 'activity.created'), add it to the first page\n if (!existingActivityFound && topic === 'activity.created') {\n if (draft.pages.length > 0 && draft.pages[0].activities) {\n // Add to the beginning of the first page (most recent activities first)\n // Since we're using reverse chronological order (last: N), prepend to the beginning\n draft.pages[0].activities.unshift(newActivity)\n } else {\n console.warn('[Activity RT] Cannot add activity: no pages or activities array')\n }\n }\n\n // If this is a status change, update any version.publish activities in the cache\n if (\n newActivity.activityType === 'status.change' &&\n newActivity.origin?.type === 'version'\n ) {\n const versionId = newActivity.origin.id\n const newStatus = newActivity.activityData?.newValue\n if (newStatus) {\n draft.pages.forEach((page) => {\n page.activities?.forEach((activity) => {\n if (\n activity.activityType === 'version.publish' &&\n activity.origin?.id === versionId\n ) {\n if (!activity.version) {\n activity.version = {} as any\n }\n activity.version!.status = newStatus\n }\n })\n })\n }\n }\n })\n } catch (error) {\n console.error('[Activity RT] Error fetching activity data for real-time update:', error)\n\n // Invalidate the cache for these entities to trigger a refetch\n dispatch(\n gqlApi.util.invalidateTags(\n entityIds.map((entityId) => ({ type: 'entityActivities', id: entityId })),\n ),\n )\n }\n }\n\n // Subscribe to activity topic\n token = PubSub.subscribe(['activity'], handlePubSub)\n } catch (error) {\n console.error('[Activity RT] Error in activity real-time handler setup:', error)\n // no-op in case `cacheEntryRemoved` resolves before `cacheDataLoaded`\n }\n\n // Wait for cache entry to be removed\n await cacheEntryRemoved\n\n // Cleanup: unsubscribe from PubSub\n if (token) {\n PubSub.unsubscribe(token)\n }\n if (unsubscribeThumbnails) {\n unsubscribeThumbnails()\n }\n}\n"],"names":["bodyHasChecklist","body","handleActivityRealtimeUpdates","queryArg","updateCachedData","cacheDataLoaded","cacheEntryRemoved","dispatch","getCacheEntry","gqlApi","token","unsubscribeThumbnails","subscribeToThumbnailUpdates","messages","versionHashesData","acc","message","draft","page","activity","handlePubSub","topic","activityId","projectName","references","relevantReferenceTypes","entityIds","reference","queryEntityIds","qId","activityType","deleted","index","result","newActivities","newActivity","activityTypes","queryActivityTypes","queryActivityTypesArray","type","existingActivityFound","versionId","newStatus","error","entityId","PubSub"],"mappings":"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"}
1
+ {"version":3,"file":"activityRealtimeHandler.es.js","sources":["../../../../../../../src/api/queries/activities/util/activityRealtimeHandler.ts"],"sourcesContent":["import {\n createRealtimeBatcher,\n PubSub,\n subscribeToThumbnailUpdates,\n ThumbnailUpdateMessage,\n waitForRealtimeJitter,\n} from '@shared/util'\nimport { ActivitiesResult } from './activitiesHelpers'\nimport type { GetActivitiesQueryVariables } from '@shared/api'\nimport { ThunkDispatch, UnknownAction } from '@reduxjs/toolkit'\nimport { FeedActivity } from '../types'\n\ntype ActivitiesGqlApi = {\n endpoints: {\n GetActivitiesById: {\n initiate: (\n args: { projectName: string; activityIds: string[]; entityIds: string | string[] },\n options?: { forceRefetch?: boolean },\n ) => any\n }\n }\n util: {\n invalidateTags: (tags: { type: string; id: string }[]) => any\n }\n}\n\nexport type ActivityMessage = {\n topic: string\n project: string\n user: string\n createdAt: string\n updatedAt: string\n id: string\n status: string\n summary?: {\n activity_id: string\n activity_type: string\n references: {\n entity_id: string\n entity_type: string\n reference_type: string\n }[]\n }\n}\n\ntype InfiniteDataDraft = {\n pages: ActivitiesResult[]\n}\n\ntype CacheLifecycleApi = {\n updateCachedData: (updateRecipe: (draft: InfiniteDataDraft) => void) => void\n cacheDataLoaded: Promise<unknown>\n cacheEntryRemoved: Promise<void>\n dispatch: ThunkDispatch<unknown, unknown, UnknownAction>\n getCacheEntry: () => { data?: InfiniteDataDraft }\n gqlApi: ActivitiesGqlApi\n}\n\nconst bodyHasChecklist = (body: string): boolean => {\n if (!body) return false\n return body.includes('* [ ]') || body.includes('* [x]')\n}\n\nexport const handleActivityRealtimeUpdates = async (\n queryArg: Omit<GetActivitiesQueryVariables, 'last' | 'first' | 'cursor'> & { filter?: any },\n {\n updateCachedData,\n cacheDataLoaded,\n cacheEntryRemoved,\n dispatch,\n getCacheEntry,\n gqlApi,\n }: CacheLifecycleApi,\n) => {\n let token: string | undefined\n let unsubscribeThumbnails: (() => void) | undefined\n const batcher = createRealtimeBatcher(\n async (updates: { topic: string; message: ActivityMessage }[], isActive) => {\n const queryEntityIds = Array.isArray(queryArg.entityIds)\n ? queryArg.entityIds\n : [queryArg.entityIds]\n const relevantReferenceTypes = ['origin', 'mention', 'relation']\n const queryActivityTypes = queryArg.activityTypes\n const queryActivityTypesArray = Array.isArray(queryActivityTypes)\n ? queryActivityTypes\n : queryActivityTypes\n ? [queryActivityTypes]\n : []\n const deletedIds: string[] = []\n const activityTopics = new Map<string, string>()\n const activityIds = new Set<string>()\n const activityEntityIds = new Set<string>()\n\n updates.forEach(({ topic, message }) => {\n const activityId = message.summary?.activity_id\n if (!activityId) return\n\n const entityIds = (message.summary?.references || [])\n .filter((reference) => relevantReferenceTypes.includes(reference.reference_type))\n .map((reference) => reference.entity_id)\n const isRelevant = queryEntityIds.some((entityId) => entityIds.includes(entityId))\n if (!isRelevant && queryEntityIds.length > 0) return\n\n if (topic === 'activity.deleted') {\n deletedIds.push(activityId)\n return\n }\n\n if (!message.summary?.activity_type) return\n activityIds.add(activityId)\n activityTopics.set(activityId, topic)\n entityIds.forEach((entityId) => activityEntityIds.add(entityId))\n })\n\n if (deletedIds.length) {\n updateCachedData((draft) => {\n draft.pages?.forEach((page) => {\n page.activities = page.activities?.filter(\n (activity) => !deletedIds.includes(activity.activityId),\n )\n })\n })\n }\n\n const activityIdList = [...activityIds]\n if (!activityIdList.length) return\n\n try {\n await waitForRealtimeJitter()\n const firstUpdate = updates.find(({ message }) => message.summary?.activity_id)\n const result = await dispatch(\n gqlApi.endpoints.GetActivitiesById.initiate(\n {\n projectName: firstUpdate?.message.project || '',\n activityIds: activityIdList,\n entityIds: [...activityEntityIds],\n },\n { forceRefetch: true },\n ),\n )\n\n if ('error' in result && result.error) throw new Error('Failed to fetch activities')\n if (!isActive()) return\n\n const newActivities = ((result.data as unknown as ActivitiesResult)?.activities ||\n []) as FeedActivity[]\n const activityById = new Map(\n newActivities.map((activity) => [activity.activityId, activity]),\n )\n\n updateCachedData((draft) => {\n activityById.forEach((newActivity, activityId) => {\n const activityTypes = [newActivity.activityType]\n if (\n newActivity.activityType === 'comment' &&\n bodyHasChecklist(newActivity.body || '')\n ) {\n activityTypes.push('checklist')\n }\n if (\n queryActivityTypesArray.length > 0 &&\n !queryActivityTypesArray.some((type: string) => activityTypes.includes(type))\n ) {\n return\n }\n\n let existingActivityFound = false\n draft.pages?.forEach((page) => {\n const index = page.activities?.findIndex(\n (activity) => activity.activityId === activityId,\n )\n if (index !== undefined && index !== -1 && page.activities) {\n page.activities[index] = newActivity\n existingActivityFound = true\n }\n })\n\n if (!existingActivityFound && activityTopics.get(activityId) === 'activity.created') {\n draft.pages?.[0]?.activities?.unshift(newActivity)\n }\n\n if (\n newActivity.activityType !== 'status.change' ||\n newActivity.origin?.type !== 'version'\n ) {\n return\n }\n\n const versionId = newActivity.origin.id\n const newStatus = newActivity.activityData?.newValue\n if (!newStatus) return\n\n draft.pages?.forEach((page) => {\n page.activities?.forEach((activity) => {\n if (\n activity.activityType === 'version.publish' &&\n activity.origin?.id === versionId\n ) {\n if (!activity.version) activity.version = {} as any\n activity.version!.status = newStatus\n }\n })\n })\n })\n })\n } catch (error) {\n console.error('[Activity RT] Error fetching activity data for real-time update:', error)\n dispatch(\n gqlApi.util.invalidateTags(\n [...new Set([...queryEntityIds, ...activityEntityIds])].map((entityId) => ({\n type: 'entityActivities',\n id: entityId,\n })),\n ),\n )\n }\n },\n ({ topic, message }) => `${topic}:${message.summary?.activity_id ?? ''}`,\n 500,\n )\n\n try {\n await cacheDataLoaded\n\n unsubscribeThumbnails = subscribeToThumbnailUpdates(\n (messages: ThumbnailUpdateMessage[]) => {\n const draftData = getCacheEntry().data\n if (!draftData?.pages?.length) return\n\n const versionHashesData = messages.reduce((acc, message) => {\n if (message.summary.entityType === 'version') {\n acc[message.summary.entityId] = message.summary.thumbnailHash || ''\n }\n return acc\n }, {} as Record<string, string>)\n\n if (Object.keys(versionHashesData).length === 0) return\n\n updateCachedData((draft) => {\n if (!draft || !draft.pages) return\n draft.pages.forEach((page) => {\n page.activities?.forEach((activity) => {\n if (\n activity.referenceType === 'version' &&\n activity.referenceId &&\n versionHashesData[activity.referenceId] !== undefined\n ) {\n if (!activity.version) activity.version = {} as any\n activity.version!.thumbnailHash = versionHashesData[activity.referenceId]\n }\n if (\n activity.origin.type === 'version' &&\n activity.origin.id &&\n versionHashesData[activity.origin.id] !== undefined\n ) {\n if (!activity.version) activity.version = {} as any\n activity.version!.thumbnailHash = versionHashesData[activity.origin.id]\n }\n })\n })\n })\n },\n ['version'],\n )\n\n const handlePubSub = (topic: string, message: ActivityMessage) => {\n if (!message.summary?.activity_id) {\n console.warn('[Activity RT] Activity message missing activity_id', message)\n return\n }\n batcher.add({ topic, message })\n }\n\n token = PubSub.subscribe(['activity'], handlePubSub)\n } catch (error) {\n console.error('[Activity RT] Error in activity real-time handler setup:', error)\n }\n\n await cacheEntryRemoved\n\n if (token) PubSub.unsubscribe(token)\n if (unsubscribeThumbnails) unsubscribeThumbnails()\n batcher.clear()\n}\n"],"names":["bodyHasChecklist","body","handleActivityRealtimeUpdates","queryArg","updateCachedData","cacheDataLoaded","cacheEntryRemoved","dispatch","getCacheEntry","gqlApi","token","unsubscribeThumbnails","batcher","createRealtimeBatcher","updates","isActive","queryEntityIds","relevantReferenceTypes","queryActivityTypes","queryActivityTypesArray","deletedIds","activityTopics","activityIds","activityEntityIds","topic","message","activityId","entityIds","reference","entityId","draft","page","activity","activityIdList","waitForRealtimeJitter","firstUpdate","result","newActivities","activityById","newActivity","activityTypes","type","existingActivityFound","index","versionId","newStatus","error","subscribeToThumbnailUpdates","messages","versionHashesData","acc","handlePubSub","PubSub"],"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 G=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");require("lodash");require("react-toastify");require("uuid");const N=require("../../../util/thumbnailWebsocket.cjs.js");require("../actions/getActions.cjs.js");require("../activities/getActivities.cjs.js");require("../activities/updateReaction.cjs.js");require("../activities/getMentions.cjs.js");require("../activities/getCategories.cjs.js");require("../addons/getAddons.cjs.js");require("../addons/updateAddons.cjs.js");require("../attributes/getAttributes.cjs.js");require("../attributes/updateAttributes.cjs.js");require("../authentication/getAuthentication.cjs.js");require("../bundles/getBundles.cjs.js");require("../bundles/updateBundles.cjs.js");require("../cloud/cloud.cjs.js");require("../columnStats/metricTargets.cjs.js");require("../columnStats/groupCounts.cjs.js");require("../config/getConfig.cjs.js");require("../config/updateConfig.cjs.js");require("./getEntity.cjs.js");const l=require("./transformDetailsPanelData.cjs.js");require("./updateEntity.cjs.js");require("../entityLists/getLists.cjs.js");require("../entityLists/updateLists.cjs.js");require("../entityLists/getListsAttributes.cjs.js");require("../entityLists/listItemsColumnStats.cjs.js");require("../entityLists/updateListsAttributes.cjs.js");require("../entityLists/listFolders.cjs.js");require("../folders/getFolders.cjs.js");require("../folders/getFolderDeleteInfo.cjs.js");require("../grouping/getGrouping.cjs.js");require("../links/updateLinks.cjs.js");require("../links/getLinks.cjs.js");require("../links/getEntityLinks.cjs.js");require("../overview/getOverview.cjs.js");require("../overview/updateOverview.cjs.js");require("../versions/getVersionsProducts.cjs.js");require("../permissions/getPermissions.cjs.js");require("../products/createProduct.cjs.js");require("../products/getFolderProducts.cjs.js");require("../project/getProject.cjs.js");require("../project/updateProject.cjs.js");require("../projectFolders/projectFolders.cjs.js");require("../review/getReview.cjs.js");require("../review/updateReview.cjs.js");require("../share/share.cjs.js");require("../system/getSystem.cjs.js");require("../tasks/getTasks.cjs.js");require("../tasks/updateTasks.cjs.js");require("../teams/getTeams.cjs.js");require("../userDashboard/getUserDashboard.cjs.js");require("../users/getUsers.cjs.js");require("../users/updateUsers.cjs.js");require("../users/guests.cjs.js");require("../versions/updateVersions.cjs.js");require("../views/getViews.cjs.js");require("../views/updateViews.cjs.js");require("../watchers/getWatchers.cjs.js");require("../uris/getUris.cjs.js");const P=require("../../../util/pubsub.cjs.js"),y=G.api.enhanceEndpoints({endpoints:{GetDetailsPanelFolder:{transformResponse:(i,s,r)=>{const{projectName:t}=r,e=i?.project?.folder;return e?l.transformDetailsPanelQueriesData({projectName:t,entity:e,entityType:"folder"}):null}},GetDetailsPanelTask:{transformResponse:(i,s,r)=>{const{projectName:t}=r,e=i?.project?.task;return e?l.transformDetailsPanelQueriesData({projectName:t,entity:e,entityType:"task"}):null}},GetDetailsPanelVersion:{transformResponse:(i,s,r)=>{const{projectName:t}=r,e=i?.project?.version;return e?l.transformDetailsPanelQueriesData({projectName:t,entity:e,entityType:"version"}):null}},GetDetailsPanelRepresentation:{transformResponse:(i,s,r)=>{const{projectName:t}=r,e=i?.project?.representation;return e?l.transformDetailsPanelQueriesData({projectName:t,entity:e,entityType:"representation"}):null}}}}),b=i=>{switch(i){case"task":return"GetDetailsPanelTask";case"version":return"GetDetailsPanelVersion";case"folder":return"GetDetailsPanelFolder";case"representation":return"GetDetailsPanelRepresentation"}},E=y.injectEndpoints({endpoints:i=>({getEntitiesDetailsPanel:i.query({async queryFn({entities:s=[],entityType:r},{dispatch:t}){if(!l.detailsPanelEntityTypes.includes(r))return{error:{status:"CUSTOM_ERROR",error:"Entity type not supported"}};try{const e=s.map(a=>t(y.endpoints[b(r)].initiate({projectName:a.projectName,entityId:a.id},{forceRefetch:!0})));return{data:(await Promise.all(e)).filter(a=>!!a.data).map(a=>a.data)}}catch(e){return console.error(e),{error:{status:"FETCH_ERROR",error:e.message}}}},async onCacheEntryAdded({entities:s,entityType:r},{updateCachedData:t,cacheDataLoaded:e,cacheEntryRemoved:c,dispatch:m}){let a,p;try{await e,p=N.subscribeToThumbnailUpdates(f=>{const d=f.filter(o=>s.some(u=>u.id===o.summary.entityId&&u.projectName===o.project));d.length!==0&&t(o=>{d.forEach(u=>{const n=o.findIndex(q=>q.id===u.summary.entityId);n!==-1&&o[n]&&u.summary.thumbnailHash&&(o[n].thumbnailHash=u.summary.thumbnailHash)})})},[r]);const j=async(f,d)=>{const o=d.summary?.entityId,u=s.find(n=>n.id===o);if(u)try{const n=await m(y.endpoints[b(r)].initiate({projectName:u.projectName,entityId:u.id},{forceRefetch:!0}));if(n.status!=="fulfilled"){console.error(n?.error||"No entity found");return}const q=n.data;if(!q){console.error("No entity found");return}t(D=>{const h=D.findIndex(T=>T.id===q.id);if(h===-1){console.error("Entity not found in cache");return}D[h]=q})}catch(n){console.error("Entity task realtime update failed",n);return}},R=`entity.${r}`;a=P.subscribe(R,j)}catch{}await c,P.unsubscribe(a),p&&p()},providesTags:(s,r,{entities:t,entityType:e})=>[...t.map(({id:c})=>({id:c,type:"entities"})),{type:"entities",id:e.toUpperCase()},{type:"entities",id:"LIST"}]})})}),{useGetEntitiesDetailsPanelQuery:I,useLazyGetEntitiesDetailsPanelQuery:Q}=E;exports.detailsPanelQueries=E;exports.useGetEntitiesDetailsPanelQuery=I;exports.useLazyGetEntitiesDetailsPanelQuery=Q;
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");require("lodash");require("react-toastify");require("uuid");const w=require("../../../util/thumbnailWebsocket.cjs.js");require("../actions/getActions.cjs.js");require("../activities/getActivities.cjs.js");require("../activities/updateReaction.cjs.js");require("../activities/getMentions.cjs.js");require("../activities/getCategories.cjs.js");require("../addons/getAddons.cjs.js");require("../addons/updateAddons.cjs.js");require("../attributes/getAttributes.cjs.js");require("../attributes/updateAttributes.cjs.js");require("../authentication/getAuthentication.cjs.js");require("../bundles/getBundles.cjs.js");require("../bundles/updateBundles.cjs.js");require("../cloud/cloud.cjs.js");require("../columnStats/metricTargets.cjs.js");require("../columnStats/groupCounts.cjs.js");require("../config/getConfig.cjs.js");require("../config/updateConfig.cjs.js");require("./getEntity.cjs.js");const j=require("./transformDetailsPanelData.cjs.js");require("./updateEntity.cjs.js");require("../entityLists/getLists.cjs.js");require("../entityLists/updateLists.cjs.js");require("../entityLists/getListsAttributes.cjs.js");require("../entityLists/listItemsColumnStats.cjs.js");require("../entityLists/updateListsAttributes.cjs.js");require("../entityLists/listFolders.cjs.js");require("../folders/getFolders.cjs.js");require("../folders/getFolderDeleteInfo.cjs.js");require("../grouping/getGrouping.cjs.js");require("../links/updateLinks.cjs.js");require("../links/getLinks.cjs.js");require("../links/getEntityLinks.cjs.js");require("../overview/getOverview.cjs.js");require("../overview/updateOverview.cjs.js");require("../versions/getVersionsProducts.cjs.js");require("../permissions/getPermissions.cjs.js");require("../products/createProduct.cjs.js");require("../products/getFolderProducts.cjs.js");require("../project/getProject.cjs.js");require("../project/updateProject.cjs.js");require("../projectFolders/projectFolders.cjs.js");require("../review/getReview.cjs.js");require("../review/updateReview.cjs.js");require("../share/share.cjs.js");require("../system/getSystem.cjs.js");require("../tasks/getTasks.cjs.js");require("../tasks/updateTasks.cjs.js");require("../teams/getTeams.cjs.js");require("../userDashboard/getUserDashboard.cjs.js");require("../users/getUsers.cjs.js");require("../users/updateUsers.cjs.js");require("../users/guests.cjs.js");require("../versions/updateVersions.cjs.js");require("../views/getViews.cjs.js");require("../views/updateViews.cjs.js");require("../watchers/getWatchers.cjs.js");require("../uris/getUris.cjs.js");const b=require("../../../util/realtimeUpdatesUtils.cjs.js"),k=require("../../../util/pubsub.cjs.js"),N=Q.api.enhanceEndpoints({endpoints:{GetDetailsPanelFolder:{transformResponse:(u,o,t)=>{const{projectName:s}=t,e=u?.project?.folder;return e?j.transformDetailsPanelQueriesData({projectName:s,entity:e,entityType:"folder"}):null}},GetDetailsPanelTask:{transformResponse:(u,o,t)=>{const{projectName:s}=t,e=u?.project?.task;return e?j.transformDetailsPanelQueriesData({projectName:s,entity:e,entityType:"task"}):null}},GetDetailsPanelVersion:{transformResponse:(u,o,t)=>{const{projectName:s}=t,e=u?.project?.version;return e?j.transformDetailsPanelQueriesData({projectName:s,entity:e,entityType:"version"}):null}},GetDetailsPanelRepresentation:{transformResponse:(u,o,t)=>{const{projectName:s}=t,e=u?.project?.representation;return e?j.transformDetailsPanelQueriesData({projectName:s,entity:e,entityType:"representation"}):null}}}}),G=u=>{switch(u){case"task":return"GetDetailsPanelTask";case"version":return"GetDetailsPanelVersion";case"folder":return"GetDetailsPanelFolder";case"representation":return"GetDetailsPanelRepresentation"}},S=N.injectEndpoints({endpoints:u=>({getEntitiesDetailsPanel:u.query({async queryFn({entities:o=[],entityType:t},{dispatch:s}){if(!j.detailsPanelEntityTypes.includes(t))return{error:{status:"CUSTOM_ERROR",error:"Entity type not supported"}};try{const e=o.map(l=>s(N.endpoints[G(t)].initiate({projectName:l.projectName,entityId:l.id},{forceRefetch:!0})));return{data:(await Promise.all(e)).filter(l=>!!l.data).map(l=>l.data)}}catch(e){return console.error(e),{error:{status:"FETCH_ERROR",error:e.message}}}},async onCacheEntryAdded({entityType:o},{updateCachedData:t,cacheDataLoaded:s,cacheEntryRemoved:e,dispatch:T,getCacheEntry:R}){let l,I;const g=async(h,m)=>{const E=R().data??[],d=new Set(E.map(i=>`${i.projectName}:${i.id}`)),P=new Map,c=[];h.forEach(({topic:i,message:r})=>{const a=r.summary?.entityId,n=r.project;if(!a||!n)return;const y=`${n}:${a}`;if(!d.has(y))return;const p=i.split(".")[2]?.replace("_changed",""),f=b.getSupportedEntityPatch(p,r.summary,b.REALTIME_TASK_SUPPORTED_VALUE_FIELDS);f?c.push({id:a,projectName:n,field:f.field,value:f.value}):P.set(y,{id:a,projectName:n})}),c.length&&t(i=>{c.forEach(({id:r,projectName:a,field:n,value:y})=>{const p=i.find(f=>f.id===r&&f.projectName===a);p&&(Object.assign(p,{...n==="status"||n==="tags"?{[n]:y}:{},...n==="type"?{entitySubType:y}:{}}),n==="assignees"&&p.task&&(p.task.assignees=y),n==="type"&&p.task&&(p.task.taskType=y))})});const q=Array.from(P.values());if(!q.length||q.length>b.REALTIME_REST_CALL_LIMIT)return;await b.waitForRealtimeJitter();const D=await Promise.all(q.map(async i=>{try{const r=await T(N.endpoints[G(o)].initiate({projectName:i.projectName,entityId:i.id},{forceRefetch:!0}));if(r.status!=="fulfilled")return console.error(r?.error||"No entity found"),null;const a=r.data;return a||(console.error("No entity found"),null)}catch(r){return console.error("Entity task realtime update failed",r),null}}));m()&&t(i=>{D.forEach(r=>{if(!r)return;const a=i.findIndex(n=>n.id===r.id&&n.projectName===r.projectName);if(a===-1){console.error("Entity not found in cache");return}i[a]=r})})},_=b.createRealtimeBatcher(g,({topic:h,message:m})=>`${m.project}:${m.summary?.entityId}:${h}`);try{await s,I=w.subscribeToThumbnailUpdates(E=>{const d=R().data??[],P=E.filter(c=>d.some(q=>q.id===c.summary.entityId&&q.projectName===c.project));P.length!==0&&t(c=>{P.forEach(q=>{const D=c.findIndex(i=>i.id===q.summary.entityId);D!==-1&&c[D]&&q.summary.thumbnailHash&&(c[D].thumbnailHash=q.summary.thumbnailHash)})})},[o]);const h=(E,d)=>{!d?.project||!d?.summary?.entityId||_.add({topic:E,message:d})},m=`entity.${o}`;l=k.subscribe(m,h)}catch{}await e,k.unsubscribe(l),I&&I(),_.clear()},providesTags:(o,t,{entities:s,entityType:e})=>[...s.map(({id:T})=>({id:T,type:"entities"})),{type:"entities",id:e.toUpperCase()},{type:"entities",id:"LIST"}]})})}),{useGetEntitiesDetailsPanelQuery:L,useLazyGetEntitiesDetailsPanelQuery:A}=S;exports.detailsPanelQueries=S;exports.useGetEntitiesDetailsPanelQuery=L;exports.useLazyGetEntitiesDetailsPanelQuery=A;
2
2
  //# sourceMappingURL=getEntityPanel.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getEntityPanel.cjs.js","sources":["../../../../../../src/api/queries/entities/getEntityPanel.ts"],"sourcesContent":["import {\n gqlApi,\n GetDetailsPanelFolderQuery,\n GetDetailsPanelRepresentationQuery,\n GetDetailsPanelTaskQuery,\n GetDetailsPanelVersionQuery,\n} from '@shared/api/generated'\nimport { PubSub, subscribeToThumbnailUpdates, ThumbnailUpdateMessage } from '@shared/util'\nimport { FetchBaseQueryError } from '@reduxjs/toolkit/query'\nimport {\n detailsPanelEntityTypes,\n transformDetailsPanelQueriesData,\n} from './transformDetailsPanelData'\nimport type { DetailsPanelEntityData, DetailsPanelEntityType } from './transformDetailsPanelData'\n\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<\n Definitions,\n | 'GetDetailsPanelFolder'\n | 'GetDetailsPanelTask'\n | 'GetDetailsPanelVersion'\n | 'GetDetailsPanelRepresentation'\n> & {\n GetDetailsPanelFolder: OverrideResultType<\n Definitions['GetDetailsPanelFolder'],\n DetailsPanelEntityData | null\n >\n GetDetailsPanelTask: OverrideResultType<\n Definitions['GetDetailsPanelTask'],\n DetailsPanelEntityData | null\n >\n GetDetailsPanelVersion: OverrideResultType<\n Definitions['GetDetailsPanelVersion'],\n DetailsPanelEntityData | null\n >\n GetDetailsPanelRepresentation: OverrideResultType<\n Definitions['GetDetailsPanelRepresentation'],\n DetailsPanelEntityData | null\n >\n}\n\nconst enhancedDetailsApi = gqlApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n GetDetailsPanelFolder: {\n transformResponse: (response: GetDetailsPanelFolderQuery, _meta, args) => {\n const { projectName } = args\n const entity = response?.project?.folder\n if (!entity) return null\n return transformDetailsPanelQueriesData({\n projectName,\n entity,\n entityType: 'folder',\n })\n },\n },\n GetDetailsPanelTask: {\n transformResponse: (response: GetDetailsPanelTaskQuery, _meta, args) => {\n const { projectName } = args\n const entity = response?.project?.task\n if (!entity) return null\n return transformDetailsPanelQueriesData({\n projectName,\n entity,\n entityType: 'task',\n })\n },\n },\n GetDetailsPanelVersion: {\n transformResponse: (response: GetDetailsPanelVersionQuery, _meta, args) => {\n const { projectName } = args\n const entity = response?.project?.version\n if (!entity) return null\n return transformDetailsPanelQueriesData({\n projectName,\n entity,\n entityType: 'version',\n })\n },\n },\n GetDetailsPanelRepresentation: {\n transformResponse: (response: GetDetailsPanelRepresentationQuery, _meta, args) => {\n const { projectName } = args\n const entity = response?.project?.representation\n if (!entity) return null\n return transformDetailsPanelQueriesData({\n projectName,\n entity,\n entityType: 'representation',\n })\n },\n },\n },\n})\n\ntype GetEntitiesDetailsPanelArgs = {\n entities: { id: string; projectName: string }[]\n entityType: DetailsPanelEntityType\n}\n\ntype QueryNameType =\n | 'GetDetailsPanelTask'\n | 'GetDetailsPanelVersion'\n | 'GetDetailsPanelFolder'\n | 'GetDetailsPanelRepresentation'\n\nconst getEntityTypeQueryName = (entityType: DetailsPanelEntityType): QueryNameType => {\n switch (entityType) {\n case 'task':\n return 'GetDetailsPanelTask'\n\n case 'version':\n return 'GetDetailsPanelVersion'\n\n case 'folder':\n return 'GetDetailsPanelFolder'\n\n case 'representation':\n return 'GetDetailsPanelRepresentation'\n }\n}\n\nconst detailsPanelQueries2 = enhancedDetailsApi.injectEndpoints({\n endpoints: (build) => ({\n getEntitiesDetailsPanel: build.query<DetailsPanelEntityData[], GetEntitiesDetailsPanelArgs>({\n async queryFn({ entities = [], entityType }, { dispatch }) {\n if (!detailsPanelEntityTypes.includes(entityType)) {\n return {\n error: {\n status: 'CUSTOM_ERROR',\n error: 'Entity type not supported',\n } as FetchBaseQueryError,\n }\n }\n\n try {\n const promises = entities.map((entity) => {\n return dispatch(\n enhancedDetailsApi.endpoints[getEntityTypeQueryName(entityType)].initiate(\n {\n projectName: entity.projectName,\n entityId: entity.id,\n },\n { forceRefetch: true },\n ),\n )\n })\n\n const res = await Promise.all(promises)\n\n const entitiesData = res\n .filter((res) => !!res.data)\n .map((res) => res.data) as DetailsPanelEntityData[]\n\n return { data: entitiesData }\n } catch (e: any) {\n console.error(e)\n return { error: { status: 'FETCH_ERROR', error: e.message } as FetchBaseQueryError }\n }\n },\n async onCacheEntryAdded(\n { entities, entityType },\n { updateCachedData, cacheDataLoaded, cacheEntryRemoved, dispatch },\n ) {\n let token\n let unsubscribeThumbnails: (() => void) | undefined\n try {\n // wait for the initial query to resolve before proceeding\n await cacheDataLoaded\n\n unsubscribeThumbnails = subscribeToThumbnailUpdates(\n (messages: ThumbnailUpdateMessage[]) => {\n const matchedMessages = messages.filter((m) =>\n entities.some((e) => e.id === m.summary.entityId && e.projectName === m.project),\n )\n if (matchedMessages.length === 0) return\n\n updateCachedData((draft) => {\n matchedMessages.forEach((message) => {\n const entityIndex = draft.findIndex((e: any) => e.id === message.summary.entityId)\n if (entityIndex !== -1 && draft[entityIndex] && message.summary.thumbnailHash) {\n draft[entityIndex].thumbnailHash = message.summary.thumbnailHash\n }\n })\n })\n },\n [entityType],\n )\n\n const handlePubSub = async (_topic: string, message: any) => {\n const messageEntityId = message.summary?.entityId\n const matchedEntity = entities.find((entity) => entity.id === messageEntityId)\n // check if the message is relevant to the current query\n if (!matchedEntity) return\n\n try {\n // get the new data for the entity\n const res = await dispatch(\n enhancedDetailsApi.endpoints[getEntityTypeQueryName(entityType)].initiate(\n {\n projectName: matchedEntity.projectName,\n entityId: matchedEntity.id,\n },\n { forceRefetch: true },\n ),\n )\n\n // check the res\n if (res.status !== 'fulfilled') {\n console.error(res?.error || 'No entity found')\n return\n }\n\n const updatedEntity = res.data\n\n if (!updatedEntity) {\n console.error('No entity found')\n return\n }\n\n updateCachedData((draft) => {\n // find the entity in the cache\n const entityIndex = draft.findIndex((entity: any) => entity.id === updatedEntity.id)\n\n if (entityIndex === -1) {\n console.error('Entity not found in cache')\n return\n }\n\n // update the entity in the cache\n draft[entityIndex] = updatedEntity\n })\n } catch (error) {\n console.error('Entity task realtime update failed', error)\n return\n }\n }\n\n const topic = `entity.${entityType}`\n // sub to websocket topic\n token = PubSub.subscribe(topic, handlePubSub)\n } catch {\n // no-op in case `cacheEntryRemoved` resolves before `cacheDataLoaded`,\n // in which case `cacheDataLoaded` will throw\n }\n // cacheEntryRemoved will resolve when the cache subscription is no longer active\n await cacheEntryRemoved\n // perform cleanup steps once the `cacheEntryRemoved` promise resolves\n PubSub.unsubscribe(token)\n if (unsubscribeThumbnails) {\n unsubscribeThumbnails()\n }\n },\n providesTags: (_res, _error, { entities, entityType }) => [\n ...entities.map(({ id }: { id: string }) => ({ id, type: 'entities' })),\n { type: 'entities', id: entityType.toUpperCase() },\n { type: 'entities', id: 'LIST' },\n ],\n }),\n }),\n})\n\nexport const { useGetEntitiesDetailsPanelQuery, useLazyGetEntitiesDetailsPanelQuery } =\n detailsPanelQueries2\nexport { detailsPanelQueries2 as detailsPanelQueries }\n"],"names":["enhancedDetailsApi","gqlApi","response","_meta","args","projectName","entity","transformDetailsPanelQueriesData","getEntityTypeQueryName","entityType","detailsPanelQueries2","build","entities","dispatch","detailsPanelEntityTypes","promises","res","updateCachedData","cacheDataLoaded","cacheEntryRemoved","token","unsubscribeThumbnails","subscribeToThumbnailUpdates","messages","matchedMessages","m","e","draft","message","entityIndex","handlePubSub","_topic","messageEntityId","matchedEntity","updatedEntity","error","topic","PubSub","_res","_error","id","useGetEntitiesDetailsPanelQuery","useLazyGetEntitiesDetailsPanelQuery"],"mappings":"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"}
1
+ {"version":3,"file":"getEntityPanel.cjs.js","sources":["../../../../../../src/api/queries/entities/getEntityPanel.ts"],"sourcesContent":["import {\n gqlApi,\n GetDetailsPanelFolderQuery,\n GetDetailsPanelRepresentationQuery,\n GetDetailsPanelTaskQuery,\n GetDetailsPanelVersionQuery,\n} from '@shared/api/generated'\nimport {\n createRealtimeBatcher,\n getSupportedEntityPatch,\n PubSub,\n REALTIME_REST_CALL_LIMIT,\n REALTIME_TASK_SUPPORTED_VALUE_FIELDS,\n RealtimeBatchProcessor,\n subscribeToThumbnailUpdates,\n SupportedTaskField,\n ThumbnailUpdateMessage,\n waitForRealtimeJitter,\n} from '@shared/util'\nimport { FetchBaseQueryError } from '@reduxjs/toolkit/query'\nimport {\n detailsPanelEntityTypes,\n transformDetailsPanelQueriesData,\n} from './transformDetailsPanelData'\nimport type { DetailsPanelEntityData, DetailsPanelEntityType } from './transformDetailsPanelData'\n\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<\n Definitions,\n | 'GetDetailsPanelFolder'\n | 'GetDetailsPanelTask'\n | 'GetDetailsPanelVersion'\n | 'GetDetailsPanelRepresentation'\n> & {\n GetDetailsPanelFolder: OverrideResultType<\n Definitions['GetDetailsPanelFolder'],\n DetailsPanelEntityData | null\n >\n GetDetailsPanelTask: OverrideResultType<\n Definitions['GetDetailsPanelTask'],\n DetailsPanelEntityData | null\n >\n GetDetailsPanelVersion: OverrideResultType<\n Definitions['GetDetailsPanelVersion'],\n DetailsPanelEntityData | null\n >\n GetDetailsPanelRepresentation: OverrideResultType<\n Definitions['GetDetailsPanelRepresentation'],\n DetailsPanelEntityData | null\n >\n}\n\nconst enhancedDetailsApi = gqlApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n GetDetailsPanelFolder: {\n transformResponse: (response: GetDetailsPanelFolderQuery, _meta, args) => {\n const { projectName } = args\n const entity = response?.project?.folder\n if (!entity) return null\n return transformDetailsPanelQueriesData({\n projectName,\n entity,\n entityType: 'folder',\n })\n },\n },\n GetDetailsPanelTask: {\n transformResponse: (response: GetDetailsPanelTaskQuery, _meta, args) => {\n const { projectName } = args\n const entity = response?.project?.task\n if (!entity) return null\n return transformDetailsPanelQueriesData({\n projectName,\n entity,\n entityType: 'task',\n })\n },\n },\n GetDetailsPanelVersion: {\n transformResponse: (response: GetDetailsPanelVersionQuery, _meta, args) => {\n const { projectName } = args\n const entity = response?.project?.version\n if (!entity) return null\n return transformDetailsPanelQueriesData({\n projectName,\n entity,\n entityType: 'version',\n })\n },\n },\n GetDetailsPanelRepresentation: {\n transformResponse: (response: GetDetailsPanelRepresentationQuery, _meta, args) => {\n const { projectName } = args\n const entity = response?.project?.representation\n if (!entity) return null\n return transformDetailsPanelQueriesData({\n projectName,\n entity,\n entityType: 'representation',\n })\n },\n },\n },\n})\n\ntype GetEntitiesDetailsPanelArgs = {\n entities: { id: string; projectName: string }[]\n entityType: DetailsPanelEntityType\n}\n\ntype QueryNameType =\n | 'GetDetailsPanelTask'\n | 'GetDetailsPanelVersion'\n | 'GetDetailsPanelFolder'\n | 'GetDetailsPanelRepresentation'\n\nconst getEntityTypeQueryName = (entityType: DetailsPanelEntityType): QueryNameType => {\n switch (entityType) {\n case 'task':\n return 'GetDetailsPanelTask'\n\n case 'version':\n return 'GetDetailsPanelVersion'\n\n case 'folder':\n return 'GetDetailsPanelFolder'\n\n case 'representation':\n return 'GetDetailsPanelRepresentation'\n }\n}\n\nconst detailsPanelQueries2 = enhancedDetailsApi.injectEndpoints({\n endpoints: (build) => ({\n getEntitiesDetailsPanel: build.query<DetailsPanelEntityData[], GetEntitiesDetailsPanelArgs>({\n async queryFn({ entities = [], entityType }, { dispatch }) {\n if (!detailsPanelEntityTypes.includes(entityType)) {\n return {\n error: {\n status: 'CUSTOM_ERROR',\n error: 'Entity type not supported',\n } as FetchBaseQueryError,\n }\n }\n\n try {\n const promises = entities.map((entity) => {\n return dispatch(\n enhancedDetailsApi.endpoints[getEntityTypeQueryName(entityType)].initiate(\n {\n projectName: entity.projectName,\n entityId: entity.id,\n },\n { forceRefetch: true },\n ),\n )\n })\n\n const res = await Promise.all(promises)\n\n const entitiesData = res\n .filter((res) => !!res.data)\n .map((res) => res.data) as DetailsPanelEntityData[]\n\n return { data: entitiesData }\n } catch (e: any) {\n console.error(e)\n return { error: { status: 'FETCH_ERROR', error: e.message } as FetchBaseQueryError }\n }\n },\n async onCacheEntryAdded(\n { entityType },\n { updateCachedData, cacheDataLoaded, cacheEntryRemoved, dispatch, getCacheEntry },\n ) {\n let token\n let unsubscribeThumbnails: (() => void) | undefined\n const batchProcessMessages: RealtimeBatchProcessor<{\n topic: string\n message: any\n }> = async (updates, isActive) => {\n const cachedEntities = getCacheEntry().data ?? []\n const cachedEntityKeys = new Set(\n cachedEntities.map((entity) => `${entity.projectName}:${entity.id}`),\n )\n const entitiesToFetch = new Map<string, { id: string; projectName: string }>()\n const patches: {\n id: string\n projectName: string\n field: SupportedTaskField\n value: string | string[]\n }[] = []\n\n updates.forEach(({ topic, message }) => {\n const entityId = message.summary?.entityId\n const projectName = message.project\n if (!entityId || !projectName) return\n\n const entityKey = `${projectName}:${entityId}`\n // Only refresh entities that are currently displayed in this panel.\n if (!cachedEntityKeys.has(entityKey)) return\n\n const field = topic.split('.')[2]?.replace('_changed', '')\n const patch = getSupportedEntityPatch(\n field,\n message.summary,\n REALTIME_TASK_SUPPORTED_VALUE_FIELDS,\n )\n if (patch) {\n patches.push({\n id: entityId,\n projectName,\n field: patch.field as SupportedTaskField,\n value: patch.value,\n })\n } else {\n entitiesToFetch.set(entityKey, { id: entityId, projectName })\n }\n })\n\n if (patches.length) {\n updateCachedData((draft) => {\n patches.forEach(({ id, projectName, field, value }) => {\n const entity = draft.find(\n (item) => item.id === id && item.projectName === projectName,\n )\n if (!entity) return\n\n Object.assign(entity, {\n ...(field === 'status' || field === 'tags' ? { [field]: value } : {}),\n ...(field === 'type' ? { entitySubType: value } : {}),\n })\n\n if (field === 'assignees' && entity.task) {\n entity.task.assignees = value as string[]\n }\n if (field === 'type' && entity.task) {\n entity.task.taskType = value as string\n }\n })\n })\n }\n\n const entitiesToRefresh = Array.from(entitiesToFetch.values())\n if (!entitiesToRefresh.length || entitiesToRefresh.length > REALTIME_REST_CALL_LIMIT) {\n return\n }\n\n // Avoid sending a burst of requests immediately after a realtime event.\n await waitForRealtimeJitter()\n const updatedEntities = await Promise.all(\n entitiesToRefresh.map(async (entity) => {\n try {\n // Get the new data for the entity.\n const res = await dispatch(\n enhancedDetailsApi.endpoints[getEntityTypeQueryName(entityType)].initiate(\n {\n projectName: entity.projectName,\n entityId: entity.id,\n },\n { forceRefetch: true },\n ),\n )\n\n // Check the response.\n if (res.status !== 'fulfilled') {\n console.error(res?.error || 'No entity found')\n return null\n }\n\n const updatedEntity = res.data\n if (!updatedEntity) {\n console.error('No entity found')\n return null\n }\n\n return updatedEntity\n } catch (error) {\n console.error('Entity task realtime update failed', error)\n return null\n }\n }),\n )\n if (!isActive()) return\n\n updateCachedData((draft) => {\n updatedEntities.forEach((updatedEntity) => {\n if (!updatedEntity) return\n\n // Find the entity in the cache.\n const entityIndex = draft.findIndex(\n (entity) =>\n entity.id === updatedEntity.id &&\n entity.projectName === updatedEntity.projectName,\n )\n\n if (entityIndex === -1) {\n console.error('Entity not found in cache')\n return\n }\n\n // Update the entity in the cache.\n draft[entityIndex] = updatedEntity\n })\n })\n }\n const batcher = createRealtimeBatcher(\n batchProcessMessages,\n ({ topic, message }) => `${message.project}:${message.summary?.entityId}:${topic}`,\n )\n\n try {\n // wait for the initial query to resolve before proceeding\n await cacheDataLoaded\n\n unsubscribeThumbnails = subscribeToThumbnailUpdates(\n (messages: ThumbnailUpdateMessage[]) => {\n const cachedEntities = getCacheEntry().data ?? []\n const matchedMessages = messages.filter((m) =>\n cachedEntities.some(\n (entity) => entity.id === m.summary.entityId && entity.projectName === m.project,\n ),\n )\n if (matchedMessages.length === 0) return\n\n updateCachedData((draft) => {\n matchedMessages.forEach((message) => {\n const entityIndex = draft.findIndex(\n (entity) => entity.id === message.summary.entityId,\n )\n if (entityIndex !== -1 && draft[entityIndex] && message.summary.thumbnailHash) {\n draft[entityIndex].thumbnailHash = message.summary.thumbnailHash\n }\n })\n })\n },\n [entityType],\n )\n\n const handlePubSub = (_topic: string, message: any) => {\n if (!message?.project || !message?.summary?.entityId) return\n batcher.add({ topic: _topic, message })\n }\n\n const topic = `entity.${entityType}`\n // sub to websocket topic\n token = PubSub.subscribe(topic, handlePubSub)\n } catch {\n // no-op in case `cacheEntryRemoved` resolves before `cacheDataLoaded`,\n // in which case `cacheDataLoaded` will throw\n }\n // cacheEntryRemoved will resolve when the cache subscription is no longer active\n await cacheEntryRemoved\n // perform cleanup steps once the `cacheEntryRemoved` promise resolves\n PubSub.unsubscribe(token)\n if (unsubscribeThumbnails) {\n unsubscribeThumbnails()\n }\n batcher.clear()\n },\n providesTags: (_res, _error, { entities, entityType }) => [\n ...entities.map(({ id }: { id: string }) => ({ id, type: 'entities' })),\n { type: 'entities', id: entityType.toUpperCase() },\n { type: 'entities', id: 'LIST' },\n ],\n }),\n }),\n})\n\nexport const { useGetEntitiesDetailsPanelQuery, useLazyGetEntitiesDetailsPanelQuery } =\n detailsPanelQueries2\nexport { detailsPanelQueries2 as detailsPanelQueries }\n"],"names":["enhancedDetailsApi","gqlApi","response","_meta","args","projectName","entity","transformDetailsPanelQueriesData","getEntityTypeQueryName","entityType","detailsPanelQueries2","build","entities","dispatch","detailsPanelEntityTypes","promises","res","updateCachedData","cacheDataLoaded","cacheEntryRemoved","getCacheEntry","token","unsubscribeThumbnails","batchProcessMessages","updates","isActive","cachedEntities","cachedEntityKeys","entitiesToFetch","patches","topic","message","entityId","entityKey","field","patch","getSupportedEntityPatch","REALTIME_TASK_SUPPORTED_VALUE_FIELDS","draft","id","value","item","entitiesToRefresh","REALTIME_REST_CALL_LIMIT","waitForRealtimeJitter","updatedEntities","updatedEntity","error","entityIndex","batcher","createRealtimeBatcher","subscribeToThumbnailUpdates","messages","matchedMessages","m","handlePubSub","_topic","PubSub","_res","_error","useGetEntitiesDetailsPanelQuery","useLazyGetEntitiesDetailsPanelQuery"],"mappings":"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"}