@ynput/ayon-frontend-shared 0.3.46 → 0.3.48

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 (761) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +38 -35
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/ProjectTreeTable.cjs.js +1 -1
  5. package/dist/ProjectTreeTable.es.js +231 -228
  6. package/dist/ProjectTreeTable.es.js.map +1 -1
  7. package/dist/Slicer.cjs.js +1 -1
  8. package/dist/Slicer.es.js +193 -25
  9. package/dist/Slicer.es.js.map +1 -1
  10. package/dist/Views.cjs.js +1 -1
  11. package/dist/Views.es.js +27 -26
  12. package/dist/_virtual/index.cjs15.js +1 -1
  13. package/dist/_virtual/index.cjs18.js +1 -1
  14. package/dist/_virtual/index.cjs19.js +1 -1
  15. package/dist/_virtual/index.cjs22.js +1 -1
  16. package/dist/_virtual/index.cjs23.js +1 -1
  17. package/dist/_virtual/index.cjs24.js +1 -1
  18. package/dist/_virtual/index.cjs4.js +1 -1
  19. package/dist/_virtual/index.cjs5.js +1 -1
  20. package/dist/_virtual/index.cjs6.js +1 -1
  21. package/dist/_virtual/index.cjs8.js +1 -1
  22. package/dist/_virtual/index.cjs9.js +1 -1
  23. package/dist/_virtual/index.es10.js +2 -2
  24. package/dist/_virtual/index.es11.js +2 -2
  25. package/dist/_virtual/index.es13.js +2 -2
  26. package/dist/_virtual/index.es14.js +2 -2
  27. package/dist/_virtual/index.es15.js +2 -2
  28. package/dist/_virtual/index.es16.js +2 -2
  29. package/dist/_virtual/index.es17.js +2 -2
  30. package/dist/_virtual/index.es18.js +5 -2
  31. package/dist/_virtual/index.es18.js.map +1 -1
  32. package/dist/_virtual/index.es19.js +2 -2
  33. package/dist/_virtual/index.es22.js +3 -3
  34. package/dist/_virtual/index.es23.js +5 -5
  35. package/dist/_virtual/index.es24.js +5 -5
  36. package/dist/_virtual/index.es4.js +2 -5
  37. package/dist/_virtual/index.es4.js.map +1 -1
  38. package/dist/_virtual/index.es5.js +5 -2
  39. package/dist/_virtual/index.es5.js.map +1 -1
  40. package/dist/_virtual/index.es6.js +2 -2
  41. package/dist/_virtual/index.es8.js +2 -2
  42. package/dist/_virtual/index.es9.js +2 -5
  43. package/dist/_virtual/index.es9.js.map +1 -1
  44. package/dist/api.cjs.js +1 -1
  45. package/dist/api.es.js +347 -344
  46. package/dist/api.es.js.map +1 -1
  47. package/dist/components.cjs.js +1 -1
  48. package/dist/components.es.js +41 -39
  49. package/dist/components.es.js.map +1 -1
  50. package/dist/context.cjs.js +1 -1
  51. package/dist/context.es.js +55 -48
  52. package/dist/context.es.js.map +1 -1
  53. package/dist/index.cjs.js +1 -1
  54. package/dist/index.es.js +24 -21
  55. package/dist/index.es.js.map +1 -1
  56. package/dist/node_modules/match-sorter/dist/match-sorter.esm.cjs.js +1 -1
  57. package/dist/node_modules/match-sorter/dist/match-sorter.esm.es.js +1 -1
  58. package/dist/node_modules/react-use-websocket/dist/index.cjs.js +1 -1
  59. package/dist/node_modules/react-use-websocket/dist/index.es.js +1 -1
  60. package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +1 -1
  61. package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
  62. package/dist/node_modules/rehype/node_modules/vfile/lib/index.cjs.js +1 -1
  63. package/dist/node_modules/rehype/node_modules/vfile/lib/index.es.js +1 -1
  64. package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
  65. package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
  66. package/dist/node_modules/remove-accents/index.cjs.js +1 -1
  67. package/dist/node_modules/remove-accents/index.es.js +1 -1
  68. package/dist/shared/node_modules/@module-federation/error-codes/dist/index.cjs.js +1 -1
  69. package/dist/shared/node_modules/@module-federation/error-codes/dist/index.es.js +1 -1
  70. package/dist/shared/node_modules/@module-federation/runtime/dist/index.cjs.js +1 -1
  71. package/dist/shared/node_modules/@module-federation/runtime/dist/index.es.js +1 -1
  72. package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.cjs.js +1 -1
  73. package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.es.js +1 -1
  74. package/dist/shared/node_modules/@module-federation/runtime-core/dist/module/index.cjs.js +1 -1
  75. package/dist/shared/node_modules/@module-federation/runtime-core/dist/module/index.es.js +1 -1
  76. package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/index.cjs.js +1 -1
  77. package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/index.es.js +1 -1
  78. package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/index.cjs.js +1 -1
  79. package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/index.es.js +1 -1
  80. package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/index.cjs.js +1 -1
  81. package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/index.es.js +1 -1
  82. package/dist/shared/node_modules/@module-federation/runtime-core/dist/type/index.cjs.js +1 -1
  83. package/dist/shared/node_modules/@module-federation/runtime-core/dist/type/index.es.js +1 -1
  84. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/index.cjs.js +1 -1
  85. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/index.es.js +1 -1
  86. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/index.cjs.js +1 -1
  87. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/index.es.js +1 -1
  88. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/index.cjs.js +1 -1
  89. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/index.cjs.js.map +1 -1
  90. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/index.es.js +1 -1
  91. package/dist/shared/node_modules/@module-federation/sdk/dist/index.cjs.js +1 -1
  92. package/dist/shared/node_modules/@module-federation/sdk/dist/index.es.js +1 -1
  93. package/dist/shared/node_modules/prop-types/index.cjs.js +1 -1
  94. package/dist/shared/node_modules/prop-types/index.es.js +1 -1
  95. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js +1 -1
  96. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js.map +1 -1
  97. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.es.js +1 -1
  98. package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js +1 -1
  99. package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js.map +1 -1
  100. package/dist/shared/node_modules/react-transition-group/esm/Transition.es.js +1 -1
  101. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js +1 -1
  102. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js.map +1 -1
  103. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.es.js +1 -1
  104. package/dist/shared/src/api/generated/graphql.cjs.js +3 -3
  105. package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
  106. package/dist/shared/src/api/generated/graphql.es.js +3 -3
  107. package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
  108. package/dist/shared/src/api/queries/actions/refreshActiveAndPurgeOthers.cjs.js +2 -0
  109. package/dist/shared/src/api/queries/actions/refreshActiveAndPurgeOthers.cjs.js.map +1 -0
  110. package/dist/shared/src/api/queries/actions/refreshActiveAndPurgeOthers.es.js +42 -0
  111. package/dist/shared/src/api/queries/actions/refreshActiveAndPurgeOthers.es.js.map +1 -0
  112. package/dist/shared/src/api/queries/activities/getActivities.cjs.js +1 -1
  113. package/dist/shared/src/api/queries/activities/getActivities.cjs.js.map +1 -1
  114. package/dist/shared/src/api/queries/activities/getActivities.es.js +121 -156
  115. package/dist/shared/src/api/queries/activities/getActivities.es.js.map +1 -1
  116. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.cjs.js +1 -1
  117. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.cjs.js.map +1 -1
  118. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.es.js +93 -68
  119. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.es.js.map +1 -1
  120. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js +1 -1
  121. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js.map +1 -1
  122. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js +63 -56
  123. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js.map +1 -1
  124. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js +1 -1
  125. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js.map +1 -1
  126. package/dist/shared/src/api/queries/entities/updateEntity.es.js +120 -119
  127. package/dist/shared/src/api/queries/entities/updateEntity.es.js.map +1 -1
  128. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +1 -1
  129. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js.map +1 -1
  130. package/dist/shared/src/api/queries/entityLists/getLists.es.js +70 -62
  131. package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -1
  132. package/dist/shared/src/api/queries/folders/getFolders.cjs.js.map +1 -1
  133. package/dist/shared/src/api/queries/folders/getFolders.es.js.map +1 -1
  134. package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js +1 -1
  135. package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js.map +1 -1
  136. package/dist/shared/src/api/queries/links/getEntityLinks.es.js +85 -85
  137. package/dist/shared/src/api/queries/links/getEntityLinks.es.js.map +1 -1
  138. package/dist/shared/src/api/queries/overview/getOverview.cjs.js +1 -1
  139. package/dist/shared/src/api/queries/overview/getOverview.cjs.js.map +1 -1
  140. package/dist/shared/src/api/queries/overview/getOverview.es.js +267 -259
  141. package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
  142. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js +1 -1
  143. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js.map +1 -1
  144. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js +85 -79
  145. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js.map +1 -1
  146. package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js +1 -1
  147. package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js.map +1 -1
  148. package/dist/shared/src/components/ColumnHeaderMenuUI.es.js +170 -2
  149. package/dist/shared/src/components/ColumnHeaderMenuUI.es.js.map +1 -1
  150. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
  151. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  152. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +18 -15
  153. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  154. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
  155. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
  156. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +165 -2
  157. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
  158. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +2 -2
  159. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
  160. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +164 -2
  161. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
  162. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
  163. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
  164. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +174 -2
  165. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
  166. package/dist/shared/src/components/EntityIcon/EntityIcon.cjs.js +1 -1
  167. package/dist/shared/src/components/EntityIcon/EntityIcon.cjs.js.map +1 -1
  168. package/dist/shared/src/components/EntityIcon/EntityIcon.es.js +173 -2
  169. package/dist/shared/src/components/EntityIcon/EntityIcon.es.js.map +1 -1
  170. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  171. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  172. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +5 -2
  173. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  174. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js +1 -1
  175. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js.map +1 -1
  176. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js +16 -13
  177. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js.map +1 -1
  178. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -1
  179. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
  180. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +168 -2
  181. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
  182. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
  183. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
  184. package/dist/shared/src/components/Feedback/FeedbackContext.es.js +260 -89
  185. package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
  186. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
  187. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
  188. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +44 -78
  189. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
  190. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js +1 -1
  191. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js.map +1 -1
  192. package/dist/shared/src/components/LinksManager/LinksManager.es.js +172 -2
  193. package/dist/shared/src/components/LinksManager/LinksManager.es.js.map +1 -1
  194. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  195. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  196. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +5 -2
  197. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  198. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
  199. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
  200. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +173 -2
  201. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
  202. package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js +1 -1
  203. package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js.map +1 -1
  204. package/dist/shared/src/components/ListMetaData/ListMetaData.es.js +158 -2
  205. package/dist/shared/src/components/ListMetaData/ListMetaData.es.js.map +1 -1
  206. package/dist/shared/src/components/Menu/Menu.cjs.js +1 -1
  207. package/dist/shared/src/components/Menu/Menu.cjs.js.map +1 -1
  208. package/dist/shared/src/components/Menu/Menu.es.js +171 -2
  209. package/dist/shared/src/components/Menu/Menu.es.js.map +1 -1
  210. package/dist/shared/src/components/Menu/MenuItem.cjs.js +1 -1
  211. package/dist/shared/src/components/Menu/MenuItem.cjs.js.map +1 -1
  212. package/dist/shared/src/components/Menu/MenuItem.es.js +167 -0
  213. package/dist/shared/src/components/Menu/MenuItem.es.js.map +1 -1
  214. package/dist/shared/src/components/Menu/MenuList.cjs.js +1 -1
  215. package/dist/shared/src/components/Menu/MenuList.cjs.js.map +1 -1
  216. package/dist/shared/src/components/Menu/MenuList.es.js +209 -40
  217. package/dist/shared/src/components/Menu/MenuList.es.js.map +1 -1
  218. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +1 -1
  219. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
  220. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +171 -2
  221. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -1
  222. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  223. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  224. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +170 -2
  225. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  226. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +1 -1
  227. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js.map +1 -1
  228. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +16 -13
  229. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js.map +1 -1
  230. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +2 -2
  231. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  232. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +82 -79
  233. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  234. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  235. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  236. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +169 -3
  237. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  238. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js +1 -1
  239. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js.map +1 -1
  240. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js +12 -9
  241. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js.map +1 -1
  242. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +1 -1
  243. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -1
  244. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +5 -2
  245. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -1
  246. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
  247. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  248. package/dist/shared/src/components/RenameForm/RenameForm.es.js +5 -2
  249. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  250. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  251. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  252. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +41 -38
  253. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  254. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  255. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  256. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +19 -16
  257. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  258. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  259. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  260. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +17 -14
  261. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  262. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js +1 -1
  263. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js.map +1 -1
  264. package/dist/shared/src/components/ReviewablesSelector/Card.es.js +18 -15
  265. package/dist/shared/src/components/ReviewablesSelector/Card.es.js.map +1 -1
  266. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  267. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  268. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +453 -284
  269. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  270. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +2 -2
  271. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
  272. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +172 -2
  273. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -1
  274. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js +1 -1
  275. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js.map +1 -1
  276. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js +18 -15
  277. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js.map +1 -1
  278. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
  279. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  280. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +18 -15
  281. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  282. package/dist/shared/src/components/SyncButton/SyncButton.cjs.js +52 -0
  283. package/dist/shared/src/components/SyncButton/SyncButton.cjs.js.map +1 -0
  284. package/dist/shared/src/components/SyncButton/SyncButton.es.js +265 -0
  285. package/dist/shared/src/components/SyncButton/SyncButton.es.js.map +1 -0
  286. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js +1 -1
  287. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js.map +1 -1
  288. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js +171 -2
  289. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js.map +1 -1
  290. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
  291. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  292. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +18 -15
  293. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  294. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
  295. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  296. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +20 -17
  297. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  298. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  299. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  300. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +18 -15
  301. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  302. package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
  303. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  304. package/dist/shared/src/containers/Actions/Actions.es.js +213 -44
  305. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  306. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  307. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  308. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +18 -15
  309. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  310. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  311. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  312. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +39 -36
  313. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  314. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  315. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  316. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js +18 -15
  317. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  318. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  319. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  320. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js +19 -16
  321. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  322. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  323. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  324. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js +51 -48
  325. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  326. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.cjs.js +1 -1
  327. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.cjs.js.map +1 -1
  328. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.es.js +173 -3
  329. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.es.js.map +1 -1
  330. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js +1 -1
  331. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js.map +1 -1
  332. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js +18 -15
  333. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js.map +1 -1
  334. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js +1 -1
  335. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js.map +1 -1
  336. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js +18 -15
  337. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js.map +1 -1
  338. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
  339. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  340. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +168 -2
  341. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  342. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js +1 -1
  343. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js.map +1 -1
  344. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js +32 -29
  345. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js.map +1 -1
  346. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js +1 -1
  347. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js.map +1 -1
  348. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js +18 -15
  349. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js.map +1 -1
  350. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js +1 -1
  351. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js.map +1 -1
  352. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js +81 -78
  353. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js.map +1 -1
  354. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js +1 -1
  355. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js.map +1 -1
  356. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js +144 -2
  357. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js.map +1 -1
  358. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
  359. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  360. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +174 -2
  361. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  362. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  363. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  364. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +18 -15
  365. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  366. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  367. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  368. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +18 -15
  369. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  370. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  371. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  372. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +18 -15
  373. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  374. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  375. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  376. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +18 -15
  377. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  378. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
  379. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
  380. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +178 -7
  381. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
  382. package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
  383. package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
  384. package/dist/shared/src/containers/Feed/Feed.es.js +206 -59
  385. package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
  386. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js +1 -1
  387. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js.map +1 -1
  388. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js +18 -15
  389. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js.map +1 -1
  390. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  391. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  392. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +19 -16
  393. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  394. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
  395. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
  396. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +18 -15
  397. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
  398. package/dist/shared/src/containers/Feed/components/ActivityItem.cjs.js +1 -1
  399. package/dist/shared/src/containers/Feed/components/ActivityItem.cjs.js.map +1 -1
  400. package/dist/shared/src/containers/Feed/components/ActivityItem.es.js +16 -16
  401. package/dist/shared/src/containers/Feed/components/ActivityItem.es.js.map +1 -1
  402. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusChange.cjs.js +1 -1
  403. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusChange.cjs.js.map +1 -1
  404. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusChange.es.js +30 -17
  405. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusChange.es.js.map +1 -1
  406. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusSecondary.cjs.js +11 -0
  407. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusSecondary.cjs.js.map +1 -0
  408. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusSecondary.es.js +27 -0
  409. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusSecondary.es.js.map +1 -0
  410. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js +1 -1
  411. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js.map +1 -1
  412. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js +20 -17
  413. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js.map +1 -1
  414. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js +1 -1
  415. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js.map +1 -1
  416. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js +218 -39
  417. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js.map +1 -1
  418. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +1 -1
  419. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  420. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +78 -75
  421. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  422. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js +1 -1
  423. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js.map +1 -1
  424. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js +22 -19
  425. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js.map +1 -1
  426. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js +1 -1
  427. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js.map +1 -1
  428. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js +173 -2
  429. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js.map +1 -1
  430. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js +1 -1
  431. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js.map +1 -1
  432. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js +173 -2
  433. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map +1 -1
  434. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js +2 -2
  435. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js.map +1 -1
  436. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js +181 -14
  437. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js.map +1 -1
  438. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js +1 -1
  439. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js.map +1 -1
  440. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js +169 -2
  441. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js.map +1 -1
  442. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  443. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  444. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +80 -77
  445. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  446. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
  447. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  448. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +197 -26
  449. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  450. package/dist/shared/src/containers/Feed/helpers/groupActivityVersions.cjs.js +1 -1
  451. package/dist/shared/src/containers/Feed/helpers/groupActivityVersions.cjs.js.map +1 -1
  452. package/dist/shared/src/containers/Feed/helpers/groupActivityVersions.es.js +9 -8
  453. package/dist/shared/src/containers/Feed/helpers/groupActivityVersions.es.js.map +1 -1
  454. package/dist/shared/src/containers/ListTable/ListTable.cjs.js +1 -1
  455. package/dist/shared/src/containers/ListTable/ListTable.cjs.js.map +1 -1
  456. package/dist/shared/src/containers/ListTable/ListTable.es.js +24 -21
  457. package/dist/shared/src/containers/ListTable/ListTable.es.js.map +1 -1
  458. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js +1 -1
  459. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js.map +1 -1
  460. package/dist/shared/src/containers/ListTable/ListTableCell.es.js +18 -15
  461. package/dist/shared/src/containers/ListTable/ListTableCell.es.js.map +1 -1
  462. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js +1 -1
  463. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js.map +1 -1
  464. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js +17 -14
  465. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js.map +1 -1
  466. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  467. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  468. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +5 -2
  469. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  470. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  471. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  472. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +18 -15
  473. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  474. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js +1 -1
  475. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js.map +1 -1
  476. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js +5 -2
  477. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js.map +1 -1
  478. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
  479. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  480. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +84 -81
  481. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  482. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  483. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  484. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +17 -14
  485. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  486. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  487. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  488. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +18 -15
  489. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  490. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +5 -5
  491. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
  492. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +508 -321
  493. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
  494. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +1 -1
  495. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -1
  496. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +18 -15
  497. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +1 -1
  498. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
  499. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  500. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +175 -4
  501. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  502. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js +1 -1
  503. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
  504. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js +176 -6
  505. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
  506. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  507. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  508. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +18 -15
  509. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  510. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +1 -1
  511. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
  512. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +174 -2
  513. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
  514. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  515. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  516. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +21 -18
  517. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  518. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  519. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  520. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +18 -15
  521. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  522. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  523. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  524. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +18 -15
  525. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  526. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  527. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  528. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +18 -15
  529. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  530. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  531. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  532. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +18 -15
  533. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  534. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js +1 -1
  535. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js.map +1 -1
  536. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js +5 -2
  537. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js.map +1 -1
  538. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  539. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  540. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +406 -396
  541. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  542. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  543. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  544. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +18 -15
  545. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  546. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  547. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
  548. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +18 -15
  549. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
  550. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  551. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  552. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +19 -17
  553. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  554. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  555. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  556. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +5 -2
  557. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  558. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  559. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  560. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +5 -2
  561. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  562. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  563. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  564. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +18 -15
  565. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  566. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js +1 -1
  567. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js.map +1 -1
  568. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js +18 -15
  569. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js.map +1 -1
  570. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js +1 -1
  571. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -1
  572. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js +265 -95
  573. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -1
  574. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  575. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  576. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +29 -26
  577. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  578. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +1 -1
  579. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
  580. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +18 -15
  581. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
  582. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +2 -2
  583. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  584. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +94 -91
  585. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  586. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js +3 -3
  587. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js.map +1 -1
  588. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js +25 -22
  589. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js.map +1 -1
  590. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  591. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  592. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +20 -17
  593. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  594. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js +4 -4
  595. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js.map +1 -1
  596. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js +188 -34
  597. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js.map +1 -1
  598. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  599. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  600. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +18 -15
  601. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  602. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js +1 -1
  603. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js.map +1 -1
  604. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js +25 -22
  605. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js.map +1 -1
  606. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js +2 -2
  607. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js.map +1 -1
  608. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js +225 -61
  609. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js.map +1 -1
  610. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  611. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  612. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +18 -15
  613. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  614. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  615. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  616. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +21 -18
  617. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  618. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.cjs.js +1 -1
  619. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.cjs.js.map +1 -1
  620. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.es.js +37 -37
  621. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.es.js.map +1 -1
  622. package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js +2 -2
  623. package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js.map +1 -1
  624. package/dist/shared/src/containers/Slicer/components/Slicer.es.js +353 -51
  625. package/dist/shared/src/containers/Slicer/components/Slicer.es.js.map +1 -1
  626. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js +1 -1
  627. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js.map +1 -1
  628. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js +172 -2
  629. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js.map +1 -1
  630. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +1 -1
  631. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -1
  632. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +18 -15
  633. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -1
  634. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js +1 -1
  635. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js.map +1 -1
  636. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js +216 -45
  637. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js.map +1 -1
  638. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js +1 -1
  639. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js.map +1 -1
  640. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js +185 -13
  641. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js.map +1 -1
  642. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js +1 -1
  643. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js.map +1 -1
  644. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js +174 -2
  645. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js.map +1 -1
  646. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js +1 -1
  647. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js.map +1 -1
  648. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js +40 -289
  649. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js.map +1 -1
  650. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js +1 -1
  651. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js.map +1 -1
  652. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js +174 -2
  653. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js.map +1 -1
  654. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.cjs.js +1 -1
  655. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.cjs.js.map +1 -1
  656. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.es.js +173 -2
  657. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.es.js.map +1 -1
  658. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.cjs.js +1 -1
  659. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.cjs.js.map +1 -1
  660. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.es.js +174 -2
  661. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.es.js.map +1 -1
  662. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.cjs.js +1 -1
  663. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.cjs.js.map +1 -1
  664. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.es.js +174 -2
  665. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.es.js.map +1 -1
  666. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js +1 -1
  667. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js.map +1 -1
  668. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js +227 -53
  669. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js.map +1 -1
  670. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
  671. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
  672. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +176 -6
  673. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
  674. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
  675. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
  676. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +5 -2
  677. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
  678. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +2 -2
  679. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -1
  680. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +185 -18
  681. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -1
  682. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
  683. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  684. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +209 -38
  685. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  686. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
  687. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
  688. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +180 -10
  689. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
  690. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
  691. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
  692. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +107 -73
  693. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
  694. package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
  695. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  696. package/dist/shared/src/context/DetailsPanelContext.es.js +210 -38
  697. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  698. package/dist/shared/src/context/EntityUpdatesContext.cjs.js +2 -0
  699. package/dist/shared/src/context/EntityUpdatesContext.cjs.js.map +1 -0
  700. package/dist/shared/src/context/EntityUpdatesContext.es.js +392 -0
  701. package/dist/shared/src/context/EntityUpdatesContext.es.js.map +1 -0
  702. package/dist/shared/src/context/EntityUpdatesContextInstance.cjs.js +2 -0
  703. package/dist/shared/src/context/EntityUpdatesContextInstance.cjs.js.map +1 -0
  704. package/dist/shared/src/context/EntityUpdatesContextInstance.es.js +6 -0
  705. package/dist/shared/src/context/EntityUpdatesContextInstance.es.js.map +1 -0
  706. package/dist/shared/src/context/MenuContext.es.js +3 -3
  707. package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
  708. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  709. package/dist/shared/src/context/PowerpackContext.es.js +178 -6
  710. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  711. package/dist/shared/src/context/ProjectFoldersContext.cjs.js +1 -1
  712. package/dist/shared/src/context/ProjectFoldersContext.cjs.js.map +1 -1
  713. package/dist/shared/src/context/ProjectFoldersContext.es.js +196 -24
  714. package/dist/shared/src/context/ProjectFoldersContext.es.js.map +1 -1
  715. package/dist/shared/src/context/SubtasksModulesContext.cjs.js +1 -1
  716. package/dist/shared/src/context/SubtasksModulesContext.cjs.js.map +1 -1
  717. package/dist/shared/src/context/SubtasksModulesContext.es.js +176 -4
  718. package/dist/shared/src/context/SubtasksModulesContext.es.js.map +1 -1
  719. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  720. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  721. package/dist/shared/src/context/WebsocketContext.es.js +52 -45
  722. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  723. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
  724. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  725. package/dist/shared/src/hooks/useEntityUpdate.es.js +174 -2
  726. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  727. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +1 -1
  728. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
  729. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +174 -2
  730. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
  731. package/dist/shared/src/hooks/useHierarchyTable.cjs.js +1 -1
  732. package/dist/shared/src/hooks/useHierarchyTable.cjs.js.map +1 -1
  733. package/dist/shared/src/hooks/useHierarchyTable.es.js +174 -2
  734. package/dist/shared/src/hooks/useHierarchyTable.es.js.map +1 -1
  735. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
  736. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  737. package/dist/shared/src/hooks/useUserProjectConfig.es.js +174 -2
  738. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  739. package/dist/types/api/generated/graphql.d.ts +3 -3
  740. package/dist/types/api/queries/actions/index.d.ts +1 -0
  741. package/dist/types/api/queries/actions/refreshActiveAndPurgeOthers.d.ts +11 -0
  742. package/dist/types/api/queries/activities/getActivities.d.ts +65 -855
  743. package/dist/types/api/queries/activities/util/activitiesHelpers.d.ts +19 -0
  744. package/dist/types/api/queries/links/getEntityLinks.d.ts +4 -2
  745. package/dist/types/components/SyncButton/SyncButton.d.ts +11 -0
  746. package/dist/types/components/SyncButton/index.d.ts +1 -0
  747. package/dist/types/components/index.d.ts +1 -0
  748. package/dist/types/containers/Feed/components/ActivityStatusChange/ActivityStatusSecondary.d.ts +7 -0
  749. package/dist/types/containers/Feed/components/ActivityVersions/ActivityVersions.d.ts +3 -0
  750. package/dist/types/containers/Feed/hooks/useGetFeedActivitiesData.d.ts +3 -42
  751. package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +4 -4
  752. package/dist/types/containers/ProjectTreeTable/hooks/useFetchOverviewData.d.ts +10 -2
  753. package/dist/types/containers/ProjectTreeTable/types/overviewContext.d.ts +9 -2
  754. package/dist/types/containers/Slicer/context/SlicerContext.d.ts +1 -0
  755. package/dist/types/containers/Slicer/hooks/useSelectedEntityIds.d.ts +7 -1
  756. package/dist/types/containers/Views/utils/viewUpdateHelper.d.ts +7 -0
  757. package/dist/types/context/EntityUpdatesContext.d.ts +44 -0
  758. package/dist/types/context/EntityUpdatesContextInstance.d.ts +2 -0
  759. package/dist/types/context/ProjectFoldersContext.d.ts +2 -2
  760. package/dist/types/context/index.d.ts +1 -0
  761. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"getActivities.es.js","sources":["../../../../../../src/api/queries/activities/getActivities.ts"],"sourcesContent":["import {\n gqlApi,\n GetActivitiesByIdQuery,\n GetActivitiesQuery,\n GetActivitiesQueryVariables,\n GetActivityUsersQuery,\n GetEntitiesChecklistsQuery,\n} from '@shared/api/generated'\nimport { taskProvideTags } from './util/activitiesHelpers'\nimport {\n ActivitiesResult,\n countChecklists,\n filterKey,\n transformActivityData,\n transformTooltipData,\n} from './util/activitiesHelpers'\nimport { ENTITY_TOOLTIP, EntityTooltipQuery } from './activityQueries'\n\nimport {\n DefinitionsFromApi,\n FetchBaseQueryError,\n OverrideResultType,\n TagTypesFromApi,\n} from '@reduxjs/toolkit/query'\nimport { ChecklistCount } from './types'\nimport { handleActivityRealtimeUpdates } from './util/activityRealtimeHandler'\n\ntype ActivityUserNode = GetActivityUsersQuery['users']['edges'][0]['node']\n\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'GetActivitiesById'> & {\n GetActivitiesById: OverrideResultType<Definitions['GetActivitiesById'], ActivitiesResult>\n GetActivities: OverrideResultType<Definitions['GetActivities'], ActivitiesResult>\n GetEntitiesChecklists: OverrideResultType<Definitions['GetEntitiesChecklists'], ChecklistCount>\n GetActivityUsers: OverrideResultType<Definitions['GetActivityUsers'], ActivityUserNode[]>\n}\n\nconst enhanceActivitiesApi = gqlApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n // Only used by the infinite query below\n GetActivities: {\n transformResponse: (res: GetActivitiesQuery) =>\n transformActivityData(res.project.activities.edges, res.project.activities.pageInfo),\n // @ts-expect-error - filter is not an query arg\n providesTags: (result, _e, { entityIds, activityTypes = [], filter }) =>\n result\n ? [\n ...result.activities.map((a) => ({ type: 'activity', id: a.activityId })),\n { type: 'activity', id: 'LIST' },\n ...(Array.isArray(entityIds) ? entityIds : [entityIds]).map((id) => ({\n type: 'entityActivities',\n id: id,\n })),\n { type: 'entityActivities', id: 'LIST' },\n ...(Array.isArray(activityTypes) ? activityTypes : [activityTypes])?.map((type) => ({\n type: 'entityActivities',\n id: type as string,\n })),\n // filter is used when a comment is made, to refetch the activities of other filters\n ...(Array.isArray(entityIds) ? entityIds : [entityIds]).map((id) => ({\n type: 'entityActivities',\n id: id + '-' + filterKey(filter),\n })),\n ]\n : [{ type: 'activity', id: 'LIST' }],\n },\n GetActivitiesById: {\n transformResponse: (res: GetActivitiesByIdQuery) =>\n transformActivityData(res.project.activities.edges, res.project.activities.pageInfo),\n },\n GetEntitiesChecklists: {\n transformResponse: (res: GetEntitiesChecklistsQuery) => countChecklists(res),\n providesTags: (res, _error, { entityIds }) =>\n res\n ? [\n { type: 'activity', id: 'LIST' },\n ...res.ids.map((id) => ({ type: 'activity', id: 'checklist-' + id })),\n ...(Array.isArray(entityIds) ? entityIds : [entityIds]).map((id) => ({\n type: 'entityActivities',\n id: 'checklist-' + id,\n })),\n ]\n : [{ type: 'activity', id: 'LIST' }],\n },\n GetActivityUsers: {\n transformResponse: (res: GetActivityUsersQuery) => res.users.edges.map((edge) => edge.node),\n providesTags: (res) =>\n res?.length\n ? [{ type: 'user', id: 'LIST' }, ...res.map(({ name }) => ({ type: 'user', id: name }))]\n : [{ type: 'user', id: 'LIST' }],\n },\n },\n})\n\nconst ACTIVITIES_INFINITE_QUERY_COUNT = 30\n\nconst getActivitiesGQLApi = enhanceActivitiesApi.injectEndpoints({\n endpoints: (build) => ({\n getActivitiesInfinite: build.infiniteQuery<\n ActivitiesResult,\n Omit<GetActivitiesQueryVariables, 'last' | 'first' | 'cursor'> & { filter?: any },\n { cursor: string; first?: number; last?: number }\n >({\n infiniteQueryOptions: {\n initialPageParam: { cursor: '', last: ACTIVITIES_INFINITE_QUERY_COUNT },\n // Calculate the next page param based on current page response and params\n getNextPageParam: (lastPage) => {\n const pageInfo = lastPage.pageInfo\n const hasPreviousPage = pageInfo.hasPreviousPage\n\n if (!hasPreviousPage || !pageInfo.endCursor) return undefined\n\n return {\n cursor: pageInfo.endCursor,\n last: ACTIVITIES_INFINITE_QUERY_COUNT,\n }\n },\n },\n queryFn: async ({ queryArg, pageParam }, api) => {\n try {\n const { filter, ...args } = queryArg\n // Build the query parameters for GetActivities\n const queryParams: GetActivitiesQueryVariables = {\n ...args,\n before: pageParam?.cursor,\n last: pageParam?.last,\n }\n\n // Call the existing GetActivities endpoint\n const result = await api.dispatch(\n enhanceActivitiesApi.endpoints.GetActivities.initiate(queryParams, {\n forceRefetch: true,\n }),\n )\n\n if (result.error) throw result.error\n const fallback = {\n activities: [],\n pageInfo: {\n hasNextPage: false,\n endCursor: null,\n startCursor: null,\n hasPreviousPage: false,\n },\n }\n\n // Return the activities directly as required by the infinite query format\n return {\n data: result.data || fallback,\n }\n } catch (e: any) {\n console.error('Error in getActivitiesInfinite queryFn:', e)\n return { error: { status: 'FETCH_ERROR', error: e.message } as FetchBaseQueryError }\n }\n },\n async onCacheEntryAdded(\n queryArg,\n { updateCachedData, cacheDataLoaded, cacheEntryRemoved, dispatch, getCacheEntry },\n ) {\n await handleActivityRealtimeUpdates(queryArg, {\n updateCachedData,\n cacheDataLoaded,\n cacheEntryRemoved,\n dispatch,\n getCacheEntry,\n gqlApi: enhanceActivitiesApi,\n })\n },\n providesTags: (result, _e, { entityIds, activityTypes, filter }) =>\n result\n ? [\n ...result.pages\n .flatMap((page) => page.activities)\n .map((a) => ({ type: 'activity', id: a.activityId })),\n { type: 'activity', id: 'LIST' },\n ...(Array.isArray(entityIds) ? entityIds : [entityIds]).filter(Boolean).map((id) => ({\n type: 'entityActivities',\n id: id as string,\n })),\n { type: 'entityActivities', id: 'LIST' },\n ...(Array.isArray(activityTypes) ? activityTypes : [activityTypes])\n ?.filter(Boolean)\n .map((type) => ({\n type: 'entityActivities',\n id: type as string,\n })),\n // filter is used when a comment is made, to refetch the activities of other filters\n ...(Array.isArray(entityIds) ? entityIds : [entityIds]).filter(Boolean).map((id) => ({\n type: 'entityActivities',\n id: `${id}-${filterKey(filter)}`,\n })),\n ]\n : [{ type: 'activity', id: 'LIST' }],\n }),\n // get data for a reference tooltip based on type,id and projectName\n getEntityTooltip: build.query({\n query: ({ projectName, entityId, entityType }) => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: ENTITY_TOOLTIP(entityType),\n variables: { projectName, entityId },\n },\n }),\n transformResponse: (res: EntityTooltipQuery, _m, { entityType }) =>\n transformTooltipData(res?.data?.project, entityType),\n providesTags: (res: any, _e, { entityType }) => taskProvideTags([res], 'task', entityType),\n }),\n }),\n overrideExisting: true,\n})\n\nexport const {\n useGetEntityTooltipQuery,\n useLazyGetActivitiesByIdQuery,\n useGetEntitiesChecklistsQuery,\n useGetActivitiesQuery,\n useGetActivitiesInfiniteInfiniteQuery,\n useGetActivityUsersQuery,\n} = getActivitiesGQLApi\n\nexport { getActivitiesGQLApi }\n\nimport { filterActivityTypes } from './util/activitiesHelpers'\nimport { patchTableLatestComments } from './patchTableLatestComments'\n\nconst updateCache = (activitiesDraft: any, patch: any, isDelete: boolean) => {\n // Handle paginated structure\n if (isDelete) {\n // Remove from any page where it exists\n for (const page of activitiesDraft.pages) {\n const index = page.activities.findIndex((a: any) => a.activityId === patch.activityId)\n if (index !== -1) {\n page.activities.splice(index, 1)\n return\n }\n }\n } else {\n // Try to update existing activity\n let activityFound = false\n\n for (const page of activitiesDraft.pages) {\n const index = page.activities.findIndex((a: any) => a.activityId === patch.activityId)\n if (index !== -1) {\n // Update the activity\n page.activities[index] = { ...page.activities[index], ...patch }\n activityFound = true\n break\n }\n }\n\n // If activity doesn't exist and this is not a delete operation, add to first page\n if (!activityFound && activitiesDraft.pages.length > 0) {\n activitiesDraft.pages[0].activities.unshift(patch)\n }\n }\n}\n\nconst serializeFilter = (filter: unknown): string => {\n if (filter === undefined || filter === null) return ''\n return typeof filter === 'string' ? filter : JSON.stringify(filter)\n}\n\nconst patchActivities = async (\n { patch, entityIds = [], filter, refs = [], ...rest }: any,\n api: any,\n method: 'create' | 'update' | 'delete',\n) => {\n const { dispatch, queryFulfilled, getState } = api\n const refIds = refs.map((ref: any) => ref.id) || []\n const serializedFilter = serializeFilter(filter)\n // build tags that would be affected by this activity\n const invalidatingTags = [...entityIds, ...refIds].map((id) => ({\n type: 'entityActivities',\n id: id + '-' + filterKey(filter),\n }))\n\n const state = getState()\n // get caches that would be affected by this activity\n const entries = getActivitiesGQLApi.util.selectInvalidatedBy(state, invalidatingTags)\n\n // ensure that data is mapped to activityData\n if (method !== 'delete' && patch.data) {\n patch.activityData = { ...patch.activityData, ...patch.data }\n }\n\n // now patch all the caches with the update\n const patches = entries.map(({ originalArgs }) =>\n dispatch(\n getActivitiesGQLApi.util.updateQueryData('getActivitiesInfinite', originalArgs, (draft) =>\n updateCache(draft, patch, method === 'delete'),\n ),\n ),\n )\n\n // patch latestComments in the table caches too (instead of refetching them)\n const tablePatches = patchTableLatestComments(\n { patch, entityIds, filter, refs, ...rest },\n api,\n method,\n )\n\n try {\n await queryFulfilled\n } catch (error: any) {\n for (const patchResult of [...patches, ...tablePatches]) {\n patchResult?.undo()\n }\n }\n}\n\n// get tags for other filter types\nconst getTags = ({ entityId, filter }: { entityId: string; filter: string }) => {\n const invalidateFilters = Object.keys(filterActivityTypes).filter((key) => key !== filter)\n\n const tags = invalidateFilters.map((filter) => ({\n type: 'entityActivities',\n id: entityId + '-' + filter,\n }))\n\n tags.push({ type: 'activity', id: 'LIST' })\n\n tags.push({ type: 'watchers', id: entityId })\n\n return tags\n}\n\nconst updateActivitiesApi = getActivitiesGQLApi.injectEndpoints({\n endpoints: (build) => ({\n createEntityActivity: build.mutation({\n query: ({ projectName, entityType, entityId, data = {} }) => ({\n url: `/api/projects/${projectName}/${entityType}/${entityId}/activities`,\n method: 'POST',\n // generate a new activityId if this is a new activity\n body: data,\n }),\n async onQueryStarted(args, api) {\n patchActivities(args, api, 'create')\n },\n // invalidate other filters that might be affected by this new activity (comments, checklists, etc)\n invalidatesTags: (result, error, { entityId, filter }) => getTags({ entityId, filter }),\n }),\n\n updateActivity: build.mutation({\n query: ({ projectName, activityId, data }) => ({\n url: `/api/projects/${projectName}/activities/${activityId}`,\n method: 'PATCH',\n body: data,\n }),\n async onQueryStarted(args, api) {\n patchActivities(args, api, 'update')\n },\n // invalidate other filters that might be affected by this new activity (comments, checklists, etc)\n invalidatesTags: (result, error, { entityId, filter }) => getTags({ entityId, filter }),\n }),\n deleteActivity: build.mutation({\n query: ({ projectName, activityId }) => ({\n url: `/api/projects/${projectName}/activities/${activityId}`,\n method: 'DELETE',\n }),\n async onQueryStarted(args, api) {\n patchActivities(args, api, 'delete')\n },\n // invalidate other filters that might be affected by this new activity (comments, checklists, etc)\n invalidatesTags: (result, error, { entityId, filter }) => getTags({ entityId, filter }),\n }),\n }),\n overrideExisting: true,\n})\n\nexport const {\n useCreateEntityActivityMutation,\n useDeleteActivityMutation,\n useUpdateActivityMutation,\n} = updateActivitiesApi\nexport { updateActivitiesApi as activitiesQueries }\n"],"names":["enhanceActivitiesApi","gqlApi","res","transformActivityData","result","_e","entityIds","activityTypes","filter","a","id","type","filterKey","countChecklists","_error","edge","name","ACTIVITIES_INFINITE_QUERY_COUNT","getActivitiesGQLApi","build","lastPage","pageInfo","queryArg","pageParam","api","args","queryParams","fallback","e","updateCachedData","cacheDataLoaded","cacheEntryRemoved","dispatch","getCacheEntry","handleActivityRealtimeUpdates","page","projectName","entityId","entityType","ENTITY_TOOLTIP","_m","transformTooltipData","taskProvideTags","useGetEntityTooltipQuery","useLazyGetActivitiesByIdQuery","useGetEntitiesChecklistsQuery","useGetActivitiesQuery","useGetActivitiesInfiniteInfiniteQuery","useGetActivityUsersQuery","updateCache","activitiesDraft","patch","isDelete","index","activityFound","serializeFilter","patchActivities","refs","rest","method","queryFulfilled","getState","refIds","ref","invalidatingTags","state","entries","patches","originalArgs","draft","tablePatches","patchTableLatestComments","patchResult","getTags","tags","filterActivityTypes","key","updateActivitiesApi","data","error","activityId","useCreateEntityActivityMutation","useDeleteActivityMutation","useUpdateActivityMutation"],"mappings":"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"}
