@ynput/ayon-frontend-shared 0.2.34 → 0.2.35

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 (586) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +24 -23
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/Feed.cjs.js +1 -1
  5. package/dist/Feed.es.js +20 -19
  6. package/dist/_virtual/attach-listener.cjs.js +2 -0
  7. package/dist/_virtual/attach-listener.cjs.js.map +1 -0
  8. package/dist/_virtual/attach-listener.es.js +5 -0
  9. package/dist/_virtual/attach-listener.es.js.map +1 -0
  10. package/dist/_virtual/attach-shared-listeners.cjs.js +2 -0
  11. package/dist/_virtual/attach-shared-listeners.cjs.js.map +1 -0
  12. package/dist/_virtual/attach-shared-listeners.es.js +5 -0
  13. package/dist/_virtual/attach-shared-listeners.es.js.map +1 -0
  14. package/dist/_virtual/constants.cjs.js +2 -0
  15. package/dist/_virtual/constants.cjs.js.map +1 -0
  16. package/dist/_virtual/constants.es.js +5 -0
  17. package/dist/_virtual/constants.es.js.map +1 -0
  18. package/dist/_virtual/create-or-join.cjs.js +2 -0
  19. package/dist/_virtual/create-or-join.cjs.js.map +1 -0
  20. package/dist/_virtual/create-or-join.es.js +5 -0
  21. package/dist/_virtual/create-or-join.es.js.map +1 -0
  22. package/dist/_virtual/get-url.cjs.js +2 -0
  23. package/dist/_virtual/get-url.cjs.js.map +1 -0
  24. package/dist/_virtual/get-url.es.js +5 -0
  25. package/dist/_virtual/get-url.es.js.map +1 -0
  26. package/dist/_virtual/globals.cjs.js +2 -0
  27. package/dist/_virtual/globals.cjs.js.map +1 -0
  28. package/dist/_virtual/globals.es.js +5 -0
  29. package/dist/_virtual/globals.es.js.map +1 -0
  30. package/dist/_virtual/heartbeat.cjs.js +2 -0
  31. package/dist/_virtual/heartbeat.cjs.js.map +1 -0
  32. package/dist/_virtual/heartbeat.es.js +5 -0
  33. package/dist/_virtual/heartbeat.es.js.map +1 -0
  34. package/dist/_virtual/index.cjs.js +1 -1
  35. package/dist/_virtual/index.cjs10.js +1 -1
  36. package/dist/_virtual/index.cjs11.js +2 -0
  37. package/dist/_virtual/index.cjs11.js.map +1 -0
  38. package/dist/_virtual/index.cjs12.js +2 -0
  39. package/dist/_virtual/index.cjs12.js.map +1 -0
  40. package/dist/_virtual/index.cjs2.js +1 -1
  41. package/dist/_virtual/index.cjs3.js +1 -1
  42. package/dist/_virtual/index.cjs4.js +1 -1
  43. package/dist/_virtual/index.cjs6.js +1 -1
  44. package/dist/_virtual/index.cjs8.js +1 -1
  45. package/dist/_virtual/index.cjs9.js +1 -1
  46. package/dist/_virtual/index.es.js +5 -4
  47. package/dist/_virtual/index.es10.js +5 -5
  48. package/dist/_virtual/index.es11.js +8 -0
  49. package/dist/_virtual/index.es11.js.map +1 -0
  50. package/dist/_virtual/index.es12.js +8 -0
  51. package/dist/_virtual/index.es12.js.map +1 -0
  52. package/dist/_virtual/index.es2.js +2 -2
  53. package/dist/_virtual/index.es3.js +5 -2
  54. package/dist/_virtual/index.es3.js.map +1 -1
  55. package/dist/_virtual/index.es4.js +2 -5
  56. package/dist/_virtual/index.es4.js.map +1 -1
  57. package/dist/_virtual/index.es6.js +5 -5
  58. package/dist/_virtual/index.es8.js +4 -4
  59. package/dist/_virtual/index.es9.js +2 -5
  60. package/dist/_virtual/index.es9.js.map +1 -1
  61. package/dist/_virtual/manage-subscribers.cjs.js +2 -0
  62. package/dist/_virtual/manage-subscribers.cjs.js.map +1 -0
  63. package/dist/_virtual/manage-subscribers.es.js +5 -0
  64. package/dist/_virtual/manage-subscribers.es.js.map +1 -0
  65. package/dist/_virtual/proxy.cjs.js +2 -0
  66. package/dist/_virtual/proxy.cjs.js.map +1 -0
  67. package/dist/_virtual/proxy.es.js +5 -0
  68. package/dist/_virtual/proxy.es.js.map +1 -0
  69. package/dist/_virtual/socket-io.cjs.js +2 -0
  70. package/dist/_virtual/socket-io.cjs.js.map +1 -0
  71. package/dist/_virtual/socket-io.es.js +5 -0
  72. package/dist/_virtual/socket-io.es.js.map +1 -0
  73. package/dist/_virtual/use-event-source.cjs.js +2 -0
  74. package/dist/_virtual/use-event-source.cjs.js.map +1 -0
  75. package/dist/_virtual/use-event-source.es.js +5 -0
  76. package/dist/_virtual/use-event-source.es.js.map +1 -0
  77. package/dist/_virtual/use-socket-io.cjs.js +2 -0
  78. package/dist/_virtual/use-socket-io.cjs.js.map +1 -0
  79. package/dist/_virtual/use-socket-io.es.js +5 -0
  80. package/dist/_virtual/use-socket-io.es.js.map +1 -0
  81. package/dist/_virtual/use-websocket.cjs.js +2 -0
  82. package/dist/_virtual/use-websocket.cjs.js.map +1 -0
  83. package/dist/_virtual/use-websocket.es.js +5 -0
  84. package/dist/_virtual/use-websocket.es.js.map +1 -0
  85. package/dist/_virtual/util.cjs.js +2 -0
  86. package/dist/_virtual/util.cjs.js.map +1 -0
  87. package/dist/_virtual/util.es.js +5 -0
  88. package/dist/_virtual/util.es.js.map +1 -0
  89. package/dist/api.cjs.js +1 -1
  90. package/dist/api.es.js +233 -230
  91. package/dist/api.es.js.map +1 -1
  92. package/dist/components.cjs.js +1 -1
  93. package/dist/components.es.js +25 -23
  94. package/dist/components.es.js.map +1 -1
  95. package/dist/context.cjs.js +1 -1
  96. package/dist/context.es.js +17 -13
  97. package/dist/context.es.js.map +1 -1
  98. package/dist/index.cjs.js +1 -1
  99. package/dist/index.es.js +11 -10
  100. package/dist/index.es.js.map +1 -1
  101. package/dist/node_modules/match-sorter/dist/match-sorter.esm.cjs.js +1 -1
  102. package/dist/node_modules/match-sorter/dist/match-sorter.esm.es.js +1 -1
  103. package/dist/node_modules/parse-numeric-range/index.cjs.js +1 -1
  104. package/dist/node_modules/parse-numeric-range/index.es.js +1 -1
  105. package/dist/node_modules/react-use-websocket/dist/index.cjs.js +2 -0
  106. package/dist/node_modules/react-use-websocket/dist/index.cjs.js.map +1 -0
  107. package/dist/node_modules/react-use-websocket/dist/index.es.js +36 -0
  108. package/dist/node_modules/react-use-websocket/dist/index.es.js.map +1 -0
  109. package/dist/node_modules/react-use-websocket/dist/lib/attach-listener.cjs.js +2 -0
  110. package/dist/node_modules/react-use-websocket/dist/lib/attach-listener.cjs.js.map +1 -0
  111. package/dist/node_modules/react-use-websocket/dist/lib/attach-listener.es.js +79 -0
  112. package/dist/node_modules/react-use-websocket/dist/lib/attach-listener.es.js.map +1 -0
  113. package/dist/node_modules/react-use-websocket/dist/lib/attach-shared-listeners.cjs.js +2 -0
  114. package/dist/node_modules/react-use-websocket/dist/lib/attach-shared-listeners.cjs.js.map +1 -0
  115. package/dist/node_modules/react-use-websocket/dist/lib/attach-shared-listeners.es.js +72 -0
  116. package/dist/node_modules/react-use-websocket/dist/lib/attach-shared-listeners.es.js.map +1 -0
  117. package/dist/node_modules/react-use-websocket/dist/lib/constants.cjs.js +2 -0
  118. package/dist/node_modules/react-use-websocket/dist/lib/constants.cjs.js.map +1 -0
  119. package/dist/node_modules/react-use-websocket/dist/lib/constants.es.js +32 -0
  120. package/dist/node_modules/react-use-websocket/dist/lib/constants.es.js.map +1 -0
  121. package/dist/node_modules/react-use-websocket/dist/lib/create-or-join.cjs.js +2 -0
  122. package/dist/node_modules/react-use-websocket/dist/lib/create-or-join.cjs.js.map +1 -0
  123. package/dist/node_modules/react-use-websocket/dist/lib/create-or-join.es.js +53 -0
  124. package/dist/node_modules/react-use-websocket/dist/lib/create-or-join.es.js.map +1 -0
  125. package/dist/node_modules/react-use-websocket/dist/lib/get-url.cjs.js +2 -0
  126. package/dist/node_modules/react-use-websocket/dist/lib/get-url.cjs.js.map +1 -0
  127. package/dist/node_modules/react-use-websocket/dist/lib/get-url.es.js +144 -0
  128. package/dist/node_modules/react-use-websocket/dist/lib/get-url.es.js.map +1 -0
  129. package/dist/node_modules/react-use-websocket/dist/lib/globals.cjs.js +2 -0
  130. package/dist/node_modules/react-use-websocket/dist/lib/globals.cjs.js.map +1 -0
  131. package/dist/node_modules/react-use-websocket/dist/lib/globals.es.js +19 -0
  132. package/dist/node_modules/react-use-websocket/dist/lib/globals.es.js.map +1 -0
  133. package/dist/node_modules/react-use-websocket/dist/lib/heartbeat.cjs.js +2 -0
  134. package/dist/node_modules/react-use-websocket/dist/lib/heartbeat.cjs.js.map +1 -0
  135. package/dist/node_modules/react-use-websocket/dist/lib/heartbeat.es.js +35 -0
  136. package/dist/node_modules/react-use-websocket/dist/lib/heartbeat.es.js.map +1 -0
  137. package/dist/node_modules/react-use-websocket/dist/lib/manage-subscribers.cjs.js +2 -0
  138. package/dist/node_modules/react-use-websocket/dist/lib/manage-subscribers.cjs.js.map +1 -0
  139. package/dist/node_modules/react-use-websocket/dist/lib/manage-subscribers.es.js +36 -0
  140. package/dist/node_modules/react-use-websocket/dist/lib/manage-subscribers.es.js.map +1 -0
  141. package/dist/node_modules/react-use-websocket/dist/lib/proxy.cjs.js +2 -0
  142. package/dist/node_modules/react-use-websocket/dist/lib/proxy.cjs.js.map +1 -0
  143. package/dist/node_modules/react-use-websocket/dist/lib/proxy.es.js +24 -0
  144. package/dist/node_modules/react-use-websocket/dist/lib/proxy.es.js.map +1 -0
  145. package/dist/node_modules/react-use-websocket/dist/lib/socket-io.cjs.js +2 -0
  146. package/dist/node_modules/react-use-websocket/dist/lib/socket-io.cjs.js.map +1 -0
  147. package/dist/node_modules/react-use-websocket/dist/lib/socket-io.es.js +39 -0
  148. package/dist/node_modules/react-use-websocket/dist/lib/socket-io.es.js.map +1 -0
  149. package/dist/node_modules/react-use-websocket/dist/lib/use-event-source.cjs.js +2 -0
  150. package/dist/node_modules/react-use-websocket/dist/lib/use-event-source.cjs.js.map +1 -0
  151. package/dist/node_modules/react-use-websocket/dist/lib/use-event-source.es.js +51 -0
  152. package/dist/node_modules/react-use-websocket/dist/lib/use-event-source.es.js.map +1 -0
  153. package/dist/node_modules/react-use-websocket/dist/lib/use-socket-io.cjs.js +2 -0
  154. package/dist/node_modules/react-use-websocket/dist/lib/use-socket-io.cjs.js.map +1 -0
  155. package/dist/node_modules/react-use-websocket/dist/lib/use-socket-io.es.js +54 -0
  156. package/dist/node_modules/react-use-websocket/dist/lib/use-socket-io.es.js.map +1 -0
  157. package/dist/node_modules/react-use-websocket/dist/lib/use-websocket.cjs.js +2 -0
  158. package/dist/node_modules/react-use-websocket/dist/lib/use-websocket.cjs.js.map +1 -0
  159. package/dist/node_modules/react-use-websocket/dist/lib/use-websocket.es.js +198 -0
  160. package/dist/node_modules/react-use-websocket/dist/lib/use-websocket.es.js.map +1 -0
  161. package/dist/node_modules/react-use-websocket/dist/lib/util.cjs.js +2 -0
  162. package/dist/node_modules/react-use-websocket/dist/lib/util.cjs.js.map +1 -0
  163. package/dist/node_modules/react-use-websocket/dist/lib/util.es.js +21 -0
  164. package/dist/node_modules/react-use-websocket/dist/lib/util.es.js.map +1 -0
  165. package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +1 -1
  166. package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js.map +1 -1
  167. package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
  168. package/dist/node_modules/rehype/node_modules/vfile/lib/index.cjs.js +1 -1
  169. package/dist/node_modules/rehype/node_modules/vfile/lib/index.cjs.js.map +1 -1
  170. package/dist/node_modules/rehype/node_modules/vfile/lib/index.es.js +1 -1
  171. package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
  172. package/dist/node_modules/rehype-parse/lib/index.cjs.js.map +1 -1
  173. package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
  174. package/dist/node_modules/rehype-prism-plus/dist/index.es.cjs.js +1 -1
  175. package/dist/node_modules/rehype-prism-plus/dist/index.es.es.js +1 -1
  176. package/dist/node_modules/remove-accents/index.cjs.js +1 -1
  177. package/dist/node_modules/remove-accents/index.es.js +1 -1
  178. package/dist/shared/node_modules/prop-types/index.cjs.js +1 -1
  179. package/dist/shared/node_modules/prop-types/index.es.js +1 -1
  180. package/dist/shared/node_modules/react-is/index.cjs.js +1 -1
  181. package/dist/shared/node_modules/react-is/index.es.js +1 -1
  182. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js +1 -1
  183. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js.map +1 -1
  184. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.es.js +1 -1
  185. package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js +1 -1
  186. package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js.map +1 -1
  187. package/dist/shared/node_modules/react-transition-group/esm/Transition.es.js +1 -1
  188. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js +1 -1
  189. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js.map +1 -1
  190. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.es.js +1 -1
  191. package/dist/shared/src/api/base/client.cjs.js +1 -1
  192. package/dist/shared/src/api/base/client.cjs.js.map +1 -1
  193. package/dist/shared/src/api/base/client.es.js +7 -6
  194. package/dist/shared/src/api/base/client.es.js.map +1 -1
  195. package/dist/shared/src/api/queries/activities/getActivities.cjs.js +1 -1
  196. package/dist/shared/src/api/queries/activities/getActivities.cjs.js.map +1 -1
  197. package/dist/shared/src/api/queries/activities/getActivities.es.js +71 -60
  198. package/dist/shared/src/api/queries/activities/getActivities.es.js.map +1 -1
  199. package/dist/shared/src/api/queries/activities/getCategories.cjs.js +1 -1
  200. package/dist/shared/src/api/queries/activities/getCategories.cjs.js.map +1 -1
  201. package/dist/shared/src/api/queries/activities/getCategories.es.js +11 -6
  202. package/dist/shared/src/api/queries/activities/getCategories.es.js.map +1 -1
  203. package/dist/shared/src/api/queries/activities/updateActivities.cjs.js +1 -1
  204. package/dist/shared/src/api/queries/activities/updateActivities.cjs.js.map +1 -1
  205. package/dist/shared/src/api/queries/activities/updateActivities.es.js +1 -1
  206. package/dist/shared/src/api/queries/activities/updateActivities.es.js.map +1 -1
  207. package/dist/shared/src/api/queries/activities/updateReaction.cjs.js +1 -1
  208. package/dist/shared/src/api/queries/activities/updateReaction.cjs.js.map +1 -1
  209. package/dist/shared/src/api/queries/activities/updateReaction.es.js +1 -1
  210. package/dist/shared/src/api/queries/activities/updateReaction.es.js.map +1 -1
  211. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js +2 -0
  212. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js.map +1 -0
  213. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js +144 -0
  214. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js.map +1 -0
  215. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
  216. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  217. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +3 -2
  218. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  219. package/dist/shared/src/components/DetailsPanelDetails/BorderedSection.cjs.js +4 -4
  220. package/dist/shared/src/components/DetailsPanelDetails/BorderedSection.cjs.js.map +1 -1
  221. package/dist/shared/src/components/DetailsPanelDetails/BorderedSection.es.js +36 -35
  222. package/dist/shared/src/components/DetailsPanelDetails/BorderedSection.es.js.map +1 -1
  223. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
  224. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
  225. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +3 -2
  226. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
  227. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  228. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  229. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +28 -27
  230. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  231. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -1
  232. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
  233. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +3 -2
  234. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
  235. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
  236. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
  237. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +4 -3
  238. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
  239. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  240. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  241. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +4 -3
  242. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  243. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +2 -2
  244. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
  245. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +3 -2
  246. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -1
  247. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  248. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  249. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +4 -3
  250. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  251. package/dist/shared/src/components/Powerpack/RequiredAddonVersion.cjs.js +9 -0
  252. package/dist/shared/src/components/Powerpack/RequiredAddonVersion.cjs.js.map +1 -0
  253. package/dist/shared/src/components/Powerpack/RequiredAddonVersion.es.js +30 -0
  254. package/dist/shared/src/components/Powerpack/RequiredAddonVersion.es.js.map +1 -0
  255. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +1 -1
  256. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  257. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +6 -5
  258. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  259. package/dist/shared/src/components/ProjectTableSettings/RowHeightSettings.cjs.js +1 -1
  260. package/dist/shared/src/components/ProjectTableSettings/RowHeightSettings.cjs.js.map +1 -1
  261. package/dist/shared/src/components/ProjectTableSettings/RowHeightSettings.es.js +4 -3
  262. package/dist/shared/src/components/ProjectTableSettings/RowHeightSettings.es.js.map +1 -1
  263. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  264. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  265. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +5 -4
  266. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  267. package/dist/shared/src/components/QuillListStyles/QuillListStyles.cjs.js +1 -0
  268. package/dist/shared/src/components/QuillListStyles/QuillListStyles.cjs.js.map +1 -1
  269. package/dist/shared/src/components/QuillListStyles/QuillListStyles.es.js +1 -0
  270. package/dist/shared/src/components/QuillListStyles/QuillListStyles.es.js.map +1 -1
  271. package/dist/shared/src/components/RefreshToast/RefreshToast.cjs.js +2 -0
  272. package/dist/shared/src/components/RefreshToast/RefreshToast.cjs.js.map +1 -0
  273. package/dist/shared/src/components/RefreshToast/RefreshToast.es.js +10 -0
  274. package/dist/shared/src/components/RefreshToast/RefreshToast.es.js.map +1 -0
  275. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +2 -2
  276. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  277. package/dist/shared/src/components/RenameForm/RenameForm.es.js +4 -3
  278. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  279. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  280. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  281. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +4 -3
  282. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  283. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  284. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  285. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +5 -4
  286. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  287. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  288. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  289. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +4 -3
  290. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  291. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +4 -4
  292. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
  293. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +3 -2
  294. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -1
  295. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
  296. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  297. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +4 -3
  298. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  299. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js +1 -1
  300. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js.map +1 -1
  301. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js +6 -5
  302. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js.map +1 -1
  303. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
  304. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  305. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +4 -3
  306. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  307. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  308. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  309. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +4 -3
  310. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  311. package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
  312. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  313. package/dist/shared/src/containers/Actions/Actions.es.js +3 -2
  314. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  315. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  316. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  317. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +4 -3
  318. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  319. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  320. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  321. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +4 -3
  322. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  323. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  324. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  325. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +4 -3
  326. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  327. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  328. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  329. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +5 -4
  330. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  331. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  332. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  333. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +4 -3
  334. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  335. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
  336. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  337. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +3 -2
  338. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  339. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js +1 -1
  340. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js.map +1 -1
  341. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js +3 -2
  342. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js.map +1 -1
  343. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js +1 -1
  344. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js.map +1 -1
  345. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js +3 -2
  346. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js.map +1 -1
  347. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  348. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  349. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +4 -3
  350. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  351. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  352. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  353. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +4 -3
  354. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  355. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  356. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  357. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +4 -3
  358. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  359. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  360. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  361. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +4 -3
  362. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  363. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
  364. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
  365. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +3 -2
  366. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
  367. package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
  368. package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
  369. package/dist/shared/src/containers/Feed/Feed.es.js +4 -3
  370. package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
  371. package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js +2 -2
  372. package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js.map +1 -1
  373. package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.es.js +42 -39
  374. package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.es.js.map +1 -1
  375. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  376. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  377. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +13 -12
  378. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  379. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js +1 -1
  380. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js.map +1 -1
  381. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js +7 -6
  382. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js.map +1 -1
  383. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +2 -2
  384. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  385. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +258 -245
  386. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  387. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.cjs.js +66 -11
  388. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.cjs.js.map +1 -1
  389. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.es.js +68 -13
  390. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.es.js.map +1 -1
  391. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js +1 -1
  392. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js.map +1 -1
  393. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js +13 -10
  394. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js.map +1 -1
  395. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js +1 -1
  396. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js.map +1 -1
  397. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js +6 -5
  398. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map +1 -1
  399. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js +1 -1
  400. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js.map +1 -1
  401. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js +63 -51
  402. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js.map +1 -1
  403. package/dist/shared/src/containers/Feed/components/FilesGrid/FilesGrid.cjs.js +1 -1
  404. package/dist/shared/src/containers/Feed/components/FilesGrid/FilesGrid.cjs.js.map +1 -1
  405. package/dist/shared/src/containers/Feed/components/FilesGrid/FilesGrid.es.js +35 -31
  406. package/dist/shared/src/containers/Feed/components/FilesGrid/FilesGrid.es.js.map +1 -1
  407. package/dist/shared/src/containers/Feed/components/FilesGrid/FilesGrid.styled.cjs.js +1 -0
  408. package/dist/shared/src/containers/Feed/components/FilesGrid/FilesGrid.styled.cjs.js.map +1 -1
  409. package/dist/shared/src/containers/Feed/components/FilesGrid/FilesGrid.styled.es.js +3 -2
  410. package/dist/shared/src/containers/Feed/components/FilesGrid/FilesGrid.styled.es.js.map +1 -1
  411. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  412. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  413. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +3 -2
  414. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  415. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
  416. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  417. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +6 -5
  418. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  419. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  420. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  421. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +73 -72
  422. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  423. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  424. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  425. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +4 -3
  426. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  427. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
  428. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  429. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +4 -3
  430. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  431. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  432. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  433. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +4 -3
  434. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  435. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  436. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  437. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +4 -3
  438. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  439. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  440. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  441. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +4 -3
  442. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  443. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  444. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  445. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +6 -5
  446. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  447. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  448. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  449. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +3 -2
  450. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  451. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  452. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  453. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +4 -3
  454. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  455. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  456. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  457. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +4 -3
  458. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  459. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  460. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  461. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +4 -3
  462. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  463. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  464. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  465. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +4 -3
  466. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  467. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  468. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  469. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +4 -3
  470. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  471. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  472. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  473. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +4 -3
  474. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  475. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  476. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  477. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +4 -3
  478. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  479. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.cjs.js +1 -1
  480. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.cjs.js.map +1 -1
  481. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.es.js +3 -2
  482. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.es.js.map +1 -1
  483. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  484. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  485. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +4 -3
  486. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  487. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  488. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  489. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +15 -14
  490. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  491. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +1 -1
  492. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  493. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +4 -3
  494. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  495. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  496. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  497. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +6 -5
  498. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  499. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  500. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  501. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +4 -3
  502. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  503. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  504. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  505. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +4 -3
  506. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  507. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  508. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  509. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +4 -3
  510. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  511. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
  512. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
  513. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +3 -2
  514. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
  515. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +1 -1
  516. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -1
  517. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +3 -2
  518. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -1
  519. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
  520. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  521. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +5 -4
  522. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  523. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
  524. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
  525. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +3 -2
  526. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
  527. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js +1 -1
  528. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js.map +1 -1
  529. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js +3 -2
  530. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js.map +1 -1
  531. package/dist/shared/src/context/AddonContext.cjs.js.map +1 -1
  532. package/dist/shared/src/context/AddonContext.es.js.map +1 -1
  533. package/dist/shared/src/context/AddonProjectContext.cjs.js +1 -1
  534. package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
  535. package/dist/shared/src/context/AddonProjectContext.es.js +27 -13
  536. package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
  537. package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
  538. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  539. package/dist/shared/src/context/DetailsPanelContext.es.js +5 -4
  540. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  541. package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
  542. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  543. package/dist/shared/src/context/PowerpackContext.es.js +11 -10
  544. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  545. package/dist/shared/src/context/WebsocketContext.cjs.js +2 -0
  546. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -0
  547. package/dist/shared/src/context/WebsocketContext.es.js +309 -0
  548. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -0
  549. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
  550. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  551. package/dist/shared/src/hooks/useEntityUpdate.es.js +3 -2
  552. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  553. package/dist/src/components/Menu/MenuComponents/Menu.cjs.js +1 -1
  554. package/dist/src/components/Menu/MenuComponents/Menu.cjs.js.map +1 -1
  555. package/dist/src/components/Menu/MenuComponents/Menu.es.js +3 -2
  556. package/dist/src/components/Menu/MenuComponents/Menu.es.js.map +1 -1
  557. package/dist/src/components/Menu/MenuComponents/MenuItem.cjs.js +1 -1
  558. package/dist/src/components/Menu/MenuComponents/MenuItem.cjs.js.map +1 -1
  559. package/dist/src/components/Menu/MenuComponents/MenuItem.es.js +7 -6
  560. package/dist/src/components/Menu/MenuComponents/MenuItem.es.js.map +1 -1
  561. package/dist/src/components/Menu/MenuComponents/MenuList.cjs.js +1 -1
  562. package/dist/src/components/Menu/MenuComponents/MenuList.cjs.js.map +1 -1
  563. package/dist/src/components/Menu/MenuComponents/MenuList.es.js +11 -10
  564. package/dist/src/components/Menu/MenuComponents/MenuList.es.js.map +1 -1
  565. package/dist/types/api/queries/activities/getActivities.d.ts +1 -1
  566. package/dist/types/api/queries/activities/index.d.ts +0 -1
  567. package/dist/types/api/queries/activities/util/activityRealtimeHandler.d.ts +40 -0
  568. package/dist/types/api/queries/index.d.ts +1 -0
  569. package/dist/types/components/Powerpack/RequiredAddonVersion.d.ts +12 -0
  570. package/dist/types/components/Powerpack/index.d.ts +1 -1
  571. package/dist/types/components/RefreshToast/RefreshToast.d.ts +1 -0
  572. package/dist/types/components/RefreshToast/index.d.ts +1 -0
  573. package/dist/types/components/index.d.ts +1 -0
  574. package/dist/types/containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.d.ts +5 -0
  575. package/dist/types/containers/Feed/components/FileUploadCard/FileUploadCard.d.ts +2 -1
  576. package/dist/types/containers/Feed/components/FilesGrid/FilesGrid.d.ts +6 -2
  577. package/dist/types/context/AddonContext.d.ts +1 -0
  578. package/dist/types/context/AddonProjectContext.d.ts +6 -1
  579. package/dist/types/context/WebsocketContext.d.ts +21 -0
  580. package/dist/types/context/index.d.ts +1 -0
  581. package/package.json +1 -1
  582. package/dist/shared/src/components/Powerpack/RequiredPowerpackVersion.cjs.js +0 -9
  583. package/dist/shared/src/components/Powerpack/RequiredPowerpackVersion.cjs.js.map +0 -1
  584. package/dist/shared/src/components/Powerpack/RequiredPowerpackVersion.es.js +0 -25
  585. package/dist/shared/src/components/Powerpack/RequiredPowerpackVersion.es.js.map +0 -1
  586. package/dist/types/components/Powerpack/RequiredPowerpackVersion.d.ts +0 -5
