@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,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react"),M=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");const S=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");const E=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("../../ContextMenu/ContextMenuContext.cjs.js");require("../../../../../_virtual/jsx-runtime.cjs.js");require("@ynput/ayon-react-components");;/* empty css */require("clsx");require("react-dom");require("../../Feed/context/FeedContext.cjs.js");require("../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("lodash");require("uuid");require("../../../util/pubsub.cjs.js");require("../../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../../Feed/components/CommentInput/CommentInput.cjs.js");require("../../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/PowerpackContext.cjs.js");const $=require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("react-router-dom");require("../../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../../Feed/components/ActivityDate.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../../Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../../Feed/Feed.styled.cjs.js");require("date-fns");require("../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../ProjectTreeTable.cjs.js");require("../context/CellEditingContext.cjs.js");require("@tanstack/react-table");require("../widgets/CollapsedWidget.cjs.js");require("../widgets/DateWidget.cjs.js");require("../widgets/EnumWidget.cjs.js");require("../widgets/TextWidget.cjs.js");require("../widgets/BooleanWidget.cjs.js");require("../widgets/CellWidget.cjs.js");require("../widgets/EntityNameWidget.cjs.js");require("../widgets/GroupHeaderWidget.cjs.js");require("../widgets/ThumbnailWidget.cjs.js");require("../../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("axios");require("../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../../components/Thumbnail/StackedThumbnails.cjs.js");require("../../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("../../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../../components/EntityPath/EntityPath.styled.cjs.js");require("../../../components/EntityPath/SegmentProvider.cjs.js");require("../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("../../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../../components/Watchers/Watchers.cjs.js");require("../../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../../components/Powerpack/PowerpackButton.cjs.js");require("../../../components/Powerpack/PricingLink.cjs.js");require("../../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../../components/Powerpack/CTAButton.cjs.js");require("../../../components/Powerpack/RequiredPowerpackVersion.cjs.js");require("../../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../../components/AttributeEditor/components/MinMaxField.cjs.js");require("../../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../../components/SearchFilter/filterDates.cjs.js");require("../../../components/Badge/Badge.cjs.js");require("../../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../../components/Feedback/FeedbackContext.cjs.js");require("../../../components/Feedback/SupportBubble.cjs.js");require("../../../components/Chips/Chips.cjs.js");require("../../../components/LinksManager/LinksManager.styled.cjs.js");require("../../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../../components/StyledLink/StyledLink.cjs.js");require("../../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../../components/AccessUser/AccessUser.cjs.js");require("../../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("../../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../../components/LinksManager/CellEditingDialog.cjs.js");require("../context/DetailsPanelEntityContext.cjs.js");require("../context/SelectedRowsContext.cjs.js");require("../ProjectTreeTable.styled.cjs.js");require("../components/SelectionCell.cjs.js");require("../components/RowSelectionHeader.cjs.js");require("../context/SelectionCellsContext.cjs.js");require("../widgets/LoadMoreWidget.cjs.js");require("../context/ProjectTableQueriesContext.cjs.js");const F=require("../context/ProjectTableContext.cjs.js");require("../context/ClipboardContext.cjs.js");require("../context/ColumnSettingsContext.cjs.js");require("../context/ProjectDataContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("react-redux");require("custom-protocol-check");require("../components/GroupSettingsFallback.cjs.js");require("../components/HeaderActionButton.cjs.js");require("../components/ColumnHeaderMenu.cjs.js");require("../../DetailsPanel/DetailsPanel.styled.cjs.js");require("../../DetailsPanel/FeedFilters/FeedFilters.styled.cjs.js");require("../../DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../../components/PlayableIcon/PlayableIcon.cjs.js");require("../../DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../Actions/Actions.styled.cjs.js");require("../../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../Actions/ActionIcon.cjs.js");require("../../Views/context/ViewsContext.cjs.js");require("../../Views/Views.styled.cjs.js");require("../../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../Views/ViewsMenu/ViewsMenu.cjs.js");const P=({projectName:d})=>{const{movingEntities:i,isEntityPickerOpen:C,openMoveDialog:p,closeMoveDialog:m,setEntityPickerOpen:c,clearMovingEntities:h}=$.useMoveEntityContext(),[v]=E.useUpdateOverviewEntitiesMutation(),{tableData:I,getEntityById:y}=F.useProjectTableContext(),{data:{folders:g=[]}={}}=S.useGetFolderListQuery({projectName:d||"",attrib:!0},{skip:!d}),T=l.useCallback(q=>{p(q)},[p]),b=l.useCallback(()=>{m()},[m]),k=l.useCallback(async q=>{var n,o;if(!i||q.length===0)return;const s=q[0];c(!1);try{const t=i.entities.map((u,f)=>({id:`move-${u.entityId}-${Date.now()}-${f}`,type:"update",entityType:u.entityType,entityId:u.entityId,data:u.entityType==="folder"?{parentId:s}:{folderId:s}})),e=await v({projectName:d,operationsRequestModel:{operations:t}}).unwrap(),r=((n=e==null?void 0:e.operations)==null?void 0:n.filter(u=>u.success===!1))||[];if(r.length>0){const u=r.map(f=>f.detail).join(", ");throw new Error(u||"Some move operations failed")}}catch(t){console.error("Failed to move entity:",t);let e=((o=t==null?void 0:t.data)==null?void 0:o.detail)||(t==null?void 0:t.error)||(t==null?void 0:t.message)||"Failed to move entities";if(e.includes("already exists"))if(i.entities.length>1)e="Cannot move some entities - one or more entities with the same name already exist in the target location";else if(i.entities[0].entityType==="task"){const u=e.match(/name '.*?, (.+?)' already exists/);e=`Cannot move "${u?u[1]:"this task"}" - a task with this name already exists in the target folder`}else{const u=e.match(/name '.*?, (.+?)' already exists/);e=`Cannot move "${u?u[1]:"this folder"}" - a folder with this name already exists in the target location`}M.toast.error(e)}finally{h(),c(!1)}},[i,d,v,p,m,c,h]),w=l.useCallback(async()=>{var q,s;if(i){c(!1);try{const n=i.entities.map((e,r)=>({id:`move-to-root-${e.entityId}-${Date.now()}-${r}`,type:"update",entityType:e.entityType,entityId:e.entityId,data:e.entityType==="folder"?{parentId:null}:{folderId:null}})),o=await v({projectName:d,operationsRequestModel:{operations:n}}).unwrap(),t=((q=o==null?void 0:o.operations)==null?void 0:q.filter(e=>e.success===!1))||[];if(t.length>0){const e=t.map(r=>r.detail).join(", ");throw new Error(e||"Some move operations failed")}}catch(n){console.error("Failed to move entities to root:",n);let o=((s=n==null?void 0:n.data)==null?void 0:s.detail)||(n==null?void 0:n.error)||(n==null?void 0:n.message)||"Failed to move entities to root";M.toast.error(o)}finally{h(),c(!1)}}},[i,d,v,p,m,c,h]),x=l.useCallback(()=>{if(!i)return[];const q=[];return i.entities.forEach(s=>{q.push(s.entityId)}),g.forEach(s=>{i.entities.some(o=>{const t=y(o.entityId);return t!=null&&t.name?I.filter(r=>o.entityType==="folder"?r.entityType==="folder"&&r.parentId===s.id:o.entityType==="task"?r.entityType==="task"&&r.folderId===s.id:!1).some(r=>r.name===t.name&&r.entityId!==o.entityId):!1})&&q.push(s.id)}),[...new Set(q)]},[i,g,I,y]),D=l.useCallback(q=>{if(!i)return;if(i.entities.some(e=>e.entityType==="folder"&&e.entityId===q))return"Cannot move folder to itself";if(i.entities.some(e=>e.currentParentId===q))return"Cannot move to the same location";const o=g.find(e=>e.id===q);if(o){const e=i.entities.find(r=>{const u=y(r.entityId);return u!=null&&u.name?I.filter(a=>r.entityType==="folder"?a.entityType==="folder"&&a.parentId===o.id:r.entityType==="task"?a.entityType==="task"&&a.folderId===o.id:!1).some(a=>a.name===u.name&&a.entityId!==r.entityId):!1});if(e){const r=y(e.entityId);return`Cannot move "${(r==null?void 0:r.name)||"Entity"}" - an entity with the same name already exists in this folder`}}return i.entities.some(e=>e.entityType==="folder")?"Cannot move folder to its child":"Cannot move to this location"},[i,g,I,y]),O=l.useMemo(()=>(i==null?void 0:i.entities.every(q=>q.entityType==="folder"))||!1,[i]);return{movingEntities:i,isEntityPickerOpen:C,isDialogOpen:C,openMoveDialog:T,closeMoveDialog:b,handleMoveSubmit:k,handleMoveToRoot:w,getDisabledFolderIds:x,getDisabledMessage:D,canMoveToRoot:O}};exports.useMoveEntities=P;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react"),M=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");const S=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");const E=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("../../ContextMenu/ContextMenuContext.cjs.js");require("../../../../../_virtual/jsx-runtime.cjs.js");require("@ynput/ayon-react-components");;/* empty css */require("clsx");require("react-dom");require("../../Feed/context/FeedContext.cjs.js");require("../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("lodash");require("uuid");require("../../../util/pubsub.cjs.js");require("../../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../../Feed/components/CommentInput/CommentInput.cjs.js");require("../../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/PowerpackContext.cjs.js");const $=require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("react-router-dom");require("../../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../../Feed/components/ActivityDate.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../../Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../../Feed/Feed.styled.cjs.js");require("date-fns");require("../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../ProjectTreeTable.cjs.js");require("../context/CellEditingContext.cjs.js");require("@tanstack/react-table");require("../widgets/CollapsedWidget.cjs.js");require("../widgets/DateWidget.cjs.js");require("../widgets/EnumWidget.cjs.js");require("../widgets/TextWidget.cjs.js");require("../widgets/BooleanWidget.cjs.js");require("../widgets/CellWidget.cjs.js");require("../widgets/EntityNameWidget.cjs.js");require("../widgets/GroupHeaderWidget.cjs.js");require("../widgets/ThumbnailWidget.cjs.js");require("../../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("axios");require("../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../../components/Thumbnail/StackedThumbnails.cjs.js");require("../../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("../../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../../components/EntityPath/EntityPath.styled.cjs.js");require("../../../components/EntityPath/SegmentProvider.cjs.js");require("../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("../../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../../components/Watchers/Watchers.cjs.js");require("../../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../../components/Powerpack/PowerpackButton.cjs.js");require("../../../components/Powerpack/PricingLink.cjs.js");require("../../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../../components/Powerpack/CTAButton.cjs.js");require("../../../components/Powerpack/RequiredAddonVersion.cjs.js");require("../../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../../components/AttributeEditor/components/MinMaxField.cjs.js");require("../../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../../components/SearchFilter/filterDates.cjs.js");require("../../../components/Badge/Badge.cjs.js");require("../../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../../components/Feedback/FeedbackContext.cjs.js");require("../../../components/Feedback/SupportBubble.cjs.js");require("../../../components/Chips/Chips.cjs.js");require("../../../components/LinksManager/LinksManager.styled.cjs.js");require("../../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../../components/StyledLink/StyledLink.cjs.js");require("../../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../../components/AccessUser/AccessUser.cjs.js");require("../../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("../../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../../components/LinksManager/CellEditingDialog.cjs.js");require("../context/DetailsPanelEntityContext.cjs.js");require("../context/SelectedRowsContext.cjs.js");require("../ProjectTreeTable.styled.cjs.js");require("../components/SelectionCell.cjs.js");require("../components/RowSelectionHeader.cjs.js");require("../context/SelectionCellsContext.cjs.js");require("../widgets/LoadMoreWidget.cjs.js");require("../context/ProjectTableQueriesContext.cjs.js");const F=require("../context/ProjectTableContext.cjs.js");require("../context/ClipboardContext.cjs.js");require("../context/ColumnSettingsContext.cjs.js");require("../context/ProjectDataContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("react-redux");require("custom-protocol-check");require("../components/GroupSettingsFallback.cjs.js");require("../components/HeaderActionButton.cjs.js");require("../components/ColumnHeaderMenu.cjs.js");require("../../DetailsPanel/DetailsPanel.styled.cjs.js");require("../../DetailsPanel/FeedFilters/FeedFilters.styled.cjs.js");require("../../DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../../components/PlayableIcon/PlayableIcon.cjs.js");require("../../DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../Actions/Actions.styled.cjs.js");require("../../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../Actions/ActionIcon.cjs.js");require("../../Views/context/ViewsContext.cjs.js");require("../../Views/Views.styled.cjs.js");require("../../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../Views/ViewsMenu/ViewsMenu.cjs.js");const P=({projectName:d})=>{const{movingEntities:i,isEntityPickerOpen:C,openMoveDialog:p,closeMoveDialog:m,setEntityPickerOpen:c,clearMovingEntities:h}=$.useMoveEntityContext(),[v]=E.useUpdateOverviewEntitiesMutation(),{tableData:I,getEntityById:y}=F.useProjectTableContext(),{data:{folders:g=[]}={}}=S.useGetFolderListQuery({projectName:d||"",attrib:!0},{skip:!d}),T=l.useCallback(q=>{p(q)},[p]),b=l.useCallback(()=>{m()},[m]),k=l.useCallback(async q=>{var n,o;if(!i||q.length===0)return;const s=q[0];c(!1);try{const t=i.entities.map((u,f)=>({id:`move-${u.entityId}-${Date.now()}-${f}`,type:"update",entityType:u.entityType,entityId:u.entityId,data:u.entityType==="folder"?{parentId:s}:{folderId:s}})),e=await v({projectName:d,operationsRequestModel:{operations:t}}).unwrap(),r=((n=e==null?void 0:e.operations)==null?void 0:n.filter(u=>u.success===!1))||[];if(r.length>0){const u=r.map(f=>f.detail).join(", ");throw new Error(u||"Some move operations failed")}}catch(t){console.error("Failed to move entity:",t);let e=((o=t==null?void 0:t.data)==null?void 0:o.detail)||(t==null?void 0:t.error)||(t==null?void 0:t.message)||"Failed to move entities";if(e.includes("already exists"))if(i.entities.length>1)e="Cannot move some entities - one or more entities with the same name already exist in the target location";else if(i.entities[0].entityType==="task"){const u=e.match(/name '.*?, (.+?)' already exists/);e=`Cannot move "${u?u[1]:"this task"}" - a task with this name already exists in the target folder`}else{const u=e.match(/name '.*?, (.+?)' already exists/);e=`Cannot move "${u?u[1]:"this folder"}" - a folder with this name already exists in the target location`}M.toast.error(e)}finally{h(),c(!1)}},[i,d,v,p,m,c,h]),w=l.useCallback(async()=>{var q,s;if(i){c(!1);try{const n=i.entities.map((e,r)=>({id:`move-to-root-${e.entityId}-${Date.now()}-${r}`,type:"update",entityType:e.entityType,entityId:e.entityId,data:e.entityType==="folder"?{parentId:null}:{folderId:null}})),o=await v({projectName:d,operationsRequestModel:{operations:n}}).unwrap(),t=((q=o==null?void 0:o.operations)==null?void 0:q.filter(e=>e.success===!1))||[];if(t.length>0){const e=t.map(r=>r.detail).join(", ");throw new Error(e||"Some move operations failed")}}catch(n){console.error("Failed to move entities to root:",n);let o=((s=n==null?void 0:n.data)==null?void 0:s.detail)||(n==null?void 0:n.error)||(n==null?void 0:n.message)||"Failed to move entities to root";M.toast.error(o)}finally{h(),c(!1)}}},[i,d,v,p,m,c,h]),x=l.useCallback(()=>{if(!i)return[];const q=[];return i.entities.forEach(s=>{q.push(s.entityId)}),g.forEach(s=>{i.entities.some(o=>{const t=y(o.entityId);return t!=null&&t.name?I.filter(r=>o.entityType==="folder"?r.entityType==="folder"&&r.parentId===s.id:o.entityType==="task"?r.entityType==="task"&&r.folderId===s.id:!1).some(r=>r.name===t.name&&r.entityId!==o.entityId):!1})&&q.push(s.id)}),[...new Set(q)]},[i,g,I,y]),D=l.useCallback(q=>{if(!i)return;if(i.entities.some(e=>e.entityType==="folder"&&e.entityId===q))return"Cannot move folder to itself";if(i.entities.some(e=>e.currentParentId===q))return"Cannot move to the same location";const o=g.find(e=>e.id===q);if(o){const e=i.entities.find(r=>{const u=y(r.entityId);return u!=null&&u.name?I.filter(a=>r.entityType==="folder"?a.entityType==="folder"&&a.parentId===o.id:r.entityType==="task"?a.entityType==="task"&&a.folderId===o.id:!1).some(a=>a.name===u.name&&a.entityId!==r.entityId):!1});if(e){const r=y(e.entityId);return`Cannot move "${(r==null?void 0:r.name)||"Entity"}" - an entity with the same name already exists in this folder`}}return i.entities.some(e=>e.entityType==="folder")?"Cannot move folder to its child":"Cannot move to this location"},[i,g,I,y]),O=l.useMemo(()=>(i==null?void 0:i.entities.every(q=>q.entityType==="folder"))||!1,[i]);return{movingEntities:i,isEntityPickerOpen:C,isDialogOpen:C,openMoveDialog:T,closeMoveDialog:b,handleMoveSubmit:k,handleMoveToRoot:w,getDisabledFolderIds:x,getDisabledMessage:D,canMoveToRoot:O}};exports.useMoveEntities=P;
2
2
  //# sourceMappingURL=useMoveEntities.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMoveEntities.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useMoveEntities.ts"],"sourcesContent":["import { useCallback, useMemo } from 'react'\nimport { toast } from 'react-toastify'\nimport {\n OperationModel,\n OperationResponseModel,\n useUpdateOverviewEntitiesMutation,\n useGetFolderListQuery,\n} from '@shared/api'\nimport { useProjectTableContext } from '@shared/containers'\nimport {\n useMoveEntityContext,\n EntityMoveData,\n MultiEntityMoveData,\n} from '@shared/context/MoveEntityContext'\n\nexport type EntityType = 'folder' | 'task'\n\ninterface UseMoveEntitiesProps {\n projectName: string\n}\n\nexport const useMoveEntities = ({ projectName }: UseMoveEntitiesProps) => {\n const {\n movingEntities,\n isEntityPickerOpen,\n openMoveDialog,\n closeMoveDialog,\n setEntityPickerOpen,\n clearMovingEntities,\n } = useMoveEntityContext()\n const [updateOverviewEntities] = useUpdateOverviewEntitiesMutation()\n\n // Get project context for entity data\n const { tableData, getEntityById } = useProjectTableContext()\n\n // Get folder data to check hasVersions property\n const { data: { folders = [] } = {} } = useGetFolderListQuery(\n { projectName: projectName || '', attrib: true },\n { skip: !projectName },\n )\n\n // Action dispatchers\n const openMoveDialogHandler = useCallback(\n (entityData: EntityMoveData | MultiEntityMoveData) => {\n openMoveDialog(entityData)\n },\n [openMoveDialog],\n )\n\n const closeMoveDialogHandler = useCallback(() => {\n closeMoveDialog()\n }, [closeMoveDialog])\n\n // Move submit handler\n const handleMoveSubmit = useCallback(\n async (selectedFolderIds: string[]) => {\n if (!movingEntities || selectedFolderIds.length === 0) return\n\n const targetFolderId = selectedFolderIds[0]\n setEntityPickerOpen(false)\n\n try {\n // Prepare move operations for all entities\n const moveOperations: OperationModel[] = movingEntities.entities.map(\n (entity: EntityMoveData, index: number) => ({\n id: `move-${entity.entityId}-${Date.now()}-${index}`,\n type: 'update',\n entityType: entity.entityType,\n entityId: entity.entityId,\n data:\n entity.entityType === 'folder'\n ? { parentId: targetFolderId }\n : { folderId: targetFolderId },\n }),\n )\n\n // Use the mutation with built-in optimistic updates and rollback\n const result = await updateOverviewEntities({\n projectName,\n operationsRequestModel: {\n operations: moveOperations,\n },\n }).unwrap()\n\n // Check for any failed operations\n const failedOperations =\n result?.operations?.filter((op: OperationResponseModel) => op.success === false) || []\n\n if (failedOperations.length > 0) {\n const errorDetails = failedOperations.map((op) => op.detail).join(', ')\n throw new Error(errorDetails || 'Some move operations failed')\n }\n } catch (error: any) {\n console.error('Failed to move entity:', error)\n\n // Extract and improve error message\n let errorMessage =\n error?.data?.detail || error?.error || error?.message || 'Failed to move entities'\n\n // Improve specific error messages for better UX\n if (errorMessage.includes('already exists')) {\n // For multiple entities, provide a more general message\n if (movingEntities.entities.length > 1) {\n errorMessage = `Cannot move some entities - one or more entities with the same name already exist in the target location`\n } else {\n const entity = movingEntities.entities[0]\n if (entity.entityType === 'task') {\n // Extract task name from error message if possible\n const nameMatch = errorMessage.match(/name '.*?, (.+?)' already exists/)\n const taskName = nameMatch ? nameMatch[1] : 'this task'\n errorMessage = `Cannot move \"${taskName}\" - a task with this name already exists in the target folder`\n } else {\n // Extract folder name from error message if possible\n const nameMatch = errorMessage.match(/name '.*?, (.+?)' already exists/)\n const folderName = nameMatch ? nameMatch[1] : 'this folder'\n errorMessage = `Cannot move \"${folderName}\" - a folder with this name already exists in the target location`\n }\n }\n }\n\n toast.error(errorMessage)\n } finally {\n clearMovingEntities()\n setEntityPickerOpen(false)\n }\n },\n [\n movingEntities,\n projectName,\n updateOverviewEntities,\n openMoveDialog,\n closeMoveDialog,\n setEntityPickerOpen,\n clearMovingEntities,\n ],\n )\n\n // Move to root handler\n const handleMoveToRoot = useCallback(async () => {\n if (!movingEntities) return\n\n setEntityPickerOpen(false)\n\n try {\n // Prepare move operations for all entities to move to root (null parentId/folderId)\n const moveOperations: OperationModel[] = movingEntities.entities.map(\n (entity: EntityMoveData, index: number) => ({\n id: `move-to-root-${entity.entityId}-${Date.now()}-${index}`,\n type: 'update',\n entityType: entity.entityType,\n entityId: entity.entityId,\n data: entity.entityType === 'folder' ? { parentId: null } : { folderId: null },\n }),\n )\n\n // Use the mutation with built-in optimistic updates and rollback\n const result = await updateOverviewEntities({\n projectName,\n operationsRequestModel: {\n operations: moveOperations,\n },\n }).unwrap()\n\n // Check for any failed operations\n const failedOperations =\n result?.operations?.filter((op: OperationResponseModel) => op.success === false) || []\n\n if (failedOperations.length > 0) {\n const errorDetails = failedOperations.map((op) => op.detail).join(', ')\n throw new Error(errorDetails || 'Some move operations failed')\n }\n } catch (error: any) {\n console.error('Failed to move entities to root:', error)\n\n // Extract and improve error message\n let errorMessage =\n error?.data?.detail || error?.error || error?.message || 'Failed to move entities to root'\n\n toast.error(errorMessage)\n } finally {\n clearMovingEntities()\n setEntityPickerOpen(false)\n }\n }, [\n movingEntities,\n projectName,\n updateOverviewEntities,\n openMoveDialog,\n closeMoveDialog,\n setEntityPickerOpen,\n clearMovingEntities,\n ])\n\n // Get disabled folder IDs\n const getDisabledFolderIds = useCallback((): string[] => {\n if (!movingEntities) return []\n const disabledIds: string[] = []\n\n // Add the entities being moved themselves to prevent moving to themselves\n movingEntities.entities.forEach((entity: EntityMoveData) => {\n disabledIds.push(entity.entityId)\n })\n\n // Add folders where name conflicts would occur\n folders.forEach((targetFolder) => {\n // Check if any moving entity has the same name as existing children in this folder\n const hasNameConflict = movingEntities.entities.some((movingEntity: EntityMoveData) => {\n // Get the name of the entity being moved\n const movingEntityData = getEntityById(movingEntity.entityId)\n if (!movingEntityData?.name) return false\n\n // Find all entities that would be siblings in the target folder\n const existingSiblings = tableData.filter((entity) => {\n // For folders, check parentId\n if (movingEntity.entityType === 'folder') {\n return entity.entityType === 'folder' && entity.parentId === targetFolder.id\n }\n // For tasks, check folderId\n if (movingEntity.entityType === 'task') {\n return entity.entityType === 'task' && entity.folderId === targetFolder.id\n }\n return false\n })\n\n // Check if any sibling has the same name (excluding the entity being moved itself)\n return existingSiblings.some(\n (sibling) =>\n sibling.name === movingEntityData.name && sibling.entityId !== movingEntity.entityId,\n )\n })\n\n if (hasNameConflict) {\n disabledIds.push(targetFolder.id)\n }\n })\n\n return [...new Set(disabledIds)]\n }, [movingEntities, folders, tableData, getEntityById])\n\n // Get disabled message for a folder\n const getDisabledMessage = useCallback(\n (folderId: string): string | undefined => {\n if (!movingEntities) return undefined\n\n // 1. Check if this folder is the entity being moved itself.\n const isEntityItself = movingEntities.entities.some(\n (entity: EntityMoveData) => entity.entityType === 'folder' && entity.entityId === folderId,\n )\n\n if (isEntityItself) {\n return 'Cannot move folder to itself'\n }\n\n // 2. Check if this is the current parent folder.\n const isCurrentParent = movingEntities.entities.some(\n (entity: EntityMoveData) => entity.currentParentId === folderId,\n )\n\n if (isCurrentParent) {\n return 'Cannot move to the same location'\n }\n\n // 4. Check for name conflicts - entity with same name already exists in target folder\n const targetFolder = folders.find((folder) => folder.id === folderId)\n if (targetFolder) {\n const conflictingEntity = movingEntities.entities.find((movingEntity: EntityMoveData) => {\n // Get the name of the entity being moved\n const movingEntityData = getEntityById(movingEntity.entityId)\n if (!movingEntityData?.name) return false\n\n // Find all entities that would be siblings in the target folder\n const existingSiblings = tableData.filter((entity) => {\n // For folders, check parentId\n if (movingEntity.entityType === 'folder') {\n return entity.entityType === 'folder' && entity.parentId === targetFolder.id\n }\n // For tasks, check folderId\n if (movingEntity.entityType === 'task') {\n return entity.entityType === 'task' && entity.folderId === targetFolder.id\n }\n return false\n })\n\n // Check if any sibling has the same name (excluding the entity being moved itself)\n return existingSiblings.some(\n (sibling) =>\n sibling.name === movingEntityData.name && sibling.entityId !== movingEntity.entityId,\n )\n })\n\n if (conflictingEntity) {\n const entityData = getEntityById(conflictingEntity.entityId)\n const entityName = entityData?.name || 'Entity'\n return `Cannot move \"${entityName}\" - an entity with the same name already exists in this folder`\n }\n }\n\n // 5. Check if the target is a child folder (simplified check)\n const isChildFolder = movingEntities.entities.some(\n (entity: EntityMoveData) => entity.entityType === 'folder',\n )\n\n if (isChildFolder) {\n return 'Cannot move folder to its child'\n }\n\n // Default message\n return 'Cannot move to this location'\n },\n [movingEntities, folders, tableData, getEntityById],\n )\n\n // Check if we can show \"Move to root\" option\n const canMoveToRoot = useMemo(() => {\n return (\n movingEntities?.entities.every((entity: EntityMoveData) => entity.entityType === 'folder') ||\n false\n )\n }, [movingEntities])\n\n return {\n // State\n movingEntities,\n isEntityPickerOpen,\n\n // Actions (keeping legacy names for compatibility)\n isDialogOpen: isEntityPickerOpen,\n openMoveDialog: openMoveDialogHandler,\n closeMoveDialog: closeMoveDialogHandler,\n handleMoveSubmit,\n handleMoveToRoot,\n getDisabledFolderIds,\n getDisabledMessage,\n canMoveToRoot,\n }\n}\n"],"names":["useMoveEntities","projectName","movingEntities","isEntityPickerOpen","openMoveDialog","closeMoveDialog","setEntityPickerOpen","clearMovingEntities","useMoveEntityContext","updateOverviewEntities","useUpdateOverviewEntitiesMutation","tableData","getEntityById","useProjectTableContext","folders","useGetFolderListQuery","openMoveDialogHandler","useCallback","entityData","closeMoveDialogHandler","handleMoveSubmit","selectedFolderIds","targetFolderId","moveOperations","entity","index","result","failedOperations","_a","op","errorDetails","error","errorMessage","_b","nameMatch","toast","handleMoveToRoot","getDisabledFolderIds","disabledIds","targetFolder","movingEntity","movingEntityData","sibling","getDisabledMessage","folderId","folder","conflictingEntity","canMoveToRoot","useMemo"],"mappings":"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"}
1
+ {"version":3,"file":"useMoveEntities.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useMoveEntities.ts"],"sourcesContent":["import { useCallback, useMemo } from 'react'\nimport { toast } from 'react-toastify'\nimport {\n OperationModel,\n OperationResponseModel,\n useUpdateOverviewEntitiesMutation,\n useGetFolderListQuery,\n} from '@shared/api'\nimport { useProjectTableContext } from '@shared/containers'\nimport {\n useMoveEntityContext,\n EntityMoveData,\n MultiEntityMoveData,\n} from '@shared/context/MoveEntityContext'\n\nexport type EntityType = 'folder' | 'task'\n\ninterface UseMoveEntitiesProps {\n projectName: string\n}\n\nexport const useMoveEntities = ({ projectName }: UseMoveEntitiesProps) => {\n const {\n movingEntities,\n isEntityPickerOpen,\n openMoveDialog,\n closeMoveDialog,\n setEntityPickerOpen,\n clearMovingEntities,\n } = useMoveEntityContext()\n const [updateOverviewEntities] = useUpdateOverviewEntitiesMutation()\n\n // Get project context for entity data\n const { tableData, getEntityById } = useProjectTableContext()\n\n // Get folder data to check hasVersions property\n const { data: { folders = [] } = {} } = useGetFolderListQuery(\n { projectName: projectName || '', attrib: true },\n { skip: !projectName },\n )\n\n // Action dispatchers\n const openMoveDialogHandler = useCallback(\n (entityData: EntityMoveData | MultiEntityMoveData) => {\n openMoveDialog(entityData)\n },\n [openMoveDialog],\n )\n\n const closeMoveDialogHandler = useCallback(() => {\n closeMoveDialog()\n }, [closeMoveDialog])\n\n // Move submit handler\n const handleMoveSubmit = useCallback(\n async (selectedFolderIds: string[]) => {\n if (!movingEntities || selectedFolderIds.length === 0) return\n\n const targetFolderId = selectedFolderIds[0]\n setEntityPickerOpen(false)\n\n try {\n // Prepare move operations for all entities\n const moveOperations: OperationModel[] = movingEntities.entities.map(\n (entity: EntityMoveData, index: number) => ({\n id: `move-${entity.entityId}-${Date.now()}-${index}`,\n type: 'update',\n entityType: entity.entityType,\n entityId: entity.entityId,\n data:\n entity.entityType === 'folder'\n ? { parentId: targetFolderId }\n : { folderId: targetFolderId },\n }),\n )\n\n // Use the mutation with built-in optimistic updates and rollback\n const result = await updateOverviewEntities({\n projectName,\n operationsRequestModel: {\n operations: moveOperations,\n },\n }).unwrap()\n\n // Check for any failed operations\n const failedOperations =\n result?.operations?.filter((op: OperationResponseModel) => op.success === false) || []\n\n if (failedOperations.length > 0) {\n const errorDetails = failedOperations.map((op) => op.detail).join(', ')\n throw new Error(errorDetails || 'Some move operations failed')\n }\n } catch (error: any) {\n console.error('Failed to move entity:', error)\n\n // Extract and improve error message\n let errorMessage =\n error?.data?.detail || error?.error || error?.message || 'Failed to move entities'\n\n // Improve specific error messages for better UX\n if (errorMessage.includes('already exists')) {\n // For multiple entities, provide a more general message\n if (movingEntities.entities.length > 1) {\n errorMessage = `Cannot move some entities - one or more entities with the same name already exist in the target location`\n } else {\n const entity = movingEntities.entities[0]\n if (entity.entityType === 'task') {\n // Extract task name from error message if possible\n const nameMatch = errorMessage.match(/name '.*?, (.+?)' already exists/)\n const taskName = nameMatch ? nameMatch[1] : 'this task'\n errorMessage = `Cannot move \"${taskName}\" - a task with this name already exists in the target folder`\n } else {\n // Extract folder name from error message if possible\n const nameMatch = errorMessage.match(/name '.*?, (.+?)' already exists/)\n const folderName = nameMatch ? nameMatch[1] : 'this folder'\n errorMessage = `Cannot move \"${folderName}\" - a folder with this name already exists in the target location`\n }\n }\n }\n\n toast.error(errorMessage)\n } finally {\n clearMovingEntities()\n setEntityPickerOpen(false)\n }\n },\n [\n movingEntities,\n projectName,\n updateOverviewEntities,\n openMoveDialog,\n closeMoveDialog,\n setEntityPickerOpen,\n clearMovingEntities,\n ],\n )\n\n // Move to root handler\n const handleMoveToRoot = useCallback(async () => {\n if (!movingEntities) return\n\n setEntityPickerOpen(false)\n\n try {\n // Prepare move operations for all entities to move to root (null parentId/folderId)\n const moveOperations: OperationModel[] = movingEntities.entities.map(\n (entity: EntityMoveData, index: number) => ({\n id: `move-to-root-${entity.entityId}-${Date.now()}-${index}`,\n type: 'update',\n entityType: entity.entityType,\n entityId: entity.entityId,\n data: entity.entityType === 'folder' ? { parentId: null } : { folderId: null },\n }),\n )\n\n // Use the mutation with built-in optimistic updates and rollback\n const result = await updateOverviewEntities({\n projectName,\n operationsRequestModel: {\n operations: moveOperations,\n },\n }).unwrap()\n\n // Check for any failed operations\n const failedOperations =\n result?.operations?.filter((op: OperationResponseModel) => op.success === false) || []\n\n if (failedOperations.length > 0) {\n const errorDetails = failedOperations.map((op) => op.detail).join(', ')\n throw new Error(errorDetails || 'Some move operations failed')\n }\n } catch (error: any) {\n console.error('Failed to move entities to root:', error)\n\n // Extract and improve error message\n let errorMessage =\n error?.data?.detail || error?.error || error?.message || 'Failed to move entities to root'\n\n toast.error(errorMessage)\n } finally {\n clearMovingEntities()\n setEntityPickerOpen(false)\n }\n }, [\n movingEntities,\n projectName,\n updateOverviewEntities,\n openMoveDialog,\n closeMoveDialog,\n setEntityPickerOpen,\n clearMovingEntities,\n ])\n\n // Get disabled folder IDs\n const getDisabledFolderIds = useCallback((): string[] => {\n if (!movingEntities) return []\n const disabledIds: string[] = []\n\n // Add the entities being moved themselves to prevent moving to themselves\n movingEntities.entities.forEach((entity: EntityMoveData) => {\n disabledIds.push(entity.entityId)\n })\n\n // Add folders where name conflicts would occur\n folders.forEach((targetFolder) => {\n // Check if any moving entity has the same name as existing children in this folder\n const hasNameConflict = movingEntities.entities.some((movingEntity: EntityMoveData) => {\n // Get the name of the entity being moved\n const movingEntityData = getEntityById(movingEntity.entityId)\n if (!movingEntityData?.name) return false\n\n // Find all entities that would be siblings in the target folder\n const existingSiblings = tableData.filter((entity) => {\n // For folders, check parentId\n if (movingEntity.entityType === 'folder') {\n return entity.entityType === 'folder' && entity.parentId === targetFolder.id\n }\n // For tasks, check folderId\n if (movingEntity.entityType === 'task') {\n return entity.entityType === 'task' && entity.folderId === targetFolder.id\n }\n return false\n })\n\n // Check if any sibling has the same name (excluding the entity being moved itself)\n return existingSiblings.some(\n (sibling) =>\n sibling.name === movingEntityData.name && sibling.entityId !== movingEntity.entityId,\n )\n })\n\n if (hasNameConflict) {\n disabledIds.push(targetFolder.id)\n }\n })\n\n return [...new Set(disabledIds)]\n }, [movingEntities, folders, tableData, getEntityById])\n\n // Get disabled message for a folder\n const getDisabledMessage = useCallback(\n (folderId: string): string | undefined => {\n if (!movingEntities) return undefined\n\n // 1. Check if this folder is the entity being moved itself.\n const isEntityItself = movingEntities.entities.some(\n (entity: EntityMoveData) => entity.entityType === 'folder' && entity.entityId === folderId,\n )\n\n if (isEntityItself) {\n return 'Cannot move folder to itself'\n }\n\n // 2. Check if this is the current parent folder.\n const isCurrentParent = movingEntities.entities.some(\n (entity: EntityMoveData) => entity.currentParentId === folderId,\n )\n\n if (isCurrentParent) {\n return 'Cannot move to the same location'\n }\n\n // 4. Check for name conflicts - entity with same name already exists in target folder\n const targetFolder = folders.find((folder) => folder.id === folderId)\n if (targetFolder) {\n const conflictingEntity = movingEntities.entities.find((movingEntity: EntityMoveData) => {\n // Get the name of the entity being moved\n const movingEntityData = getEntityById(movingEntity.entityId)\n if (!movingEntityData?.name) return false\n\n // Find all entities that would be siblings in the target folder\n const existingSiblings = tableData.filter((entity) => {\n // For folders, check parentId\n if (movingEntity.entityType === 'folder') {\n return entity.entityType === 'folder' && entity.parentId === targetFolder.id\n }\n // For tasks, check folderId\n if (movingEntity.entityType === 'task') {\n return entity.entityType === 'task' && entity.folderId === targetFolder.id\n }\n return false\n })\n\n // Check if any sibling has the same name (excluding the entity being moved itself)\n return existingSiblings.some(\n (sibling) =>\n sibling.name === movingEntityData.name && sibling.entityId !== movingEntity.entityId,\n )\n })\n\n if (conflictingEntity) {\n const entityData = getEntityById(conflictingEntity.entityId)\n const entityName = entityData?.name || 'Entity'\n return `Cannot move \"${entityName}\" - an entity with the same name already exists in this folder`\n }\n }\n\n // 5. Check if the target is a child folder (simplified check)\n const isChildFolder = movingEntities.entities.some(\n (entity: EntityMoveData) => entity.entityType === 'folder',\n )\n\n if (isChildFolder) {\n return 'Cannot move folder to its child'\n }\n\n // Default message\n return 'Cannot move to this location'\n },\n [movingEntities, folders, tableData, getEntityById],\n )\n\n // Check if we can show \"Move to root\" option\n const canMoveToRoot = useMemo(() => {\n return (\n movingEntities?.entities.every((entity: EntityMoveData) => entity.entityType === 'folder') ||\n false\n )\n }, [movingEntities])\n\n return {\n // State\n movingEntities,\n isEntityPickerOpen,\n\n // Actions (keeping legacy names for compatibility)\n isDialogOpen: isEntityPickerOpen,\n openMoveDialog: openMoveDialogHandler,\n closeMoveDialog: closeMoveDialogHandler,\n handleMoveSubmit,\n handleMoveToRoot,\n getDisabledFolderIds,\n getDisabledMessage,\n canMoveToRoot,\n }\n}\n"],"names":["useMoveEntities","projectName","movingEntities","isEntityPickerOpen","openMoveDialog","closeMoveDialog","setEntityPickerOpen","clearMovingEntities","useMoveEntityContext","updateOverviewEntities","useUpdateOverviewEntitiesMutation","tableData","getEntityById","useProjectTableContext","folders","useGetFolderListQuery","openMoveDialogHandler","useCallback","entityData","closeMoveDialogHandler","handleMoveSubmit","selectedFolderIds","targetFolderId","moveOperations","entity","index","result","failedOperations","_a","op","errorDetails","error","errorMessage","_b","nameMatch","toast","handleMoveToRoot","getDisabledFolderIds","disabledIds","targetFolder","movingEntity","movingEntityData","sibling","getDisabledMessage","folderId","folder","conflictingEntity","canMoveToRoot","useMemo"],"mappings":"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"}
@@ -115,6 +115,7 @@ import "../../../context/AddonContext.es.js";
115
115
  import "../../../context/PowerpackContext.es.js";
116
116
  import { useMoveEntityContext as P } from "../../../context/MoveEntityContext.es.js";
117
117
  import "../../../context/MenuContext.es.js";
118
+ import "../../../context/WebsocketContext.es.js";
118
119
  import "../../Feed/components/CommentInput/quillToMarkdown.es.js";
119
120
  import "../../Feed/components/ActivityComment/ActivityComment.styled.es.js";
120
121
  import "../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.es.js";
@@ -171,7 +172,7 @@ import "../../../components/Powerpack/PowerpackButton.es.js";
171
172
  import "../../../components/Powerpack/PricingLink.es.js";
172
173
  import "../../../components/Powerpack/PowerpackDialog.styled.es.js";
173
174
  import "../../../components/Powerpack/CTAButton.es.js";
174
- import "../../../components/Powerpack/RequiredPowerpackVersion.es.js";
175
+ import "../../../components/Powerpack/RequiredAddonVersion.es.js";
175
176
  import "../../../components/SettingsPanel/SettingsPanel.es.js";
176
177
  import "../../../components/SettingsPanel/SettingsPanelItemTemplate.es.js";
177
178
  import "../../../components/AttributeEditor/components/MinMaxField.es.js";
@@ -224,7 +225,7 @@ import "../../Views/context/ViewsContext.es.js";
224
225
  import "../../Views/Views.styled.es.js";
225
226
  import "../../Views/ViewsMenuContainer/ViewsMenuContainer.es.js";
226
227
  import "../../Views/ViewsMenu/ViewsMenu.es.js";
227
- const Kr = ({ projectName: l }) => {
228
+ const Vr = ({ projectName: l }) => {
228
229
  const {
229
230
  movingEntities: o,
230
231
  isEntityPickerOpen: T,
@@ -392,6 +393,6 @@ const Kr = ({ projectName: l }) => {
392
393
  };
393
394
  };
394
395
  export {
395
- Kr as useMoveEntities
396
+ Vr as useMoveEntities
396
397
  };
397
398
  //# sourceMappingURL=useMoveEntities.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMoveEntities.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useMoveEntities.ts"],"sourcesContent":["import { useCallback, useMemo } from 'react'\nimport { toast } from 'react-toastify'\nimport {\n OperationModel,\n OperationResponseModel,\n useUpdateOverviewEntitiesMutation,\n useGetFolderListQuery,\n} from '@shared/api'\nimport { useProjectTableContext } from '@shared/containers'\nimport {\n useMoveEntityContext,\n EntityMoveData,\n MultiEntityMoveData,\n} from '@shared/context/MoveEntityContext'\n\nexport type EntityType = 'folder' | 'task'\n\ninterface UseMoveEntitiesProps {\n projectName: string\n}\n\nexport const useMoveEntities = ({ projectName }: UseMoveEntitiesProps) => {\n const {\n movingEntities,\n isEntityPickerOpen,\n openMoveDialog,\n closeMoveDialog,\n setEntityPickerOpen,\n clearMovingEntities,\n } = useMoveEntityContext()\n const [updateOverviewEntities] = useUpdateOverviewEntitiesMutation()\n\n // Get project context for entity data\n const { tableData, getEntityById } = useProjectTableContext()\n\n // Get folder data to check hasVersions property\n const { data: { folders = [] } = {} } = useGetFolderListQuery(\n { projectName: projectName || '', attrib: true },\n { skip: !projectName },\n )\n\n // Action dispatchers\n const openMoveDialogHandler = useCallback(\n (entityData: EntityMoveData | MultiEntityMoveData) => {\n openMoveDialog(entityData)\n },\n [openMoveDialog],\n )\n\n const closeMoveDialogHandler = useCallback(() => {\n closeMoveDialog()\n }, [closeMoveDialog])\n\n // Move submit handler\n const handleMoveSubmit = useCallback(\n async (selectedFolderIds: string[]) => {\n if (!movingEntities || selectedFolderIds.length === 0) return\n\n const targetFolderId = selectedFolderIds[0]\n setEntityPickerOpen(false)\n\n try {\n // Prepare move operations for all entities\n const moveOperations: OperationModel[] = movingEntities.entities.map(\n (entity: EntityMoveData, index: number) => ({\n id: `move-${entity.entityId}-${Date.now()}-${index}`,\n type: 'update',\n entityType: entity.entityType,\n entityId: entity.entityId,\n data:\n entity.entityType === 'folder'\n ? { parentId: targetFolderId }\n : { folderId: targetFolderId },\n }),\n )\n\n // Use the mutation with built-in optimistic updates and rollback\n const result = await updateOverviewEntities({\n projectName,\n operationsRequestModel: {\n operations: moveOperations,\n },\n }).unwrap()\n\n // Check for any failed operations\n const failedOperations =\n result?.operations?.filter((op: OperationResponseModel) => op.success === false) || []\n\n if (failedOperations.length > 0) {\n const errorDetails = failedOperations.map((op) => op.detail).join(', ')\n throw new Error(errorDetails || 'Some move operations failed')\n }\n } catch (error: any) {\n console.error('Failed to move entity:', error)\n\n // Extract and improve error message\n let errorMessage =\n error?.data?.detail || error?.error || error?.message || 'Failed to move entities'\n\n // Improve specific error messages for better UX\n if (errorMessage.includes('already exists')) {\n // For multiple entities, provide a more general message\n if (movingEntities.entities.length > 1) {\n errorMessage = `Cannot move some entities - one or more entities with the same name already exist in the target location`\n } else {\n const entity = movingEntities.entities[0]\n if (entity.entityType === 'task') {\n // Extract task name from error message if possible\n const nameMatch = errorMessage.match(/name '.*?, (.+?)' already exists/)\n const taskName = nameMatch ? nameMatch[1] : 'this task'\n errorMessage = `Cannot move \"${taskName}\" - a task with this name already exists in the target folder`\n } else {\n // Extract folder name from error message if possible\n const nameMatch = errorMessage.match(/name '.*?, (.+?)' already exists/)\n const folderName = nameMatch ? nameMatch[1] : 'this folder'\n errorMessage = `Cannot move \"${folderName}\" - a folder with this name already exists in the target location`\n }\n }\n }\n\n toast.error(errorMessage)\n } finally {\n clearMovingEntities()\n setEntityPickerOpen(false)\n }\n },\n [\n movingEntities,\n projectName,\n updateOverviewEntities,\n openMoveDialog,\n closeMoveDialog,\n setEntityPickerOpen,\n clearMovingEntities,\n ],\n )\n\n // Move to root handler\n const handleMoveToRoot = useCallback(async () => {\n if (!movingEntities) return\n\n setEntityPickerOpen(false)\n\n try {\n // Prepare move operations for all entities to move to root (null parentId/folderId)\n const moveOperations: OperationModel[] = movingEntities.entities.map(\n (entity: EntityMoveData, index: number) => ({\n id: `move-to-root-${entity.entityId}-${Date.now()}-${index}`,\n type: 'update',\n entityType: entity.entityType,\n entityId: entity.entityId,\n data: entity.entityType === 'folder' ? { parentId: null } : { folderId: null },\n }),\n )\n\n // Use the mutation with built-in optimistic updates and rollback\n const result = await updateOverviewEntities({\n projectName,\n operationsRequestModel: {\n operations: moveOperations,\n },\n }).unwrap()\n\n // Check for any failed operations\n const failedOperations =\n result?.operations?.filter((op: OperationResponseModel) => op.success === false) || []\n\n if (failedOperations.length > 0) {\n const errorDetails = failedOperations.map((op) => op.detail).join(', ')\n throw new Error(errorDetails || 'Some move operations failed')\n }\n } catch (error: any) {\n console.error('Failed to move entities to root:', error)\n\n // Extract and improve error message\n let errorMessage =\n error?.data?.detail || error?.error || error?.message || 'Failed to move entities to root'\n\n toast.error(errorMessage)\n } finally {\n clearMovingEntities()\n setEntityPickerOpen(false)\n }\n }, [\n movingEntities,\n projectName,\n updateOverviewEntities,\n openMoveDialog,\n closeMoveDialog,\n setEntityPickerOpen,\n clearMovingEntities,\n ])\n\n // Get disabled folder IDs\n const getDisabledFolderIds = useCallback((): string[] => {\n if (!movingEntities) return []\n const disabledIds: string[] = []\n\n // Add the entities being moved themselves to prevent moving to themselves\n movingEntities.entities.forEach((entity: EntityMoveData) => {\n disabledIds.push(entity.entityId)\n })\n\n // Add folders where name conflicts would occur\n folders.forEach((targetFolder) => {\n // Check if any moving entity has the same name as existing children in this folder\n const hasNameConflict = movingEntities.entities.some((movingEntity: EntityMoveData) => {\n // Get the name of the entity being moved\n const movingEntityData = getEntityById(movingEntity.entityId)\n if (!movingEntityData?.name) return false\n\n // Find all entities that would be siblings in the target folder\n const existingSiblings = tableData.filter((entity) => {\n // For folders, check parentId\n if (movingEntity.entityType === 'folder') {\n return entity.entityType === 'folder' && entity.parentId === targetFolder.id\n }\n // For tasks, check folderId\n if (movingEntity.entityType === 'task') {\n return entity.entityType === 'task' && entity.folderId === targetFolder.id\n }\n return false\n })\n\n // Check if any sibling has the same name (excluding the entity being moved itself)\n return existingSiblings.some(\n (sibling) =>\n sibling.name === movingEntityData.name && sibling.entityId !== movingEntity.entityId,\n )\n })\n\n if (hasNameConflict) {\n disabledIds.push(targetFolder.id)\n }\n })\n\n return [...new Set(disabledIds)]\n }, [movingEntities, folders, tableData, getEntityById])\n\n // Get disabled message for a folder\n const getDisabledMessage = useCallback(\n (folderId: string): string | undefined => {\n if (!movingEntities) return undefined\n\n // 1. Check if this folder is the entity being moved itself.\n const isEntityItself = movingEntities.entities.some(\n (entity: EntityMoveData) => entity.entityType === 'folder' && entity.entityId === folderId,\n )\n\n if (isEntityItself) {\n return 'Cannot move folder to itself'\n }\n\n // 2. Check if this is the current parent folder.\n const isCurrentParent = movingEntities.entities.some(\n (entity: EntityMoveData) => entity.currentParentId === folderId,\n )\n\n if (isCurrentParent) {\n return 'Cannot move to the same location'\n }\n\n // 4. Check for name conflicts - entity with same name already exists in target folder\n const targetFolder = folders.find((folder) => folder.id === folderId)\n if (targetFolder) {\n const conflictingEntity = movingEntities.entities.find((movingEntity: EntityMoveData) => {\n // Get the name of the entity being moved\n const movingEntityData = getEntityById(movingEntity.entityId)\n if (!movingEntityData?.name) return false\n\n // Find all entities that would be siblings in the target folder\n const existingSiblings = tableData.filter((entity) => {\n // For folders, check parentId\n if (movingEntity.entityType === 'folder') {\n return entity.entityType === 'folder' && entity.parentId === targetFolder.id\n }\n // For tasks, check folderId\n if (movingEntity.entityType === 'task') {\n return entity.entityType === 'task' && entity.folderId === targetFolder.id\n }\n return false\n })\n\n // Check if any sibling has the same name (excluding the entity being moved itself)\n return existingSiblings.some(\n (sibling) =>\n sibling.name === movingEntityData.name && sibling.entityId !== movingEntity.entityId,\n )\n })\n\n if (conflictingEntity) {\n const entityData = getEntityById(conflictingEntity.entityId)\n const entityName = entityData?.name || 'Entity'\n return `Cannot move \"${entityName}\" - an entity with the same name already exists in this folder`\n }\n }\n\n // 5. Check if the target is a child folder (simplified check)\n const isChildFolder = movingEntities.entities.some(\n (entity: EntityMoveData) => entity.entityType === 'folder',\n )\n\n if (isChildFolder) {\n return 'Cannot move folder to its child'\n }\n\n // Default message\n return 'Cannot move to this location'\n },\n [movingEntities, folders, tableData, getEntityById],\n )\n\n // Check if we can show \"Move to root\" option\n const canMoveToRoot = useMemo(() => {\n return (\n movingEntities?.entities.every((entity: EntityMoveData) => entity.entityType === 'folder') ||\n false\n )\n }, [movingEntities])\n\n return {\n // State\n movingEntities,\n isEntityPickerOpen,\n\n // Actions (keeping legacy names for compatibility)\n isDialogOpen: isEntityPickerOpen,\n openMoveDialog: openMoveDialogHandler,\n closeMoveDialog: closeMoveDialogHandler,\n handleMoveSubmit,\n handleMoveToRoot,\n getDisabledFolderIds,\n getDisabledMessage,\n canMoveToRoot,\n }\n}\n"],"names":["useMoveEntities","projectName","movingEntities","isEntityPickerOpen","openMoveDialog","closeMoveDialog","setEntityPickerOpen","clearMovingEntities","useMoveEntityContext","updateOverviewEntities","useUpdateOverviewEntitiesMutation","tableData","getEntityById","useProjectTableContext","folders","useGetFolderListQuery","openMoveDialogHandler","useCallback","entityData","closeMoveDialogHandler","handleMoveSubmit","selectedFolderIds","targetFolderId","moveOperations","entity","index","result","failedOperations","_a","op","errorDetails","error","errorMessage","_b","nameMatch","toast","handleMoveToRoot","getDisabledFolderIds","disabledIds","targetFolder","movingEntity","movingEntityData","sibling","getDisabledMessage","folderId","folder","conflictingEntity","canMoveToRoot","useMemo"],"mappings":"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"}
1
+ {"version":3,"file":"useMoveEntities.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useMoveEntities.ts"],"sourcesContent":["import { useCallback, useMemo } from 'react'\nimport { toast } from 'react-toastify'\nimport {\n OperationModel,\n OperationResponseModel,\n useUpdateOverviewEntitiesMutation,\n useGetFolderListQuery,\n} from '@shared/api'\nimport { useProjectTableContext } from '@shared/containers'\nimport {\n useMoveEntityContext,\n EntityMoveData,\n MultiEntityMoveData,\n} from '@shared/context/MoveEntityContext'\n\nexport type EntityType = 'folder' | 'task'\n\ninterface UseMoveEntitiesProps {\n projectName: string\n}\n\nexport const useMoveEntities = ({ projectName }: UseMoveEntitiesProps) => {\n const {\n movingEntities,\n isEntityPickerOpen,\n openMoveDialog,\n closeMoveDialog,\n setEntityPickerOpen,\n clearMovingEntities,\n } = useMoveEntityContext()\n const [updateOverviewEntities] = useUpdateOverviewEntitiesMutation()\n\n // Get project context for entity data\n const { tableData, getEntityById } = useProjectTableContext()\n\n // Get folder data to check hasVersions property\n const { data: { folders = [] } = {} } = useGetFolderListQuery(\n { projectName: projectName || '', attrib: true },\n { skip: !projectName },\n )\n\n // Action dispatchers\n const openMoveDialogHandler = useCallback(\n (entityData: EntityMoveData | MultiEntityMoveData) => {\n openMoveDialog(entityData)\n },\n [openMoveDialog],\n )\n\n const closeMoveDialogHandler = useCallback(() => {\n closeMoveDialog()\n }, [closeMoveDialog])\n\n // Move submit handler\n const handleMoveSubmit = useCallback(\n async (selectedFolderIds: string[]) => {\n if (!movingEntities || selectedFolderIds.length === 0) return\n\n const targetFolderId = selectedFolderIds[0]\n setEntityPickerOpen(false)\n\n try {\n // Prepare move operations for all entities\n const moveOperations: OperationModel[] = movingEntities.entities.map(\n (entity: EntityMoveData, index: number) => ({\n id: `move-${entity.entityId}-${Date.now()}-${index}`,\n type: 'update',\n entityType: entity.entityType,\n entityId: entity.entityId,\n data:\n entity.entityType === 'folder'\n ? { parentId: targetFolderId }\n : { folderId: targetFolderId },\n }),\n )\n\n // Use the mutation with built-in optimistic updates and rollback\n const result = await updateOverviewEntities({\n projectName,\n operationsRequestModel: {\n operations: moveOperations,\n },\n }).unwrap()\n\n // Check for any failed operations\n const failedOperations =\n result?.operations?.filter((op: OperationResponseModel) => op.success === false) || []\n\n if (failedOperations.length > 0) {\n const errorDetails = failedOperations.map((op) => op.detail).join(', ')\n throw new Error(errorDetails || 'Some move operations failed')\n }\n } catch (error: any) {\n console.error('Failed to move entity:', error)\n\n // Extract and improve error message\n let errorMessage =\n error?.data?.detail || error?.error || error?.message || 'Failed to move entities'\n\n // Improve specific error messages for better UX\n if (errorMessage.includes('already exists')) {\n // For multiple entities, provide a more general message\n if (movingEntities.entities.length > 1) {\n errorMessage = `Cannot move some entities - one or more entities with the same name already exist in the target location`\n } else {\n const entity = movingEntities.entities[0]\n if (entity.entityType === 'task') {\n // Extract task name from error message if possible\n const nameMatch = errorMessage.match(/name '.*?, (.+?)' already exists/)\n const taskName = nameMatch ? nameMatch[1] : 'this task'\n errorMessage = `Cannot move \"${taskName}\" - a task with this name already exists in the target folder`\n } else {\n // Extract folder name from error message if possible\n const nameMatch = errorMessage.match(/name '.*?, (.+?)' already exists/)\n const folderName = nameMatch ? nameMatch[1] : 'this folder'\n errorMessage = `Cannot move \"${folderName}\" - a folder with this name already exists in the target location`\n }\n }\n }\n\n toast.error(errorMessage)\n } finally {\n clearMovingEntities()\n setEntityPickerOpen(false)\n }\n },\n [\n movingEntities,\n projectName,\n updateOverviewEntities,\n openMoveDialog,\n closeMoveDialog,\n setEntityPickerOpen,\n clearMovingEntities,\n ],\n )\n\n // Move to root handler\n const handleMoveToRoot = useCallback(async () => {\n if (!movingEntities) return\n\n setEntityPickerOpen(false)\n\n try {\n // Prepare move operations for all entities to move to root (null parentId/folderId)\n const moveOperations: OperationModel[] = movingEntities.entities.map(\n (entity: EntityMoveData, index: number) => ({\n id: `move-to-root-${entity.entityId}-${Date.now()}-${index}`,\n type: 'update',\n entityType: entity.entityType,\n entityId: entity.entityId,\n data: entity.entityType === 'folder' ? { parentId: null } : { folderId: null },\n }),\n )\n\n // Use the mutation with built-in optimistic updates and rollback\n const result = await updateOverviewEntities({\n projectName,\n operationsRequestModel: {\n operations: moveOperations,\n },\n }).unwrap()\n\n // Check for any failed operations\n const failedOperations =\n result?.operations?.filter((op: OperationResponseModel) => op.success === false) || []\n\n if (failedOperations.length > 0) {\n const errorDetails = failedOperations.map((op) => op.detail).join(', ')\n throw new Error(errorDetails || 'Some move operations failed')\n }\n } catch (error: any) {\n console.error('Failed to move entities to root:', error)\n\n // Extract and improve error message\n let errorMessage =\n error?.data?.detail || error?.error || error?.message || 'Failed to move entities to root'\n\n toast.error(errorMessage)\n } finally {\n clearMovingEntities()\n setEntityPickerOpen(false)\n }\n }, [\n movingEntities,\n projectName,\n updateOverviewEntities,\n openMoveDialog,\n closeMoveDialog,\n setEntityPickerOpen,\n clearMovingEntities,\n ])\n\n // Get disabled folder IDs\n const getDisabledFolderIds = useCallback((): string[] => {\n if (!movingEntities) return []\n const disabledIds: string[] = []\n\n // Add the entities being moved themselves to prevent moving to themselves\n movingEntities.entities.forEach((entity: EntityMoveData) => {\n disabledIds.push(entity.entityId)\n })\n\n // Add folders where name conflicts would occur\n folders.forEach((targetFolder) => {\n // Check if any moving entity has the same name as existing children in this folder\n const hasNameConflict = movingEntities.entities.some((movingEntity: EntityMoveData) => {\n // Get the name of the entity being moved\n const movingEntityData = getEntityById(movingEntity.entityId)\n if (!movingEntityData?.name) return false\n\n // Find all entities that would be siblings in the target folder\n const existingSiblings = tableData.filter((entity) => {\n // For folders, check parentId\n if (movingEntity.entityType === 'folder') {\n return entity.entityType === 'folder' && entity.parentId === targetFolder.id\n }\n // For tasks, check folderId\n if (movingEntity.entityType === 'task') {\n return entity.entityType === 'task' && entity.folderId === targetFolder.id\n }\n return false\n })\n\n // Check if any sibling has the same name (excluding the entity being moved itself)\n return existingSiblings.some(\n (sibling) =>\n sibling.name === movingEntityData.name && sibling.entityId !== movingEntity.entityId,\n )\n })\n\n if (hasNameConflict) {\n disabledIds.push(targetFolder.id)\n }\n })\n\n return [...new Set(disabledIds)]\n }, [movingEntities, folders, tableData, getEntityById])\n\n // Get disabled message for a folder\n const getDisabledMessage = useCallback(\n (folderId: string): string | undefined => {\n if (!movingEntities) return undefined\n\n // 1. Check if this folder is the entity being moved itself.\n const isEntityItself = movingEntities.entities.some(\n (entity: EntityMoveData) => entity.entityType === 'folder' && entity.entityId === folderId,\n )\n\n if (isEntityItself) {\n return 'Cannot move folder to itself'\n }\n\n // 2. Check if this is the current parent folder.\n const isCurrentParent = movingEntities.entities.some(\n (entity: EntityMoveData) => entity.currentParentId === folderId,\n )\n\n if (isCurrentParent) {\n return 'Cannot move to the same location'\n }\n\n // 4. Check for name conflicts - entity with same name already exists in target folder\n const targetFolder = folders.find((folder) => folder.id === folderId)\n if (targetFolder) {\n const conflictingEntity = movingEntities.entities.find((movingEntity: EntityMoveData) => {\n // Get the name of the entity being moved\n const movingEntityData = getEntityById(movingEntity.entityId)\n if (!movingEntityData?.name) return false\n\n // Find all entities that would be siblings in the target folder\n const existingSiblings = tableData.filter((entity) => {\n // For folders, check parentId\n if (movingEntity.entityType === 'folder') {\n return entity.entityType === 'folder' && entity.parentId === targetFolder.id\n }\n // For tasks, check folderId\n if (movingEntity.entityType === 'task') {\n return entity.entityType === 'task' && entity.folderId === targetFolder.id\n }\n return false\n })\n\n // Check if any sibling has the same name (excluding the entity being moved itself)\n return existingSiblings.some(\n (sibling) =>\n sibling.name === movingEntityData.name && sibling.entityId !== movingEntity.entityId,\n )\n })\n\n if (conflictingEntity) {\n const entityData = getEntityById(conflictingEntity.entityId)\n const entityName = entityData?.name || 'Entity'\n return `Cannot move \"${entityName}\" - an entity with the same name already exists in this folder`\n }\n }\n\n // 5. Check if the target is a child folder (simplified check)\n const isChildFolder = movingEntities.entities.some(\n (entity: EntityMoveData) => entity.entityType === 'folder',\n )\n\n if (isChildFolder) {\n return 'Cannot move folder to its child'\n }\n\n // Default message\n return 'Cannot move to this location'\n },\n [movingEntities, folders, tableData, getEntityById],\n )\n\n // Check if we can show \"Move to root\" option\n const canMoveToRoot = useMemo(() => {\n return (\n movingEntities?.entities.every((entity: EntityMoveData) => entity.entityType === 'folder') ||\n false\n )\n }, [movingEntities])\n\n return {\n // State\n movingEntities,\n isEntityPickerOpen,\n\n // Actions (keeping legacy names for compatibility)\n isDialogOpen: isEntityPickerOpen,\n openMoveDialog: openMoveDialogHandler,\n closeMoveDialog: closeMoveDialogHandler,\n handleMoveSubmit,\n handleMoveToRoot,\n getDisabledFolderIds,\n getDisabledMessage,\n canMoveToRoot,\n }\n}\n"],"names":["useMoveEntities","projectName","movingEntities","isEntityPickerOpen","openMoveDialog","closeMoveDialog","setEntityPickerOpen","clearMovingEntities","useMoveEntityContext","updateOverviewEntities","useUpdateOverviewEntitiesMutation","tableData","getEntityById","useProjectTableContext","folders","useGetFolderListQuery","openMoveDialogHandler","useCallback","entityData","closeMoveDialogHandler","handleMoveSubmit","selectedFolderIds","targetFolderId","moveOperations","entity","index","result","failedOperations","_a","op","errorDetails","error","errorMessage","_b","nameMatch","toast","handleMoveToRoot","getDisabledFolderIds","disabledIds","targetFolder","movingEntity","movingEntityData","sibling","getDisabledMessage","folderId","folder","conflictingEntity","canMoveToRoot","useMemo"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";const N=require("react");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");const M=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");const o=require("../../../components/LinksManager/utils/linkUpdates.cjs.js"),x=require("../context/ProjectTableContext.cjs.js");require("lodash");const A=require("react-toastify"),b=require("../../../util/getEntityId.cjs.js");require("../../../util/pubsub.cjs.js");require("../../ContextMenu/ContextMenuContext.cjs.js");require("../../../../../_virtual/jsx-runtime.cjs.js");require("@ynput/ayon-react-components");;/* empty css */require("clsx");require("react-dom");require("../../Feed/context/FeedContext.cjs.js");require("../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../../Feed/components/CommentInput/CommentInput.cjs.js");require("../../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");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("../../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("react-router-dom");require("../../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../../Feed/components/ActivityDate.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../../Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../../Feed/Feed.styled.cjs.js");require("date-fns");require("../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../ProjectTreeTable.cjs.js");const R=require("../context/CellEditingContext.cjs.js");require("@tanstack/react-table");require("../widgets/CollapsedWidget.cjs.js");require("../widgets/DateWidget.cjs.js");require("../widgets/EnumWidget.cjs.js");require("../widgets/TextWidget.cjs.js");require("../widgets/BooleanWidget.cjs.js");require("../widgets/CellWidget.cjs.js");require("../widgets/EntityNameWidget.cjs.js");require("../widgets/GroupHeaderWidget.cjs.js");require("../widgets/ThumbnailWidget.cjs.js");require("../../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("axios");require("../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../../components/Thumbnail/StackedThumbnails.cjs.js");require("../../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("../../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../../components/EntityPath/EntityPath.styled.cjs.js");require("../../../components/EntityPath/SegmentProvider.cjs.js");require("../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("../../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../../components/Watchers/Watchers.cjs.js");require("../../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../../components/Powerpack/PowerpackButton.cjs.js");require("../../../components/Powerpack/PricingLink.cjs.js");require("../../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../../components/Powerpack/CTAButton.cjs.js");require("../../../components/Powerpack/RequiredPowerpackVersion.cjs.js");require("../../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../../components/AttributeEditor/components/MinMaxField.cjs.js");require("../../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../../components/SearchFilter/filterDates.cjs.js");require("../../../components/Badge/Badge.cjs.js");require("../../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../../components/Feedback/FeedbackContext.cjs.js");require("../../../components/Feedback/SupportBubble.cjs.js");require("../../../components/Chips/Chips.cjs.js");require("../../../components/LinksManager/LinksManager.styled.cjs.js");require("../../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../../components/StyledLink/StyledLink.cjs.js");require("../../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../../components/AccessUser/AccessUser.cjs.js");require("../../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("../../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../../components/LinksManager/CellEditingDialog.cjs.js");require("../context/DetailsPanelEntityContext.cjs.js");require("../context/SelectedRowsContext.cjs.js");require("../ProjectTreeTable.styled.cjs.js");require("../components/SelectionCell.cjs.js");require("../components/RowSelectionHeader.cjs.js");require("../context/SelectionCellsContext.cjs.js");require("../widgets/LoadMoreWidget.cjs.js");require("../context/ProjectTableQueriesContext.cjs.js");require("../context/ClipboardContext.cjs.js");require("../context/ColumnSettingsContext.cjs.js");require("../context/ProjectDataContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("react-redux");require("custom-protocol-check");require("../components/GroupSettingsFallback.cjs.js");require("../components/HeaderActionButton.cjs.js");require("../components/ColumnHeaderMenu.cjs.js");require("../../DetailsPanel/DetailsPanel.styled.cjs.js");require("../../DetailsPanel/FeedFilters/FeedFilters.styled.cjs.js");require("../../DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../../components/PlayableIcon/PlayableIcon.cjs.js");require("../../DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../Actions/Actions.styled.cjs.js");require("../../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../Actions/ActionIcon.cjs.js");require("../../Views/context/ViewsContext.cjs.js");require("../../Views/Views.styled.cjs.js");require("../../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../Views/ViewsMenu/ViewsMenu.cjs.js");require("uuid");const S=$=>{const{getEntityById:L,projectName:v}=x.useProjectTableContext(),s=v,{history:I}=R.useCellEditing(),[f]=M.useDeleteEntityLinkMutation(),[g]=M.useCreateEntityLinkMutation();return{pasteTableLinks:N.useCallback(async P=>{if(!s||!P.length)return;const c=new Map;for(const i of P){const u=`${i.sourceEntityId}-${i.linkType}-${i.direction}`;c.has(u)||c.set(u,[]),c.get(u).push(i)}const k=[],a=[],d=[];for(const[,i]of c){const{sourceEntityId:u}=i[0],n=new Set;if(i.forEach(q=>q.targetEntityIds.forEach(e=>n.add(e))),n.has(u)){A.toast.error("You can't link an entity to itself");return}}for(const[i,u]of c){const n=u[0],{sourceEntityId:q,sourceEntityType:e,linkType:y,direction:p,targetEntityType:h,operation:j}=n,m=new Set;u.forEach(r=>{r.targetEntityIds.forEach(t=>m.add(t))});const l=[],T=[],C=L(q);if(!C){console.warn(`Entity not found: ${q}`);continue}const E=C.links;if(j==="replace"){if(Array.isArray(E))for(const r of E)r.entityType===h&&r.direction===p&&r.linkType===y.split("|")[0]&&T.push({id:r.id,target:{entityId:r.node.id,entityType:r.entityType},source:{entityId:q,entityType:e},linkType:y,direction:p,projectName:s});for(const r of m){const t=b.getEntityId();l.push({targetEntityId:r,linkId:t,sourceEntityId:q,sourceEntityType:e,targetEntityType:h,linkType:y,direction:p,projectName:s})}}else if(j==="merge"){const r=new Set;Array.isArray(E)&&E.forEach(t=>{t.entityType===h&&t.direction===p&&t.linkType===y&&r.add(t.node.id)}),console.log(r);for(const t of m)if(!r.has(t)){const w=b.getEntityId();l.push({targetEntityId:t,linkId:w,sourceEntityId:q,sourceEntityType:e,targetEntityType:h,linkType:y,direction:p,projectName:s})}}T.length>0&&(k.push(o.removeMultipleLinks(T,f)),d.push(...T)),l.length>0&&(k.push(o.addMultipleLinks(l,g)),a.push(...l))}try{if(await Promise.all(k),I&&(a.length>0||d.length>0)){const i=a.map(e=>({id:e.linkId,projectName:e.projectName,linkType:e.linkType,direction:e.direction,target:{entityId:e.targetEntityId,entityType:e.targetEntityType},source:{entityId:e.sourceEntityId,entityType:e.sourceEntityType}})),u=d.map(e=>({targetEntityId:e.target.entityId,linkId:e.id,sourceEntityId:e.source.entityId,sourceEntityType:e.source.entityType,targetEntityType:e.target.entityType,linkType:e.linkType,direction:e.direction,projectName:e.projectName})),n=()=>{const e=[];i.length&&e.push(o.removeMultipleLinks(i,f)),u.length&&e.push(o.addMultipleLinks(u,g)),e.length&&Promise.all(e).catch(()=>{})},q=()=>{const e=[];d.length&&e.push(o.removeMultipleLinks(d,f)),a.length&&e.push(o.addMultipleLinks(a,g)),e.length&&Promise.all(e).catch(()=>{})};I.pushHistory([n],[q])}}catch(i){throw i}},[s,L,f,g,I])}};module.exports=S;
1
+ "use strict";const N=require("react");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");const M=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");const o=require("../../../components/LinksManager/utils/linkUpdates.cjs.js"),x=require("../context/ProjectTableContext.cjs.js");require("lodash");const A=require("react-toastify"),b=require("../../../util/getEntityId.cjs.js");require("../../../util/pubsub.cjs.js");require("../../ContextMenu/ContextMenuContext.cjs.js");require("../../../../../_virtual/jsx-runtime.cjs.js");require("@ynput/ayon-react-components");;/* empty css */require("clsx");require("react-dom");require("../../Feed/context/FeedContext.cjs.js");require("../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../../Feed/components/CommentInput/CommentInput.cjs.js");require("../../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");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("../../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("react-router-dom");require("../../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../../Feed/components/ActivityDate.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../../Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../../Feed/Feed.styled.cjs.js");require("date-fns");require("../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../ProjectTreeTable.cjs.js");const R=require("../context/CellEditingContext.cjs.js");require("@tanstack/react-table");require("../widgets/CollapsedWidget.cjs.js");require("../widgets/DateWidget.cjs.js");require("../widgets/EnumWidget.cjs.js");require("../widgets/TextWidget.cjs.js");require("../widgets/BooleanWidget.cjs.js");require("../widgets/CellWidget.cjs.js");require("../widgets/EntityNameWidget.cjs.js");require("../widgets/GroupHeaderWidget.cjs.js");require("../widgets/ThumbnailWidget.cjs.js");require("../../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("axios");require("../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../../components/Thumbnail/StackedThumbnails.cjs.js");require("../../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("../../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../../components/EntityPath/EntityPath.styled.cjs.js");require("../../../components/EntityPath/SegmentProvider.cjs.js");require("../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("../../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../../components/Watchers/Watchers.cjs.js");require("../../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../../components/Powerpack/PowerpackButton.cjs.js");require("../../../components/Powerpack/PricingLink.cjs.js");require("../../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../../components/Powerpack/CTAButton.cjs.js");require("../../../components/Powerpack/RequiredAddonVersion.cjs.js");require("../../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../../components/AttributeEditor/components/MinMaxField.cjs.js");require("../../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../../components/SearchFilter/filterDates.cjs.js");require("../../../components/Badge/Badge.cjs.js");require("../../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../../components/Feedback/FeedbackContext.cjs.js");require("../../../components/Feedback/SupportBubble.cjs.js");require("../../../components/Chips/Chips.cjs.js");require("../../../components/LinksManager/LinksManager.styled.cjs.js");require("../../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../../components/StyledLink/StyledLink.cjs.js");require("../../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../../components/AccessUser/AccessUser.cjs.js");require("../../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("../../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../../components/LinksManager/CellEditingDialog.cjs.js");require("../context/DetailsPanelEntityContext.cjs.js");require("../context/SelectedRowsContext.cjs.js");require("../ProjectTreeTable.styled.cjs.js");require("../components/SelectionCell.cjs.js");require("../components/RowSelectionHeader.cjs.js");require("../context/SelectionCellsContext.cjs.js");require("../widgets/LoadMoreWidget.cjs.js");require("../context/ProjectTableQueriesContext.cjs.js");require("../context/ClipboardContext.cjs.js");require("../context/ColumnSettingsContext.cjs.js");require("../context/ProjectDataContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("react-redux");require("custom-protocol-check");require("../components/GroupSettingsFallback.cjs.js");require("../components/HeaderActionButton.cjs.js");require("../components/ColumnHeaderMenu.cjs.js");require("../../DetailsPanel/DetailsPanel.styled.cjs.js");require("../../DetailsPanel/FeedFilters/FeedFilters.styled.cjs.js");require("../../DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../../components/PlayableIcon/PlayableIcon.cjs.js");require("../../DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../Actions/Actions.styled.cjs.js");require("../../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../Actions/ActionIcon.cjs.js");require("../../Views/context/ViewsContext.cjs.js");require("../../Views/Views.styled.cjs.js");require("../../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../Views/ViewsMenu/ViewsMenu.cjs.js");require("uuid");const S=$=>{const{getEntityById:L,projectName:v}=x.useProjectTableContext(),s=v,{history:I}=R.useCellEditing(),[f]=M.useDeleteEntityLinkMutation(),[g]=M.useCreateEntityLinkMutation();return{pasteTableLinks:N.useCallback(async P=>{if(!s||!P.length)return;const c=new Map;for(const i of P){const u=`${i.sourceEntityId}-${i.linkType}-${i.direction}`;c.has(u)||c.set(u,[]),c.get(u).push(i)}const k=[],a=[],d=[];for(const[,i]of c){const{sourceEntityId:u}=i[0],n=new Set;if(i.forEach(q=>q.targetEntityIds.forEach(e=>n.add(e))),n.has(u)){A.toast.error("You can't link an entity to itself");return}}for(const[i,u]of c){const n=u[0],{sourceEntityId:q,sourceEntityType:e,linkType:y,direction:p,targetEntityType:h,operation:j}=n,m=new Set;u.forEach(r=>{r.targetEntityIds.forEach(t=>m.add(t))});const l=[],T=[],C=L(q);if(!C){console.warn(`Entity not found: ${q}`);continue}const E=C.links;if(j==="replace"){if(Array.isArray(E))for(const r of E)r.entityType===h&&r.direction===p&&r.linkType===y.split("|")[0]&&T.push({id:r.id,target:{entityId:r.node.id,entityType:r.entityType},source:{entityId:q,entityType:e},linkType:y,direction:p,projectName:s});for(const r of m){const t=b.getEntityId();l.push({targetEntityId:r,linkId:t,sourceEntityId:q,sourceEntityType:e,targetEntityType:h,linkType:y,direction:p,projectName:s})}}else if(j==="merge"){const r=new Set;Array.isArray(E)&&E.forEach(t=>{t.entityType===h&&t.direction===p&&t.linkType===y&&r.add(t.node.id)}),console.log(r);for(const t of m)if(!r.has(t)){const w=b.getEntityId();l.push({targetEntityId:t,linkId:w,sourceEntityId:q,sourceEntityType:e,targetEntityType:h,linkType:y,direction:p,projectName:s})}}T.length>0&&(k.push(o.removeMultipleLinks(T,f)),d.push(...T)),l.length>0&&(k.push(o.addMultipleLinks(l,g)),a.push(...l))}try{if(await Promise.all(k),I&&(a.length>0||d.length>0)){const i=a.map(e=>({id:e.linkId,projectName:e.projectName,linkType:e.linkType,direction:e.direction,target:{entityId:e.targetEntityId,entityType:e.targetEntityType},source:{entityId:e.sourceEntityId,entityType:e.sourceEntityType}})),u=d.map(e=>({targetEntityId:e.target.entityId,linkId:e.id,sourceEntityId:e.source.entityId,sourceEntityType:e.source.entityType,targetEntityType:e.target.entityType,linkType:e.linkType,direction:e.direction,projectName:e.projectName})),n=()=>{const e=[];i.length&&e.push(o.removeMultipleLinks(i,f)),u.length&&e.push(o.addMultipleLinks(u,g)),e.length&&Promise.all(e).catch(()=>{})},q=()=>{const e=[];d.length&&e.push(o.removeMultipleLinks(d,f)),a.length&&e.push(o.addMultipleLinks(a,g)),e.length&&Promise.all(e).catch(()=>{})};I.pushHistory([n],[q])}}catch(i){throw i}},[s,L,f,g,I])}};module.exports=S;
2
2
  //# sourceMappingURL=usePasteLinks.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"usePasteLinks.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/usePasteLinks.ts"],"sourcesContent":["import { useCallback } from 'react'\nimport { useCreateEntityLinkMutation, useDeleteEntityLinkMutation } from '@shared/api'\nimport {\n addMultipleLinks,\n removeMultipleLinks,\n LinkToAdd,\n LinkToRemove,\n} from '@shared/components/LinksManager/utils/linkUpdates'\nimport { useProjectTableContext } from '../context/ProjectTableContext'\nimport { getEntityId } from '@shared/util'\nimport { PasteMethod } from '../context'\nimport { useCellEditing } from '@shared/containers'\nimport { toast } from 'react-toastify'\n\n/**\n * Represents a link update operation for table links\n */\nexport type LinkUpdate = {\n /** Row ID in the table */\n rowId: string\n /** ID of the source entity (the entity that will have links) */\n sourceEntityId: string\n /** Type of the source entity (e.g., 'folder', 'task') */\n sourceEntityType: string\n /** Type of link (e.g., 'workflow', 'dependency') */\n linkType: string\n /** Direction of the link from source entity perspective */\n direction: 'in' | 'out'\n /** Type of the target entities that will be linked */\n targetEntityType: string\n /**\n * Operation type:\n * - 'replace': Remove all existing links of this type and add new ones\n * - 'merge': Keep existing links and add new ones (skip duplicates)\n */\n operation: PasteMethod\n /** Array of target entity IDs to link to */\n targetEntityIds: string[]\n}\n\nexport type PasteTableLinks = (linkUpdates: LinkUpdate[]) => Promise<void>\n\ninterface usePasteLinksProps {\n projectName?: string\n}\n\nconst usePasteLinks = (props?: usePasteLinksProps) => {\n const { getEntityById, projectName: contextProjectName } = useProjectTableContext()\n const projectName = props?.projectName || contextProjectName\n const { history } = useCellEditing()\n\n // Add mutation hooks for link operations\n const [deleteLink] = useDeleteEntityLinkMutation()\n const [addLink] = useCreateEntityLinkMutation()\n\n // Handle link updates using the utility functions\n const pasteTableLinks = useCallback<PasteTableLinks>(\n async (linkUpdates: LinkUpdate[]) => {\n if (!projectName || !linkUpdates.length) return\n\n // Group operations by entity and link type for processing\n const operationsToProcess = new Map<string, LinkUpdate[]>()\n\n for (const update of linkUpdates) {\n const key = `${update.sourceEntityId}-${update.linkType}-${update.direction}`\n if (!operationsToProcess.has(key)) {\n operationsToProcess.set(key, [])\n }\n operationsToProcess.get(key)!.push(update)\n }\n\n const updatePromises: Promise<void>[] = []\n // Collect all adds/removes across all operations to build a single history entry\n const addedInPaste: LinkToAdd[] = []\n const removedInPaste: LinkToRemove[] = []\n\n // Pre-flight validation: detect any self-referential links across the whole paste\n for (const [, updates] of operationsToProcess) {\n const { sourceEntityId } = updates[0]\n const targets = new Set<string>()\n updates.forEach((u) => u.targetEntityIds.forEach((id) => targets.add(id)))\n if (targets.has(sourceEntityId)) {\n toast.error(\"You can't link an entity to itself\")\n return\n }\n }\n // Process each unique entity-linkType-direction combination\n for (const [key, updates] of operationsToProcess) {\n const firstUpdate = updates[0]\n const {\n sourceEntityId,\n sourceEntityType,\n linkType,\n direction,\n targetEntityType,\n operation,\n } = firstUpdate\n\n // Collect all target entity IDs from all updates for this combination\n const allTargetEntityIds = new Set<string>()\n updates.forEach((update) => {\n update.targetEntityIds.forEach((id) => allTargetEntityIds.add(id))\n })\n\n const linksToAdd: LinkToAdd[] = []\n const linksToRemove: LinkToRemove[] = []\n\n // Get current links for this entity and link type\n const entityData = getEntityById(sourceEntityId)\n if (!entityData) {\n console.warn(`Entity not found: ${sourceEntityId}`)\n continue\n }\n\n // Get current links for this link type and direction\n const currentLinks = entityData.links\n\n if (operation === 'replace') {\n // Remove all current links of this (linkType + direction + targetEntityType) only.\n if (Array.isArray(currentLinks)) {\n for (const link of currentLinks) {\n if (\n link.entityType === targetEntityType &&\n link.direction === direction &&\n link.linkType === linkType.split('|')[0]\n ) {\n linksToRemove.push({\n id: link.id,\n target: {\n entityId: link.node.id,\n entityType: link.entityType,\n },\n source: { entityId: sourceEntityId, entityType: sourceEntityType },\n linkType,\n direction,\n projectName,\n })\n }\n }\n }\n\n // Add all new links\n for (const targetEntityId of allTargetEntityIds) {\n const linkId = getEntityId()\n\n linksToAdd.push({\n targetEntityId,\n linkId,\n sourceEntityId,\n sourceEntityType,\n targetEntityType,\n linkType,\n direction,\n projectName,\n })\n }\n } else if (operation === 'merge') {\n // Get existing target entity IDs for this (linkType + direction + targetEntityType)\n const existingTargetIds = new Set<string>()\n if (Array.isArray(currentLinks)) {\n currentLinks.forEach((link) => {\n if (\n link.entityType === targetEntityType &&\n link.direction === direction &&\n link.linkType === linkType\n ) {\n existingTargetIds.add(link.node.id)\n }\n })\n }\n\n console.log(existingTargetIds)\n\n // Only add links that don't already exist\n for (const targetEntityId of allTargetEntityIds) {\n if (!existingTargetIds.has(targetEntityId)) {\n const linkId = getEntityId()\n\n linksToAdd.push({\n targetEntityId,\n linkId,\n sourceEntityId,\n sourceEntityType,\n targetEntityType,\n linkType,\n direction,\n projectName,\n })\n }\n }\n }\n\n if (linksToRemove.length > 0) {\n updatePromises.push(removeMultipleLinks(linksToRemove, deleteLink))\n removedInPaste.push(...linksToRemove)\n }\n if (linksToAdd.length > 0) {\n updatePromises.push(addMultipleLinks(linksToAdd, addLink))\n addedInPaste.push(...linksToAdd)\n }\n }\n try {\n // Execute all link operations in parallel\n await Promise.all(updatePromises)\n\n // Push a single history entry that undoes BOTH: remove added links and re-add removed links\n if (history && (addedInPaste.length > 0 || removedInPaste.length > 0)) {\n // Prepare inverse operations for undo\n const addedToRemove: LinkToRemove[] = addedInPaste.map((link) => ({\n id: link.linkId,\n projectName: link.projectName,\n linkType: link.linkType,\n direction: link.direction,\n target: { entityId: link.targetEntityId, entityType: link.targetEntityType },\n source: { entityId: link.sourceEntityId, entityType: link.sourceEntityType },\n }))\n\n const removedToAdd: LinkToAdd[] = removedInPaste.map((link) => ({\n targetEntityId: link.target.entityId,\n linkId: link.id,\n sourceEntityId: link.source.entityId,\n sourceEntityType: link.source.entityType,\n targetEntityType: link.target.entityType,\n linkType: link.linkType,\n direction: link.direction,\n projectName: link.projectName,\n }))\n\n // Single callbacks to keep history atomic\n const undoCallback = () => {\n const tasks: Promise<void>[] = []\n if (addedToRemove.length) tasks.push(removeMultipleLinks(addedToRemove, deleteLink))\n if (removedToAdd.length) tasks.push(addMultipleLinks(removedToAdd, addLink))\n if (tasks.length) Promise.all(tasks).catch(() => {})\n }\n\n const redoCallback = () => {\n const tasks: Promise<void>[] = []\n if (removedInPaste.length) tasks.push(removeMultipleLinks(removedInPaste, deleteLink))\n if (addedInPaste.length) tasks.push(addMultipleLinks(addedInPaste, addLink))\n if (tasks.length) Promise.all(tasks).catch(() => {})\n }\n\n history.pushHistory([undoCallback], [redoCallback])\n }\n } catch (error) {\n throw error\n }\n },\n [projectName, getEntityById, deleteLink, addLink, history],\n )\n\n return { pasteTableLinks }\n}\n\nexport default usePasteLinks\n"],"names":["usePasteLinks","props","getEntityById","contextProjectName","useProjectTableContext","projectName","history","useCellEditing","deleteLink","useDeleteEntityLinkMutation","addLink","useCreateEntityLinkMutation","useCallback","linkUpdates","operationsToProcess","update","key","updatePromises","addedInPaste","removedInPaste","updates","sourceEntityId","targets","u","id","toast","firstUpdate","sourceEntityType","linkType","direction","targetEntityType","operation","allTargetEntityIds","linksToAdd","linksToRemove","entityData","currentLinks","link","targetEntityId","linkId","getEntityId","existingTargetIds","removeMultipleLinks","addMultipleLinks","addedToRemove","removedToAdd","undoCallback","tasks","redoCallback","error"],"mappings":"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"}
1
+ {"version":3,"file":"usePasteLinks.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/usePasteLinks.ts"],"sourcesContent":["import { useCallback } from 'react'\nimport { useCreateEntityLinkMutation, useDeleteEntityLinkMutation } from '@shared/api'\nimport {\n addMultipleLinks,\n removeMultipleLinks,\n LinkToAdd,\n LinkToRemove,\n} from '@shared/components/LinksManager/utils/linkUpdates'\nimport { useProjectTableContext } from '../context/ProjectTableContext'\nimport { getEntityId } from '@shared/util'\nimport { PasteMethod } from '../context'\nimport { useCellEditing } from '@shared/containers'\nimport { toast } from 'react-toastify'\n\n/**\n * Represents a link update operation for table links\n */\nexport type LinkUpdate = {\n /** Row ID in the table */\n rowId: string\n /** ID of the source entity (the entity that will have links) */\n sourceEntityId: string\n /** Type of the source entity (e.g., 'folder', 'task') */\n sourceEntityType: string\n /** Type of link (e.g., 'workflow', 'dependency') */\n linkType: string\n /** Direction of the link from source entity perspective */\n direction: 'in' | 'out'\n /** Type of the target entities that will be linked */\n targetEntityType: string\n /**\n * Operation type:\n * - 'replace': Remove all existing links of this type and add new ones\n * - 'merge': Keep existing links and add new ones (skip duplicates)\n */\n operation: PasteMethod\n /** Array of target entity IDs to link to */\n targetEntityIds: string[]\n}\n\nexport type PasteTableLinks = (linkUpdates: LinkUpdate[]) => Promise<void>\n\ninterface usePasteLinksProps {\n projectName?: string\n}\n\nconst usePasteLinks = (props?: usePasteLinksProps) => {\n const { getEntityById, projectName: contextProjectName } = useProjectTableContext()\n const projectName = props?.projectName || contextProjectName\n const { history } = useCellEditing()\n\n // Add mutation hooks for link operations\n const [deleteLink] = useDeleteEntityLinkMutation()\n const [addLink] = useCreateEntityLinkMutation()\n\n // Handle link updates using the utility functions\n const pasteTableLinks = useCallback<PasteTableLinks>(\n async (linkUpdates: LinkUpdate[]) => {\n if (!projectName || !linkUpdates.length) return\n\n // Group operations by entity and link type for processing\n const operationsToProcess = new Map<string, LinkUpdate[]>()\n\n for (const update of linkUpdates) {\n const key = `${update.sourceEntityId}-${update.linkType}-${update.direction}`\n if (!operationsToProcess.has(key)) {\n operationsToProcess.set(key, [])\n }\n operationsToProcess.get(key)!.push(update)\n }\n\n const updatePromises: Promise<void>[] = []\n // Collect all adds/removes across all operations to build a single history entry\n const addedInPaste: LinkToAdd[] = []\n const removedInPaste: LinkToRemove[] = []\n\n // Pre-flight validation: detect any self-referential links across the whole paste\n for (const [, updates] of operationsToProcess) {\n const { sourceEntityId } = updates[0]\n const targets = new Set<string>()\n updates.forEach((u) => u.targetEntityIds.forEach((id) => targets.add(id)))\n if (targets.has(sourceEntityId)) {\n toast.error(\"You can't link an entity to itself\")\n return\n }\n }\n // Process each unique entity-linkType-direction combination\n for (const [key, updates] of operationsToProcess) {\n const firstUpdate = updates[0]\n const {\n sourceEntityId,\n sourceEntityType,\n linkType,\n direction,\n targetEntityType,\n operation,\n } = firstUpdate\n\n // Collect all target entity IDs from all updates for this combination\n const allTargetEntityIds = new Set<string>()\n updates.forEach((update) => {\n update.targetEntityIds.forEach((id) => allTargetEntityIds.add(id))\n })\n\n const linksToAdd: LinkToAdd[] = []\n const linksToRemove: LinkToRemove[] = []\n\n // Get current links for this entity and link type\n const entityData = getEntityById(sourceEntityId)\n if (!entityData) {\n console.warn(`Entity not found: ${sourceEntityId}`)\n continue\n }\n\n // Get current links for this link type and direction\n const currentLinks = entityData.links\n\n if (operation === 'replace') {\n // Remove all current links of this (linkType + direction + targetEntityType) only.\n if (Array.isArray(currentLinks)) {\n for (const link of currentLinks) {\n if (\n link.entityType === targetEntityType &&\n link.direction === direction &&\n link.linkType === linkType.split('|')[0]\n ) {\n linksToRemove.push({\n id: link.id,\n target: {\n entityId: link.node.id,\n entityType: link.entityType,\n },\n source: { entityId: sourceEntityId, entityType: sourceEntityType },\n linkType,\n direction,\n projectName,\n })\n }\n }\n }\n\n // Add all new links\n for (const targetEntityId of allTargetEntityIds) {\n const linkId = getEntityId()\n\n linksToAdd.push({\n targetEntityId,\n linkId,\n sourceEntityId,\n sourceEntityType,\n targetEntityType,\n linkType,\n direction,\n projectName,\n })\n }\n } else if (operation === 'merge') {\n // Get existing target entity IDs for this (linkType + direction + targetEntityType)\n const existingTargetIds = new Set<string>()\n if (Array.isArray(currentLinks)) {\n currentLinks.forEach((link) => {\n if (\n link.entityType === targetEntityType &&\n link.direction === direction &&\n link.linkType === linkType\n ) {\n existingTargetIds.add(link.node.id)\n }\n })\n }\n\n console.log(existingTargetIds)\n\n // Only add links that don't already exist\n for (const targetEntityId of allTargetEntityIds) {\n if (!existingTargetIds.has(targetEntityId)) {\n const linkId = getEntityId()\n\n linksToAdd.push({\n targetEntityId,\n linkId,\n sourceEntityId,\n sourceEntityType,\n targetEntityType,\n linkType,\n direction,\n projectName,\n })\n }\n }\n }\n\n if (linksToRemove.length > 0) {\n updatePromises.push(removeMultipleLinks(linksToRemove, deleteLink))\n removedInPaste.push(...linksToRemove)\n }\n if (linksToAdd.length > 0) {\n updatePromises.push(addMultipleLinks(linksToAdd, addLink))\n addedInPaste.push(...linksToAdd)\n }\n }\n try {\n // Execute all link operations in parallel\n await Promise.all(updatePromises)\n\n // Push a single history entry that undoes BOTH: remove added links and re-add removed links\n if (history && (addedInPaste.length > 0 || removedInPaste.length > 0)) {\n // Prepare inverse operations for undo\n const addedToRemove: LinkToRemove[] = addedInPaste.map((link) => ({\n id: link.linkId,\n projectName: link.projectName,\n linkType: link.linkType,\n direction: link.direction,\n target: { entityId: link.targetEntityId, entityType: link.targetEntityType },\n source: { entityId: link.sourceEntityId, entityType: link.sourceEntityType },\n }))\n\n const removedToAdd: LinkToAdd[] = removedInPaste.map((link) => ({\n targetEntityId: link.target.entityId,\n linkId: link.id,\n sourceEntityId: link.source.entityId,\n sourceEntityType: link.source.entityType,\n targetEntityType: link.target.entityType,\n linkType: link.linkType,\n direction: link.direction,\n projectName: link.projectName,\n }))\n\n // Single callbacks to keep history atomic\n const undoCallback = () => {\n const tasks: Promise<void>[] = []\n if (addedToRemove.length) tasks.push(removeMultipleLinks(addedToRemove, deleteLink))\n if (removedToAdd.length) tasks.push(addMultipleLinks(removedToAdd, addLink))\n if (tasks.length) Promise.all(tasks).catch(() => {})\n }\n\n const redoCallback = () => {\n const tasks: Promise<void>[] = []\n if (removedInPaste.length) tasks.push(removeMultipleLinks(removedInPaste, deleteLink))\n if (addedInPaste.length) tasks.push(addMultipleLinks(addedInPaste, addLink))\n if (tasks.length) Promise.all(tasks).catch(() => {})\n }\n\n history.pushHistory([undoCallback], [redoCallback])\n }\n } catch (error) {\n throw error\n }\n },\n [projectName, getEntityById, deleteLink, addLink, history],\n )\n\n return { pasteTableLinks }\n}\n\nexport default usePasteLinks\n"],"names":["usePasteLinks","props","getEntityById","contextProjectName","useProjectTableContext","projectName","history","useCellEditing","deleteLink","useDeleteEntityLinkMutation","addLink","useCreateEntityLinkMutation","useCallback","linkUpdates","operationsToProcess","update","key","updatePromises","addedInPaste","removedInPaste","updates","sourceEntityId","targets","u","id","toast","firstUpdate","sourceEntityType","linkType","direction","targetEntityType","operation","allTargetEntityIds","linksToAdd","linksToRemove","entityData","currentLinks","link","targetEntityId","linkId","getEntityId","existingTargetIds","removeMultipleLinks","addMultipleLinks","addedToRemove","removedToAdd","undoCallback","tasks","redoCallback","error"],"mappings":"8xZA8CM,MAAAA,EAAiBC,GAA+B,CACpD,KAAM,CAAE,cAAAC,EAAe,YAAaC,CAAA,EAAuBC,EAAAA,uBAAuB,EAC5EC,EAAoCF,EACpC,CAAE,QAAAG,CAAQ,EAAIC,iBAAe,EAG7B,CAACC,CAAU,EAAIC,8BAA4B,EAC3C,CAACC,CAAO,EAAIC,8BAA4B,EAuM9C,MAAO,CAAE,gBApMeC,EAAA,YACtB,MAAOC,GAA8B,CACnC,GAAI,CAACR,GAAe,CAACQ,EAAY,OAAQ,OAGnC,MAAAC,MAA0B,IAEhC,UAAWC,KAAUF,EAAa,CAC1B,MAAAG,EAAM,GAAGD,EAAO,cAAc,IAAIA,EAAO,QAAQ,IAAIA,EAAO,SAAS,GACtED,EAAoB,IAAIE,CAAG,GACVF,EAAA,IAAIE,EAAK,EAAE,EAEjCF,EAAoB,IAAIE,CAAG,EAAG,KAAKD,CAAM,CAAA,CAG3C,MAAME,EAAkC,CAAC,EAEnCC,EAA4B,CAAC,EAC7BC,EAAiC,CAAC,EAGxC,SAAW,CAAA,CAAGC,CAAO,IAAKN,EAAqB,CAC7C,KAAM,CAAE,eAAAO,CAAA,EAAmBD,EAAQ,CAAC,EAC9BE,MAAc,IAEhB,GADJF,EAAQ,QAASG,GAAMA,EAAE,gBAAgB,QAASC,GAAOF,EAAQ,IAAIE,CAAE,CAAC,CAAC,EACrEF,EAAQ,IAAID,CAAc,EAAG,CAC/BI,EAAA,MAAM,MAAM,oCAAoC,EAChD,MAAA,CACF,CAGF,SAAW,CAACT,EAAKI,CAAO,IAAKN,EAAqB,CAC1C,MAAAY,EAAcN,EAAQ,CAAC,EACvB,CACJ,eAAAC,EACA,iBAAAM,EACA,SAAAC,EACA,UAAAC,EACA,iBAAAC,EACA,UAAAC,CAAA,EACEL,EAGEM,MAAyB,IACvBZ,EAAA,QAASL,GAAW,CAC1BA,EAAO,gBAAgB,QAASS,GAAOQ,EAAmB,IAAIR,CAAE,CAAC,CAAA,CAClE,EAED,MAAMS,EAA0B,CAAC,EAC3BC,EAAgC,CAAC,EAGjCC,EAAajC,EAAcmB,CAAc,EAC/C,GAAI,CAACc,EAAY,CACP,QAAA,KAAK,qBAAqBd,CAAc,EAAE,EAClD,QAAA,CAIF,MAAMe,EAAeD,EAAW,MAEhC,GAAIJ,IAAc,UAAW,CAEvB,GAAA,MAAM,QAAQK,CAAY,EAC5B,UAAWC,KAAQD,EAEfC,EAAK,aAAeP,GACpBO,EAAK,YAAcR,GACnBQ,EAAK,WAAaT,EAAS,MAAM,GAAG,EAAE,CAAC,GAEvCM,EAAc,KAAK,CACjB,GAAIG,EAAK,GACT,OAAQ,CACN,SAAUA,EAAK,KAAK,GACpB,WAAYA,EAAK,UACnB,EACA,OAAQ,CAAE,SAAUhB,EAAgB,WAAYM,CAAiB,EACjE,SAAAC,EACA,UAAAC,EACA,YAAAxB,CAAA,CACD,EAMP,UAAWiC,KAAkBN,EAAoB,CAC/C,MAAMO,EAASC,EAAAA,YAAY,EAE3BP,EAAW,KAAK,CACd,eAAAK,EACA,OAAAC,EACA,eAAAlB,EACA,iBAAAM,EACA,iBAAAG,EACA,SAAAF,EACA,UAAAC,EACA,YAAAxB,CAAA,CACD,CAAA,CACH,SACS0B,IAAc,QAAS,CAE1B,MAAAU,MAAwB,IAC1B,MAAM,QAAQL,CAAY,GACfA,EAAA,QAASC,GAAS,CAE3BA,EAAK,aAAeP,GACpBO,EAAK,YAAcR,GACnBQ,EAAK,WAAaT,GAEAa,EAAA,IAAIJ,EAAK,KAAK,EAAE,CACpC,CACD,EAGH,QAAQ,IAAII,CAAiB,EAG7B,UAAWH,KAAkBN,EAC3B,GAAI,CAACS,EAAkB,IAAIH,CAAc,EAAG,CAC1C,MAAMC,EAASC,EAAAA,YAAY,EAE3BP,EAAW,KAAK,CACd,eAAAK,EACA,OAAAC,EACA,eAAAlB,EACA,iBAAAM,EACA,iBAAAG,EACA,SAAAF,EACA,UAAAC,EACA,YAAAxB,CAAA,CACD,CAAA,CAEL,CAGE6B,EAAc,OAAS,IACzBjB,EAAe,KAAKyB,EAAAA,oBAAoBR,EAAe1B,CAAU,CAAC,EACnDW,EAAA,KAAK,GAAGe,CAAa,GAElCD,EAAW,OAAS,IACtBhB,EAAe,KAAK0B,EAAAA,iBAAiBV,EAAYvB,CAAO,CAAC,EAC5CQ,EAAA,KAAK,GAAGe,CAAU,EACjC,CAEE,GAAA,CAKF,GAHM,MAAA,QAAQ,IAAIhB,CAAc,EAG5BX,IAAYY,EAAa,OAAS,GAAKC,EAAe,OAAS,GAAI,CAErE,MAAMyB,EAAgC1B,EAAa,IAAKmB,IAAU,CAChE,GAAIA,EAAK,OACT,YAAaA,EAAK,YAClB,SAAUA,EAAK,SACf,UAAWA,EAAK,UAChB,OAAQ,CAAE,SAAUA,EAAK,eAAgB,WAAYA,EAAK,gBAAiB,EAC3E,OAAQ,CAAE,SAAUA,EAAK,eAAgB,WAAYA,EAAK,gBAAiB,CAAA,EAC3E,EAEIQ,EAA4B1B,EAAe,IAAKkB,IAAU,CAC9D,eAAgBA,EAAK,OAAO,SAC5B,OAAQA,EAAK,GACb,eAAgBA,EAAK,OAAO,SAC5B,iBAAkBA,EAAK,OAAO,WAC9B,iBAAkBA,EAAK,OAAO,WAC9B,SAAUA,EAAK,SACf,UAAWA,EAAK,UAChB,YAAaA,EAAK,WAAA,EAClB,EAGIS,EAAe,IAAM,CACzB,MAAMC,EAAyB,CAAC,EAC5BH,EAAc,QAAQG,EAAM,KAAKL,sBAAoBE,EAAepC,CAAU,CAAC,EAC/EqC,EAAa,QAAQE,EAAM,KAAKJ,mBAAiBE,EAAcnC,CAAO,CAAC,EACvEqC,EAAM,QAAQ,QAAQ,IAAIA,CAAK,EAAE,MAAM,IAAM,CAAA,CAAE,CACrD,EAEMC,EAAe,IAAM,CACzB,MAAMD,EAAyB,CAAC,EAC5B5B,EAAe,QAAQ4B,EAAM,KAAKL,sBAAoBvB,EAAgBX,CAAU,CAAC,EACjFU,EAAa,QAAQ6B,EAAM,KAAKJ,mBAAiBzB,EAAcR,CAAO,CAAC,EACvEqC,EAAM,QAAQ,QAAQ,IAAIA,CAAK,EAAE,MAAM,IAAM,CAAA,CAAE,CACrD,EAEAzC,EAAQ,YAAY,CAACwC,CAAY,EAAG,CAACE,CAAY,CAAC,CAAA,QAE7CC,EAAO,CACR,MAAAA,CAAA,CAEV,EACA,CAAC5C,EAAaH,EAAeM,EAAYE,EAASJ,CAAO,CAC3D,CAEyB,CAC3B"}
@@ -117,6 +117,7 @@ import "../../../context/AddonContext.es.js";
117
117
  import "../../../context/PowerpackContext.es.js";
118
118
  import "../../../context/MoveEntityContext.es.js";
119
119
  import "../../../context/MenuContext.es.js";
120
+ import "../../../context/WebsocketContext.es.js";
120
121
  import "../../Feed/components/CommentInput/quillToMarkdown.es.js";
121
122
  import "../../Feed/components/ActivityComment/ActivityComment.styled.es.js";
122
123
  import "../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.es.js";
@@ -173,7 +174,7 @@ import "../../../components/Powerpack/PowerpackButton.es.js";
173
174
  import "../../../components/Powerpack/PricingLink.es.js";
174
175
  import "../../../components/Powerpack/PowerpackDialog.styled.es.js";
175
176
  import "../../../components/Powerpack/CTAButton.es.js";
176
- import "../../../components/Powerpack/RequiredPowerpackVersion.es.js";
177
+ import "../../../components/Powerpack/RequiredAddonVersion.es.js";
177
178
  import "../../../components/SettingsPanel/SettingsPanel.es.js";
178
179
  import "../../../components/SettingsPanel/SettingsPanelItemTemplate.es.js";
179
180
  import "../../../components/AttributeEditor/components/MinMaxField.es.js";
@@ -226,7 +227,7 @@ import "../../Views/Views.styled.es.js";
226
227
  import "../../Views/ViewsMenuContainer/ViewsMenuContainer.es.js";
227
228
  import "../../Views/ViewsMenu/ViewsMenu.es.js";
228
229
  import "uuid";
229
- const Zr = (B) => {
230
+ const _r = (B) => {
230
231
  const { getEntityById: j, projectName: C } = S(), n = C, { history: E } = R(), [u] = x(), [l] = $();
231
232
  return { pasteTableLinks: M(
232
233
  async (w) => {
@@ -348,6 +349,6 @@ const Zr = (B) => {
348
349
  ) };
349
350
  };
350
351
  export {
351
- Zr as default
352
+ _r as default
352
353
  };
353
354
  //# sourceMappingURL=usePasteLinks.es.js.map