1
+ {"version":3,"file":"getActivities.es.js","sources":["../../../../../../src/api/queries/activities/getActivities.ts"],"sourcesContent":["import {\n gqlApi,\n GetActivitiesByIdQuery,\n GetActivitiesQuery,\n GetActivitiesQueryVariables,\n GetActivityUsersQuery,\n GetEntitiesChecklistsQuery,\n} from '@shared/api/generated'\nimport { provideSharedActivityTags, taskProvideTags } from './util/activitiesHelpers'\nimport {\n ActivitiesResult,\n countChecklists,\n filterKey,\n transformActivityData,\n transformTooltipData,\n} from './util/activitiesHelpers'\nimport { ENTITY_TOOLTIP, EntityTooltipQuery } from './activityQueries'\n\nimport {\n DefinitionsFromApi,\n FetchBaseQueryError,\n OverrideResultType,\n TagTypesFromApi,\n} from '@reduxjs/toolkit/query'\nimport { ChecklistCount } from './types'\nimport { handleActivityRealtimeUpdates } from './util/activityRealtimeHandler'\n\ntype ActivityUserNode = GetActivityUsersQuery['users']['edges'][0]['node']\n\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'GetActivitiesById'> & {\n GetActivitiesById: OverrideResultType<Definitions['GetActivitiesById'], ActivitiesResult>\n GetActivities: OverrideResultType<Definitions['GetActivities'], ActivitiesResult>\n GetEntitiesChecklists: OverrideResultType<Definitions['GetEntitiesChecklists'], ChecklistCount>\n GetActivityUsers: OverrideResultType<Definitions['GetActivityUsers'], ActivityUserNode[]>\n}\n\nconst enhanceActivitiesApi = gqlApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n // Only used by the infinite query below\n GetActivities: {\n transformResponse: (res: GetActivitiesQuery) =>\n transformActivityData(res.project.activities.edges, res.project.activities.pageInfo),\n providesTags: provideSharedActivityTags, \n },\n GetActivitiesById: {\n transformResponse: (res: GetActivitiesByIdQuery) =>\n transformActivityData(res.project.activities.edges, res.project.activities.pageInfo),\n },\n GetEntitiesChecklists: {\n transformResponse: (res: GetEntitiesChecklistsQuery) => countChecklists(res),\n providesTags: (res, _error, { entityIds }) =>\n res\n ? [\n { type: 'activity', id: 'LIST' },\n ...res.ids.map((id) => ({ type: 'activity', id: 'checklist-' + id })),\n ...(Array.isArray(entityIds) ? entityIds : [entityIds]).map((id) => ({\n type: 'entityActivities',\n id: 'checklist-' + id,\n })),\n ]\n : [{ type: 'activity', id: 'LIST' }],\n },\n GetActivityUsers: {\n transformResponse: (res: GetActivityUsersQuery) => res.users.edges.map((edge) => edge.node),\n providesTags: (res) =>\n res?.length\n ? [{ type: 'user', id: 'LIST' }, ...res.map(({ name }) => ({ type: 'user', id: name }))]\n : [{ type: 'user', id: 'LIST' }],\n },\n },\n})\n\nexport type GetActivitiesInfiniteQueryArgs = Omit<\n GetActivitiesQueryVariables,\n 'last' | 'first' | 'cursor'\n> & { filter?: any }\n\nconst ACTIVITIES_INFINITE_QUERY_COUNT = 30\n\nconst getActivitiesGQLApi = enhanceActivitiesApi.injectEndpoints({\n endpoints: (build) => ({\n getActivitiesInfinite: build.infiniteQuery<\n ActivitiesResult,\n GetActivitiesInfiniteQueryArgs,\n { cursor: string; first?: number; last?: number }\n >({\n infiniteQueryOptions: {\n initialPageParam: { cursor: '', last: ACTIVITIES_INFINITE_QUERY_COUNT },\n // Calculate the next page param based on current page response and params\n getNextPageParam: (lastPage) => {\n const pageInfo = lastPage.pageInfo\n const hasPreviousPage = pageInfo.hasPreviousPage\n\n if (!hasPreviousPage || !pageInfo.endCursor) return undefined\n\n return {\n cursor: pageInfo.endCursor,\n last: ACTIVITIES_INFINITE_QUERY_COUNT,\n }\n },\n },\n queryFn: async ({ queryArg, pageParam }, api) => {\n try {\n const { filter, ...args } = queryArg\n // Build the query parameters for GetActivities\n const queryParams: GetActivitiesQueryVariables = {\n ...args,\n before: pageParam?.cursor,\n last: pageParam?.last,\n }\n\n // Call the existing GetActivities endpoint\n const result = await api.dispatch(\n enhanceActivitiesApi.endpoints.GetActivities.initiate(queryParams, {\n forceRefetch: true,\n }),\n )\n\n if (result.error) throw result.error\n const fallback = {\n activities: [],\n pageInfo: {\n hasNextPage: false,\n endCursor: null,\n startCursor: null,\n hasPreviousPage: false,\n },\n }\n\n // Return the activities directly as required by the infinite query format\n return {\n data: result.data || fallback,\n }\n } catch (e: any) {\n console.error('Error in getActivitiesInfinite queryFn:', e)\n return { error: { status: 'FETCH_ERROR', error: e.message } as FetchBaseQueryError }\n }\n },\n async onCacheEntryAdded(\n queryArg,\n { updateCachedData, cacheDataLoaded, cacheEntryRemoved, dispatch, getCacheEntry },\n ) {\n await handleActivityRealtimeUpdates(queryArg, {\n updateCachedData,\n cacheDataLoaded,\n cacheEntryRemoved,\n dispatch,\n getCacheEntry,\n gqlApi: enhanceActivitiesApi,\n })\n },\nprovidesTags: provideSharedActivityTags,\n }),\n // get data for a reference tooltip based on type,id and projectName\n getEntityTooltip: build.query({\n query: ({ projectName, entityId, entityType }) => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: ENTITY_TOOLTIP(entityType),\n variables: { projectName, entityId },\n },\n }),\n transformResponse: (res: EntityTooltipQuery, _m, { entityType }) =>\n transformTooltipData(res?.data?.project, entityType),\n providesTags: (res: any, _e, { entityType }) => taskProvideTags([res], 'task', entityType),\n }),\n }),\n overrideExisting: true,\n})\n\nexport const {\n useGetEntityTooltipQuery,\n useLazyGetActivitiesByIdQuery,\n useGetEntitiesChecklistsQuery,\n useGetActivitiesQuery,\n useGetActivitiesInfiniteInfiniteQuery,\n useGetActivityUsersQuery,\n} = getActivitiesGQLApi\n\nexport { getActivitiesGQLApi }\n\nimport { filterActivityTypes } from './util/activitiesHelpers'\nimport { patchTableLatestComments } from './patchTableLatestComments'\n\nconst updateCache = (activitiesDraft: any, patch: any, isDelete: boolean) => {\n // Handle paginated structure\n if (isDelete) {\n // Remove from any page where it exists\n for (const page of activitiesDraft.pages) {\n const index = page.activities.findIndex((a: any) => a.activityId === patch.activityId)\n if (index !== -1) {\n page.activities.splice(index, 1)\n return\n }\n }\n } else {\n // Try to update existing activity\n let activityFound = false\n\n for (const page of activitiesDraft.pages) {\n const index = page.activities.findIndex((a: any) => a.activityId === patch.activityId)\n if (index !== -1) {\n // Update the activity\n page.activities[index] = { ...page.activities[index], ...patch }\n activityFound = true\n break\n }\n }\n\n // If activity doesn't exist and this is not a delete operation, add to first page\n if (!activityFound && activitiesDraft.pages.length > 0) {\n activitiesDraft.pages[0].activities.unshift(patch)\n }\n }\n}\n\nconst serializeFilter = (filter: unknown): string => {\n if (filter === undefined || filter === null) return ''\n return typeof filter === 'string' ? filter : JSON.stringify(filter)\n}\n\nconst patchActivities = async (\n { patch, entityIds = [], filter, refs = [], ...rest }: any,\n api: any,\n method: 'create' | 'update' | 'delete',\n) => {\n const { dispatch, queryFulfilled, getState } = api\n const refIds = refs.map((ref: any) => ref.id) || []\n const serializedFilter = serializeFilter(filter)\n // build tags that would be affected by this activity\n const invalidatingTags = [...entityIds, ...refIds].map((id) => ({\n type: 'entityActivities',\n id: id + '-' + filterKey(filter),\n }))\n\n const state = getState()\n // get caches that would be affected by this activity\n const entries = getActivitiesGQLApi.util.selectInvalidatedBy(state, invalidatingTags)\n\n // ensure that data is mapped to activityData\n if (method !== 'delete' && patch.data) {\n patch.activityData = { ...patch.activityData, ...patch.data }\n }\n\n // now patch all the caches with the update\n const patches = entries.map(({ originalArgs }) =>\n dispatch(\n getActivitiesGQLApi.util.updateQueryData('getActivitiesInfinite', originalArgs, (draft) =>\n updateCache(draft, patch, method === 'delete'),\n ),\n ),\n )\n\n // patch latestComments in the table caches too (instead of refetching them)\n const tablePatches = patchTableLatestComments(\n { patch, entityIds, filter, refs, ...rest },\n api,\n method,\n )\n\n try {\n await queryFulfilled\n } catch (error: any) {\n for (const patchResult of [...patches, ...tablePatches]) {\n patchResult?.undo()\n }\n }\n}\n\n// get tags for other filter types\nconst getTags = ({ entityId, filter }: { entityId: string; filter: string }) => {\n const invalidateFilters = Object.keys(filterActivityTypes).filter((key) => key !== filter)\n\n const tags = invalidateFilters.map((filter) => ({\n type: 'entityActivities',\n id: entityId + '-' + filter,\n }))\n\n tags.push({ type: 'activity', id: 'LIST' })\n\n tags.push({ type: 'watchers', id: entityId })\n\n return tags\n}\n\nconst updateActivitiesApi = getActivitiesGQLApi.injectEndpoints({\n endpoints: (build) => ({\n createEntityActivity: build.mutation({\n query: ({ projectName, entityType, entityId, data = {} }) => ({\n url: `/api/projects/${projectName}/${entityType}/${entityId}/activities`,\n method: 'POST',\n // generate a new activityId if this is a new activity\n body: data,\n }),\n async onQueryStarted(args, api) {\n patchActivities(args, api, 'create')\n },\n // invalidate other filters that might be affected by this new activity (comments, checklists, etc)\n invalidatesTags: (result, error, { entityId, filter }) => getTags({ entityId, filter }),\n }),\n\n updateActivity: build.mutation({\n query: ({ projectName, activityId, data }) => ({\n url: `/api/projects/${projectName}/activities/${activityId}`,\n method: 'PATCH',\n body: data,\n }),\n async onQueryStarted(args, api) {\n patchActivities(args, api, 'update')\n },\n // invalidate other filters that might be affected by this new activity (comments, checklists, etc)\n invalidatesTags: (result, error, { entityId, filter }) => getTags({ entityId, filter }),\n }),\n deleteActivity: build.mutation({\n query: ({ projectName, activityId }) => ({\n url: `/api/projects/${projectName}/activities/${activityId}`,\n method: 'DELETE',\n }),\n async onQueryStarted(args, api) {\n patchActivities(args, api, 'delete')\n },\n // invalidate other filters that might be affected by this new activity (comments, checklists, etc)\n invalidatesTags: (result, error, { entityId, filter }) => getTags({ entityId, filter }),\n }),\n }),\n overrideExisting: true,\n})\n\nexport const {\n useCreateEntityActivityMutation,\n useDeleteActivityMutation,\n useUpdateActivityMutation,\n} = updateActivitiesApi\nexport { updateActivitiesApi as activitiesQueries }\n"],"names":["enhanceActivitiesApi","gqlApi","res","transformActivityData","provideSharedActivityTags","countChecklists","_error","entityIds","id","edge","name","ACTIVITIES_INFINITE_QUERY_COUNT","getActivitiesGQLApi","build","lastPage","pageInfo","queryArg","pageParam","api","filter","args","queryParams","result","fallback","e","updateCachedData","cacheDataLoaded","cacheEntryRemoved","dispatch","getCacheEntry","handleActivityRealtimeUpdates","projectName","entityId","entityType","ENTITY_TOOLTIP","_m","transformTooltipData","_e","taskProvideTags","useGetEntityTooltipQuery","useLazyGetActivitiesByIdQuery","useGetEntitiesChecklistsQuery","useGetActivitiesQuery","useGetActivitiesInfiniteInfiniteQuery","useGetActivityUsersQuery","updateCache","activitiesDraft","patch","isDelete","page","index","a","activityFound","serializeFilter","patchActivities","refs","rest","method","queryFulfilled","getState","refIds","ref","invalidatingTags","filterKey","state","entries","patches","originalArgs","draft","tablePatches","patchTableLatestComments","patchResult","getTags","tags","filterActivityTypes","key","updateActivitiesApi","data","error","activityId","useCreateEntityActivityMutation","useDeleteActivityMutation","useUpdateActivityMutation"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const v=(t,a)=>a.split(".").reduce((e,s)=>e&&e[s]!==void 0?e[s]:void 0,t),m=(t,a)=>{const e=a.split("."),s=e.pop(),o=e.reduce((r,i)=>r&&r[i]!==void 0?r[i]:void 0,t);o&&s&&delete o[s]};function h(t,a){const e={...t};for(const[s,o]of Object.entries(a)){const r=v(e,s);r!==void 0&&(e[o]=r,m(e,s))}return e}const y=(t=[],a)=>{const e=[];return t.forEach(s=>{const o=s.node;if(!o)return;const r=o,n=h(r,{"author.name":"authorName","author.attrib.fullName":"authorFullName","author.attrib.avatarUrl":"authorAvatarUrl"});if(typeof r.activityData=="string")try{n.activityData=JSON.parse(r.activityData)}catch{console.error("Error parsing JSON field activityData",r.activityData)}e.push(n)}),{activities:e,pageInfo:a}},f=t=>{const{id:a,label:e,name:s,status:o,thumbnailId:r,thumbnailHash:i,assignees:n,taskType:c,updatedAt:d,folder:p}=t||{};return{id:a,name:s,title:e||s,type:"task",subTitle:p?.label||p?.name||"",status:o,thumbnailId:r,thumbnailHash:i,updatedAt:d,taskType:c,users:n?.map(l=>({name:l,avatarUrl:`/api/users/${l}/avatar`}))||[],path:p?.path.split("/").splice(-2,1).join("")}},g=t=>{const{id:a,name:e,status:s,thumbnailId:o,author:r,updatedAt:i,product:n}=t;return{id:a,type:"version",name:e,title:e,subTitle:n?.name||"",status:s,thumbnailId:o,updatedAt:i,users:[{name:r||"",avatarUrl:`/api/users/${r}/avatar`}],productType:n?.productType,path:n?.folder?.path?.split("/").pop()}},k=(t,a)=>{switch(a){case"task":return f(t.task);case"version":return g(t.version);default:return{}}},b=t=>{const a=t?.project?.activities?.edges?.map(i=>i?.node),e=a.map(i=>i.body),s=a.map(i=>i.activityId),o=e.reduce((i,n)=>{if(!n)return i;const c=n.match(/\*\s\[\s\]/g);return i+(c?c.length:0)},0),r=e.reduce((i,n)=>{if(!n)return i;const c=n.match(/\*\s\[x\]/g);return i+(c?c.length:0)},0);return{total:o+r,checked:r,unChecked:o,ids:s}},T=(t,a="task",e="task")=>t?.length?[...t.map(({id:s})=>({type:a,id:s})),{type:a,id:e.toUpperCase()+"S"},{type:`kanBan${e.charAt(0).toUpperCase()+e.slice(1)}`,id:e.toUpperCase()+"S"}]:[{type:a,id:e.toUpperCase()+"S"}],A=t=>{if(typeof t=="string")return t;try{return JSON.stringify(t)??""}catch{return""}},u={activity:["comment","version.publish","status.change","assignee.add","assignee.remove","version.review"],comments:["comment"],versions:["version.publish"],updates:["status.change","assignee.add","assignee.remove"],checklists:["checklist"]},N=t=>{if(typeof t=="string")return t in u?u[t]:null;if(t&&typeof t=="object"&&t.conditions){const a=[];let e=!1;return t.conditions.forEach(s=>{s&&s.key&&s.value===!0&&s.key in u&&(a.push(...u[s.key]),e=!0)}),e?Array.from(new Set(a)):u.activity}return u.activity};exports.countChecklists=b;exports.filterActivityTypes=u;exports.filterKey=A;exports.getFilterActivityTypes=N;exports.taskProvideTags=T;exports.transformActivityData=y;exports.transformTooltipData=k;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=(t,a)=>a.split(".").reduce((e,i)=>e&&e[i]!==void 0?e[i]:void 0,t),m=(t,a)=>{const e=a.split("."),i=e.pop(),c=e.reduce((r,s)=>r&&r[s]!==void 0?r[s]:void 0,t);c&&i&&delete c[i]};function h(t,a){const e={...t};for(const[i,c]of Object.entries(a)){const r=d(e,i);r!==void 0&&(e[c]=r,m(e,i))}return e}const f=(t=[],a)=>{const e=[];return t.forEach(i=>{const c=i.node;if(!c)return;const r=c,o=h(r,{"author.name":"authorName","author.attrib.fullName":"authorFullName","author.attrib.avatarUrl":"authorAvatarUrl"});if(typeof r.activityData=="string")try{o.activityData=JSON.parse(r.activityData)}catch{console.error("Error parsing JSON field activityData",r.activityData)}e.push(o)}),{activities:e,pageInfo:a}},g=t=>{const{id:a,label:e,name:i,status:c,thumbnailId:r,thumbnailHash:s,assignees:o,taskType:p,updatedAt:v,folder:n}=t||{};return{id:a,name:i,title:e||i,type:"task",subTitle:n?.label||n?.name||"",status:c,thumbnailId:r,thumbnailHash:s,updatedAt:v,taskType:p,users:o?.map(l=>({name:l,avatarUrl:`/api/users/${l}/avatar`}))||[],path:n?.path.split("/").splice(-2,1).join("")}},T=t=>{const{id:a,name:e,status:i,thumbnailId:c,author:r,updatedAt:s,product:o}=t;return{id:a,type:"version",name:e,title:e,subTitle:o?.name||"",status:i,thumbnailId:c,updatedAt:s,users:[{name:r||"",avatarUrl:`/api/users/${r}/avatar`}],productType:o?.productType,path:o?.folder?.path?.split("/").pop()}},A=(t,a)=>{switch(a){case"task":return g(t.task);case"version":return T(t.version);default:return{}}},k=t=>{const a=t?.project?.activities?.edges?.map(s=>s?.node),e=a.map(s=>s.body),i=a.map(s=>s.activityId),c=e.reduce((s,o)=>{if(!o)return s;const p=o.match(/\*\s\[\s\]/g);return s+(p?p.length:0)},0),r=e.reduce((s,o)=>{if(!o)return s;const p=o.match(/\*\s\[x\]/g);return s+(p?p.length:0)},0);return{total:c+r,checked:r,unChecked:c,ids:i}},b=(t,a="task",e="task")=>t?.length?[...t.map(({id:i})=>({type:a,id:i})),{type:a,id:e.toUpperCase()+"S"},{type:`kanBan${e.charAt(0).toUpperCase()+e.slice(1)}`,id:e.toUpperCase()+"S"}]:[{type:a,id:e.toUpperCase()+"S"}],y=t=>{if(typeof t=="string")return t;try{return JSON.stringify(t)??""}catch{return""}},S=(t,a,e)=>{if(!t)return[{type:"activity",id:"LIST"}];const{entityIds:i,activityTypes:c,filter:r}=e,s=n=>(Array.isArray(n)?n:[n]).filter(Boolean),o=s(i),p=s(c),v=t.pages?t.pages.flatMap(n=>n.activities):t.activities||[];return[...v.map(n=>({type:"activity",id:n.activityId})),{type:"activity",id:"LIST"},...o.map(n=>({type:"entityActivities",id:n})),{type:"entityActivities",id:"LIST"},...p.map(n=>({type:"entityActivities",id:n})),...o.map(n=>({type:"entityActivities",id:`${n}-${y(r)}`})),...v.filter(n=>n.activityType==="version.publish").map(n=>({type:"entityActivities",id:`version.publish-${n.origin.id}`}))]},u={activity:["comment","version.publish","status.change","assignee.add","assignee.remove","version.review"],comments:["comment"],versions:["version.publish"],updates:["status.change","assignee.add","assignee.remove"],checklists:["checklist"]},I=t=>{if(typeof t=="string")return t in u?u[t]:null;if(t&&typeof t=="object"&&t.conditions){const a=[];let e=!1;return t.conditions.forEach(i=>{i&&i.key&&i.value===!0&&i.key in u&&(a.push(...u[i.key]),e=!0)}),e?Array.from(new Set(a)):u.activity}return u.activity};exports.countChecklists=k;exports.filterActivityTypes=u;exports.filterKey=y;exports.getFilterActivityTypes=I;exports.provideSharedActivityTags=S;exports.taskProvideTags=b;exports.transformActivityData=f;exports.transformTooltipData=A;
2
2
  //# sourceMappingURL=activitiesHelpers.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"activitiesHelpers.cjs.js","sources":["../../../../../../../src/api/queries/activities/util/activitiesHelpers.ts"],"sourcesContent":["import type {\n ActivityFragmentFragment,\n GetEntitiesChecklistsQuery,\n PageInfo,\n} from '@shared/api/generated'\nimport { ChecklistCount, FeedActivity, FeedActivityData } from '../types'\nimport { BaseTypes, EntityTooltipQuery, TaskTypes, VersionTypes } from '../activityQueries'\n\n// Helper function to get a nested property of an object using a string path\nconst getNestedProperty = <T extends Record<string, any>, R = any>(\n obj: T,\n path: string,\n): R | undefined =>\n path.split('.').reduce<any>((o, p) => (o && o[p] !== undefined ? o[p] : undefined), obj)\n\n// Helper function to delete a nested property of an object using a string path\nconst deleteNestedProperty = <T extends Record<string, any>>(obj: T, path: string): void => {\n const pathParts = path.split('.')\n const lastPart = pathParts.pop()\n const target = pathParts.reduce<any>((o, p) => (o && o[p] !== undefined ? o[p] : undefined), obj)\n if (target && lastPart) {\n delete target[lastPart]\n }\n}\n\nfunction remapNestedProperties<T extends Record<string, any>>(\n object: T,\n remappingItems: Record<string, string>,\n): T {\n const transformedObject = { ...object }\n\n for (const [key, newKey] of Object.entries(remappingItems)) {\n const value = getNestedProperty(transformedObject, key)\n if (value !== undefined) {\n // Get deeply nested value from key using \".\" notation\n // @ts-expect-error\n transformedObject[newKey] = value\n // Delete the old key from the object\n deleteNestedProperty(transformedObject, key)\n }\n }\n\n return transformedObject\n}\n\nexport type ActivitiesResult = { activities: FeedActivity[]; pageInfo: PageInfo }\n\ntype TransFormActivityData = (\n edges: { node: ActivityFragmentFragment }[],\n pageInfo: PageInfo,\n) => ActivitiesResult\n\n// we flatten the activity object a little bit\nexport const transformActivityData: TransFormActivityData = (edges = [], pageInfo) => {\n const activities: FeedActivity[] = []\n\n // loop over each activity and remap the nested properties\n edges.forEach((edge) => {\n // remapping keys are the fields path in the object\n // and the values are the new keys to assign the values to\n const data = edge.node\n\n if (!data) {\n return\n }\n\n const activityNode = data\n\n // remapping of nested properties to flat properties\n const remappingItems = {\n 'author.name': 'authorName',\n 'author.attrib.fullName': 'authorFullName',\n 'author.attrib.avatarUrl': 'authorAvatarUrl',\n }\n\n const transformedActivity = remapNestedProperties(\n activityNode,\n remappingItems,\n ) as unknown as FeedActivity\n\n // parse activityData if it's a JSON string\n if (typeof activityNode.activityData === 'string') {\n try {\n transformedActivity.activityData = JSON.parse(activityNode.activityData) as FeedActivityData\n } catch (e) {\n console.error('Error parsing JSON field activityData', activityNode.activityData)\n }\n }\n\n activities.push(transformedActivity)\n })\n\n // when there are no activities and hasPreviousPage is false, add an \"createdAt\" activity as the last activity\n // if (pageInfo.hasPreviousPage === false) {\n // activities.push({ hasPreviousPage: false, activityType: 'end', activityId: 'end' })\n // }\n\n return { activities, pageInfo }\n}\n\nexport type EntityTooltip = {\n id: string\n name: string\n title: string\n type: string\n subTitle: string\n status?: string\n thumbnailId?: string\n thumbnailHash?: string\n updatedAt?: string\n taskType?: string\n users?: { name: string; avatarUrl: string }[]\n path?: string\n}\ntype TransformTaskTooltip = (data: BaseTypes & TaskTypes) => EntityTooltip\n\nconst transformTaskTooltip: TransformTaskTooltip = (data) => {\n const {\n id,\n label,\n name,\n status,\n thumbnailId,\n thumbnailHash,\n assignees,\n taskType,\n updatedAt,\n folder,\n } = data || {}\n const tooltip = {\n id,\n name,\n title: label || name,\n type: 'task',\n subTitle: folder?.label || folder?.name || '',\n status,\n thumbnailId,\n thumbnailHash,\n updatedAt,\n taskType,\n users: assignees?.map((name) => ({ name, avatarUrl: `/api/users/${name}/avatar` })) || [],\n path: folder?.path.split('/').splice(-2, 1).join(''),\n }\n\n return tooltip\n}\n\ntype TransformVersionTooltip = (data: BaseTypes & VersionTypes) => EntityTooltip\n\nconst transformVersionTooltip: TransformVersionTooltip = (data) => {\n const { id, name, status, thumbnailId, author, updatedAt, product } = data\n const tooltip = {\n id,\n type: 'version',\n name: name,\n title: name,\n subTitle: product?.name || '',\n status,\n thumbnailId,\n updatedAt,\n users: [{ name: author || '', avatarUrl: `/api/users/${author}/avatar` }],\n productType: product?.productType,\n path: product?.folder?.path?.split('/').pop(),\n }\n\n return tooltip\n}\n\n// different types have different tooltip data, we need to create a single data model\nexport const transformTooltipData = (data: EntityTooltipQuery['data']['project'], type: string) => {\n switch (type) {\n case 'task':\n // @ts-ignore\n return transformTaskTooltip(data.task)\n case 'version':\n // @ts-ignore\n return transformVersionTooltip(data.version)\n default:\n return {}\n }\n}\n\ntype CountCheckLists = (data: GetEntitiesChecklistsQuery) => ChecklistCount\n\nexport const countChecklists: CountCheckLists = (data) => {\n const activities = data?.project?.activities?.edges?.map((edge) => edge?.node)\n // get all bodies from each activity\n const bodies = activities.map((a) => a.body)\n const ids = activities.map((a) => a.activityId)\n\n // count how many checklists are in each body\n\n // count unchecked * [ ] items\n const unChecked = bodies.reduce((acc, body) => {\n if (!body) return acc\n const matches = body.match(/\\*\\s\\[\\s\\]/g)\n return acc + (matches ? matches.length : 0)\n }, 0)\n\n // count checked * [x] items\n const checked = bodies.reduce((acc, body) => {\n if (!body) return acc\n const matches = body.match(/\\*\\s\\[x\\]/g)\n return acc + (matches ? matches.length : 0)\n }, 0)\n\n return { total: unChecked + checked, checked, unChecked, ids }\n}\n\ntype Task = { id: string }\n\nexport const taskProvideTags = (result: Task[], type = 'task', entityType = 'task') =>\n result?.length\n ? [\n ...result.map(({ id }: Task) => ({ type, id })),\n { type, id: entityType.toUpperCase() + 'S' },\n {\n type: `kanBan${entityType.charAt(0).toUpperCase() + entityType.slice(1)}`,\n id: entityType.toUpperCase() + 'S',\n },\n ]\n : [{ type, id: entityType.toUpperCase() + 'S' }]\n\nexport const filterKey = (filter: any): string => {\n if (typeof filter === 'string') return filter\n try {\n return JSON.stringify(filter) ?? ''\n } catch {\n return ''\n }\n}\n\nexport const filterActivityTypes: Record<string, string[]> = {\n activity: [\n 'comment',\n 'version.publish',\n 'status.change',\n 'assignee.add',\n 'assignee.remove',\n 'version.review',\n ],\n comments: ['comment'],\n versions: ['version.publish'],\n updates: ['status.change', 'assignee.add', 'assignee.remove'],\n checklists: ['checklist'],\n}\n\nexport const getFilterActivityTypes = (filter: any): string[] | null => {\n // If it's a string, it's one of the legacy pre-set filters\n if (typeof filter === 'string') {\n if (filter in filterActivityTypes) {\n return filterActivityTypes[filter]\n }\n return null\n }\n\n // Handle QueryFilter object\n if (filter && typeof filter === 'object' && filter.conditions) {\n const activeTypes: string[] = []\n let hasExplicitTypeFilter = false\n\n filter.conditions.forEach((condition: any) => {\n // Check if it's a simple condition for one of our known activity types\n if (condition && condition.key && condition.value === true) {\n if (condition.key in filterActivityTypes) {\n activeTypes.push(...filterActivityTypes[condition.key])\n hasExplicitTypeFilter = true\n }\n }\n })\n\n // If no specific activity type filters are selected, return \"activity\" (all)\n if (!hasExplicitTypeFilter) {\n return filterActivityTypes.activity\n }\n\n // Return unique set of activity types\n return Array.from(new Set(activeTypes))\n }\n\n // fallback to all activity\n return filterActivityTypes.activity\n}\n"],"names":["getNestedProperty","obj","path","o","p","deleteNestedProperty","pathParts","lastPart","target","remapNestedProperties","object","remappingItems","transformedObject","key","newKey","value","transformActivityData","edges","pageInfo","activities","edge","data","activityNode","transformedActivity","transformTaskTooltip","id","label","name","status","thumbnailId","thumbnailHash","assignees","taskType","updatedAt","folder","transformVersionTooltip","author","product","transformTooltipData","type","countChecklists","bodies","a","ids","unChecked","acc","body","matches","checked","taskProvideTags","result","entityType","filterKey","filter","filterActivityTypes","getFilterActivityTypes","activeTypes","hasExplicitTypeFilter","condition"],"mappings":"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"}
1
+ {"version":3,"file":"activitiesHelpers.cjs.js","sources":["../../../../../../../src/api/queries/activities/util/activitiesHelpers.ts"],"sourcesContent":["import type {\n ActivityFragmentFragment,\n GetEntitiesChecklistsQuery,\n PageInfo,\n} from '@shared/api/generated'\nimport { ChecklistCount, FeedActivity, FeedActivityData } from '../types'\nimport { BaseTypes, EntityTooltipQuery, TaskTypes, VersionTypes } from '../activityQueries'\n\n// Helper function to get a nested property of an object using a string path\nconst getNestedProperty = <T extends Record<string, any>, R = any>(\n obj: T,\n path: string,\n): R | undefined =>\n path.split('.').reduce<any>((o, p) => (o && o[p] !== undefined ? o[p] : undefined), obj)\n\n// Helper function to delete a nested property of an object using a string path\nconst deleteNestedProperty = <T extends Record<string, any>>(obj: T, path: string): void => {\n const pathParts = path.split('.')\n const lastPart = pathParts.pop()\n const target = pathParts.reduce<any>((o, p) => (o && o[p] !== undefined ? o[p] : undefined), obj)\n if (target && lastPart) {\n delete target[lastPart]\n }\n}\n\nfunction remapNestedProperties<T extends Record<string, any>>(\n object: T,\n remappingItems: Record<string, string>,\n): T {\n const transformedObject = { ...object }\n\n for (const [key, newKey] of Object.entries(remappingItems)) {\n const value = getNestedProperty(transformedObject, key)\n if (value !== undefined) {\n // Get deeply nested value from key using \".\" notation\n // @ts-expect-error\n transformedObject[newKey] = value\n // Delete the old key from the object\n deleteNestedProperty(transformedObject, key)\n }\n }\n\n return transformedObject\n}\n\nexport type ActivitiesResult = { activities: FeedActivity[]; pageInfo: PageInfo }\n\ntype TransFormActivityData = (\n edges: { node: ActivityFragmentFragment }[],\n pageInfo: PageInfo,\n) => ActivitiesResult\n\n// we flatten the activity object a little bit\nexport const transformActivityData: TransFormActivityData = (edges = [], pageInfo) => {\n const activities: FeedActivity[] = []\n\n // loop over each activity and remap the nested properties\n edges.forEach((edge) => {\n // remapping keys are the fields path in the object\n // and the values are the new keys to assign the values to\n const data = edge.node\n\n if (!data) {\n return\n }\n\n const activityNode = data\n\n // remapping of nested properties to flat properties\n const remappingItems = {\n 'author.name': 'authorName',\n 'author.attrib.fullName': 'authorFullName',\n 'author.attrib.avatarUrl': 'authorAvatarUrl',\n }\n\n const transformedActivity = remapNestedProperties(\n activityNode,\n remappingItems,\n ) as unknown as FeedActivity\n\n // parse activityData if it's a JSON string\n if (typeof activityNode.activityData === 'string') {\n try {\n transformedActivity.activityData = JSON.parse(activityNode.activityData) as FeedActivityData\n } catch (e) {\n console.error('Error parsing JSON field activityData', activityNode.activityData)\n }\n }\n\n activities.push(transformedActivity)\n })\n\n // when there are no activities and hasPreviousPage is false, add an \"createdAt\" activity as the last activity\n // if (pageInfo.hasPreviousPage === false) {\n // activities.push({ hasPreviousPage: false, activityType: 'end', activityId: 'end' })\n // }\n\n return { activities, pageInfo }\n}\n\nexport type EntityTooltip = {\n id: string\n name: string\n title: string\n type: string\n subTitle: string\n status?: string\n thumbnailId?: string\n thumbnailHash?: string\n updatedAt?: string\n taskType?: string\n users?: { name: string; avatarUrl: string }[]\n path?: string\n}\ntype TransformTaskTooltip = (data: BaseTypes & TaskTypes) => EntityTooltip\n\nconst transformTaskTooltip: TransformTaskTooltip = (data) => {\n const {\n id,\n label,\n name,\n status,\n thumbnailId,\n thumbnailHash,\n assignees,\n taskType,\n updatedAt,\n folder,\n } = data || {}\n const tooltip = {\n id,\n name,\n title: label || name,\n type: 'task',\n subTitle: folder?.label || folder?.name || '',\n status,\n thumbnailId,\n thumbnailHash,\n updatedAt,\n taskType,\n users: assignees?.map((name) => ({ name, avatarUrl: `/api/users/${name}/avatar` })) || [],\n path: folder?.path.split('/').splice(-2, 1).join(''),\n }\n\n return tooltip\n}\n\ntype TransformVersionTooltip = (data: BaseTypes & VersionTypes) => EntityTooltip\n\nconst transformVersionTooltip: TransformVersionTooltip = (data) => {\n const { id, name, status, thumbnailId, author, updatedAt, product } = data\n const tooltip = {\n id,\n type: 'version',\n name: name,\n title: name,\n subTitle: product?.name || '',\n status,\n thumbnailId,\n updatedAt,\n users: [{ name: author || '', avatarUrl: `/api/users/${author}/avatar` }],\n productType: product?.productType,\n path: product?.folder?.path?.split('/').pop(),\n }\n\n return tooltip\n}\n\n// different types have different tooltip data, we need to create a single data model\nexport const transformTooltipData = (data: EntityTooltipQuery['data']['project'], type: string) => {\n switch (type) {\n case 'task':\n // @ts-ignore\n return transformTaskTooltip(data.task)\n case 'version':\n // @ts-ignore\n return transformVersionTooltip(data.version)\n default:\n return {}\n }\n}\n\ntype CountCheckLists = (data: GetEntitiesChecklistsQuery) => ChecklistCount\n\nexport const countChecklists: CountCheckLists = (data) => {\n const activities = data?.project?.activities?.edges?.map((edge) => edge?.node)\n // get all bodies from each activity\n const bodies = activities.map((a) => a.body)\n const ids = activities.map((a) => a.activityId)\n\n // count how many checklists are in each body\n\n // count unchecked * [ ] items\n const unChecked = bodies.reduce((acc, body) => {\n if (!body) return acc\n const matches = body.match(/\\*\\s\\[\\s\\]/g)\n return acc + (matches ? matches.length : 0)\n }, 0)\n\n // count checked * [x] items\n const checked = bodies.reduce((acc, body) => {\n if (!body) return acc\n const matches = body.match(/\\*\\s\\[x\\]/g)\n return acc + (matches ? matches.length : 0)\n }, 0)\n\n return { total: unChecked + checked, checked, unChecked, ids }\n}\n\ntype Task = { id: string }\n\nexport const taskProvideTags = (result: Task[], type = 'task', entityType = 'task') =>\n result?.length\n ? [\n ...result.map(({ id }: Task) => ({ type, id })),\n { type, id: entityType.toUpperCase() + 'S' },\n {\n type: `kanBan${entityType.charAt(0).toUpperCase() + entityType.slice(1)}`,\n id: entityType.toUpperCase() + 'S',\n },\n ]\n : [{ type, id: entityType.toUpperCase() + 'S' }]\n\nexport const filterKey = (filter: any): string => {\n if (typeof filter === 'string') return filter\n try {\n return JSON.stringify(filter) ?? ''\n } catch {\n return ''\n }\n}\n\n/**\n * Shared helper to generate activity tags for both standard and infinite queries.\n */\nexport const provideSharedActivityTags = (\n result: { activities?: any[]; pages?: Array<{ activities: any[] }> } | undefined,\n _error: unknown,\n // Widened type signatures to allow string[] | string | null | undefined\n arg: {\n entityIds?: string | string[] | null\n activityTypes?: string | string[] | null\n filter?: any\n },\n) => {\n if (!result) {\n return [{ type: 'activity' as const, id: 'LIST' }]\n }\n\n const { entityIds, activityTypes, filter } = arg\n\n // Helper now safely skips null/undefined values\n const normalizeIds = (ids: unknown): string[] =>\n (Array.isArray(ids) ? ids : [ids]).filter(Boolean) as string[]\n\n const cleanEntityIds = normalizeIds(entityIds)\n const cleanActivityTypes = normalizeIds(activityTypes)\n\n const activities = result.pages\n ? result.pages.flatMap((page) => page.activities)\n : result.activities || []\n\n return [\n // Individual Activity Tags\n ...activities.map((a) => ({ type: 'activity' as const, id: a.activityId })),\n { type: 'activity' as const, id: 'LIST' },\n\n // Base Entity Activity Tags\n ...cleanEntityIds.map((id) => ({ type: 'entityActivities' as const, id })),\n { type: 'entityActivities' as const, id: 'LIST' },\n\n // Activity Type Tags\n ...cleanActivityTypes.map((type) => ({ type: 'entityActivities' as const, id: type })),\n\n // Filtered Entity Activity Tags\n ...cleanEntityIds.map((id) => ({\n type: 'entityActivities' as const,\n id: `${id}-${filterKey(filter)}`,\n })),\n\n // Published Version Tags\n ...activities\n .filter((a) => a.activityType === 'version.publish')\n .map((a) => ({\n type: 'entityActivities' as const,\n id: `version.publish-${a.origin.id}`,\n })),\n ]\n}\n\nexport const filterActivityTypes: Record<string, string[]> = {\n activity: [\n 'comment',\n 'version.publish',\n 'status.change',\n 'assignee.add',\n 'assignee.remove',\n 'version.review',\n ],\n comments: ['comment'],\n versions: ['version.publish'],\n updates: ['status.change', 'assignee.add', 'assignee.remove'],\n checklists: ['checklist'],\n}\n\nexport const getFilterActivityTypes = (filter: any): string[] | null => {\n // If it's a string, it's one of the legacy pre-set filters\n if (typeof filter === 'string') {\n if (filter in filterActivityTypes) {\n return filterActivityTypes[filter]\n }\n return null\n }\n\n // Handle QueryFilter object\n if (filter && typeof filter === 'object' && filter.conditions) {\n const activeTypes: string[] = []\n let hasExplicitTypeFilter = false\n\n filter.conditions.forEach((condition: any) => {\n // Check if it's a simple condition for one of our known activity types\n if (condition && condition.key && condition.value === true) {\n if (condition.key in filterActivityTypes) {\n activeTypes.push(...filterActivityTypes[condition.key])\n hasExplicitTypeFilter = true\n }\n }\n })\n\n // If no specific activity type filters are selected, return \"activity\" (all)\n if (!hasExplicitTypeFilter) {\n return filterActivityTypes.activity\n }\n\n // Return unique set of activity types\n return Array.from(new Set(activeTypes))\n }\n\n // fallback to all activity\n return filterActivityTypes.activity\n}\n"],"names":["getNestedProperty","obj","path","o","p","deleteNestedProperty","pathParts","lastPart","target","remapNestedProperties","object","remappingItems","transformedObject","key","newKey","value","transformActivityData","edges","pageInfo","activities","edge","data","activityNode","transformedActivity","transformTaskTooltip","id","label","name","status","thumbnailId","thumbnailHash","assignees","taskType","updatedAt","folder","transformVersionTooltip","author","product","transformTooltipData","type","countChecklists","bodies","a","ids","unChecked","acc","body","matches","checked","taskProvideTags","result","entityType","filterKey","filter","provideSharedActivityTags","_error","arg","entityIds","activityTypes","normalizeIds","cleanEntityIds","cleanActivityTypes","page","filterActivityTypes","getFilterActivityTypes","activeTypes","hasExplicitTypeFilter","condition"],"mappings":"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"}
@@ -1,22 +1,22 @@
1
- const v = (t, a) => a.split(".").reduce((e, s) => e && e[s] !== void 0 ? e[s] : void 0, t), h = (t, a) => {
2
- const e = a.split("."), s = e.pop(), o = e.reduce((r, i) => r && r[i] !== void 0 ? r[i] : void 0, t);
3
- o && s && delete o[s];
1
+ const l = (t, a) => a.split(".").reduce((e, i) => e && e[i] !== void 0 ? e[i] : void 0, t), y = (t, a) => {
2
+ const e = a.split("."), i = e.pop(), c = e.reduce((r, s) => r && r[s] !== void 0 ? r[s] : void 0, t);
3
+ c && i && delete c[i];
4
4
  };
5
5
  function m(t, a) {
6
6
  const e = { ...t };
7
- for (const [s, o] of Object.entries(a)) {
8
- const r = v(e, s);
9
- r !== void 0 && (e[o] = r, h(e, s));
7
+ for (const [i, c] of Object.entries(a)) {
8
+ const r = l(e, i);
9
+ r !== void 0 && (e[c] = r, y(e, i));
10
10
  }
11
11
  return e;
12
12
  }
13
- const k = (t = [], a) => {
13
+ const A = (t = [], a) => {
14
14
  const e = [];
15
- return t.forEach((s) => {
16
- const o = s.node;
17
- if (!o)
15
+ return t.forEach((i) => {
16
+ const c = i.node;
17
+ if (!c)
18
18
  return;
19
- const r = o, n = m(
19
+ const r = c, o = m(
20
20
  r,
21
21
  {
22
22
  "author.name": "authorName",
@@ -26,89 +26,113 @@ const k = (t = [], a) => {
26
26
  );
27
27
  if (typeof r.activityData == "string")
28
28
  try {
29
- n.activityData = JSON.parse(r.activityData);
29
+ o.activityData = JSON.parse(r.activityData);
30
30
  } catch {
31
31
  console.error("Error parsing JSON field activityData", r.activityData);
32
32
  }
33
- e.push(n);
33
+ e.push(o);
34
34
  }), { activities: e, pageInfo: a };
35
- }, f = (t) => {
35
+ }, h = (t) => {
36
36
  const {
37
37
  id: a,
38
38
  label: e,
39
- name: s,
40
- status: o,
39
+ name: i,
40
+ status: c,
41
41
  thumbnailId: r,
42
- thumbnailHash: i,
43
- assignees: n,
44
- taskType: c,
45
- updatedAt: d,
46
- folder: u
42
+ thumbnailHash: s,
43
+ assignees: o,
44
+ taskType: p,
45
+ updatedAt: v,
46
+ folder: n
47
47
  } = t || {};
48
48
  return {
49
49
  id: a,
50
- name: s,
51
- title: e || s,
50
+ name: i,
51
+ title: e || i,
52
52
  type: "task",
53
- subTitle: u?.label || u?.name || "",
54
- status: o,
53
+ subTitle: n?.label || n?.name || "",
54
+ status: c,
55
55
  thumbnailId: r,
56
- thumbnailHash: i,
57
- updatedAt: d,
58
- taskType: c,
59
- users: n?.map((l) => ({ name: l, avatarUrl: `/api/users/${l}/avatar` })) || [],
60
- path: u?.path.split("/").splice(-2, 1).join("")
56
+ thumbnailHash: s,
57
+ updatedAt: v,
58
+ taskType: p,
59
+ users: o?.map((d) => ({ name: d, avatarUrl: `/api/users/${d}/avatar` })) || [],
60
+ path: n?.path.split("/").splice(-2, 1).join("")
61
61
  };
62
- }, y = (t) => {
63
- const { id: a, name: e, status: s, thumbnailId: o, author: r, updatedAt: i, product: n } = t;
62
+ }, f = (t) => {
63
+ const { id: a, name: e, status: i, thumbnailId: c, author: r, updatedAt: s, product: o } = t;
64
64
  return {
65
65
  id: a,
66
66
  type: "version",
67
67
  name: e,
68
68
  title: e,
69
- subTitle: n?.name || "",
70
- status: s,
71
- thumbnailId: o,
72
- updatedAt: i,
69
+ subTitle: o?.name || "",
70
+ status: i,
71
+ thumbnailId: c,
72
+ updatedAt: s,
73
73
  users: [{ name: r || "", avatarUrl: `/api/users/${r}/avatar` }],
74
- productType: n?.productType,
75
- path: n?.folder?.path?.split("/").pop()
74
+ productType: o?.productType,
75
+ path: o?.folder?.path?.split("/").pop()
76
76
  };
77
- }, b = (t, a) => {
77
+ }, T = (t, a) => {
78
78
  switch (a) {
79
79
  case "task":
80
- return f(t.task);
80
+ return h(t.task);
81
81
  case "version":
82
- return y(t.version);
82
+ return f(t.version);
83
83
  default:
84
84
  return {};
85
85
  }
86
- }, N = (t) => {
87
- const a = t?.project?.activities?.edges?.map((i) => i?.node), e = a.map((i) => i.body), s = a.map((i) => i.activityId), o = e.reduce((i, n) => {
88
- if (!n) return i;
89
- const c = n.match(/\*\s\[\s\]/g);
90
- return i + (c ? c.length : 0);
91
- }, 0), r = e.reduce((i, n) => {
92
- if (!n) return i;
93
- const c = n.match(/\*\s\[x\]/g);
94
- return i + (c ? c.length : 0);
86
+ }, b = (t) => {
87
+ const a = t?.project?.activities?.edges?.map((s) => s?.node), e = a.map((s) => s.body), i = a.map((s) => s.activityId), c = e.reduce((s, o) => {
88
+ if (!o) return s;
89
+ const p = o.match(/\*\s\[\s\]/g);
90
+ return s + (p ? p.length : 0);
91
+ }, 0), r = e.reduce((s, o) => {
92
+ if (!o) return s;
93
+ const p = o.match(/\*\s\[x\]/g);
94
+ return s + (p ? p.length : 0);
95
95
  }, 0);
96
- return { total: o + r, checked: r, unChecked: o, ids: s };
97
- }, T = (t, a = "task", e = "task") => t?.length ? [
98
- ...t.map(({ id: s }) => ({ type: a, id: s })),
96
+ return { total: c + r, checked: r, unChecked: c, ids: i };
97
+ }, I = (t, a = "task", e = "task") => t?.length ? [
98
+ ...t.map(({ id: i }) => ({ type: a, id: i })),
99
99
  { type: a, id: e.toUpperCase() + "S" },
100
100
  {
101
101
  type: `kanBan${e.charAt(0).toUpperCase() + e.slice(1)}`,
102
102
  id: e.toUpperCase() + "S"
103
103
  }
104
- ] : [{ type: a, id: e.toUpperCase() + "S" }], A = (t) => {
104
+ ] : [{ type: a, id: e.toUpperCase() + "S" }], g = (t) => {
105
105
  if (typeof t == "string") return t;
106
106
  try {
107
107
  return JSON.stringify(t) ?? "";
108
108
  } catch {
109
109
  return "";
110
110
  }
111
- }, p = {
111
+ }, S = (t, a, e) => {
112
+ if (!t)
113
+ return [{ type: "activity", id: "LIST" }];
114
+ const { entityIds: i, activityTypes: c, filter: r } = e, s = (n) => (Array.isArray(n) ? n : [n]).filter(Boolean), o = s(i), p = s(c), v = t.pages ? t.pages.flatMap((n) => n.activities) : t.activities || [];
115
+ return [
116
+ // Individual Activity Tags
117
+ ...v.map((n) => ({ type: "activity", id: n.activityId })),
118
+ { type: "activity", id: "LIST" },
119
+ // Base Entity Activity Tags
120
+ ...o.map((n) => ({ type: "entityActivities", id: n })),
121
+ { type: "entityActivities", id: "LIST" },
122
+ // Activity Type Tags
123
+ ...p.map((n) => ({ type: "entityActivities", id: n })),
124
+ // Filtered Entity Activity Tags
125
+ ...o.map((n) => ({
126
+ type: "entityActivities",
127
+ id: `${n}-${g(r)}`
128
+ })),
129
+ // Published Version Tags
130
+ ...v.filter((n) => n.activityType === "version.publish").map((n) => ({
131
+ type: "entityActivities",
132
+ id: `version.publish-${n.origin.id}`
133
+ }))
134
+ ];
135
+ }, u = {
112
136
  activity: [
113
137
  "comment",
114
138
  "version.publish",
@@ -121,25 +145,26 @@ const k = (t = [], a) => {
121
145
  versions: ["version.publish"],
122
146
  updates: ["status.change", "assignee.add", "assignee.remove"],
123
147
  checklists: ["checklist"]
124
- }, U = (t) => {
148
+ }, N = (t) => {
125
149
  if (typeof t == "string")
126
- return t in p ? p[t] : null;
150
+ return t in u ? u[t] : null;
127
151
  if (t && typeof t == "object" && t.conditions) {
128
152
  const a = [];
129
153
  let e = !1;
130
- return t.conditions.forEach((s) => {
131
- s && s.key && s.value === !0 && s.key in p && (a.push(...p[s.key]), e = !0);
132
- }), e ? Array.from(new Set(a)) : p.activity;
154
+ return t.conditions.forEach((i) => {
155
+ i && i.key && i.value === !0 && i.key in u && (a.push(...u[i.key]), e = !0);
156
+ }), e ? Array.from(new Set(a)) : u.activity;
133
157
  }
134
- return p.activity;
158
+ return u.activity;
135
159
  };
136
160
  export {
137
- N as countChecklists,
138
- p as filterActivityTypes,
139
- A as filterKey,
140
- U as getFilterActivityTypes,
141
- T as taskProvideTags,
142
- k as transformActivityData,
143
- b as transformTooltipData
161
+ b as countChecklists,
162
+ u as filterActivityTypes,
163
+ g as filterKey,
164
+ N as getFilterActivityTypes,
165
+ S as provideSharedActivityTags,
166
+ I as taskProvideTags,
167
+ A as transformActivityData,
168
+ T as transformTooltipData
144
169
  };
145
170
  //# sourceMappingURL=activitiesHelpers.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"activitiesHelpers.es.js","sources":["../../../../../../../src/api/queries/activities/util/activitiesHelpers.ts"],"sourcesContent":["import type {\n ActivityFragmentFragment,\n GetEntitiesChecklistsQuery,\n PageInfo,\n} from '@shared/api/generated'\nimport { ChecklistCount, FeedActivity, FeedActivityData } from '../types'\nimport { BaseTypes, EntityTooltipQuery, TaskTypes, VersionTypes } from '../activityQueries'\n\n// Helper function to get a nested property of an object using a string path\nconst getNestedProperty = <T extends Record<string, any>, R = any>(\n obj: T,\n path: string,\n): R | undefined =>\n path.split('.').reduce<any>((o, p) => (o && o[p] !== undefined ? o[p] : undefined), obj)\n\n// Helper function to delete a nested property of an object using a string path\nconst deleteNestedProperty = <T extends Record<string, any>>(obj: T, path: string): void => {\n const pathParts = path.split('.')\n const lastPart = pathParts.pop()\n const target = pathParts.reduce<any>((o, p) => (o && o[p] !== undefined ? o[p] : undefined), obj)\n if (target && lastPart) {\n delete target[lastPart]\n }\n}\n\nfunction remapNestedProperties<T extends Record<string, any>>(\n object: T,\n remappingItems: Record<string, string>,\n): T {\n const transformedObject = { ...object }\n\n for (const [key, newKey] of Object.entries(remappingItems)) {\n const value = getNestedProperty(transformedObject, key)\n if (value !== undefined) {\n // Get deeply nested value from key using \".\" notation\n // @ts-expect-error\n transformedObject[newKey] = value\n // Delete the old key from the object\n deleteNestedProperty(transformedObject, key)\n }\n }\n\n return transformedObject\n}\n\nexport type ActivitiesResult = { activities: FeedActivity[]; pageInfo: PageInfo }\n\ntype TransFormActivityData = (\n edges: { node: ActivityFragmentFragment }[],\n pageInfo: PageInfo,\n) => ActivitiesResult\n\n// we flatten the activity object a little bit\nexport const transformActivityData: TransFormActivityData = (edges = [], pageInfo) => {\n const activities: FeedActivity[] = []\n\n // loop over each activity and remap the nested properties\n edges.forEach((edge) => {\n // remapping keys are the fields path in the object\n // and the values are the new keys to assign the values to\n const data = edge.node\n\n if (!data) {\n return\n }\n\n const activityNode = data\n\n // remapping of nested properties to flat properties\n const remappingItems = {\n 'author.name': 'authorName',\n 'author.attrib.fullName': 'authorFullName',\n 'author.attrib.avatarUrl': 'authorAvatarUrl',\n }\n\n const transformedActivity = remapNestedProperties(\n activityNode,\n remappingItems,\n ) as unknown as FeedActivity\n\n // parse activityData if it's a JSON string\n if (typeof activityNode.activityData === 'string') {\n try {\n transformedActivity.activityData = JSON.parse(activityNode.activityData) as FeedActivityData\n } catch (e) {\n console.error('Error parsing JSON field activityData', activityNode.activityData)\n }\n }\n\n activities.push(transformedActivity)\n })\n\n // when there are no activities and hasPreviousPage is false, add an \"createdAt\" activity as the last activity\n // if (pageInfo.hasPreviousPage === false) {\n // activities.push({ hasPreviousPage: false, activityType: 'end', activityId: 'end' })\n // }\n\n return { activities, pageInfo }\n}\n\nexport type EntityTooltip = {\n id: string\n name: string\n title: string\n type: string\n subTitle: string\n status?: string\n thumbnailId?: string\n thumbnailHash?: string\n updatedAt?: string\n taskType?: string\n users?: { name: string; avatarUrl: string }[]\n path?: string\n}\ntype TransformTaskTooltip = (data: BaseTypes & TaskTypes) => EntityTooltip\n\nconst transformTaskTooltip: TransformTaskTooltip = (data) => {\n const {\n id,\n label,\n name,\n status,\n thumbnailId,\n thumbnailHash,\n assignees,\n taskType,\n updatedAt,\n folder,\n } = data || {}\n const tooltip = {\n id,\n name,\n title: label || name,\n type: 'task',\n subTitle: folder?.label || folder?.name || '',\n status,\n thumbnailId,\n thumbnailHash,\n updatedAt,\n taskType,\n users: assignees?.map((name) => ({ name, avatarUrl: `/api/users/${name}/avatar` })) || [],\n path: folder?.path.split('/').splice(-2, 1).join(''),\n }\n\n return tooltip\n}\n\ntype TransformVersionTooltip = (data: BaseTypes & VersionTypes) => EntityTooltip\n\nconst transformVersionTooltip: TransformVersionTooltip = (data) => {\n const { id, name, status, thumbnailId, author, updatedAt, product } = data\n const tooltip = {\n id,\n type: 'version',\n name: name,\n title: name,\n subTitle: product?.name || '',\n status,\n thumbnailId,\n updatedAt,\n users: [{ name: author || '', avatarUrl: `/api/users/${author}/avatar` }],\n productType: product?.productType,\n path: product?.folder?.path?.split('/').pop(),\n }\n\n return tooltip\n}\n\n// different types have different tooltip data, we need to create a single data model\nexport const transformTooltipData = (data: EntityTooltipQuery['data']['project'], type: string) => {\n switch (type) {\n case 'task':\n // @ts-ignore\n return transformTaskTooltip(data.task)\n case 'version':\n // @ts-ignore\n return transformVersionTooltip(data.version)\n default:\n return {}\n }\n}\n\ntype CountCheckLists = (data: GetEntitiesChecklistsQuery) => ChecklistCount\n\nexport const countChecklists: CountCheckLists = (data) => {\n const activities = data?.project?.activities?.edges?.map((edge) => edge?.node)\n // get all bodies from each activity\n const bodies = activities.map((a) => a.body)\n const ids = activities.map((a) => a.activityId)\n\n // count how many checklists are in each body\n\n // count unchecked * [ ] items\n const unChecked = bodies.reduce((acc, body) => {\n if (!body) return acc\n const matches = body.match(/\\*\\s\\[\\s\\]/g)\n return acc + (matches ? matches.length : 0)\n }, 0)\n\n // count checked * [x] items\n const checked = bodies.reduce((acc, body) => {\n if (!body) return acc\n const matches = body.match(/\\*\\s\\[x\\]/g)\n return acc + (matches ? matches.length : 0)\n }, 0)\n\n return { total: unChecked + checked, checked, unChecked, ids }\n}\n\ntype Task = { id: string }\n\nexport const taskProvideTags = (result: Task[], type = 'task', entityType = 'task') =>\n result?.length\n ? [\n ...result.map(({ id }: Task) => ({ type, id })),\n { type, id: entityType.toUpperCase() + 'S' },\n {\n type: `kanBan${entityType.charAt(0).toUpperCase() + entityType.slice(1)}`,\n id: entityType.toUpperCase() + 'S',\n },\n ]\n : [{ type, id: entityType.toUpperCase() + 'S' }]\n\nexport const filterKey = (filter: any): string => {\n if (typeof filter === 'string') return filter\n try {\n return JSON.stringify(filter) ?? ''\n } catch {\n return ''\n }\n}\n\nexport const filterActivityTypes: Record<string, string[]> = {\n activity: [\n 'comment',\n 'version.publish',\n 'status.change',\n 'assignee.add',\n 'assignee.remove',\n 'version.review',\n ],\n comments: ['comment'],\n versions: ['version.publish'],\n updates: ['status.change', 'assignee.add', 'assignee.remove'],\n checklists: ['checklist'],\n}\n\nexport const getFilterActivityTypes = (filter: any): string[] | null => {\n // If it's a string, it's one of the legacy pre-set filters\n if (typeof filter === 'string') {\n if (filter in filterActivityTypes) {\n return filterActivityTypes[filter]\n }\n return null\n }\n\n // Handle QueryFilter object\n if (filter && typeof filter === 'object' && filter.conditions) {\n const activeTypes: string[] = []\n let hasExplicitTypeFilter = false\n\n filter.conditions.forEach((condition: any) => {\n // Check if it's a simple condition for one of our known activity types\n if (condition && condition.key && condition.value === true) {\n if (condition.key in filterActivityTypes) {\n activeTypes.push(...filterActivityTypes[condition.key])\n hasExplicitTypeFilter = true\n }\n }\n })\n\n // If no specific activity type filters are selected, return \"activity\" (all)\n if (!hasExplicitTypeFilter) {\n return filterActivityTypes.activity\n }\n\n // Return unique set of activity types\n return Array.from(new Set(activeTypes))\n }\n\n // fallback to all activity\n return filterActivityTypes.activity\n}\n"],"names":["getNestedProperty","obj","path","o","p","deleteNestedProperty","pathParts","lastPart","target","remapNestedProperties","object","remappingItems","transformedObject","key","newKey","value","transformActivityData","edges","pageInfo","activities","edge","data","activityNode","transformedActivity","transformTaskTooltip","id","label","name","status","thumbnailId","thumbnailHash","assignees","taskType","updatedAt","folder","transformVersionTooltip","author","product","transformTooltipData","type","countChecklists","bodies","a","ids","unChecked","acc","body","matches","checked","taskProvideTags","result","entityType","filterKey","filter","filterActivityTypes","getFilterActivityTypes","activeTypes","hasExplicitTypeFilter","condition"],"mappings":"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"}
1
+ {"version":3,"file":"activitiesHelpers.es.js","sources":["../../../../../../../src/api/queries/activities/util/activitiesHelpers.ts"],"sourcesContent":["import type {\n ActivityFragmentFragment,\n GetEntitiesChecklistsQuery,\n PageInfo,\n} from '@shared/api/generated'\nimport { ChecklistCount, FeedActivity, FeedActivityData } from '../types'\nimport { BaseTypes, EntityTooltipQuery, TaskTypes, VersionTypes } from '../activityQueries'\n\n// Helper function to get a nested property of an object using a string path\nconst getNestedProperty = <T extends Record<string, any>, R = any>(\n obj: T,\n path: string,\n): R | undefined =>\n path.split('.').reduce<any>((o, p) => (o && o[p] !== undefined ? o[p] : undefined), obj)\n\n// Helper function to delete a nested property of an object using a string path\nconst deleteNestedProperty = <T extends Record<string, any>>(obj: T, path: string): void => {\n const pathParts = path.split('.')\n const lastPart = pathParts.pop()\n const target = pathParts.reduce<any>((o, p) => (o && o[p] !== undefined ? o[p] : undefined), obj)\n if (target && lastPart) {\n delete target[lastPart]\n }\n}\n\nfunction remapNestedProperties<T extends Record<string, any>>(\n object: T,\n remappingItems: Record<string, string>,\n): T {\n const transformedObject = { ...object }\n\n for (const [key, newKey] of Object.entries(remappingItems)) {\n const value = getNestedProperty(transformedObject, key)\n if (value !== undefined) {\n // Get deeply nested value from key using \".\" notation\n // @ts-expect-error\n transformedObject[newKey] = value\n // Delete the old key from the object\n deleteNestedProperty(transformedObject, key)\n }\n }\n\n return transformedObject\n}\n\nexport type ActivitiesResult = { activities: FeedActivity[]; pageInfo: PageInfo }\n\ntype TransFormActivityData = (\n edges: { node: ActivityFragmentFragment }[],\n pageInfo: PageInfo,\n) => ActivitiesResult\n\n// we flatten the activity object a little bit\nexport const transformActivityData: TransFormActivityData = (edges = [], pageInfo) => {\n const activities: FeedActivity[] = []\n\n // loop over each activity and remap the nested properties\n edges.forEach((edge) => {\n // remapping keys are the fields path in the object\n // and the values are the new keys to assign the values to\n const data = edge.node\n\n if (!data) {\n return\n }\n\n const activityNode = data\n\n // remapping of nested properties to flat properties\n const remappingItems = {\n 'author.name': 'authorName',\n 'author.attrib.fullName': 'authorFullName',\n 'author.attrib.avatarUrl': 'authorAvatarUrl',\n }\n\n const transformedActivity = remapNestedProperties(\n activityNode,\n remappingItems,\n ) as unknown as FeedActivity\n\n // parse activityData if it's a JSON string\n if (typeof activityNode.activityData === 'string') {\n try {\n transformedActivity.activityData = JSON.parse(activityNode.activityData) as FeedActivityData\n } catch (e) {\n console.error('Error parsing JSON field activityData', activityNode.activityData)\n }\n }\n\n activities.push(transformedActivity)\n })\n\n // when there are no activities and hasPreviousPage is false, add an \"createdAt\" activity as the last activity\n // if (pageInfo.hasPreviousPage === false) {\n // activities.push({ hasPreviousPage: false, activityType: 'end', activityId: 'end' })\n // }\n\n return { activities, pageInfo }\n}\n\nexport type EntityTooltip = {\n id: string\n name: string\n title: string\n type: string\n subTitle: string\n status?: string\n thumbnailId?: string\n thumbnailHash?: string\n updatedAt?: string\n taskType?: string\n users?: { name: string; avatarUrl: string }[]\n path?: string\n}\ntype TransformTaskTooltip = (data: BaseTypes & TaskTypes) => EntityTooltip\n\nconst transformTaskTooltip: TransformTaskTooltip = (data) => {\n const {\n id,\n label,\n name,\n status,\n thumbnailId,\n thumbnailHash,\n assignees,\n taskType,\n updatedAt,\n folder,\n } = data || {}\n const tooltip = {\n id,\n name,\n title: label || name,\n type: 'task',\n subTitle: folder?.label || folder?.name || '',\n status,\n thumbnailId,\n thumbnailHash,\n updatedAt,\n taskType,\n users: assignees?.map((name) => ({ name, avatarUrl: `/api/users/${name}/avatar` })) || [],\n path: folder?.path.split('/').splice(-2, 1).join(''),\n }\n\n return tooltip\n}\n\ntype TransformVersionTooltip = (data: BaseTypes & VersionTypes) => EntityTooltip\n\nconst transformVersionTooltip: TransformVersionTooltip = (data) => {\n const { id, name, status, thumbnailId, author, updatedAt, product } = data\n const tooltip = {\n id,\n type: 'version',\n name: name,\n title: name,\n subTitle: product?.name || '',\n status,\n thumbnailId,\n updatedAt,\n users: [{ name: author || '', avatarUrl: `/api/users/${author}/avatar` }],\n productType: product?.productType,\n path: product?.folder?.path?.split('/').pop(),\n }\n\n return tooltip\n}\n\n// different types have different tooltip data, we need to create a single data model\nexport const transformTooltipData = (data: EntityTooltipQuery['data']['project'], type: string) => {\n switch (type) {\n case 'task':\n // @ts-ignore\n return transformTaskTooltip(data.task)\n case 'version':\n // @ts-ignore\n return transformVersionTooltip(data.version)\n default:\n return {}\n }\n}\n\ntype CountCheckLists = (data: GetEntitiesChecklistsQuery) => ChecklistCount\n\nexport const countChecklists: CountCheckLists = (data) => {\n const activities = data?.project?.activities?.edges?.map((edge) => edge?.node)\n // get all bodies from each activity\n const bodies = activities.map((a) => a.body)\n const ids = activities.map((a) => a.activityId)\n\n // count how many checklists are in each body\n\n // count unchecked * [ ] items\n const unChecked = bodies.reduce((acc, body) => {\n if (!body) return acc\n const matches = body.match(/\\*\\s\\[\\s\\]/g)\n return acc + (matches ? matches.length : 0)\n }, 0)\n\n // count checked * [x] items\n const checked = bodies.reduce((acc, body) => {\n if (!body) return acc\n const matches = body.match(/\\*\\s\\[x\\]/g)\n return acc + (matches ? matches.length : 0)\n }, 0)\n\n return { total: unChecked + checked, checked, unChecked, ids }\n}\n\ntype Task = { id: string }\n\nexport const taskProvideTags = (result: Task[], type = 'task', entityType = 'task') =>\n result?.length\n ? [\n ...result.map(({ id }: Task) => ({ type, id })),\n { type, id: entityType.toUpperCase() + 'S' },\n {\n type: `kanBan${entityType.charAt(0).toUpperCase() + entityType.slice(1)}`,\n id: entityType.toUpperCase() + 'S',\n },\n ]\n : [{ type, id: entityType.toUpperCase() + 'S' }]\n\nexport const filterKey = (filter: any): string => {\n if (typeof filter === 'string') return filter\n try {\n return JSON.stringify(filter) ?? ''\n } catch {\n return ''\n }\n}\n\n/**\n * Shared helper to generate activity tags for both standard and infinite queries.\n */\nexport const provideSharedActivityTags = (\n result: { activities?: any[]; pages?: Array<{ activities: any[] }> } | undefined,\n _error: unknown,\n // Widened type signatures to allow string[] | string | null | undefined\n arg: {\n entityIds?: string | string[] | null\n activityTypes?: string | string[] | null\n filter?: any\n },\n) => {\n if (!result) {\n return [{ type: 'activity' as const, id: 'LIST' }]\n }\n\n const { entityIds, activityTypes, filter } = arg\n\n // Helper now safely skips null/undefined values\n const normalizeIds = (ids: unknown): string[] =>\n (Array.isArray(ids) ? ids : [ids]).filter(Boolean) as string[]\n\n const cleanEntityIds = normalizeIds(entityIds)\n const cleanActivityTypes = normalizeIds(activityTypes)\n\n const activities = result.pages\n ? result.pages.flatMap((page) => page.activities)\n : result.activities || []\n\n return [\n // Individual Activity Tags\n ...activities.map((a) => ({ type: 'activity' as const, id: a.activityId })),\n { type: 'activity' as const, id: 'LIST' },\n\n // Base Entity Activity Tags\n ...cleanEntityIds.map((id) => ({ type: 'entityActivities' as const, id })),\n { type: 'entityActivities' as const, id: 'LIST' },\n\n // Activity Type Tags\n ...cleanActivityTypes.map((type) => ({ type: 'entityActivities' as const, id: type })),\n\n // Filtered Entity Activity Tags\n ...cleanEntityIds.map((id) => ({\n type: 'entityActivities' as const,\n id: `${id}-${filterKey(filter)}`,\n })),\n\n // Published Version Tags\n ...activities\n .filter((a) => a.activityType === 'version.publish')\n .map((a) => ({\n type: 'entityActivities' as const,\n id: `version.publish-${a.origin.id}`,\n })),\n ]\n}\n\nexport const filterActivityTypes: Record<string, string[]> = {\n activity: [\n 'comment',\n 'version.publish',\n 'status.change',\n 'assignee.add',\n 'assignee.remove',\n 'version.review',\n ],\n comments: ['comment'],\n versions: ['version.publish'],\n updates: ['status.change', 'assignee.add', 'assignee.remove'],\n checklists: ['checklist'],\n}\n\nexport const getFilterActivityTypes = (filter: any): string[] | null => {\n // If it's a string, it's one of the legacy pre-set filters\n if (typeof filter === 'string') {\n if (filter in filterActivityTypes) {\n return filterActivityTypes[filter]\n }\n return null\n }\n\n // Handle QueryFilter object\n if (filter && typeof filter === 'object' && filter.conditions) {\n const activeTypes: string[] = []\n let hasExplicitTypeFilter = false\n\n filter.conditions.forEach((condition: any) => {\n // Check if it's a simple condition for one of our known activity types\n if (condition && condition.key && condition.value === true) {\n if (condition.key in filterActivityTypes) {\n activeTypes.push(...filterActivityTypes[condition.key])\n hasExplicitTypeFilter = true\n }\n }\n })\n\n // If no specific activity type filters are selected, return \"activity\" (all)\n if (!hasExplicitTypeFilter) {\n return filterActivityTypes.activity\n }\n\n // Return unique set of activity types\n return Array.from(new Set(activeTypes))\n }\n\n // fallback to all activity\n return filterActivityTypes.activity\n}\n"],"names":["getNestedProperty","obj","path","o","p","deleteNestedProperty","pathParts","lastPart","target","remapNestedProperties","object","remappingItems","transformedObject","key","newKey","value","transformActivityData","edges","pageInfo","activities","edge","data","activityNode","transformedActivity","transformTaskTooltip","id","label","name","status","thumbnailId","thumbnailHash","assignees","taskType","updatedAt","folder","transformVersionTooltip","author","product","transformTooltipData","type","countChecklists","bodies","a","ids","unChecked","acc","body","matches","checked","taskProvideTags","result","entityType","filterKey","filter","provideSharedActivityTags","_error","arg","entityIds","activityTypes","normalizeIds","cleanEntityIds","cleanActivityTypes","page","filterActivityTypes","getFilterActivityTypes","activeTypes","hasExplicitTypeFilter","condition"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("lodash");require("react-toastify");require("uuid");const D=require("../../../../util/thumbnailWebsocket.cjs.js");require("../../../base/client.cjs.js");require("../../../generated/graphql.cjs.js");require("../../../generated/graphqlLinks.cjs.js");require("../../../generated/access.cjs.js");require("../../../generated/actions.cjs.js");require("../../../generated/activityFeed.cjs.js");require("../../../generated/addons.cjs.js");require("../../../generated/anatomy.cjs.js");require("../../../generated/attributes.cjs.js");require("../../../generated/authentication.cjs.js");require("../../../generated/bundles.cjs.js");require("../../../generated/configuration.cjs.js");require("../../../generated/dataImport.cjs.js");require("../../../generated/desktop.cjs.js");require("../../../generated/entityLists.cjs.js");require("../../../generated/events.cjs.js");require("../../../generated/files.cjs.js");require("../../../generated/folders.cjs.js");require("../../../generated/inbox.cjs.js");require("../../../generated/links.cjs.js");require("../../../generated/market.cjs.js");require("../../../generated/onboarding.cjs.js");require("../../../generated/operations.cjs.js");require("../../../generated/products.cjs.js");require("../../../generated/projectDashboard.cjs.js");require("../../../generated/projects.cjs.js");require("../../../generated/projectFolders.cjs.js");require("../../../generated/reviewables.cjs.js");require("../../../generated/services.cjs.js");require("../../../generated/system.cjs.js");require("../../../generated/tasks.cjs.js");require("../../../generated/teams.cjs.js");require("../../../generated/thumbnails.cjs.js");require("../../../generated/uRIs.cjs.js");require("../../../generated/users.cjs.js");require("../../../generated/versions.cjs.js");require("../../../generated/workfiles.cjs.js");require("../../../generated/ynputCloud.cjs.js");require("../../../generated/grouping.cjs.js");require("../../../generated/views.cjs.js");require("../../actions/getActions.cjs.js");require("../getActivities.cjs.js");require("../updateReaction.cjs.js");require("../getMentions.cjs.js");require("../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("../../entities/getEntity.cjs.js");require("../../entities/getEntityPanel.cjs.js");require("../../overview/getOverview.cjs.js");require("../../overview/updateOverview.cjs.js");require("../../versions/getVersionsProducts.cjs.js");require("../../links/getEntityLinks.cjs.js");require("../../entities/updateEntity.cjs.js");require("../../entityLists/getLists.cjs.js");require("../../entityLists/updateLists.cjs.js");require("../../entityLists/getListsAttributes.cjs.js");require("../../entityLists/listItemsColumnStats.cjs.js");require("../../entityLists/updateListsAttributes.cjs.js");require("../../entityLists/listFolders.cjs.js");require("../../folders/getFolders.cjs.js");require("../../folders/getFolderDeleteInfo.cjs.js");require("../../grouping/getGrouping.cjs.js");require("../../links/updateLinks.cjs.js");require("../../links/getLinks.cjs.js");require("../../permissions/getPermissions.cjs.js");require("../../products/createProduct.cjs.js");require("../../products/getFolderProducts.cjs.js");require("../../project/getProject.cjs.js");require("../../project/updateProject.cjs.js");require("../../projectFolders/projectFolders.cjs.js");require("../../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 x=require("../../../../util/pubsub.cjs.js"),S=n=>n?n.includes("* [ ]")||n.includes("* [x]"):!1,U=async(n,{updateCachedData:d,cacheDataLoaded:_,cacheEntryRemoved:H,dispatch:T,getCacheEntry:j,gqlApi:A})=>{let v,p;try{await _,p=D.subscribeToThumbnailUpdates(y=>{if(!j().data?.pages?.length)return;const i=y.reduce((u,s)=>(s.summary.entityType==="version"&&(u[s.summary.entityId]=s.summary.thumbnailHash||""),u),{});Object.keys(i).length!==0&&d(u=>{!u||!u.pages||u.pages.forEach(s=>{s.activities?.forEach(e=>{e.referenceType==="version"&&e.referenceId&&i[e.referenceId]!==void 0&&(e.version||(e.version={}),e.version.thumbnailHash=i[e.referenceId]),e.origin.type==="version"&&e.origin.id&&i[e.origin.id]!==void 0&&(e.version||(e.version={}),e.version.thumbnailHash=i[e.origin.id])})})})},["version"]);const h=async(y,o)=>{const i=o.summary?.activity_id;if(!i){console.warn("[Activity RT] Activity message missing activity_id",o);return}const u=o.project,s=o.summary?.references||[],e=["origin","mention","relation"],m=s.filter(r=>e.includes(r.reference_type)).map(r=>r.entity_id),I=Array.isArray(n.entityIds)?n.entityIds:[n.entityIds];if(!I.some(r=>m.includes(r))&&I.length>0)return;const b=o.summary?.activity_type;if(b){if(y==="activity.deleted"){d(r=>{if(!r||!r.pages){console.warn("[Activity RT] No draft or pages found for deletion");return}let c=!1;for(const g of r.pages){const a=g.activities?.findIndex(q=>q.activityId===i);a!==-1&&(g.activities.splice(a,1),c=!0)}});return}try{const r=await T(A.endpoints.GetActivitiesById.initiate({projectName:u,activityIds:[i],entityIds:m},{forceRefetch:!0}));if("error"in r&&r.error)throw console.error("[Activity RT] Error fetching activity:",r.error),new Error("Failed to fetch activity");const a=r.data?.activities||[];if(a.length===0){console.warn("[Activity RT] No activities found for activity_id",i);return}const q=a[0],R=[b];if(b==="comment"){const t=q?.body;S(t||"")&&R.push("checklist")}const l=n.activityTypes,w=Array.isArray(l)?l:l?[l]:[];if(!(w.length===0||w.some(t=>R.includes(t))))return;d(t=>{if(!t||!t.pages){console.warn("[Activity RT] No draft or pages found for update");return}let f=!1;for(const k of t.pages){const E=k.activities?.findIndex(N=>N.activityId===i);if(E!==-1){k.activities[E]=q,f=!0;break}}!f&&y==="activity.created"&&(t.pages.length>0&&t.pages[0].activities?t.pages[0].activities.unshift(q):console.warn("[Activity RT] Cannot add activity: no pages or activities array"))})}catch(r){console.error("[Activity RT] Error fetching activity data for real-time update:",r),T(A.util.invalidateTags(m.map(c=>({type:"entityActivities",id:c}))))}}};v=x.subscribe(["activity"],h)}catch(h){console.error("[Activity RT] Error in activity real-time handler setup:",h)}await H,v&&x.unsubscribe(v),p&&p()};exports.handleActivityRealtimeUpdates=U;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("lodash");require("react-toastify");require("uuid");const S=require("../../../../util/thumbnailWebsocket.cjs.js");require("../../../base/client.cjs.js");require("../../../generated/graphql.cjs.js");require("../../../generated/graphqlLinks.cjs.js");require("../../../generated/access.cjs.js");require("../../../generated/actions.cjs.js");require("../../../generated/activityFeed.cjs.js");require("../../../generated/addons.cjs.js");require("../../../generated/anatomy.cjs.js");require("../../../generated/attributes.cjs.js");require("../../../generated/authentication.cjs.js");require("../../../generated/bundles.cjs.js");require("../../../generated/configuration.cjs.js");require("../../../generated/dataImport.cjs.js");require("../../../generated/desktop.cjs.js");require("../../../generated/entityLists.cjs.js");require("../../../generated/events.cjs.js");require("../../../generated/files.cjs.js");require("../../../generated/folders.cjs.js");require("../../../generated/inbox.cjs.js");require("../../../generated/links.cjs.js");require("../../../generated/market.cjs.js");require("../../../generated/onboarding.cjs.js");require("../../../generated/operations.cjs.js");require("../../../generated/products.cjs.js");require("../../../generated/projectDashboard.cjs.js");require("../../../generated/projects.cjs.js");require("../../../generated/projectFolders.cjs.js");require("../../../generated/reviewables.cjs.js");require("../../../generated/services.cjs.js");require("../../../generated/system.cjs.js");require("../../../generated/tasks.cjs.js");require("../../../generated/teams.cjs.js");require("../../../generated/thumbnails.cjs.js");require("../../../generated/uRIs.cjs.js");require("../../../generated/users.cjs.js");require("../../../generated/versions.cjs.js");require("../../../generated/workfiles.cjs.js");require("../../../generated/ynputCloud.cjs.js");require("../../../generated/grouping.cjs.js");require("../../../generated/views.cjs.js");require("../../actions/getActions.cjs.js");require("../getActivities.cjs.js");require("../updateReaction.cjs.js");require("../getMentions.cjs.js");require("../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("../../entities/getEntity.cjs.js");require("../../entities/getEntityPanel.cjs.js");require("../../overview/getOverview.cjs.js");require("../../overview/updateOverview.cjs.js");require("../../versions/getVersionsProducts.cjs.js");require("../../links/getEntityLinks.cjs.js");require("../../entities/updateEntity.cjs.js");require("../../entityLists/getLists.cjs.js");require("../../entityLists/updateLists.cjs.js");require("../../entityLists/getListsAttributes.cjs.js");require("../../entityLists/listItemsColumnStats.cjs.js");require("../../entityLists/updateListsAttributes.cjs.js");require("../../entityLists/listFolders.cjs.js");require("../../folders/getFolders.cjs.js");require("../../folders/getFolderDeleteInfo.cjs.js");require("../../grouping/getGrouping.cjs.js");require("../../links/updateLinks.cjs.js");require("../../links/getLinks.cjs.js");require("../../permissions/getPermissions.cjs.js");require("../../products/createProduct.cjs.js");require("../../products/getFolderProducts.cjs.js");require("../../project/getProject.cjs.js");require("../../project/updateProject.cjs.js");require("../../projectFolders/projectFolders.cjs.js");require("../../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 H=require("../../../../util/pubsub.cjs.js"),U=u=>u?u.includes("* [ ]")||u.includes("* [x]"):!1,C=async(u,{updateCachedData:p,cacheDataLoaded:j,cacheEntryRemoved:D,dispatch:R,getCacheEntry:N,gqlApi:k})=>{let h,g;try{await j,g=S.subscribeToThumbnailUpdates(v=>{if(!N().data?.pages?.length)return;const i=v.reduce((s,o)=>(o.summary.entityType==="version"&&(s[o.summary.entityId]=o.summary.thumbnailHash||""),s),{});Object.keys(i).length!==0&&p(s=>{!s||!s.pages||s.pages.forEach(o=>{o.activities?.forEach(e=>{e.referenceType==="version"&&e.referenceId&&i[e.referenceId]!==void 0&&(e.version||(e.version={}),e.version.thumbnailHash=i[e.referenceId]),e.origin.type==="version"&&e.origin.id&&i[e.origin.id]!==void 0&&(e.version||(e.version={}),e.version.thumbnailHash=i[e.origin.id])})})})},["version"]);const m=async(v,c)=>{const i=c.summary?.activity_id;if(!i){console.warn("[Activity RT] Activity message missing activity_id",c);return}const s=c.project,o=c.summary?.references||[],e=["origin","mention","relation"],b=o.filter(r=>e.includes(r.reference_type)).map(r=>r.entity_id),E=Array.isArray(u.entityIds)?u.entityIds:[u.entityIds];if(!E.some(r=>b.includes(r))&&E.length>0)return;const T=c.summary?.activity_type;if(T){if(v==="activity.deleted"){p(r=>{if(!r||!r.pages){console.warn("[Activity RT] No draft or pages found for deletion");return}let a=!1;for(const A of r.pages){const q=A.activities?.findIndex(n=>n.activityId===i);q!==-1&&(A.activities.splice(q,1),a=!0)}});return}try{const r=await R(k.endpoints.GetActivitiesById.initiate({projectName:s,activityIds:[i],entityIds:b},{forceRefetch:!0}));if("error"in r&&r.error)throw console.error("[Activity RT] Error fetching activity:",r.error),new Error("Failed to fetch activity");const q=r.data?.activities||[];if(q.length===0){console.warn("[Activity RT] No activities found for activity_id",i);return}const n=q[0],x=[T];if(T==="comment"){const t=n?.body;U(t||"")&&x.push("checklist")}const f=u.activityTypes,_=Array.isArray(f)?f:f?[f]:[];if(!(_.length===0||_.some(t=>x.includes(t))))return;p(t=>{if(!t||!t.pages){console.warn("[Activity RT] No draft or pages found for update");return}let I=!1;for(const d of t.pages){const y=d.activities?.findIndex(w=>w.activityId===i);if(y!==-1){d.activities[y]=n,I=!0;break}}if(!I&&v==="activity.created"&&(t.pages.length>0&&t.pages[0].activities?t.pages[0].activities.unshift(n):console.warn("[Activity RT] Cannot add activity: no pages or activities array")),n.activityType==="status.change"&&n.origin?.type==="version"){const d=n.origin.id,y=n.activityData?.newValue;y&&t.pages.forEach(w=>{w.activities?.forEach(l=>{l.activityType==="version.publish"&&l.origin?.id===d&&(l.version||(l.version={}),l.version.status=y)})})}})}catch(r){console.error("[Activity RT] Error fetching activity data for real-time update:",r),R(k.util.invalidateTags(b.map(a=>({type:"entityActivities",id:a}))))}}};h=H.subscribe(["activity"],m)}catch(m){console.error("[Activity RT] Error in activity real-time handler setup:",m)}await D,h&&H.unsubscribe(h),g&&g()};exports.handleActivityRealtimeUpdates=C;
2
2
  //# sourceMappingURL=activityRealtimeHandler.cjs.js.map