@@ -1 +1 @@
1
- {"version":3,"file":"updateActivities.es.js","sources":["../../../../../../src/api/queries/activities/updateActivities.ts"],"sourcesContent":["import getActivitiesGQLApi from './getActivities'\nimport { toast } from 'react-toastify'\nimport { filterActivityTypes } from './util/activitiesHelpers'\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 patchActivities = async (\n { patch, entityIds = [], filter, refs = [] }: any,\n { dispatch, queryFulfilled, getState }: any,\n method: 'create' | 'update' | 'delete',\n) => {\n const refIds = refs.map((ref: any) => ref.id) || []\n // build tags that would be affected by this activity\n const invalidatingTags = [...entityIds, ...refIds].map((id) => ({\n type: 'entityActivities',\n id: id + '-' + 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 try {\n await queryFulfilled\n } catch (error: any) {\n const message = `Error: ${error?.error?.data?.detail || `Failed to ${method} activity`}`\n console.error(message, error)\n toast.error(message)\n for (const patchResult of patches) {\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":["updateCache","activitiesDraft","patch","isDelete","page","index","a","activityFound","patchActivities","entityIds","filter","refs","dispatch","queryFulfilled","getState","method","refIds","ref","invalidatingTags","id","state","entries","getActivitiesGQLApi","patches","originalArgs","draft","error","message","_b","_a","toast","patchResult","getTags","entityId","tags","filterActivityTypes","key","updateActivitiesApi","build","projectName","entityType","data","args","api","result","activityId","useCreateEntityActivityMutation","useDeleteActivityMutation","useUpdateActivityMutation"],"mappings":"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"}
1
+ {"version":3,"file":"updateActivities.es.js","sources":["../../../../../../src/api/queries/activities/updateActivities.ts"],"sourcesContent":["import { getActivitiesGQLApi } from './getActivities'\nimport { toast } from 'react-toastify'\nimport { filterActivityTypes } from './util/activitiesHelpers'\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 patchActivities = async (\n { patch, entityIds = [], filter, refs = [] }: any,\n { dispatch, queryFulfilled, getState }: any,\n method: 'create' | 'update' | 'delete',\n) => {\n const refIds = refs.map((ref: any) => ref.id) || []\n // build tags that would be affected by this activity\n const invalidatingTags = [...entityIds, ...refIds].map((id) => ({\n type: 'entityActivities',\n id: id + '-' + 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 try {\n await queryFulfilled\n } catch (error: any) {\n const message = `Error: ${error?.error?.data?.detail || `Failed to ${method} activity`}`\n console.error(message, error)\n toast.error(message)\n for (const patchResult of patches) {\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":["updateCache","activitiesDraft","patch","isDelete","page","index","a","activityFound","patchActivities","entityIds","filter","refs","dispatch","queryFulfilled","getState","method","refIds","ref","invalidatingTags","id","state","entries","getActivitiesGQLApi","patches","originalArgs","draft","error","message","_b","_a","toast","patchResult","getTags","entityId","tags","filterActivityTypes","key","updateActivitiesApi","build","projectName","entityType","data","args","api","result","activityId","useCreateEntityActivityMutation","useDeleteActivityMutation","useUpdateActivityMutation"],"mappings":";;;AAIA,MAAMA,IAAc,CAACC,GAAsBC,GAAYC,MAAsB;AAE3E,MAAIA;AAES,eAAAC,KAAQH,EAAgB,OAAO;AAClC,YAAAI,IAAQD,EAAK,WAAW,UAAU,CAACE,MAAWA,EAAE,eAAeJ,EAAM,UAAU;AACrF,UAAIG,MAAU,IAAI;AACX,QAAAD,EAAA,WAAW,OAAOC,GAAO,CAAC;AAC/B;AAAA,MAAA;AAAA,IACF;AAAA,OAEG;AAEL,QAAIE,IAAgB;AAET,eAAAH,KAAQH,EAAgB,OAAO;AAClC,YAAAI,IAAQD,EAAK,WAAW,UAAU,CAACE,MAAWA,EAAE,eAAeJ,EAAM,UAAU;AACrF,UAAIG,MAAU,IAAI;AAEX,QAAAD,EAAA,WAAWC,CAAK,IAAI,EAAE,GAAGD,EAAK,WAAWC,CAAK,GAAG,GAAGH,EAAM,GAC/CK,IAAA;AAChB;AAAA,MAAA;AAAA,IACF;AAIF,IAAI,CAACA,KAAiBN,EAAgB,MAAM,SAAS,KACnDA,EAAgB,MAAM,CAAC,EAAE,WAAW,QAAQC,CAAK;AAAA,EACnD;AAEJ,GAEMM,IAAkB,OACtB,EAAE,OAAAN,GAAO,WAAAO,IAAY,CAAA,GAAI,QAAAC,GAAQ,MAAAC,IAAO,MACxC,EAAE,UAAAC,GAAU,gBAAAC,GAAgB,UAAAC,EAAA,GAC5BC,MACG;;AACG,QAAAC,IAASL,EAAK,IAAI,CAACM,MAAaA,EAAI,EAAE,KAAK,CAAC,GAE5CC,IAAmB,CAAC,GAAGT,GAAW,GAAGO,CAAM,EAAE,IAAI,CAACG,OAAQ;AAAA,IAC9D,MAAM;AAAA,IACN,IAAIA,IAAK,MAAMT;AAAA,EAAA,EACf,GAEIU,IAAQN,EAAS,GAEjBO,IAAUC,EAAoB,KAAK,oBAAoBF,GAAOF,CAAgB;AAGhF,EAAAH,MAAW,YAAYb,EAAM,SAC/BA,EAAM,eAAe,EAAE,GAAGA,EAAM,cAAc,GAAGA,EAAM,KAAK;AAI9D,QAAMqB,IAAUF,EAAQ;AAAA,IAAI,CAAC,EAAE,cAAAG,EAAA,MAC7BZ;AAAA,MACEU,EAAoB,KAAK;AAAA,QAAgB;AAAA,QAAyBE;AAAA,QAAc,CAACC,MAC/EzB,EAAYyB,GAAOvB,GAAOa,MAAW,QAAQ;AAAA,MAAA;AAAA,IAC/C;AAAA,EAEJ;AAEI,MAAA;AACI,UAAAF;AAAA,WACCa,GAAY;AACb,UAAAC,IAAU,YAAUC,KAAAC,IAAAH,KAAA,gBAAAA,EAAO,UAAP,gBAAAG,EAAc,SAAd,gBAAAD,EAAoB,WAAU,aAAab,CAAM,WAAW;AAC9E,YAAA,MAAMY,GAASD,CAAK,GAC5BI,EAAM,MAAMH,CAAO;AACnB,eAAWI,KAAeR;AACxB,MAAAQ,KAAA,QAAAA,EAAa;AAAA,EACf;AAEJ,GAGMC,IAAU,CAAC,EAAE,UAAAC,GAAU,QAAAvB,QAAmD;AAG9E,QAAMwB,IAFoB,OAAO,KAAKC,CAAmB,EAAE,OAAO,CAACC,MAAQA,MAAQ1B,CAAM,EAE1D,IAAI,CAACA,OAAY;AAAA,IAC9C,MAAM;AAAA,IACN,IAAIuB,IAAW,MAAMvB;AAAAA,EAAA,EACrB;AAEF,SAAAwB,EAAK,KAAK,EAAE,MAAM,YAAY,IAAI,QAAQ,GAE1CA,EAAK,KAAK,EAAE,MAAM,YAAY,IAAID,GAAU,GAErCC;AACT,GAEMG,IAAsBf,EAAoB,gBAAgB;AAAA,EAC9D,WAAW,CAACgB,OAAW;AAAA,IACrB,sBAAsBA,EAAM,SAAS;AAAA,MACnC,OAAO,CAAC,EAAE,aAAAC,GAAa,YAAAC,GAAY,UAAAP,GAAU,MAAAQ,IAAO,CAAA,SAAU;AAAA,QAC5D,KAAK,iBAAiBF,CAAW,IAAIC,CAAU,IAAIP,CAAQ;AAAA,QAC3D,QAAQ;AAAA;AAAA,QAER,MAAMQ;AAAA,MAAA;AAAA,MAER,MAAM,eAAeC,GAAMC,GAAK;AACd,QAAAnC,EAAAkC,GAAMC,GAAK,QAAQ;AAAA,MACrC;AAAA;AAAA,MAEA,iBAAiB,CAACC,GAAQlB,GAAO,EAAE,UAAAO,GAAU,QAAAvB,EAAO,MAAMsB,EAAQ,EAAE,UAAAC,GAAU,QAAAvB,EAAQ,CAAA;AAAA,IAAA,CACvF;AAAA,IAED,gBAAgB4B,EAAM,SAAS;AAAA,MAC7B,OAAO,CAAC,EAAE,aAAAC,GAAa,YAAAM,GAAY,MAAAJ,SAAY;AAAA,QAC7C,KAAK,iBAAiBF,CAAW,eAAeM,CAAU;AAAA,QAC1D,QAAQ;AAAA,QACR,MAAMJ;AAAA,MAAA;AAAA,MAER,MAAM,eAAeC,GAAMC,GAAK;AACd,QAAAnC,EAAAkC,GAAMC,GAAK,QAAQ;AAAA,MACrC;AAAA;AAAA,MAEA,iBAAiB,CAACC,GAAQlB,GAAO,EAAE,UAAAO,GAAU,QAAAvB,EAAO,MAAMsB,EAAQ,EAAE,UAAAC,GAAU,QAAAvB,EAAQ,CAAA;AAAA,IAAA,CACvF;AAAA,IACD,gBAAgB4B,EAAM,SAAS;AAAA,MAC7B,OAAO,CAAC,EAAE,aAAAC,GAAa,YAAAM,SAAkB;AAAA,QACvC,KAAK,iBAAiBN,CAAW,eAAeM,CAAU;AAAA,QAC1D,QAAQ;AAAA,MAAA;AAAA,MAEV,MAAM,eAAeH,GAAMC,GAAK;AACd,QAAAnC,EAAAkC,GAAMC,GAAK,QAAQ;AAAA,MACrC;AAAA;AAAA,MAEA,iBAAiB,CAACC,GAAQlB,GAAO,EAAE,UAAAO,GAAU,QAAAvB,EAAO,MAAMsB,EAAQ,EAAE,UAAAC,GAAU,QAAAvB,EAAQ,CAAA;AAAA,IACvF,CAAA;AAAA,EAAA;AAAA,EAEH,kBAAkB;AACpB,CAAC,GAEY;AAAA,EACX,iCAAAoC;AAAA,EACA,2BAAAC;AAAA,EACA,2BAAAC;AACF,IAAIX;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});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");const f=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/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/reviewables.cjs.js");require("../../generated/services.cjs.js");require("../../generated/system.cjs.js");require("../../generated/tasks.cjs.js");require("../../generated/teams.cjs.js");require("../../generated/thumbnails.cjs.js");require("../../generated/uRIs.cjs.js");require("../../generated/users.cjs.js");require("../../generated/versions.cjs.js");require("../../generated/workfiles.cjs.js");require("../../generated/ynputCloud.cjs.js");require("../../generated/grouping.cjs.js");require("../../generated/views.cjs.js");const q=require("./getActivities.cjs.js"),d=({activityId:e,userName:i,reaction:t},{getState:u,dispatch:n},r)=>{const v=[{type:"activity",id:e}];return q.default.util.selectInvalidatedBy(u(),v).map(y=>n(q.default.util.updateQueryData("getActivitiesInfinite",y.originalArgs,p=>{console.log("patchActivity",r,e,i,t);for(const c of p.pages){const a=c.activities.findIndex(o=>o.activityId===e);if(a!==-1){if(r==="create"&&(c.activities[a].reactions=[...c.activities[a].reactions||[],{reaction:t,userName:i,fullName:"",timeStamp:""}]),r==="delete")for(const o in c.activities[a].reactions){const s=c.activities[a].reactions[o];if(s.userName==i&&s.reaction==t){c.activities[a].reactions.splice(o,1);break}}return}}})))},l=f.api.enhanceEndpoints({endpoints:{createReactionToActivity:{async onQueryStarted(e,{getState:i,dispatch:t,queryFulfilled:u}){const n=d({activityId:e.activityId,userName:e.userName,reaction:e.createReactionModel.reaction},{getState:i,dispatch:t},"create");try{await u}catch{for(const r of n)r.undo()}}},deleteReactionToActivity:{async onQueryStarted(e,{getState:i,dispatch:t,queryFulfilled:u}){const n=d({activityId:e.activityId,userName:e.userName,reaction:e.reaction},{getState:i,dispatch:t},"delete");try{await u}catch{for(const r of n)r.undo()}}}}}),{useCreateReactionToActivityMutation:A,useDeleteReactionToActivityMutation:R}=l;exports.reactionQueries=l;exports.useCreateReactionToActivityMutation=A;exports.useDeleteReactionToActivityMutation=R;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});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");const A=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/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/reviewables.cjs.js");require("../../generated/services.cjs.js");require("../../generated/system.cjs.js");require("../../generated/tasks.cjs.js");require("../../generated/teams.cjs.js");require("../../generated/thumbnails.cjs.js");require("../../generated/uRIs.cjs.js");require("../../generated/users.cjs.js");require("../../generated/versions.cjs.js");require("../../generated/workfiles.cjs.js");require("../../generated/ynputCloud.cjs.js");require("../../generated/grouping.cjs.js");require("../../generated/views.cjs.js");const q=require("./getActivities.cjs.js"),d=({activityId:e,userName:i,reaction:t},{getState:u,dispatch:n},r)=>{const y=[{type:"activity",id:e}];return q.getActivitiesGQLApi.util.selectInvalidatedBy(u(),y).map(l=>n(q.getActivitiesGQLApi.util.updateQueryData("getActivitiesInfinite",l.originalArgs,p=>{console.log("patchActivity",r,e,i,t);for(const c of p.pages){const a=c.activities.findIndex(o=>o.activityId===e);if(a!==-1){if(r==="create"&&(c.activities[a].reactions=[...c.activities[a].reactions||[],{reaction:t,userName:i,fullName:"",timeStamp:""}]),r==="delete")for(const o in c.activities[a].reactions){const s=c.activities[a].reactions[o];if(s.userName==i&&s.reaction==t){c.activities[a].reactions.splice(o,1);break}}return}}})))},v=A.api.enhanceEndpoints({endpoints:{createReactionToActivity:{async onQueryStarted(e,{getState:i,dispatch:t,queryFulfilled:u}){const n=d({activityId:e.activityId,userName:e.userName,reaction:e.createReactionModel.reaction},{getState:i,dispatch:t},"create");try{await u}catch{for(const r of n)r.undo()}}},deleteReactionToActivity:{async onQueryStarted(e,{getState:i,dispatch:t,queryFulfilled:u}){const n=d({activityId:e.activityId,userName:e.userName,reaction:e.reaction},{getState:i,dispatch:t},"delete");try{await u}catch{for(const r of n)r.undo()}}}}}),{useCreateReactionToActivityMutation:f,useDeleteReactionToActivityMutation:R}=v;exports.reactionQueries=v;exports.useCreateReactionToActivityMutation=f;exports.useDeleteReactionToActivityMutation=R;
2
2
  //# sourceMappingURL=updateReaction.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"updateReaction.cjs.js","sources":["../../../../../../src/api/queries/activities/updateReaction.ts"],"sourcesContent":["import { activityFeedApi } from '@shared/api/generated'\nimport { ActivityNode } from '../../generated/graphql'\nimport getActivitiesGQLApi from './getActivities'\n\n// @ts-ignore\nconst patchActivity = ({ activityId, userName, reaction }, { getState, dispatch }, action) => {\n const invalidatingTags = [{ type: 'activity', id: activityId }]\n const entries = getActivitiesGQLApi.util.selectInvalidatedBy(getState(), invalidatingTags)\n\n return entries.map((cacheArgs) => {\n return dispatch(\n // @ts-ignore\n getActivitiesGQLApi.util.updateQueryData(\n 'getActivitiesInfinite',\n cacheArgs.originalArgs,\n (draft) => {\n console.log('patchActivity', action, activityId, userName, reaction)\n\n // Handle paginated structure\n for (const page of draft.pages) {\n const index = page.activities.findIndex(\n // @ts-ignore\n (a: ActivityNode) => a.activityId === activityId,\n )\n if (index === -1) continue\n\n if (action === 'create') {\n page.activities[index].reactions = [\n ...(page.activities[index].reactions || []),\n {\n reaction,\n userName,\n fullName: '',\n // @ts-ignore\n timeStamp: '',\n },\n ]\n }\n\n if (action === 'delete') {\n for (const idx in page.activities[index].reactions) {\n const item = page.activities[index].reactions[idx]\n if (item.userName == userName && item.reaction == reaction) {\n // @ts-ignore\n page.activities[index].reactions.splice(idx, 1)\n break\n }\n }\n }\n\n // Found and updated the activity, no need to check other pages\n return\n }\n },\n ),\n )\n })\n}\n\nconst updateReactionApi = activityFeedApi.enhanceEndpoints({\n endpoints: {\n createReactionToActivity: {\n async onQueryStarted(args, { getState, dispatch, queryFulfilled }) {\n const patches = patchActivity(\n {\n activityId: args.activityId,\n // @ts-ignore\n userName: args.userName,\n reaction: args.createReactionModel.reaction,\n },\n { getState, dispatch },\n 'create',\n )\n\n try {\n await queryFulfilled\n } catch {\n for (const patchResult of patches) {\n patchResult.undo()\n }\n }\n },\n },\n deleteReactionToActivity: {\n async onQueryStarted(args, { getState, dispatch, queryFulfilled }) {\n const patches = patchActivity(\n // @ts-ignore\n { activityId: args.activityId, userName: args.userName, reaction: args.reaction },\n { getState, dispatch },\n 'delete',\n )\n\n try {\n await queryFulfilled\n } catch {\n for (const patchResult of patches) {\n patchResult.undo()\n }\n }\n },\n },\n },\n})\n\nexport const { useCreateReactionToActivityMutation, useDeleteReactionToActivityMutation } =\n updateReactionApi\nexport { updateReactionApi as reactionQueries }\n"],"names":["patchActivity","activityId","userName","reaction","getState","dispatch","action","invalidatingTags","getActivitiesGQLApi","cacheArgs","draft","page","index","a","idx","item","updateReactionApi","activityFeedApi","args","queryFulfilled","patches","patchResult","useCreateReactionToActivityMutation","useDeleteReactionToActivityMutation"],"mappings":"guDAKMA,EAAgB,CAAC,CAAE,WAAAC,EAAY,SAAAC,EAAU,SAAAC,CAAS,EAAG,CAAE,SAAAC,EAAU,SAAAC,CAAS,EAAGC,IAAW,CAC5F,MAAMC,EAAmB,CAAC,CAAE,KAAM,WAAY,GAAIN,EAAY,EAGvD,OAFSO,EAAAA,QAAoB,KAAK,oBAAoBJ,IAAYG,CAAgB,EAE1E,IAAKE,GACXJ,EAELG,UAAoB,KAAK,gBACvB,wBACAC,EAAU,aACTC,GAAU,CACT,QAAQ,IAAI,gBAAiBJ,EAAQL,EAAYC,EAAUC,CAAQ,EAGxD,UAAAQ,KAAQD,EAAM,MAAO,CACxB,MAAAE,EAAQD,EAAK,WAAW,UAE3BE,GAAoBA,EAAE,aAAeZ,CACxC,EACA,GAAIW,IAAU,GAed,IAbIN,IAAW,WACRK,EAAA,WAAWC,CAAK,EAAE,UAAY,CACjC,GAAID,EAAK,WAAWC,CAAK,EAAE,WAAa,CAAC,EACzC,CACE,SAAAT,EACA,SAAAD,EACA,SAAU,GAEV,UAAW,EAAA,CAEf,GAGEI,IAAW,SACb,UAAWQ,KAAOH,EAAK,WAAWC,CAAK,EAAE,UAAW,CAClD,MAAMG,EAAOJ,EAAK,WAAWC,CAAK,EAAE,UAAUE,CAAG,EACjD,GAAIC,EAAK,UAAYb,GAAYa,EAAK,UAAYZ,EAAU,CAE1DQ,EAAK,WAAWC,CAAK,EAAE,UAAU,OAAOE,EAAK,CAAC,EAC9C,KAAA,CACF,CAKJ,OAAA,CACF,CACF,CAEJ,CACD,CACH,EAEME,EAAoBC,MAAgB,iBAAiB,CACzD,UAAW,CACT,yBAA0B,CACxB,MAAM,eAAeC,EAAM,CAAE,SAAAd,EAAU,SAAAC,EAAU,eAAAc,GAAkB,CACjE,MAAMC,EAAUpB,EACd,CACE,WAAYkB,EAAK,WAEjB,SAAUA,EAAK,SACf,SAAUA,EAAK,oBAAoB,QACrC,EACA,CAAE,SAAAd,EAAU,SAAAC,CAAS,EACrB,QACF,EAEI,GAAA,CACI,MAAAc,CAAA,MACA,CACN,UAAWE,KAAeD,EACxBC,EAAY,KAAK,CACnB,CACF,CAEJ,EACA,yBAA0B,CACxB,MAAM,eAAeH,EAAM,CAAE,SAAAd,EAAU,SAAAC,EAAU,eAAAc,GAAkB,CACjE,MAAMC,EAAUpB,EAEd,CAAE,WAAYkB,EAAK,WAAY,SAAUA,EAAK,SAAU,SAAUA,EAAK,QAAS,EAChF,CAAE,SAAAd,EAAU,SAAAC,CAAS,EACrB,QACF,EAEI,GAAA,CACI,MAAAc,CAAA,MACA,CACN,UAAWE,KAAeD,EACxBC,EAAY,KAAK,CACnB,CACF,CACF,CACF,CAEJ,CAAC,EAEY,CAAE,oCAAAC,EAAqC,oCAAAC,GAClDP"}
1
+ {"version":3,"file":"updateReaction.cjs.js","sources":["../../../../../../src/api/queries/activities/updateReaction.ts"],"sourcesContent":["import { activityFeedApi } from '@shared/api/generated'\nimport { ActivityNode } from '../../generated/graphql'\nimport { getActivitiesGQLApi } from './getActivities'\n\n// @ts-ignore\nconst patchActivity = ({ activityId, userName, reaction }, { getState, dispatch }, action) => {\n const invalidatingTags = [{ type: 'activity', id: activityId }]\n const entries = getActivitiesGQLApi.util.selectInvalidatedBy(getState(), invalidatingTags)\n\n return entries.map((cacheArgs) => {\n return dispatch(\n // @ts-ignore\n getActivitiesGQLApi.util.updateQueryData(\n 'getActivitiesInfinite',\n cacheArgs.originalArgs,\n (draft) => {\n console.log('patchActivity', action, activityId, userName, reaction)\n\n // Handle paginated structure\n for (const page of draft.pages) {\n const index = page.activities.findIndex(\n // @ts-ignore\n (a: ActivityNode) => a.activityId === activityId,\n )\n if (index === -1) continue\n\n if (action === 'create') {\n page.activities[index].reactions = [\n ...(page.activities[index].reactions || []),\n {\n reaction,\n userName,\n fullName: '',\n // @ts-ignore\n timeStamp: '',\n },\n ]\n }\n\n if (action === 'delete') {\n for (const idx in page.activities[index].reactions) {\n const item = page.activities[index].reactions[idx]\n if (item.userName == userName && item.reaction == reaction) {\n // @ts-ignore\n page.activities[index].reactions.splice(idx, 1)\n break\n }\n }\n }\n\n // Found and updated the activity, no need to check other pages\n return\n }\n },\n ),\n )\n })\n}\n\nconst updateReactionApi = activityFeedApi.enhanceEndpoints({\n endpoints: {\n createReactionToActivity: {\n async onQueryStarted(args, { getState, dispatch, queryFulfilled }) {\n const patches = patchActivity(\n {\n activityId: args.activityId,\n // @ts-ignore\n userName: args.userName,\n reaction: args.createReactionModel.reaction,\n },\n { getState, dispatch },\n 'create',\n )\n\n try {\n await queryFulfilled\n } catch {\n for (const patchResult of patches) {\n patchResult.undo()\n }\n }\n },\n },\n deleteReactionToActivity: {\n async onQueryStarted(args, { getState, dispatch, queryFulfilled }) {\n const patches = patchActivity(\n // @ts-ignore\n { activityId: args.activityId, userName: args.userName, reaction: args.reaction },\n { getState, dispatch },\n 'delete',\n )\n\n try {\n await queryFulfilled\n } catch {\n for (const patchResult of patches) {\n patchResult.undo()\n }\n }\n },\n },\n },\n})\n\nexport const { useCreateReactionToActivityMutation, useDeleteReactionToActivityMutation } =\n updateReactionApi\nexport { updateReactionApi as reactionQueries }\n"],"names":["patchActivity","activityId","userName","reaction","getState","dispatch","action","invalidatingTags","getActivitiesGQLApi","cacheArgs","draft","page","index","a","idx","item","updateReactionApi","activityFeedApi","args","queryFulfilled","patches","patchResult","useCreateReactionToActivityMutation","useDeleteReactionToActivityMutation"],"mappings":"guDAKMA,EAAgB,CAAC,CAAE,WAAAC,EAAY,SAAAC,EAAU,SAAAC,CAAS,EAAG,CAAE,SAAAC,EAAU,SAAAC,CAAS,EAAGC,IAAW,CAC5F,MAAMC,EAAmB,CAAC,CAAE,KAAM,WAAY,GAAIN,EAAY,EAGvD,OAFSO,EAAAA,oBAAoB,KAAK,oBAAoBJ,IAAYG,CAAgB,EAE1E,IAAKE,GACXJ,EAELG,sBAAoB,KAAK,gBACvB,wBACAC,EAAU,aACTC,GAAU,CACT,QAAQ,IAAI,gBAAiBJ,EAAQL,EAAYC,EAAUC,CAAQ,EAGxD,UAAAQ,KAAQD,EAAM,MAAO,CACxB,MAAAE,EAAQD,EAAK,WAAW,UAE3BE,GAAoBA,EAAE,aAAeZ,CACxC,EACA,GAAIW,IAAU,GAed,IAbIN,IAAW,WACRK,EAAA,WAAWC,CAAK,EAAE,UAAY,CACjC,GAAID,EAAK,WAAWC,CAAK,EAAE,WAAa,CAAC,EACzC,CACE,SAAAT,EACA,SAAAD,EACA,SAAU,GAEV,UAAW,EAAA,CAEf,GAGEI,IAAW,SACb,UAAWQ,KAAOH,EAAK,WAAWC,CAAK,EAAE,UAAW,CAClD,MAAMG,EAAOJ,EAAK,WAAWC,CAAK,EAAE,UAAUE,CAAG,EACjD,GAAIC,EAAK,UAAYb,GAAYa,EAAK,UAAYZ,EAAU,CAE1DQ,EAAK,WAAWC,CAAK,EAAE,UAAU,OAAOE,EAAK,CAAC,EAC9C,KAAA,CACF,CAKJ,OAAA,CACF,CACF,CAEJ,CACD,CACH,EAEME,EAAoBC,MAAgB,iBAAiB,CACzD,UAAW,CACT,yBAA0B,CACxB,MAAM,eAAeC,EAAM,CAAE,SAAAd,EAAU,SAAAC,EAAU,eAAAc,GAAkB,CACjE,MAAMC,EAAUpB,EACd,CACE,WAAYkB,EAAK,WAEjB,SAAUA,EAAK,SACf,SAAUA,EAAK,oBAAoB,QACrC,EACA,CAAE,SAAAd,EAAU,SAAAC,CAAS,EACrB,QACF,EAEI,GAAA,CACI,MAAAc,CAAA,MACA,CACN,UAAWE,KAAeD,EACxBC,EAAY,KAAK,CACnB,CACF,CAEJ,EACA,yBAA0B,CACxB,MAAM,eAAeH,EAAM,CAAE,SAAAd,EAAU,SAAAC,EAAU,eAAAc,GAAkB,CACjE,MAAMC,EAAUpB,EAEd,CAAE,WAAYkB,EAAK,WAAY,SAAUA,EAAK,SAAU,SAAUA,EAAK,QAAS,EAChF,CAAE,SAAAd,EAAU,SAAAC,CAAS,EACrB,QACF,EAEI,GAAA,CACI,MAAAc,CAAA,MACA,CACN,UAAWE,KAAeD,EACxBC,EAAY,KAAK,CACnB,CACF,CACF,CACF,CAEJ,CAAC,EAEY,CAAE,oCAAAC,EAAqC,oCAAAC,GAClDP"}
@@ -36,7 +36,7 @@ import "../../generated/workfiles.es.js";
36
36
  import "../../generated/ynputCloud.es.js";
37
37
  import "../../generated/grouping.es.js";
38
38
  import "../../generated/views.es.js";
39
- import s from "./getActivities.es.js";
39
+ import { getActivitiesGQLApi as s } from "./getActivities.es.js";
40
40
  const d = ({ activityId: t, userName: i, reaction: e }, { getState: a, dispatch: p }, o) => {
41
41
  const u = [{ type: "activity", id: t }];
42
42
  return s.util.selectInvalidatedBy(a(), u).map((v) => p(
@@ -1 +1 @@
1
- {"version":3,"file":"updateReaction.es.js","sources":["../../../../../../src/api/queries/activities/updateReaction.ts"],"sourcesContent":["import { activityFeedApi } from '@shared/api/generated'\nimport { ActivityNode } from '../../generated/graphql'\nimport getActivitiesGQLApi from './getActivities'\n\n// @ts-ignore\nconst patchActivity = ({ activityId, userName, reaction }, { getState, dispatch }, action) => {\n const invalidatingTags = [{ type: 'activity', id: activityId }]\n const entries = getActivitiesGQLApi.util.selectInvalidatedBy(getState(), invalidatingTags)\n\n return entries.map((cacheArgs) => {\n return dispatch(\n // @ts-ignore\n getActivitiesGQLApi.util.updateQueryData(\n 'getActivitiesInfinite',\n cacheArgs.originalArgs,\n (draft) => {\n console.log('patchActivity', action, activityId, userName, reaction)\n\n // Handle paginated structure\n for (const page of draft.pages) {\n const index = page.activities.findIndex(\n // @ts-ignore\n (a: ActivityNode) => a.activityId === activityId,\n )\n if (index === -1) continue\n\n if (action === 'create') {\n page.activities[index].reactions = [\n ...(page.activities[index].reactions || []),\n {\n reaction,\n userName,\n fullName: '',\n // @ts-ignore\n timeStamp: '',\n },\n ]\n }\n\n if (action === 'delete') {\n for (const idx in page.activities[index].reactions) {\n const item = page.activities[index].reactions[idx]\n if (item.userName == userName && item.reaction == reaction) {\n // @ts-ignore\n page.activities[index].reactions.splice(idx, 1)\n break\n }\n }\n }\n\n // Found and updated the activity, no need to check other pages\n return\n }\n },\n ),\n )\n })\n}\n\nconst updateReactionApi = activityFeedApi.enhanceEndpoints({\n endpoints: {\n createReactionToActivity: {\n async onQueryStarted(args, { getState, dispatch, queryFulfilled }) {\n const patches = patchActivity(\n {\n activityId: args.activityId,\n // @ts-ignore\n userName: args.userName,\n reaction: args.createReactionModel.reaction,\n },\n { getState, dispatch },\n 'create',\n )\n\n try {\n await queryFulfilled\n } catch {\n for (const patchResult of patches) {\n patchResult.undo()\n }\n }\n },\n },\n deleteReactionToActivity: {\n async onQueryStarted(args, { getState, dispatch, queryFulfilled }) {\n const patches = patchActivity(\n // @ts-ignore\n { activityId: args.activityId, userName: args.userName, reaction: args.reaction },\n { getState, dispatch },\n 'delete',\n )\n\n try {\n await queryFulfilled\n } catch {\n for (const patchResult of patches) {\n patchResult.undo()\n }\n }\n },\n },\n },\n})\n\nexport const { useCreateReactionToActivityMutation, useDeleteReactionToActivityMutation } =\n updateReactionApi\nexport { updateReactionApi as reactionQueries }\n"],"names":["patchActivity","activityId","userName","reaction","getState","dispatch","action","invalidatingTags","getActivitiesGQLApi","cacheArgs","draft","page","index","a","idx","item","updateReactionApi","activityFeedApi","args","queryFulfilled","patches","patchResult","useCreateReactionToActivityMutation","useDeleteReactionToActivityMutation"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,MAAMA,IAAgB,CAAC,EAAE,YAAAC,GAAY,UAAAC,GAAU,UAAAC,EAAS,GAAG,EAAE,UAAAC,GAAU,UAAAC,EAAS,GAAGC,MAAW;AAC5F,QAAMC,IAAmB,CAAC,EAAE,MAAM,YAAY,IAAIN,GAAY;AAGvD,SAFSO,EAAoB,KAAK,oBAAoBJ,KAAYG,CAAgB,EAE1E,IAAI,CAACE,MACXJ;AAAA;AAAA,IAELG,EAAoB,KAAK;AAAA,MACvB;AAAA,MACAC,EAAU;AAAA,MACV,CAACC,MAAU;AACT,gBAAQ,IAAI,iBAAiBJ,GAAQL,GAAYC,GAAUC,CAAQ;AAGxD,mBAAAQ,KAAQD,EAAM,OAAO;AACxB,gBAAAE,IAAQD,EAAK,WAAW;AAAA;AAAA,YAE5B,CAACE,MAAoBA,EAAE,eAAeZ;AAAA,UACxC;AACA,cAAIW,MAAU,IAed;AAAA,gBAbIN,MAAW,aACRK,EAAA,WAAWC,CAAK,EAAE,YAAY;AAAA,cACjC,GAAID,EAAK,WAAWC,CAAK,EAAE,aAAa,CAAC;AAAA,cACzC;AAAA,gBACE,UAAAT;AAAA,gBACA,UAAAD;AAAA,gBACA,UAAU;AAAA;AAAA,gBAEV,WAAW;AAAA,cAAA;AAAA,YAEf,IAGEI,MAAW;AACb,yBAAWQ,KAAOH,EAAK,WAAWC,CAAK,EAAE,WAAW;AAClD,sBAAMG,IAAOJ,EAAK,WAAWC,CAAK,EAAE,UAAUE,CAAG;AACjD,oBAAIC,EAAK,YAAYb,KAAYa,EAAK,YAAYZ,GAAU;AAE1D,kBAAAQ,EAAK,WAAWC,CAAK,EAAE,UAAU,OAAOE,GAAK,CAAC;AAC9C;AAAA,gBAAA;AAAA,cACF;AAKJ;AAAA;AAAA,QAAA;AAAA,MACF;AAAA,IACF;AAAA,EAEJ,CACD;AACH,GAEME,IAAoBC,EAAgB,iBAAiB;AAAA,EACzD,WAAW;AAAA,IACT,0BAA0B;AAAA,MACxB,MAAM,eAAeC,GAAM,EAAE,UAAAd,GAAU,UAAAC,GAAU,gBAAAc,KAAkB;AACjE,cAAMC,IAAUpB;AAAA,UACd;AAAA,YACE,YAAYkB,EAAK;AAAA;AAAA,YAEjB,UAAUA,EAAK;AAAA,YACf,UAAUA,EAAK,oBAAoB;AAAA,UACrC;AAAA,UACA,EAAE,UAAAd,GAAU,UAAAC,EAAS;AAAA,UACrB;AAAA,QACF;AAEI,YAAA;AACI,gBAAAc;AAAA,QAAA,QACA;AACN,qBAAWE,KAAeD;AACxB,YAAAC,EAAY,KAAK;AAAA,QACnB;AAAA,MACF;AAAA,IAEJ;AAAA,IACA,0BAA0B;AAAA,MACxB,MAAM,eAAeH,GAAM,EAAE,UAAAd,GAAU,UAAAC,GAAU,gBAAAc,KAAkB;AACjE,cAAMC,IAAUpB;AAAA;AAAA,UAEd,EAAE,YAAYkB,EAAK,YAAY,UAAUA,EAAK,UAAU,UAAUA,EAAK,SAAS;AAAA,UAChF,EAAE,UAAAd,GAAU,UAAAC,EAAS;AAAA,UACrB;AAAA,QACF;AAEI,YAAA;AACI,gBAAAc;AAAA,QAAA,QACA;AACN,qBAAWE,KAAeD;AACxB,YAAAC,EAAY,KAAK;AAAA,QACnB;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEJ,CAAC,GAEY,EAAE,qCAAAC,IAAqC,qCAAAC,OAClDP;"}
1
+ {"version":3,"file":"updateReaction.es.js","sources":["../../../../../../src/api/queries/activities/updateReaction.ts"],"sourcesContent":["import { activityFeedApi } from '@shared/api/generated'\nimport { ActivityNode } from '../../generated/graphql'\nimport { getActivitiesGQLApi } from './getActivities'\n\n// @ts-ignore\nconst patchActivity = ({ activityId, userName, reaction }, { getState, dispatch }, action) => {\n const invalidatingTags = [{ type: 'activity', id: activityId }]\n const entries = getActivitiesGQLApi.util.selectInvalidatedBy(getState(), invalidatingTags)\n\n return entries.map((cacheArgs) => {\n return dispatch(\n // @ts-ignore\n getActivitiesGQLApi.util.updateQueryData(\n 'getActivitiesInfinite',\n cacheArgs.originalArgs,\n (draft) => {\n console.log('patchActivity', action, activityId, userName, reaction)\n\n // Handle paginated structure\n for (const page of draft.pages) {\n const index = page.activities.findIndex(\n // @ts-ignore\n (a: ActivityNode) => a.activityId === activityId,\n )\n if (index === -1) continue\n\n if (action === 'create') {\n page.activities[index].reactions = [\n ...(page.activities[index].reactions || []),\n {\n reaction,\n userName,\n fullName: '',\n // @ts-ignore\n timeStamp: '',\n },\n ]\n }\n\n if (action === 'delete') {\n for (const idx in page.activities[index].reactions) {\n const item = page.activities[index].reactions[idx]\n if (item.userName == userName && item.reaction == reaction) {\n // @ts-ignore\n page.activities[index].reactions.splice(idx, 1)\n break\n }\n }\n }\n\n // Found and updated the activity, no need to check other pages\n return\n }\n },\n ),\n )\n })\n}\n\nconst updateReactionApi = activityFeedApi.enhanceEndpoints({\n endpoints: {\n createReactionToActivity: {\n async onQueryStarted(args, { getState, dispatch, queryFulfilled }) {\n const patches = patchActivity(\n {\n activityId: args.activityId,\n // @ts-ignore\n userName: args.userName,\n reaction: args.createReactionModel.reaction,\n },\n { getState, dispatch },\n 'create',\n )\n\n try {\n await queryFulfilled\n } catch {\n for (const patchResult of patches) {\n patchResult.undo()\n }\n }\n },\n },\n deleteReactionToActivity: {\n async onQueryStarted(args, { getState, dispatch, queryFulfilled }) {\n const patches = patchActivity(\n // @ts-ignore\n { activityId: args.activityId, userName: args.userName, reaction: args.reaction },\n { getState, dispatch },\n 'delete',\n )\n\n try {\n await queryFulfilled\n } catch {\n for (const patchResult of patches) {\n patchResult.undo()\n }\n }\n },\n },\n },\n})\n\nexport const { useCreateReactionToActivityMutation, useDeleteReactionToActivityMutation } =\n updateReactionApi\nexport { updateReactionApi as reactionQueries }\n"],"names":["patchActivity","activityId","userName","reaction","getState","dispatch","action","invalidatingTags","getActivitiesGQLApi","cacheArgs","draft","page","index","a","idx","item","updateReactionApi","activityFeedApi","args","queryFulfilled","patches","patchResult","useCreateReactionToActivityMutation","useDeleteReactionToActivityMutation"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,MAAMA,IAAgB,CAAC,EAAE,YAAAC,GAAY,UAAAC,GAAU,UAAAC,EAAS,GAAG,EAAE,UAAAC,GAAU,UAAAC,EAAS,GAAGC,MAAW;AAC5F,QAAMC,IAAmB,CAAC,EAAE,MAAM,YAAY,IAAIN,GAAY;AAGvD,SAFSO,EAAoB,KAAK,oBAAoBJ,KAAYG,CAAgB,EAE1E,IAAI,CAACE,MACXJ;AAAA;AAAA,IAELG,EAAoB,KAAK;AAAA,MACvB;AAAA,MACAC,EAAU;AAAA,MACV,CAACC,MAAU;AACT,gBAAQ,IAAI,iBAAiBJ,GAAQL,GAAYC,GAAUC,CAAQ;AAGxD,mBAAAQ,KAAQD,EAAM,OAAO;AACxB,gBAAAE,IAAQD,EAAK,WAAW;AAAA;AAAA,YAE5B,CAACE,MAAoBA,EAAE,eAAeZ;AAAA,UACxC;AACA,cAAIW,MAAU,IAed;AAAA,gBAbIN,MAAW,aACRK,EAAA,WAAWC,CAAK,EAAE,YAAY;AAAA,cACjC,GAAID,EAAK,WAAWC,CAAK,EAAE,aAAa,CAAC;AAAA,cACzC;AAAA,gBACE,UAAAT;AAAA,gBACA,UAAAD;AAAA,gBACA,UAAU;AAAA;AAAA,gBAEV,WAAW;AAAA,cAAA;AAAA,YAEf,IAGEI,MAAW;AACb,yBAAWQ,KAAOH,EAAK,WAAWC,CAAK,EAAE,WAAW;AAClD,sBAAMG,IAAOJ,EAAK,WAAWC,CAAK,EAAE,UAAUE,CAAG;AACjD,oBAAIC,EAAK,YAAYb,KAAYa,EAAK,YAAYZ,GAAU;AAE1D,kBAAAQ,EAAK,WAAWC,CAAK,EAAE,UAAU,OAAOE,GAAK,CAAC;AAC9C;AAAA,gBAAA;AAAA,cACF;AAKJ;AAAA;AAAA,QAAA;AAAA,MACF;AAAA,IACF;AAAA,EAEJ,CACD;AACH,GAEME,IAAoBC,EAAgB,iBAAiB;AAAA,EACzD,WAAW;AAAA,IACT,0BAA0B;AAAA,MACxB,MAAM,eAAeC,GAAM,EAAE,UAAAd,GAAU,UAAAC,GAAU,gBAAAc,KAAkB;AACjE,cAAMC,IAAUpB;AAAA,UACd;AAAA,YACE,YAAYkB,EAAK;AAAA;AAAA,YAEjB,UAAUA,EAAK;AAAA,YACf,UAAUA,EAAK,oBAAoB;AAAA,UACrC;AAAA,UACA,EAAE,UAAAd,GAAU,UAAAC,EAAS;AAAA,UACrB;AAAA,QACF;AAEI,YAAA;AACI,gBAAAc;AAAA,QAAA,QACA;AACN,qBAAWE,KAAeD;AACxB,YAAAC,EAAY,KAAK;AAAA,QACnB;AAAA,MACF;AAAA,IAEJ;AAAA,IACA,0BAA0B;AAAA,MACxB,MAAM,eAAeH,GAAM,EAAE,UAAAd,GAAU,UAAAC,GAAU,gBAAAc,KAAkB;AACjE,cAAMC,IAAUpB;AAAA;AAAA,UAEd,EAAE,YAAYkB,EAAK,YAAY,UAAUA,EAAK,UAAU,UAAUA,EAAK,SAAS;AAAA,UAChF,EAAE,UAAAd,GAAU,UAAAC,EAAS;AAAA,UACrB;AAAA,QACF;AAEI,YAAA;AACI,gBAAAc;AAAA,QAAA,QACA;AACN,qBAAWE,KAAeD;AACxB,YAAAC,EAAY,KAAK;AAAA,QACnB;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEJ,CAAC,GAEY,EAAE,qCAAAC,IAAqC,qCAAAC,OAClDP;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("lodash");require("react-toastify");require("uuid");const F=require("../../../../util/pubsub.cjs.js"),S=require("../getActivities.cjs.js"),P=c=>c?c.includes("* [ ]")||c.includes("* [x]"):!1,Q=async(c,{updateCachedData:R,cacheDataLoaded:U,cacheEntryRemoved:j,dispatch:m,getCacheEntry:D})=>{console.log("[Activity RT] Setting up real-time handler for query args:",c);let g;try{await U,console.log("[Activity RT] Cache data loaded, handler is ready");const f=async(d,o)=>{var k,I,x;console.log("[Activity RT] Received message:",{topic:d,message:o});const n=(k=o.summary)==null?void 0:k.activity_id;if(!n){console.warn("[Activity RT] Activity message missing activity_id",o);return}const w=o.project,a=(((I=o.summary)==null?void 0:I.references)||[]).filter(t=>t.reference_type==="origin").map(t=>t.entity_id);console.log("[Activity RT] Extracted data:",{activityId:n,projectName:w,entityIds:a});const A=Array.isArray(c.entityIds)?c.entityIds:[c.entityIds],b=A.some(t=>a.includes(t));if(console.log("[Activity RT] Relevance check:",{queryEntityIds:A,entityIds:a,isRelevant:b,hasQueryEntityIds:A.length>0}),!b&&A.length>0){console.log("[Activity RT] Activity not relevant to this cache, skipping");return}const u=(x=o.summary)==null?void 0:x.activity_type;if(!u){console.warn("[Activity RT] Activity message missing activity_type",o);return}if(console.log("[Activity RT] Activity type:",u),d==="activity.deleted"){console.log("[Activity RT] Handling deletion for activity:",n),R(t=>{var r;if(!t||!t.pages){console.warn("[Activity RT] No draft or pages found for deletion");return}let v=!1;for(const s of t.pages){const e=(r=s.activities)==null?void 0:r.findIndex(l=>l.activityId===n);e!==-1&&(console.log("[Activity RT] Deleting activity at index:",e),s.activities.splice(e,1),v=!0)}console.log(v?"[Activity RT] Activity deleted successfully":"[Activity RT] Activity not found in cache for deletion")});return}console.log("[Activity RT] Fetching activity data from server");try{const t=await m(S.getActivitiesGQLApi.endpoints.GetActivitiesById.initiate({projectName:w,activityIds:[n],entityIds:a},{forceRefetch:!0}));if(console.log("[Activity RT] Fetch result:",t),"error"in t&&t.error)throw console.error("[Activity RT] Error fetching activity:",t.error),new Error("Failed to fetch activity");const r=t.data,s=(r==null?void 0:r.activities)||[];if(console.log("[Activity RT] Fetched activities:",{count:s.length,activities:s}),s.length===0){console.warn("[Activity RT] No activities found for activity_id",n);return}const e=s[0];console.log("[Activity RT] New activity data:",e);const l=[u];if(u==="comment"){const i=e==null?void 0:e.body,y=P(i||"");console.log("[Activity RT] Comment checklist check:",{hasChecklist:y,body:i}),y&&l.push("checklist")}console.log("[Activity RT] Activity types for filtering:",l);const p=c.activityTypes,T=Array.isArray(p)?p:p?[p]:[],C=T.length===0||T.some(i=>l.includes(i));if(console.log("[Activity RT] Activity type relevance check:",{queryActivityTypes:T,activityTypes:l,isActivityTypeRelevant:C}),!C){console.log("[Activity RT] Activity type not relevant to this cache, skipping");return}console.log("[Activity RT] Updating cache"),R(i=>{var E,_,q;if(!i||!i.pages){console.warn("[Activity RT] No draft or pages found for update");return}console.log("[Activity RT] Current cache state:",{pageCount:i.pages.length,firstPageActivityCount:(_=(E=i.pages[0])==null?void 0:E.activities)==null?void 0:_.length});let y=!1;for(const N of i.pages){const h=(q=N.activities)==null?void 0:q.findIndex(G=>G.activityId===n);if(h!==-1){console.log("[Activity RT] Updating existing activity at index:",h),N.activities[h]=e,y=!0;break}}!y&&d==="activity.created"?(console.log("[Activity RT] Adding new activity to first page"),i.pages.length>0&&i.pages[0].activities?(i.pages[0].activities.unshift(e),console.log("[Activity RT] Activity added. New count:",i.pages[0].activities.length)):console.warn("[Activity RT] Cannot add activity: no pages or activities array")):y?console.log("[Activity RT] Activity updated successfully"):console.log("[Activity RT] Activity not found and topic is not creation:",d)}),console.log("[Activity RT] Cache update complete")}catch(t){console.error("[Activity RT] Error fetching activity data for real-time update:",t),console.log("[Activity RT] Invalidating cache tags for entities:",a),m(S.getActivitiesGQLApi.util.invalidateTags(a.map(v=>({type:"entityActivities",id:v}))))}};g=F.subscribe(["activity"],f),console.log("[Activity RT] Subscribed to activity topic with token:",g)}catch(f){console.error("[Activity RT] Error in activity real-time handler setup:",f)}await j,console.log("[Activity RT] Cache entry removed, cleaning up"),g&&(console.log("[Activity RT] Unsubscribing from activity topic"),F.unsubscribe(g))};exports.handleActivityRealtimeUpdates=Q;
2
+ //# sourceMappingURL=activityRealtimeHandler.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activityRealtimeHandler.cjs.js","sources":["../../../../../../../src/api/queries/activities/util/activityRealtimeHandler.ts"],"sourcesContent":["import { PubSub } from '@shared/util'\nimport { ActivitiesResult } from './activitiesHelpers'\nimport type { GetActivitiesQueryVariables } from '@shared/api'\nimport { getActivitiesGQLApi as gqlApi } from '../getActivities'\nimport { ThunkDispatch, UnknownAction } from '@reduxjs/toolkit'\nimport { FeedActivity } from '../types'\n\nexport type ActivityMessage = {\n topic: string\n project: string\n user: string\n createdAt: string\n updatedAt: string\n id: string\n status: string\n summary?: {\n activity_id: string\n activity_type: string\n references: {\n entity_id: string\n entity_type: string\n reference_type: string\n }[]\n }\n}\n\ntype InfiniteDataDraft = {\n pages: ActivitiesResult[]\n}\n\ntype CacheLifecycleApi = {\n updateCachedData: (updateRecipe: (draft: InfiniteDataDraft) => void) => void\n cacheDataLoaded: Promise<unknown>\n cacheEntryRemoved: Promise<void>\n dispatch: ThunkDispatch<unknown, unknown, UnknownAction>\n getCacheEntry: () => { data?: InfiniteDataDraft }\n}\n\n/**\n * Checks if a comment body contains a checklist\n */\nconst bodyHasChecklist = (body: string): boolean => {\n if (!body) return false\n return body.includes('* [ ]') || body.includes('* [x]')\n}\n\n/**\n * Handles real-time activity updates for the infinite query cache\n */\nexport const handleActivityRealtimeUpdates = async (\n queryArg: Omit<GetActivitiesQueryVariables, 'last' | 'first' | 'cursor'> & { filter?: string },\n {\n updateCachedData,\n cacheDataLoaded,\n cacheEntryRemoved,\n dispatch,\n getCacheEntry,\n }: CacheLifecycleApi,\n) => {\n console.log('[Activity RT] Setting up real-time handler for query args:', queryArg)\n let token: string | undefined\n\n try {\n // Wait for the initial query to resolve before proceeding\n await cacheDataLoaded\n console.log('[Activity RT] Cache data loaded, handler is ready')\n\n const handlePubSub = async (topic: string, message: ActivityMessage) => {\n console.log('[Activity RT] Received message:', { topic, message })\n\n const activityId = message.summary?.activity_id\n if (!activityId) {\n console.warn('[Activity RT] Activity message missing activity_id', message)\n return\n }\n\n const projectName = message.project\n const references = message.summary?.references || []\n const entityIds = references\n .filter((reference) => reference.reference_type === 'origin')\n .map((reference) => reference.entity_id)\n\n console.log('[Activity RT] Extracted data:', { activityId, projectName, entityIds })\n\n // Check if this activity is relevant to the current cache\n const queryEntityIds = Array.isArray(queryArg.entityIds)\n ? queryArg.entityIds\n : [queryArg.entityIds]\n\n const isRelevant = queryEntityIds.some((qId) => entityIds.includes(qId))\n console.log('[Activity RT] Relevance check:', {\n queryEntityIds,\n entityIds,\n isRelevant,\n hasQueryEntityIds: queryEntityIds.length > 0,\n })\n\n if (!isRelevant && queryEntityIds.length > 0) {\n console.log('[Activity RT] Activity not relevant to this cache, skipping')\n return\n }\n\n const activityType = message.summary?.activity_type\n if (!activityType) {\n console.warn('[Activity RT] Activity message missing activity_type', message)\n return\n }\n\n console.log('[Activity RT] Activity type:', activityType)\n\n // Handle deletion\n if (topic === 'activity.deleted') {\n console.log('[Activity RT] Handling deletion for activity:', activityId)\n updateCachedData((draft) => {\n if (!draft || !draft.pages) {\n console.warn('[Activity RT] No draft or pages found for deletion')\n return\n }\n\n let deleted = false\n for (const page of draft.pages) {\n const index = page.activities?.findIndex(\n (activity) => activity.activityId === activityId,\n )\n if (index !== -1) {\n console.log('[Activity RT] Deleting activity at index:', index)\n page.activities.splice(index, 1)\n deleted = true\n }\n }\n\n if (deleted) {\n console.log('[Activity RT] Activity deleted successfully')\n } else {\n console.log('[Activity RT] Activity not found in cache for deletion')\n }\n })\n return\n }\n\n // Handle creation and updates\n console.log('[Activity RT] Fetching activity data from server')\n try {\n // Fetch the updated activity data using the enhanced endpoint\n // The GetActivitiesById endpoint is enhanced to return ActivitiesResult via transformResponse\n const result = await dispatch(\n gqlApi.endpoints.GetActivitiesById.initiate(\n {\n projectName,\n activityIds: [activityId],\n entityIds,\n },\n {\n forceRefetch: true, // Always fetch fresh data\n },\n ),\n )\n\n console.log('[Activity RT] Fetch result:', result)\n\n // Check if we have an error\n if ('error' in result && result.error) {\n console.error('[Activity RT] Error fetching activity:', result.error)\n throw new Error('Failed to fetch activity')\n }\n\n // The transformResponse in enhanceActivitiesApi converts GetActivitiesByIdQuery to ActivitiesResult\n // TypeScript doesn't see this transformation, so we cast through unknown\n const unknownData: unknown = result.data\n const res = unknownData as ActivitiesResult\n const newActivities = res?.activities || []\n console.log('[Activity RT] Fetched activities:', {\n count: newActivities.length,\n activities: newActivities,\n })\n\n if (newActivities.length === 0) {\n console.warn('[Activity RT] No activities found for activity_id', activityId)\n return\n }\n\n const newActivity: FeedActivity = newActivities[0]\n console.log('[Activity RT] New activity data:', newActivity)\n\n // Determine activity types to check against\n const activityTypes = [activityType]\n if (activityType === 'comment') {\n const body = newActivity?.body\n const hasChecklist = bodyHasChecklist(body || '')\n console.log('[Activity RT] Comment checklist check:', { hasChecklist, body })\n if (hasChecklist) {\n activityTypes.push('checklist')\n }\n }\n\n console.log('[Activity RT] Activity types for filtering:', activityTypes)\n\n // Check if this activity type is relevant to the query\n const queryActivityTypes = queryArg.activityTypes\n const queryActivityTypesArray = Array.isArray(queryActivityTypes)\n ? queryActivityTypes\n : queryActivityTypes\n ? [queryActivityTypes]\n : []\n const isActivityTypeRelevant =\n queryActivityTypesArray.length === 0 ||\n queryActivityTypesArray.some((type: string) => activityTypes.includes(type))\n\n console.log('[Activity RT] Activity type relevance check:', {\n queryActivityTypes: queryActivityTypesArray,\n activityTypes,\n isActivityTypeRelevant,\n })\n\n if (!isActivityTypeRelevant) {\n console.log('[Activity RT] Activity type not relevant to this cache, skipping')\n return\n }\n\n // Update the cache\n console.log('[Activity RT] Updating cache')\n updateCachedData((draft) => {\n if (!draft || !draft.pages) {\n console.warn('[Activity RT] No draft or pages found for update')\n return\n }\n\n console.log('[Activity RT] Current cache state:', {\n pageCount: draft.pages.length,\n firstPageActivityCount: draft.pages[0]?.activities?.length,\n })\n\n // Check if activity already exists in any page\n let existingActivityFound = false\n for (const page of draft.pages) {\n const index = page.activities?.findIndex(\n (activity) => activity.activityId === activityId,\n )\n if (index !== -1) {\n // Update existing activity\n console.log('[Activity RT] Updating existing activity at index:', index)\n page.activities[index] = newActivity\n existingActivityFound = true\n break\n }\n }\n\n // If it's a new activity (topic is 'activity.created'), add it to the first page\n if (!existingActivityFound && topic === 'activity.created') {\n console.log('[Activity RT] Adding new activity to first page')\n if (draft.pages.length > 0 && draft.pages[0].activities) {\n // Add to the beginning of the first page (most recent activities first)\n // Since we're using reverse chronological order (last: N), prepend to the beginning\n draft.pages[0].activities.unshift(newActivity)\n console.log(\n '[Activity RT] Activity added. New count:',\n draft.pages[0].activities.length,\n )\n } else {\n console.warn('[Activity RT] Cannot add activity: no pages or activities array')\n }\n } else if (!existingActivityFound) {\n console.log('[Activity RT] Activity not found and topic is not creation:', topic)\n } else {\n console.log('[Activity RT] Activity updated successfully')\n }\n })\n\n console.log('[Activity RT] Cache update complete')\n } catch (error) {\n console.error('[Activity RT] Error fetching activity data for real-time update:', error)\n\n // Invalidate the cache for these entities to trigger a refetch\n console.log('[Activity RT] Invalidating cache tags for entities:', entityIds)\n dispatch(\n gqlApi.util.invalidateTags(\n entityIds.map((entityId) => ({ type: 'entityActivities', id: entityId })),\n ),\n )\n }\n }\n\n // Subscribe to activity topic\n token = PubSub.subscribe(['activity'], handlePubSub)\n console.log('[Activity RT] Subscribed to activity topic with token:', token)\n } catch (error) {\n console.error('[Activity RT] Error in activity real-time handler setup:', error)\n // no-op in case `cacheEntryRemoved` resolves before `cacheDataLoaded`\n }\n\n // Wait for cache entry to be removed\n await cacheEntryRemoved\n console.log('[Activity RT] Cache entry removed, cleaning up')\n\n // Cleanup: unsubscribe from PubSub\n if (token) {\n console.log('[Activity RT] Unsubscribing from activity topic')\n PubSub.unsubscribe(token)\n }\n}\n"],"names":["bodyHasChecklist","body","handleActivityRealtimeUpdates","queryArg","updateCachedData","cacheDataLoaded","cacheEntryRemoved","dispatch","getCacheEntry","token","handlePubSub","topic","message","activityId","_a","projectName","entityIds","_b","reference","queryEntityIds","isRelevant","qId","activityType","_c","draft","deleted","page","index","activity","result","gqlApi","res","newActivities","newActivity","activityTypes","hasChecklist","queryActivityTypes","queryActivityTypesArray","isActivityTypeRelevant","type","existingActivityFound","error","entityId","PubSub"],"mappings":"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"}
@@ -0,0 +1,144 @@
1
+ import "lodash";
2
+ import "react-toastify";
3
+ import "uuid";
4
+ import S from "../../../../util/pubsub.es.js";
5
+ import { getActivitiesGQLApi as U } from "../getActivities.es.js";
6
+ const G = (c) => c ? c.includes("* [ ]") || c.includes("* [x]") : !1, K = async (c, {
7
+ updateCachedData: R,
8
+ cacheDataLoaded: P,
9
+ cacheEntryRemoved: j,
10
+ dispatch: m,
11
+ getCacheEntry: H
12
+ }) => {
13
+ console.log("[Activity RT] Setting up real-time handler for query args:", c);
14
+ let g;
15
+ try {
16
+ await P, console.log("[Activity RT] Cache data loaded, handler is ready");
17
+ const f = async (d, o) => {
18
+ var k, I, x;
19
+ console.log("[Activity RT] Received message:", { topic: d, message: o });
20
+ const n = (k = o.summary) == null ? void 0 : k.activity_id;
21
+ if (!n) {
22
+ console.warn("[Activity RT] Activity message missing activity_id", o);
23
+ return;
24
+ }
25
+ const w = o.project, a = (((I = o.summary) == null ? void 0 : I.references) || []).filter((t) => t.reference_type === "origin").map((t) => t.entity_id);
26
+ console.log("[Activity RT] Extracted data:", { activityId: n, projectName: w, entityIds: a });
27
+ const A = Array.isArray(c.entityIds) ? c.entityIds : [c.entityIds], b = A.some((t) => a.includes(t));
28
+ if (console.log("[Activity RT] Relevance check:", {
29
+ queryEntityIds: A,
30
+ entityIds: a,
31
+ isRelevant: b,
32
+ hasQueryEntityIds: A.length > 0
33
+ }), !b && A.length > 0) {
34
+ console.log("[Activity RT] Activity not relevant to this cache, skipping");
35
+ return;
36
+ }
37
+ const p = (x = o.summary) == null ? void 0 : x.activity_type;
38
+ if (!p) {
39
+ console.warn("[Activity RT] Activity message missing activity_type", o);
40
+ return;
41
+ }
42
+ if (console.log("[Activity RT] Activity type:", p), d === "activity.deleted") {
43
+ console.log("[Activity RT] Handling deletion for activity:", n), R((t) => {
44
+ var r;
45
+ if (!t || !t.pages) {
46
+ console.warn("[Activity RT] No draft or pages found for deletion");
47
+ return;
48
+ }
49
+ let v = !1;
50
+ for (const s of t.pages) {
51
+ const e = (r = s.activities) == null ? void 0 : r.findIndex(
52
+ (l) => l.activityId === n
53
+ );
54
+ e !== -1 && (console.log("[Activity RT] Deleting activity at index:", e), s.activities.splice(e, 1), v = !0);
55
+ }
56
+ console.log(v ? "[Activity RT] Activity deleted successfully" : "[Activity RT] Activity not found in cache for deletion");
57
+ });
58
+ return;
59
+ }
60
+ console.log("[Activity RT] Fetching activity data from server");
61
+ try {
62
+ const t = await m(
63
+ U.endpoints.GetActivitiesById.initiate(
64
+ {
65
+ projectName: w,
66
+ activityIds: [n],
67
+ entityIds: a
68
+ },
69
+ {
70
+ forceRefetch: !0
71
+ // Always fetch fresh data
72
+ }
73
+ )
74
+ );
75
+ if (console.log("[Activity RT] Fetch result:", t), "error" in t && t.error)
76
+ throw console.error("[Activity RT] Error fetching activity:", t.error), new Error("Failed to fetch activity");
77
+ const r = t.data, s = (r == null ? void 0 : r.activities) || [];
78
+ if (console.log("[Activity RT] Fetched activities:", {
79
+ count: s.length,
80
+ activities: s
81
+ }), s.length === 0) {
82
+ console.warn("[Activity RT] No activities found for activity_id", n);
83
+ return;
84
+ }
85
+ const e = s[0];
86
+ console.log("[Activity RT] New activity data:", e);
87
+ const l = [p];
88
+ if (p === "comment") {
89
+ const i = e == null ? void 0 : e.body, y = G(i || "");
90
+ console.log("[Activity RT] Comment checklist check:", { hasChecklist: y, body: i }), y && l.push("checklist");
91
+ }
92
+ console.log("[Activity RT] Activity types for filtering:", l);
93
+ const u = c.activityTypes, T = Array.isArray(u) ? u : u ? [u] : [], C = T.length === 0 || T.some((i) => l.includes(i));
94
+ if (console.log("[Activity RT] Activity type relevance check:", {
95
+ queryActivityTypes: T,
96
+ activityTypes: l,
97
+ isActivityTypeRelevant: C
98
+ }), !C) {
99
+ console.log("[Activity RT] Activity type not relevant to this cache, skipping");
100
+ return;
101
+ }
102
+ console.log("[Activity RT] Updating cache"), R((i) => {
103
+ var E, _, N;
104
+ if (!i || !i.pages) {
105
+ console.warn("[Activity RT] No draft or pages found for update");
106
+ return;
107
+ }
108
+ console.log("[Activity RT] Current cache state:", {
109
+ pageCount: i.pages.length,
110
+ firstPageActivityCount: (_ = (E = i.pages[0]) == null ? void 0 : E.activities) == null ? void 0 : _.length
111
+ });
112
+ let y = !1;
113
+ for (const F of i.pages) {
114
+ const h = (N = F.activities) == null ? void 0 : N.findIndex(
115
+ (D) => D.activityId === n
116
+ );
117
+ if (h !== -1) {
118
+ console.log("[Activity RT] Updating existing activity at index:", h), F.activities[h] = e, y = !0;
119
+ break;
120
+ }
121
+ }
122
+ !y && d === "activity.created" ? (console.log("[Activity RT] Adding new activity to first page"), i.pages.length > 0 && i.pages[0].activities ? (i.pages[0].activities.unshift(e), console.log(
123
+ "[Activity RT] Activity added. New count:",
124
+ i.pages[0].activities.length
125
+ )) : console.warn("[Activity RT] Cannot add activity: no pages or activities array")) : y ? console.log("[Activity RT] Activity updated successfully") : console.log("[Activity RT] Activity not found and topic is not creation:", d);
126
+ }), console.log("[Activity RT] Cache update complete");
127
+ } catch (t) {
128
+ console.error("[Activity RT] Error fetching activity data for real-time update:", t), console.log("[Activity RT] Invalidating cache tags for entities:", a), m(
129
+ U.util.invalidateTags(
130
+ a.map((v) => ({ type: "entityActivities", id: v }))
131
+ )
132
+ );
133
+ }
134
+ };
135
+ g = S.subscribe(["activity"], f), console.log("[Activity RT] Subscribed to activity topic with token:", g);
136
+ } catch (f) {
137
+ console.error("[Activity RT] Error in activity real-time handler setup:", f);
138
+ }
139
+ await j, console.log("[Activity RT] Cache entry removed, cleaning up"), g && (console.log("[Activity RT] Unsubscribing from activity topic"), S.unsubscribe(g));
140
+ };
141
+ export {
142
+ K as handleActivityRealtimeUpdates
143
+ };
144
+ //# sourceMappingURL=activityRealtimeHandler.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activityRealtimeHandler.es.js","sources":["../../../../../../../src/api/queries/activities/util/activityRealtimeHandler.ts"],"sourcesContent":["import { PubSub } from '@shared/util'\nimport { ActivitiesResult } from './activitiesHelpers'\nimport type { GetActivitiesQueryVariables } from '@shared/api'\nimport { getActivitiesGQLApi as gqlApi } from '../getActivities'\nimport { ThunkDispatch, UnknownAction } from '@reduxjs/toolkit'\nimport { FeedActivity } from '../types'\n\nexport type ActivityMessage = {\n topic: string\n project: string\n user: string\n createdAt: string\n updatedAt: string\n id: string\n status: string\n summary?: {\n activity_id: string\n activity_type: string\n references: {\n entity_id: string\n entity_type: string\n reference_type: string\n }[]\n }\n}\n\ntype InfiniteDataDraft = {\n pages: ActivitiesResult[]\n}\n\ntype CacheLifecycleApi = {\n updateCachedData: (updateRecipe: (draft: InfiniteDataDraft) => void) => void\n cacheDataLoaded: Promise<unknown>\n cacheEntryRemoved: Promise<void>\n dispatch: ThunkDispatch<unknown, unknown, UnknownAction>\n getCacheEntry: () => { data?: InfiniteDataDraft }\n}\n\n/**\n * Checks if a comment body contains a checklist\n */\nconst bodyHasChecklist = (body: string): boolean => {\n if (!body) return false\n return body.includes('* [ ]') || body.includes('* [x]')\n}\n\n/**\n * Handles real-time activity updates for the infinite query cache\n */\nexport const handleActivityRealtimeUpdates = async (\n queryArg: Omit<GetActivitiesQueryVariables, 'last' | 'first' | 'cursor'> & { filter?: string },\n {\n updateCachedData,\n cacheDataLoaded,\n cacheEntryRemoved,\n dispatch,\n getCacheEntry,\n }: CacheLifecycleApi,\n) => {\n console.log('[Activity RT] Setting up real-time handler for query args:', queryArg)\n let token: string | undefined\n\n try {\n // Wait for the initial query to resolve before proceeding\n await cacheDataLoaded\n console.log('[Activity RT] Cache data loaded, handler is ready')\n\n const handlePubSub = async (topic: string, message: ActivityMessage) => {\n console.log('[Activity RT] Received message:', { topic, message })\n\n const activityId = message.summary?.activity_id\n if (!activityId) {\n console.warn('[Activity RT] Activity message missing activity_id', message)\n return\n }\n\n const projectName = message.project\n const references = message.summary?.references || []\n const entityIds = references\n .filter((reference) => reference.reference_type === 'origin')\n .map((reference) => reference.entity_id)\n\n console.log('[Activity RT] Extracted data:', { activityId, projectName, entityIds })\n\n // Check if this activity is relevant to the current cache\n const queryEntityIds = Array.isArray(queryArg.entityIds)\n ? queryArg.entityIds\n : [queryArg.entityIds]\n\n const isRelevant = queryEntityIds.some((qId) => entityIds.includes(qId))\n console.log('[Activity RT] Relevance check:', {\n queryEntityIds,\n entityIds,\n isRelevant,\n hasQueryEntityIds: queryEntityIds.length > 0,\n })\n\n if (!isRelevant && queryEntityIds.length > 0) {\n console.log('[Activity RT] Activity not relevant to this cache, skipping')\n return\n }\n\n const activityType = message.summary?.activity_type\n if (!activityType) {\n console.warn('[Activity RT] Activity message missing activity_type', message)\n return\n }\n\n console.log('[Activity RT] Activity type:', activityType)\n\n // Handle deletion\n if (topic === 'activity.deleted') {\n console.log('[Activity RT] Handling deletion for activity:', activityId)\n updateCachedData((draft) => {\n if (!draft || !draft.pages) {\n console.warn('[Activity RT] No draft or pages found for deletion')\n return\n }\n\n let deleted = false\n for (const page of draft.pages) {\n const index = page.activities?.findIndex(\n (activity) => activity.activityId === activityId,\n )\n if (index !== -1) {\n console.log('[Activity RT] Deleting activity at index:', index)\n page.activities.splice(index, 1)\n deleted = true\n }\n }\n\n if (deleted) {\n console.log('[Activity RT] Activity deleted successfully')\n } else {\n console.log('[Activity RT] Activity not found in cache for deletion')\n }\n })\n return\n }\n\n // Handle creation and updates\n console.log('[Activity RT] Fetching activity data from server')\n try {\n // Fetch the updated activity data using the enhanced endpoint\n // The GetActivitiesById endpoint is enhanced to return ActivitiesResult via transformResponse\n const result = await dispatch(\n gqlApi.endpoints.GetActivitiesById.initiate(\n {\n projectName,\n activityIds: [activityId],\n entityIds,\n },\n {\n forceRefetch: true, // Always fetch fresh data\n },\n ),\n )\n\n console.log('[Activity RT] Fetch result:', result)\n\n // Check if we have an error\n if ('error' in result && result.error) {\n console.error('[Activity RT] Error fetching activity:', result.error)\n throw new Error('Failed to fetch activity')\n }\n\n // The transformResponse in enhanceActivitiesApi converts GetActivitiesByIdQuery to ActivitiesResult\n // TypeScript doesn't see this transformation, so we cast through unknown\n const unknownData: unknown = result.data\n const res = unknownData as ActivitiesResult\n const newActivities = res?.activities || []\n console.log('[Activity RT] Fetched activities:', {\n count: newActivities.length,\n activities: newActivities,\n })\n\n if (newActivities.length === 0) {\n console.warn('[Activity RT] No activities found for activity_id', activityId)\n return\n }\n\n const newActivity: FeedActivity = newActivities[0]\n console.log('[Activity RT] New activity data:', newActivity)\n\n // Determine activity types to check against\n const activityTypes = [activityType]\n if (activityType === 'comment') {\n const body = newActivity?.body\n const hasChecklist = bodyHasChecklist(body || '')\n console.log('[Activity RT] Comment checklist check:', { hasChecklist, body })\n if (hasChecklist) {\n activityTypes.push('checklist')\n }\n }\n\n console.log('[Activity RT] Activity types for filtering:', activityTypes)\n\n // Check if this activity type is relevant to the query\n const queryActivityTypes = queryArg.activityTypes\n const queryActivityTypesArray = Array.isArray(queryActivityTypes)\n ? queryActivityTypes\n : queryActivityTypes\n ? [queryActivityTypes]\n : []\n const isActivityTypeRelevant =\n queryActivityTypesArray.length === 0 ||\n queryActivityTypesArray.some((type: string) => activityTypes.includes(type))\n\n console.log('[Activity RT] Activity type relevance check:', {\n queryActivityTypes: queryActivityTypesArray,\n activityTypes,\n isActivityTypeRelevant,\n })\n\n if (!isActivityTypeRelevant) {\n console.log('[Activity RT] Activity type not relevant to this cache, skipping')\n return\n }\n\n // Update the cache\n console.log('[Activity RT] Updating cache')\n updateCachedData((draft) => {\n if (!draft || !draft.pages) {\n console.warn('[Activity RT] No draft or pages found for update')\n return\n }\n\n console.log('[Activity RT] Current cache state:', {\n pageCount: draft.pages.length,\n firstPageActivityCount: draft.pages[0]?.activities?.length,\n })\n\n // Check if activity already exists in any page\n let existingActivityFound = false\n for (const page of draft.pages) {\n const index = page.activities?.findIndex(\n (activity) => activity.activityId === activityId,\n )\n if (index !== -1) {\n // Update existing activity\n console.log('[Activity RT] Updating existing activity at index:', index)\n page.activities[index] = newActivity\n existingActivityFound = true\n break\n }\n }\n\n // If it's a new activity (topic is 'activity.created'), add it to the first page\n if (!existingActivityFound && topic === 'activity.created') {\n console.log('[Activity RT] Adding new activity to first page')\n if (draft.pages.length > 0 && draft.pages[0].activities) {\n // Add to the beginning of the first page (most recent activities first)\n // Since we're using reverse chronological order (last: N), prepend to the beginning\n draft.pages[0].activities.unshift(newActivity)\n console.log(\n '[Activity RT] Activity added. New count:',\n draft.pages[0].activities.length,\n )\n } else {\n console.warn('[Activity RT] Cannot add activity: no pages or activities array')\n }\n } else if (!existingActivityFound) {\n console.log('[Activity RT] Activity not found and topic is not creation:', topic)\n } else {\n console.log('[Activity RT] Activity updated successfully')\n }\n })\n\n console.log('[Activity RT] Cache update complete')\n } catch (error) {\n console.error('[Activity RT] Error fetching activity data for real-time update:', error)\n\n // Invalidate the cache for these entities to trigger a refetch\n console.log('[Activity RT] Invalidating cache tags for entities:', entityIds)\n dispatch(\n gqlApi.util.invalidateTags(\n entityIds.map((entityId) => ({ type: 'entityActivities', id: entityId })),\n ),\n )\n }\n }\n\n // Subscribe to activity topic\n token = PubSub.subscribe(['activity'], handlePubSub)\n console.log('[Activity RT] Subscribed to activity topic with token:', token)\n } catch (error) {\n console.error('[Activity RT] Error in activity real-time handler setup:', error)\n // no-op in case `cacheEntryRemoved` resolves before `cacheDataLoaded`\n }\n\n // Wait for cache entry to be removed\n await cacheEntryRemoved\n console.log('[Activity RT] Cache entry removed, cleaning up')\n\n // Cleanup: unsubscribe from PubSub\n if (token) {\n console.log('[Activity RT] Unsubscribing from activity topic')\n PubSub.unsubscribe(token)\n }\n}\n"],"names":["bodyHasChecklist","body","handleActivityRealtimeUpdates","queryArg","updateCachedData","cacheDataLoaded","cacheEntryRemoved","dispatch","getCacheEntry","token","handlePubSub","topic","message","activityId","_a","projectName","entityIds","_b","reference","queryEntityIds","isRelevant","qId","activityType","_c","draft","deleted","page","index","activity","result","gqlApi","res","newActivities","newActivity","activityTypes","hasChecklist","queryActivityTypes","queryActivityTypesArray","isActivityTypeRelevant","type","existingActivityFound","error","entityId","PubSub"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- "use strict";const s=require("../../../../../_virtual/jsx-runtime.cjs.js"),x=require("styled-components"),y=require("../../../containers/ProjectTreeTable/widgets/TextWidget.cjs.js"),S=require("../../../containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js"),W=require("../../../containers/ProjectTreeTable/widgets/DateWidget.cjs.js"),b=require("../../../containers/ProjectTreeTable/widgets/EnumWidget.cjs.js");require("react");require("../../../context/RemoteModulesContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");const w=require("../../../hooks/useScopedStatuses.cjs.js");require("react-toastify");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/activities/getCategories.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/users/guests.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("react-redux");require("custom-protocol-check");require("lodash");const E=x.div`
1
+ "use strict";const s=require("../../../../../_virtual/jsx-runtime.cjs.js"),x=require("styled-components"),y=require("../../../containers/ProjectTreeTable/widgets/TextWidget.cjs.js"),S=require("../../../containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js"),W=require("../../../containers/ProjectTreeTable/widgets/DateWidget.cjs.js"),b=require("../../../containers/ProjectTreeTable/widgets/EnumWidget.cjs.js");require("react");require("../../../context/RemoteModulesContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");const w=require("../../../hooks/useScopedStatuses.cjs.js");require("react-toastify");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/activities/getCategories.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/users/guests.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("react-redux");require("custom-protocol-check");require("lodash");const E=x.div`
2
2
  width: 100%;
3
3
  overflow: hidden;
4
4
  text-overflow: ellipsis;
@@ -1 +1 @@
1
- {"version":3,"file":"RenderFieldWidget.cjs.js","sources":["../../../../../../src/components/DetailsPanelAttributes/components/RenderFieldWidget.tsx"],"sourcesContent":["import { FC } from 'react'\nimport styled from 'styled-components'\nimport type { CellValue } from '@shared/containers/ProjectTreeTable/widgets/CellWidget'\nimport { TextWidget } from '@shared/containers/ProjectTreeTable/widgets/TextWidget'\nimport { BooleanWidget } from '@shared/containers/ProjectTreeTable/widgets/BooleanWidget'\nimport { DateWidget } from '@shared/containers/ProjectTreeTable/widgets/DateWidget'\nimport { EnumWidget } from '@shared/containers/ProjectTreeTable/widgets/EnumWidget'\nimport { useScopedStatuses } from '@shared/hooks'\n// Import AttributeField as a type to avoid runtime circular dependency with DetailsPanelAttributesEditor\nimport type { AttributeField } from '../DetailsPanelAttributesEditor'\nimport type { DetailsPanelEntityData } from '@shared/api'\n\nconst FieldValueText = styled.div`\n width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n text-align: right;\n\n input {\n text-align: left;\n }\n`\n\nconst StyledEnumWidget = styled(EnumWidget)`\n .enum,\n .edit-trigger {\n &:hover {\n background-color: unset;\n }\n }\n &:hover {\n background-color: unset;\n }\n`\n\ninterface RenderFieldWidgetProps {\n field: AttributeField\n value: any\n isEditing: boolean\n isReadOnly: boolean\n isMixed: boolean\n onChange: (fieldName: string, value: CellValue | CellValue[]) => void\n onCancelEdit: () => void\n entities?: DetailsPanelEntityData[]\n entityType?: string\n}\n\nconst RenderFieldWidget: FC<RenderFieldWidgetProps> = ({\n field,\n value,\n isEditing,\n isReadOnly,\n isMixed,\n onChange,\n onCancelEdit,\n entities = [],\n entityType = 'task',\n}) => {\n const { type } = field.data\n const widgetCommonProps = {\n isEditing: isEditing && !isReadOnly,\n isInherited: false,\n onChange: (newValue: CellValue | CellValue[]) => onChange(field.name, newValue),\n }\n\n // Format the value for display\n let displayValue = value === null || value === undefined ? '' : value\n const labelValue = field.data.title || field.name\n\n // Handle different field types\n switch (true) {\n case type === 'boolean':\n return (\n <BooleanWidget\n value={Boolean(displayValue)}\n {...widgetCommonProps}\n style={{ margin: 0 }}\n isReadOnly={isReadOnly}\n />\n )\n\n case type === 'datetime':\n return (\n <DateWidget\n value={displayValue}\n {...widgetCommonProps}\n isEditing\n onCancelEdit={onCancelEdit}\n style={{ width: 'fit-content' }}\n autoFocus={false}\n />\n )\n\n case !!field.data.enum: {\n const isListType = type.includes('list')\n let valueArray = []\n\n if (isListType) {\n valueArray = Array.isArray(displayValue) ? displayValue : []\n } else if (isMixed) {\n valueArray = []\n } else {\n valueArray = [displayValue]\n }\n\n // Use scoped statuses if the field name is 'status'\n let enumOptions = field.data.enum || []\n if (field.name === 'status' && entities.length > 0) {\n const scopedStatuses = useScopedStatuses(\n entities.map((entity) => entity.projectName),\n [entityType],\n )\n if (scopedStatuses && scopedStatuses.length > 0) {\n enumOptions = scopedStatuses.map((status) => ({\n value: status.name,\n label: status.name,\n icon: status.icon,\n color: status.color,\n }))\n }\n }\n\n if (field.allowNone && !!valueArray.length && !isListType) {\n // Check if current field has a value (for single value fields)\n const hasCurrentValue = displayValue && displayValue !== ''\n if (hasCurrentValue) {\n enumOptions = [\n { value: '', label: `No ${field.data.title || field.name}` },\n ...enumOptions,\n ]\n }\n }\n\n return (\n <StyledEnumWidget\n value={valueArray}\n options={enumOptions}\n type={type}\n pt={{\n template: {\n style: { height: 32 },\n className: 'enum',\n },\n }}\n placeholder={isMixed ? `Mixed ${labelValue}` : `Select ${labelValue}...`}\n onCancelEdit={onCancelEdit}\n align=\"right\"\n isReadOnly={isReadOnly}\n enableCustomValues={field.enableCustomValues ?? false}\n search={field.enableSearch ?? false}\n sortBySelected={!enumOptions}\n {...widgetCommonProps}\n />\n )\n }\n\n case type === 'string' || type === 'integer' || type === 'float':\n default:\n return (\n <FieldValueText>\n <TextWidget\n value={displayValue.toString()}\n onCancelEdit={onCancelEdit}\n type={type as 'string' | 'integer' | 'float'}\n {...widgetCommonProps}\n />\n </FieldValueText>\n )\n }\n}\n\nexport default RenderFieldWidget\n"],"names":["FieldValueText","styled","StyledEnumWidget","EnumWidget","RenderFieldWidget","field","value","isEditing","isReadOnly","isMixed","onChange","onCancelEdit","entities","entityType","type","widgetCommonProps","newValue","displayValue","labelValue","jsx","BooleanWidget","DateWidget","isListType","valueArray","enumOptions","scopedStatuses","useScopedStatuses","entity","status","TextWidget"],"mappings":"oqLAYA,MAAMA,EAAiBC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYxBC,EAAmBD,EAAOE,YAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAwBpCC,EAAgD,CAAC,CACrD,MAAAC,EACA,MAAAC,EACA,UAAAC,EACA,WAAAC,EACA,QAAAC,EACA,SAAAC,EACA,aAAAC,EACA,SAAAC,EAAW,CAAC,EACZ,WAAAC,EAAa,MACf,IAAM,CACE,KAAA,CAAE,KAAAC,GAAST,EAAM,KACjBU,EAAoB,CACxB,UAAWR,GAAa,CAACC,EACzB,YAAa,GACb,SAAWQ,GAAsCN,EAASL,EAAM,KAAMW,CAAQ,CAChF,EAGA,IAAIC,EAAeX,GAAwC,GAC3D,MAAMY,EAAab,EAAM,KAAK,OAASA,EAAM,KAG7C,OAAQ,GAAM,CACZ,KAAKS,IAAS,UAEV,OAAAK,EAAA,kBAAA,IAACC,EAAA,cAAA,CACC,MAAO,EAAQH,EACd,GAAGF,EACJ,MAAO,CAAE,OAAQ,CAAE,EACnB,WAAAP,CAAA,CACF,EAGJ,KAAKM,IAAS,WAEV,OAAAK,EAAA,kBAAA,IAACE,EAAA,WAAA,CACC,MAAOJ,EACN,GAAGF,EACJ,UAAS,GACT,aAAAJ,EACA,MAAO,CAAE,MAAO,aAAc,EAC9B,UAAW,EAAA,CACb,EAGJ,IAAK,CAAC,CAACN,EAAM,KAAK,KAAM,CAChB,MAAAiB,EAAaR,EAAK,SAAS,MAAM,EACvC,IAAIS,EAAa,CAAC,EAEdD,EACFC,EAAa,MAAM,QAAQN,CAAY,EAAIA,EAAe,CAAC,EAClDR,EACTc,EAAa,CAAC,EAEdA,EAAa,CAACN,CAAY,EAI5B,IAAIO,EAAcnB,EAAM,KAAK,MAAQ,CAAC,EACtC,GAAIA,EAAM,OAAS,UAAYO,EAAS,OAAS,EAAG,CAClD,MAAMa,EAAiBC,EAAA,kBACrBd,EAAS,IAAKe,GAAWA,EAAO,WAAW,EAC3C,CAACd,CAAU,CACb,EACIY,GAAkBA,EAAe,OAAS,IAC9BD,EAAAC,EAAe,IAAKG,IAAY,CAC5C,MAAOA,EAAO,KACd,MAAOA,EAAO,KACd,KAAMA,EAAO,KACb,MAAOA,EAAO,KAAA,EACd,EACJ,CAGF,OAAIvB,EAAM,WAAekB,EAAW,QAAU,CAACD,GAErBL,GAAgBA,IAAiB,KAEzCO,EAAA,CACZ,CAAE,MAAO,GAAI,MAAO,MAAMnB,EAAM,KAAK,OAASA,EAAM,IAAI,EAAG,EAC3D,GAAGmB,CACL,GAKFL,EAAA,kBAAA,IAACjB,EAAA,CACC,MAAOqB,EACP,QAASC,EACT,KAAAV,EACA,GAAI,CACF,SAAU,CACR,MAAO,CAAE,OAAQ,EAAG,EACpB,UAAW,MAAA,CAEf,EACA,YAAaL,EAAU,SAASS,CAAU,GAAK,UAAUA,CAAU,MACnE,aAAAP,EACA,MAAM,QACN,WAAAH,EACA,mBAAoBH,EAAM,oBAAsB,GAChD,OAAQA,EAAM,cAAgB,GAC9B,eAAgB,CAACmB,EAChB,GAAGT,CAAA,CACN,CAAA,CAIJ,KAAKD,IAAS,UAAYA,IAAS,WAAaA,IAAS,SACzD,QACE,+BACGd,EACC,CAAA,SAAAmB,EAAA,kBAAA,IAACU,EAAA,WAAA,CACC,MAAOZ,EAAa,SAAS,EAC7B,aAAAN,EACA,KAAAG,EACC,GAAGC,CAAA,CAAA,EAER,CAAA,CAGR"}
1
+ {"version":3,"file":"RenderFieldWidget.cjs.js","sources":["../../../../../../src/components/DetailsPanelAttributes/components/RenderFieldWidget.tsx"],"sourcesContent":["import { FC } from 'react'\nimport styled from 'styled-components'\nimport type { CellValue } from '@shared/containers/ProjectTreeTable/widgets/CellWidget'\nimport { TextWidget } from '@shared/containers/ProjectTreeTable/widgets/TextWidget'\nimport { BooleanWidget } from '@shared/containers/ProjectTreeTable/widgets/BooleanWidget'\nimport { DateWidget } from '@shared/containers/ProjectTreeTable/widgets/DateWidget'\nimport { EnumWidget } from '@shared/containers/ProjectTreeTable/widgets/EnumWidget'\nimport { useScopedStatuses } from '@shared/hooks'\n// Import AttributeField as a type to avoid runtime circular dependency with DetailsPanelAttributesEditor\nimport type { AttributeField } from '../DetailsPanelAttributesEditor'\nimport type { DetailsPanelEntityData } from '@shared/api'\n\nconst FieldValueText = styled.div`\n width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n text-align: right;\n\n input {\n text-align: left;\n }\n`\n\nconst StyledEnumWidget = styled(EnumWidget)`\n .enum,\n .edit-trigger {\n &:hover {\n background-color: unset;\n }\n }\n &:hover {\n background-color: unset;\n }\n`\n\ninterface RenderFieldWidgetProps {\n field: AttributeField\n value: any\n isEditing: boolean\n isReadOnly: boolean\n isMixed: boolean\n onChange: (fieldName: string, value: CellValue | CellValue[]) => void\n onCancelEdit: () => void\n entities?: DetailsPanelEntityData[]\n entityType?: string\n}\n\nconst RenderFieldWidget: FC<RenderFieldWidgetProps> = ({\n field,\n value,\n isEditing,\n isReadOnly,\n isMixed,\n onChange,\n onCancelEdit,\n entities = [],\n entityType = 'task',\n}) => {\n const { type } = field.data\n const widgetCommonProps = {\n isEditing: isEditing && !isReadOnly,\n isInherited: false,\n onChange: (newValue: CellValue | CellValue[]) => onChange(field.name, newValue),\n }\n\n // Format the value for display\n let displayValue = value === null || value === undefined ? '' : value\n const labelValue = field.data.title || field.name\n\n // Handle different field types\n switch (true) {\n case type === 'boolean':\n return (\n <BooleanWidget\n value={Boolean(displayValue)}\n {...widgetCommonProps}\n style={{ margin: 0 }}\n isReadOnly={isReadOnly}\n />\n )\n\n case type === 'datetime':\n return (\n <DateWidget\n value={displayValue}\n {...widgetCommonProps}\n isEditing\n onCancelEdit={onCancelEdit}\n style={{ width: 'fit-content' }}\n autoFocus={false}\n />\n )\n\n case !!field.data.enum: {\n const isListType = type.includes('list')\n let valueArray = []\n\n if (isListType) {\n valueArray = Array.isArray(displayValue) ? displayValue : []\n } else if (isMixed) {\n valueArray = []\n } else {\n valueArray = [displayValue]\n }\n\n // Use scoped statuses if the field name is 'status'\n let enumOptions = field.data.enum || []\n if (field.name === 'status' && entities.length > 0) {\n const scopedStatuses = useScopedStatuses(\n entities.map((entity) => entity.projectName),\n [entityType],\n )\n if (scopedStatuses && scopedStatuses.length > 0) {\n enumOptions = scopedStatuses.map((status) => ({\n value: status.name,\n label: status.name,\n icon: status.icon,\n color: status.color,\n }))\n }\n }\n\n if (field.allowNone && !!valueArray.length && !isListType) {\n // Check if current field has a value (for single value fields)\n const hasCurrentValue = displayValue && displayValue !== ''\n if (hasCurrentValue) {\n enumOptions = [\n { value: '', label: `No ${field.data.title || field.name}` },\n ...enumOptions,\n ]\n }\n }\n\n return (\n <StyledEnumWidget\n value={valueArray}\n options={enumOptions}\n type={type}\n pt={{\n template: {\n style: { height: 32 },\n className: 'enum',\n },\n }}\n placeholder={isMixed ? `Mixed ${labelValue}` : `Select ${labelValue}...`}\n onCancelEdit={onCancelEdit}\n align=\"right\"\n isReadOnly={isReadOnly}\n enableCustomValues={field.enableCustomValues ?? false}\n search={field.enableSearch ?? false}\n sortBySelected={!enumOptions}\n {...widgetCommonProps}\n />\n )\n }\n\n case type === 'string' || type === 'integer' || type === 'float':\n default:\n return (\n <FieldValueText>\n <TextWidget\n value={displayValue.toString()}\n onCancelEdit={onCancelEdit}\n type={type as 'string' | 'integer' | 'float'}\n {...widgetCommonProps}\n />\n </FieldValueText>\n )\n }\n}\n\nexport default RenderFieldWidget\n"],"names":["FieldValueText","styled","StyledEnumWidget","EnumWidget","RenderFieldWidget","field","value","isEditing","isReadOnly","isMixed","onChange","onCancelEdit","entities","entityType","type","widgetCommonProps","newValue","displayValue","labelValue","jsx","BooleanWidget","DateWidget","isListType","valueArray","enumOptions","scopedStatuses","useScopedStatuses","entity","status","TextWidget"],"mappings":"wtLAYA,MAAMA,EAAiBC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYxBC,EAAmBD,EAAOE,YAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAwBpCC,EAAgD,CAAC,CACrD,MAAAC,EACA,MAAAC,EACA,UAAAC,EACA,WAAAC,EACA,QAAAC,EACA,SAAAC,EACA,aAAAC,EACA,SAAAC,EAAW,CAAC,EACZ,WAAAC,EAAa,MACf,IAAM,CACE,KAAA,CAAE,KAAAC,GAAST,EAAM,KACjBU,EAAoB,CACxB,UAAWR,GAAa,CAACC,EACzB,YAAa,GACb,SAAWQ,GAAsCN,EAASL,EAAM,KAAMW,CAAQ,CAChF,EAGA,IAAIC,EAAeX,GAAwC,GAC3D,MAAMY,EAAab,EAAM,KAAK,OAASA,EAAM,KAG7C,OAAQ,GAAM,CACZ,KAAKS,IAAS,UAEV,OAAAK,EAAA,kBAAA,IAACC,EAAA,cAAA,CACC,MAAO,EAAQH,EACd,GAAGF,EACJ,MAAO,CAAE,OAAQ,CAAE,EACnB,WAAAP,CAAA,CACF,EAGJ,KAAKM,IAAS,WAEV,OAAAK,EAAA,kBAAA,IAACE,EAAA,WAAA,CACC,MAAOJ,EACN,GAAGF,EACJ,UAAS,GACT,aAAAJ,EACA,MAAO,CAAE,MAAO,aAAc,EAC9B,UAAW,EAAA,CACb,EAGJ,IAAK,CAAC,CAACN,EAAM,KAAK,KAAM,CAChB,MAAAiB,EAAaR,EAAK,SAAS,MAAM,EACvC,IAAIS,EAAa,CAAC,EAEdD,EACFC,EAAa,MAAM,QAAQN,CAAY,EAAIA,EAAe,CAAC,EAClDR,EACTc,EAAa,CAAC,EAEdA,EAAa,CAACN,CAAY,EAI5B,IAAIO,EAAcnB,EAAM,KAAK,MAAQ,CAAC,EACtC,GAAIA,EAAM,OAAS,UAAYO,EAAS,OAAS,EAAG,CAClD,MAAMa,EAAiBC,EAAA,kBACrBd,EAAS,IAAKe,GAAWA,EAAO,WAAW,EAC3C,CAACd,CAAU,CACb,EACIY,GAAkBA,EAAe,OAAS,IAC9BD,EAAAC,EAAe,IAAKG,IAAY,CAC5C,MAAOA,EAAO,KACd,MAAOA,EAAO,KACd,KAAMA,EAAO,KACb,MAAOA,EAAO,KAAA,EACd,EACJ,CAGF,OAAIvB,EAAM,WAAekB,EAAW,QAAU,CAACD,GAErBL,GAAgBA,IAAiB,KAEzCO,EAAA,CACZ,CAAE,MAAO,GAAI,MAAO,MAAMnB,EAAM,KAAK,OAASA,EAAM,IAAI,EAAG,EAC3D,GAAGmB,CACL,GAKFL,EAAA,kBAAA,IAACjB,EAAA,CACC,MAAOqB,EACP,QAASC,EACT,KAAAV,EACA,GAAI,CACF,SAAU,CACR,MAAO,CAAE,OAAQ,EAAG,EACpB,UAAW,MAAA,CAEf,EACA,YAAaL,EAAU,SAASS,CAAU,GAAK,UAAUA,CAAU,MACnE,aAAAP,EACA,MAAM,QACN,WAAAH,EACA,mBAAoBH,EAAM,oBAAsB,GAChD,OAAQA,EAAM,cAAgB,GAC9B,eAAgB,CAACmB,EAChB,GAAGT,CAAA,CACN,CAAA,CAIJ,KAAKD,IAAS,UAAYA,IAAS,WAAaA,IAAS,SACzD,QACE,+BACGd,EACC,CAAA,SAAAmB,EAAA,kBAAA,IAACU,EAAA,WAAA,CACC,MAAOZ,EAAa,SAAS,EAC7B,aAAAN,EACA,KAAAG,EACC,GAAGC,CAAA,CAAA,EAER,CAAA,CAGR"}
@@ -102,6 +102,7 @@ import "../../../context/AddonContext.es.js";
102
102
  import "../../../context/PowerpackContext.es.js";
103
103
  import "../../../context/MoveEntityContext.es.js";
104
104
  import "../../../context/MenuContext.es.js";
105
+ import "../../../context/WebsocketContext.es.js";
105
106
  import "react-redux";
106
107
  import "custom-protocol-check";
107
108
  import "lodash";
@@ -125,7 +126,7 @@ const W = f.div`
125
126
  &:hover {
126
127
  background-color: unset;
127
128
  }
128
- `, No = ({
129
+ `, ko = ({
129
130
  field: t,
130
131
  value: l,
131
132
  isEditing: x,
@@ -223,6 +224,6 @@ const W = f.div`
223
224
  }
224
225
  };
225
226
  export {
226
- No as default
227
+ ko as default
227
228
  };
228
229
  //# sourceMappingURL=RenderFieldWidget.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RenderFieldWidget.es.js","sources":["../../../../../../src/components/DetailsPanelAttributes/components/RenderFieldWidget.tsx"],"sourcesContent":["import { FC } from 'react'\nimport styled from 'styled-components'\nimport type { CellValue } from '@shared/containers/ProjectTreeTable/widgets/CellWidget'\nimport { TextWidget } from '@shared/containers/ProjectTreeTable/widgets/TextWidget'\nimport { BooleanWidget } from '@shared/containers/ProjectTreeTable/widgets/BooleanWidget'\nimport { DateWidget } from '@shared/containers/ProjectTreeTable/widgets/DateWidget'\nimport { EnumWidget } from '@shared/containers/ProjectTreeTable/widgets/EnumWidget'\nimport { useScopedStatuses } from '@shared/hooks'\n// Import AttributeField as a type to avoid runtime circular dependency with DetailsPanelAttributesEditor\nimport type { AttributeField } from '../DetailsPanelAttributesEditor'\nimport type { DetailsPanelEntityData } from '@shared/api'\n\nconst FieldValueText = styled.div`\n width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n text-align: right;\n\n input {\n text-align: left;\n }\n`\n\nconst StyledEnumWidget = styled(EnumWidget)`\n .enum,\n .edit-trigger {\n &:hover {\n background-color: unset;\n }\n }\n &:hover {\n background-color: unset;\n }\n`\n\ninterface RenderFieldWidgetProps {\n field: AttributeField\n value: any\n isEditing: boolean\n isReadOnly: boolean\n isMixed: boolean\n onChange: (fieldName: string, value: CellValue | CellValue[]) => void\n onCancelEdit: () => void\n entities?: DetailsPanelEntityData[]\n entityType?: string\n}\n\nconst RenderFieldWidget: FC<RenderFieldWidgetProps> = ({\n field,\n value,\n isEditing,\n isReadOnly,\n isMixed,\n onChange,\n onCancelEdit,\n entities = [],\n entityType = 'task',\n}) => {\n const { type } = field.data\n const widgetCommonProps = {\n isEditing: isEditing && !isReadOnly,\n isInherited: false,\n onChange: (newValue: CellValue | CellValue[]) => onChange(field.name, newValue),\n }\n\n // Format the value for display\n let displayValue = value === null || value === undefined ? '' : value\n const labelValue = field.data.title || field.name\n\n // Handle different field types\n switch (true) {\n case type === 'boolean':\n return (\n <BooleanWidget\n value={Boolean(displayValue)}\n {...widgetCommonProps}\n style={{ margin: 0 }}\n isReadOnly={isReadOnly}\n />\n )\n\n case type === 'datetime':\n return (\n <DateWidget\n value={displayValue}\n {...widgetCommonProps}\n isEditing\n onCancelEdit={onCancelEdit}\n style={{ width: 'fit-content' }}\n autoFocus={false}\n />\n )\n\n case !!field.data.enum: {\n const isListType = type.includes('list')\n let valueArray = []\n\n if (isListType) {\n valueArray = Array.isArray(displayValue) ? displayValue : []\n } else if (isMixed) {\n valueArray = []\n } else {\n valueArray = [displayValue]\n }\n\n // Use scoped statuses if the field name is 'status'\n let enumOptions = field.data.enum || []\n if (field.name === 'status' && entities.length > 0) {\n const scopedStatuses = useScopedStatuses(\n entities.map((entity) => entity.projectName),\n [entityType],\n )\n if (scopedStatuses && scopedStatuses.length > 0) {\n enumOptions = scopedStatuses.map((status) => ({\n value: status.name,\n label: status.name,\n icon: status.icon,\n color: status.color,\n }))\n }\n }\n\n if (field.allowNone && !!valueArray.length && !isListType) {\n // Check if current field has a value (for single value fields)\n const hasCurrentValue = displayValue && displayValue !== ''\n if (hasCurrentValue) {\n enumOptions = [\n { value: '', label: `No ${field.data.title || field.name}` },\n ...enumOptions,\n ]\n }\n }\n\n return (\n <StyledEnumWidget\n value={valueArray}\n options={enumOptions}\n type={type}\n pt={{\n template: {\n style: { height: 32 },\n className: 'enum',\n },\n }}\n placeholder={isMixed ? `Mixed ${labelValue}` : `Select ${labelValue}...`}\n onCancelEdit={onCancelEdit}\n align=\"right\"\n isReadOnly={isReadOnly}\n enableCustomValues={field.enableCustomValues ?? false}\n search={field.enableSearch ?? false}\n sortBySelected={!enumOptions}\n {...widgetCommonProps}\n />\n )\n }\n\n case type === 'string' || type === 'integer' || type === 'float':\n default:\n return (\n <FieldValueText>\n <TextWidget\n value={displayValue.toString()}\n onCancelEdit={onCancelEdit}\n type={type as 'string' | 'integer' | 'float'}\n {...widgetCommonProps}\n />\n </FieldValueText>\n )\n }\n}\n\nexport default RenderFieldWidget\n"],"names":["FieldValueText","styled","StyledEnumWidget","EnumWidget","RenderFieldWidget","field","value","isEditing","isReadOnly","isMixed","onChange","onCancelEdit","entities","entityType","type","widgetCommonProps","newValue","displayValue","labelValue","jsx","BooleanWidget","DateWidget","isListType","valueArray","enumOptions","scopedStatuses","useScopedStatuses","entity","status","TextWidget"],"mappings":"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"}
1
+ {"version":3,"file":"RenderFieldWidget.es.js","sources":["../../../../../../src/components/DetailsPanelAttributes/components/RenderFieldWidget.tsx"],"sourcesContent":["import { FC } from 'react'\nimport styled from 'styled-components'\nimport type { CellValue } from '@shared/containers/ProjectTreeTable/widgets/CellWidget'\nimport { TextWidget } from '@shared/containers/ProjectTreeTable/widgets/TextWidget'\nimport { BooleanWidget } from '@shared/containers/ProjectTreeTable/widgets/BooleanWidget'\nimport { DateWidget } from '@shared/containers/ProjectTreeTable/widgets/DateWidget'\nimport { EnumWidget } from '@shared/containers/ProjectTreeTable/widgets/EnumWidget'\nimport { useScopedStatuses } from '@shared/hooks'\n// Import AttributeField as a type to avoid runtime circular dependency with DetailsPanelAttributesEditor\nimport type { AttributeField } from '../DetailsPanelAttributesEditor'\nimport type { DetailsPanelEntityData } from '@shared/api'\n\nconst FieldValueText = styled.div`\n width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n text-align: right;\n\n input {\n text-align: left;\n }\n`\n\nconst StyledEnumWidget = styled(EnumWidget)`\n .enum,\n .edit-trigger {\n &:hover {\n background-color: unset;\n }\n }\n &:hover {\n background-color: unset;\n }\n`\n\ninterface RenderFieldWidgetProps {\n field: AttributeField\n value: any\n isEditing: boolean\n isReadOnly: boolean\n isMixed: boolean\n onChange: (fieldName: string, value: CellValue | CellValue[]) => void\n onCancelEdit: () => void\n entities?: DetailsPanelEntityData[]\n entityType?: string\n}\n\nconst RenderFieldWidget: FC<RenderFieldWidgetProps> = ({\n field,\n value,\n isEditing,\n isReadOnly,\n isMixed,\n onChange,\n onCancelEdit,\n entities = [],\n entityType = 'task',\n}) => {\n const { type } = field.data\n const widgetCommonProps = {\n isEditing: isEditing && !isReadOnly,\n isInherited: false,\n onChange: (newValue: CellValue | CellValue[]) => onChange(field.name, newValue),\n }\n\n // Format the value for display\n let displayValue = value === null || value === undefined ? '' : value\n const labelValue = field.data.title || field.name\n\n // Handle different field types\n switch (true) {\n case type === 'boolean':\n return (\n <BooleanWidget\n value={Boolean(displayValue)}\n {...widgetCommonProps}\n style={{ margin: 0 }}\n isReadOnly={isReadOnly}\n />\n )\n\n case type === 'datetime':\n return (\n <DateWidget\n value={displayValue}\n {...widgetCommonProps}\n isEditing\n onCancelEdit={onCancelEdit}\n style={{ width: 'fit-content' }}\n autoFocus={false}\n />\n )\n\n case !!field.data.enum: {\n const isListType = type.includes('list')\n let valueArray = []\n\n if (isListType) {\n valueArray = Array.isArray(displayValue) ? displayValue : []\n } else if (isMixed) {\n valueArray = []\n } else {\n valueArray = [displayValue]\n }\n\n // Use scoped statuses if the field name is 'status'\n let enumOptions = field.data.enum || []\n if (field.name === 'status' && entities.length > 0) {\n const scopedStatuses = useScopedStatuses(\n entities.map((entity) => entity.projectName),\n [entityType],\n )\n if (scopedStatuses && scopedStatuses.length > 0) {\n enumOptions = scopedStatuses.map((status) => ({\n value: status.name,\n label: status.name,\n icon: status.icon,\n color: status.color,\n }))\n }\n }\n\n if (field.allowNone && !!valueArray.length && !isListType) {\n // Check if current field has a value (for single value fields)\n const hasCurrentValue = displayValue && displayValue !== ''\n if (hasCurrentValue) {\n enumOptions = [\n { value: '', label: `No ${field.data.title || field.name}` },\n ...enumOptions,\n ]\n }\n }\n\n return (\n <StyledEnumWidget\n value={valueArray}\n options={enumOptions}\n type={type}\n pt={{\n template: {\n style: { height: 32 },\n className: 'enum',\n },\n }}\n placeholder={isMixed ? `Mixed ${labelValue}` : `Select ${labelValue}...`}\n onCancelEdit={onCancelEdit}\n align=\"right\"\n isReadOnly={isReadOnly}\n enableCustomValues={field.enableCustomValues ?? false}\n search={field.enableSearch ?? false}\n sortBySelected={!enumOptions}\n {...widgetCommonProps}\n />\n )\n }\n\n case type === 'string' || type === 'integer' || type === 'float':\n default:\n return (\n <FieldValueText>\n <TextWidget\n value={displayValue.toString()}\n onCancelEdit={onCancelEdit}\n type={type as 'string' | 'integer' | 'float'}\n {...widgetCommonProps}\n />\n </FieldValueText>\n )\n }\n}\n\nexport default RenderFieldWidget\n"],"names":["FieldValueText","styled","StyledEnumWidget","EnumWidget","RenderFieldWidget","field","value","isEditing","isReadOnly","isMixed","onChange","onCancelEdit","entities","entityType","type","widgetCommonProps","newValue","displayValue","labelValue","jsx","BooleanWidget","DateWidget","isListType","valueArray","enumOptions","scopedStatuses","useScopedStatuses","entity","status","TextWidget"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../../../../_virtual/jsx-runtime.cjs.js"),i=require("styled-components"),d=require("clsx"),f=i.div`
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../../../../_virtual/jsx-runtime.cjs.js"),i=require("styled-components"),t=require("clsx"),g=i.div`
2
2
  border: 1px solid var(--md-sys-color-outline-variant);
3
3
  border-radius: 8px;
4
4
  min-height: auto;
@@ -10,14 +10,14 @@
10
10
  cursor: pointer;
11
11
  background-color: var(--md-sys-color-surface-container-low-hover);
12
12
  }
13
- `,y=i.div`
13
+ `,p=i.div`
14
14
  display: flex;
15
15
  align-items: center;
16
16
  justify-content: space-between;
17
17
  padding: 10px;
18
18
  min-height: 40px;
19
19
  color: var(--md-sys-color-outline);
20
- `,v=i.div`
20
+ `,f=i.div`
21
21
  flex: 1;
22
22
  display: flex;
23
23
  flex-direction: column;
@@ -43,5 +43,5 @@
43
43
  &:not(.with-header) {
44
44
  border-radius: 8px;
45
45
  }
46
- `,b=({title:l,children:c,headerContent:h,showHeader:n=!1,autoHeight:x=!1,enableHover:u=!1,withPadding:p=!1,onClick:m,className:g,...e})=>{var o,r,s,a;return t.jsxRuntimeExports.jsxs(f,{className:d(g,{"enable-hover":u}),onClick:m,...e,children:[n?t.jsxRuntimeExports.jsxs(y,{...(o=e.pt)==null?void 0:o.header,children:[t.jsxRuntimeExports.jsx("span",{children:l}),h]}):null,t.jsxRuntimeExports.jsx(v,{...(r=e.pt)==null?void 0:r.content,className:d((a=(s=e.pt)==null?void 0:s.content)==null?void 0:a.className,{"with-padding":p,"auto-height":x,"with-header":n}),children:c})]})};exports.BorderedSection=b;
46
+ `,y=({title:s,children:a,headerContent:d,showHeader:r=!1,autoHeight:l=!1,enableHover:c=!1,withPadding:h=!1,onClick:x,className:u,pt:e,...m})=>{var n;return o.jsxRuntimeExports.jsxs(g,{className:t(u,{"enable-hover":c}),onClick:x,...m,children:[r?o.jsxRuntimeExports.jsxs(p,{...e==null?void 0:e.header,children:[o.jsxRuntimeExports.jsx("span",{children:s}),d]}):null,o.jsxRuntimeExports.jsx(f,{...e==null?void 0:e.content,className:t((n=e==null?void 0:e.content)==null?void 0:n.className,{"with-padding":h,"auto-height":l,"with-header":r}),children:a})]})};exports.BorderedSection=y;
47
47
  //# sourceMappingURL=BorderedSection.cjs.js.map